@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api  API Client
@base https://management.azure.com
@version 2018-02-01
@auth OAuth2
@common_fields {api-version: any # API Version}
@endpoints 17
@toc providers(5), subscriptions(12)

@group providers
@endpoint GET /providers/Microsoft.Web/publishingUsers/web
@desc Gets publishing user
@returns(200) OK

@endpoint PUT /providers/Microsoft.Web/publishingUsers/web
@desc Updates publishing user
@required {userDetails: any # Details of publishing user}
@returns(200) OK

@endpoint GET /providers/Microsoft.Web/sourcecontrols
@desc Gets the source controls available for Azure websites.
@returns(200) OK

@endpoint GET /providers/Microsoft.Web/sourcecontrols/{sourceControlType}
@desc Gets source control token
@required {sourceControlType: any # Type of source control}
@returns(200) OK

@endpoint PUT /providers/Microsoft.Web/sourcecontrols/{sourceControlType}
@desc Updates source control token
@required {sourceControlType: any # Type of source control, requestMessage: map # Source control token information}
@returns(200) OK

@endgroup

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Web/billingMeters
@desc Gets a list of meters for a given location.
@required {subscriptionId: any # Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).}
@optional {billingLocation: any # Azure Location of billable resource, osType: any # App Service OS type meters used for}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability
@desc Check if a resource name is available.
@required {request: map # Name availability request., subscriptionId: any # Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations
@desc Gets list of available geo regions plus ministamps
@required {subscriptionId: any # Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions
@desc Get a list of available geographical regions.
@required {subscriptionId: any # Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).}
@optional {sku: any # Name of SKU used to filter the regions., linuxWorkersEnabled: any # Specify true if you want to filter to only regions that support Linux workers., xenonWorkersEnabled: any # Specify true if you want to filter to only regions that support Xenon workers., linuxDynamicWorkersEnabled: any # Specify true if you want to filter to only regions that support Linux Consumption Workers.}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.Web/listSitesAssignedToHostName
@desc List all apps that are assigned to a hostname.
@required {nameIdentifier: any # Hostname information., subscriptionId: any # Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers
@desc List all premier add-on offers.
@required {subscriptionId: any # Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Web/skus
@desc List all SKUs.
@required {subscriptionId: any # Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet
@desc Verifies if this VNET is compatible with an App Service Environment by analyzing the Network Security Group rules.
@required {parameters: map # VNET information, subscriptionId: any # Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources
@desc Move resources between resource groups.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., moveResourceEnvelope: map # Object that represents the resource to move., subscriptionId: any # Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).}
@returns(204) No Content

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate
@desc Validate if a resource can be created.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., validateRequest: map # Request with the resources to validate., subscriptionId: any # Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validateContainerSettings
@desc Validate if the container settings are correct.
@required {validateContainerSettingsRequest: map, resourceGroupName: any # Name of the resource group to which the resource belongs., subscriptionId: any # Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources
@desc Validate whether a resource can be moved.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., moveResourceEnvelope: map # Object that represents the resource to move., subscriptionId: any # Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).}
@returns(204) No Content

@endgroup

@end
