diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/cdnwebapplicationfirewall.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/cdnwebapplicationfirewall.json index a00cb37d490d..350a0ed69090 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/cdnwebapplicationfirewall.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/cdnwebapplicationfirewall.json @@ -463,10 +463,13 @@ "defaultCustomBlockResponseStatusCode": { "description": "If the action type is block, this field defines the default customer overridable http response status code.", "type": "integer", - "maximum": 599, - "exclusiveMaximum": false, - "minimum": 200, - "exclusiveMinimum": false + "enum": [ + 200, + 403, + 405, + 406, + 429 + ] }, "defaultCustomBlockResponseBody": { "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.", @@ -599,7 +602,7 @@ "type": "string", "enum": [ "RemoteAddr", - "Country", + "SocketAddr", "RequestMethod", "RequestHeader", "RequestUri", @@ -614,7 +617,7 @@ } }, "selector": { - "description": "Selector can used to match a specific key for QueryString, RequestUri, RequestHeaders or RequestBody.", + "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.", "type": "string" }, "operator": { diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafListPolicies.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafListPolicies.json index 6b5c2b894cd2..f1731a643beb 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafListPolicies.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafListPolicies.json @@ -27,7 +27,7 @@ "enabledState": "Enabled", "mode": "Prevention", "defaultRedirectUrl": "http://www.bing.com", - "defaultCustomBlockResponseStatusCode": 499, + "defaultCustomBlockResponseStatusCode": 429, "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" }, "rateLimitRules": { @@ -154,7 +154,7 @@ "enabledState": "Enabled", "mode": "Prevention", "defaultRedirectUrl": "http://www.bing.com", - "defaultCustomBlockResponseStatusCode": 499, + "defaultCustomBlockResponseStatusCode": 429, "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" }, "rateLimitRules": { diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPatchPolicy.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPatchPolicy.json index f2511b72fd82..5abe9d3f2477 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPatchPolicy.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPatchPolicy.json @@ -30,7 +30,7 @@ "enabledState": "Enabled", "mode": "Prevention", "defaultRedirectUrl": "http://www.bing.com", - "defaultCustomBlockResponseStatusCode": 499, + "defaultCustomBlockResponseStatusCode": 403, "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" }, "rateLimitRules": { @@ -159,7 +159,7 @@ "enabledState": "Enabled", "mode": "Prevention", "defaultRedirectUrl": "http://www.bing.com", - "defaultCustomBlockResponseStatusCode": 499, + "defaultCustomBlockResponseStatusCode": 403, "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" }, "rateLimitRules": { diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyCreateOrUpdate.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyCreateOrUpdate.json index 3ce2f5a82cac..58e9a8e5629c 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyCreateOrUpdate.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyCreateOrUpdate.json @@ -12,7 +12,7 @@ "properties": { "policySettings": { "defaultRedirectUrl": "http://www.bing.com", - "defaultCustomBlockResponseStatusCode": 499, + "defaultCustomBlockResponseStatusCode": 200, "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" }, "rateLimitRules": { @@ -134,7 +134,7 @@ "enabledState": "Enabled", "mode": "Prevention", "defaultRedirectUrl": "http://www.bing.com", - "defaultCustomBlockResponseStatusCode": 499, + "defaultCustomBlockResponseStatusCode": 200, "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" }, "rateLimitRules": { @@ -263,7 +263,7 @@ "enabledState": "Enabled", "mode": "Prevention", "defaultRedirectUrl": "http://www.bing.com", - "defaultCustomBlockResponseStatusCode": 499, + "defaultCustomBlockResponseStatusCode": 200, "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" }, "rateLimitRules": { @@ -392,7 +392,7 @@ "enabledState": "Enabled", "mode": "Prevention", "defaultRedirectUrl": "http://www.bing.com", - "defaultCustomBlockResponseStatusCode": 499, + "defaultCustomBlockResponseStatusCode": 200, "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" }, "rateLimitRules": { diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyGet.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyGet.json index 3cfd8e73d78c..c168c9bb43af 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyGet.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyGet.json @@ -26,7 +26,7 @@ "enabledState": "Enabled", "mode": "Prevention", "defaultRedirectUrl": "http://www.bing.com", - "defaultCustomBlockResponseStatusCode": 499, + "defaultCustomBlockResponseStatusCode": 429, "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" }, "rateLimitRules": { diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdn.json new file mode 100644 index 000000000000..e2b319a2e9d7 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdn.json @@ -0,0 +1,4605 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-06-15", + "title": "CdnManagementClient", + "description": "Use these APIs to manage Azure CDN resources through the Azure Resource Manager. You must make sure that requests made to these resources are secure." + }, + "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.Cdn/profiles": { + "get": { + "tags": [ + "Profiles" + ], + "description": "Lists all of the CDN profiles within an Azure subscription.", + "operationId": "Profiles_List", + "x-ms-examples": { + "Profiles_List": { + "$ref": "./examples/Profiles_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProfileListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles": { + "get": { + "tags": [ + "Profiles" + ], + "description": "Lists all of the CDN profiles within a resource group.", + "operationId": "Profiles_ListByResourceGroup", + "x-ms-examples": { + "Profiles_ListByResourceGroup": { + "$ref": "./examples/Profiles_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProfileListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}": { + "get": { + "tags": [ + "Profiles" + ], + "description": "Gets a CDN profile with the specified profile name under the specified subscription and resource group.", + "operationId": "Profiles_Get", + "x-ms-examples": { + "Profiles_Get": { + "$ref": "./examples/Profiles_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Profile" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Profiles" + ], + "description": "Creates a new CDN profile with a profile name under the specified subscription and resource group.", + "operationId": "Profiles_Create", + "x-ms-examples": { + "Profiles_Create": { + "$ref": "./examples/Profiles_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "description": "Profile properties needed to create a new profile.", + "in": "body", + "name": "profile", + "required": true, + "schema": { + "$ref": "#/definitions/Profile" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Profile" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new profile has been created.", + "schema": { + "$ref": "#/definitions/Profile" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Profile" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Profiles" + ], + "description": "Updates an existing CDN profile with the specified profile name under the specified subscription and resource group.", + "operationId": "Profiles_Update", + "x-ms-examples": { + "Profiles_Update": { + "$ref": "./examples/Profiles_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "profileUpdateParameters", + "in": "body", + "description": "Profile properties needed to update an existing profile.", + "required": true, + "schema": { + "$ref": "#/definitions/ProfileUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Profile" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Profile" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Profiles" + ], + "description": "Deletes an existing CDN profile with the specified parameters. Deleting a profile will result in the deletion of all of the sub-resources including endpoints, origins and custom domains.", + "operationId": "Profiles_Delete", + "x-ms-examples": { + "Profiles_Delete": { + "$ref": "./examples/Profiles_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." + }, + "204": { + "description": "No Content. The request has been accepted but the profile was not found." + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/generateSsoUri": { + "post": { + "tags": [ + "Profiles" + ], + "description": "Generates a dynamic SSO URI used to sign in to the CDN supplemental portal. Supplemental portal is used to configure advanced feature capabilities that are not yet available in the Azure portal, such as core reports in a standard profile; rules engine, advanced HTTP reports, and real-time stats and alerts in a premium profile. The SSO URI changes approximately every 10 minutes.", + "operationId": "Profiles_GenerateSsoUri", + "x-ms-examples": { + "Profiles_GenerateSsoUri": { + "$ref": "./examples/Profiles_GenerateSsoUri.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/SsoUri" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getSupportedOptimizationTypes": { + "post": { + "tags": [ + "Profiles" + ], + "description": "Gets the supported optimization types for the current profile. A user can create an endpoint with an optimization type from the listed values.", + "operationId": "Profiles_ListSupportedOptimizationTypes", + "x-ms-examples": { + "Profiles_ListSupportedOptimizationTypes": { + "$ref": "./examples/Profiles_ListSupportedOptimizationTypes.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/SupportedOptimizationTypesListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkResourceUsage": { + "post": { + "tags": [ + "Profiles" + ], + "description": "Checks the quota and actual usage of endpoints under the given CDN profile.", + "operationId": "Profiles_ListResourceUsage", + "x-ms-examples": { + "Profiles_ListResourceUsage": { + "$ref": "./examples/Profiles_ListResourceUsage.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ResourceUsageListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints": { + "get": { + "tags": [ + "Endpoints" + ], + "description": "Lists existing CDN endpoints.", + "operationId": "Endpoints_ListByProfile", + "x-ms-examples": { + "Endpoints_ListByProfile": { + "$ref": "./examples/Endpoints_ListByProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EndpointListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}": { + "get": { + "tags": [ + "Endpoints" + ], + "description": "Gets an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.", + "operationId": "Endpoints_Get", + "x-ms-examples": { + "Endpoints_Get": { + "$ref": "./examples/Endpoints_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Endpoints" + ], + "description": "Creates a new CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.", + "operationId": "Endpoints_Create", + "x-ms-examples": { + "Endpoints_Create": { + "$ref": "./examples/Endpoints_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "endpoint", + "in": "body", + "description": "Endpoint properties", + "required": true, + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new endpoint has been created.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Endpoints" + ], + "description": "Updates an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile. Only tags and Origin HostHeader can be updated after creating an endpoint. To update origins, use the Update Origin operation. To update custom domains, use the Update Custom Domain operation.", + "operationId": "Endpoints_Update", + "x-ms-examples": { + "Endpoints_Update": { + "$ref": "./examples/Endpoints_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "endpointUpdateProperties", + "in": "body", + "description": "Endpoint update properties", + "required": true, + "schema": { + "$ref": "#/definitions/EndpointUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "default": { + "description": "CDN error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Endpoints" + ], + "description": "Deletes an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.", + "operationId": "Endpoints_Delete", + "x-ms-examples": { + "Endpoints_Delete": { + "$ref": "./examples/Endpoints_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "No Content. The request has been accepted but the endpoint was not found." + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/start": { + "post": { + "tags": [ + "Endpoints" + ], + "description": "Starts an existing CDN endpoint that is on a stopped state.", + "operationId": "Endpoints_Start", + "x-ms-examples": { + "Endpoints_Start": { + "$ref": "./examples/Endpoints_Start.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/stop": { + "post": { + "tags": [ + "Endpoints" + ], + "description": "Stops an existing running CDN endpoint.", + "operationId": "Endpoints_Stop", + "x-ms-examples": { + "Endpoints_Stop": { + "$ref": "./examples/Endpoints_Stop.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge": { + "post": { + "tags": [ + "Endpoints" + ], + "description": "Removes a content from CDN.", + "operationId": "Endpoints_PurgeContent", + "x-ms-examples": { + "Endpoints_PurgeContent": { + "$ref": "./examples/Endpoints_PurgeContent.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "contentFilePaths", + "in": "body", + "description": "The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and files in the directory.", + "required": true, + "schema": { + "$ref": "#/definitions/PurgeParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/load": { + "post": { + "tags": [ + "Endpoints" + ], + "description": "Pre-loads a content to CDN. Available for Verizon Profiles.", + "operationId": "Endpoints_LoadContent", + "x-ms-examples": { + "Endpoints_LoadContent": { + "$ref": "./examples/Endpoints_LoadContent.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "contentFilePaths", + "in": "body", + "description": "The path to the content to be loaded. Path should be a full URL, e.g. ‘/pictures/city.png' which loads a single file ", + "required": true, + "schema": { + "$ref": "#/definitions/LoadParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/validateCustomDomain": { + "post": { + "tags": [ + "Endpoints" + ], + "description": "Validates the custom domain mapping to ensure it maps to the correct CDN endpoint in DNS.", + "operationId": "Endpoints_ValidateCustomDomain", + "x-ms-examples": { + "Endpoints_ValidateCustomDomain": { + "$ref": "./examples/Endpoints_ValidateCustomDomain.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "customDomainProperties", + "in": "body", + "description": "Custom domain to be validated.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateCustomDomainInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ValidateCustomDomainOutput" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/checkResourceUsage": { + "post": { + "tags": [ + "Endpoints" + ], + "description": "Checks the quota and usage of geo filters and custom domains under the given endpoint.", + "operationId": "Endpoints_ListResourceUsage", + "x-ms-examples": { + "Endpoints_ListResourceUsage": { + "$ref": "./examples/Endpoints_ListResourceUsage.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ResourceUsageListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins": { + "get": { + "tags": [ + "Origins" + ], + "description": "Lists all of the existing origins within an endpoint.", + "operationId": "Origins_ListByEndpoint", + "x-ms-examples": { + "Origins_ListByEndpoint": { + "$ref": "./examples/Origins_ListByEndpoint.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OriginListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}": { + "get": { + "tags": [ + "Origins" + ], + "description": "Gets an existing origin within an endpoint.", + "operationId": "Origins_Get", + "x-ms-examples": { + "Origins_Get": { + "$ref": "./examples/Origins_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "originName", + "in": "path", + "description": "Name of the origin which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Origin" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Origins" + ], + "description": "Updates an existing origin within an endpoint.", + "operationId": "Origins_Update", + "x-ms-examples": { + "Origins_Update": { + "$ref": "./examples/Origins_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "originName", + "in": "path", + "description": "Name of the origin which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "name": "originUpdateProperties", + "in": "body", + "description": "Origin properties", + "required": true, + "schema": { + "$ref": "#/definitions/OriginUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Origin" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Origin" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains": { + "get": { + "tags": [ + "CustomDomains" + ], + "description": "Lists all of the existing custom domains within an endpoint.", + "operationId": "CustomDomains_ListByEndpoint", + "x-ms-examples": { + "CustomDomains_ListByEndpoint": { + "$ref": "./examples/CustomDomains_ListByEndpoint.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomDomainListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}": { + "get": { + "tags": [ + "CustomDomains" + ], + "description": "Gets an existing custom domain within an endpoint.", + "operationId": "CustomDomains_Get", + "x-ms-examples": { + "CustomDomains_Get": { + "$ref": "./examples/CustomDomains_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the custom domain within an endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "CustomDomains" + ], + "description": "Creates a new custom domain within an endpoint.", + "operationId": "CustomDomains_Create", + "x-ms-examples": { + "CustomDomains_Create": { + "$ref": "./examples/CustomDomains_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the custom domain within an endpoint.", + "required": true, + "type": "string" + }, + { + "name": "customDomainProperties", + "in": "body", + "description": "Properties required to create a new custom domain.", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomainParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new custom domain has been created.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "CustomDomains" + ], + "description": "Deletes an existing custom domain within an endpoint.", + "operationId": "CustomDomains_Delete", + "x-ms-examples": { + "CustomDomains_Delete": { + "$ref": "./examples/CustomDomains_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the custom domain within an endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "204": { + "description": "No Content. The request has been accepted but the custom domain was not found" + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/disableCustomHttps": { + "post": { + "tags": [ + "CustomDomains" + ], + "description": "Disable https delivery of the custom domain.", + "operationId": "CustomDomains_DisableCustomHttps", + "x-ms-examples": { + "CustomDomains_DisableCustomHttps": { + "$ref": "./examples/CustomDomains_DisableCustomHttps.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the custom domain within an endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": { + "post": { + "tags": [ + "CustomDomains" + ], + "description": "Enable https delivery of the custom domain.", + "operationId": "CustomDomains_EnableCustomHttps", + "x-ms-examples": { + "CustomDomains_EnableCustomHttpsUsingYourOwnCertificate": { + "$ref": "./examples/CustomDomains_EnableCustomHttpsUsingBYOC.json" + }, + "CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate": { + "$ref": "./examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the custom domain within an endpoint.", + "required": true, + "type": "string" + }, + { + "name": "customDomainHttpsParameters", + "in": "body", + "description": "The configuration specifying how to enable HTTPS for the custom domain - using CDN managed certificate or user's own certificate. If not specified, enabling ssl uses CDN managed certificate by default.", + "required": false, + "schema": { + "$ref": "#/definitions/CustomDomainHttpsParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Cdn/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailability" + ], + "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN endpoint.", + "operationId": "CheckNameAvailability", + "x-ms-examples": { + "CheckNameAvailability": { + "$ref": "./examples/CheckNameAvailability.json" + } + }, + "parameters": [ + { + "name": "checkNameAvailabilityInput", + "in": "body", + "description": "Input to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityOutput" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailabilityWithSubscription" + ], + "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN endpoint.", + "operationId": "CheckNameAvailabilityWithSubscription", + "x-ms-examples": { + "CheckNameAvailabilityWithSubscription": { + "$ref": "./examples/CheckNameAvailabilityWithSubscription.json" + } + }, + "parameters": [ + { + "name": "checkNameAvailabilityInput", + "in": "body", + "description": "Input to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityOutput" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe": { + "post": { + "tags": [ + "ValidateProbe" + ], + "description": "Check if the probe path is a valid path and the file can be accessed. Probe path is the path to a file hosted on the origin server to help accelerate the delivery of dynamic content via the CDN endpoint. This path is relative to the origin path specified in the endpoint configuration.", + "operationId": "ValidateProbe", + "x-ms-examples": { + "ValidateProbe": { + "$ref": "./examples/ValidateProbe.json" + } + }, + "parameters": [ + { + "name": "validateProbeInput", + "in": "body", + "description": "Input to check.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateProbeInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ValidateProbeOutput" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage": { + "post": { + "tags": [ + "CheckResourceUsage" + ], + "description": "Check the quota and actual usage of the CDN profiles under the given subscription.", + "operationId": "ResourceUsage_List", + "x-ms-examples": { + "ResourceUsage_List": { + "$ref": "./examples/ResourceUsage_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ResourceUsageListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Cdn/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available CDN REST API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationsListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Cdn/edgenodes": { + "get": { + "tags": [ + "Edgenodes" + ], + "description": "Edgenodes are the global Point of Presence (POP) locations used to deliver CDN content to end users.", + "operationId": "EdgeNodes_List", + "x-ms-examples": { + "EdgeNodes_List": { + "$ref": "./examples/EdgeNodes_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EdgenodeResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Profile": { + "description": "CDN profile is a logical grouping of endpoints that share the same settings, such as CDN provider and pricing tier.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", + "$ref": "#/definitions/Sku" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProfileProperties" + } + }, + "required": [ + "sku" + ] + }, + "ProfileProperties": { + "description": "The JSON object that contains the properties required to create a profile.", + "properties": { + "resourceState": { + "description": "Resource status of the profile.", + "readOnly": true, + "enum": [ + "Creating", + "Active", + "Deleting", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ProfileResourceState", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "description": "Provisioning status of the profile.", + "type": "string" + } + } + }, + "ProfileListResult": { + "description": "Result of the request to list profiles. It contains a list of profile objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Profile" + }, + "description": "List of CDN profiles within a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of profile objects if there are any." + } + } + }, + "ProfileUpdateParameters": { + "type": "object", + "description": "Properties required to update a profile.", + "properties": { + "tags": { + "description": "Profile tags", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-azure-resource": true + }, + "SsoUri": { + "description": "The URI required to login to the supplemental portal from the Azure portal.", + "type": "object", + "properties": { + "ssoUriValue": { + "description": "The URI used to login to the supplemental portal.", + "readOnly": true, + "type": "string" + } + } + }, + "SupportedOptimizationTypesListResult": { + "description": "The result of the GetSupportedOptimizationTypes API", + "type": "object", + "properties": { + "supportedOptimizationTypes": { + "description": "Supported optimization types for a profile.", + "readOnly": true, + "items": { + "$ref": "#/definitions/OptimizationType" + }, + "type": "array" + } + } + }, + "Endpoint": { + "description": "CDN endpoint is the entity within a CDN profile containing configuration information such as origin, protocol, content caching and delivery behavior. The CDN endpoint uses the URL format .azureedge.net.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EndpointProperties" + } + } + }, + "EndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "required": [ + "origins" + ], + "allOf": [ + { + "$ref": "#/definitions/EndpointPropertiesUpdateParameters" + } + ], + "properties": { + "hostName": { + "description": "The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net", + "type": "string", + "readOnly": true + }, + "origins": { + "description": "The source of the content being delivered via CDN.", + "type": "array", + "items": { + "$ref": "#/definitions/DeepCreatedOrigin" + } + }, + "resourceState": { + "description": "Resource status of the endpoint.", + "readOnly": true, + "enum": [ + "Creating", + "Deleting", + "Running", + "Starting", + "Stopped", + "Stopping" + ], + "type": "string", + "x-ms-enum": { + "name": "EndpointResourceState", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "description": "Provisioning status of the endpoint.", + "type": "string" + } + } + }, + "EndpointListResult": { + "description": "Result of the request to list endpoints. It contains a list of endpoint objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Endpoint" + }, + "description": "List of CDN endpoints within a profile" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of endpoint objects if there is any." + } + } + }, + "EndpointUpdateParameters": { + "type": "object", + "description": "Properties required to create or update an endpoint.", + "properties": { + "tags": { + "description": "Endpoint tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EndpointPropertiesUpdateParameters" + } + }, + "x-ms-azure-resource": true + }, + "EndpointPropertiesUpdateParameters": { + "description": "The JSON object containing endpoint update parameters.", + "properties": { + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" + }, + "originPath": { + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" + }, + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", + "type": "array", + "items": { + "type": "string" + } + }, + "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", + "type": "boolean" + }, + "isHttpAllowed": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", + "type": "boolean" + }, + "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", + "type": "boolean" + }, + "queryStringCachingBehavior": { + "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.", + "$ref": "#/definitions/QueryStringCachingBehavior" + }, + "optimizationType": { + "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization.", + "$ref": "#/definitions/OptimizationType" + }, + "probePath": { + "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path.", + "type": "string" + }, + "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", + "type": "array", + "items": { + "$ref": "#/definitions/GeoFilter" + } + }, + "deliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", + "type": "object", + "required": [ + "rules" + ], + "properties": { + "description": { + "description": "User-friendly description of the policy.", + "type": "string" + }, + "rules": { + "description": "A list of the delivery rules.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryRule" + } + } + } + }, + "webApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + } + } + } + }, + "DeliveryRule": { + "description": "A rule that specifies a set of actions and conditions", + "type": "object", + "required": [ + "order", + "actions" + ], + "properties": { + "name": { + "description": "Name of the rule", + "type": "string" + }, + "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", + "type": "integer" + }, + "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryRuleCondition" + } + }, + "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryRuleAction" + } + } + } + }, + "DeliveryRuleCondition": { + "description": "A condition for the delivery rule.", + "discriminator": "name", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of the condition for the delivery rule.", + "type": "string", + "enum": [ + "RemoteAddress", + "RequestMethod", + "QueryString", + "PostArgs", + "RequestUri", + "RequestHeader", + "RequestBody", + "RequestScheme", + "UrlPath", + "UrlFileExtension", + "UrlFileName", + "HttpVersion", + "Cookies", + "IsDevice" + ], + "x-ms-enum": { + "name": "MatchVariable", + "modelAsString": true + } + } + } + }, + "DeliveryRuleRemoteAddressCondition": { + "description": "Defines the RemoteAddress condition for the delivery rule.", + "x-ms-discriminator-value": "RemoteAddress", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + } + } + }, + "DeliveryRuleRequestMethodCondition": { + "description": "Defines the RequestMethod condition for the delivery rule.", + "x-ms-discriminator-value": "RequestMethod", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + } + } + }, + "DeliveryRuleQueryStringCondition": { + "description": "Defines the QueryString condition for the delivery rule.", + "x-ms-discriminator-value": "QueryString", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/QueryStringMatchConditionParameters" + } + } + }, + "DeliveryRulePostArgsCondition": { + "description": "Defines the PostArgs condition for the delivery rule.", + "x-ms-discriminator-value": "PostArgs", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/PostArgsMatchConditionParameters" + } + } + }, + "DeliveryRuleRequestUriCondition": { + "description": "Defines the RequestUri condition for the delivery rule.", + "x-ms-discriminator-value": "RequestUri", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/RequestUriMatchConditionParameters" + } + } + }, + "DeliveryRuleRequestHeaderCondition": { + "description": "Defines the RequestHeader condition for the delivery rule.", + "x-ms-discriminator-value": "RequestHeader", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + } + } + }, + "DeliveryRuleRequestBodyCondition": { + "description": "Defines the RequestBody condition for the delivery rule.", + "x-ms-discriminator-value": "RequestBody", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + } + } + }, + "DeliveryRuleRequestSchemeCondition": { + "description": "Defines the RequestScheme condition for the delivery rule.", + "x-ms-discriminator-value": "RequestScheme", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + } + } + }, + "DeliveryRuleUrlPathCondition": { + "description": "Defines the UrlPath condition for the delivery rule.", + "x-ms-discriminator-value": "UrlPath", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/UrlPathMatchConditionParameters" + } + } + }, + "DeliveryRuleUrlFileExtensionCondition": { + "description": "Defines the UrlFileExtension condition for the delivery rule.", + "x-ms-discriminator-value": "UrlFileExtension", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + } + } + }, + "DeliveryRuleUrlFileNameCondition": { + "description": "Defines the UrlFileName condition for the delivery rule.", + "x-ms-discriminator-value": "UrlFileName", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + } + } + }, + "DeliveryRuleHttpVersionCondition": { + "description": "Defines the HttpVersion condition for the delivery rule.", + "x-ms-discriminator-value": "HttpVersion", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + } + } + }, + "DeliveryRuleCookiesCondition": { + "description": "Defines the Cookies condition for the delivery rule.", + "x-ms-discriminator-value": "Cookies", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/CookiesMatchConditionParameters" + } + } + }, + "DeliveryRuleIsDeviceCondition": { + "description": "Defines the IsDevice condition for the delivery rule.", + "x-ms-discriminator-value": "IsDevice", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + } + } + }, + "RemoteAddressMatchConditionParameters": { + "description": "Defines the parameters for RemoteAddress match conditions", + "required": [ + "operator", + "matchValues", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "IPMatch", + "GeoMatch" + ], + "x-ms-enum": { + "name": "RemoteAddressOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean" + }, + "matchValues": { + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "RequestMethodMatchConditionParameters": { + "description": "Defines the parameters for RequestMethod match conditions", + "required": [ + "operator", + "matchValues", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Equal" + ], + "x-ms-enum": { + "name": "RequestMethodOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean" + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "DELETE", + "OPTIONS", + "TRACE" + ] + } + } + } + }, + "QueryStringMatchConditionParameters": { + "description": "Defines the parameters for QueryString match conditions", + "required": [ + "operator", + "matchValues", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ], + "x-ms-enum": { + "name": "QueryStringOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean" + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "PostArgsMatchConditionParameters": { + "description": "Defines the parameters for PostArgs match conditions", + "required": [ + "operator", + "matchValues", + "selector", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" + ] + }, + "selector": { + "description": "Name of PostArg to be matched", + "type": "string" + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ], + "x-ms-enum": { + "name": "PostArgsOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean" + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "RequestUriMatchConditionParameters": { + "description": "Defines the parameters for RequestUri match conditions", + "required": [ + "operator", + "matchValues", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ], + "x-ms-enum": { + "name": "RequestUriOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean" + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "RequestHeaderMatchConditionParameters": { + "description": "Defines the parameters for RequestHeader match conditions", + "required": [ + "operator", + "matchValues", + "selector", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" + ] + }, + "selector": { + "description": "Name of Header to be matched", + "type": "string" + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ], + "x-ms-enum": { + "name": "RequestHeaderOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean" + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "RequestBodyMatchConditionParameters": { + "description": "Defines the parameters for RequestBody match conditions", + "required": [ + "operator", + "matchValues", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ], + "x-ms-enum": { + "name": "RequestBodyOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean" + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "RequestSchemeMatchConditionParameters": { + "description": "Defines the parameters for RequestScheme match conditions ", + "required": [ + "operator", + "matchValues", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Equal" + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean" + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string", + "enum": [ + "HTTP", + "HTTPS" + ] + } + } + } + }, + "UrlPathMatchConditionParameters": { + "description": "Defines the parameters for UrlPath match conditions", + "required": [ + "operator", + "matchValues", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "Wildcard" + ], + "x-ms-enum": { + "name": "UrlPathOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean" + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "UrlFileExtensionMatchConditionParameters": { + "description": "Defines the parameters for UrlFileExtension match conditions", + "required": [ + "operator", + "matchValues", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ], + "x-ms-enum": { + "name": "UrlFileExtensionOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean" + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "UrlFileNameMatchConditionParameters": { + "description": "Defines the parameters for UrlFilename match conditions", + "required": [ + "operator", + "matchValues", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ], + "x-ms-enum": { + "name": "UrlFileNameOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean" + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "HttpVersionMatchConditionParameters": { + "description": "Defines the parameters for HttpVersion match conditions", + "required": [ + "operator", + "matchValues", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Equal" + ], + "x-ms-enum": { + "name": "HttpVersionOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean" + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CookiesMatchConditionParameters": { + "description": "Defines the parameters for Cookies match conditions", + "required": [ + "operator", + "matchValues", + "selector", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" + ] + }, + "selector": { + "description": "Name of Cookies to be matched", + "type": "string" + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ], + "x-ms-enum": { + "name": "CookiesOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean" + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "IsDeviceMatchConditionParameters": { + "description": "Defines the parameters for IsDevice match conditions", + "required": [ + "operator", + "matchValues", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Equal" + ], + "x-ms-enum": { + "name": "IsDeviceOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean" + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string", + "enum": [ + "Mobile", + "Desktop" + ] + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "DeliveryRuleAction": { + "description": "An action for the delivery rule.", + "discriminator": "name", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of the action for the delivery rule.", + "type": "string", + "enum": [ + "CacheExpiration", + "CacheKeyQueryString", + "ModifyRequestHeader", + "ModifyResponseHeader", + "UrlRedirect", + "UrlRewrite" + ], + "x-ms-enum": { + "name": "DeliveryRuleAction", + "modelAsString": true + } + } + } + }, + "UrlRedirectAction": { + "description": "Defines the url redirect action for the delivery rule.", + "x-ms-discriminator-value": "UrlRedirect", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/UrlRedirectActionParameters" + } + } + }, + "UrlRedirectActionParameters": { + "description": "Defines the parameters for the url redirect action.", + "required": [ + "redirectType", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" + ] + }, + "redirectType": { + "description": "The redirect type the rule will use when redirecting traffic.", + "type": "string", + "enum": [ + "Moved", + "Found", + "TemporaryRedirect", + "PermanentRedirect" + ], + "x-ms-enum": { + "name": "RedirectType", + "modelAsString": true + } + }, + "destinationProtocol": { + "description": "Protocol to use for the redirect. The default value is MatchRequest", + "type": "string", + "enum": [ + "MatchRequest", + "Http", + "Https" + ], + "x-ms-enum": { + "name": "DestinationProtocol", + "modelAsString": true + } + }, + "customPath": { + "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.", + "type": "string" + }, + "customHostname": { + "description": "Host to redirect. Leave empty to use the incoming host as the destination host.", + "type": "string" + }, + "customQueryString": { + "description": "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. ? and & will be added automatically so do not include them.", + "type": "string" + }, + "customFragment": { + "type": "string", + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." + } + } + }, + "UrlRewriteAction": { + "description": "Defines the url rewrite action for the delivery rule.", + "x-ms-discriminator-value": "UrlRewrite", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/UrlRewriteActionParameters" + } + } + }, + "UrlRewriteActionParameters": { + "description": "Defines the parameters for the url rewrite action.", + "required": [ + "sourcePattern", + "destination", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" + ] + }, + "sourcePattern": { + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. Currently, source pattern uses a prefix-based match. To match all URL paths, use \"/\" as the source pattern value. To match only the root directory and re-write this path, use the origin path field", + "type": "string" + }, + "destination": { + "description": "Define the destination path for be used in the rewrite. This will overwrite the source pattern ", + "type": "string" + }, + "preserveUnmatchedPath": { + "description": "If True, the remaining path after the source pattern will be appended to the new destination path. ", + "type": "boolean" + } + } + }, + "DeliveryRuleRequestHeaderAction": { + "description": "Defines the request header action for the delivery rule.", + "x-ms-discriminator-value": "ModifyRequestHeader", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/HeaderActionParameters" + } + } + }, + "DeliveryRuleResponseHeaderAction": { + "description": "Defines the response header action for the delivery rule.", + "x-ms-discriminator-value": "ModifyResponseHeader", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/HeaderActionParameters" + } + } + }, + "HeaderActionParameters": { + "description": "Defines the parameters for the request header action.", + "required": [ + "headerAction", + "headerName", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" + ] + }, + "headerAction": { + "description": "Action to perform", + "type": "string", + "enum": [ + "Append", + "Overwrite", + "Delete" + ], + "x-ms-enum": { + "name": "HeaderAction", + "modelAsString": true + } + }, + "headerName": { + "description": "Name of the header to modify", + "type": "string" + }, + "value": { + "description": "Value for the specified action", + "type": "string" + } + } + }, + "DeliveryRuleCacheExpirationAction": { + "description": "Defines the cache expiration action for the delivery rule.", + "x-ms-discriminator-value": "CacheExpiration", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/CacheExpirationActionParameters" + } + } + }, + "CacheExpirationActionParameters": { + "description": "Defines the parameters for the cache expiration action.", + "required": [ + "cacheBehavior", + "cacheType", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" + ] + }, + "cacheBehavior": { + "description": "Caching behavior for the requests", + "type": "string", + "enum": [ + "BypassCache", + "Override", + "SetIfMissing" + ], + "x-ms-enum": { + "name": "cacheBehavior", + "modelAsString": true + } + }, + "cacheType": { + "description": "The level at which the content needs to be cached.", + "type": "string", + "enum": [ + "All" + ], + "x-ms-enum": { + "name": "CacheType", + "modelAsString": true + } + }, + "cacheDuration": { + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string", + "x-nullable": true + } + } + }, + "DeliveryRuleCacheKeyQueryStringAction": { + "description": "Defines the cache-key query string action for the delivery rule.", + "x-ms-discriminator-value": "CacheKeyQueryString", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/CacheKeyQueryStringActionParameters" + } + } + }, + "CacheKeyQueryStringActionParameters": { + "description": "Defines the parameters for the cache-key query string action.", + "required": [ + "queryStringBehavior", + "@odata.type" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" + ] + }, + "queryStringBehavior": { + "description": "Caching behavior for the requests", + "type": "string", + "enum": [ + "Include", + "IncludeAll", + "Exclude", + "ExcludeAll" + ], + "x-ms-enum": { + "name": "queryStringBehavior", + "modelAsString": true + } + }, + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string", + "x-nullable": true + } + } + }, + "transform": { + "description": "Describes what transforms are applied before matching", + "type": "string", + "enum": [ + "Lowercase", + "Uppercase" + ], + "x-ms-enum": { + "name": "transform", + "modelAsString": true + } + }, + "DeepCreatedOrigin": { + "description": "The main origin of CDN content which is added when creating a CDN endpoint.", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Origin name", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DeepCreatedOriginProperties" + } + }, + "x-ms-azure-resource": true + }, + "DeepCreatedOriginProperties": { + "description": "Properties of the origin created on the CDN endpoint.", + "type": "object", + "required": [ + "hostName" + ], + "properties": { + "hostName": { + "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535", + "type": "integer", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535", + "type": "integer", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + } + }, + "x-ms-azure-resource": true + }, + "GeoFilter": { + "description": "Rules defining user's geo access within a CDN endpoint.", + "type": "object", + "required": [ + "relativePath", + "action", + "countryCodes" + ], + "properties": { + "relativePath": { + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" + }, + "action": { + "description": "Action of the geo filter, i.e. allow or block access.", + "enum": [ + "Block", + "Allow" + ], + "type": "string", + "x-ms-enum": { + "name": "GeoFilterActions", + "modelAsString": false + } + }, + "countryCodes": { + "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PurgeParameters": { + "type": "object", + "description": "Parameters required for content purge.", + "required": [ + "contentPaths" + ], + "properties": { + "contentPaths": { + "description": "The path to the content to be purged. Can describe a file path or a wild card directory.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "LoadParameters": { + "type": "object", + "description": "Parameters required for content load.", + "required": [ + "contentPaths" + ], + "properties": { + "contentPaths": { + "description": "The path to the content to be loaded. Path should be a relative file URL of the origin.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Origin": { + "description": "CDN origin is the source of the content being delivered via CDN. When the edge nodes represented by an endpoint do not have the requested content cached, they attempt to fetch it from one or more of the configured origins.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OriginProperties" + } + } + }, + "OriginProperties": { + "description": "The JSON object that contains the properties of the origin.", + "required": [ + "hostName" + ], + "properties": { + "hostName": { + "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "type": "integer", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + }, + "httpsPort": { + "description": "The value of the https port. Must be between 1 and 65535.", + "type": "integer", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + }, + "resourceState": { + "description": "Resource status of the origin.", + "readOnly": true, + "enum": [ + "Creating", + "Active", + "Deleting" + ], + "type": "string", + "x-ms-enum": { + "name": "OriginResourceState", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "description": "Provisioning status of the origin.", + "type": "string" + } + } + }, + "OriginUpdateParameters": { + "type": "object", + "description": "Origin properties needed for origin creation or update.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OriginPropertiesParameters" + } + }, + "x-ms-azure-resource": true + }, + "OriginPropertiesParameters": { + "description": "The JSON object that contains the properties of the origin.", + "properties": { + "hostName": { + "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "type": "integer", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "type": "integer", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + } + } + }, + "OriginListResult": { + "description": "Result of the request to list origins. It contains a list of origin objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Origin" + }, + "description": "List of CDN origins within an endpoint" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of origin objects if there are any." + } + } + }, + "CustomDomain": { + "description": "Friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes, e.g. www.contoso.com.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomDomainProperties" + } + } + }, + "CustomDomainProperties": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "required": [ + "hostName" + ], + "properties": { + "hostName": { + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" + }, + "resourceState": { + "description": "Resource status of the custom domain.", + "readOnly": true, + "enum": [ + "Creating", + "Active", + "Deleting" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomDomainResourceState", + "modelAsString": true + } + }, + "customHttpsProvisioningState": { + "description": "Provisioning status of Custom Https of the custom domain.", + "readOnly": true, + "enum": [ + "Enabling", + "Enabled", + "Disabling", + "Disabled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomHttpsProvisioningState", + "modelAsString": true + } + }, + "customHttpsProvisioningSubstate": { + "description": "Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step.", + "readOnly": true, + "enum": [ + "SubmittingDomainControlValidationRequest", + "PendingDomainControlValidationREquestApproval", + "DomainControlValidationRequestApproved", + "DomainControlValidationRequestRejected", + "DomainControlValidationRequestTimedOut", + "IssuingCertificate", + "DeployingCertificate", + "CertificateDeployed", + "DeletingCertificate", + "CertificateDeleted" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomHttpsProvisioningSubstate", + "modelAsString": true + } + }, + "customHttpsParameters": { + "description": "Certificate parameters for securing custom HTTPS", + "$ref": "#/definitions/CustomDomainHttpsParameters" + }, + "validationData": { + "description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.", + "type": "string" + }, + "provisioningState": { + "readOnly": true, + "description": "Provisioning status of the custom domain.", + "type": "string" + } + } + }, + "CustomDomainParameters": { + "description": "The customDomain JSON object required for custom domain creation or update.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomDomainPropertiesParameters" + } + } + }, + "CustomDomainPropertiesParameters": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "required": [ + "hostName" + ], + "properties": { + "hostName": { + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" + } + } + }, + "CustomDomainHttpsParameters": { + "description": "The JSON object that contains the properties to secure a custom domain.", + "discriminator": "certificateSource", + "required": [ + "certificateSource", + "protocolType" + ], + "properties": { + "certificateSource": { + "description": "Defines the source of the SSL certificate.", + "enum": [ + "AzureKeyVault", + "Cdn" + ], + "type": "string", + "x-ms-enum": { + "name": "CertificateSource", + "modelAsString": true + } + }, + "protocolType": { + "description": "Defines the TLS extension protocol that is used for secure delivery.", + "enum": [ + "ServerNameIndication", + "IPBased" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtocolType", + "modelAsString": true + } + }, + "minimumTlsVersion": { + "description": "TLS protocol version that will be used for Https", + "enum": [ + "None", + "TLS10", + "TLS12" + ], + "type": "string", + "x-ms-enum": { + "name": "minimumTlsVersion", + "modelAsString": false + } + } + } + }, + "CdnManagedHttpsParameters": { + "description": "Defines the certificate source parameters using CDN managed certificate for enabling SSL.", + "x-ms-discriminator-value": "Cdn", + "allOf": [ + { + "$ref": "#/definitions/CustomDomainHttpsParameters" + } + ], + "required": [ + "certificateSourceParameters" + ], + "properties": { + "certificateSourceParameters": { + "description": "Defines the certificate source parameters using CDN managed certificate for enabling SSL.", + "$ref": "#/definitions/CdnCertificateSourceParameters" + } + } + }, + "CdnCertificateSourceParameters": { + "description": "Defines the parameters for using CDN managed certificate for securing custom domain.", + "required": [ + "@odata.type", + "certificateType" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.CdnCertificateSourceParameters" + ] + }, + "certificateType": { + "description": "Type of certificate used", + "enum": [ + "Shared", + "Dedicated" + ], + "type": "string", + "x-ms-enum": { + "name": "CertificateType", + "modelAsString": true + } + } + } + }, + "UserManagedHttpsParameters": { + "description": "Defines the certificate source parameters using user's keyvault certificate for enabling SSL.", + "x-ms-discriminator-value": "AzureKeyVault", + "allOf": [ + { + "$ref": "#/definitions/CustomDomainHttpsParameters" + } + ], + "required": [ + "certificateSourceParameters" + ], + "properties": { + "certificateSourceParameters": { + "description": "Defines the certificate source parameters using user's keyvault certificate for enabling SSL.", + "$ref": "#/definitions/KeyVaultCertificateSourceParameters" + } + } + }, + "KeyVaultCertificateSourceParameters": { + "description": "Describes the parameters for using a user's KeyVault certificate for securing custom domain.", + "required": [ + "@odata.type", + "subscriptionId", + "resourceGroupName", + "vaultName", + "secretName", + "secretVersion", + "updateRule", + "deleteRule" + ], + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.KeyVaultCertificateSourceParameters" + ] + }, + "subscriptionId": { + "description": "Subscription Id of the user's Key Vault containing the SSL certificate", + "type": "string" + }, + "resourceGroupName": { + "description": "Resource group of the user's Key Vault containing the SSL certificate", + "type": "string" + }, + "vaultName": { + "description": "The name of the user's Key Vault containing the SSL certificate", + "type": "string" + }, + "secretName": { + "description": "The name of Key Vault Secret (representing the full certificate PFX) in Key Vault.", + "type": "string" + }, + "secretVersion": { + "description": "The version(GUID) of Key Vault Secret in Key Vault.", + "type": "string" + }, + "updateRule": { + "description": "Describes the action that shall be taken when the certificate is updated in Key Vault.", + "type": "string", + "enum": [ + "NoAction" + ], + "x-ms-enum": { + "name": "UpdateRule", + "modelAsString": true + } + }, + "deleteRule": { + "description": "Describes the action that shall be taken when the certificate is removed from Key Vault.", + "type": "string", + "enum": [ + "NoAction" + ], + "x-ms-enum": { + "name": "DeleteRule", + "modelAsString": true + } + } + } + }, + "CustomDomainListResult": { + "description": "Result of the request to list custom domains. It contains a list of custom domain objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CustomDomain" + }, + "description": "List of CDN CustomDomains within an endpoint." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of custom domain objects if there are any." + } + } + }, + "ValidateCustomDomainInput": { + "description": "Input of the custom domain to be validated for DNS mapping.", + "type": "object", + "required": [ + "hostName" + ], + "properties": { + "hostName": { + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" + } + } + }, + "ValidateCustomDomainOutput": { + "description": "Output of custom domain validation.", + "type": "object", + "properties": { + "customDomainValidated": { + "description": "Indicates whether the custom domain is valid or not.", + "readOnly": true, + "type": "boolean" + }, + "reason": { + "description": "The reason why the custom domain is not valid.", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "Error message describing why the custom domain is not valid.", + "readOnly": true, + "type": "string" + } + } + }, + "CheckNameAvailabilityInput": { + "description": "Input of CheckNameAvailability API.", + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "The resource name to validate.", + "type": "string" + }, + "type": { + "description": "The type of the resource whose name is to be validated.", + "$ref": "#/definitions/ResourceType" + } + } + }, + "CheckNameAvailabilityOutput": { + "description": "Output of check name availability API.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "Indicates whether the name is available.", + "readOnly": true, + "type": "boolean" + }, + "reason": { + "description": "The reason why the name is not available.", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "The detailed error message describing why the name is not available.", + "readOnly": true, + "type": "string" + } + } + }, + "ValidateProbeInput": { + "description": "Input of the validate probe API.", + "properties": { + "probeURL": { + "description": "The probe URL to validate.", + "type": "string" + } + }, + "required": [ + "probeURL" + ], + "type": "object" + }, + "ValidateProbeOutput": { + "description": "Output of the validate probe API.", + "properties": { + "isValid": { + "description": "Indicates whether the probe URL is accepted or not.", + "readOnly": true, + "type": "boolean" + }, + "errorCode": { + "description": "Specifies the error code when the probe url is not accepted.", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "The detailed error message describing why the probe URL is not accepted.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ResourceUsageListResult": { + "description": "Output of check resource usage API.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceUsage" + }, + "description": "List of resource usages." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of custom domain objects if there are any." + } + } + }, + "ResourceUsage": { + "description": "Output of check resource usage API.", + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "readOnly": true, + "description": "Resource type for which the usage is provided." + }, + "unit": { + "type": "string", + "readOnly": true, + "description": "Unit of the usage. e.g. Count." + }, + "currentValue": { + "type": "integer", + "readOnly": true, + "description": "Actual value of usage on the specified resource type." + }, + "limit": { + "type": "integer", + "readOnly": true, + "description": "Quota of the specified resource type." + } + } + }, + "ResourceType": { + "description": "Type of CDN resource used in CheckNameAvailability.", + "enum": [ + "Microsoft.Cdn/Profiles/Endpoints" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceType", + "modelAsString": false + } + }, + "Operation": { + "description": "CDN REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "readOnly": true, + "type": "string" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Cdn", + "readOnly": true, + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: Profile, endpoint, etc.", + "readOnly": true, + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "readOnly": true, + "type": "string" + } + } + } + } + }, + "OperationsListResult": { + "description": "Result of the request to list CDN operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of CDN operations supported by the CDN resource provider." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "EdgenodeResult": { + "description": "Result of the request to list CDN edgenodes. It contains a list of ip address group and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/EdgeNode" + }, + "description": "Edge node of CDN service." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of edgenode list results if there are any." + } + } + }, + "EdgeNode": { + "description": "Edgenode is a global Point of Presence (POP) location used to deliver CDN content to end users.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EdgeNodeProperties" + } + } + }, + "EdgeNodeProperties": { + "description": "The JSON object that contains the properties required to create an edgenode.", + "required": [ + "ipAddressGroups" + ], + "properties": { + "ipAddressGroups": { + "description": "List of ip address groups.", + "type": "array", + "items": { + "$ref": "#/definitions/IpAddressGroup" + } + } + } + }, + "IpAddressGroup": { + "description": "CDN Ip address group", + "type": "object", + "properties": { + "deliveryRegion": { + "description": "The delivery region of the ip address group", + "type": "string" + }, + "ipv4Addresses": { + "description": "The list of ip v4 addresses.", + "type": "array", + "items": { + "$ref": "#/definitions/cidrIpAddress" + } + }, + "ipv6Addresses": { + "description": "The list of ip v6 addresses.", + "type": "array", + "items": { + "$ref": "#/definitions/cidrIpAddress" + } + } + } + }, + "cidrIpAddress": { + "description": "CIDR Ip address", + "type": "object", + "properties": { + "baseIpAddress": { + "description": "Ip address itself.", + "type": "string" + }, + "prefixLength": { + "description": "The length of the prefix of the ip address.", + "type": "integer" + } + } + }, + "Resource": { + "description": "The core properties of ARM resources", + "properties": { + "id": { + "description": "Resource ID.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Resource name.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Resource type.", + "readOnly": true, + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "TrackedResource": { + "description": "The resource model definition for a ARM tracked top level resource.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + } + }, + "required": [ + "location" + ] + }, + "ProxyResource": { + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "QueryStringCachingBehavior": { + "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.", + "enum": [ + "IgnoreQueryString", + "BypassCaching", + "UseQueryString", + "NotSet" + ], + "type": "string", + "x-ms-enum": { + "name": "QueryStringCachingBehavior", + "modelAsString": false + } + }, + "Sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", + "properties": { + "name": { + "description": "Name of the pricing tier.", + "enum": [ + "Standard_Verizon", + "Premium_Verizon", + "Custom_Verizon", + "Standard_Akamai", + "Standard_ChinaCdn", + "Standard_Microsoft", + "Premium_ChinaCdn" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + } + }, + "type": "object" + }, + "OptimizationType": { + "description": "Specifies what scenario the customer wants this CDN endpoint to optimize, e.g. Download, Media services. With this information we can apply scenario driven optimization.", + "enum": [ + "GeneralWebDelivery", + "GeneralMediaStreaming", + "VideoOnDemandMediaStreaming", + "LargeFileDownload", + "DynamicSiteAcceleration" + ], + "type": "string", + "x-ms-enum": { + "name": "OptimizationType", + "modelAsString": true + } + }, + "ErrorResponse": { + "description": "Error response indicates CDN service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "readOnly": true, + "type": "string" + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Azure Subscription ID.", + "required": true, + "type": "string" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request. Current version is 2017-04-02." + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the Resource group within the Azure subscription." + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json new file mode 100644 index 000000000000..5dd299660337 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json @@ -0,0 +1,926 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-06-15", + "title": "Azure CDN WebApplicationFirewallManagement", + "description": "APIs to manage web application firewall rules for Azure CDN" + }, + "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.Cdn/CdnWebApplicationFirewallPolicies": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Lists all of the protection policies within a resource group.", + "operationId": "Policies_List", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicyList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./cdn.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Policies in a Resource Group": { + "$ref": "./examples/WafListPolicies.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/{policyName}": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Retrieve protection policy with specified name within a resource group.", + "operationId": "Policies_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PolicyNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./cdn.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Policy": { + "$ref": "./examples/WafPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Create or update policy with specified rule set name within a resource group.", + "operationId": "Policies_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PolicyNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "description": "Policy to be created.", + "in": "body", + "name": "cdnWebApplicationFirewallPolicy", + "required": true, + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new protection policy has been created.", + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./cdn.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Creates specific policy": { + "$ref": "./examples/WafPolicyCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Update an existing CdnWebApplicationFirewallPolicy with the specified policy name under the specified subscription and resource group", + "operationId": "Policies_Update", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PolicyNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "description": "CdnWebApplicationFirewallPolicy parameters to be patched.", + "in": "body", + "name": "cdnWebApplicationFirewallPolicyPatchParameters", + "required": true, + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicyPatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./cdn.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Creates specific policy": { + "$ref": "./examples/WafPatchPolicy.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Deletes Policy", + "operationId": "Policies_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PolicyNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "204": { + "description": "No Content. The request has been accepted but the policy was not found." + } + }, + "x-ms-examples": { + "Delete protection policy": { + "$ref": "./examples/WafPolicyDelete.json" + } + }, + "x-ms-long-running-operation": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/CdnWebApplicationFirewallManagedRuleSets": { + "get": { + "tags": [ + "WebApplicationFirewallManagedRuleSets" + ], + "description": "Lists all available managed rule sets.", + "operationId": "ManagedRuleSets_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of all available web application firewall managed rule sets.", + "schema": { + "$ref": "#/definitions/ManagedRuleSetDefinitionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./cdn.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Policies in a Resource Group": { + "$ref": "./examples/WafListManagedRuleSets.json" + } + } + } + } + }, + "definitions": { + "CdnWebApplicationFirewallPolicyList": { + "description": "Defines a list of WebApplicationFirewallPolicies for Azure CDN. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" + }, + "description": "List of Azure CDN WebApplicationFirewallPolicies within a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of WebApplicationFirewallPolicy objects if there are any." + } + } + }, + "CdnWebApplicationFirewallPolicy": { + "description": "Defines web application firewall policy for Azure CDN.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties of the web application firewall policy.", + "$ref": "#/definitions/CdnWebApplicationFirewallPolicyProperties" + }, + "etag": { + "type": "string", + "description": "Gets a unique read-only string that changes whenever the resource is updated." + }, + "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.", + "$ref": "./cdn.json#/definitions/Sku" + } + }, + "required": [ + "sku" + ], + "allOf": [ + { + "$ref": "./cdn.json#/definitions/TrackedResource" + } + ] + }, + "CdnWebApplicationFirewallPolicyPatchParameters": { + "type": "object", + "description": "Properties required to update a CdnWebApplicationFirewallPolicy.", + "properties": { + "tags": { + "description": "CdnWebApplicationFirewallPolicy tags", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-azure-resource": true + }, + "CdnWebApplicationFirewallPolicyProperties": { + "description": "Defines CDN web application firewall policy properties.", + "properties": { + "policySettings": { + "description": "Describes policySettings for policy", + "$ref": "#/definitions/policySettings" + }, + "rateLimitRules": { + "description": "Describes rate limit rules inside the policy.", + "$ref": "#/definitions/RateLimitRuleList" + }, + "customRules": { + "description": "Describes custom rules inside the policy.", + "$ref": "#/definitions/CustomRuleList" + }, + "managedRules": { + "description": "Describes managed rules inside the policy.", + "$ref": "#/definitions/ManagedRuleSetList" + }, + "endpointLinks": { + "description": "Describes Azure CDN endpoints associated with this Web Application Firewall policy.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CdnEndpoint" + } + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the WebApplicationFirewallPolicy.", + "enum": [ + "Creating", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "resourceState": { + "title": "Resource status of the policy.", + "readOnly": true, + "enum": [ + "Creating", + "Enabling", + "Enabled", + "Disabling", + "Disabled", + "Deleting" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyResourceState", + "modelAsString": true + } + } + } + }, + "policySettings": { + "description": "Defines contents of a web application firewall global configuration", + "properties": { + "enabledState": { + "description": "describes if the policy is in enabled state or disabled state", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "PolicyEnabledState", + "modelAsString": true + } + }, + "mode": { + "description": "Describes if it is in detection mode or prevention mode at policy level.", + "type": "string", + "enum": [ + "Prevention", + "Detection" + ], + "x-ms-enum": { + "name": "PolicyMode", + "modelAsString": true + } + }, + "defaultRedirectUrl": { + "description": "If action type is redirect, this field represents the default redirect URL for the client.", + "type": "string" + }, + "defaultCustomBlockResponseStatusCode": { + "description": "If the action type is block, this field defines the default customer overridable http response status code.", + "type": "integer", + "enum": [ + 200, + 403, + 405, + 406, + 429 + ] + }, + "defaultCustomBlockResponseBody": { + "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.", + "type": "string", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + } + } + }, + "CdnEndpoint": { + "description": "Defines the ARM Resource ID for the linked endpoints", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "ARM Resource ID string." + } + } + }, + "CustomRuleList": { + "description": "Defines contents of custom rules", + "properties": { + "rules": { + "description": "List of rules", + "type": "array", + "items": { + "$ref": "#/definitions/CustomRule" + } + } + } + }, + "CustomRule": { + "description": "Defines the common attributes for a custom rule that can be included in a waf policy", + "type": "object", + "required": [ + "name", + "priority", + "matchConditions", + "action" + ], + "properties": { + "name": { + "description": "Defines the name of the custom rule", + "type": "string" + }, + "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "CustomRuleEnabledState", + "modelAsString": true + } + }, + "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", + "type": "integer", + "maximum": 1000, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false + }, + "matchConditions": { + "description": "List of match conditions.", + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + } + }, + "action": { + "description": "Describes what action to be applied when rule matches", + "$ref": "#/definitions/ActionType" + } + } + }, + "RateLimitRuleList": { + "description": "Defines contents of rate limit rules", + "properties": { + "rules": { + "description": "List of rules", + "type": "array", + "items": { + "$ref": "#/definitions/RateLimitRule" + } + } + } + }, + "RateLimitRule": { + "description": "Defines a rate limiting rule that can be included in a waf policy", + "type": "object", + "required": [ + "rateLimitThreshold", + "rateLimitDurationInMinutes" + ], + "properties": { + "rateLimitThreshold": { + "description": "Defines rate limit threshold.", + "type": "integer", + "minimum": 0, + "exclusiveMinimum": false + }, + "rateLimitDurationInMinutes": { + "description": "Defines rate limit duration. Default is 1 minute.", + "type": "integer", + "maximum": 60, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false + } + }, + "allOf": [ + { + "$ref": "#/definitions/CustomRule" + } + ] + }, + "MatchCondition": { + "description": "Define match conditions", + "required": [ + "matchVariable", + "operator", + "matchValue" + ], + "properties": { + "matchVariable": { + "description": "Match variable to compare against.", + "type": "string", + "enum": [ + "RemoteAddr", + "SocketAddr", + "RequestMethod", + "RequestHeader", + "RequestUri", + "QueryString", + "RequestBody", + "Cookies", + "PostArgs" + ], + "x-ms-enum": { + "name": "MatchVariable", + "modelAsString": true + } + }, + "selector": { + "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.", + "type": "string" + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "IPMatch", + "GeoMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "RegEx" + ], + "x-ms-enum": { + "name": "operator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if the result of this condition should be negated.", + "type": "boolean" + }, + "matchValue": { + "description": "List of possible match values.", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms.", + "type": "array", + "items": { + "$ref": "#/definitions/TransformType" + } + } + } + }, + "TransformType": { + "description": "Describes what transforms were applied before matching.", + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "x-ms-enum": { + "name": "TransformType", + "modelAsString": true + } + }, + "ManagedRuleSetList": { + "description": "Defines the list of managed rule sets for the policy.", + "properties": { + "managedRuleSets": { + "description": "List of rule sets.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleSet" + } + } + } + }, + "ManagedRuleSet": { + "type": "object", + "description": "Defines a managed rule set.", + "required": [ + "ruleSetType", + "ruleSetVersion" + ], + "properties": { + "ruleSetType": { + "description": "Defines the rule set type to use.", + "type": "string" + }, + "ruleSetVersion": { + "description": "Defines the version of the rule set to use.", + "type": "string" + }, + "anomalyScore": { + "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests.", + "type": "integer", + "maximum": 20, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false + }, + "ruleGroupOverrides": { + "description": "Defines the rule overrides to apply to the rule set.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleGroupOverride" + } + } + } + }, + "ManagedRuleGroupOverride": { + "description": "Defines a managed rule group override setting.", + "required": [ + "ruleGroupName" + ], + "properties": { + "ruleGroupName": { + "description": "Describes the managed rule group within the rule set to override", + "type": "string" + }, + "rules": { + "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleOverride" + } + } + } + }, + "ManagedRuleOverride": { + "description": "Defines a managed rule group override setting.", + "required": [ + "ruleId" + ], + "properties": { + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + }, + "enabledState": { + "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "ManagedRuleEnabledState", + "modelAsString": true + } + }, + "action": { + "description": "Describes the override action to be applied when rule matches.", + "$ref": "#/definitions/ActionType" + } + } + }, + "ManagedRuleSetDefinitionList": { + "description": "List of managed rule set definitions available for use in a policy.", + "properties": { + "value": { + "description": "List of managed rule set definitions.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleSetDefinition" + } + }, + "nextLink": { + "type": "string", + "description": "URL to retrieve next set of managed rule set definitions." + } + } + }, + "ManagedRuleSetDefinition": { + "description": "Describes a managed rule set definition.", + "properties": { + "properties": { + "description": "Describes managed rule set definition properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagedRuleSetDefinitionProperties" + }, + "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.", + "$ref": "./cdn.json#/definitions/Sku" + } + }, + "allOf": [ + { + "$ref": "./cdn.json#/definitions/Resource" + } + ] + }, + "ManagedRuleSetDefinitionProperties": { + "description": "Properties for a managed rule set definition.", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Provisioning state of the managed rule set." + }, + "ruleSetType": { + "type": "string", + "readOnly": true, + "description": "Type of the managed rule set." + }, + "ruleSetVersion": { + "type": "string", + "readOnly": true, + "description": "Version of the managed rule set type." + }, + "ruleGroups": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ManagedRuleGroupDefinition" + }, + "description": "Rule groups of the managed rule set." + } + } + }, + "ManagedRuleGroupDefinition": { + "description": "Describes a managed rule group.", + "properties": { + "ruleGroupName": { + "type": "string", + "readOnly": true, + "description": "Name of the managed rule group." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Description of the managed rule group." + }, + "rules": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ManagedRuleDefinition" + }, + "description": "List of rules within the managed rule group." + } + } + }, + "ManagedRuleDefinition": { + "description": "Describes a managed rule definition.", + "properties": { + "ruleId": { + "description": "Identifier for the managed rule.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Describes the functionality of the managed rule.", + "readOnly": true, + "type": "string" + } + } + }, + "ActionType": { + "description": "Defines the action to take on rule match.", + "type": "string", + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Azure Subscription ID.", + "required": true, + "type": "string" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request. Current version is 2017-04-02." + }, + "PolicyNameParameter": { + "name": "policyName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 128, + "x-ms-parameter-location": "method", + "description": "The name of the CdnWebApplicationFirewallPolicy." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$", + "minLength": 1, + "maxLength": 80, + "x-ms-parameter-location": "method", + "description": "Name of the Resource group within the Azure subscription." + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CheckNameAvailability.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..2b96a7206b92 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CheckNameAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "checkNameAvailabilityInput": { + "name": "sampleName", + "type": "Microsoft.Cdn/Profiles/Endpoints" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "Name is already in use", + "message": "Name not available" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CheckNameAvailabilityWithSubscription.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CheckNameAvailabilityWithSubscription.json new file mode 100644 index 000000000000..c0c3b1b13ad7 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CheckNameAvailabilityWithSubscription.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "checkNameAvailabilityInput": { + "name": "sampleName", + "type": "Microsoft.Cdn/Profiles/Endpoints" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "Name is already in use", + "message": "Name not available" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_Create.json new file mode 100644 index 000000000000..8929b9d3daa4 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_Create.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainName": "www-someDomain-net", + "customDomainProperties": { + "properties": { + "hostName": "www.someDomain.net" + } + } + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabling", + "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval", + "validationData": null + } + } + }, + "201": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabling", + "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval", + "validationData": null + } + } + }, + "202": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabling", + "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval", + "validationData": null + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_Delete.json new file mode 100644 index 000000000000..1763355d6bd9 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_Delete.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainName": "www-someDomain-net" + }, + "responses": { + "200": {}, + "202": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabling", + "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval", + "validationData": null + } + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_DisableCustomHttps.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_DisableCustomHttps.json new file mode 100644 index 000000000000..f1d21c2526f9 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_DisableCustomHttps.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainName": "www-someDomain-net" + }, + "responses": { + "200": {}, + "202": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabling", + "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval", + "validationData": null + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json new file mode 100644 index 000000000000..68f5dd4d2b3a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainName": "www-someDomain-net", + "customHttpsParameters": { + "certificateSource": "AzureKeyVault", + "protocolType": "ServerNameIndication", + "certificateSourceParameters": { + "OData.type": "#Microsoft.Azure.Cdn.Models.KeyVaultCertificateSourceParameters", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "vaultName": "kv", + "secretName": "secret1", + "secretVersion": "00000000-0000-0000-0000-000000000000", + "updateRule": "NoAction", + "deleteRule": "NoAction" + } + } + }, + "responses": { + "200": {}, + "202": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabling", + "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval", + "validationData": "validationdata" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json new file mode 100644 index 000000000000..72580d85a0fe --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainName": "www-someDomain-net", + "customHttpsParameters": { + "certificateSource": "Cdn", + "protocolType": "ServerNameIndication", + "certificateSourceParameters": { + "OData.type": "#Microsoft.Azure.Cdn.Models.CdnCertificateSourceParameters", + "certificateType": "Shared" + } + } + }, + "responses": { + "200": {}, + "202": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabling", + "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval", + "validationData": "validationdata" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_Get.json new file mode 100644 index 000000000000..14bd1123ab53 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainName": "www-someDomain-net" + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Disabled", + "customHttpsProvisioningSubstate": "None", + "validationData": null + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_ListByEndpoint.json new file mode 100644 index 000000000000..93eab948f18d --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/CustomDomains_ListByEndpoint.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Disabled", + "customHttpsProvisioningSubstate": "None", + "validationData": null + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/EdgeNodes_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/EdgeNodes_List.json new file mode 100644 index 000000000000..6a6392c86c0d --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/EdgeNodes_List.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2019-06-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Standard_Verizon", + "id": "/providers/Microsoft.Cdn/edgenodes/Standard_Verizon", + "type": "Microsoft.Cdn/edgenodes", + "properties": { + "ipAddressGroups": [ + { + "deliveryRegion": "All", + "ipv4Addresses": [ + { + "baseIpAddress": "192.229.176.0", + "prefixLength": 24 + }, + { + "baseIpAddress": "180.240.184.128", + "prefixLength": 25 + }, + { + "baseIpAddress": "152.195.27.0", + "prefixLength": 24 + } + ], + "ipv6Addresses": [ + { + "baseIpAddress": "2606:2800:60f2::", + "prefixLength": 48 + }, + { + "baseIpAddress": "2606:2800:700c::", + "prefixLength": 48 + } + ] + } + ] + } + }, + { + "name": "Premium_Verizon", + "id": "/providers/Microsoft.Cdn/edgenodes/Premium_Verizon", + "type": "Microsoft.Cdn/edgenodes", + "properties": { + "ipAddressGroups": [ + { + "deliveryRegion": "All", + "ipv4Addresses": [ + { + "baseIpAddress": "192.229.176.0", + "prefixLength": 24 + }, + { + "baseIpAddress": "152.195.27.0", + "prefixLength": 24 + } + ], + "ipv6Addresses": [ + { + "baseIpAddress": "2606:2800:60f2::", + "prefixLength": 48 + }, + { + "baseIpAddress": "2606:2800:700c::", + "prefixLength": 48 + } + ] + } + ] + } + }, + { + "name": "Custom_Verizon", + "id": "/providers/Microsoft.Cdn/edgenodes/Custom_Verizon", + "type": "Microsoft.Cdn/edgenodes", + "properties": { + "ipAddressGroups": [ + { + "deliveryRegion": "All", + "ipv4Addresses": [ + { + "baseIpAddress": "192.229.176.0", + "prefixLength": 24 + }, + { + "baseIpAddress": "2606:2800:420b::", + "prefixLength": 48 + }, + { + "baseIpAddress": "2606:2800:700c::", + "prefixLength": 48 + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Create.json new file mode 100644 index 000000000000..90abc4a43fa2 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Create.json @@ -0,0 +1,377 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "endpoint": { + "properties": { + "originHostHeader": "www.bing.com", + "originPath": "/photos", + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true, + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "BypassCaching", + "deliveryPolicy": { + "description": "Test description for a policy.", + "rules": [ + { + "name": "rule1", + "order": 1, + "conditions": [ + { + "name": "RemoteAddress", + "parameters": { + "operator": "IPMatch", + "negateCondition": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" + } + } + ], + "actions": [ + { + "name": "CacheExpiration", + "parameters": { + "cacheBehavior": "Override", + "cacheDuration": "10:10:09", + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters", + "cacheType": "All" + } + }, + { + "name": "ModifyResponseHeader", + "parameters": { + "headerAction": "Overwrite", + "headerName": "Access-Control-Allow-Origin", + "value": "*", + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" + } + }, + { + "name": "ModifyRequestHeader", + "parameters": { + "headerAction": "Overwrite", + "headerName": "Accept-Encoding", + "value": "gzip", + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" + } + } + ] + } + ] + }, + "origins": [ + { + "name": "origin1", + "properties": { + "hostName": "host1.hello.com" + } + } + ], + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/cdnWafPolicy1" + } + }, + "location": "WestUs", + "tags": { + "kay1": "value1" + } + } + }, + "responses": { + "200": { + "body": { + "name": "endpoint4899", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "kay1": "value1" + }, + "location": "WestUs", + "properties": { + "hostName": "endpoint4899.azureedge-test.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Creating", + "resourceState": "Creating", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "BypassCaching", + "originPath": "/photos", + "origins": [ + { + "name": "origin1", + "properties": { + "hostName": "host1.hello.com", + "httpPort": null, + "httpsPort": null + } + } + ], + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true, + "optimizationType": null, + "probePath": null, + "geoFilters": [], + "deliveryPolicy": { + "description": "Test description for a policy.", + "rules": [ + { + "name": "rule1", + "order": 1, + "conditions": [ + { + "name": "RemoteAddress", + "parameters": { + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters", + "operator": "IPMatch", + "negateCondition": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + } + ], + "actions": [ + { + "name": "CacheExpiration", + "parameters": { + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters", + "cacheBehavior": "Override", + "cacheDuration": "10:10:09", + "cacheType": "All" + } + }, + { + "name": "ModifyResponseHeader", + "parameters": { + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Access-Control-Allow-Origin", + "value": "*" + } + }, + { + "name": "ModifyRequestHeader", + "parameters": { + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Accept-Encoding", + "value": "gzip" + } + } + ] + } + ] + }, + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/cdnWafPolicy1" + } + } + } + }, + "201": { + "body": { + "name": "endpoint4899", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "kay1": "value1" + }, + "location": "WestUs", + "properties": { + "hostName": "endpoint4899.azureedge-test.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Creating", + "resourceState": "Creating", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "BypassCaching", + "originPath": "/photos", + "origins": [ + { + "name": "origin1", + "properties": { + "hostName": "host1.hello.com", + "httpPort": null, + "httpsPort": null + } + } + ], + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true, + "optimizationType": null, + "probePath": null, + "geoFilters": [], + "deliveryPolicy": { + "description": "Test description for a policy.", + "rules": [ + { + "name": "rule1", + "order": 1, + "conditions": [ + { + "name": "RemoteAddress", + "parameters": { + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters", + "operator": "IPMatch", + "negateCondition": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + } + ], + "actions": [ + { + "name": "CacheExpiration", + "parameters": { + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters", + "cacheBehavior": "Override", + "cacheDuration": "10:10:09", + "cacheType": "All" + } + }, + { + "name": "ModifyResponseHeader", + "parameters": { + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Access-Control-Allow-Origin", + "value": "*" + } + }, + { + "name": "ModifyRequestHeader", + "parameters": { + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Accept-Encoding", + "value": "gzip" + } + } + ] + } + ] + }, + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/cdnWafPolicy1" + } + } + } + }, + "202": { + "body": { + "name": "endpoint4899", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "kay1": "value1" + }, + "location": "WestUs", + "properties": { + "hostName": "endpoint4899.azureedge-test.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Creating", + "resourceState": "Creating", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "BypassCaching", + "originPath": "/photos", + "origins": [ + { + "name": "origin1", + "properties": { + "hostName": "host1.hello.com", + "httpPort": null, + "httpsPort": null + } + } + ], + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true, + "optimizationType": null, + "probePath": null, + "geoFilters": [], + "deliveryPolicy": { + "description": "Test description for a policy.", + "rules": [ + { + "name": "rule1", + "order": 1, + "conditions": [ + { + "name": "RemoteAddress", + "parameters": { + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters", + "operator": "IPMatch", + "negateCondition": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + } + ], + "actions": [ + { + "name": "CacheExpiration", + "parameters": { + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters", + "cacheBehavior": "Override", + "cacheDuration": "10:10:09", + "cacheType": "All" + } + }, + { + "name": "ModifyResponseHeader", + "parameters": { + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Access-Control-Allow-Origin", + "value": "*" + } + }, + { + "name": "ModifyRequestHeader", + "parameters": { + "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Accept-Encoding", + "value": "gzip" + } + } + ] + } + ] + }, + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/cdnWafPolicy1" + } + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Delete.json new file mode 100644 index 000000000000..95f06c69a84c --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Get.json new file mode 100644 index 000000000000..d526f887045f --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Get.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": {}, + "location": "CentralUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Succeeded", + "resourceState": "Running", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "NotSet", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443 + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": "DynamicSiteAcceleration", + "probePath": "/image", + "geoFilters": [], + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/cdnWafPolicy1" + } + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_ListByProfile.json new file mode 100644 index 000000000000..9c8811f1a5a2 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_ListByProfile.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": {}, + "location": "CentralUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Succeeded", + "resourceState": "Running", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "NotSet", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443 + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": "DynamicSiteAcceleration", + "probePath": "/image", + "geoFilters": [], + "webApplicationFirewallPolicyLink": null + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_ListResourceUsage.json new file mode 100644 index 000000000000..896e73cbf94c --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_ListResourceUsage.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "customdomain", + "unit": "count", + "currentValue": 1, + "limit": 20 + }, + { + "resourceType": "geofilter", + "unit": "count", + "currentValue": 0, + "limit": 25 + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_LoadContent.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_LoadContent.json new file mode 100644 index 000000000000..ab4ce8b77ff4 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_LoadContent.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "contentFilePaths": { + "contentPaths": [ + "/folder1" + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_PurgeContent.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_PurgeContent.json new file mode 100644 index 000000000000..ab4ce8b77ff4 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_PurgeContent.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "contentFilePaths": { + "contentPaths": [ + "/folder1" + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Start.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Start.json new file mode 100644 index 000000000000..95393054d8aa --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Start.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "name": "endpoint4899", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "kay1": "value1" + }, + "location": "WestUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Succeeded", + "resourceState": "Starting", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "NotSet", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443 + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": "DynamicSiteAcceleration", + "probePath": "/image", + "geoFilters": [], + "webApplicationFirewallPolicyLink": null + } + } + }, + "202": { + "body": { + "name": "endpoint4899", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "kay1": "value1" + }, + "location": "WestUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Succeeded", + "resourceState": "Starting", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "NotSet", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443 + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": "DynamicSiteAcceleration", + "probePath": "/image", + "geoFilters": [], + "webApplicationFirewallPolicyLink": null + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Stop.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Stop.json new file mode 100644 index 000000000000..64d81d581402 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Stop.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "name": "endpoint4899", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "kay1": "value1" + }, + "location": "WestUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Succeeded", + "resourceState": "Stopping", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "NotSet", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443 + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": "DynamicSiteAcceleration", + "probePath": "/image", + "geoFilters": [], + "webApplicationFirewallPolicyLink": null + } + } + }, + "202": { + "body": { + "name": "endpoint4899", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "kay1": "value1" + }, + "location": "WestUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Succeeded", + "resourceState": "Stopping", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "NotSet", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443 + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": "DynamicSiteAcceleration", + "probePath": "/image", + "geoFilters": [], + "webApplicationFirewallPolicyLink": null + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Update.json new file mode 100644 index 000000000000..3050f09b2ba6 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_Update.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "endpointUpdateProperties": { + "tags": { + "additionalProperties": "Tag1" + }, + "properties": { + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy2" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "additionalProperties": "Tag1" + }, + "location": "WestCentralUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": null, + "provisioningState": "Creating", + "resourceState": "Creating", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "IgnoreQueryString", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443 + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": null, + "probePath": null, + "geoFilters": [], + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy2" + } + } + } + }, + "202": { + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "additionalProperties": "Tag1" + }, + "location": "WestCentralUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": null, + "provisioningState": "Creating", + "resourceState": "Creating", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "IgnoreQueryString", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443 + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": null, + "probePath": null, + "geoFilters": [], + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy2" + } + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_ValidateCustomDomain.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_ValidateCustomDomain.json new file mode 100644 index 000000000000..ff001cf6687a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Endpoints_ValidateCustomDomain.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainProperties": { + "hostName": "www.someDomain.com" + } + }, + "responses": { + "200": { + "body": { + "customDomainValidated": true, + "message": null, + "reason": null + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Operations_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Operations_List.json new file mode 100644 index 000000000000..081de51e65db --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Operations_List.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2019-06-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Cdn/register/action", + "display": { + "provider": "Microsoft.Cdn", + "resource": "Microsoft.Cdn Resource Provider", + "operation": "Registers the Microsoft.Cdn Resource Provider" + } + }, + { + "name": "Microsoft.Cdn/edgenodes/read", + "display": { + "provider": "Microsoft.Cdn", + "resource": "EdgeNode", + "operation": "read" + } + }, + { + "name": "Microsoft.Cdn/edgenodes/write", + "display": { + "provider": "Microsoft.Cdn", + "resource": "EdgeNode", + "operation": "write" + } + }, + { + "name": "Microsoft.Cdn/edgenodes/delete", + "display": { + "provider": "Microsoft.Cdn", + "resource": "EdgeNode", + "operation": "delete" + } + }, + { + "name": "Microsoft.Cdn/profiles/read", + "display": { + "provider": "Microsoft.Cdn", + "resource": "Profile", + "operation": "read" + } + }, + { + "name": "Microsoft.Cdn/profiles/write", + "display": { + "provider": "Microsoft.Cdn", + "resource": "Profile", + "operation": "write" + } + }, + { + "name": "Microsoft.Cdn/operationresults/profileresults/write", + "display": { + "provider": "Microsoft.Cdn", + "resource": "Profile", + "operation": "write" + } + }, + { + "name": "Microsoft.Cdn/operationresults/profileresults/delete", + "display": { + "provider": "Microsoft.Cdn", + "resource": "Profile", + "operation": "delete" + } + }, + { + "name": "Microsoft.Cdn/operationresults/profileresults/CheckResourceUsage/action", + "display": { + "provider": "Microsoft.Cdn", + "resource": "Profile", + "operation": "CheckResourceUsage" + } + }, + { + "name": "Microsoft.Cdn/operationresults/profileresults/GenerateSsoUri/action", + "display": { + "provider": "Microsoft.Cdn", + "resource": "Profile", + "operation": "GenerateSsoUri" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Origins_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Origins_Get.json new file mode 100644 index 000000000000..fdd5dbb71875 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Origins_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originName": "www-someDomain-net" + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "location": "WestUs", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "httpPort": null, + "httpsPort": null + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Origins_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Origins_ListByEndpoint.json new file mode 100644 index 000000000000..2a7d21ac4410 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Origins_ListByEndpoint.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "www-someDomain-net", + "location": "WestUs", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "httpPort": null, + "httpsPort": null + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Origins_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Origins_Update.json new file mode 100644 index 000000000000..d44cd8cd16a3 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Origins_Update.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originName": "www-someDomain-net", + "originUpdateProperties": { + "properties": { + "httpPort": 42, + "httpsPort": 43 + } + } + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "location": "WestUs", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "httpPort": 42, + "httpsPort": 43 + } + } + }, + "202": { + "body": { + "name": "www-someDomain-net", + "location": "WestUs", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "httpPort": 42, + "httpsPort": 43 + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_Create.json new file mode 100644 index 000000000000..d41d40645002 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_Create.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "profile": { + "location": "WestCentralUs", + "sku": { + "name": "Standard_Verizon" + } + } + }, + "responses": { + "200": { + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "WestCentralUs", + "sku": { + "name": "Standard_Verizon" + }, + "properties": { + "provisioningState": "Creating", + "resourceState": "Creating" + } + } + }, + "201": { + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "WestCentralUs", + "sku": { + "name": "Standard_Verizon" + }, + "properties": { + "provisioningState": "Creating", + "resourceState": "Creating" + } + } + }, + "202": { + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "WestCentralUs", + "sku": { + "name": "Standard_Verizon" + }, + "properties": { + "provisioningState": "Creating", + "resourceState": "Creating" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_Delete.json new file mode 100644 index 000000000000..5b4325394d1d --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_GenerateSsoUri.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_GenerateSsoUri.json new file mode 100644 index 000000000000..4f22d15171d1 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_GenerateSsoUri.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "ssoUriValue": "https://someuri.com" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_Get.json new file mode 100644 index 000000000000..c519c6c128c9 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "WestCentralUs", + "sku": { + "name": "Standard_Akamai" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_List.json new file mode 100644 index 000000000000..51fa44ed1edc --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_List.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG1/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "WestCentralUs", + "sku": { + "name": "Standard_Akamai" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active" + } + }, + { + "name": "profile2", + "id": "/subscriptions/subid/resourcegroups/RG1/providers/Microsoft.Cdn/profiles/profile2", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "WestCentralUs", + "sku": { + "name": "Standard_Akamai" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_ListByResourceGroup.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_ListByResourceGroup.json new file mode 100644 index 000000000000..7158dca4b260 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_ListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "WestCentralUs", + "sku": { + "name": "Standard_Akamai" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active" + } + }, + { + "name": "profile2", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile2", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "WestCentralUs", + "sku": { + "name": "Standard_Akamai" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_ListResourceUsage.json new file mode 100644 index 000000000000..5c0e616e0663 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_ListResourceUsage.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "endpoint", + "unit": "count", + "currentValue": 0, + "limit": 25 + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_ListSupportedOptimizationTypes.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_ListSupportedOptimizationTypes.json new file mode 100644 index 000000000000..96c28271c160 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_ListSupportedOptimizationTypes.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "supportedOptimizationTypes": [ + "GeneralWebDelivery", + "DynamicSiteAcceleration" + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_Update.json new file mode 100644 index 000000000000..7e01f44177a3 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/Profiles_Update.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "profileUpdateParameters": { + "tags": { + "additionalProperties": "Tag1" + } + } + }, + "responses": { + "200": { + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": { + "additionalProperties": "Tag1" + }, + "location": "WestCentralUs", + "sku": { + "name": "Standard_Verizon" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + }, + "202": { + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": { + "additionalProperties": "Tag1" + }, + "location": "WestCentralUs", + "sku": { + "name": "Standard_Verizon" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/ResourceUsage_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/ResourceUsage_List.json new file mode 100644 index 000000000000..c0804515e562 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/ResourceUsage_List.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "profile", + "unit": "count", + "currentValue": 31, + "limit": 200 + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/ValidateProbe.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/ValidateProbe.json new file mode 100644 index 000000000000..3ffb4c86b32b --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/ValidateProbe.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "validateProbeInput": { + "probeURL": "https://www.bing.com/image" + } + }, + "responses": { + "200": { + "body": { + "isValid": true, + "errorCode": "None", + "message": null + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafListManagedRuleSets.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafListManagedRuleSets.json new file mode 100644 index 000000000000..a4c343b3b81d --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafListManagedRuleSets.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "DefaultRuleSet_1.0", + "id": "/subscriptions/subid/providers/Microsoft.Cdn/CdnWebApplicationFirewallManagedRuleSets", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallmanagedrulesets", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "provisioningState": "Succeeded", + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroups": [ + { + "ruleGroupName": "Group1", + "description": "Description for rule group 1.", + "rules": [ + { + "ruleId": "GROUP1-0001", + "description": "Generic managed web application firewall rule." + }, + { + "ruleId": "GROUP1-0002", + "description": "Generic managed web application firewall rule." + } + ] + }, + { + "ruleGroupName": "Group2", + "description": "Description for rule group 2.", + "rules": [ + { + "ruleId": "GROUP2-0001", + "description": "Generic managed web application firewall rule." + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafListPolicies.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafListPolicies.json new file mode 100644 index 000000000000..fe06b030ca50 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafListPolicies.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "MicrosoftCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 429, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2" + } + ] + } + }, + { + "name": "VerizonStandardCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/VerizonStandardCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Verizon" + }, + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 429, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "ECRS", + "ruleSetVersion": "2018-11-2", + "ruleGroupOverrides": [ + { + "ruleGroupName": "XSS", + "rules": [ + { + "ruleId": "XSS-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "XSS-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint3" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafPatchPolicy.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafPatchPolicy.json new file mode 100644 index 000000000000..097f3387a82b --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafPatchPolicy.json @@ -0,0 +1,272 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "MicrosoftCdnWafPolicy", + "cdnWebApplicationFirewallPolicyPatchParameters": { + "tags": { + "foo": "bar" + } + } + }, + "responses": { + "200": { + "body": { + "name": "MicrosoftCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "foo": "bar" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 403, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2" + } + ] + } + } + }, + "202": { + "body": { + "name": "MicrosoftCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "resourceState": "Creating", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 403, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2" + } + ] + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafPolicyCreateOrUpdate.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafPolicyCreateOrUpdate.json new file mode 100644 index 000000000000..39cccc946483 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafPolicyCreateOrUpdate.json @@ -0,0 +1,505 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "MicrosoftCdnWafPolicy", + "cdnWebApplicationFirewallPolicy": { + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "policySettings": { + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 200, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "MicrosoftCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 200, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2" + } + ] + } + } + }, + "201": { + "body": { + "name": "MicrosoftCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 200, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2" + } + ] + } + } + }, + "202": { + "body": { + "name": "MicrosoftCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "resourceState": "Creating", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 200, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 3, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2" + } + ] + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafPolicyDelete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafPolicyDelete.json new file mode 100644 index 000000000000..d5dfe788d78f --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafPolicyDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafPolicyGet.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafPolicyGet.json new file mode 100644 index 000000000000..2525da1d6fb4 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/examples/WafPolicyGet.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "api-version": "2019-06-15", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "MicrosoftCdnWafPolicy" + }, + "responses": { + "200": { + "body": { + "name": "MicrosoftCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 429, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2" + } + ] + } + } + } + } +} diff --git a/specification/cdn/resource-manager/readme.md b/specification/cdn/resource-manager/readme.md index ac6e2f874a2f..571089bf2d7b 100644 --- a/specification/cdn/resource-manager/readme.md +++ b/specification/cdn/resource-manager/readme.md @@ -28,7 +28,7 @@ These are the global settings for the Cdn API. title: CdnManagementClient description: Cdn Management Client openapi-type: arm -tag: package-2019-04 +tag: package-2019-06 ``` ### Tag: package-2019-12 @@ -46,6 +46,16 @@ These settings apply only when `--tag=package-2019-06` is specified on the comma ``` yaml $(tag) == 'package-2019-06' input-file: +- Microsoft.Cdn/stable/2019-06-15/cdn.json +- Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json +``` + +### Tag: package-2019-06-preview + +These settings apply only when `--tag=package-2019-06-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2019-06-preview' +input-file: - Microsoft.Cdn/preview/2019-06-15-preview/cdn.json - Microsoft.Cdn/preview/2019-06-15-preview/cdnwebapplicationfirewall.json directive: diff --git a/specification/cdn/resource-manager/readme.ruby.md b/specification/cdn/resource-manager/readme.ruby.md index e120956e650c..7d3f03852d62 100644 --- a/specification/cdn/resource-manager/readme.ruby.md +++ b/specification/cdn/resource-manager/readme.ruby.md @@ -4,7 +4,7 @@ These settings apply only when `--ruby` is specified on the command line. ``` yaml package-name: azure_mgmt_cdn -package-version: "0.16.0" +package-version: "0.17.0" azure-arm: true ``` @@ -12,6 +12,8 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2019-06 + - tag: package-2019-04 - tag: package-2017-10 - tag: package-2017-04 - tag: package-2016-10 @@ -19,6 +21,26 @@ batch: - tag: package-2015-06 ``` +### Tag: package-2019-06 and ruby + +These settings apply only when `--tag=package-2019-06 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2019-06' && $(ruby) +namespace: "Azure::CDN::Mgmt::V2019_06_15" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_cdn/lib +``` + +### Tag: package-2019-04 and ruby + +These settings apply only when `--tag=package-2019-04 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2019-04' && $(ruby) +namespace: "Azure::CDN::Mgmt::V2019_04_15" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_cdn/lib +``` + ### Tag: package-2017-10 and ruby These settings apply only when `--tag=package-2017-10 --ruby` is specified on the command line.