@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api PolicyClient
@base https://management.azure.com
@version 2019-06-01
@auth OAuth2
@common_fields {api-version: any # The API version to use for the operation.}
@endpoints 10
@toc subscriptions(4), providers(6)

@group subscriptions
@endpoint PUT /subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}
@desc Creates or updates a policy definition in a subscription.
@required {policyDefinitionName: any # The name of the policy definition to create., parameters: any # The policy definition properties., subscriptionId: any # The ID of the target subscription.}
@returns(201) Created - Returns information about the policy definition.

@endpoint DELETE /subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}
@desc Deletes a policy definition in a subscription.
@required {policyDefinitionName: any # The name of the policy definition to delete., subscriptionId: any # The ID of the target subscription.}
@returns(200) OK
@returns(204) No Content

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}
@desc Retrieves a policy definition in a subscription.
@required {policyDefinitionName: any # The name of the policy definition to get., subscriptionId: any # The ID of the target subscription.}
@returns(200) OK - Returns information about the policy definition.

@endgroup

@group providers
@endpoint GET /providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}
@desc Retrieves a built-in policy definition.
@required {policyDefinitionName: any # The name of the built-in policy definition to get.}
@returns(200) OK - Returns information about the built-in policy definition.

@endpoint PUT /providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}
@desc Creates or updates a policy definition in a management group.
@required {policyDefinitionName: any # The name of the policy definition to create., parameters: any # The policy definition properties., managementGroupId: any # The ID of the management group.}
@returns(201) Created - Returns information about the policy definition.

@endpoint DELETE /providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}
@desc Deletes a policy definition in a management group.
@required {policyDefinitionName: any # The name of the policy definition to delete., managementGroupId: any # The ID of the management group.}
@returns(200) OK
@returns(204) No Content

@endpoint GET /providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}
@desc Retrieve a policy definition in a management group.
@required {policyDefinitionName: any # The name of the policy definition to get., managementGroupId: any # The ID of the management group.}
@returns(200) OK - Returns information about the policy definition.

@endgroup

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions
@desc Retrieves policy definitions in a subscription
@required {subscriptionId: any # The ID of the target subscription.}
@returns(200) OK - Returns an array of policy definitions.

@endgroup

@group providers
@endpoint GET /providers/Microsoft.Authorization/policyDefinitions
@desc Retrieve built-in policy definitions
@returns(200) OK - Returns an array of built-in policy definitions.

@endpoint GET /providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions
@desc Retrieve policy definitions in a management group
@required {managementGroupId: any # The ID of the management group.}
@returns(200) OK - Returns an array of policy definitions.

@endgroup

@end
