@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Microsoft NetApp
@base https://management.azure.com
@version 2019-07-01
@auth OAuth2
@common_fields {api-version: any # Version of the API to be used with the client request., subscriptionId: any # Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.}
@endpoints 24
@hint download_for_search
@toc providers(1), subscriptions(23)

@group providers
@endpoint GET /providers/Microsoft.NetApp/operations
@desc Describes the Resource Provider
@returns(200) OK

@endgroup

@group subscriptions
@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkNameAvailability
@desc Check resource name availability
@required {body: map # Name availability request., location: any # The location}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkFilePathAvailability
@desc Check file path availability
@required {body: map # File path availability request., location: any # The location}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts
@desc Describe all NetApp Accounts in a resource group
@required {resourceGroupName: any # The name of the resource group.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}
@desc Describe a NetApp Account
@required {resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}
@desc Create or update a NetApp account
@required {body: map # NetApp Account object supplied in the body of the operation., resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account}
@returns(200) OK - account updated
@returns(201) Account created
@returns(202) Accepted -- Create, update or delete request accepted; operation will complete asynchronously

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}
@desc Delete a NetApp account
@required {resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account}
@returns(202) Accepted -- Create, update or delete request accepted; operation will complete asynchronously
@returns(204) NoContent -- Resource does not exist.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}
@desc Update a NetApp account
@required {body: map # NetApp Account object supplied in the body of the operation., resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account}
@returns(200) OK - account updated
@returns(202) Accepted -- Create, update or delete request accepted; operation will complete asynchronously

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools
@desc Describe all Capacity Pools
@required {resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}
@desc Describe a Capacity Pool
@required {resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account, poolName: any # The name of the capacity pool}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}
@desc Create or Update the specified capacity pool within the resource group
@required {body: map # Capacity pool object supplied in the body of the operation., resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account, poolName: any # The name of the capacity pool}
@returns(200) OK - pool updated
@returns(201) Pool created
@returns(202) Accepted -- Create, update or delete request accepted; operation will complete asynchronously

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}
@desc Update a capacity pool
@required {body: map # Capacity pool object supplied in the body of the operation., resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account, poolName: any # The name of the capacity pool}
@returns(200) OK
@returns(202) Accepted -- Create, update or delete request accepted; operation will complete asynchronously

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}
@desc Delete a capacity pool
@required {resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account, poolName: any # The name of the capacity pool}
@returns(202) Accepted -- Create, update or delete request accepted; operation will complete asynchronously
@returns(204) NoContent -- Resource does not exist.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes
@desc Describe all volumes
@required {resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account, poolName: any # The name of the capacity pool}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}
@desc Describe a volume
@required {resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account, poolName: any # The name of the capacity pool, volumeName: any # The name of the volume}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}
@desc Create or Update a volume
@required {body: map # Volume object supplied in the body of the operation., resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account, poolName: any # The name of the capacity pool, volumeName: any # The name of the volume}
@returns(200) Ok - volume updated
@returns(201) Volume created
@returns(202) Accepted -- Create request accepted; operation will complete asynchronously

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}
@desc Update a volume
@required {body: map # Volume object supplied in the body of the operation., resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account, poolName: any # The name of the capacity pool, volumeName: any # The name of the volume}
@returns(200) OK
@returns(202) Accepted -- Create, update or delete request accepted; operation will complete asynchronously

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}
@desc Delete a volume
@required {resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account, poolName: any # The name of the capacity pool, volumeName: any # The name of the volume}
@returns(202) Accepted -- Create, update or delete request accepted; operation will complete asynchronously
@returns(204) NoContent -- Resource does not exist.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/mountTargets
@desc Describe all mount targets
@required {resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account, poolName: any # The name of the capacity pool, volumeName: any # The name of the volume}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots
@desc Describe all snapshots
@required {resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account, poolName: any # The name of the capacity pool, volumeName: any # The name of the volume}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}
@desc Describe a snapshot
@required {resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account, poolName: any # The name of the capacity pool, volumeName: any # The name of the volume, snapshotName: any # The name of the snapshot}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}
@desc Create a snapshot
@required {body: map # Snapshot object supplied in the body of the operation., resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account, poolName: any # The name of the capacity pool, volumeName: any # The name of the volume, snapshotName: any # The name of the snapshot}
@returns(201) Snapshot created
@returns(202) Accepted -- Create request accepted; operation will complete asynchronously

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}
@desc Update a snapshot
@required {body: map # Snapshot object supplied in the body of the operation., resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account, poolName: any # The name of the capacity pool, volumeName: any # The name of the volume, snapshotName: any # The name of the snapshot}
@returns(200) OK
@returns(202) Accepted -- Update request accepted; operation will complete asynchronously

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}
@desc Delete a snapshot
@required {resourceGroupName: any # The name of the resource group., accountName: any # The name of the NetApp account, poolName: any # The name of the capacity pool, volumeName: any # The name of the volume, snapshotName: any # The name of the snapshot}
@returns(200) OK
@returns(202) Accepted -- Create, update or delete request accepted; operation will complete asynchronously
@returns(204) NoContent -- Resource does not exist.

@endgroup

@end
