diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointCreate.json new file mode 100644 index 000000000000..bf3eee8ac301 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointCreate.json @@ -0,0 +1,67 @@ +{ + "parameters" : { + "api-version": "2018-08-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" : { + "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" + } + ] + } + } + }, + "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/2018-08-01/examples/InterfaceEndpointDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointDelete.json new file mode 100644 index 000000000000..9d4c3160c2bd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointDelete.json @@ -0,0 +1,13 @@ +{ + "parameters" : { + "api-version": "2018-08-01", + "subscriptionId" : "subId", + "resourceGroupName": "rg1", + "networkInterfaceName": "testIe" + }, + "responses" : { + "200" : { }, + "202" : { }, + "204" : { } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointGet.json new file mode 100644 index 000000000000..96b332642d3e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointGet.json @@ -0,0 +1,34 @@ +{ + "parameters" : { + "api-version": "2018-08-01", + "subscriptionId" : "subId", + "resourceGroupName" : "rg1", + "virtualNetworkName" : "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/2018-08-01/examples/InterfaceEndpointList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointList.json new file mode 100644 index 000000000000..a369c1b0dc32 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointList.json @@ -0,0 +1,59 @@ +{ + "parameters" : { + "api-version": "2018-08-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/2018-08-01/examples/InterfaceEndpointListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointListAll.json new file mode 100644 index 000000000000..8feb62e8efbd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointListAll.json @@ -0,0 +1,80 @@ +{ + "parameters" : { + "api-version": "2018-08-01", + "subscriptionId" : "subId" + }, + "responses" : { + "200" : { + "body" : { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie1", + "name": "ie1", + "type": "Microsoft.Network/interfaceEndpoints", + "location": "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "fqdn": "uniqueIdentifier.fqdn.windows.net", + "owner": "User", + "endpointService": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" + }, + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/ie1.nic.abcd1234" + } + ] + } + }, + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie2", + "name": "ie2", + "type": "Microsoft.Network/interfaceEndpoints", + "location": "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "fqdn": "alsoUnique.fqdn.windows.net", + "owner": "User", + "endpointService": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/otherResourceName" + }, + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/ie2.nic.zyxw9876" + } + ] + } + }, + { + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/interfaceEndpoints/ie1", + "name": "ie1", + "type": "Microsoft.Network/interfaceEndpoints", + "location": "eastus", + "properties" : { + "provisioningState" : "Succeeded", + "fqdn": "stillVeryUnique.fqdn.windows.net", + "owner": "User", + "endpointService": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName" + }, + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/ie1.nic.efgh5463" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/interfaceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/interfaceEndpoint.json new file mode 100644 index 000000000000..7b683698952a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/interfaceEndpoint.json @@ -0,0 +1,332 @@ +{ + "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": "2018-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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/interfaceEndpoints/{interfaceEndpointName}": { + "delete": { + "tags": [ + "InterfaceEndpoints" + ], + "operationId": "InterfaceEndpoints_Delete", + "description": "Deletes the specified interface endpoint.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "interfaceEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the interface endpoint." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete interface endpoint": { "$ref": "./examples/InterfaceEndpointDelete.json" } + } + }, + "get": { + "tags": [ + "InterfaceEndpoints" + ], + "operationId": "InterfaceEndpoints_Get", + "description": "Gets the specified interface endpoint by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "interfaceEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the interface endpoint." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting InterfaceEndpoint resource.", + "schema": { + "$ref": "#/definitions/InterfaceEndpoint" + } + } + }, + "x-ms-examples": { + "Get interface endpoint": { "$ref": "./examples/InterfaceEndpointGet.json" } + } + }, + "put": { + "tags": [ + "InterfaceEndpoints" + ], + "operationId": "InterfaceEndpoints_CreateOrUpdate", + "description": "Creates or updates an interface endpoint in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "interfaceEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the interface endpoint." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InterfaceEndpoint" + }, + "description": "Parameters supplied to the create or update interface endpoint operation" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting InterfaceEndpoint resource.", + "schema": { + "$ref": "#/definitions/InterfaceEndpoint" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting InterfaceEndpoint resource.", + "schema": { + "$ref": "#/definitions/InterfaceEndpoint" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create interface endpoint": { "$ref": "./examples/InterfaceEndpointCreate.json" } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/interfaceEndpoints": { + "get": { + "tags": [ + "InterfaceEndpoints" + ], + "operationId": "InterfaceEndpoints_List", + "description": "Gets all interface endpoints in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of InterfaceEndpoint resources.", + "schema": { + "$ref": "#/definitions/InterfaceEndpointListResult" + } + } + }, + "x-ms-examples": { + "List interface endpoints in resource group": { "$ref": "./examples/InterfaceEndpointList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/interfaceEndpoints": { + "get": { + "tags": [ + "InterfaceEndpoints" + ], + "operationId": "InterfaceEndpoints_ListBySubscription", + "description": "Gets all interface endpoints in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of InterfaceEndpoint resources.", + "schema": { + "$ref": "#/definitions/InterfaceEndpointListResult" + } + } + }, + "x-ms-examples": { + "List all interface endpoints": { "$ref": "./examples/InterfaceEndpointListAll.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "InterfaceEndpoint": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/InterfaceEndpointProperties", + "description": "Properties of the interface endpoint." + }, + "etag": { + "type": "string", + "description": "Gets a unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Interface endpoint resource." + }, + "InterfaceEndpointProperties": { + "properties": { + "fqdn": { + "type": "string", + "description": "A first-party service's FQDN that is mapped to the private IP allocated via this interface endpoint." + }, + "endpointService": { + "$ref": "#/definitions/EndpointService", + "description": "A reference to the service being brought into the virtual network." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The ID of the subnet from which the private IP will be allocated." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Gets an array of references to the network interfaces created for this interface endpoint." + }, + "owner": { + "type": "string", + "readOnly": true, + "description": "A read-only property that identifies who created this interface endpoint." + } + }, + "description": "Properties of the interface endpoint." + }, + "EndpointService": { + "properties": { + "id": { + "type": "string", + "description": "A unique identifier of the service being referenced by the interface endpoint." + } + }, + "description": "Identifies the service being brought into the virtual network." + }, + "InterfaceEndpointListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/InterfaceEndpoint" + }, + "description": "Gets a list of InterfaceEndpoint resources in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the ListInterfaceEndpoints API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkInterface.json index 37704dd4a048..09fbd56a7d91 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkInterface.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkInterface.json @@ -931,6 +931,10 @@ "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup", "description": "The reference of the NetworkSecurityGroup resource." }, + "interfaceEndpoint": { + "$ref": "./interfaceEndpoint.json#/definitions/InterfaceEndpoint", + "description": "A reference to the interface endpoint to which the network interface is linked." + }, "ipConfigurations": { "type": "array", "items": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetwork.json index a2986c84daa7..d185f1ff9c30 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetwork.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetwork.json @@ -891,11 +891,18 @@ }, "serviceEndpointPolicies": { "type": "array", - "items": { - "$ref": "./serviceEndpointPolicy.json#/definitions/ServiceEndpointPolicy" + "items": { + "$ref": "./serviceEndpointPolicy.json#/definitions/ServiceEndpointPolicy" }, "description": "An array of service endpoint policies." }, + "interfaceEndpoints": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to interface endpoints " + }, "ipConfigurations": { "readOnly": true, "type": "array", diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index 2394f45cfc34..4e2e801eff67 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -47,6 +47,7 @@ input-file: - Microsoft.Network/stable/2018-08-01/endpointService.json - Microsoft.Network/stable/2018-08-01/expressRouteCircuit.json - Microsoft.Network/stable/2018-08-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-08-01/interfaceEndpoint.json - Microsoft.Network/stable/2018-08-01/loadBalancer.json - Microsoft.Network/stable/2018-08-01/network.json - Microsoft.Network/stable/2018-08-01/networkInterface.json @@ -695,6 +696,9 @@ directive: - suppress: RequiredPropertiesMissingInResourceModel from: virtualNetworkGateway.json reason: name, id and type properties are inherited from the upper level + - suppress: RequiredPropertiesMissingInResourceModel + from: interfaceEndpoint.json + reason: name, id and type properties are inherited from the upper level - suppress: TrackedResourceListByImmediateParent reason: Another list APIs naming approach is used over the specs - suppress: EnumInsteadOfBoolean