diff --git a/specification/network/resource-manager/Microsoft.Network/2017-08-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/2017-08-01/endpointService.json new file mode 100644 index 000000000000..d250c4f9450b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/2017-08-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-08-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-08-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/2017-08-01/examples/EndpointServicesList.json new file mode 100644 index 000000000000..041466922ddf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/2017-08-01/examples/EndpointServicesList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2017-08-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-08-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/2017-08-01/examples/SubnetCreateServiceEndpoint.json new file mode 100644 index 000000000000..a7d81ff09e51 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/2017-08-01/examples/SubnetCreateServiceEndpoint.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2017-08-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-08-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/2017-08-01/virtualNetwork.json index 167efd7af853..45718180b8a5 100644 --- a/specification/network/resource-manager/Microsoft.Network/2017-08-01/virtualNetwork.json +++ b/specification/network/resource-manager/Microsoft.Network/2017-08-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": { diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index 1fa4ce634bce..eb38dd9bde00 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -40,6 +40,7 @@ These settings apply only when `--tag=package-2017-08` is specified on the comma input-file: - Microsoft.Network/2017-08-01/applicationGateway.json - Microsoft.Network/2017-08-01/checkDnsAvailability.json +- Microsoft.Network/2017-08-01/endpointService.json - Microsoft.Network/2017-08-01/expressRouteCircuit.json - Microsoft.Network/2017-08-01/loadBalancer.json - Microsoft.Network/2017-08-01/network.json @@ -66,6 +67,7 @@ These settings apply only when `--tag=package-2017-06` is specified on the comma input-file: - Microsoft.Network/2017-06-01/applicationGateway.json - Microsoft.Network/2017-06-01/checkDnsAvailability.json +- Microsoft.Network/2017-06-01/endpointService.json - Microsoft.Network/2017-06-01/expressRouteCircuit.json - Microsoft.Network/2017-06-01/loadBalancer.json - Microsoft.Network/2017-06-01/network.json