From 295598defb6740066535d1b79adbc199ebf7496b Mon Sep 17 00:00:00 2001 From: ankurkhemani Date: Wed, 19 Feb 2020 14:31:33 -0800 Subject: [PATCH 1/4] swagger updates for private links --- .../2019-12-01-preview/containerregistry.json | 327 ++++++++++++++++++ 1 file changed, 327 insertions(+) diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json index e13102c59bb0..82e82b0885f5 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json @@ -134,6 +134,178 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections/{peConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Get properties of a private endpoint connection.", + "operationId": "PriGet", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PeConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionGet": { + "$ref": "./examples/PrivateEndpointConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Manual approve a private endpoint connection.", + "operationId": "PriApprove", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PeConnectionNameParameter" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The parameters for creating a private endpoint connection.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionApprove": { + "$ref": "./examples/PrivateEndpointConnectionApprove.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Delete a private endpoint connection.", + "operationId": "PriDelete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PeConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "The private endpoint connection does not exist in the subscription." + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionDelete": { + "$ref": "./examples/PrivateEndpointConnectionDelete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "List all private endpoint connections in a container registry.", + "operationId": "PriList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionList": { + "$ref": "./examples/PrivateEndpointConnectionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}": { "get": { "tags": [ @@ -494,6 +666,42 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateLinkResources": { + "get": { + "tags": [ + "Registries" + ], + "description": "Lists the private link resources for a container registry.", + "operationId": "Registries_ListPrivateLinkResourcesAsync", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + } + }, + "x-ms-examples": { + "RegistryListPrivateLinkResources": { + "$ref": "./examples/RegistryListPrivateLinkResources.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}": { "get": { "tags": [ @@ -1306,6 +1514,109 @@ } } }, + "PrivateEndpointConnection": { + "description": "An object that represents a private endpoint connection for a container registry.", + "type": "object", + "properties": { + "type": { + "description": "The resource type is private endpoint connection.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The resource ID.", + "type": "string" + }, + "name": { + "description": "The name of the resource.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "The properties of a private endpoint connection.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "description": "The provisioning state of private endpoint connection resource.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "PrivateEndpoint": { + "description": "The Private Endpoint resource.", + "type": "object", + "properties": { + "id": { + "description": "This is private endpoint resource created with Microsoft.Network resource provider.", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "description": "The private link service connection status.", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "Status", + "modelAsString": true + } + }, + "description": { + "description": "The description for connection status. For example if connection is rejected it can indicate reason for rejection.", + "type": "string" + }, + "actionsRequired": { + "description": "A message indicating if changes on the service provider require any updates on the consumer.", + "enum": [ + "None", + "Recreate" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ActionsRequired", + "modelAsString": true + } + } + } + }, "Registry": { "description": "An object that represents a container registry.", "required": [ @@ -1463,6 +1774,14 @@ "encryption": { "$ref": "#/definitions/EncryptionProperty", "description": "The encryption settings of container registry." + }, + "privateEndpointConnections": { + "description": "List of private endpoint connections for a container registry.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true } } }, @@ -2570,6 +2889,14 @@ "minLength": 5, "pattern": "^[a-zA-Z0-9]*$", "x-ms-parameter-location": "method" + }, + "PeConnectionNameParameter": { + "name": "peConnectionName", + "in": "path", + "description": "The name of private endpoint connection.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" } }, "securityDefinitions": { From 62d88903a6d6fed69374763f0db48d930d5ab506 Mon Sep 17 00:00:00 2001 From: ankurkhemani Date: Wed, 19 Feb 2020 15:45:36 -0800 Subject: [PATCH 2/4] some naming fixes --- .../2019-12-01-preview/containerregistry.json | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json index 82e82b0885f5..a0a6bb09f832 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json @@ -134,13 +134,13 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections/{peConnectionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections/{privateEndpointConnectionName}": { "get": { "tags": [ "PrivateEndpointConnections" ], - "description": "Get properties of a private endpoint connection.", - "operationId": "PriGet", + "description": "Get the specified private endpoint connection associated with the container registry.", + "operationId": "PrivateEndpointConnections_Get", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -155,7 +155,7 @@ "$ref": "#/parameters/RegistryNameParameter" }, { - "$ref": "#/parameters/PeConnectionNameParameter" + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" } ], "responses": { @@ -176,8 +176,8 @@ "tags": [ "PrivateEndpointConnections" ], - "description": "Manual approve a private endpoint connection.", - "operationId": "PriApprove", + "description": "Update the state of specified private endpoint connection associated with the container registry.", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -192,7 +192,7 @@ "$ref": "#/parameters/RegistryNameParameter" }, { - "$ref": "#/parameters/PeConnectionNameParameter" + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" }, { "name": "privateEndpointConnection", @@ -219,8 +219,8 @@ } }, "x-ms-examples": { - "PrivateEndpointConnectionApprove": { - "$ref": "./examples/PrivateEndpointConnectionApprove.json" + "PrivateEndpointConnectionCreateOrUpdate": { + "$ref": "./examples/PrivateEndpointConnectionCreateOrUpdate.json" } }, "x-ms-long-running-operation": true @@ -229,8 +229,8 @@ "tags": [ "PrivateEndpointConnections" ], - "description": "Delete a private endpoint connection.", - "operationId": "PriDelete", + "description": "Deletes the specified private endpoint connection associated with the container registry.", + "operationId": "PrivateEndpointConnections_Delete", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -245,7 +245,7 @@ "$ref": "#/parameters/RegistryNameParameter" }, { - "$ref": "#/parameters/PeConnectionNameParameter" + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" } ], "responses": { @@ -273,7 +273,7 @@ "PrivateEndpointConnections" ], "description": "List all private endpoint connections in a container registry.", - "operationId": "PriList", + "operationId": "PrivateEndpointConnections_List", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -2890,10 +2890,10 @@ "pattern": "^[a-zA-Z0-9]*$", "x-ms-parameter-location": "method" }, - "PeConnectionNameParameter": { - "name": "peConnectionName", + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", "in": "path", - "description": "The name of private endpoint connection.", + "description": "The name of the private endpoint connection.", "required": true, "type": "string", "x-ms-parameter-location": "method" From 2ab7b58c32d89cb65041004f772ed8b4c5808af1 Mon Sep 17 00:00:00 2001 From: ankurkhemani Date: Wed, 19 Feb 2020 18:32:20 -0800 Subject: [PATCH 3/4] add examples --- ...ivateEndpointConnectionCreateOrUpdate.json | 55 +++++++++++++++++++ .../PrivateEndpointConnectionDelete.json | 14 +++++ .../PrivateEndpointConnectionGet.json | 29 ++++++++++ .../PrivateEndpointConnectionList.json | 32 +++++++++++ .../RegistryListPrivateLinkResources.json | 27 +++++++++ 5 files changed, 157 insertions(+) create mode 100644 specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json create mode 100644 specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionDelete.json create mode 100644 specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionGet.json create mode 100644 specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionList.json create mode 100644 specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListPrivateLinkResources.json diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json new file mode 100644 index 000000000000..7876bcefb8dd --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2019-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "privateEndpointConnectionName": "myConnection", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..57f841e85111 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2019-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..8fd0c455459e --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2019-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionList.json new file mode 100644 index 000000000000..e90e234ba87f --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/PrivateEndpointConnectionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2019-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListPrivateLinkResources.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListPrivateLinkResources.json new file mode 100644 index 000000000000..e11e6a6b5af7 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListPrivateLinkResources.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2019-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateLinkResources/registry", + "name": "registry", + "type": "Microsoft.ContainerRegistry/registries/privateLinkResources", + "properties": { + "groupId": "registry", + "requiredMembers": [ + "registry", + "registry_data_myregion" + ], + "requiredZoneNames": [ + "privatelink.azurecr.io" + ] + } + } + } + } +} From ead34e6a27b140e3e22ad29e0034b47d618677c1 Mon Sep 17 00:00:00 2001 From: ankurkhemani Date: Wed, 19 Feb 2020 20:58:38 -0800 Subject: [PATCH 4/4] some schema updates --- .../2019-12-01-preview/containerregistry.json | 93 ++++++++++++++++++- .../RegistryListPrivateLinkResources.json | 30 +++--- 2 files changed, 105 insertions(+), 18 deletions(-) diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json index a0a6bb09f832..491a8e628d7e 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json @@ -292,7 +292,7 @@ "200": { "description": "The request was successful; the request was well-formed and received properly.", "schema": { - "$ref": "#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/PrivateEndpointConnectionListResult" } } }, @@ -672,7 +672,7 @@ "Registries" ], "description": "Lists the private link resources for a container registry.", - "operationId": "Registries_ListPrivateLinkResourcesAsync", + "operationId": "Registries_ListPrivateLinkResources", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -689,7 +689,10 @@ ], "responses": { "200": { - "description": "The request was successful; the request was well-formed and received properly." + "description": "The request was successful; the private link resources were retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } } }, "x-ms-examples": { @@ -1592,7 +1595,6 @@ "Disconnected" ], "type": "string", - "readOnly": true, "x-ms-enum": { "name": "Status", "modelAsString": true @@ -1609,7 +1611,6 @@ "Recreate" ], "type": "string", - "readOnly": true, "x-ms-enum": { "name": "ActionsRequired", "modelAsString": true @@ -1617,6 +1618,23 @@ } } }, + "PrivateEndpointConnectionListResult": { + "description": "The result of a request to list private endpoint connections for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of private endpoint connections. Since this list may be incomplete, the nextLink field should be used to request the next list of private endpoint connections.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of private endpoint connections.", + "type": "string" + } + } + }, "Registry": { "description": "An object that represents a container registry.", "required": [ @@ -2224,6 +2242,71 @@ } } }, + "PrivateLinkResourceListResult": { + "description": "The result of a request to list private link resources for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of private link resources. Since this list may be incomplete, the nextLink field should be used to request the next list of private link resources.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of private link resources.", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "description": "A resource that supports private link capabilities.", + "type": "object", + "properties": { + "type": { + "description": "The resource type is private link resource.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The resource ID.", + "type": "string" + }, + "name": { + "description": "The name of the resource.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "A resource that supports private link capabilities.", + "x-ms-client-flatten": true + } + } + }, + "PrivateLinkResourceProperties": { + "description": "The properties of a private link resource.", + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string" + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "The private link resource Private link DNS zone name.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, "Replication": { "description": "An object that represents a replication for a container registry.", "type": "object", diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListPrivateLinkResources.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListPrivateLinkResources.json index e11e6a6b5af7..3f12f3184785 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListPrivateLinkResources.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListPrivateLinkResources.json @@ -8,19 +8,23 @@ "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateLinkResources/registry", - "name": "registry", - "type": "Microsoft.ContainerRegistry/registries/privateLinkResources", - "properties": { - "groupId": "registry", - "requiredMembers": [ - "registry", - "registry_data_myregion" - ], - "requiredZoneNames": [ - "privatelink.azurecr.io" - ] - } + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateLinkResources/registry", + "name": "registry", + "type": "Microsoft.ContainerRegistry/registries/privateLinkResources", + "properties": { + "groupId": "registry", + "requiredMembers": [ + "registry", + "registry_data_myregion" + ], + "requiredZoneNames": [ + "privatelink.azurecr.io" + ] + } + } + ] } } }