diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json new file mode 100644 index 000000000000..1a2d4317a0c2 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json @@ -0,0 +1,6310 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "CdnManagementClient", + "description": "Use these APIs to manage Azure Front Door 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/checkEndpointNameAvailability": { + "post": { + "tags": [ + "CheckEndpointNameAvailability" + ], + "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a afdx endpoint.", + "operationId": "CheckEndpointNameAvailability", + "x-ms-examples": { + "CheckEndpointNameAvailability": { + "$ref": "./examples/CheckEndpointNameAvailability.json" + } + }, + "parameters": [ + { + "name": "checkEndpointNameAvailabilityInput", + "in": "body", + "description": "Input to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckEndpointNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckEndpointNameAvailabilityOutput" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkEndpointNameAvailability": { + "post": { + "tags": [ + "AFDProfiles" + ], + "description": "Check the availability of an afdx endpoint name, and return the globally unique endpoint host name.", + "operationId": "AFDProfiles_CheckEndpointNameAvailability", + "x-ms-examples": { + "CheckEndpointNameAvailability": { + "$ref": "./examples/AFDProfiles_CheckEndpointNameAvailability.json" + } + }, + "parameters": [ + { + "name": "checkEndpointNameAvailabilityInput", + "in": "body", + "description": "Input to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckEndpointNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/profileNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckEndpointNameAvailabilityOutput" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/usages": { + "post": { + "tags": [ + "AFDProfiles" + ], + "description": "Checks the quota and actual usage of endpoints under the given Azure Front Door profile.", + "operationId": "AFDProfiles_ListResourceUsage", + "x-ms-examples": { + "AFDProfiles_ListResourceUsage": { + "$ref": "./examples/AFDProfiles_ListResourceUsage.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium 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/UsagesListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkHostNameAvailability": { + "post": { + "tags": [ + "AFDProfiles" + ], + "description": "Validates the custom domain mapping to ensure it maps to the correct Azure Front Door endpoint in DNS.", + "operationId": "AFDProfiles_CheckHostNameAvailability", + "x-ms-examples": { + "AFDProfiles_CheckHostNameAvailability": { + "$ref": "./examples/AFDProfiles_CheckHostNameAvailability.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "checkHostNameAvailabilityInput", + "in": "body", + "description": "Custom domain to be validated.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckHostNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "./cdn.json#/definitions/CheckNameAvailabilityOutput" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/validateSecret": { + "post": { + "tags": [ + "AFDProfiles" + ], + "description": "Validate a Secret in the profile.", + "operationId": "AFDProfiles_ValidateSecret", + "x-ms-examples": { + "Validate_Secret": { + "$ref": "./examples/AFDProfiles_ValidateSecret.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/profileNameParameter" + }, + { + "name": "validateSecretInput", + "in": "body", + "description": "The Secret source.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateSecretInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ValidateSecretOutput" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/upgrade": { + "post": { + "tags": [ + "AFDProfiles" + ], + "description": "Upgrade a profile from Standard_AzureFrontDoor to Premium_AzureFrontDoor.", + "operationId": "AFDProfiles_Upgrade", + "x-ms-examples": { + "AFDProfiles_Upgrade": { + "$ref": "./examples/AFDProfiles_Upgrade.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/profileNameParameter" + }, + { + "name": "profileUpgradeParameters", + "in": "body", + "description": "Profile upgrade input parameter.", + "required": true, + "schema": { + "$ref": "#/definitions/ProfileUpgradeParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "./cdn.json#/definitions/Profile" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "./cdn.json#/definitions/Profile" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains": { + "get": { + "tags": [ + "AFDCustomDomains" + ], + "description": "Lists existing AzureFrontDoor domains.", + "operationId": "AFDCustomDomains_ListByProfile", + "x-ms-examples": { + "AFDCustomDomains_ListByProfile": { + "$ref": "./examples/AFDCustomDomains_ListByProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDDomainListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName}": { + "get": { + "tags": [ + "AFDCustomDomains" + ], + "description": "Gets an existing AzureFrontDoor domain with the specified domain name under the specified subscription, resource group and profile.", + "operationId": "AFDCustomDomains_Get", + "x-ms-examples": { + "AFDCustomDomains_Get": { + "$ref": "./examples/AFDCustomDomains_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the domain under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDDomain" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AFDCustomDomains" + ], + "description": "Creates a new domain within the specified profile.", + "operationId": "AFDCustomDomains_Create", + "x-ms-examples": { + "AFDCustomDomains_Create": { + "$ref": "./examples/AFDCustomDomains_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the domain under the profile which is unique globally", + "required": true, + "type": "string" + }, + { + "name": "customDomain", + "in": "body", + "description": "Domain properties", + "required": true, + "schema": { + "$ref": "#/definitions/AFDDomain" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDDomain" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new domain has been created.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDDomain" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/AFDDomain" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "AFDCustomDomains" + ], + "description": "Updates an existing domain within a profile.", + "operationId": "AFDCustomDomains_Update", + "x-ms-examples": { + "AFDCustomDomains_Update": { + "$ref": "./examples/AFDCustomDomains_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the domain under the profile which is unique globally", + "required": true, + "type": "string" + }, + { + "name": "customDomainUpdateProperties", + "in": "body", + "description": "Domain properties", + "required": true, + "schema": { + "$ref": "#/definitions/AFDDomainUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDDomain" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDDomain" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "AFDCustomDomains" + ], + "description": "Deletes an existing AzureFrontDoor domain with the specified domain name under the specified subscription, resource group and profile.", + "operationId": "AFDCustomDomains_Delete", + "x-ms-examples": { + "AFDCustomDomains_Delete": { + "$ref": "./examples/AFDCustomDomains_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the domain 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." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the domain was not found." + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName}/refreshValidationToken": { + "post": { + "tags": [ + "AFDCustomDomains" + ], + "description": "Updates the domain validation token.", + "operationId": "AFDCustomDomains_RefreshValidationToken", + "x-ms-examples": { + "AFDCustomDomains_Delete": { + "$ref": "./examples/AFDCustomDomains_RefreshValidationToken.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the domain under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. Please poll the targeted custom domain and check the 'validationProperties' field for the new validation token values.", + "headers": { + "location": { + "type": "string" + } + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints": { + "get": { + "tags": [ + "AFDEndpoints" + ], + "description": "Lists existing AzureFrontDoor endpoints.", + "operationId": "AFDEndpoints_ListByProfile", + "x-ms-examples": { + "AFDEndpoints_ListByProfile": { + "$ref": "./examples/AFDEndpoints_ListByProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDEndpointListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}": { + "get": { + "tags": [ + "AFDEndpoints" + ], + "description": "Gets an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile.", + "operationId": "AFDEndpoints_Get", + "x-ms-examples": { + "AFDEndpoints_Get": { + "$ref": "./examples/AFDEndpoints_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium 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", + "schema": { + "$ref": "#/definitions/AFDEndpoint" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AFDEndpoints" + ], + "description": "Creates a new AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile.", + "operationId": "AFDEndpoints_Create", + "x-ms-examples": { + "AFDEndpoints_Create": { + "$ref": "./examples/AFDEndpoints_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium 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/AFDEndpoint" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDEndpoint" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new endpoint has been created.", + "schema": { + "$ref": "#/definitions/AFDEndpoint" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDEndpoint" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "AFDEndpoints" + ], + "description": "Updates an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile. Only tags can be updated after creating an endpoint. To update origins, use the Update Origin operation. To update origin groups, use the Update Origin group operation. To update domains, use the Update Custom Domain operation.", + "operationId": "AFDEndpoints_Update", + "x-ms-examples": { + "AFDEndpoints_Update": { + "$ref": "./examples/AFDEndpoints_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium 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/AFDEndpointUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDEndpoint" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDEndpoint" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "AFDEndpoints" + ], + "description": "Deletes an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile.", + "operationId": "AFDEndpoints_Delete", + "x-ms-examples": { + "AFDEndpoints_Delete": { + "$ref": "./examples/AFDEndpoints_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium 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." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/purge": { + "post": { + "tags": [ + "AFDEndpoints" + ], + "description": "Removes a content from AzureFrontDoor.", + "operationId": "AFDEndpoints_PurgeContent", + "x-ms-examples": { + "AFDEndpoints_PurgeContent": { + "$ref": "./examples/AFDEndpoints_PurgeContent.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium 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": "contents", + "in": "body", + "description": "The list of paths to the content and the list of linked domains 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/AfdPurgeParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/usages": { + "post": { + "tags": [ + "AFDEndpoints" + ], + "description": "Checks the quota and actual usage of endpoints under the given Azure Front Door profile.", + "operationId": "AFDEndpoints_ListResourceUsage", + "x-ms-examples": { + "AFDEndpoints_ListResourceUsage": { + "$ref": "./examples/AFDEndpoints_ListResourceUsage.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium 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/UsagesListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/validateCustomDomain": { + "post": { + "tags": [ + "AFDEndpoints" + ], + "description": "Validates the custom domain mapping to ensure it maps to the correct Azure Front Door endpoint in DNS.", + "operationId": "AFDEndpoints_ValidateCustomDomain", + "x-ms-examples": { + "Endpoints_ValidateCustomDomain": { + "$ref": "./examples/AFDEndpoints_ValidateCustomDomain.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium 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": "./cdn.json#/definitions/ValidateCustomDomainInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "./cdn.json#/definitions/ValidateCustomDomainOutput" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups": { + "get": { + "tags": [ + "AFDOriginGroups" + ], + "description": "Lists all of the existing origin groups within a profile.", + "operationId": "AFDOriginGroups_ListByProfile", + "x-ms-examples": { + "AFDOriginGroups_ListByProfile": { + "$ref": "./examples/AFDOriginGroups_ListByProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOriginGroupListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}": { + "get": { + "tags": [ + "AFDOriginGroups" + ], + "description": "Gets an existing origin group within a profile.", + "operationId": "AFDOriginGroups_Get", + "x-ms-examples": { + "AFDOriginGroups_Get": { + "$ref": "./examples/AFDOriginGroups_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOriginGroup" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AFDOriginGroups" + ], + "description": "Creates a new origin group within the specified profile.", + "operationId": "AFDOriginGroups_Create", + "x-ms-examples": { + "AFDOriginGroups_Create": { + "$ref": "./examples/AFDOriginGroups_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "name": "originGroup", + "in": "body", + "description": "Origin group properties", + "required": true, + "schema": { + "$ref": "#/definitions/AFDOriginGroup" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOriginGroup" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new origin group has been created.", + "schema": { + "$ref": "#/definitions/AFDOriginGroup" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDOriginGroup" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "AFDOriginGroups" + ], + "description": "Updates an existing origin group within a profile.", + "operationId": "AFDOriginGroups_Update", + "x-ms-examples": { + "AFDOriginGroups_Update": { + "$ref": "./examples/AFDOriginGroups_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "name": "originGroupUpdateProperties", + "in": "body", + "description": "Origin group properties", + "required": true, + "schema": { + "$ref": "#/definitions/AFDOriginGroupUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOriginGroup" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDOriginGroup" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "AFDOriginGroups" + ], + "description": "Deletes an existing origin group within a profile.", + "operationId": "AFDOriginGroups_Delete", + "x-ms-examples": { + "AFDOriginGroups_Delete": { + "$ref": "./examples/AFDOriginGroups_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the origin group was not found." + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/usages": { + "post": { + "tags": [ + "AFDOriginGroups" + ], + "description": "Checks the quota and actual usage of endpoints under the given Azure Front Door profile..", + "operationId": "AFDOriginGroups_ListResourceUsage", + "x-ms-examples": { + "AFDOriginGroups_ListResourceUsage": { + "$ref": "./examples/AFDOriginGroups_ListResourceUsage.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group 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/UsagesListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins": { + "get": { + "tags": [ + "AFDOrigins" + ], + "description": "Lists all of the existing origins within an origin group.", + "operationId": "AFDOrigins_ListByOriginGroup", + "x-ms-examples": { + "AFDOrigins_ListByOriginGroup": { + "$ref": "./examples/AFDOrigins_ListByOriginGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOriginListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins/{originName}": { + "get": { + "tags": [ + "AFDOrigins" + ], + "description": "Gets an existing origin within an origin group.", + "operationId": "AFDOrigins_Get", + "x-ms-examples": { + "AFDOrigins_Get": { + "$ref": "./examples/AFDOrigins_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "name": "originName", + "in": "path", + "description": "Name of the origin which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOrigin" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AFDOrigins" + ], + "description": "Creates a new origin within the specified origin group.", + "operationId": "AFDOrigins_Create", + "x-ms-examples": { + "AFDOrigins_Create": { + "$ref": "./examples/AFDOrigins_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "name": "originName", + "in": "path", + "description": "Name of the origin that is unique within the profile.", + "required": true, + "type": "string" + }, + { + "name": "origin", + "in": "body", + "description": "Origin properties", + "required": true, + "schema": { + "$ref": "#/definitions/AFDOrigin" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOrigin" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new origin has been created.", + "schema": { + "$ref": "#/definitions/AFDOrigin" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDOrigin" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "AFDOrigins" + ], + "description": "Updates an existing origin within an origin group.", + "operationId": "AFDOrigins_Update", + "x-ms-examples": { + "AFDOrigins_Update": { + "$ref": "./examples/AFDOrigins_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "name": "originName", + "in": "path", + "description": "Name of the origin which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "name": "originUpdateProperties", + "in": "body", + "description": "Origin properties", + "required": true, + "schema": { + "$ref": "#/definitions/AFDOriginUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOrigin" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDOrigin" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "AFDOrigins" + ], + "description": "Deletes an existing origin within an origin group.", + "operationId": "AFDOrigins_Delete", + "x-ms-examples": { + "AFDOrigins_Delete": { + "$ref": "./examples/AFDOrigins_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "name": "originName", + "in": "path", + "description": "Name of the origin which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the origin was not found." + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes": { + "get": { + "tags": [ + "Routes" + ], + "description": "Lists all of the existing origins within a profile.", + "operationId": "Routes_ListByEndpoint", + "x-ms-examples": { + "Routes_ListByEndpoint": { + "$ref": "./examples/Routes_ListByEndpoint.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium 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", + "schema": { + "$ref": "#/definitions/RouteListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes/{routeName}": { + "get": { + "tags": [ + "Routes" + ], + "description": "Gets an existing route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.", + "operationId": "Routes_Get", + "x-ms-examples": { + "Routes_Get": { + "$ref": "./examples/Routes_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium 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": "routeName", + "in": "path", + "description": "Name of the routing rule.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Route" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Routes" + ], + "description": "Creates a new route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.", + "operationId": "Routes_Create", + "x-ms-examples": { + "Routes_Create": { + "$ref": "./examples/Routes_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium 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": "routeName", + "in": "path", + "description": "Name of the routing rule.", + "required": true, + "type": "string" + }, + { + "name": "route", + "in": "body", + "description": "Route properties", + "required": true, + "schema": { + "$ref": "#/definitions/Route" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Route" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new endpoint has been created.", + "schema": { + "$ref": "#/definitions/Route" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Route" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Routes" + ], + "description": "Updates an existing route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.", + "operationId": "Routes_Update", + "x-ms-examples": { + "Routes_Update": { + "$ref": "./examples/Routes_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium 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": "routeName", + "in": "path", + "description": "Name of the routing rule.", + "required": true, + "type": "string" + }, + { + "name": "routeUpdateProperties", + "in": "body", + "description": "Route update properties", + "required": true, + "schema": { + "$ref": "#/definitions/RouteUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Route" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Route" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Routes" + ], + "description": "Deletes an existing route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.", + "operationId": "Routes_Delete", + "x-ms-examples": { + "Routes_Delete": { + "$ref": "./examples/Routes_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium 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": "routeName", + "in": "path", + "description": "Name of the routing rule.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets": { + "get": { + "tags": [ + "RuleSets" + ], + "description": "Lists existing AzureFrontDoor rule sets within a profile.", + "operationId": "RuleSets_ListByProfile", + "x-ms-examples": { + "RuleSets_ListByProfile": { + "$ref": "./examples/RuleSets_ListByProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RuleSetListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}": { + "get": { + "tags": [ + "RuleSets" + ], + "description": "Gets an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription, resource group and profile.", + "operationId": "RuleSets_Get", + "x-ms-examples": { + "RuleSets_Get": { + "$ref": "./examples/RuleSets_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RuleSet" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "RuleSets" + ], + "description": "Creates a new rule set within the specified profile.", + "operationId": "RuleSets_Create", + "x-ms-examples": { + "RuleSets_Create": { + "$ref": "./examples/RuleSets_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile which is unique globally", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RuleSet" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new rule set has been created.", + "schema": { + "$ref": "#/definitions/RuleSet" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "RuleSets" + ], + "description": "Deletes an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription, resource group and profile.", + "operationId": "RuleSets_Delete", + "x-ms-examples": { + "RuleSets_Delete": { + "$ref": "./examples/RuleSets_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the rule set was not found." + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/usages": { + "post": { + "tags": [ + "RuleSets" + ], + "description": "Checks the quota and actual usage of endpoints under the given Azure Front Door profile..", + "operationId": "RuleSets_ListResourceUsage", + "x-ms-examples": { + "RuleSets_ListResourceUsage": { + "$ref": "./examples/RuleSets_ListResourceUsage.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set 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/UsagesListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules": { + "get": { + "tags": [ + "Rules" + ], + "description": "Lists all of the existing delivery rules within a rule set.", + "operationId": "Rules_ListByRuleSet", + "x-ms-examples": { + "Rules_ListByRuleSet": { + "$ref": "./examples/Rules_ListByRuleSet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RuleListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName}": { + "get": { + "tags": [ + "Rules" + ], + "description": "Gets an existing delivery rule within a rule set.", + "operationId": "Rules_Get", + "x-ms-examples": { + "Rules_Get": { + "$ref": "./examples/Rules_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile.", + "required": true, + "type": "string" + }, + { + "name": "ruleName", + "in": "path", + "description": "Name of the delivery rule which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Rules" + ], + "description": "Creates a new delivery rule within the specified rule set.", + "operationId": "Rules_Create", + "x-ms-examples": { + "Rules_Create": { + "$ref": "./examples/Rules_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile.", + "required": true, + "type": "string" + }, + { + "name": "ruleName", + "in": "path", + "description": "Name of the delivery rule which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "name": "rule", + "in": "body", + "description": "The delivery rule properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Rule" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new delivery rule has been created.", + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Rules" + ], + "description": "Updates an existing delivery rule within a rule set.", + "operationId": "Rules_Update", + "x-ms-examples": { + "Rules_Update": { + "$ref": "./examples/Rules_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile.", + "required": true, + "type": "string" + }, + { + "name": "ruleName", + "in": "path", + "description": "Name of the delivery rule which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "name": "ruleUpdateProperties", + "in": "body", + "description": "Delivery rule properties", + "required": true, + "schema": { + "$ref": "#/definitions/RuleUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Rules" + ], + "description": "Deletes an existing delivery rule within a rule set.", + "operationId": "Rules_Delete", + "x-ms-examples": { + "Rules_Delete": { + "$ref": "./examples/Rules_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile.", + "required": true, + "type": "string" + }, + { + "name": "ruleName", + "in": "path", + "description": "Name of the delivery rule which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the origin was not found." + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies": { + "get": { + "tags": [ + "SecurityPolicies" + ], + "description": "Lists security policies associated with the profile", + "operationId": "SecurityPolicies_ListByProfile", + "x-ms-examples": { + "SecurityPolicies_ListByProfile": { + "$ref": "./examples/SecurityPolicies_ListByProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityPolicyListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName}": { + "get": { + "tags": [ + "SecurityPolicies" + ], + "description": "Gets an existing security policy within a profile.", + "operationId": "SecurityPolicies_Get", + "x-ms-examples": { + "SecurityPolicies_Get": { + "$ref": "./examples/SecurityPolicies_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "securityPolicyName", + "in": "path", + "description": "Name of the security policy under the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "SecurityPolicies" + ], + "description": "Creates a new security policy within the specified profile.", + "operationId": "SecurityPolicies_Create", + "x-ms-examples": { + "SecurityPolicies_Create": { + "$ref": "./examples/SecurityPolicies_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "securityPolicyName", + "in": "path", + "description": "Name of the security policy under the profile.", + "required": true, + "type": "string" + }, + { + "name": "securityPolicy", + "in": "body", + "description": "The security policy properties.", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new delivery rule has been created.", + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "SecurityPolicies" + ], + "description": "Updates an existing security policy within a profile.", + "operationId": "SecurityPolicies_Patch", + "x-ms-examples": { + "SecurityPolicies_Patch": { + "$ref": "./examples/SecurityPolicies_Patch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "securityPolicyName", + "in": "path", + "description": "Name of the security policy under the profile.", + "required": true, + "type": "string" + }, + { + "name": "securityPolicyUpdateProperties", + "in": "body", + "description": "Security policy update properties", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityPolicyUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "SecurityPolicies" + ], + "description": "Deletes an existing security policy within profile.", + "operationId": "SecurityPolicies_Delete", + "x-ms-examples": { + "SecurityPolicies_Delete": { + "$ref": "./examples/SecurityPolicies_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "securityPolicyName", + "in": "path", + "description": "Name of the security policy under the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets": { + "get": { + "tags": [ + "Secrets" + ], + "description": "Lists existing AzureFrontDoor secrets.", + "operationId": "Secrets_ListByProfile", + "x-ms-examples": { + "Secrets_ListByProfile": { + "$ref": "./examples/Secrets_ListByProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets/{secretName}": { + "get": { + "tags": [ + "Secrets" + ], + "description": "Gets an existing Secret within a profile.", + "operationId": "Secrets_Get", + "x-ms-examples": { + "Secrets_Get": { + "$ref": "./examples/Secrets_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "secretName", + "in": "path", + "description": "Name of the Secret under the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Secrets" + ], + "description": "Creates a new Secret within the specified profile.", + "operationId": "Secrets_Create", + "x-ms-examples": { + "Secrets_Create": { + "$ref": "./examples/Secrets_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "secretName", + "in": "path", + "description": "Name of the Secret under the profile.", + "required": true, + "type": "string" + }, + { + "name": "secret", + "in": "body", + "description": "The Secret properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Secret" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new delivery rule has been created.", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Secrets" + ], + "description": "Deletes an existing Secret within profile.", + "operationId": "Secrets_Delete", + "x-ms-examples": { + "Secrets_Delete": { + "$ref": "./examples/Secrets_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "secretName", + "in": "path", + "description": "Name of the Secret under the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the origin was not found." + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsMetrics": { + "get": { + "tags": [ + "LogAnalytics" + ], + "operationId": "LogAnalytics_GetLogAnalyticsMetrics", + "x-ms-examples": { + "LogAnalytics_GetLogAnalyticsMetrics": { + "$ref": "./examples/LogAnalytics_GetLogAnalyticsMetrics.json" + } + }, + "description": "Get log report for AFD profile", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "metrics", + "type": "array", + "required": true, + "collectionFormat": "multi", + "in": "query", + "items": { + "type": "string", + "enum": [ + "clientRequestCount", + "clientRequestTraffic", + "clientRequestBandwidth", + "originRequestTraffic", + "originRequestBandwidth", + "totalLatency" + ], + "x-ms-enum": { + "name": "LogMetric", + "modelAsString": true + } + } + }, + { + "name": "dateTimeBegin", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "dateTimeEnd", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "granularity", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "PT5M", + "PT1H", + "P1D" + ], + "x-ms-enum": { + "name": "LogMetricsGranularity", + "modelAsString": true + } + }, + { + "name": "groupBy", + "in": "query", + "type": "array", + "required": false, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "httpStatusCode", + "protocol", + "cacheStatus", + "countryOrRegion", + "customDomain" + ], + "x-ms-enum": { + "name": "LogMetricsGroupBy", + "modelAsString": true + } + } + }, + { + "name": "continents", + "type": "array", + "in": "query", + "collectionFormat": "multi", + "required": false, + "items": { + "type": "string" + } + }, + { + "name": "countryOrRegions", + "type": "array", + "in": "query", + "collectionFormat": "multi", + "required": false, + "items": { + "type": "string" + } + }, + { + "name": "customDomains", + "type": "array", + "required": true, + "collectionFormat": "multi", + "in": "query", + "items": { + "type": "string" + } + }, + { + "name": "protocols", + "type": "array", + "required": true, + "collectionFormat": "multi", + "in": "query", + "items": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "schema": { + "$ref": "#/definitions/MetricsResponse" + } + }, + "default": { + "description": "Azure Front Door Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsRankings": { + "get": { + "tags": [ + "LogAnalytics" + ], + "operationId": "LogAnalytics_GetLogAnalyticsRankings", + "x-ms-examples": { + "LogAnalytics_GetLogAnalyticsRankings": { + "$ref": "./examples/LogAnalytics_GetLogAnalyticsRankings.json" + } + }, + "description": "Get log analytics ranking report for AFD profile", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "rankings", + "type": "array", + "in": "query", + "required": true, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "url", + "referrer", + "browser", + "userAgent", + "countryOrRegion" + ], + "x-ms-enum": { + "name": "LogRanking", + "modelAsString": true + } + } + }, + { + "name": "metrics", + "type": "array", + "in": "query", + "required": true, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "clientRequestCount", + "clientRequestTraffic", + "hitCount", + "missCount", + "userErrorCount", + "errorCount" + ], + "x-ms-enum": { + "name": "LogRankingMetric", + "modelAsString": true + } + } + }, + { + "name": "maxRanking", + "in": "query", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "dateTimeBegin", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "dateTimeEnd", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "customDomains", + "type": "array", + "in": "query", + "required": false, + "collectionFormat": "multi", + "items": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "schema": { + "$ref": "#/definitions/RankingsResponse" + } + }, + "default": { + "description": "Azure Front Door Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsLocations": { + "get": { + "tags": [ + "LogAnalytics" + ], + "operationId": "LogAnalytics_GetLogAnalyticsLocations", + "x-ms-examples": { + "LogAnalytics_GetLogAnalyticsLocations": { + "$ref": "./examples/LogAnalytics_GetLogAnalyticsLocations.json" + } + }, + "description": "Get all available location names for AFD log analytics report.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "schema": { + "$ref": "#/definitions/ContinentsResponse" + } + }, + "default": { + "description": "Azure Front Door Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsResources": { + "get": { + "tags": [ + "LogAnalytics" + ], + "operationId": "LogAnalytics_GetLogAnalyticsResources", + "x-ms-examples": { + "LogAnalytics_GetLogAnalyticsResources": { + "$ref": "./examples/LogAnalytics_GetLogAnalyticsResources.json" + } + }, + "description": "Get all endpoints and custom domains available for AFD log report", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "schema": { + "$ref": "#/definitions/ResourcesResponse" + } + }, + "default": { + "description": "Azure Front Door Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getWafLogAnalyticsMetrics": { + "get": { + "tags": [ + "WafLogAnalytics" + ], + "operationId": "LogAnalytics_GetWafLogAnalyticsMetrics", + "x-ms-examples": { + "LogAnalytics_GetWafLogAnalyticsMetrics": { + "$ref": "./examples/LogAnalytics_GetWafLogAnalyticsMetrics.json" + } + }, + "description": "Get Waf related log analytics report for AFD profile.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "metrics", + "type": "array", + "in": "query", + "required": true, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "clientRequestCount" + ], + "x-ms-enum": { + "name": "WafMetric", + "modelAsString": true + } + } + }, + { + "name": "dateTimeBegin", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "dateTimeEnd", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "granularity", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "PT5M", + "PT1H", + "P1D" + ], + "x-ms-enum": { + "name": "WafGranularity", + "modelAsString": true + } + }, + { + "name": "actions", + "type": "array", + "in": "query", + "required": false, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "allow", + "block", + "log", + "redirect" + ], + "x-ms-enum": { + "name": "WafAction", + "modelAsString": true + } + } + }, + { + "name": "groupBy", + "in": "query", + "type": "array", + "required": false, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "httpStatusCode", + "customDomain" + ], + "x-ms-enum": { + "name": "WafRankingGroupBy", + "modelAsString": true + } + } + }, + { + "name": "ruleTypes", + "type": "array", + "in": "query", + "required": false, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "managed", + "custom", + "bot" + ], + "x-ms-enum": { + "name": "WafRuleType", + "modelAsString": true + } + } + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "schema": { + "$ref": "#/definitions/WafMetricsResponse" + } + }, + "default": { + "description": "Azure Front Door Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getWafLogAnalyticsRankings": { + "get": { + "tags": [ + "WafLogAnalytics" + ], + "operationId": "LogAnalytics_GetWafLogAnalyticsRankings", + "x-ms-examples": { + "LogAnalytics_GetWafLogAnalyticsRankings": { + "$ref": "./examples/LogAnalytics_GetWafLogAnalyticsRankings.json" + } + }, + "description": "Get WAF log analytics charts for AFD profile", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "metrics", + "type": "array", + "in": "query", + "required": true, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "clientRequestCount" + ], + "x-ms-enum": { + "name": "WafMetric", + "modelAsString": true + } + } + }, + { + "name": "dateTimeBegin", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "dateTimeEnd", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "maxRanking", + "in": "query", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "rankings", + "type": "array", + "in": "query", + "required": true, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "action", + "ruleGroup", + "ruleId", + "userAgent", + "clientIp", + "url", + "countryOrRegion", + "ruleType" + ], + "x-ms-enum": { + "name": "WafRankingType", + "modelAsString": true + } + } + }, + { + "name": "actions", + "type": "array", + "in": "query", + "required": false, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "allow", + "block", + "log", + "redirect" + ], + "x-ms-enum": { + "name": "WafAction", + "modelAsString": true + } + } + }, + { + "name": "ruleTypes", + "type": "array", + "in": "query", + "required": false, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "managed", + "custom", + "bot" + ], + "x-ms-enum": { + "name": "WafRuleType", + "modelAsString": true + } + } + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "schema": { + "$ref": "#/definitions/WafRankingsResponse" + } + }, + "default": { + "description": "Azure Front Door Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ProfileChangeSkuWafMapping": { + "type": "object", + "description": "Parameters required for profile upgrade.", + "required": [ + "securityPolicyName", + "changeToWafPolicy" + ], + "properties": { + "securityPolicyName": { + "description": "The security policy name.", + "type": "string" + }, + "changeToWafPolicy": { + "description": "The new waf resource for the security policy to use.", + "$ref": "./cdn.json#/definitions/ResourceReference" + } + } + }, + "ProfileUpgradeParameters": { + "type": "object", + "description": "Parameters required for profile upgrade.", + "required": [ + "wafMappingList" + ], + "properties": { + "wafMappingList": { + "description": "Web Application Firewall (WAF) and security policy mapping for the profile upgrade", + "type": "array", + "items": { + "description": "List of waf mappings", + "$ref": "#/definitions/ProfileChangeSkuWafMapping" + }, + "x-ms-identifiers": [] + } + } + }, + "AfdPurgeParameters": { + "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" + } + }, + "domains": { + "description": "List of domains.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Certificate": { + "description": "Certificate used for https", + "properties": { + "type": { + "$ref": "#/definitions/SecretType" + }, + "subject": { + "description": "Subject name in the certificate.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "description": "Certificate expiration date.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedCertificate": { + "description": "Managed Certificate used for https", + "allOf": [ + { + "$ref": "#/definitions/Certificate" + } + ] + }, + "CustomerCertificate": { + "description": "Customer Certificate used for https", + "allOf": [ + { + "$ref": "#/definitions/Certificate" + } + ], + "properties": { + "secretSource": { + "description": "Resource reference to the Azure Key Vault certificate. Expected to be in format of /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{certificateName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "secretVersion": { + "description": "Certificate version.", + "type": "string" + }, + "certificateAuthority": { + "description": "Certificate issuing authority.", + "type": "string", + "readOnly": true + }, + "useLatestVersion": { + "description": "Whether to use the latest version for the certificate", + "type": "boolean" + }, + "subjectAlternativeNames": { + "description": "The list of SANs.", + "type": "array", + "items": { + "type": "string", + "readOnly": true + } + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string", + "readOnly": true + } + } + }, + "AzureFirstPartyManagedCertificate": { + "description": "Azure FirstParty Managed Certificate provided by other first party resource providers to enable HTTPS.", + "allOf": [ + { + "$ref": "#/definitions/Certificate" + } + ] + }, + "ValidateSecretInput": { + "description": "Input of the secret to be validated.", + "type": "object", + "required": [ + "secretSource", + "secretType" + ], + "properties": { + "secretType": { + "description": "The secret type.", + "$ref": "#/definitions/SecretType" + }, + "secretSource": { + "description": "Resource reference to the Azure Key Vault secret. Expected to be in format of /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{secretName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "secretVersion": { + "description": "Secret version, if customer is using a specific version.", + "type": "string" + } + } + }, + "ValidateSecretOutput": { + "description": "Output of the validated secret.", + "type": "object", + "properties": { + "status": { + "description": "The validation status.", + "enum": [ + "Valid", + "Invalid", + "AccessDenied", + "CertificateExpired" + ], + "type": "string", + "x-ms-enum": { + "name": "status", + "modelAsString": true + } + }, + "message": { + "description": "Detailed error message", + "type": "string" + } + } + }, + "AFDDomainListResult": { + "description": "Result of the request to list domains. It contains a list of domain objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/AFDDomain" + }, + "description": "List of AzureFrontDoor domains within a profile." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of domain objects if there are any." + } + } + }, + "AFDDomain": { + "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": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AFDDomainProperties" + } + } + }, + "AFDDomainProperties": { + "description": "The JSON object that contains the properties of the domain to create.", + "required": [ + "hostName" + ], + "allOf": [ + { + "$ref": "#/definitions/AFDDomainUpdatePropertiesParameters" + }, + { + "$ref": "#/definitions/AFDStateProperties" + } + ], + "properties": { + "domainValidationState": { + "description": "Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. DCV stands for DomainControlValidation.", + "readOnly": true, + "enum": [ + "Unknown", + "Submitting", + "Pending", + "Rejected", + "TimedOut", + "PendingRevalidation", + "Approved", + "RefreshingValidationToken", + "InternalError" + ], + "type": "string", + "x-ms-enum": { + "name": "DomainValidationState", + "modelAsString": true + } + }, + "hostName": { + "description": "The host name of the domain. Must be a domain name.", + "type": "string" + }, + "extendedProperties": { + "description": "Key-Value pair representing migration properties for domains.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "validationProperties": { + "description": "Values the customer needs to validate domain ownership", + "readOnly": true, + "type": "object", + "$ref": "#/definitions/DomainValidationProperties" + } + } + }, + "AFDDomainUpdateParameters": { + "description": "The domain JSON object required for domain creation or update.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AFDDomainUpdatePropertiesParameters" + } + } + }, + "AFDDomainUpdatePropertiesParameters": { + "description": "The JSON object that contains the properties of the domain to create.", + "properties": { + "profileName": { + "description": "The name of the profile which holds the domain.", + "type": "string", + "readOnly": true + }, + "tlsSettings": { + "description": "The configuration specifying how to enable HTTPS for the domain - using AzureFrontDoor managed certificate or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor managed certificate by default.", + "type": "object", + "$ref": "#/definitions/AFDDomainHttpsParameters" + }, + "azureDnsZone": { + "description": "Resource reference to the Azure DNS zone", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "preValidatedCustomDomainResourceId": { + "description": "Resource reference to the Azure resource where custom domain ownership was prevalidated", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + } + } + }, + "DomainValidationProperties": { + "description": "The JSON object that contains the properties to validate a domain.", + "properties": { + "validationToken": { + "description": "Challenge used for DNS TXT record or file based validation", + "readOnly": true, + "type": "string" + }, + "expirationDate": { + "description": "The date time that the token expires", + "readOnly": true, + "type": "string" + } + } + }, + "AFDDomainHttpsParameters": { + "description": "The JSON object that contains the properties to secure a domain.", + "required": [ + "certificateType" + ], + "properties": { + "certificateType": { + "description": "Defines the source of the SSL certificate.", + "enum": [ + "CustomerCertificate", + "ManagedCertificate", + "AzureFirstPartyManagedCertificate" + ], + "type": "string", + "x-ms-enum": { + "name": "AfdCertificateType", + "modelAsString": true + } + }, + "minimumTlsVersion": { + "description": "TLS protocol version that will be used for Https", + "enum": [ + "TLS10", + "TLS12" + ], + "type": "string", + "x-ms-enum": { + "name": "AfdMinimumTlsVersion", + "modelAsString": false + } + }, + "secret": { + "description": "Resource reference to the secret. ie. subs/rg/profile/secret", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + } + } + }, + "SecurityPolicy": { + "description": "SecurityPolicy association for AzureFrontDoor profile", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecurityPolicyProperties" + } + } + }, + "SecurityPolicyProperties": { + "description": "The json object that contains properties required to create a security policy", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AFDStateProperties" + } + ], + "properties": { + "profileName": { + "description": "The name of the profile which holds the security policy.", + "type": "string", + "readOnly": true + }, + "parameters": { + "description": "object which contains security policy parameters", + "$ref": "#/definitions/SecurityPolicyPropertiesParameters" + } + } + }, + "SecurityPolicyUpdateParameters": { + "description": "The JSON object containing security policy update parameters.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecurityPolicyUpdateProperties" + } + } + }, + "SecurityPolicyUpdateProperties": { + "description": "The json object that contains properties required to update a security policy", + "type": "object", + "properties": { + "parameters": { + "description": "object which contains security policy parameters", + "$ref": "#/definitions/SecurityPolicyPropertiesParameters" + } + } + }, + "SecurityPolicyPropertiesParameters": { + "description": "The json object containing security policy parameters", + "discriminator": "type", + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "description": "The type of the Security policy to create.", + "enum": [ + "WebApplicationFirewall" + ], + "type": "string", + "x-ms-enum": { + "name": "SecurityPolicyType", + "modelAsString": true + } + } + } + }, + "SecurityPolicyWebApplicationFirewallParameters": { + "description": "The json object containing security policy waf parameters", + "x-ms-discriminator-value": "WebApplicationFirewall", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecurityPolicyPropertiesParameters" + } + ], + "properties": { + "wafPolicy": { + "type": "object", + "description": "Resource ID.", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "associations": { + "description": "Waf associations", + "type": "array", + "items": { + "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" + }, + "x-ms-identifiers": [] + } + } + }, + "SecurityPolicyWebApplicationFirewallAssociation": { + "description": "settings for security policy patterns to match", + "type": "object", + "properties": { + "domains": { + "description": "List of domains.", + "type": "array", + "items": { + "$ref": "#/definitions/ActivatedResourceReference" + } + }, + "patternsToMatch": { + "description": "List of paths", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SecurityPolicyListResult": { + "description": "Result of the request to list security policies. It contains a list of security policy objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SecurityPolicy" + }, + "description": "List of Security policies within a profile" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of security policy objects if there is any." + } + } + }, + "AutoGeneratedDomainNameLabelScope": { + "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", + "enum": [ + "TenantReuse", + "SubscriptionReuse", + "ResourceGroupReuse", + "NoReuse" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoGeneratedDomainNameLabelScope", + "modelAsString": true + } + }, + "AFDEndpoint": { + "description": "Azure Front Door endpoint is the entity within a Azure Front Door profile containing configuration information such as origin, protocol, content caching and delivery behavior. The AzureFrontDoor endpoint uses the URL format .azureedge.net.", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AFDEndpointProperties" + } + } + }, + "AFDEndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "allOf": [ + { + "$ref": "#/definitions/AFDEndpointPropertiesUpdateParameters" + }, + { + "$ref": "#/definitions/AFDStateProperties" + } + ], + "properties": { + "hostName": { + "description": "The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net", + "type": "string", + "readOnly": true + }, + "autoGeneratedDomainNameLabelScope": { + "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", + "$ref": "#/definitions/AutoGeneratedDomainNameLabelScope" + } + } + }, + "AFDEndpointListResult": { + "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/AFDEndpoint" + }, + "description": "List of AzureFrontDoor endpoints within a profile" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of endpoint objects if there is any." + } + } + }, + "AFDEndpointUpdateParameters": { + "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/AFDEndpointPropertiesUpdateParameters" + } + }, + "x-ms-azure-resource": true + }, + "AFDEndpointPropertiesUpdateParameters": { + "description": "The JSON object containing endpoint update parameters.", + "properties": { + "profileName": { + "description": "The name of the profile which holds the endpoint.", + "type": "string", + "readOnly": true + }, + "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnabledState", + "modelAsString": true + } + } + } + }, + "CompressionSettings": { + "description": "settings for compression.", + "type": "object", + "properties": { + "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 AzureFrontDoor. 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 AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB.", + "type": "boolean" + } + } + }, + "AFDEndpointProtocols": { + "description": "Supported protocols for the customer's endpoint.", + "enum": [ + "Http", + "Https" + ], + "type": "string", + "x-ms-enum": { + "name": "AFDEndpointProtocols", + "modelAsString": true + } + }, + "SecretListResult": { + "description": "Result of the request to list secrets. It contains a list of Secret objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Secret" + }, + "description": "List of AzureFrontDoor secrets within a profile." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of Secret objects if there are any." + } + } + }, + "Secret": { + "description": "Friendly Secret name mapping to the any Secret or secret related information.", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecretProperties" + } + } + }, + "SecretProperties": { + "description": "The JSON object that contains the properties of the Secret to create.", + "allOf": [ + { + "$ref": "#/definitions/AFDStateProperties" + } + ], + "properties": { + "profileName": { + "description": "The name of the profile which holds the secret.", + "type": "string", + "readOnly": true + }, + "parameters": { + "description": "object which contains secret parameters", + "$ref": "#/definitions/SecretParameters" + } + } + }, + "SecretParameters": { + "description": "The json object containing secret parameters", + "discriminator": "type", + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/SecretType" + } + } + }, + "SecretType": { + "description": "The type of the secret resource.", + "enum": [ + "UrlSigningKey", + "CustomerCertificate", + "ManagedCertificate", + "AzureFirstPartyManagedCertificate" + ], + "type": "string", + "x-ms-enum": { + "name": "SecretType", + "modelAsString": true + } + }, + "UrlSigningKeyParameters": { + "description": "Url signing key parameters", + "x-ms-discriminator-value": "UrlSigningKey", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecretParameters" + } + ], + "required": [ + "keyId", + "secretSource" + ], + "properties": { + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" + }, + "secretSource": { + "description": "Resource reference to the Azure Key Vault secret. Expected to be in format of /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{secretName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + } + } + }, + "ManagedCertificateParameters": { + "description": "Managed Certificate used for https", + "x-ms-discriminator-value": "ManagedCertificate", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecretParameters" + } + ], + "properties": { + "subject": { + "description": "Subject name in the certificate.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "description": "Certificate expiration date.", + "type": "string", + "readOnly": true + } + } + }, + "CustomerCertificateParameters": { + "description": "Customer Certificate used for https", + "x-ms-discriminator-value": "CustomerCertificate", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecretParameters" + } + ], + "required": [ + "secretSource" + ], + "properties": { + "secretSource": { + "description": "Resource reference to the Azure Key Vault certificate. Expected to be in format of /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{certificateName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + }, + "useLatestVersion": { + "description": "Whether to use the latest version for the certificate", + "type": "boolean" + }, + "subject": { + "description": "Subject name in the certificate.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "description": "Certificate expiration date.", + "type": "string", + "readOnly": true + }, + "certificateAuthority": { + "description": "Certificate issuing authority.", + "type": "string", + "readOnly": true + }, + "subjectAlternativeNames": { + "description": "The list of SANs.", + "type": "array", + "items": { + "type": "string", + "readOnly": true + } + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string", + "readOnly": true + } + } + }, + "AzureFirstPartyManagedCertificateParameters": { + "description": "Azure FirstParty Managed Certificate provided by other first party resource providers to enable HTTPS.", + "x-ms-discriminator-value": "AzureFirstPartyManagedCertificate", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecretParameters" + } + ], + "properties": { + "secretSource": { + "description": "Resource reference to the Azure Key Vault certificate. Expected to be in format of /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{certificateName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference", + "readOnly": true + }, + "subject": { + "description": "Subject name in the certificate.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "description": "Certificate expiration date.", + "type": "string", + "readOnly": true + }, + "certificateAuthority": { + "description": "Certificate issuing authority.", + "type": "string", + "readOnly": true + }, + "subjectAlternativeNames": { + "description": "The list of SANs.", + "type": "array", + "items": { + "type": "string", + "readOnly": true + } + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string", + "readOnly": true + } + } + }, + "RuleSetListResult": { + "description": "Result of the request to list rule sets. It contains a list of rule set objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RuleSet" + }, + "description": "List of AzureFrontDoor rule sets within a profile." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of rule set objects if there are any." + } + } + }, + "RuleSet": { + "description": "Friendly RuleSet name mapping to the any RuleSet or secret related information.", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RuleSetProperties" + } + } + }, + "RuleSetProperties": { + "description": "The JSON object that contains the properties of the Rule Set to create.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AFDStateProperties" + } + ], + "properties": { + "profileName": { + "description": "The name of the profile which holds the rule set.", + "type": "string", + "readOnly": true + } + } + }, + "AFDOrigin": { + "description": "Azure Front Door origin is the source of the content being delivered via Azure Front Door. 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": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AFDOriginProperties" + } + } + }, + "AFDOriginProperties": { + "description": "The JSON object that contains the properties of the origin.", + "required": [ + "hostName" + ], + "allOf": [ + { + "$ref": "#/definitions/AFDOriginUpdatePropertiesParameters" + }, + { + "$ref": "#/definitions/AFDStateProperties" + } + ] + }, + "AFDOriginUpdateParameters": { + "type": "object", + "description": "AFDOrigin properties needed for origin update.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AFDOriginUpdatePropertiesParameters" + } + }, + "x-ms-azure-resource": true + }, + "AFDOriginUpdatePropertiesParameters": { + "description": "The JSON object that contains the properties of the origin.", + "properties": { + "originGroupName": { + "description": "The name of the origin group which contains this origin.", + "type": "string", + "readOnly": true + }, + "azureOrigin": { + "description": "Resource reference to the Azure origin resource.", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "hostName": { + "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "type": "integer", + "format": "int32", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false, + "default": 80 + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "type": "integer", + "maximum": 65535, + "format": "int32", + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false, + "default": 443 + }, + "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 Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint", + "type": "string" + }, + "priority": { + "description": "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5", + "type": "integer", + "format": "int32", + "maximum": 5, + "minimum": 1 + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "type": "integer", + "format": "int32", + "maximum": 1000, + "minimum": 1 + }, + "sharedPrivateLinkResource": { + "description": "The properties of the private link resource for private origin.", + "type": "object", + "$ref": "#/definitions/SharedPrivateLinkResourceProperties" + }, + "enabledState": { + "description": "Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool.", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "EnabledState", + "modelAsString": true + } + }, + "enforceCertificateNameCheck": { + "description": "Whether to enable certificate name check at origin level", + "type": "boolean", + "default": true + } + } + }, + "SharedPrivateLinkResourceProperties": { + "properties": { + "privateLink": { + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference", + "description": "The resource id of the resource the shared private link resource is for." + }, + "privateLinkLocation": { + "type": "string", + "description": "The location of the shared private link resource" + }, + "groupId": { + "type": "string", + "description": "The group id from the provider of resource the shared private link resource is for." + }, + "requestMessage": { + "type": "string", + "description": "The request message for requesting approval of the shared private link resource." + }, + "status": { + "type": "string", + "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceStatus", + "modelAsString": false + } + } + }, + "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin." + }, + "AFDOriginListResult": { + "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/AFDOrigin" + }, + "description": "List of Azure Front Door origins within an Azure Front Door endpoint" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of origin objects if there are any." + } + } + }, + "AFDOriginGroup": { + "description": "AFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be served from Azure Front Door.", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AFDOriginGroupProperties" + } + } + }, + "AFDOriginGroupProperties": { + "description": "The JSON object that contains the properties of the origin group.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AFDOriginGroupUpdatePropertiesParameters" + }, + { + "$ref": "#/definitions/AFDStateProperties" + } + ] + }, + "AFDOriginGroupUpdateParameters": { + "type": "object", + "description": "AFDOrigin group properties needed for origin group creation or update.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AFDOriginGroupUpdatePropertiesParameters" + } + }, + "x-ms-azure-resource": true + }, + "AFDOriginGroupUpdatePropertiesParameters": { + "description": "The JSON object that contains the properties of the origin group.", + "properties": { + "profileName": { + "description": "The name of the profile which holds the origin group.", + "type": "string", + "readOnly": true + }, + "loadBalancingSettings": { + "description": "Load balancing settings for a backend pool", + "$ref": "#/definitions/LoadBalancingSettingsParameters" + }, + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "type": "object", + "$ref": "./cdn.json#/definitions/HealthProbeParameters" + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "description": "Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.", + "type": "integer", + "format": "int32", + "maximum": 50, + "minimum": 0 + }, + "sessionAffinityState": { + "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnabledState", + "modelAsString": true + } + } + } + }, + "LoadBalancingSettingsParameters": { + "description": "Round-Robin load balancing settings for a backend pool", + "type": "object", + "properties": { + "sampleSize": { + "description": "The number of samples to consider for load balancing decisions", + "type": "integer", + "format": "int32" + }, + "successfulSamplesRequired": { + "description": "The number of samples within the sample period that must succeed", + "type": "integer", + "format": "int32" + }, + "additionalLatencyInMilliseconds": { + "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket", + "type": "integer", + "format": "int32" + } + } + }, + "AFDOriginGroupListResult": { + "description": "Result of the request to list origin groups. It contains a list of origin groups objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/AFDOriginGroup" + }, + "description": "List of Azure Front Door origin groups within an Azure Front Door endpoint" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of origin objects if there are any." + } + } + }, + "RouteListResult": { + "description": "Result of the request to list routes. It contains a list of route objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Route" + }, + "description": "List of AzureFrontDoor routes within a profile." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of route objects if there are any." + } + } + }, + "Route": { + "description": "Friendly Routes name mapping to the any Routes or secret related information.", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteProperties" + } + } + }, + "RouteProperties": { + "description": "The JSON object that contains the properties of the Routes to create.", + "allOf": [ + { + "$ref": "#/definitions/RouteUpdatePropertiesParameters" + }, + { + "$ref": "#/definitions/AFDStateProperties" + } + ], + "required": [ + "originGroup" + ] + }, + "RouteUpdateParameters": { + "description": "The domain JSON object required for domain creation or update.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteUpdatePropertiesParameters" + } + } + }, + "RouteUpdatePropertiesParameters": { + "description": "The JSON object that contains the properties of the domain to create.", + "properties": { + "endpointName": { + "description": "The name of the endpoint which holds the route.", + "type": "string", + "readOnly": true + }, + "customDomains": { + "description": "Domains referenced by this endpoint.", + "type": "array", + "items": { + "$ref": "#/definitions/ActivatedResourceReference" + } + }, + "originGroup": { + "description": "A reference to the origin group.", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "originPath": { + "description": "A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" + }, + "ruleSets": { + "description": "rule sets referenced by this endpoint.", + "type": "array", + "items": { + "$ref": "./cdn.json#/definitions/ResourceReference" + } + }, + "supportedProtocols": { + "description": "List of supported protocols for this route.", + "type": "array", + "items": { + "$ref": "#/definitions/AFDEndpointProtocols" + }, + "default": [ + "Http", + "Https" + ] + }, + "patternsToMatch": { + "description": "The route patterns of the rule.", + "type": "array", + "items": { + "type": "string", + "description": "A route pattern of the rule. Must not have any * except possibly after the final / at the end of the path." + } + }, + "cacheConfiguration": { + "description": "The caching configuration for this route. To disable caching, do not provide a cacheConfiguration object.", + "type": "object", + "$ref": "#/definitions/AfdRouteCacheConfiguration" + }, + "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", + "type": "string", + "enum": [ + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ], + "x-ms-enum": { + "name": "ForwardingProtocol", + "modelAsString": true + }, + "default": "MatchRequest" + }, + "linkToDefaultDomain": { + "description": "whether this route will be linked to the default endpoint domain.", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "LinkToDefaultDomain", + "modelAsString": true + }, + "default": "Disabled" + }, + "httpsRedirect": { + "description": "Whether to automatically redirect HTTP traffic to HTTPS traffic. Note that this is a easy way to set up this rule and it will be the first rule that gets executed.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "httpsRedirect", + "modelAsString": true + }, + "default": "Disabled" + }, + "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnabledState", + "modelAsString": true + } + } + } + }, + "AfdRouteCacheConfiguration": { + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", + "type": "object", + "properties": { + "queryStringCachingBehavior": { + "description": "Defines how Frontdoor caches requests that include query strings. You can ignore any query strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query strings.", + "enum": [ + "IgnoreQueryString", + "UseQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings" + ], + "type": "string", + "x-ms-enum": { + "name": "afdQueryStringCachingBehavior", + "modelAsString": true + } + }, + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string" + }, + "compressionSettings": { + "description": "compression settings.", + "type": "object", + "$ref": "#/definitions/CompressionSettings" + } + } + }, + "RuleListResult": { + "description": "Result of the request to list rules. It contains a list of rule objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Rule" + }, + "description": "List of AzureFrontDoor rules within a rule set." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of rule objects if there are any." + } + } + }, + "Rule": { + "description": "Friendly Rules name mapping to the any Rules or secret related information.", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RuleProperties" + } + } + }, + "RuleProperties": { + "description": "The JSON object that contains the properties of the Rules to create.", + "type": "object", + "required": [ + "order", + "actions" + ], + "allOf": [ + { + "$ref": "#/definitions/RuleUpdatePropertiesParameters" + }, + { + "$ref": "#/definitions/AFDStateProperties" + } + ] + }, + "RuleUpdateParameters": { + "description": "The domain JSON object required for domain creation or update.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RuleUpdatePropertiesParameters" + } + } + }, + "RuleUpdatePropertiesParameters": { + "description": "The JSON object that contains the properties of the rule to update.", + "properties": { + "ruleSetName": { + "description": "The name of the rule set containing the rule.", + "type": "string", + "readOnly": true + }, + "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", + "format": "int32" + }, + "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", + "type": "array", + "items": { + "$ref": "./cdn.json#/definitions/DeliveryRuleCondition" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", + "type": "array", + "items": { + "$ref": "./cdn.json#/definitions/DeliveryRuleAction" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "matchProcessingBehavior": { + "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.", + "type": "string", + "enum": [ + "Continue", + "Stop" + ], + "x-ms-enum": { + "name": "MatchProcessingBehavior", + "modelAsString": true + }, + "default": "Continue" + } + } + }, + "CheckEndpointNameAvailabilityInput": { + "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": "./cdn.json#/definitions/ResourceType" + }, + "autoGeneratedDomainNameLabelScope": { + "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", + "$ref": "#/definitions/AutoGeneratedDomainNameLabelScope" + } + } + }, + "CheckEndpointNameAvailabilityOutput": { + "description": "Output of check name availability API.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "Indicates whether the name is available.", + "readOnly": true, + "type": "boolean" + }, + "availableHostname": { + "description": "Returns the available hostname generated based on the AutoGeneratedDomainNameLabelScope when the name is available, otherwise it returns empty string", + "readOnly": true, + "type": "string" + }, + "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" + } + } + }, + "CheckHostNameAvailabilityInput": { + "description": "Input of CheckHostNameAvailability API.", + "type": "object", + "required": [ + "hostName" + ], + "properties": { + "hostName": { + "description": "The host name to validate.", + "type": "string" + } + } + }, + "ValidationToken": { + "description": "The validation token.", + "type": "object", + "properties": { + "token": { + "readOnly": true, + "type": "string" + } + } + }, + "AFDStateProperties": { + "description": "The tracking states for afd resources.", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "description": "Provisioning status", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Updating", + "Deleting", + "Creating" + ], + "x-ms-enum": { + "name": "AfdProvisioningState", + "modelAsString": true + } + }, + "deploymentStatus": { + "enum": [ + "NotStarted", + "InProgress", + "Succeeded", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DeploymentStatus", + "modelAsString": true + } + } + } + }, + "AfdErrorResponse": { + "title": "Error response", + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).", + "properties": { + "error": { + "description": "The error object.", + "$ref": "./cdn.json#/definitions/ErrorDetail" + } + } + }, + "MetricsResponse": { + "description": "Metrics Response", + "properties": { + "dateTimeBegin": { + "type": "string", + "format": "date-time" + }, + "dateTimeEnd": { + "type": "string", + "format": "date-time" + }, + "granularity": { + "type": "string", + "enum": [ + "PT5M", + "PT1H", + "P1D" + ], + "x-ms-enum": { + "name": "MetricsGranularity", + "modelAsString": true + } + }, + "series": { + "type": "array", + "items": { + "type": "object", + "properties": { + "metric": { + "type": "string" + }, + "unit": { + "type": "string", + "enum": [ + "count", + "bytes", + "bitsPerSecond", + "milliSeconds" + ], + "x-ms-enum": { + "name": "MetricsSeriesUnit", + "modelAsString": true + } + }, + "groups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "x-ms-identifiers": [ + "name" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "dateTime": { + "type": "string", + "format": "date-time" + }, + "value": { + "type": "number" + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "RankingsResponse": { + "description": "Rankings Response", + "properties": { + "dateTimeBegin": { + "type": "string", + "format": "date-time" + }, + "dateTimeEnd": { + "type": "string", + "format": "date-time" + }, + "tables": { + "type": "array", + "items": { + "type": "object", + "properties": { + "ranking": { + "type": "string" + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "metrics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "metric": { + "type": "string" + }, + "value": { + "type": "integer", + "format": "int64" + }, + "percentage": { + "type": "number" + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "ContinentsResponse": { + "description": "Continents Response", + "properties": { + "continents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + } + }, + "countryOrRegions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "continentId": { + "type": "string" + } + } + } + } + } + }, + "ResourcesResponse": { + "description": "Resources Response", + "properties": { + "endpoints": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "history": { + "type": "boolean" + }, + "customDomains": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "endpointId": { + "type": "string" + }, + "history": { + "type": "boolean" + } + } + } + } + } + } + }, + "customDomains": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "endpointId": { + "type": "string" + }, + "history": { + "type": "boolean" + } + } + } + } + } + }, + "WafMetricsResponse": { + "description": "Waf Metrics Response", + "properties": { + "dateTimeBegin": { + "type": "string", + "format": "date-time" + }, + "dateTimeEnd": { + "type": "string", + "format": "date-time" + }, + "granularity": { + "type": "string", + "enum": [ + "PT5M", + "PT1H", + "P1D" + ], + "x-ms-enum": { + "name": "WafMetricsGranularity", + "modelAsString": true + } + }, + "series": { + "type": "array", + "items": { + "type": "object", + "properties": { + "metric": { + "type": "string" + }, + "unit": { + "type": "string", + "enum": [ + "count" + ], + "x-ms-enum": { + "name": "WafMetricsSeriesUnit", + "modelAsString": true + } + }, + "groups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "x-ms-identifiers": [ + "name" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "dateTime": { + "type": "string", + "format": "date-time" + }, + "value": { + "type": "number" + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "WafRankingsResponse": { + "description": "Waf Rankings Response", + "properties": { + "dateTimeBegin": { + "type": "string", + "format": "date-time" + }, + "dateTimeEnd": { + "type": "string", + "format": "date-time" + }, + "groups": { + "type": "array", + "items": { + "type": "string" + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "groupValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "metrics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "metric": { + "type": "string" + }, + "value": { + "type": "integer", + "format": "int64" + }, + "percentage": { + "type": "number", + "format": "double" + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "UsageName": { + "properties": { + "value": { + "type": "string", + "description": "A string describing the resource name." + }, + "localizedValue": { + "type": "string", + "description": "A localized string describing the resource name." + } + }, + "description": "The usage names." + }, + "Usage": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Resource identifier." + }, + "unit": { + "type": "string", + "description": "An enum describing the unit of measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": true + } + }, + "currentValue": { + "type": "integer", + "format": "int64", + "description": "The current value of the usage." + }, + "limit": { + "type": "integer", + "format": "int64", + "description": "The limit of usage." + }, + "name": { + "$ref": "#/definitions/UsageName", + "description": "The name of the type of usage." + } + }, + "required": [ + "unit", + "currentValue", + "limit", + "name" + ], + "description": "Describes resource usage." + }, + "UsagesListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list of resource usages." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "The list usages operation response." + }, + "ActivatedResourceReference": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "isActive": { + "readOnly": true, + "type": "boolean", + "description": "Whether the resource is active or inactive" + } + }, + "description": "Reference to another resource along with its state.", + "type": "object", + "x-ms-azure-resource": 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 2023-05-01." + }, + "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." + }, + "profileNameParameter": { + "name": "profileName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "minLength": 1, + "maxLength": 260, + "x-ms-parameter-location": "method", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium which is unique within the resource group." + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/cdn.json new file mode 100644 index 000000000000..0dc0c15f794a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/cdn.json @@ -0,0 +1,7070 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "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 Azure Front Door Standard, Azure Front Door Premium, and 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 Azure Front Door Standard, Azure Front Door Premium, and 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 an Azure Front Door Standard or Azure Front Door Premium or 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 Azure Front Door Standard or Azure Front Door Premium or 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 Azure Front Door Standard or Azure Front Door Premium or 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 Azure Front Door Standard or Azure Front Door Premium or 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.", + "headers": { + "location": { + "type": "string" + } + }, + "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 Azure Front Door Standard or Azure Front Door Premium or 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 Azure Front Door Standard or Azure Front Door Premium or 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.", + "headers": { + "location": { + "type": "string" + } + }, + "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 Azure Front Door Standard or Azure Front Door Premium or 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 Azure Front Door Standard or Azure Front Door Premium or 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." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "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/canMigrate": { + "post": { + "tags": [ + "Profiles" + ], + "description": "Checks if CDN profile can be migrated to Azure Frontdoor(Standard/Premium) profile.", + "operationId": "Profiles_CanMigrate", + "x-ms-examples": { + "Profiles_CanMigrate": { + "$ref": "./examples/Profiles_CanMigrate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "description": "Properties needed to check if cdn profile or classic frontdoor can be migrated.", + "in": "body", + "name": "canMigrateParameters", + "required": true, + "schema": { + "$ref": "#/definitions/CanMigrateParameters" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CanMigrateResult" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/migrate": { + "post": { + "tags": [ + "Profiles" + ], + "description": "Migrate the CDN profile to Azure Frontdoor(Standard/Premium) profile. The change need to be committed after this.", + "operationId": "Profiles_Migrate", + "x-ms-examples": { + "Profiles_Migrate": { + "$ref": "./examples/Profiles_Migrate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "description": "Properties needed to migrate the profile.", + "in": "body", + "name": "migrationParameters", + "required": true, + "schema": { + "$ref": "#/definitions/MigrationParameters" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/MigrateResult" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/MigrateResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/migrationCommit": { + "post": { + "tags": [ + "Profiles" + ], + "description": "Commit the migrated Azure Frontdoor(Standard/Premium) profile.", + "operationId": "Profiles_MigrationCommit", + "x-ms-examples": { + "Profiles_MigrationCommit": { + "$ref": "./examples/Profiles_MigrationCommit.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." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/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 Azure Front Door Standard or Azure Front Door Premium or 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 Azure Front Door Standard or Azure Front Door Premium or 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 Azure Front Door Standard or Azure Front Door Premium or 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.", + "headers": { + "location": { + "type": "string" + } + }, + "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 can be updated after creating an endpoint. To update origins, use the Update Origin operation. To update origin groups, use the Update Origin group 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", + "headers": { + "location": { + "type": "string" + } + }, + "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": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "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.", + "headers": { + "location": { + "type": "string" + } + }, + "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.", + "headers": { + "location": { + "type": "string" + } + }, + "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.", + "headers": { + "location": { + "type": "string" + } + } + }, + "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.", + "headers": { + "location": { + "type": "string" + } + } + }, + "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" + } + } + } + }, + "put": { + "tags": [ + "Origins" + ], + "description": "Creates a new origin within the specified endpoint.", + "operationId": "Origins_Create", + "x-ms-examples": { + "Origins_Create": { + "$ref": "./examples/Origins_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": "originName", + "in": "path", + "description": "Name of the origin that is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "name": "origin", + "in": "body", + "description": "Origin properties", + "required": true, + "schema": { + "$ref": "#/definitions/Origin" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Origin" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new origin has been created.", + "schema": { + "$ref": "#/definitions/Origin" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Origin" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "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.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Origin" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Origins" + ], + "description": "Deletes an existing origin within an endpoint.", + "operationId": "Origins_Delete", + "x-ms-examples": { + "Origins_Delete": { + "$ref": "./examples/Origins_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": "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." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the origin 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}/originGroups": { + "get": { + "tags": [ + "OriginGroups" + ], + "description": "Lists all of the existing origin groups within an endpoint.", + "operationId": "OriginGroups_ListByEndpoint", + "x-ms-examples": { + "OriginsGroups_ListByEndpoint": { + "$ref": "./examples/OriginGroups_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/OriginGroupListResult" + } + }, + "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}/originGroups/{originGroupName}": { + "get": { + "tags": [ + "OriginGroups" + ], + "description": "Gets an existing origin group within an endpoint.", + "operationId": "OriginGroups_Get", + "x-ms-examples": { + "OriginGroups_Get": { + "$ref": "./examples/OriginGroups_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": "originGroupName", + "in": "path", + "description": "Name of the origin group 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/OriginGroup" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "OriginGroups" + ], + "description": "Creates a new origin group within the specified endpoint.", + "operationId": "OriginGroups_Create", + "x-ms-examples": { + "OriginGroups_Create": { + "$ref": "./examples/OriginGroups_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": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "name": "originGroup", + "in": "body", + "description": "Origin group properties", + "required": true, + "schema": { + "$ref": "#/definitions/OriginGroup" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OriginGroup" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new origin group has been created.", + "schema": { + "$ref": "#/definitions/OriginGroup" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/OriginGroup" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "OriginGroups" + ], + "description": "Updates an existing origin group within an endpoint.", + "operationId": "OriginGroups_Update", + "x-ms-examples": { + "OriginGroups_Update": { + "$ref": "./examples/OriginGroups_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": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "name": "originGroupUpdateProperties", + "in": "body", + "description": "Origin group properties", + "required": true, + "schema": { + "$ref": "#/definitions/OriginGroupUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OriginGroup" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/OriginGroup" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "OriginGroups" + ], + "description": "Deletes an existing origin group within an endpoint.", + "operationId": "OriginGroups_Delete", + "x-ms-examples": { + "OriginGroups_Delete": { + "$ref": "./examples/OriginGroups_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": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the 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.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the origin 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": { + "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.", + "headers": { + "location": { + "type": "string" + } + }, + "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.", + "headers": { + "location": { + "type": "string" + } + }, + "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.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "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}/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.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/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": "A profile is a logical grouping of endpoints that share the same settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "description": "The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the profile.", + "$ref": "#/definitions/Sku" + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "Kind of the profile. Used by portal to differentiate traditional CDN profile and new AFD profile." + }, + "identity": { + "description": "Managed service identity (system assigned and/or user assigned identities).", + "type": "object", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "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", + "Migrating", + "Migrated", + "PendingMigrationCommit", + "CommittingMigration", + "AbortingMigration" + ], + "type": "string", + "x-ms-enum": { + "name": "ProfileResourceState", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "description": "Provisioning status of the profile.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Updating", + "Deleting", + "Creating" + ], + "x-ms-enum": { + "name": "ProfileProvisioningState", + "modelAsString": true + } + }, + "extendedProperties": { + "description": "Key-Value pair representing additional properties for profiles.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "frontDoorId": { + "readOnly": true, + "type": "string", + "description": "The Id of the frontdoor." + }, + "originResponseTimeoutSeconds": { + "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.", + "type": "integer", + "format": "int32", + "minimum": 16, + "exclusiveMinimum": false + } + } + }, + "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" + } + }, + "identity": { + "description": "Managed service identity (system assigned and/or user assigned identities).", + "type": "object", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProfilePropertiesUpdateParameters" + } + }, + "x-ms-azure-resource": true + }, + "ProfilePropertiesUpdateParameters": { + "type": "object", + "description": "The JSON object containing profile update parameters.", + "properties": { + "originResponseTimeoutSeconds": { + "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.", + "type": "integer", + "format": "int32", + "minimum": 16, + "exclusiveMinimum": false + } + } + }, + "CanMigrateResult": { + "type": "object", + "description": "Result for canMigrate operation.", + "properties": { + "canMigrate": { + "readOnly": true, + "description": "Flag that says if the profile can be migrated", + "type": "boolean" + }, + "defaultSku": { + "readOnly": true, + "description": "Recommended sku for the migration", + "type": "string", + "enum": [ + "Standard_AzureFrontDoor", + "Premium_AzureFrontDoor" + ], + "x-ms-enum": { + "name": "CanMigrateDefaultSku", + "modelAsString": true + } + }, + "errors": { + "items": { + "description": "List of migration errors", + "$ref": "#/definitions/MigrationErrorType" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "x-ms-azure-resource": true + }, + "MigrationErrorType": { + "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" + }, + "resourceName": { + "description": "Resource which has the problem.", + "readOnly": true, + "type": "string" + }, + "errorMessage": { + "description": "Error message indicating why the operation failed.", + "readOnly": true, + "type": "string" + }, + "nextSteps": { + "description": "Describes what needs to be done to fix the problem", + "readOnly": true, + "type": "string" + } + } + }, + "CanMigrateParameters": { + "type": "object", + "description": "Request body for CanMigrate operation.", + "required": [ + "classicResourceReference" + ], + "properties": { + "classicResourceReference": { + "description": "Resource reference of the classic cdn profile or classic frontdoor that need to be migrated.", + "$ref": "#/definitions/ResourceReference" + } + }, + "x-ms-azure-resource": true + }, + "MigrationParameters": { + "type": "object", + "description": "Request body for Migrate operation.", + "required": [ + "classicResourceReference", + "sku", + "profileName" + ], + "properties": { + "sku": { + "description": "Sku for the migration", + "$ref": "#/definitions/Sku" + }, + "classicResourceReference": { + "description": "Resource reference of the classic cdn profile or classic frontdoor that need to be migrated.", + "$ref": "#/definitions/ResourceReference" + }, + "profileName": { + "description": "Name of the new profile that need to be created.", + "type": "string" + }, + "migrationWebApplicationFirewallMappings": { + "description": "Waf mapping for the migrated profile", + "type": "array", + "items": { + "description": "List of waf mappings", + "$ref": "#/definitions/MigrationWebApplicationFirewallMapping" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-azure-resource": true + }, + "MigrationWebApplicationFirewallMapping": { + "description": "Web Application Firewall Mapping ", + "type": "object", + "properties": { + "migratedFrom": { + "description": "Migration From Waf policy", + "$ref": "#/definitions/ResourceReference" + }, + "migratedTo": { + "description": "Migration to Waf policy", + "$ref": "#/definitions/ResourceReference" + } + } + }, + "MigrateResult": { + "type": "object", + "description": "Result for migrate operation.", + "properties": { + "migratedProfileResourceId": { + "readOnly": true, + "description": "Arm resource id of the migrated profile", + "$ref": "#/definitions/ResourceReference" + }, + "errors": { + "items": { + "description": "List of migration errors", + "$ref": "#/definitions/MigrationErrorType" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "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" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "originGroups": { + "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability.", + "type": "array", + "items": { + "$ref": "#/definitions/DeepCreatedOriginGroup" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "customDomains": { + "description": "The custom domains under the endpoint.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/DeepCreatedCustomDomain" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "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", + "enum": [ + "Succeeded", + "Failed", + "Updating", + "Deleting", + "Creating" + ], + "x-ms-enum": { + "name": "EndpointProvisioningState", + "modelAsString": true + } + } + } + }, + "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": { + "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" + } + }, + "originHostHeader": { + "description": "The host header value sent to the origin with each request. This property at Endpoint is only allowed when endpoint uses single origin and can be overridden by the same property specified at origin.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" + }, + "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", + "default": true + }, + "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", + "default": true + }, + "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", + "default": "NotSet" + }, + "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. This property is only relevant when using a single origin.", + "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" + }, + "x-ms-identifiers": [] + }, + "defaultOriginGroup": { + "description": "A reference to the origin group.", + "type": "object", + "$ref": "#/definitions/ResourceReference" + }, + "urlSigningKeys": { + "description": "List of keys used to validate the signed URL hashes.", + "type": "array", + "items": { + "$ref": "#/definitions/UrlSigningKey" + }, + "x-ms-identifiers": [ + "keyId" + ] + }, + "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" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "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", + "format": "int32" + }, + "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryRuleCondition" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryRuleAction" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "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", + "SocketAddr", + "ClientPort", + "ServerPort", + "HostName", + "SslProtocol" + ], + "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" + } + } + }, + "DeliveryRuleSocketAddrCondition": { + "description": "Defines the SocketAddress condition for the delivery rule.", + "type": "object", + "x-ms-discriminator-value": "SocketAddr", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/SocketAddrMatchConditionParameters" + } + } + }, + "DeliveryRuleClientPortCondition": { + "description": "Defines the ClientPort condition for the delivery rule.", + "type": "object", + "x-ms-discriminator-value": "ClientPort", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/ClientPortMatchConditionParameters" + } + } + }, + "DeliveryRuleServerPortCondition": { + "description": "Defines the ServerPort condition for the delivery rule.", + "type": "object", + "x-ms-discriminator-value": "ServerPort", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/ServerPortMatchConditionParameters" + } + } + }, + "DeliveryRuleHostNameCondition": { + "description": "Defines the HostName condition for the delivery rule.", + "type": "object", + "x-ms-discriminator-value": "HostName", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/HostNameMatchConditionParameters" + } + } + }, + "DeliveryRuleSslProtocolCondition": { + "description": "Defines the SslProtocol condition for the delivery rule.", + "type": "object", + "x-ms-discriminator-value": "SslProtocol", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/SslProtocolMatchConditionParameters" + } + } + }, + "RemoteAddressMatchConditionParameters": { + "description": "Defines the parameters for RemoteAddress match conditions", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "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", + "default": false + }, + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "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", + "default": false + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + }, + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleQueryStringConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "QueryStringOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "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", + "RegEx" + ], + "x-ms-enum": { + "name": "PostArgsOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleRequestUriConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "RequestUriOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "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", + "RegEx" + ], + "x-ms-enum": { + "name": "RequestHeaderOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleRequestBodyConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "RequestBodyOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleRequestSchemeConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Equal" + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + }, + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleUrlPathMatchConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "Wildcard", + "RegEx" + ], + "x-ms-enum": { + "name": "UrlPathOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleUrlFileExtensionMatchConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "UrlFileExtensionOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleUrlFilenameConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "UrlFileNameOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "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", + "default": false + }, + "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" + } + } + } + }, + "CookiesMatchConditionParameters": { + "description": "Defines the parameters for Cookies match conditions", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "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", + "RegEx" + ], + "x-ms-enum": { + "name": "CookiesOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "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", + "default": false + }, + "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" + } + } + } + }, + "SocketAddrMatchConditionParameters": { + "description": "Defines the parameters for SocketAddress match conditions", + "type": "object", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleSocketAddrConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "IPMatch" + ], + "x-ms-enum": { + "name": "SocketAddrOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "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" + } + } + } + }, + "ClientPortMatchConditionParameters": { + "description": "Defines the parameters for ClientPort match conditions", + "type": "object", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleClientPortConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "ClientPortOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "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" + } + } + } + }, + "ServerPortMatchConditionParameters": { + "description": "Defines the parameters for ServerPort match conditions", + "type": "object", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleServerPortConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "ServerPortOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "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" + } + } + } + }, + "HostNameMatchConditionParameters": { + "description": "Defines the parameters for HostName match conditions", + "type": "object", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleHostNameConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "HostNameOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "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" + } + } + } + }, + "SslProtocolMatchConditionParameters": { + "description": "Defines the parameters for SslProtocol match conditions", + "type": "object", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleSslProtocolConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Equal" + ], + "x-ms-enum": { + "name": "SslProtocolOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "$ref": "#/definitions/SslProtocol" + } + }, + "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", + "UrlSigning", + "OriginGroupOverride", + "RouteConfigurationOverride" + ], + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "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 #." + } + } + }, + "UrlSigningAction": { + "description": "Defines the url signing action for the delivery rule.", + "x-ms-discriminator-value": "UrlSigning", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/UrlSigningActionParameters" + } + } + }, + "UrlSigningActionParameters": { + "description": "Defines the parameters for the Url Signing action.", + "required": [ + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleUrlSigningActionParameters" + ] + }, + "algorithm": { + "description": "Algorithm to use for URL signing", + "type": "string", + "enum": [ + "SHA256" + ], + "x-ms-enum": { + "name": "algorithm", + "modelAsString": true + } + }, + "parameterNameOverride": { + "description": "Defines which query string parameters in the url to be considered for expires, key id etc. ", + "type": "array", + "items": { + "$ref": "#/definitions/UrlSigningParamIdentifier" + }, + "x-ms-identifiers": [ + "paramName" + ] + } + } + }, + "UrlSigningParamIdentifier": { + "description": "Defines how to identify a parameter for a specific purpose e.g. expires", + "required": [ + "paramIndicator", + "paramName" + ], + "properties": { + "paramIndicator": { + "description": "Indicates the purpose of the parameter", + "type": "string", + "enum": [ + "Expires", + "KeyId", + "Signature" + ], + "x-ms-enum": { + "name": "paramIndicator", + "modelAsString": true + } + }, + "paramName": { + "description": "Parameter name", + "type": "string" + } + } + }, + "OriginGroupOverrideAction": { + "description": "Defines the origin group override action for the delivery rule.", + "x-ms-discriminator-value": "OriginGroupOverride", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/OriginGroupOverrideActionParameters" + } + } + }, + "OriginGroupOverrideActionParameters": { + "description": "Defines the parameters for the origin group override action.", + "required": [ + "originGroup", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleOriginGroupOverrideActionParameters" + ] + }, + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup.", + "type": "object", + "$ref": "#/definitions/ResourceReference" + } + } + }, + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleUrlRewriteActionParameters" + ] + }, + "sourcePattern": { + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched.", + "type": "string" + }, + "destination": { + "description": "Define the relative URL to which the above requests will be rewritten by.", + "type": "string" + }, + "preserveUnmatchedPath": { + "description": "Whether to preserve unmatched path. Default value is true.", + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "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", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "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 + } + } + }, + "DeliveryRuleRouteConfigurationOverrideAction": { + "description": "Defines the route configuration override action for the delivery rule. Only applicable to Frontdoor Standard/Premium Profiles.", + "type": "object", + "x-ms-discriminator-value": "RouteConfigurationOverride", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/RouteConfigurationOverrideActionParameters" + } + } + }, + "RouteConfigurationOverrideActionParameters": { + "description": "Defines the parameters for the route configuration override action.", + "type": "object", + "required": [ + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleRouteConfigurationOverrideActionParameters" + ] + }, + "originGroupOverride": { + "description": "A reference to the origin group override configuration. Leave empty to use the default origin group on route.", + "type": "object", + "$ref": "#/definitions/OriginGroupOverride" + }, + "cacheConfiguration": { + "description": "The caching configuration associated with this rule. To disable caching, do not provide a cacheConfiguration object.", + "type": "object", + "$ref": "#/definitions/CacheConfiguration" + } + } + }, + "OriginGroupOverride": { + "description": "Defines the parameters for the origin group override configuration.", + "type": "object", + "properties": { + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup on route.", + "type": "object", + "$ref": "#/definitions/ResourceReference" + }, + "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", + "type": "string", + "enum": [ + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ], + "x-ms-enum": { + "name": "ForwardingProtocol", + "modelAsString": true + } + } + } + }, + "CacheConfiguration": { + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", + "type": "object", + "properties": { + "queryStringCachingBehavior": { + "description": "Defines how Frontdoor caches requests that include query strings. You can ignore any query strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query strings.", + "enum": [ + "IgnoreQueryString", + "UseQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings" + ], + "type": "string", + "x-ms-enum": { + "name": "ruleQueryStringCachingBehavior", + "modelAsString": true + } + }, + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string" + }, + "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB.", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ruleIsCompressionEnabled", + "modelAsString": true + } + }, + "cacheBehavior": { + "description": "Caching behavior for the requests", + "type": "string", + "enum": [ + "HonorOrigin", + "OverrideAlways", + "OverrideIfOriginMissing" + ], + "x-ms-enum": { + "name": "ruleCacheBehavior", + "modelAsString": true + } + }, + "cacheDuration": { + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" + } + } + }, + "transform": { + "description": "Describes what transforms are applied before matching", + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "x-ms-enum": { + "name": "transform", + "modelAsString": true + } + }, + "SslProtocol": { + "description": "The protocol of an established TLS connection.", + "type": "string", + "enum": [ + "TLSv1", + "TLSv1.1", + "TLSv1.2" + ], + "x-ms-enum": { + "name": "SslProtocol", + "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 which must be unique within the endpoint. ", + "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. This should be unique across all origins in an endpoint.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "type": "integer", + "format": "int32", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "type": "integer", + "format": "int32", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + }, + "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" + }, + "priority": { + "description": "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.", + "type": "integer", + "format": "int32", + "maximum": 5, + "minimum": 1 + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "type": "integer", + "format": "int32", + "maximum": 1000, + "minimum": 1 + }, + "enabled": { + "description": "Origin is enabled for load balancing or not. By default, origin is always enabled.", + "type": "boolean" + }, + "privateLinkAlias": { + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" + }, + "privateLinkLocation": { + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" + }, + "privateLinkApprovalMessage": { + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" + }, + "privateEndpointStatus": { + "description": "The approval status for the connection to the Private Link", + "$ref": "#/definitions/PrivateEndpointStatus", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "DeepCreatedOriginGroup": { + "description": "The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the origin group based on origin health.", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Origin group name which must be unique within the endpoint.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DeepCreatedOriginGroupProperties" + } + }, + "x-ms-azure-resource": true + }, + "DeepCreatedOriginGroupProperties": { + "description": "Properties of the origin group created on the CDN endpoint.", + "type": "object", + "required": [ + "origins" + ], + "properties": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "type": "object", + "$ref": "#/definitions/HealthProbeParameters" + }, + "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", + "type": "array", + "items": { + "description": "A reference to a origin.", + "$ref": "#/definitions/ResourceReference" + } + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "description": "Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.", + "type": "integer", + "format": "int32", + "maximum": 50, + "minimum": 0 + }, + "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported.", + "type": "object", + "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" + } + }, + "x-ms-azure-resource": true + }, + "ResourceReference": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to another resource.", + "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 or region codes defining user country or region 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" + } + } + } + }, + "UrlSigningKey": { + "description": "Url signing key", + "required": [ + "keyId", + "keySourceParameters" + ], + "properties": { + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" + }, + "keySourceParameters": { + "description": "Defines the parameters for using customer key vault for Url Signing Key.", + "$ref": "#/definitions/KeyVaultSigningKeyParameters" + } + } + }, + "KeyVaultSigningKeyParameters": { + "description": "Describes the parameters for using a user's KeyVault for URL Signing Key.", + "required": [ + "typeName", + "subscriptionId", + "resourceGroupName", + "vaultName", + "secretName", + "secretVersion" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "KeyVaultSigningKeyParameters" + ] + }, + "subscriptionId": { + "description": "Subscription Id of the user's Key Vault containing the secret", + "type": "string" + }, + "resourceGroupName": { + "description": "Resource group of the user's Key Vault containing the secret", + "type": "string" + }, + "vaultName": { + "description": "The name of the user's Key Vault containing the secret", + "type": "string" + }, + "secretName": { + "description": "The name of secret in Key Vault.", + "type": "string" + }, + "secretVersion": { + "description": "The version(GUID) of secret in Key Vault.", + "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/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OriginProperties" + } + } + }, + "OriginProperties": { + "description": "The JSON object that contains the properties of the origin.", + "required": [ + "hostName" + ], + "allOf": [ + { + "$ref": "#/definitions/OriginUpdatePropertiesParameters" + } + ], + "properties": { + "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", + "enum": [ + "Succeeded", + "Failed", + "Updating", + "Deleting", + "Creating" + ], + "x-ms-enum": { + "name": "OriginProvisioningState", + "modelAsString": true + } + }, + "privateEndpointStatus": { + "description": "The approval status for the connection to the Private Link", + "$ref": "#/definitions/PrivateEndpointStatus", + "type": "string", + "readOnly": true + } + } + }, + "OriginUpdateParameters": { + "type": "object", + "description": "Origin properties needed for origin update.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OriginUpdatePropertiesParameters" + } + }, + "x-ms-azure-resource": true + }, + "OriginUpdatePropertiesParameters": { + "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.This should be unique across all origins in an endpoint.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "type": "integer", + "format": "int32", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "type": "integer", + "format": "int32", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + }, + "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. This overrides the host header defined at Endpoint", + "type": "string" + }, + "priority": { + "description": "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5", + "type": "integer", + "format": "int32", + "maximum": 5, + "minimum": 1 + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "type": "integer", + "format": "int32", + "maximum": 1000, + "minimum": 1 + }, + "enabled": { + "description": "Origin is enabled for load balancing or not", + "type": "boolean" + }, + "privateLinkAlias": { + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" + }, + "privateLinkLocation": { + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" + }, + "privateLinkApprovalMessage": { + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" + } + } + }, + "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." + } + } + }, + "OriginGroup": { + "description": "Origin group comprising of origins is used for load balancing to origins when the content cannot be served from CDN.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OriginGroupProperties" + } + } + }, + "OriginGroupProperties": { + "description": "The JSON object that contains the properties of the origin group.", + "type": "object", + "required": [ + "origins" + ], + "allOf": [ + { + "$ref": "#/definitions/OriginGroupUpdatePropertiesParameters" + } + ], + "properties": { + "resourceState": { + "description": "Resource status of the origin group.", + "readOnly": true, + "enum": [ + "Creating", + "Active", + "Deleting" + ], + "type": "string", + "x-ms-enum": { + "name": "OriginGroupResourceState", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "description": "Provisioning status of the origin group.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Updating", + "Deleting", + "Creating" + ], + "x-ms-enum": { + "name": "OriginGroupProvisioningState", + "modelAsString": true + } + } + } + }, + "OriginGroupUpdateParameters": { + "type": "object", + "description": "Origin group properties needed for origin group creation or update.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OriginGroupUpdatePropertiesParameters" + } + }, + "x-ms-azure-resource": true + }, + "OriginGroupUpdatePropertiesParameters": { + "description": "The JSON object that contains the properties of the origin group.", + "properties": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "type": "object", + "$ref": "#/definitions/HealthProbeParameters" + }, + "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", + "type": "array", + "items": { + "description": "A reference to a origin.", + "$ref": "#/definitions/ResourceReference" + } + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "description": "Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.", + "type": "integer", + "format": "int32", + "maximum": 50, + "minimum": 0 + }, + "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.", + "type": "object", + "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" + } + } + }, + "HealthProbeParameters": { + "description": "The JSON object that contains the properties to send health probes to origin.", + "properties": { + "probePath": { + "description": "The path relative to the origin that is used to determine the health of the origin.", + "type": "string" + }, + "probeRequestType": { + "description": "The type of health probe request that is made.", + "enum": [ + "NotSet", + "GET", + "HEAD" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthProbeRequestType", + "modelAsString": false + } + }, + "probeProtocol": { + "description": "Protocol to use for health probe.", + "type": "string", + "enum": [ + "NotSet", + "Http", + "Https" + ], + "x-ms-enum": { + "name": "ProbeProtocol", + "modelAsString": false + } + }, + "probeIntervalInSeconds": { + "description": "The number of seconds between health probes.Default is 240sec.", + "type": "integer", + "format": "int32", + "maximum": 255, + "minimum": 1 + } + } + }, + "ResponseBasedOriginErrorDetectionParameters": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.", + "properties": { + "responseBasedDetectedErrorTypes": { + "description": "Type of response errors for real user requests for which origin will be deemed unhealthy", + "type": "string", + "enum": [ + "None", + "TcpErrorsOnly", + "TcpAndHttpErrors" + ], + "x-ms-enum": { + "name": "ResponseBasedDetectedErrorTypes", + "modelAsString": false + } + }, + "responseBasedFailoverThresholdPercentage": { + "description": "The percentage of failed requests in the sample where failover should trigger.", + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 0 + }, + "httpErrorRanges": { + "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.", + "type": "array", + "items": { + "$ref": "#/definitions/HttpErrorRangeParameters" + }, + "x-ms-identifiers": [] + } + } + }, + "HttpErrorRangeParameters": { + "description": "The JSON object that represents the range for http status codes", + "properties": { + "begin": { + "description": "The inclusive start of the http status code range.", + "type": "integer", + "format": "int32", + "maximum": 999, + "minimum": 100 + }, + "end": { + "description": "The inclusive end of the http status code range.", + "type": "integer", + "format": "int32", + "maximum": 999, + "minimum": 100 + } + } + }, + "OriginGroupListResult": { + "description": "Result of the request to list origin groups. It contains a list of origin groups objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OriginGroup" + }, + "description": "List of CDN origin groups within an endpoint" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of origin objects if there are any." + } + } + }, + "DeepCreatedCustomDomain": { + "description": "Custom domains created on the CDN endpoint.", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Custom domain name.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DeepCreatedCustomDomainProperties" + } + } + }, + "DeepCreatedCustomDomainProperties": { + "description": "Properties of the custom domain created on the CDN endpoint.", + "type": "object", + "required": [ + "hostName" + ], + "properties": { + "hostName": { + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" + }, + "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" + } + } + }, + "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 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": { + "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 + } + } + } + }, + "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": [ + "typeName", + "certificateType" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "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": [ + "typeName", + "subscriptionId", + "resourceGroupName", + "vaultName", + "secretName", + "updateRule", + "deleteRule" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "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" + }, + "x-ms-identifiers": [ + "resourceType" + ], + "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.", + "enum": [ + "count" + ], + "x-ms-enum": { + "name": "ResourceUsageUnit", + "modelAsString": true + } + }, + "currentValue": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Actual value of usage on the specified resource type." + }, + "limit": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Quota of the specified resource type." + } + } + }, + "ResourceType": { + "description": "Type of CDN resource used in CheckNameAvailability.", + "enum": [ + "Microsoft.Cdn/Profiles/Endpoints", + "Microsoft.Cdn/Profiles/AfdEndpoints" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceType", + "modelAsString": true + } + }, + "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", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [ + "name" + ], + "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." + } + } + }, + "Operation": { + "description": "CDN REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "readOnly": true, + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "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" + }, + "description": { + "description": "Description of operation.", + "readOnly": true, + "type": "string" + } + } + }, + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of operations." + }, + "properties": { + "description": "Properties of operation, include metric specifications.", + "x-ms-client-flatten": true, + "x-ms-client-name": "OperationProperties", + "$ref": "#/definitions/OperationProperties" + } + } + }, + "OperationProperties": { + "description": "Properties of operation, include metric specifications.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + } + }, + "ServiceSpecification": { + "description": "One property of operation, include log specifications.", + "type": "object", + "properties": { + "logSpecifications": { + "description": "Log specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "metricSpecifications": { + "description": "Metric specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "LogSpecification": { + "description": "Log specification of operation.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of log specification." + }, + "displayName": { + "type": "string", + "description": "Display name of log specification." + }, + "blobDuration": { + "type": "string", + "description": "Blob duration of specification." + }, + "logFilterPattern": { + "type": "string", + "description": "Pattern to filter based on name" + } + } + }, + "MetricSpecification": { + "description": "Metric specification of operation.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of metric specification." + }, + "displayName": { + "type": "string", + "description": "Display name of metric specification." + }, + "displayDescription": { + "type": "string", + "description": "Display description of metric specification." + }, + "unit": { + "type": "string", + "description": "The metric unit. Possible values include: 'Bytes', 'Count', 'Milliseconds'." + }, + "aggregationType": { + "type": "string", + "description": "The metric aggregation type. Possible values include: 'Average', 'Count', 'Total'." + }, + "availabilities": { + "description": "Retention policies of a resource metric.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricAvailability" + }, + "x-ms-identifiers": [] + }, + "supportedTimeGrainTypes": { + "type": "array", + "description": "The supported time grain types for the metrics.", + "items": { + "type": "string" + } + }, + "dimensions": { + "type": "array", + "description": "The dimensions of metric", + "items": { + "$ref": "#/definitions/DimensionProperties" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "fillGapWithZero": { + "type": "boolean", + "description": "Property to specify whether to fill gap with zero." + }, + "metricFilterPattern": { + "type": "string", + "description": "Pattern to filter based on name" + }, + "isInternal": { + "type": "boolean", + "description": "Property to specify metric is internal or not." + } + } + }, + "DimensionProperties": { + "description": "Type of operation: get, read, delete, etc.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of dimension." + }, + "internalName": { + "type": "string", + "description": "Internal name of dimension." + } + } + }, + "MetricAvailability": { + "description": "Retention policy of a resource metric.", + "type": "object", + "properties": { + "timeGrain": { + "type": "string" + }, + "blobDuration": { + "type": "string" + } + } + }, + "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" + }, + "x-ms-identifiers": [ + "deliveryRegion" + ] + } + } + }, + "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" + }, + "x-ms-identifiers": [ + "baseIpAddress" + ] + }, + "ipv6Addresses": { + "description": "The list of ip v6 addresses.", + "type": "array", + "items": { + "$ref": "#/definitions/cidrIpAddress" + }, + "x-ms-identifiers": [ + "baseIpAddress" + ] + } + } + }, + "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", + "format": "int32" + } + } + }, + "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" + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "SystemData": { + "description": "Read only system data", + "readOnly": true, + "type": "object", + "properties": { + "createdBy": { + "type": "string", + "description": "An identifier for the identity that created the resource" + }, + "createdByType": { + "$ref": "#/definitions/IdentityType", + "description": "The type of identity that created the resource" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)" + }, + "lastModifiedBy": { + "type": "string", + "description": "An identifier for the identity that last modified the resource" + }, + "lastModifiedByType": { + "$ref": "#/definitions/IdentityType", + "description": "The type of identity that last modified the resource" + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + "IdentityType": { + "description": "The type of identity that creates/modifies resources", + "type": "string", + "enum": [ + "user", + "application", + "managedIdentity", + "key" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": 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" + } + ], + "properties": {} + }, + "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 + } + }, + "PrivateEndpointStatus": { + "description": "The approval status for the connection to the Private Link", + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "x-ms-enum": { + "name": "PrivateEndpointStatus", + "modelAsString": true + } + }, + "Sku": { + "description": "Standard_Verizon = The SKU name for a Standard Verizon CDN profile.\nPremium_Verizon = The SKU name for a Premium Verizon CDN profile.\nCustom_Verizon = The SKU name for a Custom Verizon CDN profile.\nStandard_Akamai = The SKU name for an Akamai CDN profile.\nStandard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using GB based billing model.\nStandard_Microsoft = The SKU name for a Standard Microsoft CDN profile.\nStandard_AzureFrontDoor = The SKU name for an Azure Front Door Standard profile.\nPremium_AzureFrontDoor = The SKU name for an Azure Front Door Premium profile.\nStandard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using 95-5 peak bandwidth billing model.\nStandard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using monthly average peak bandwidth billing model.\nStandardPlus_ChinaCdn = The SKU name for a China CDN profile for live-streaming using GB based billing model.\nStandardPlus_955BandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing model.\nStandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average peak bandwidth billing model.\n", + "properties": { + "name": { + "description": "Name of the pricing tier.", + "enum": [ + "Standard_Verizon", + "Premium_Verizon", + "Custom_Verizon", + "Standard_Akamai", + "Standard_ChinaCdn", + "Standard_Microsoft", + "Standard_AzureFrontDoor", + "Premium_AzureFrontDoor", + "Standard_955BandWidth_ChinaCdn", + "Standard_AvgBandWidth_ChinaCdn", + "StandardPlus_ChinaCdn", + "StandardPlus_955BandWidth_ChinaCdn", + "StandardPlus_AvgBandWidth_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": { + "title": "Error response", + "description": "Error response indicates Azure Front Door Standard or Azure Front Door Premium or CDN service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "error": { + "description": "The error object.", + "$ref": "#/definitions/ErrorDetail" + } + } + }, + "ErrorDetail": { + "description": "The error detail.", + "type": "object", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-identifiers": [ + "message", + "target" + ], + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "x-ms-identifiers": [], + "description": "The error additional info." + } + } + }, + "ErrorAdditionalInfo": { + "type": "object", + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The additional info type." + }, + "info": { + "readOnly": true, + "type": "object", + "description": "The additional info." + } + }, + "description": "The resource management error additional info." + } + }, + "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 2023-05-01." + }, + "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/2023-05-01/cdnwebapplicationfirewall.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/cdnwebapplicationfirewall.json new file mode 100644 index 000000000000..42548023e68a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/cdnwebapplicationfirewall.json @@ -0,0 +1,977 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "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.", + "headers": { + "location": { + "type": "string" + } + }, + "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.", + "headers": { + "location": { + "type": "string" + } + }, + "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." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./cdn.json#/definitions/ErrorResponse" + } + } + }, + "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" + } + }, + "extendedProperties": { + "description": "Key-Value pair representing additional properties for Web Application Firewall policy.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "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", + "format": "int32", + "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" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "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", + "format": "int32", + "maximum": 1000, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false + }, + "matchConditions": { + "description": "List of match conditions.", + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + }, + "x-ms-identifiers": [] + }, + "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" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "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", + "format": "int32", + "minimum": 0, + "exclusiveMinimum": false + }, + "rateLimitDurationInMinutes": { + "description": "Defines rate limit duration. Default is 1 minute.", + "type": "integer", + "format": "int32", + "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": "WafMatchVariable", + "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" + }, + "x-ms-identifiers": [ + "ruleSetType", + "ruleSetVersion" + ] + } + } + }, + "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", + "format": "int32", + "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" + }, + "x-ms-identifiers": [ + "ruleGroupName" + ] + } + } + }, + "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 enabled. If none specified, all rules in the group will be disabled.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleOverride" + }, + "x-ms-identifiers": [ + "ruleId" + ] + } + } + }, + "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" + }, + "x-ms-identifiers": [ + "ruleGroupName" + ], + "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" + }, + "x-ms-identifiers": [ + "ruleId" + ], + "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 2023-05-01." + }, + "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/2023-05-01/examples/AFDCustomDomains_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_Create.json new file mode 100644 index 000000000000..652ffc9c7d4d --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_Create.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "customDomainName": "domain1", + "customDomain": { + "properties": { + "hostName": "www.someDomain.net", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "minimumTlsVersion": "TLS12" + }, + "azureDnsZone": { + "id": "" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/domain1", + "name": "domain1", + "type": "Microsoft.Cdn/profiles/customdomains", + "properties": { + "profileName": "profile1", + "hostName": "www.contoso.com", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "minimumTlsVersion": "TLS12", + "secret": { + "id": "" + } + }, + "azureDnsZone": { + "id": "" + }, + "preValidatedCustomDomainResourceId": { + "id": "" + }, + "validationProperties": { + "validationToken": "", + "expirationDate": "" + }, + "domainValidationState": "Submitting", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/domain1", + "name": "domain1", + "type": "Microsoft.Cdn/profiles/customdomains", + "properties": { + "profileName": "profile1", + "hostName": "www.contoso.com", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "minimumTlsVersion": "TLS12", + "secret": { + "id": "" + } + }, + "azureDnsZone": { + "id": "" + }, + "preValidatedCustomDomainResourceId": { + "id": "" + }, + "validationProperties": { + "validationToken": "", + "expirationDate": "" + }, + "domainValidationState": "Submitting", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/domain1", + "name": "domain1", + "type": "Microsoft.Cdn/profiles/customdomains", + "properties": { + "profileName": "profile1", + "hostName": "www.contoso.com", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "minimumTlsVersion": "TLS12", + "secret": { + "id": "" + } + }, + "azureDnsZone": { + "id": "" + }, + "preValidatedCustomDomainResourceId": { + "id": "" + }, + "validationProperties": { + "validationToken": "", + "expirationDate": "" + }, + "domainValidationState": "Submitting", + "provisioningState": "Creating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_Delete.json new file mode 100644 index 000000000000..0e884e07222e --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "customDomainName": "domain1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_Get.json new file mode 100644 index 000000000000..63bacb2be206 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_Get.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "customDomainName": "domain1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/domain1", + "name": "domain1", + "type": "Microsoft.Cdn/profiles/customdomains", + "properties": { + "profileName": "profile1", + "hostName": "www.contoso.com", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "minimumTlsVersion": "TLS12", + "secret": { + "id": "" + } + }, + "azureDnsZone": { + "id": "" + }, + "preValidatedCustomDomainResourceId": { + "id": "" + }, + "validationProperties": { + "validationToken": "8c9912db-c615-4eeb-8465", + "expirationDate": "2009-06-15T13:45:43.0000000Z" + }, + "domainValidationState": "Pending", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_ListByProfile.json new file mode 100644 index 000000000000..4ac2cc376673 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_ListByProfile.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/domain1", + "name": "domain1", + "type": "Microsoft.Cdn/profiles/customdomains", + "properties": { + "profileName": "profile1", + "hostName": "www.contoso.com", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "minimumTlsVersion": "TLS12", + "secret": { + "id": "" + } + }, + "azureDnsZone": { + "id": "" + }, + "preValidatedCustomDomainResourceId": { + "id": "" + }, + "validationProperties": { + "validationToken": "8c9912db-c615-4eeb-8465", + "expirationDate": "2009-06-15T13:45:43.0000000Z" + }, + "domainValidationState": "Pending", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_RefreshValidationToken.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_RefreshValidationToken.json new file mode 100644 index 000000000000..a5d8be5ab121 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_RefreshValidationToken.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "customDomainName": "domain1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_Update.json new file mode 100644 index 000000000000..047722d24c66 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDCustomDomains_Update.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "customDomainName": "domain1", + "customDomainUpdateProperties": { + "properties": { + "tlsSettings": { + "certificateType": "CustomerCertificate", + "minimumTlsVersion": "TLS12" + }, + "azureDnsZone": { + "id": "" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/domain1", + "name": "domain1", + "type": "Microsoft.Cdn/profiles/customdomains", + "properties": { + "profileName": "profile1", + "hostName": "www.contoso.com", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "minimumTlsVersion": "TLS12", + "secret": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/mysecert" + } + }, + "azureDnsZone": { + "id": "" + }, + "preValidatedCustomDomainResourceId": { + "id": "" + }, + "validationProperties": { + "validationToken": "8c9912db-c615-4eeb-8465", + "expirationDate": "2009-06-15T13:45:43.0000000Z" + }, + "domainValidationState": "Approved", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/domain1", + "name": "domain1", + "type": "Microsoft.Cdn/profiles/customdomains", + "properties": { + "profileName": "profile1", + "hostName": "www.contoso.com", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "minimumTlsVersion": "TLS12", + "secret": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/mysecert" + } + }, + "azureDnsZone": { + "id": "" + }, + "preValidatedCustomDomainResourceId": { + "id": "" + }, + "validationProperties": { + "validationToken": "8c9912db-c615-4eeb-8465", + "expirationDate": "2009-06-15T13:45:43.0000000Z" + }, + "domainValidationState": "Approved", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_Create.json new file mode 100644 index 000000000000..3073d1d92c41 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_Create.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "endpoint": { + "tags": {}, + "location": "global", + "properties": { + "enabledState": "Enabled", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + }, + "responses": { + "200": { + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/afdendpoints", + "tags": {}, + "location": "global", + "properties": { + "hostName": "endpoint1-abcdefghijklmnop.z01.azurefd.net", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + }, + "201": { + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/afdendpoints", + "tags": {}, + "location": "global", + "properties": { + "hostName": "endpoint1-abcdefghijklmnop.z01.azurefd.net", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/afdendpoints", + "tags": {}, + "location": "global", + "properties": { + "hostName": "endpoint1-abcdefghijklmnop.z01.azurefd.net", + "enabledState": "Enabled", + "provisioningState": "Creating", + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_Delete.json new file mode 100644 index 000000000000..f2ed6c8607ae --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_Get.json new file mode 100644 index 000000000000..2fc90ba4b272 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/afdendpoints", + "tags": {}, + "location": "global", + "properties": { + "hostName": "endpoint1-abcdefghijklmnop.z01.azurefd.net", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_ListByProfile.json new file mode 100644 index 000000000000..a6c2b2b9f0fb --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_ListByProfile.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/afdendpoints", + "tags": {}, + "location": "global", + "properties": { + "hostName": "endpoint1-abcdefghijklmnop.z01.azurefd.net", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_ListResourceUsage.json new file mode 100644 index 000000000000..13fd45a02d37 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_ListResourceUsage.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 0, + "limit": 25, + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "name": { + "value": "route", + "localizedValue": "route" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_PurgeContent.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_PurgeContent.json new file mode 100644 index 000000000000..6d6dcff8014e --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_PurgeContent.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "contents": { + "contentPaths": [ + "/folder1" + ], + "domains": [ + "endpoint1-abcdefghijklmnop.z01.azurefd.net" + ] + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_Update.json new file mode 100644 index 000000000000..d39e3b9d756a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_Update.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "endpointUpdateProperties": { + "tags": {}, + "properties": { + "enabledState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/afdendpoints", + "tags": {}, + "location": "global", + "properties": { + "hostName": "endpoint1-ezh7ddcmguaeajfu.z01.azureedge.net", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/afdendpoints", + "tags": {}, + "location": "global", + "properties": { + "hostName": "endpoint1-abcdefghijklmnop.z01.azurefd.net", + "enabledState": "Enabled", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_ValidateCustomDomain.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_ValidateCustomDomain.json new file mode 100644 index 000000000000..7d6a4cbb53e6 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDEndpoints_ValidateCustomDomain.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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/2023-05-01/examples/AFDOriginGroups_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_Create.json new file mode 100644 index 000000000000..15a3f3a7e957 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_Create.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1", + "originGroup": { + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path2", + "probeRequestType": "NotSet", + "probeProtocol": "NotSet", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1", + "type": "Microsoft.Cdn/profiles/origingroups", + "name": "origingroup1", + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path1", + "probeRequestType": "HEAD", + "probeProtocol": "Http", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1", + "type": "Microsoft.Cdn/profiles/origingroups", + "name": "origingroup1", + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path1", + "probeRequestType": "HEAD", + "probeProtocol": "Http", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1", + "type": "Microsoft.Cdn/profiles/origingroups", + "name": "origingroup1", + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path1", + "probeRequestType": "HEAD", + "probeProtocol": "Http", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, + "provisioningState": "Creating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_Delete.json new file mode 100644 index 000000000000..aa7368ce33e8 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_Get.json new file mode 100644 index 000000000000..96976a08a856 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1", + "type": "Microsoft.Cdn/profiles/origingroups", + "name": "origingroup1", + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path1", + "probeRequestType": "HEAD", + "probeProtocol": "Http", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_ListByProfile.json new file mode 100644 index 000000000000..848527371280 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_ListByProfile.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1", + "type": "Microsoft.Cdn/profiles/origingroups", + "name": "origingroup1", + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path1", + "probeRequestType": "HEAD", + "probeProtocol": "Http", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_ListResourceUsage.json new file mode 100644 index 000000000000..f94de0ee7fd6 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_ListResourceUsage.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 0, + "limit": 25, + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "name": { + "value": "origin", + "localizedValue": "origin" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_Update.json new file mode 100644 index 000000000000..6028f0883177 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOriginGroups_Update.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1", + "originGroupUpdateProperties": { + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path2", + "probeRequestType": "NotSet", + "probeProtocol": "NotSet", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1", + "type": "Microsoft.Cdn/profiles/origingroups", + "name": "origingroup1", + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path1", + "probeRequestType": "HEAD", + "probeProtocol": "Http", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1", + "type": "Microsoft.Cdn/profiles/origingroups", + "name": "origingroup1", + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path1", + "probeRequestType": "HEAD", + "probeProtocol": "Http", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, + "provisioningState": "Updating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOrigins_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOrigins_Create.json new file mode 100644 index 000000000000..3eaac79bc57e --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOrigins_Create.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1", + "originName": "origin1", + "origin": { + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "enabledState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "type": "Microsoft.Cdn/profiles/origingroups/origins", + "name": "origin1", + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "priority": null, + "weight": null, + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "originGroupName": "origingroup1", + "sharedPrivateLinkResource": null, + "enforceCertificateNameCheck": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "type": "Microsoft.Cdn/profiles/origingroups/origins", + "name": "origin1", + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "priority": null, + "weight": null, + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "originGroupName": "origingroup1", + "sharedPrivateLinkResource": null, + "enforceCertificateNameCheck": true + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "type": "Microsoft.Cdn/profiles/origingroups/origins", + "name": "origin1", + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "priority": null, + "weight": null, + "enabledState": "Enabled", + "provisioningState": "Creating", + "deploymentStatus": "NotStarted", + "originGroupName": "origingroup1", + "sharedPrivateLinkResource": null, + "enforceCertificateNameCheck": true + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOrigins_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOrigins_Delete.json new file mode 100644 index 000000000000..4bcba8d967b9 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOrigins_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1", + "originName": "origin1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOrigins_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOrigins_Get.json new file mode 100644 index 000000000000..705619fe9dbb --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOrigins_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1", + "originName": "origin1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "type": "Microsoft.Cdn/profiles/origingroups/origins", + "name": "origin1", + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "priority": null, + "weight": null, + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "originGroupName": "origingroup1", + "sharedPrivateLinkResource": null, + "enforceCertificateNameCheck": true + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOrigins_ListByOriginGroup.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOrigins_ListByOriginGroup.json new file mode 100644 index 000000000000..21d09248a19f --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOrigins_ListByOriginGroup.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "type": "Microsoft.Cdn/profiles/origingroups/origins", + "name": "origin1", + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "priority": null, + "weight": null, + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "originGroupName": "origingroup1", + "sharedPrivateLinkResource": null, + "enforceCertificateNameCheck": true + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOrigins_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOrigins_Update.json new file mode 100644 index 000000000000..8e76b9eb79b7 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDOrigins_Update.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1", + "originName": "origin1", + "originUpdateProperties": { + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "type": "Microsoft.Cdn/profiles/origingroups/origins", + "name": "origin1", + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "priority": null, + "weight": null, + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "originGroupName": "origingroup1", + "sharedPrivateLinkResource": null, + "enforceCertificateNameCheck": true + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "type": "Microsoft.Cdn/profiles/origingroups/origins", + "name": "origin1", + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "priority": null, + "weight": null, + "enabledState": "Enabled", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted", + "originGroupName": "origingroup1", + "sharedPrivateLinkResource": null, + "enforceCertificateNameCheck": true + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDProfiles_CheckEndpointNameAvailability.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDProfiles_CheckEndpointNameAvailability.json new file mode 100644 index 000000000000..b7481596c185 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDProfiles_CheckEndpointNameAvailability.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "myResourceGroup", + "profileName": "profile1", + "checkEndpointNameAvailabilityInput": { + "name": "sampleName", + "type": "Microsoft.Cdn/Profiles/AfdEndpoints", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "Name is already in use", + "message": "Name not available", + "availableHostname": "" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDProfiles_CheckHostNameAvailability.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDProfiles_CheckHostNameAvailability.json new file mode 100644 index 000000000000..be48bc58fa80 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDProfiles_CheckHostNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "checkHostNameAvailabilityInput": { + "hostName": "www.someDomain.net" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "Conflict", + "message": "The hostname 'www.someDomain.net' is already owned by another profile." + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDProfiles_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDProfiles_ListResourceUsage.json new file mode 100644 index 000000000000..fa6af7a4f440 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDProfiles_ListResourceUsage.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 0, + "limit": 25, + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "name": { + "value": "afdendpoint", + "localizedValue": "afdendpoint" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDProfiles_Upgrade.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDProfiles_Upgrade.json new file mode 100644 index 000000000000..2eb0c7b040b9 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDProfiles_Upgrade.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "profileUpgradeParameters": { + "wafMappingList": [ + { + "securityPolicyName": "securityPolicy1", + "changeToWafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/waf2" + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "name": "profile1", + "location": "Global", + "kind": "frontdoor", + "tags": {}, + "sku": { + "name": "Standard_AzureFrontDoor" + }, + "properties": { + "extendedProperties": {}, + "frontDoorId": "id", + "originResponseTimeoutSeconds": 60, + "provisioningState": "Succeeded", + "resourceState": "Enabled" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "name": "profile1", + "location": "Global", + "kind": "frontdoor", + "tags": {}, + "sku": { + "name": "Standard_AzureFrontDoor" + }, + "properties": { + "originResponseTimeoutSeconds": 60, + "frontDoorId": "id", + "extendedProperties": {}, + "resourceState": "Upgrading", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDProfiles_ValidateSecret.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDProfiles_ValidateSecret.json new file mode 100644 index 000000000000..fc78935bb826 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/AFDProfiles_ValidateSecret.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "validateSecretInput": { + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vault/kvName/certificate/certName" + }, + "secretType": "CustomerCertificate" + } + }, + "responses": { + "200": { + "body": { + "status": "Valid", + "message": null + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CheckEndpointNameAvailability.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CheckEndpointNameAvailability.json new file mode 100644 index 000000000000..4d1973da89de --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CheckEndpointNameAvailability.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "myResourceGroup", + "checkEndpointNameAvailabilityInput": { + "name": "sampleName", + "type": "Microsoft.Cdn/Profiles/AfdEndpoints", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "Name is already in use", + "message": "Name not available", + "availableHostname": "" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CheckNameAvailability.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..5b6ecc5e6f92 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CheckNameAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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/2023-05-01/examples/CheckNameAvailabilityWithSubscription.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CheckNameAvailabilityWithSubscription.json new file mode 100644 index 000000000000..ea8c3142c3dc --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CheckNameAvailabilityWithSubscription.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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/2023-05-01/examples/CustomDomains_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CustomDomains_Create.json new file mode 100644 index 000000000000..991baa922344 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CustomDomains_Create.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "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/2023-05-01/examples/CustomDomains_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CustomDomains_Delete.json new file mode 100644 index 000000000000..10d91af68d3a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CustomDomains_Delete.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainName": "www-someDomain-net" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "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/2023-05-01/examples/CustomDomains_DisableCustomHttps.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CustomDomains_DisableCustomHttps.json new file mode 100644 index 000000000000..089c9f3919f4 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CustomDomains_DisableCustomHttps.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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": "CertificateDeleted", + "validationData": null + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "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/2023-05-01/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json new file mode 100644 index 000000000000..c08537a39cad --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainName": "www-someDomain-net", + "customHttpsParameters": { + "MinimumTLSVersion": "TLS12", + "certificateSource": "AzureKeyVault", + "protocolType": "ServerNameIndication", + "certificateSourceParameters": { + "typeName": "KeyVaultCertificateSourceParameters", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "vaultName": "kv", + "secretName": "secret1", + "secretVersion": "00000000-0000-0000-0000-000000000000", + "updateRule": "NoAction", + "deleteRule": "NoAction" + } + } + }, + "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": "Enabled", + "customHttpsProvisioningSubstate": "CertificateDeployed", + "validationData": "validationdata" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "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/2023-05-01/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json new file mode 100644 index 000000000000..a3cc48f2faee --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainName": "www-someDomain-net", + "customHttpsParameters": { + "MinimumTLSVersion": "TLS12", + "certificateSource": "Cdn", + "protocolType": "ServerNameIndication", + "certificateSourceParameters": { + "typeName": "CdnCertificateSourceParameters", + "certificateType": "Shared" + } + } + }, + "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": "Enabled", + "customHttpsProvisioningSubstate": "CertificateDeployed", + "validationData": "validationdata" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "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/2023-05-01/examples/CustomDomains_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CustomDomains_Get.json new file mode 100644 index 000000000000..acf8ee19265d --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CustomDomains_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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/2023-05-01/examples/CustomDomains_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CustomDomains_ListByEndpoint.json new file mode 100644 index 000000000000..444d7b3b3ea0 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/CustomDomains_ListByEndpoint.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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/2023-05-01/examples/EdgeNodes_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/EdgeNodes_List.json new file mode 100644 index 000000000000..be9c90b4cf6d --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/EdgeNodes_List.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2023-05-01" + }, + "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/2023-05-01/examples/Endpoints_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Create.json new file mode 100644 index 000000000000..674bb537f322 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Create.json @@ -0,0 +1,546 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "endpoint": { + "location": "WestUs", + "tags": { + "key1": "value1" + }, + "properties": { + "originHostHeader": "www.bing.com", + "originPath": "/photos", + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true, + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "BypassCaching", + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + }, + "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" + ], + "typeName": "DeliveryRuleRemoteAddressConditionParameters" + } + } + ], + "actions": [ + { + "name": "CacheExpiration", + "parameters": { + "cacheBehavior": "Override", + "cacheDuration": "10:10:09", + "typeName": "DeliveryRuleCacheExpirationActionParameters", + "cacheType": "All" + } + }, + { + "name": "ModifyResponseHeader", + "parameters": { + "headerAction": "Overwrite", + "headerName": "Access-Control-Allow-Origin", + "value": "*", + "typeName": "DeliveryRuleHeaderActionParameters" + } + }, + { + "name": "ModifyRequestHeader", + "parameters": { + "headerAction": "Overwrite", + "headerName": "Accept-Encoding", + "value": "gzip", + "typeName": "DeliveryRuleHeaderActionParameters" + } + } + ] + } + ] + }, + "origins": [ + { + "name": "origin1", + "properties": { + "hostName": "www.someDomain1.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain1.net", + "priority": 1, + "weight": 50, + "enabled": true + } + }, + { + "name": "origin2", + "properties": { + "hostName": "www.someDomain2.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + }, + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + ] + } + } + }, + "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", + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + }, + "origins": [ + { + "name": "origin1", + "properties": { + "hostName": "www.someDomain1.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain1.net", + "priority": 1, + "weight": 50, + "enabled": true + } + }, + { + "name": "origin2", + "properties": { + "hostName": "www.someDomain2.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + }, + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + ], + "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": { + "typeName": "DeliveryRuleRemoteAddressConditionParameters", + "operator": "IPMatch", + "negateCondition": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + } + ], + "actions": [ + { + "name": "CacheExpiration", + "parameters": { + "typeName": "DeliveryRuleCacheExpirationActionParameters", + "cacheBehavior": "Override", + "cacheDuration": "10:10:09", + "cacheType": "All" + } + }, + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Access-Control-Allow-Origin", + "value": "*" + } + }, + { + "name": "ModifyRequestHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Accept-Encoding", + "value": "gzip" + } + } + ] + } + ] + } + } + } + }, + "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", + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + }, + "origins": [ + { + "name": "origin1", + "properties": { + "hostName": "www.someDomain1.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain1.net", + "priority": 1, + "weight": 50, + "enabled": true + } + }, + { + "name": "origin2", + "properties": { + "hostName": "www.someDomain2.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + }, + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + ], + "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": { + "typeName": "DeliveryRuleRemoteAddressConditionParameters", + "operator": "IPMatch", + "negateCondition": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + } + ], + "actions": [ + { + "name": "CacheExpiration", + "parameters": { + "typeName": "DeliveryRuleCacheExpirationActionParameters", + "cacheBehavior": "Override", + "cacheDuration": "10:10:09", + "cacheType": "All" + } + }, + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Access-Control-Allow-Origin", + "value": "*" + } + }, + { + "name": "ModifyRequestHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Accept-Encoding", + "value": "gzip" + } + } + ] + } + ] + } + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "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", + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + }, + "origins": [ + { + "name": "origin1", + "properties": { + "hostName": "www.someDomain1.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain1.net", + "priority": 1, + "weight": 50, + "enabled": true + } + }, + { + "name": "origin2", + "properties": { + "hostName": "www.someDomain2.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + }, + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + ], + "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": { + "typeName": "DeliveryRuleRemoteAddressConditionParameters", + "operator": "IPMatch", + "negateCondition": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + } + ], + "actions": [ + { + "name": "CacheExpiration", + "parameters": { + "typeName": "DeliveryRuleCacheExpirationActionParameters", + "cacheBehavior": "Override", + "cacheDuration": "10:10:09", + "cacheType": "All" + } + }, + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Access-Control-Allow-Origin", + "value": "*" + } + }, + { + "name": "ModifyRequestHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Accept-Encoding", + "value": "gzip" + } + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Delete.json new file mode 100644 index 000000000000..f2ed6c8607ae --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Get.json new file mode 100644 index 000000000000..67da24dae9ea --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Get.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com" + } + ] + } + } + ], + "customDomains": [ + { + "name": "www-someDomain-net", + "properties": { + "hostName": "www.someDomain.Net", + "validationData": null + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": "DynamicSiteAcceleration", + "probePath": "/image", + "geoFilters": [], + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + } + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_ListByProfile.json new file mode 100644 index 000000000000..2cf0656aeb4b --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_ListByProfile.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + ], + "customDomains": [ + { + "name": "www-someDomain-net", + "properties": { + "hostName": "www.someDomain.Net", + "validationData": null + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": "DynamicSiteAcceleration", + "probePath": "/image", + "geoFilters": [], + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + } + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_ListResourceUsage.json new file mode 100644 index 000000000000..1081bb82b983 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_ListResourceUsage.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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/2023-05-01/examples/Endpoints_LoadContent.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_LoadContent.json new file mode 100644 index 000000000000..08cc4c35ab90 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_LoadContent.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "contentFilePaths": { + "contentPaths": [ + "/folder1" + ] + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_PurgeContent.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_PurgeContent.json new file mode 100644 index 000000000000..08cc4c35ab90 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_PurgeContent.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "contentFilePaths": { + "contentPaths": [ + "/folder1" + ] + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Start.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Start.json new file mode 100644 index 000000000000..8438e8e9e920 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Start.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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": [] + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "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": [] + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Stop.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Stop.json new file mode 100644 index 000000000000..e8d6e1ae7876 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Stop.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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": [] + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "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": [] + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Update.json new file mode 100644 index 000000000000..17309a3e0f01 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_Update.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "endpointUpdateProperties": { + "tags": { + "additionalProperties": "Tag1" + } + } + }, + "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, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com" + } + ] + } + } + ], + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + }, + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": null, + "probePath": null, + "geoFilters": [] + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "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, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com" + } + ] + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": null, + "probePath": null, + "geoFilters": [], + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + } + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_ValidateCustomDomain.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_ValidateCustomDomain.json new file mode 100644 index 000000000000..7d6a4cbb53e6 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Endpoints_ValidateCustomDomain.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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/2023-05-01/examples/LogAnalytics_GetLogAnalyticsLocations.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetLogAnalyticsLocations.json new file mode 100644 index 000000000000..f574ba7ea0a6 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetLogAnalyticsLocations.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "metrics": "clientRequestCount", + "granularity": "PT5M", + "groupBy": "httpStatusCode", + "dateTimeBegin": "2020-11-04T05:00:00.000Z", + "dateTimeEnd": "2020-11-04T06:00:00.000Z" + }, + "responses": { + "200": { + "body": { + "continents": [ + { + "id": "africa" + }, + { + "id": "antarctica" + }, + { + "id": "asia" + }, + { + "id": "europe" + }, + { + "id": "northAmerica" + }, + { + "id": "oceania" + }, + { + "id": "southAmerica" + } + ], + "countryOrRegions": [ + { + "id": "dz", + "continentId": "africa" + }, + { + "id": "ao", + "continentId": "africa" + }, + { + "id": "bw", + "continentId": "africa" + }, + { + "id": "bi", + "continentId": "africa" + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetLogAnalyticsMetrics.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetLogAnalyticsMetrics.json new file mode 100644 index 000000000000..b41c0cfbac50 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetLogAnalyticsMetrics.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "metrics": [ + "clientRequestCount" + ], + "granularity": "PT5M", + "groupBy": [ + "protocol" + ], + "dateTimeBegin": "2020-11-04T04:30:00.000Z", + "dateTimeEnd": "2020-11-04T05:00:00.000Z", + "customDomains": [ + "customdomain1.azurecdn.net", + "customdomain2.azurecdn.net" + ], + "protocols": [ + "https" + ] + }, + "responses": { + "200": { + "body": { + "dateTimeBegin": "2020-11-04T12:30:27.554+08:00", + "dateTimeEnd": "2020-11-04T13:00:27.554+08:00", + "granularity": "PT5M", + "series": [ + { + "metric": "clientRequestCount", + "unit": "count", + "groups": [ + { + "name": "protocol", + "value": "https" + } + ], + "data": [ + { + "dateTime": "2020-11-04T04:35:00+00:00", + "value": 4250 + }, + { + "dateTime": "2020-11-04T04:40:00+00:00", + "value": 3120 + }, + { + "dateTime": "2020-11-04T04:45:00+00:00", + "value": 2221 + }, + { + "dateTime": "2020-11-04T04:50:00+00:00", + "value": 2466 + }, + { + "dateTime": "2020-11-04T04:55:00+00:00", + "value": 2654 + }, + { + "dateTime": "2020-11-04T05:00:00+00:00", + "value": 3565 + } + ] + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetLogAnalyticsRankings.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetLogAnalyticsRankings.json new file mode 100644 index 000000000000..13ca2b9571f0 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetLogAnalyticsRankings.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "rankings": [ + "url" + ], + "metrics": [ + "clientRequestCount" + ], + "maxRanking": "5", + "dateTimeBegin": "2020-11-04T06:49:27.554Z", + "dateTimeEnd": "2020-11-04T09:49:27.554Z" + }, + "responses": { + "200": { + "body": { + "dateTimeBegin": "2020-11-04T14:49:27.554+08:00", + "dateTimeEnd": "2020-11-04T17:49:27.554+08:00", + "tables": [ + { + "ranking": "url", + "data": [ + { + "name": "https://testdomain.com/favicon.png", + "metrics": [ + { + "metric": "clientRequestCount", + "value": 2336, + "percentage": 8.28133862733976 + } + ] + }, + { + "name": "https://testdomain.com/js/app.js", + "metrics": [ + { + "metric": "clientRequestCount", + "value": 2140, + "percentage": 7.586500283607488 + } + ] + }, + { + "name": "https://testdomain.com/js/lang/en.js", + "metrics": [ + { + "metric": "clientRequestCount", + "value": 1536, + "percentage": 5.445263754963131 + } + ] + }, + { + "name": "https://testdomain.com/js/lib.js", + "metrics": [ + { + "metric": "clientRequestCount", + "value": 1480, + "percentage": 5.246738513896767 + } + ] + }, + { + "name": "https://cdn.exam.net/css/lib.css", + "metrics": [ + { + "metric": "clientRequestCount", + "value": 1452, + "percentage": 5.147475893363584 + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetLogAnalyticsResources.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetLogAnalyticsResources.json new file mode 100644 index 000000000000..7672e1855aeb --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetLogAnalyticsResources.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "endpoints": [ + { + "id": "endpoint1", + "name": "endpoint1.azureedge.net", + "history": false, + "customDomains": [ + { + "id": "customdomain1.azurecdn.net", + "name": "customdomain1.azurecdn.net", + "endpointId": "enbdpiont1", + "history": true + }, + { + "id": "customdomain2.azurecdn.net", + "name": "customdomain2.azurecdn.net", + "endpointId": null, + "history": true + } + ] + } + ], + "customDomains": [ + { + "id": "customdomain1.azurecdn.net", + "name": "customdomain1.azurecdn.net", + "endpointId": null, + "history": true + }, + { + "id": "customdomain2.azurecdn.net", + "name": "customdomain2.azurecdn.net", + "endpointId": null, + "history": true + }, + { + "id": "customdomain3.azurecdn.net", + "name": "customdomain3.azurecdn.net", + "endpointId": null, + "history": true + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetWafLogAnalyticsMetrics.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetWafLogAnalyticsMetrics.json new file mode 100644 index 000000000000..8a176f12300e --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetWafLogAnalyticsMetrics.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "metrics": [ + "clientRequestCount" + ], + "dateTimeBegin": "2020-11-04T06:49:27.554Z", + "dateTimeEnd": "2020-11-04T09:49:27.554Z", + "actions": [ + "block", + "log" + ], + "granularity": "PT5M" + }, + "responses": { + "200": { + "body": { + "dateTimeBegin": "2020-11-04T14:30:27.554+08:00", + "dateTimeEnd": "2020-11-04T17:00:27.554+08:00", + "granularity": "PT5M", + "series": [ + { + "metric": "clientRequestCount", + "unit": "count", + "groups": [], + "data": [ + { + "dateTime": "2020-11-04T07:05:00+00:00", + "value": 2 + }, + { + "dateTime": "2020-11-04T07:10:00+00:00", + "value": 32 + }, + { + "dateTime": "2020-11-04T07:15:00+00:00", + "value": 31 + }, + { + "dateTime": "2020-11-04T07:20:00+00:00", + "value": 63 + }, + { + "dateTime": "2020-11-04T07:25:00+00:00", + "value": 50 + }, + { + "dateTime": "2020-11-04T07:30:00+00:00", + "value": 12 + }, + { + "dateTime": "2020-11-04T07:35:00+00:00", + "value": 8 + }, + { + "dateTime": "2020-11-04T07:40:00+00:00", + "value": 21 + }, + { + "dateTime": "2020-11-04T07:45:00+00:00", + "value": 30 + }, + { + "dateTime": "2020-11-04T07:50:00+00:00", + "value": 18 + }, + { + "dateTime": "2020-11-04T07:55:00+00:00", + "value": 28 + }, + { + "dateTime": "2020-11-04T08:00:00+00:00", + "value": 3 + }, + { + "dateTime": "2020-11-04T08:05:00+00:00", + "value": 58 + }, + { + "dateTime": "2020-11-04T08:10:00+00:00", + "value": 42 + }, + { + "dateTime": "2020-11-04T08:15:00+00:00", + "value": 17 + }, + { + "dateTime": "2020-11-04T08:20:00+00:00", + "value": 21 + }, + { + "dateTime": "2020-11-04T08:25:00+00:00", + "value": 41 + }, + { + "dateTime": "2020-11-04T08:30:00+00:00", + "value": 8 + }, + { + "dateTime": "2020-11-04T08:35:00+00:00", + "value": 15 + }, + { + "dateTime": "2020-11-04T08:40:00+00:00", + "value": 25 + }, + { + "dateTime": "2020-11-04T08:45:00+00:00", + "value": 13 + }, + { + "dateTime": "2020-11-04T08:50:00+00:00", + "value": 17 + }, + { + "dateTime": "2020-11-04T08:55:00+00:00", + "value": 29 + }, + { + "dateTime": "2020-11-04T09:00:00+00:00", + "value": 17 + } + ] + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetWafLogAnalyticsRankings.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetWafLogAnalyticsRankings.json new file mode 100644 index 000000000000..f0ad3c02684a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/LogAnalytics_GetWafLogAnalyticsRankings.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "rankings": [ + "ruleId" + ], + "metrics": [ + "clientRequestCount" + ], + "maxRanking": "5", + "dateTimeBegin": "2020-11-04T06:49:27.554Z", + "dateTimeEnd": "2020-11-04T09:49:27.554Z" + }, + "responses": { + "200": { + "body": { + "dateTimeBegin": "2020-11-04T14:49:27.554+08:00", + "dateTimeEnd": "2020-11-04T17:49:27.554+08:00", + "groups": [ + "ruleId" + ], + "data": [ + { + "groupValues": [ + "BlockRateLimit" + ], + "metrics": [ + { + "metric": "clientRequestCount", + "value": 1268, + "percentage": 0 + } + ] + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Operations_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Operations_List.json new file mode 100644 index 000000000000..34484e2f8b47 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Operations_List.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2023-05-01" + }, + "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/2023-05-01/examples/OriginGroups_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/OriginGroups_Create.json new file mode 100644 index 000000000000..02bb2f39f67d --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/OriginGroups_Create.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originGroupName": "origingroup1", + "originGroup": { + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "origingroup1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1", + "type": "Microsoft.Cdn/profiles/endpoints/origingroups", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + }, + "201": { + "body": { + "name": "origingroup1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1", + "type": "Microsoft.Cdn/profiles/endpoints/origingroups", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "name": "originGroup1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1", + "type": "Microsoft.Cdn/profiles/endpoints/origingroups", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/OriginGroups_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/OriginGroups_Delete.json new file mode 100644 index 000000000000..72cd82d7def4 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/OriginGroups_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originGroupName": "originGroup1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/OriginGroups_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/OriginGroups_Get.json new file mode 100644 index 000000000000..46f85be44044 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/OriginGroups_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originGroupName": "originGroup1" + }, + "responses": { + "200": { + "body": { + "name": "origingroup1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1", + "type": "Microsoft.Cdn/profiles/endpoints/origingroups", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpAndHttpErrors", + "responseBasedFailoverThresholdPercentage": 10, + "httpErrorRanges": [ + { + "begin": 500, + "end": 505 + } + ] + } + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/OriginGroups_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/OriginGroups_ListByEndpoint.json new file mode 100644 index 000000000000..9ef154d2269b --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/OriginGroups_ListByEndpoint.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "origingroup1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1", + "type": "Microsoft.Cdn/profiles/endpoints/origingroups", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/OriginGroups_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/OriginGroups_Update.json new file mode 100644 index 000000000000..f2c95768e123 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/OriginGroups_Update.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originGroupName": "originGroup1", + "originGroupUpdateProperties": { + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "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", + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2" + } + ] + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "name": "www-someDomain-net", + "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", + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2" + } + ] + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Origins_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Origins_Create.json new file mode 100644 index 000000000000..822f8e2d1b9f --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Origins_Create.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originName": "www-someDomain-net", + "origin": { + "properties": { + "hostName": "www.someDomain.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link" + } + } + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "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": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateEndpointStatus": "Pending", + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link" + } + } + }, + "201": { + "body": { + "name": "www-someDomain-net", + "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": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateEndpointStatus": "Pending", + "privateLinkApprovalMessage": "", + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "name": "www-someDomain-net", + "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": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateEndpointStatus": "Pending", + "privateLinkApprovalMessage": "", + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Origins_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Origins_Delete.json new file mode 100644 index 000000000000..af73f9025b26 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Origins_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originName": "origin1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Origins_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Origins_Get.json new file mode 100644 index 000000000000..1f3709fd1fd9 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Origins_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originName": "www-someDomain-net" + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "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, + "originHostHeader": "www.someDomain.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateEndpointStatus": "Pending", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link", + "privateLinkAlias": "APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Origins_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Origins_ListByEndpoint.json new file mode 100644 index 000000000000..03550dea7c13 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Origins_ListByEndpoint.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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/origins/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "httpPort": null, + "httpsPort": null, + "originHostHeader": "www.someDomain.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateEndpointStatus": "Pending", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link", + "privateLinkAlias": "APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Origins_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Origins_Update.json new file mode 100644 index 000000000000..15f46f3e4568 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Origins_Update.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originName": "www-someDomain-net", + "originUpdateProperties": { + "properties": { + "httpPort": 42, + "httpsPort": 43, + "originHostHeader": "www.someDomain2.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateLinkAlias": "APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice" + } + } + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "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, + "originHostHeader": "www.someDomain2.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateEndpointStatus": "Pending", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link", + "privateLinkAlias": "APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "name": "www-someDomain-net", + "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, + "originHostHeader": "www.someDomain2.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateEndpointStatus": "Pending", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link", + "privateLinkAlias": "APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_CanMigrate.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_CanMigrate.json new file mode 100644 index 000000000000..484c9367ca0b --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_CanMigrate.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "canMigrateParameters": { + "classicResourceReference": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoors/frontdoorname" + } + } + }, + "responses": { + "200": { + "body": { + "canMigrate": true, + "defaultSku": "Standard_AzureFrontDoor", + "errors": null + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2022-05-01-preview" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_Create.json new file mode 100644 index 000000000000..76b107f258d3 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_Create.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "profile": { + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + } + } + }, + "responses": { + "200": { + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + }, + "201": { + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Creating", + "resourceState": "Creating" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_Delete.json new file mode 100644 index 000000000000..6b391661d959 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_GenerateSsoUri.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_GenerateSsoUri.json new file mode 100644 index 000000000000..7cd520d8d1d0 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_GenerateSsoUri.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "ssoUriValue": "https://someuri.com" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_Get.json new file mode 100644 index 000000000000..1a8fa627200a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_List.json new file mode 100644 index 000000000000..9c02db9c3842 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_List.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG1/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + }, + { + "name": "profile2", + "id": "/subscriptions/subid/resourcegroups/RG1/providers/Microsoft.Cdn/profiles/profile2", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_ListByResourceGroup.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_ListByResourceGroup.json new file mode 100644 index 000000000000..968515edf089 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_ListByResourceGroup.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + }, + { + "name": "profile2", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile2", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_ListResourceUsage.json new file mode 100644 index 000000000000..5d978c67ebba --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_ListResourceUsage.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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/2023-05-01/examples/Profiles_ListSupportedOptimizationTypes.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_ListSupportedOptimizationTypes.json new file mode 100644 index 000000000000..f56a413fadb8 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_ListSupportedOptimizationTypes.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "supportedOptimizationTypes": [ + "GeneralWebDelivery", + "DynamicSiteAcceleration" + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_Migrate.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_Migrate.json new file mode 100644 index 000000000000..48fb9d136f83 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_Migrate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "migrationParameters": { + "sku": { + "name": "Standard_AzureFrontDoor" + }, + "classicResourceReference": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoors/frontdoorname" + }, + "profileName": "profile1" + } + }, + "responses": { + "200": { + "body": { + "migratedProfileResourceId": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1" + }, + "errors": null + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "migratedProfileResourceId": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1" + }, + "errors": null + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_MigrationCommit.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_MigrationCommit.json new file mode 100644 index 000000000000..c506a846008c --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_MigrationCommit.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_Update.json new file mode 100644 index 000000000000..4e6ded5782c2 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Profiles_Update.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": { + "additionalProperties": "Tag1" + }, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Updating", + "resourceState": "Active" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/ResourceUsage_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/ResourceUsage_List.json new file mode 100644 index 000000000000..85749fe71ca5 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/ResourceUsage_List.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "profile", + "unit": "count", + "currentValue": 31, + "limit": 200 + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Routes_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Routes_Create.json new file mode 100644 index 000000000000..4a23adca6cc5 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Routes_Create.json @@ -0,0 +1,196 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "routeName": "route1", + "route": { + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreSpecifiedQueryStrings", + "queryParameters": "querystring=test" + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "type": "Microsoft.Cdn/profiles/afdendpoints/routes", + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreSpecifiedQueryStrings", + "queryParameters": "querystring=test" + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "201": { + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "type": "Microsoft.Cdn/profiles/afdendpoints/routes", + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreSpecifiedQueryStrings", + "queryParameters": "querystring=test" + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "type": "Microsoft.Cdn/profiles/afdendpoints/routes", + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreSpecifiedQueryStrings", + "queryParameters": "querystring=test" + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "provisioningState": "Creating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Routes_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Routes_Delete.json new file mode 100644 index 000000000000..c8ee5e5223d6 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Routes_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "routeName": "route1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Routes_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Routes_Get.json new file mode 100644 index 000000000000..21fe6c33ec8f --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Routes_Get.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "routeName": "route1" + }, + "responses": { + "200": { + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "type": "Microsoft.Cdn/profiles/afdendpoints/routes", + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreQueryString", + "queryParameters": null + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Routes_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Routes_ListByEndpoint.json new file mode 100644 index 000000000000..7974f614f148 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Routes_ListByEndpoint.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "route1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "type": "Microsoft.Cdn/profiles/afdendpoints/routes", + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreQueryString", + "queryParameters": null + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Routes_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Routes_Update.json new file mode 100644 index 000000000000..b577d251d9a9 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Routes_Update.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "routeName": "route1", + "routeUpdateProperties": { + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreQueryString" + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "type": "Microsoft.Cdn/profiles/afdendpoints/routes", + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreQueryString", + "queryParameters": null + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "type": "Microsoft.Cdn/profiles/afdendpoints/routes", + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreQueryString", + "queryParameters": null + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/RuleSets_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/RuleSets_Create.json new file mode 100644 index 000000000000..f70e505b0463 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/RuleSets_Create.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1" + }, + "responses": { + "200": { + "body": { + "name": "ruleSet1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1", + "type": "Microsoft.Cdn/profiles/rulesets", + "properties": { + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "201": { + "body": { + "name": "ruleSet1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1", + "type": "Microsoft.Cdn/profiles/rulesets", + "properties": { + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/RuleSets_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/RuleSets_Delete.json new file mode 100644 index 000000000000..700d6aa5ae3c --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/RuleSets_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/RuleSets_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/RuleSets_Get.json new file mode 100644 index 000000000000..f0d6b25bda12 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/RuleSets_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1" + }, + "responses": { + "200": { + "body": { + "name": "ruleSet1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1", + "type": "Microsoft.Cdn/profiles/rulesets", + "properties": { + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/RuleSets_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/RuleSets_ListByProfile.json new file mode 100644 index 000000000000..2bf2d53bbb68 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/RuleSets_ListByProfile.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ruleSet1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1", + "type": "Microsoft.Cdn/profiles/rulesets", + "properties": { + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/RuleSets_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/RuleSets_ListResourceUsage.json new file mode 100644 index 000000000000..5caccaed9fd9 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/RuleSets_ListResourceUsage.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 0, + "limit": 25, + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "name": { + "value": "rule", + "localizedValue": "rule" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Rules_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Rules_Create.json new file mode 100644 index 000000000000..0f35d9ebf78d --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Rules_Create.json @@ -0,0 +1,158 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1", + "ruleName": "rule1", + "rule": { + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false, + "transforms": [] + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "201": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false, + "transforms": [] + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false, + "transforms": [] + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Creating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Rules_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Rules_Delete.json new file mode 100644 index 000000000000..aeb775f5735d --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Rules_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1", + "ruleName": "rule1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Rules_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Rules_Get.json new file mode 100644 index 000000000000..6d2a0178c460 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Rules_Get.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1", + "ruleName": "rule1" + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false, + "transforms": [] + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Rules_ListByRuleSet.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Rules_ListByRuleSet.json new file mode 100644 index 000000000000..4a9a0663b235 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Rules_ListByRuleSet.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false, + "transforms": [] + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Rules_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Rules_Update.json new file mode 100644 index 000000000000..af176521cf96 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Rules_Update.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1", + "ruleName": "rule1", + "ruleUpdateProperties": { + "properties": { + "order": 1, + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false, + "transforms": [] + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false, + "transforms": [] + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Secrets_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Secrets_Create.json new file mode 100644 index 000000000000..568e361d74d3 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Secrets_Create.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "secretName": "secret1", + "secret": { + "properties": { + "parameters": { + "type": "CustomerCertificate", + "secretVersion": "abcdef1234578900abcdef1234567890", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vault/kvName/secrets/certificatename" + }, + "useLatestVersion": false + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "CustomerCertificate", + "subject": "*.contoso.com", + "certificateAuthority": "Symantec", + "expirationDate": "2025-01-01T00:00:00-00:00", + "thumbprint": "ABCDEF1234567890ABCDEF1234567890ABCDEF12", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/keyvaultname/secrets/certificatename" + }, + "secretVersion": "abcdef1234578900abcdef1234567890", + "useLatestVersion": true, + "subjectAlternativeNames": [ + "foo.contoso.com", + "www3.foo.contoso.com" + ] + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "201": { + "body": { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "CustomerCertificate", + "subject": "*.contoso.com", + "certificateAuthority": "Symantec", + "expirationDate": "2025-01-01T00:00:00-00:00", + "thumbprint": "ABCDEF1234567890ABCDEF1234567890ABCDEF12", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/keyvaultname/secrets/certificatename" + }, + "secretVersion": "abcdef1234578900abcdef1234567890", + "useLatestVersion": true, + "subjectAlternativeNames": [ + "foo.contoso.com", + "www3.foo.contoso.com" + ] + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "CustomerCertificate", + "subject": "*.contoso.com", + "certificateAuthority": "Symantec", + "expirationDate": "2025-01-01T00:00:00-00:00", + "thumbprint": "ABCDEF1234567890ABCDEF1234567890ABCDEF12", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/keyvaultname/secrets/certificatename" + }, + "secretVersion": "abcdef1234578900abcdef1234567890", + "useLatestVersion": true, + "subjectAlternativeNames": [ + "foo.contoso.com", + "www3.foo.contoso.com" + ] + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Secrets_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Secrets_Delete.json new file mode 100644 index 000000000000..7d546a223d9c --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Secrets_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "secretName": "secret1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Secrets_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Secrets_Get.json new file mode 100644 index 000000000000..d2e53833ddc5 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Secrets_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "secretName": "secret1" + }, + "responses": { + "200": { + "body": { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "CustomerCertificate", + "subject": "*.contoso.com", + "certificateAuthority": "Symantec", + "expirationDate": "2025-01-01T00:00:00-00:00", + "thumbprint": "ABCDEF1234567890ABCDEF1234567890ABCDEF12", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/keyvaultname/secrets/certificatename" + }, + "secretVersion": "abcdef1234578900abcdef1234567890", + "useLatestVersion": true, + "subjectAlternativeNames": [ + "foo.contoso.com", + "www3.foo.contoso.com" + ] + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Secrets_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Secrets_ListByProfile.json new file mode 100644 index 000000000000..be00dacf8cf3 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/Secrets_ListByProfile.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "CustomerCertificate", + "subject": "*.contoso.com", + "certificateAuthority": "Symantec", + "expirationDate": "2025-01-01T00:00:00-00:00", + "thumbprint": "ABCDEF1234567890ABCDEF1234567890ABCDEF12", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/keyvaultname/secrets/certificatename" + }, + "secretVersion": "abcdef1234578900abcdef1234567890", + "useLatestVersion": true, + "subjectAlternativeNames": [ + "foo.contoso.com", + "www3.foo.contoso.com" + ] + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/autogenerated_secret_name", + "type": "Microsoft.Cdn/profiles/secrets", + "name": "69f05517-6aaf-4a1e-a96d-f8c02f66c756-test12-afdx-test-domains-azfdtest-xyz", + "properties": { + "parameters": { + "type": "ManagedCertificate", + "subject": "bar.contoso.com", + "expirationDate": "2025-01-01T00:00:00-00:00" + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/SecurityPolicies_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/SecurityPolicies_Create.json new file mode 100644 index 000000000000..7fa8a083b7f5 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/SecurityPolicies_Create.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "securityPolicyName": "securityPolicy1", + "securityPolicy": { + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "securityPolicy1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/securitypolicies/securityPolicy1", + "type": "Microsoft.Cdn/profiles/securitypolicies", + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + }, + "deploymentStatus": "NotStarted", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "securityPolicy1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/securitypolicies/securityPolicy1", + "type": "Microsoft.Cdn/profiles/securitypolicies", + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + }, + "deploymentStatus": "NotStarted", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "name": "securityPolicy1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/securitypolicies/securityPolicy1", + "type": "Microsoft.Cdn/profiles/securitypolicies", + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + }, + "deploymentStatus": "NotStarted", + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/SecurityPolicies_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/SecurityPolicies_Delete.json new file mode 100644 index 000000000000..120746167a04 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/SecurityPolicies_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "securityPolicyName": "securityPolicy1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/SecurityPolicies_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/SecurityPolicies_Get.json new file mode 100644 index 000000000000..7ac08cbe0a2c --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/SecurityPolicies_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "securityPolicyName": "securityPolicy1" + }, + "responses": { + "200": { + "body": { + "name": "securityPolicy1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/securitypolicies/securityPolicy1", + "type": "Microsoft.Cdn/profiles/securitypolicies", + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + }, + "deploymentStatus": "NotStarted", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/SecurityPolicies_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/SecurityPolicies_ListByProfile.json new file mode 100644 index 000000000000..03c42973b776 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/SecurityPolicies_ListByProfile.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "securityPolicy1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/securitypolicies/securityPolicy1", + "type": "Microsoft.Cdn/profiles/securitypolicies", + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + }, + "deploymentStatus": "NotStarted", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/SecurityPolicies_Patch.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/SecurityPolicies_Patch.json new file mode 100644 index 000000000000..871f3cea4de9 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/SecurityPolicies_Patch.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "securityPolicyName": "securityPolicy1", + "securityPolicyUpdateProperties": { + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "securityPolicy1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/securitypolicies/securityPolicy1", + "type": "Microsoft.Cdn/profiles/securitypolicies", + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + }, + "deploymentStatus": "NotStarted", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "body": { + "name": "securityPolicy1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/securitypolicies/securityPolicy1", + "type": "Microsoft.Cdn/profiles/securitypolicies", + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + }, + "deploymentStatus": "NotStarted", + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/ValidateProbe.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/ValidateProbe.json new file mode 100644 index 000000000000..3ee354ff4326 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/ValidateProbe.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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/2023-05-01/examples/WafListManagedRuleSets.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/WafListManagedRuleSets.json new file mode 100644 index 000000000000..5da5d848c48a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/WafListManagedRuleSets.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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/2023-05-01/examples/WafListPolicies.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/WafListPolicies.json new file mode 100644 index 000000000000..20f8c39b1d45 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/WafListPolicies.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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/2023-05-01/examples/WafPatchPolicy.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/WafPatchPolicy.json new file mode 100644 index 000000000000..0ba9fc2d7582 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/WafPatchPolicy.json @@ -0,0 +1,275 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "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/2023-05-01/examples/WafPolicyCreateOrUpdate.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/WafPolicyCreateOrUpdate.json new file mode 100644 index 000000000000..673e99febbe4 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/WafPolicyCreateOrUpdate.json @@ -0,0 +1,508 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2023-05-01" + }, + "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/2023-05-01/examples/WafPolicyDelete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/WafPolicyDelete.json new file mode 100644 index 000000000000..deda8db47db5 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/WafPolicyDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/WafPolicyGet.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/WafPolicyGet.json new file mode 100644 index 000000000000..f131212693fd --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/examples/WafPolicyGet.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "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/Microsoft.Cdn/stable/2023-05-01/scenarios/AFDProfiles_Upgrade_WithoutWaf.yaml b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/scenarios/AFDProfiles_Upgrade_WithoutWaf.yaml new file mode 100644 index 000000000000..7259132992bd --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/scenarios/AFDProfiles_Upgrade_WithoutWaf.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/documentation/api-scenario/references/v1.2/schema.json +scope: ResourceGroup +variables: + afdprofileName: + type: string + prefix: afdprofile +scenarios: + - scenario: GeneratedScenario + steps: + - step: CheckNameAvailabilityWithSubscription + operationId: CheckNameAvailabilityWithSubscription + exampleFile: ../examples/CheckNameAvailabilityWithSubscription.json + - step: AFDProfiles_Create + operationId: Profiles_Create + parameters: + profileName: $(afdprofileName) + profile: + location: "global" + sku: + name: Standard_AzureFrontDoor + identity: + type: "SystemAssigned" + - step: AFDProfiles_Upgrade + operationId: AFDProfiles_Upgrade + parameters: + profileName: $(afdprofileName) + profileUpgradeParameters: + wafMappingList: [] diff --git a/specification/cdn/resource-manager/readme.md b/specification/cdn/resource-manager/readme.md index e4b25fb816ae..290333a0c03e 100644 --- a/specification/cdn/resource-manager/readme.md +++ b/specification/cdn/resource-manager/readme.md @@ -28,14 +28,25 @@ These are the global settings for the Cdn API. title: CdnManagementClient description: Cdn Management Client openapi-type: arm -tag: package-preview-2022-11 +tag: package-2023-05 ``` + +### Tag: package-2023-05 + +These settings apply only when `--tag=package-2023-05` is specified on the command line. + +```yaml $(tag) == 'package-2023-05' +input-file: + - Microsoft.Cdn/stable/2023-05-01/afdx.json + - Microsoft.Cdn/stable/2023-05-01/cdn.json + - Microsoft.Cdn/stable/2023-05-01/cdnwebapplicationfirewall.json +``` ### Tag: package-preview-2022-11 These settings apply only when `--tag=package-preview-2022-11` is specified on the command line. -```yaml $(tag) == 'package-preview-2022-11' +``` yaml $(tag) == 'package-preview-2022-11' input-file: - Microsoft.Cdn/preview/2022-11-01-preview/afdx.json - Microsoft.Cdn/preview/2022-11-01-preview/cdn.json @@ -46,12 +57,13 @@ input-file: These settings apply only when `--tag=package-preview-2022-05` is specified on the command line. -```yaml $(tag) == 'package-preview-2022-05' +``` yaml $(tag) == 'package-preview-2022-05' input-file: - Microsoft.Cdn/preview/2022-05-01-preview/afdx.json - Microsoft.Cdn/preview/2022-05-01-preview/cdn.json - Microsoft.Cdn/preview/2022-05-01-preview/cdnwebapplicationfirewall.json ``` + ### Tag: package-2021-06 These settings apply only when `--tag=package-2021-06` is specified on the command line.