@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api ManagementLockClient
@base https://management.azure.com
@version 2016-09-01
@auth OAuth2
@common_fields {api-version: any # The API version to use for the operation.}
@endpoints 17
@toc providers(1), subscriptions(12), {scope}(4)

@group providers
@endpoint GET /providers/Microsoft.Authorization/operations
@desc Lists all of the available Microsoft.Authorization REST API operations.
@returns(200) OK. The request has succeeded.

@endgroup

@group subscriptions
@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}
@desc Creates or updates a management lock at the resource group level.
@required {resourceGroupName: any # The name of the resource group to lock., lockName: any # The lock name. The lock name can be a maximum of 260 characters. It cannot contain  %, &, :, \, ?, /, or any control characters., parameters: any # The management lock parameters., subscriptionId: any # The ID of the target subscription.}
@returns(200) OK - Returns information about the lock.
@returns(201) Created - Returns information about the lock.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}
@desc Deletes a management lock at the resource group level.
@required {resourceGroupName: any # The name of the resource group containing the lock., lockName: any # The name of lock to delete., subscriptionId: any # The ID of the target subscription.}
@returns(200) OK
@returns(204) NoContent

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}
@desc Gets a management lock at the resource group level.
@required {resourceGroupName: any # The name of the locked resource group., lockName: any # The name of the lock to get., subscriptionId: any # The ID of the target subscription.}
@returns(200) OK - Returns information about the lock.

@endgroup

@group {scope}
@endpoint PUT /{scope}/providers/Microsoft.Authorization/locks/{lockName}
@desc Create or update a management lock by scope.
@required {scope: any # The scope for the lock. When providing a scope for the assignment, use '/subscriptions/{subscriptionId}' for subscriptions, '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}' for resource groups, and '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePathIfPresent}/{resourceType}/{resourceName}' for resources., lockName: any # The name of lock., parameters: any # Create or update management lock parameters.}
@returns(200) OK
@returns(201) Created

@endpoint DELETE /{scope}/providers/Microsoft.Authorization/locks/{lockName}
@desc Delete a management lock by scope.
@required {scope: any # The scope for the lock., lockName: any # The name of lock.}
@returns(200) OK
@returns(204) NoContent

@endpoint GET /{scope}/providers/Microsoft.Authorization/locks/{lockName}
@desc Get a management lock by scope.
@required {scope: any # The scope for the lock., lockName: any # The name of lock.}
@returns(200) OK

@endgroup

@group subscriptions
@endpoint PUT /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}
@desc Creates or updates a management lock at the resource level or any level below the resource.
@required {resourceGroupName: any # The name of the resource group containing the resource to lock., resourceProviderNamespace: any # The resource provider namespace of the resource to lock., parentResourcePath: any # The parent resource identity., resourceType: any # The resource type of the resource to lock., resourceName: any # The name of the resource to lock., lockName: any # The name of lock. The lock name can be a maximum of 260 characters. It cannot contain  %, &, :, \, ?, /, or any control characters., parameters: any # Parameters for creating or updating a  management lock., subscriptionId: any # The ID of the target subscription.}
@returns(200) OK - Returns information about the lock.
@returns(201) Created - Returns information about the lock.

@endpoint DELETE /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}
@desc Deletes the management lock of a resource or any level below the resource.
@required {resourceGroupName: any # The name of the resource group containing the resource with the lock to delete., resourceProviderNamespace: any # The resource provider namespace of the resource with the lock to delete., parentResourcePath: any # The parent resource identity., resourceType: any # The resource type of the resource with the lock to delete., resourceName: any # The name of the resource with the lock to delete., lockName: any # The name of the lock to delete., subscriptionId: any # The ID of the target subscription.}
@returns(200) OK
@returns(204) NoContent

@endpoint GET /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}
@desc Get the management lock of a resource or any level below resource.
@required {resourceGroupName: any # The name of the resource group., resourceProviderNamespace: any # The namespace of the resource provider., parentResourcePath: any # An extra path parameter needed in some services, like SQL Databases., resourceType: any # The type of the resource., resourceName: any # The name of the resource., lockName: any # The name of lock., subscriptionId: any # The ID of the target subscription.}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}
@desc Creates or updates a management lock at the subscription level.
@required {lockName: any # The name of lock. The lock name can be a maximum of 260 characters. It cannot contain  %, &, :, \, ?, /, or any control characters., parameters: any # The management lock parameters., subscriptionId: any # The ID of the target subscription.}
@returns(200) OK - Returns information about the lock.
@returns(201) Created - Returns information about the lock.

@endpoint DELETE /subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}
@desc Deletes the management lock at the subscription level.
@required {lockName: any # The name of lock to delete., subscriptionId: any # The ID of the target subscription.}
@returns(200) OK
@returns(204) NoContent

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}
@desc Gets a management lock at the subscription level.
@required {lockName: any # The name of the lock to get., subscriptionId: any # The ID of the target subscription.}
@returns(200) OK - Returns information about the lock.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks
@desc Gets all the management locks for a resource group.
@required {resourceGroupName: any # The name of the resource group containing the locks to get., subscriptionId: any # The ID of the target subscription.}
@optional {$filter: any # The filter to apply on the operation.}
@returns(200) OK - Returns an array of resource locks.

@endpoint GET /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks
@desc Gets all the management locks for a resource or any level below resource.
@required {resourceGroupName: any # The name of the resource group containing the locked resource. The name is case insensitive., resourceProviderNamespace: any # The namespace of the resource provider., parentResourcePath: any # The parent resource identity., resourceType: any # The resource type of the locked resource., resourceName: any # The name of the locked resource., subscriptionId: any # The ID of the target subscription.}
@optional {$filter: any # The filter to apply on the operation.}
@returns(200) OK - Returns an array of resource locks.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks
@desc Gets all the management locks for a subscription.
@required {subscriptionId: any # The ID of the target subscription.}
@optional {$filter: any # The filter to apply on the operation.}
@returns(200) OK - Returns an array of resource locks.

@endgroup

@group {scope}
@endpoint GET /{scope}/providers/Microsoft.Authorization/locks
@desc Gets all the management locks for a scope.
@required {scope: any # The scope for the lock. When providing a scope for the assignment, use '/subscriptions/{subscriptionId}' for subscriptions, '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}' for resource groups, and '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePathIfPresent}/{resourceType}/{resourceName}' for resources.}
@optional {$filter: any # The filter to apply on the operation.}
@returns(200) OK - Returns an array of resource locks.

@endgroup

@end
