@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Azure CDN WebApplicationFirewallManagement
@base https://management.azure.com
@version 2019-06-15-preview
@auth OAuth2
@common_fields {subscriptionId: any # Azure Subscription ID., api-version: any # Version of the API to be used with the client request. Current version is 2017-04-02.}
@endpoints 6
@toc subscriptions(6)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies
@desc Lists all of the protection policies within a resource group.
@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.Cdn/CdnWebApplicationFirewallPolicies/{policyName}
@desc Retrieve protection policy with specified name within a resource group.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., policyName: any # The name of the CdnWebApplicationFirewallPolicy.}
@returns(200) OK. The request has succeeded.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/{policyName}
@desc Create or update policy with specified rule set name within a resource group.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., policyName: any # The name of the CdnWebApplicationFirewallPolicy., cdnWebApplicationFirewallPolicy: any # Policy to be created.}
@returns(200) OK. The request has succeeded.
@returns(201) Created. The request has been fulfilled and a new protection policy has been created.
@returns(202) Accepted. The request has been accepted for processing and the operation will complete asynchronously.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/{policyName}
@desc Update an existing CdnWebApplicationFirewallPolicy with the specified policy name under the specified subscription and resource group
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., policyName: any # The name of the CdnWebApplicationFirewallPolicy., cdnWebApplicationFirewallPolicyPatchParameters: map # CdnWebApplicationFirewallPolicy parameters to be patched.}
@returns(200) OK. The request has succeeded.
@returns(202) Accepted. The request has been accepted for processing and the operation will complete asynchronously.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/{policyName}
@desc Deletes Policy
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., policyName: any # The name of the CdnWebApplicationFirewallPolicy.}
@returns(200) Delete successful.
@returns(204) No Content. The request has been accepted but the policy was not found.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Cdn/CdnWebApplicationFirewallManagedRuleSets
@desc Lists all available managed rule sets.
@returns(200) Success. The operation returns a list of all available web application firewall managed rule sets.

@end
