{
  "openapi": "3.0.0",
  "info": {
    "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.",
    "title": "NetworkManagementClient",
    "version": "2018-12-01",
    "x-jentic-source-url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/serviceEndpointPolicy.json"
  },
  "servers": [
    {
      "url": "https://management.azure.com/"
    }
  ],
  "paths": {
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ServiceEndpointPolicies": {
      "get": {
        "parameters": [
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceEndpointPolicyListResult"
                }
              }
            },
            "description": "Request successful. The operation returns a list of ServiceEndpointPolicy resources."
          }
        },
        "tags": [
          "ServiceEndpointPolicies"
        ],
        "description": "Gets all the service endpoint policies in a subscription.",
        "operationId": "ServiceEndpointPolicies_List",
        "x-ms-examples": {
          "List all service endpoint policy": {
            "$ref": "./examples/ServiceEndpointPolicyListAll.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies": {
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceEndpointPolicyListResult"
                }
              }
            },
            "description": "Request successful. The operation returns a list of ServiceEndpointPolicy resources."
          }
        },
        "tags": [
          "ServiceEndpointPolicies"
        ],
        "description": "Gets all service endpoint Policies in a resource group.",
        "operationId": "ServiceEndpointPolicies_ListByResourceGroup",
        "x-ms-examples": {
          "List resource group service endpoint policies": {
            "$ref": "./examples/ServiceEndpointPolicyList.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}": {
      "delete": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the service endpoint policy.",
            "in": "path",
            "name": "serviceEndpointPolicyName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Delete successful."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "204": {
            "description": "Request successful. Resource does not exist."
          }
        },
        "tags": [
          "ServiceEndpointPolicies"
        ],
        "description": "Deletes the specified service endpoint policy.",
        "operationId": "ServiceEndpointPolicies_Delete",
        "x-ms-examples": {
          "Delete service endpoint policy": {
            "$ref": "./examples/ServiceEndpointPolicyDelete.json"
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the service endpoint policy.",
            "in": "path",
            "name": "serviceEndpointPolicyName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          },
          {
            "description": "Expands referenced resources.",
            "in": "query",
            "name": "$expand",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceEndpointPolicy"
                }
              }
            },
            "description": "Request successful. The operation returns the resulting ServiceEndpointPolicy resource."
          }
        },
        "tags": [
          "ServiceEndpointPolicies"
        ],
        "description": "Gets the specified service Endpoint Policies in a specified resource group.",
        "operationId": "ServiceEndpointPolicies_Get",
        "x-ms-examples": {
          "Get service endPoint Policy": {
            "$ref": "./examples/ServiceEndpointPolicyGet.json"
          }
        }
      },
      "patch": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the service endpoint policy.",
            "in": "path",
            "name": "serviceEndpointPolicyName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceEndpointPolicy"
                }
              }
            },
            "description": "Update successful. The operation returns the resulting ServiceEndpointPolicy resource."
          }
        },
        "tags": [
          "ServiceEndpointPolicies"
        ],
        "description": "Updates service Endpoint Policies.",
        "operationId": "ServiceEndpointPolicies_Update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "./network.json#/definitions/TagsObject"
              }
            }
          },
          "description": "Parameters supplied to update service endpoint policy tags.",
          "required": true
        },
        "x-ms-examples": {
          "Update service endpoint policy tags": {
            "$ref": "./examples/ServiceEndpointPolicyUpdateTags.json"
          }
        },
        "x-ms-long-running-operation": true
      },
      "put": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the service endpoint policy.",
            "in": "path",
            "name": "serviceEndpointPolicyName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceEndpointPolicy"
                }
              }
            },
            "description": "Update successful. The operation returns the resulting ServiceEndpointPolicy resource."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceEndpointPolicy"
                }
              }
            },
            "description": "Create successful. The operation returns the resulting ServiceEndpointPolicy resource."
          }
        },
        "tags": [
          "ServiceEndpointPolicies"
        ],
        "description": "Creates or updates a service Endpoint Policies.",
        "operationId": "ServiceEndpointPolicies_CreateOrUpdate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceEndpointPolicy"
              }
            }
          },
          "description": "Parameters supplied to the create or update service endpoint policy operation.",
          "required": true
        },
        "x-ms-examples": {
          "Create service endpoint policy": {
            "$ref": "./examples/ServiceEndpointPolicyCreate.json"
          },
          "Create service endpoint policy with definition": {
            "$ref": "./examples/ServiceEndpointPolicyCreateWithDefinition.json"
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions": {
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the service endpoint policy name.",
            "in": "path",
            "name": "serviceEndpointPolicyName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceEndpointPolicyDefinitionListResult"
                }
              }
            },
            "description": "Request successful. The operation returns a list of ServiceEndpointPolicyDefinition resources."
          }
        },
        "tags": [
          "ServiceEndpointPolicyDefinitions"
        ],
        "description": "Gets all service endpoint policy definitions in a service end point policy.",
        "operationId": "ServiceEndpointPolicyDefinitions_ListByResourceGroup",
        "x-ms-examples": {
          "List service endpoint definitions in service end point policy": {
            "$ref": "./examples/ServiceEndpointPolicyDefinitionList.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}": {
      "delete": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the Service Endpoint Policy.",
            "in": "path",
            "name": "serviceEndpointPolicyName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the service endpoint policy definition.",
            "in": "path",
            "name": "serviceEndpointPolicyDefinitionName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Delete successful."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "204": {
            "description": "Request successful. Resource does not exist."
          }
        },
        "tags": [
          "ServiceEndpointPolicyDefinitions"
        ],
        "description": "Deletes the specified ServiceEndpoint policy definitions.",
        "operationId": "ServiceEndpointPolicyDefinitions_Delete",
        "x-ms-examples": {
          "Delete service endpoint policy definitions from service endpoint policy": {
            "$ref": "./examples/ServiceEndpointPolicyDefinitionDelete.json"
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the service endpoint policy name.",
            "in": "path",
            "name": "serviceEndpointPolicyName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the service endpoint policy definition name.",
            "in": "path",
            "name": "serviceEndpointPolicyDefinitionName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceEndpointPolicyDefinition"
                }
              }
            },
            "description": "Request successful. The operation returns the resulting ServiceEndpointPolicyDefinition resource."
          }
        },
        "tags": [
          "serviceEndpointPolicyDefinitions"
        ],
        "description": "Get the specified service endpoint policy definitions from service endpoint policy.",
        "operationId": "ServiceEndpointPolicyDefinitions_Get",
        "x-ms-examples": {
          "Get service endpoint definition in service endpoint policy": {
            "$ref": "./examples/ServiceEndpointPolicyDefinitionGet.json"
          }
        }
      },
      "put": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the service endpoint policy.",
            "in": "path",
            "name": "serviceEndpointPolicyName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the service endpoint policy definition name.",
            "in": "path",
            "name": "serviceEndpointPolicyDefinitionName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceEndpointPolicyDefinition"
                }
              }
            },
            "description": "Update successful. The operation returns the resulting ServiceEndpointPolicyDefinition resource."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceEndpointPolicyDefinition"
                }
              }
            },
            "description": "Create successful. The operation returns the resulting ServiceEndpointPolicyDefinition resource."
          }
        },
        "tags": [
          "serviceEndpointPolicyDefinitions"
        ],
        "description": "Creates or updates a service endpoint policy definition in the specified service endpoint policy.",
        "operationId": "ServiceEndpointPolicyDefinitions_CreateOrUpdate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceEndpointPolicyDefinition"
              }
            }
          },
          "description": "Parameters supplied to the create or update service endpoint policy operation.",
          "required": true
        },
        "x-ms-examples": {
          "Create service endpoint policy definition": {
            "$ref": "./examples/ServiceEndpointPolicyDefinitionCreate.json"
          }
        },
        "x-ms-long-running-operation": true
      }
    }
  },
  "components": {
    "schemas": {
      "ServiceEndpointPolicy": {
        "allOf": [
          {
            "$ref": "./network.json#/definitions/Resource"
          }
        ],
        "description": "Service End point policy resource.",
        "properties": {
          "etag": {
            "description": "A unique read-only string that changes whenever the resource is updated.",
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/ServiceEndpointPolicyPropertiesFormat",
            "description": "Properties of the service end point policy",
            "x-ms-client-flatten": true
          }
        },
        "type": "object"
      },
      "ServiceEndpointPolicyDefinition": {
        "allOf": [
          {
            "$ref": "./network.json#/definitions/SubResource"
          }
        ],
        "description": "Service Endpoint policy definitions.",
        "properties": {
          "etag": {
            "description": "A unique read-only string that changes whenever the resource is updated.",
            "type": "string"
          },
          "name": {
            "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource.",
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/ServiceEndpointPolicyDefinitionPropertiesFormat",
            "description": "Properties of the service endpoint policy definition",
            "x-ms-client-flatten": true
          }
        },
        "type": "object"
      },
      "ServiceEndpointPolicyDefinitionListResult": {
        "description": "Response for ListServiceEndpointPolicyDefinition API service call. Retrieves all service endpoint policy definition that belongs to a service endpoint policy.",
        "properties": {
          "nextLink": {
            "description": "The URL to get the next set of results.",
            "type": "string"
          },
          "value": {
            "description": "The service endpoint policy definition in a service endpoint policy.",
            "items": {
              "$ref": "#/components/schemas/ServiceEndpointPolicyDefinition"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ServiceEndpointPolicyDefinitionPropertiesFormat": {
        "description": "Service Endpoint policy definition resource.",
        "properties": {
          "description": {
            "description": "A description for this rule. Restricted to 140 chars.",
            "type": "string"
          },
          "provisioningState": {
            "description": "The provisioning state of the service end point policy definition. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
            "readOnly": true,
            "type": "string"
          },
          "service": {
            "description": "Service endpoint name.",
            "type": "string"
          },
          "serviceResources": {
            "description": "A list of service resources.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ServiceEndpointPolicyListResult": {
        "description": "Response for ListServiceEndpointPolicies API service call.",
        "properties": {
          "nextLink": {
            "description": "The URL to get the next set of results.",
            "readOnly": true,
            "type": "string"
          },
          "value": {
            "description": "A list of ServiceEndpointPolicy resources.",
            "items": {
              "$ref": "#/components/schemas/ServiceEndpointPolicy"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ServiceEndpointPolicyPropertiesFormat": {
        "description": "Service Endpoint Policy resource.",
        "properties": {
          "provisioningState": {
            "description": "The provisioning state of the service endpoint policy. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
            "readOnly": true,
            "type": "string"
          },
          "resourceGuid": {
            "description": "The resource GUID property of the service endpoint policy resource.",
            "readOnly": true,
            "type": "string"
          },
          "serviceEndpointPolicyDefinitions": {
            "description": "A collection of service endpoint policy definitions of the service endpoint policy.",
            "items": {
              "$ref": "#/components/schemas/ServiceEndpointPolicyDefinition"
            },
            "type": "array"
          },
          "subnets": {
            "description": "A collection of references to subnets.",
            "items": {
              "$ref": "./virtualNetwork.json#/definitions/Subnet"
            },
            "readOnly": true,
            "type": "array"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "azure_auth": {
        "description": "Azure Active Directory OAuth2 Flow",
        "flows": {
          "implicit": {
            "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
            "scopes": {
              "user_impersonation": "impersonate your user account"
            }
          }
        },
        "type": "oauth2"
      }
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ]
}