@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api DataLakeStoreAccountManagementClient
@base https://management.azure.com
@version 2016-11-01
@auth OAuth2
@common_fields {subscriptionId: any # Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., api-version: any # Client Api Version.}
@endpoints 26
@hint download_for_search
@toc subscriptions(25), providers(1)

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/accounts
@desc Lists the Data Lake Store accounts within the subscription. The response includes a link to the next page of results, if any.
@optional {$filter: any # OData filter. Optional., $top: any # The number of items to return. Optional., $skip: any # The number of items to skip over before returning elements. Optional., $select: any # OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional., $orderby: any # OrderBy clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional., $count: any # The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional.}
@returns(200) Successfully retrieved the list of accounts.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts
@desc Lists the Data Lake Store accounts within a specific resource group. The response includes a link to the next page of results, if any.
@required {resourceGroupName: any # The name of the Azure resource group.}
@optional {$filter: any # OData filter. Optional., $top: any # The number of items to return. Optional., $skip: any # The number of items to skip over before returning elements. Optional., $select: any # OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional., $orderby: any # OrderBy clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional., $count: any # A Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional.}
@returns(200) Successfully retrieved the list of accounts in the specified resource group.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}
@desc Creates the specified Data Lake Store account.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account., parameters: any # Parameters supplied to create the Data Lake Store account.}
@returns(200) Successfully created the account.
@returns(201) Successfully initiated creation of the account.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}
@desc Gets the specified Data Lake Store account.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account.}
@returns(200) Successfully retrieved details of the specified account.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}
@desc Updates the specified Data Lake Store account information.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account., parameters: any # Parameters supplied to update the Data Lake Store account.}
@returns(200) Successfully updated the account details.
@returns(201) Successfully initiated the update of the account details.
@returns(202) Successfully initiated the update of the account details.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}
@desc Deletes the specified Data Lake Store account.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account.}
@returns(200) Successfully deleted the specified account.
@returns(202) Successfully initiated the deletion of the specified account.
@returns(204) The specified account was not found.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/enableKeyVault
@desc Attempts to enable a user managed Key Vault for encryption of the specified Data Lake Store account.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account.}
@returns(200) Successfully enabled the user-managed Key Vault settings used for encrypting this Data Lake Store account.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules
@desc Lists the Data Lake Store firewall rules within the specified Data Lake Store account.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account.}
@returns(200) Successfully retrieved the list of firewall rules.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}
@desc Creates or updates the specified firewall rule. During update, the firewall rule with the specified name will be replaced with this new firewall rule.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account., firewallRuleName: any # The name of the firewall rule to create or update., parameters: any # Parameters supplied to create or update the firewall rule.}
@returns(200) Successfully created or updated the specified firewall rule.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}
@desc Gets the specified Data Lake Store firewall rule.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account., firewallRuleName: any # The name of the firewall rule to retrieve.}
@returns(200) Successfully retrieved the firewall rule.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}
@desc Updates the specified firewall rule.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account., firewallRuleName: any # The name of the firewall rule to update.}
@optional {parameters: any # Parameters supplied to update the firewall rule.}
@returns(200) Successfully updated the specified firewall rule.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}
@desc Deletes the specified firewall rule from the specified Data Lake Store account.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account., firewallRuleName: any # The name of the firewall rule to delete.}
@returns(200) Successfully deleted the specified firewall rule.
@returns(204) The specified firewall rule does not exist or was already deleted.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules
@desc Lists the Data Lake Store virtual network rules within the specified Data Lake Store account.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account.}
@returns(200) Successfully retrieved the list of virtual network rules.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules/{virtualNetworkRuleName}
@desc Creates or updates the specified virtual network rule. During update, the virtual network rule with the specified name will be replaced with this new virtual network rule.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account., virtualNetworkRuleName: any # The name of the virtual network rule to create or update., parameters: any # Parameters supplied to create or update the virtual network rule.}
@returns(200) Successfully created or updated the specified virtual network rule.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules/{virtualNetworkRuleName}
@desc Gets the specified Data Lake Store virtual network rule.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account., virtualNetworkRuleName: any # The name of the virtual network rule to retrieve.}
@returns(200) Successfully retrieved the virtual network rule.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules/{virtualNetworkRuleName}
@desc Updates the specified virtual network rule.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account., virtualNetworkRuleName: any # The name of the virtual network rule to update.}
@optional {parameters: any # Parameters supplied to update the virtual network rule.}
@returns(200) Successfully updated the specified virtual network rule.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules/{virtualNetworkRuleName}
@desc Deletes the specified virtual network rule from the specified Data Lake Store account.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account., virtualNetworkRuleName: any # The name of the virtual network rule to delete.}
@returns(200) Successfully deleted the specified virtual network rule.
@returns(204) The specified virtual network rule does not exist or was already deleted.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders
@desc Lists the Data Lake Store trusted identity providers within the specified Data Lake Store account.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account.}
@returns(200) Successfully retrieved the list of trusted identity providers.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}
@desc Creates or updates the specified trusted identity provider. During update, the trusted identity provider with the specified name will be replaced with this new provider
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account., trustedIdProviderName: any # The name of the trusted identity provider. This is used for differentiation of providers in the account., parameters: any # Parameters supplied to create or replace the trusted identity provider.}
@returns(200) Successfully added the trusted identity provider.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}
@desc Gets the specified Data Lake Store trusted identity provider.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account., trustedIdProviderName: any # The name of the trusted identity provider to retrieve.}
@returns(200) Successfully retrieved details of the specified trusted identity provider.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}
@desc Updates the specified trusted identity provider.
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account., trustedIdProviderName: any # The name of the trusted identity provider. This is used for differentiation of providers in the account.}
@optional {parameters: any # Parameters supplied to update the trusted identity provider.}
@returns(200) Successfully added the trusted identity provider.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}
@desc Deletes the specified trusted identity provider from the specified Data Lake Store account
@required {resourceGroupName: any # The name of the Azure resource group., accountName: any # The name of the Data Lake Store account., trustedIdProviderName: any # The name of the trusted identity provider to delete.}
@returns(200) Successfully deleted the specified trusted identity provider details.
@returns(204) The specified trusted identity provider was not found.

@endgroup

@group providers
@endpoint GET /providers/Microsoft.DataLakeStore/operations
@desc Lists all of the available Data Lake Store REST API operations.
@returns(200) Successfully listed the available operations for Data Lake Store.

@endgroup

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/capability
@desc Gets subscription-level properties and limits for Data Lake Store specified by resource location.
@required {location: any # The resource location without whitespace.}
@returns(200) Successfully retrieved the subscription-level properties and limits for Data Lake Store specified by resource location.
@errors {404: Subscription not found.}

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/usages
@desc Gets the current usage count and the limit for the resources of the location under the subscription.
@required {location: any # The resource location without whitespace.}
@returns(200) OK -- current usage count and limit retrieved and returned successfully.

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/checkNameAvailability
@desc Checks whether the specified account name is available or taken.
@required {location: any # The resource location without whitespace., parameters: any # Parameters supplied to check the Data Lake Store account name availability.}
@returns(200) Successfully retrieved the Data Lake Store account name availability information.

@endgroup

@end
