@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api FrontDoorManagementClient
@base https://management.azure.com
@version 2019-05-01
@auth OAuth2
@endpoints 13
@toc providers(1), subscriptions(12)

@group providers
@endpoint POST /providers/Microsoft.Network/checkFrontDoorNameAvailability
@desc Check the availability of a Front Door resource name.
@required {checkFrontDoorNameAvailabilityInput: map # Input to check.}
@returns(200) OK. The request has succeeded.

@endgroup

@group subscriptions
@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.Network/checkFrontDoorNameAvailability
@desc Check the availability of a Front Door subdomain.
@required {checkFrontDoorNameAvailabilityInput: map # Input to check.}
@returns(200) OK. The request has succeeded.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Network/frontDoors
@desc Lists all of the Front Doors within an Azure subscription.
@returns(200) OK. The request has succeeded.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors
@desc Lists all of the Front Doors within a resource group under a subscription.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription.}
@returns(200) OK. The request has succeeded.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}
@desc Gets a Front Door with the specified Front Door name under the specified subscription and resource group.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., frontDoorName: any # Name of the Front Door which is globally unique.}
@returns(200) OK. The request has succeeded.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}
@desc Creates a new Front Door with a Front Door name under the specified subscription and resource group.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., frontDoorName: any # Name of the Front Door which is globally unique., frontDoorParameters: any # Front Door properties needed to create a new Front Door.}
@returns(200) OK. The request has succeeded.
@returns(201) Created. The request has been fulfilled and a new Front Door has been created.
@returns(202) Accepted. The request has been accepted for processing and the operation will complete asynchronously.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}
@desc Deletes an existing Front Door with the specified parameters.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., frontDoorName: any # Name of the Front Door which is globally unique.}
@returns(202) Accepted. The request has been accepted for processing and the operation will complete asynchronously.
@returns(204) No Content. The request has been accepted but the Front Door was not found.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints
@desc Lists all of the frontend endpoints within a Front Door.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., frontDoorName: any # Name of the Front Door which is globally unique.}
@returns(200) OK. The request has succeeded.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}
@desc Gets a Frontend endpoint with the specified name within the specified Front Door.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., frontDoorName: any # Name of the Front Door which is globally unique., frontendEndpointName: any # Name of the Frontend endpoint which is unique within the Front Door.}
@returns(200) OK. The request has succeeded.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/purge
@desc Removes a content from Front Door.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., frontDoorName: any # Name of the Front Door which is globally unique., contentFilePaths: map # 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.}
@returns(200) OK. The request has succeeded.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/enableHttps
@desc Enables a frontendEndpoint for HTTPS traffic
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., frontDoorName: any # Name of the Front Door which is globally unique., frontendEndpointName: any # Name of the Frontend endpoint which is unique within the Front Door., customHttpsConfiguration: map # The configuration specifying how to enable HTTPS}
@returns(200) OK. The request has succeeded.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/disableHttps
@desc Disables a frontendEndpoint for HTTPS traffic
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., frontDoorName: any # Name of the Front Door which is globally unique., frontendEndpointName: any # Name of the Frontend endpoint which is unique within the Front Door.}
@returns(200) OK. The request has succeeded.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/validateCustomDomain
@desc Validates the custom domain mapping to ensure it maps to the correct Front Door endpoint in DNS.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., frontDoorName: any # Name of the Front Door which is globally unique., customDomainProperties: map # Custom domain to be validated.}
@returns(200) OK. The request has succeeded.

@endgroup

@end
