From f69dc6475e4b6e6c32b8aa328724bc340ef2c18e Mon Sep 17 00:00:00 2001 From: EvgenyAgafonchikov Date: Wed, 16 Aug 2017 10:11:25 +0400 Subject: [PATCH] Added service endpoints APIs (#1533) --- .../2017-06-01/endpointService.json | 127 ++++++++++++++++++ .../examples/EndpointServicesList.json | 30 +++++ .../examples/SubnetCreateServiceEndpoint.json | 55 ++++++++ .../2017-06-01/virtualNetwork.json | 30 ++++- 4 files changed, 241 insertions(+), 1 deletion(-) create mode 100644 specification/network/resource-manager/Microsoft.Network/2017-06-01/endpointService.json create mode 100644 specification/network/resource-manager/Microsoft.Network/2017-06-01/examples/EndpointServicesList.json create mode 100644 specification/network/resource-manager/Microsoft.Network/2017-06-01/examples/SubnetCreateServiceEndpoint.json diff --git a/specification/network/resource-manager/Microsoft.Network/2017-06-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/2017-06-01/endpointService.json new file mode 100644 index 000000000000..5eb27c65cf49 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/2017-06-01/endpointService.json @@ -0,0 +1,127 @@ +{ + "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": "2017-06-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}/virtualNetworkAvailableEndpointServices": { + "get": { + "operationId": "AvailableEndpointServices_List", + "description": "List what values of endpoint services are available for use.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location to check available endpoint services." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns list of available endpoint services.", + "schema": { + "$ref": "#/definitions/EndpointServicesListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "EndpointServicesList": { "$ref": "./examples/EndpointServicesList.json" } + } + } + } + }, + "definitions": { + "EndpointServicesListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EndpointServiceResult" + }, + "description": "List of available endpoint services in a region." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListAvailableEndpointServices API service call." + }, + "EndpointServiceResult": { + "properties": { + "name": { + "type": "string", + "description": "Name of the endpoint service.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Type of the endpoint service.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Endpoint service." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/2017-06-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/2017-06-01/examples/EndpointServicesList.json new file mode 100644 index 000000000000..38e9517ec4eb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/2017-06-01/examples/EndpointServicesList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2017-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Storage", + "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.Storage", + "type": "Microsoft.Network/virtualNetworkEndpointServices" + }, + { + "name": "Microsoft.Sql", + "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.Sql", + "type": "Microsoft.Network/virtualNetworkEndpointServices" + }, + { + "name": "Microsoft.AzureActiveDirectory", + "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.AzureActiveDirectory", + "type": "Microsoft.Network/virtualNetworkEndpointServices" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/2017-06-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/2017-06-01/examples/SubnetCreateServiceEndpoint.json new file mode 100644 index 000000000000..474465e60260 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/2017-06-01/examples/SubnetCreateServiceEndpoint.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2017-06-01", + "subscriptionId": "subid", + "subnetParameters": { + "properties": { + "addressPrefix": "10.0.0.0/16", + "serviceEndpoints": [ + { "service": "Microsoft.Storage" } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "serviceEndpoints": [{ + "service": "Microsoft.Storage", + "locations": [ + "eastus2(stage)", + "usnorth(stage)" + ], + "provisioningState": "Succeeded" + }], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "serviceEndpoints": [{ + "service": "Microsoft.Storage", + "locations": [ + "eastus2(stage)", + "usnorth(stage)" + ], + "provisioningState": "Succeeded" + }], + "provisioningState": "Succeeded" + } + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/2017-06-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/2017-06-01/virtualNetwork.json index 3084a422fa92..8e967d1f7d1e 100644 --- a/specification/network/resource-manager/Microsoft.Network/2017-06-01/virtualNetwork.json +++ b/specification/network/resource-manager/Microsoft.Network/2017-06-01/virtualNetwork.json @@ -422,7 +422,8 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Create subnet": { "$ref": "./examples/SubnetCreate.json" } + "Create subnet": { "$ref": "./examples/SubnetCreate.json" }, + "Create subnet with service endpoints": { "$ref": "./examples/SubnetCreateServiceEndpoint.json" } } } }, @@ -825,6 +826,13 @@ "$ref": "./routeTable.json#/definitions/RouteTable", "description": "The reference of the RouteTable resource." }, + "serviceEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpointPropertiesFormat" + }, + "description": "An array of service endpoints." + }, "ipConfigurations": { "readOnly": true, "type": "array", @@ -847,6 +855,26 @@ }, "description": "Properties of the subnet." }, + "ServiceEndpointPropertiesFormat": { + "properties": { + "service": { + "type": "string", + "description": "The type of the endpoint service." + }, + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of locations." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the resource." + } + }, + "description": "The service endpoint properties." + }, "VirtualNetworkPeeringPropertiesFormat": { "properties": { "allowVirtualNetworkAccess": {