diff --git a/.gitignore b/.gitignore
index 6bf64a9da927..0a920ce61362 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,3 +41,6 @@ target
# Windows #
Thumbs.db
+
+# reduced pom files should not be included
+dependency-reduced-pom.xml
diff --git a/azure-mgmt-datalake-analytics/pom.xml b/azure-mgmt-datalake-analytics/pom.xml
new file mode 100644
index 000000000000..c03e71f7506e
--- /dev/null
+++ b/azure-mgmt-datalake-analytics/pom.xml
@@ -0,0 +1,120 @@
+
+
+ 4.0.0
+
+ com.microsoft.azure
+ azure
+ 1.0.0-SNAPSHOT
+ ../azure/pom.xml
+
+
+ azure-mgmt-datalake-analytics
+ jar
+
+ Microsoft Azure SDK for Data Lake Analytics Management
+ This package contains Microsoft Azure Data Lake Analytics Management SDK.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ UTF-8
+
+
+
+
+
+ microsoft
+ Microsoft
+
+
+
+
+
+ com.microsoft.azure
+ azure-client-runtime
+
+
+ ${project.groupId}
+ azure-mgmt-resources
+ ${project.version}
+ test
+
+
+ ${project.groupId}
+ azure-mgmt-datalake-store
+ ${project.version}
+ test
+
+
+ ${project.groupId}
+ azure-mgmt-storage
+ ${project.version}
+ test
+
+
+ junit
+ junit
+ test
+
+
+ com.microsoft.azure
+ azure-client-authentication
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+ 1.7
+ 1.7
+
+
+
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.8
+
+ *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.storage
+ /**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ */]]>
+
+
+
+
+
+
diff --git a/azure-mgmt-datalake-analytics/src/main/java/com/microsoft/azure/management/datalake/analytics/AccountOperations.java b/azure-mgmt-datalake-analytics/src/main/java/com/microsoft/azure/management/datalake/analytics/AccountOperations.java
new file mode 100644
index 000000000000..53b36e596e9f
--- /dev/null
+++ b/azure-mgmt-datalake-analytics/src/main/java/com/microsoft/azure/management/datalake/analytics/AccountOperations.java
@@ -0,0 +1,924 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+package com.microsoft.azure.management.datalake.analytics;
+
+import com.microsoft.azure.CloudException;
+import com.microsoft.azure.ListOperationCallback;
+import com.microsoft.azure.management.datalake.analytics.models.AddDataLakeStoreParameters;
+import com.microsoft.azure.management.datalake.analytics.models.AddStorageAccountParameters;
+import com.microsoft.azure.management.datalake.analytics.models.BlobContainer;
+import com.microsoft.azure.management.datalake.analytics.models.DataLakeAnalyticsAccount;
+import com.microsoft.azure.management.datalake.analytics.models.DataLakeStoreAccountInfo;
+import com.microsoft.azure.management.datalake.analytics.models.PageImpl;
+import com.microsoft.azure.management.datalake.analytics.models.SasTokenInfo;
+import com.microsoft.azure.management.datalake.analytics.models.StorageAccountInfo;
+import com.microsoft.rest.ServiceCall;
+import com.microsoft.rest.ServiceCallback;
+import com.microsoft.rest.ServiceResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in AccountOperations.
+ */
+public interface AccountOperations {
+ /**
+ * Gets the specified Azure Storage account linked to the given Data Lake Analytics account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to retrieve Azure storage account details.
+ * @param storageAccountName The name of the Azure Storage account for which to retrieve the details.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the StorageAccountInfo object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse getStorageAccount(String resourceGroupName, String accountName, String storageAccountName) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the specified Azure Storage account linked to the given Data Lake Analytics account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to retrieve Azure storage account details.
+ * @param storageAccountName The name of the Azure Storage account for which to retrieve the details.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall getStorageAccountAsync(String resourceGroupName, String accountName, String storageAccountName, final ServiceCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Updates the specified Data Lake Analytics account to remove an Azure Storage account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to remove the Azure Storage account.
+ * @param storageAccountName The name of the Azure Storage account to remove
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ ServiceResponse deleteStorageAccount(String resourceGroupName, String accountName, String storageAccountName) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Updates the specified Data Lake Analytics account to remove an Azure Storage account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to remove the Azure Storage account.
+ * @param storageAccountName The name of the Azure Storage account to remove
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall deleteStorageAccountAsync(String resourceGroupName, String accountName, String storageAccountName, final ServiceCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Updates the Data Lake Analytics account to replace Azure Storage blob account details, such as the access key and/or suffix.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to modify storage accounts in
+ * @param storageAccountName The Azure Storage account to modify
+ * @param parameters The parameters containing the access key and suffix to update the storage account with.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ ServiceResponse updateStorageAccount(String resourceGroupName, String accountName, String storageAccountName, AddStorageAccountParameters parameters) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Updates the Data Lake Analytics account to replace Azure Storage blob account details, such as the access key and/or suffix.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to modify storage accounts in
+ * @param storageAccountName The Azure Storage account to modify
+ * @param parameters The parameters containing the access key and suffix to update the storage account with.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall updateStorageAccountAsync(String resourceGroupName, String accountName, String storageAccountName, AddStorageAccountParameters parameters, final ServiceCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Updates the specified Data Lake Analytics account to add an Azure Storage account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to which to add the Azure Storage account.
+ * @param storageAccountName The name of the Azure Storage account to add
+ * @param parameters The parameters containing the access key and optional suffix for the Azure Storage Account.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ ServiceResponse addStorageAccount(String resourceGroupName, String accountName, String storageAccountName, AddStorageAccountParameters parameters) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Updates the specified Data Lake Analytics account to add an Azure Storage account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to which to add the Azure Storage account.
+ * @param storageAccountName The name of the Azure Storage account to add
+ * @param parameters The parameters containing the access key and optional suffix for the Azure Storage Account.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall addStorageAccountAsync(String resourceGroupName, String accountName, String storageAccountName, AddStorageAccountParameters parameters, final ServiceCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the specified Azure Storage container associated with the given Data Lake Analytics and Azure Storage accounts.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to retrieve blob container.
+ * @param storageAccountName The name of the Azure storage account from which to retrieve the blob container.
+ * @param containerName The name of the Azure storage container to retrieve
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the BlobContainer object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse getStorageContainer(String resourceGroupName, String accountName, String storageAccountName, String containerName) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the specified Azure Storage container associated with the given Data Lake Analytics and Azure Storage accounts.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to retrieve blob container.
+ * @param storageAccountName The name of the Azure storage account from which to retrieve the blob container.
+ * @param containerName The name of the Azure storage container to retrieve
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall getStorageContainerAsync(String resourceGroupName, String accountName, String storageAccountName, String containerName, final ServiceCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Lists the Azure Storage containers, if any, associated with the specified Data Lake Analytics and Azure Storage account combination. The response includes a link to the next page of results, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to list Azure Storage blob containers.
+ * @param storageAccountName The name of the Azure storage account from which to list blob containers.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<BlobContainer> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> listStorageContainers(final String resourceGroupName, final String accountName, final String storageAccountName) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Lists the Azure Storage containers, if any, associated with the specified Data Lake Analytics and Azure Storage account combination. The response includes a link to the next page of results, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to list Azure Storage blob containers.
+ * @param storageAccountName The name of the Azure storage account from which to list blob containers.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listStorageContainersAsync(final String resourceGroupName, final String accountName, final String storageAccountName, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the next page of Azure Storage containers, if any, within the specified Azure Storage account. The response includes a link to the next page of results, if any.
+ *
+ * @param nextLink The URL to the next Azure Storage Container page.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<BlobContainer> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> storageContainersListNext(final String nextLink) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the next page of Azure Storage containers, if any, within the specified Azure Storage account. The response includes a link to the next page of results, if any.
+ *
+ * @param nextLink The URL to the next Azure Storage Container page.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall storageContainersListNextAsync(final String nextLink, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the next page of the SAS token objects within the specified Azure Storage account and container, if any.
+ *
+ * @param nextLink The URL to the next Azure Storage Container SAS token page.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<SasTokenInfo> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> sasTokensListNext(final String nextLink) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the next page of the SAS token objects within the specified Azure Storage account and container, if any.
+ *
+ * @param nextLink The URL to the next Azure Storage Container SAS token page.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall sasTokensListNextAsync(final String nextLink, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the SAS token associated with the specified Data Lake Analytics and Azure Storage account and container combination.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which an Azure Storage account's SAS token is being requested.
+ * @param storageAccountName The name of the Azure storage account for which the SAS token is being requested.
+ * @param containerName The name of the Azure storage container for which the SAS token is being requested.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<SasTokenInfo> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> listSasTokens(final String resourceGroupName, final String accountName, final String storageAccountName, final String containerName) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the SAS token associated with the specified Data Lake Analytics and Azure Storage account and container combination.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which an Azure Storage account's SAS token is being requested.
+ * @param storageAccountName The name of the Azure storage account for which the SAS token is being requested.
+ * @param containerName The name of the Azure storage container for which the SAS token is being requested.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listSasTokensAsync(final String resourceGroupName, final String accountName, final String storageAccountName, final String containerName, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the specified Data Lake Store account details in the specified Data Lake Analytics account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to retrieve the Data Lake Store account details.
+ * @param dataLakeStoreAccountName The name of the Data Lake Store account to retrieve
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the DataLakeStoreAccountInfo object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse getDataLakeStoreAccount(String resourceGroupName, String accountName, String dataLakeStoreAccountName) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the specified Data Lake Store account details in the specified Data Lake Analytics account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to retrieve the Data Lake Store account details.
+ * @param dataLakeStoreAccountName The name of the Data Lake Store account to retrieve
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall getDataLakeStoreAccountAsync(String resourceGroupName, String accountName, String dataLakeStoreAccountName, final ServiceCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Updates the Data Lake Analytics account specified to remove the specified Data Lake Store account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to remove the Data Lake Store account.
+ * @param dataLakeStoreAccountName The name of the Data Lake Store account to remove
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ ServiceResponse deleteDataLakeStoreAccount(String resourceGroupName, String accountName, String dataLakeStoreAccountName) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Updates the Data Lake Analytics account specified to remove the specified Data Lake Store account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to remove the Data Lake Store account.
+ * @param dataLakeStoreAccountName The name of the Data Lake Store account to remove
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall deleteDataLakeStoreAccountAsync(String resourceGroupName, String accountName, String dataLakeStoreAccountName, final ServiceCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Updates the specified Data Lake Analytics account to include the additional Data Lake Store account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to which to add the Data Lake Store account.
+ * @param dataLakeStoreAccountName The name of the Data Lake Store account to add.
+ * @param parameters The details of the Data Lake Store account.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ ServiceResponse addDataLakeStoreAccount(String resourceGroupName, String accountName, String dataLakeStoreAccountName, AddDataLakeStoreParameters parameters) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Updates the specified Data Lake Analytics account to include the additional Data Lake Store account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to which to add the Data Lake Store account.
+ * @param dataLakeStoreAccountName The name of the Data Lake Store account to add.
+ * @param parameters The details of the Data Lake Store account.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall addDataLakeStoreAccountAsync(String resourceGroupName, String accountName, String dataLakeStoreAccountName, AddDataLakeStoreParameters parameters, final ServiceCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the first page of Azure Storage accounts, if any, linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to list Azure Storage accounts.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<StorageAccountInfo> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> listStorageAccounts(final String resourceGroupName, final String accountName) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the first page of Azure Storage accounts, if any, linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to list Azure Storage accounts.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listStorageAccountsAsync(final String resourceGroupName, final String accountName, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+ /**
+ * Gets the first page of Azure Storage accounts, if any, linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to list Azure Storage accounts.
+ * @param filter The OData filter. Optional.
+ * @param top The number of items to return. Optional.
+ * @param skip The number of items to skip over before returning elements. Optional.
+ * @param expand OData expansion. Expand related resources in line with the retrieved resources, e.g. Categories/$expand=Products would expand Product data in line with each Category entry. Optional.
+ * @param select OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional.
+ * @param orderby 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.
+ * @param count 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.
+ * @param search A free form search. A free-text search expression to match for whether a particular entry should be included in the feed, e.g. Categories?$search=blue OR green. Optional.
+ * @param format The desired return format. Return the response in particular formatxii without access to request headers for standard content-type negotiation (e.g Orders?$format=json). Optional.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<StorageAccountInfo> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> listStorageAccounts(final String resourceGroupName, final String accountName, final StorageAccountInfo filter, final Integer top, final Integer skip, final String expand, final String select, final String orderby, final Boolean count, final String search, final String format) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the first page of Azure Storage accounts, if any, linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to list Azure Storage accounts.
+ * @param filter The OData filter. Optional.
+ * @param top The number of items to return. Optional.
+ * @param skip The number of items to skip over before returning elements. Optional.
+ * @param expand OData expansion. Expand related resources in line with the retrieved resources, e.g. Categories/$expand=Products would expand Product data in line with each Category entry. Optional.
+ * @param select OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional.
+ * @param orderby 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.
+ * @param count 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.
+ * @param search A free form search. A free-text search expression to match for whether a particular entry should be included in the feed, e.g. Categories?$search=blue OR green. Optional.
+ * @param format The desired return format. Return the response in particular formatxii without access to request headers for standard content-type negotiation (e.g Orders?$format=json). Optional.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listStorageAccountsAsync(final String resourceGroupName, final String accountName, final StorageAccountInfo filter, final Integer top, final Integer skip, final String expand, final String select, final String orderby, final Boolean count, final String search, final String format, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the first page of Data Lake Store accounts linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to list Data Lake Store accounts.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<DataLakeStoreAccountInfo> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> listDataLakeStoreAccounts(final String resourceGroupName, final String accountName) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the first page of Data Lake Store accounts linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to list Data Lake Store accounts.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listDataLakeStoreAccountsAsync(final String resourceGroupName, final String accountName, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+ /**
+ * Gets the first page of Data Lake Store accounts linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to list Data Lake Store accounts.
+ * @param filter OData filter. Optional.
+ * @param top The number of items to return. Optional.
+ * @param skip The number of items to skip over before returning elements. Optional.
+ * @param expand OData expansion. Expand related resources in line with the retrieved resources, e.g. Categories/$expand=Products would expand Product data in line with each Category entry. Optional.
+ * @param select OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional.
+ * @param orderby 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.
+ * @param count 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.
+ * @param search A free form search. A free-text search expression to match for whether a particular entry should be included in the feed, e.g. Categories?$search=blue OR green. Optional.
+ * @param format The desired return format. Return the response in particular formatxii without access to request headers for standard content-type negotiation (e.g Orders?$format=json). Optional.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<DataLakeStoreAccountInfo> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> listDataLakeStoreAccounts(final String resourceGroupName, final String accountName, final DataLakeStoreAccountInfo filter, final Integer top, final Integer skip, final String expand, final String select, final String orderby, final Boolean count, final String search, final String format) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the first page of Data Lake Store accounts linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to list Data Lake Store accounts.
+ * @param filter OData filter. Optional.
+ * @param top The number of items to return. Optional.
+ * @param skip The number of items to skip over before returning elements. Optional.
+ * @param expand OData expansion. Expand related resources in line with the retrieved resources, e.g. Categories/$expand=Products would expand Product data in line with each Category entry. Optional.
+ * @param select OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional.
+ * @param orderby 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.
+ * @param count 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.
+ * @param search A free form search. A free-text search expression to match for whether a particular entry should be included in the feed, e.g. Categories?$search=blue OR green. Optional.
+ * @param format The desired return format. Return the response in particular formatxii without access to request headers for standard content-type negotiation (e.g Orders?$format=json). Optional.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listDataLakeStoreAccountsAsync(final String resourceGroupName, final String accountName, final DataLakeStoreAccountInfo filter, final Integer top, final Integer skip, final String expand, final String select, final String orderby, final Boolean count, final String search, final String format, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the first page of Data Lake Analytics accounts, if any, within a specific resource group. This includes a link to the next page, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<DataLakeAnalyticsAccount> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> listByResourceGroup(final String resourceGroupName) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the first page of Data Lake Analytics accounts, if any, within a specific resource group. This includes a link to the next page, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listByResourceGroupAsync(final String resourceGroupName, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+ /**
+ * Gets the first page of Data Lake Analytics accounts, if any, within a specific resource group. This includes a link to the next page, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param filter OData filter. Optional.
+ * @param top The number of items to return. Optional.
+ * @param skip The number of items to skip over before returning elements. Optional.
+ * @param expand OData expansion. Expand related resources in line with the retrieved resources, e.g. Categories/$expand=Products would expand Product data in line with each Category entry. Optional.
+ * @param select OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional.
+ * @param orderby 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.
+ * @param count 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.
+ * @param search A free form search. A free-text search expression to match for whether a particular entry should be included in the feed, e.g. Categories?$search=blue OR green. Optional.
+ * @param format The return format. Return the response in particular formatxii without access to request headers for standard content-type negotiation (e.g Orders?$format=json). Optional.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<DataLakeAnalyticsAccount> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> listByResourceGroup(final String resourceGroupName, final DataLakeAnalyticsAccount filter, final Integer top, final Integer skip, final String expand, final String select, final String orderby, final Boolean count, final String search, final String format) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the first page of Data Lake Analytics accounts, if any, within a specific resource group. This includes a link to the next page, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param filter OData filter. Optional.
+ * @param top The number of items to return. Optional.
+ * @param skip The number of items to skip over before returning elements. Optional.
+ * @param expand OData expansion. Expand related resources in line with the retrieved resources, e.g. Categories/$expand=Products would expand Product data in line with each Category entry. Optional.
+ * @param select OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional.
+ * @param orderby 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.
+ * @param count 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.
+ * @param search A free form search. A free-text search expression to match for whether a particular entry should be included in the feed, e.g. Categories?$search=blue OR green. Optional.
+ * @param format The return format. Return the response in particular formatxii without access to request headers for standard content-type negotiation (e.g Orders?$format=json). Optional.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listByResourceGroupAsync(final String resourceGroupName, final DataLakeAnalyticsAccount filter, final Integer top, final Integer skip, final String expand, final String select, final String orderby, final Boolean count, final String search, final String format, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the first page of Data Lake Analytics accounts, if any, within the current subscription. This includes a link to the next page, if any.
+ *
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<DataLakeAnalyticsAccount> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> list() throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the first page of Data Lake Analytics accounts, if any, within the current subscription. This includes a link to the next page, if any.
+ *
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listAsync(final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+ /**
+ * Gets the first page of Data Lake Analytics accounts, if any, within the current subscription. This includes a link to the next page, if any.
+ *
+ * @param filter OData filter. Optional.
+ * @param top The number of items to return. Optional.
+ * @param skip The number of items to skip over before returning elements. Optional.
+ * @param expand OData expansion. Expand related resources in line with the retrieved resources, e.g. Categories/$expand=Products would expand Product data in line with each Category entry. Optional.
+ * @param select OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional.
+ * @param orderby 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.
+ * @param count 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.
+ * @param search A free form search. A free-text search expression to match for whether a particular entry should be included in the feed, e.g. Categories?$search=blue OR green. Optional.
+ * @param format The desired return format. Return the response in particular formatxii without access to request headers for standard content-type negotiation (e.g Orders?$format=json). Optional.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<DataLakeAnalyticsAccount> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> list(final DataLakeAnalyticsAccount filter, final Integer top, final Integer skip, final String expand, final String select, final String orderby, final Boolean count, final String search, final String format) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the first page of Data Lake Analytics accounts, if any, within the current subscription. This includes a link to the next page, if any.
+ *
+ * @param filter OData filter. Optional.
+ * @param top The number of items to return. Optional.
+ * @param skip The number of items to skip over before returning elements. Optional.
+ * @param expand OData expansion. Expand related resources in line with the retrieved resources, e.g. Categories/$expand=Products would expand Product data in line with each Category entry. Optional.
+ * @param select OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional.
+ * @param orderby 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.
+ * @param count 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.
+ * @param search A free form search. A free-text search expression to match for whether a particular entry should be included in the feed, e.g. Categories?$search=blue OR green. Optional.
+ * @param format The desired return format. Return the response in particular formatxii without access to request headers for standard content-type negotiation (e.g Orders?$format=json). Optional.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listAsync(final DataLakeAnalyticsAccount filter, final Integer top, final Integer skip, final String expand, final String select, final String orderby, final Boolean count, final String search, final String format, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets details of the specified Data Lake Analytics account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to retrieve.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the DataLakeAnalyticsAccount object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse get(String resourceGroupName, String accountName) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets details of the specified Data Lake Analytics account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to retrieve.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall getAsync(String resourceGroupName, String accountName, final ServiceCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Begins the delete delete process for the Data Lake Analytics account object specified by the account name.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to delete
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @throws InterruptedException exception thrown when long running operation is interrupted
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ ServiceResponse delete(String resourceGroupName, String accountName) throws CloudException, IOException, IllegalArgumentException, InterruptedException;
+
+ /**
+ * Begins the delete delete process for the Data Lake Analytics account object specified by the account name.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to delete
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall deleteAsync(String resourceGroupName, String accountName, final ServiceCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Begins the delete delete process for the Data Lake Analytics account object specified by the account name.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to delete
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ ServiceResponse beginDelete(String resourceGroupName, String accountName) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Begins the delete delete process for the Data Lake Analytics account object specified by the account name.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to delete
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall beginDeleteAsync(String resourceGroupName, String accountName, final ServiceCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Creates the specified Data Lake Analytics account. This supplies the user with computation services for Data Lake Analytics workloads.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.the account will be associated with.
+ * @param name The name of the Data Lake Analytics account to create.
+ * @param parameters Parameters supplied to the create Data Lake Analytics account operation.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @throws InterruptedException exception thrown when long running operation is interrupted
+ * @return the DataLakeAnalyticsAccount object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse create(String resourceGroupName, String name, DataLakeAnalyticsAccount parameters) throws CloudException, IOException, IllegalArgumentException, InterruptedException;
+
+ /**
+ * Creates the specified Data Lake Analytics account. This supplies the user with computation services for Data Lake Analytics workloads.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.the account will be associated with.
+ * @param name The name of the Data Lake Analytics account to create.
+ * @param parameters Parameters supplied to the create Data Lake Analytics account operation.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall createAsync(String resourceGroupName, String name, DataLakeAnalyticsAccount parameters, final ServiceCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Creates the specified Data Lake Analytics account. This supplies the user with computation services for Data Lake Analytics workloads.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.the account will be associated with.
+ * @param name The name of the Data Lake Analytics account to create.
+ * @param parameters Parameters supplied to the create Data Lake Analytics account operation.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the DataLakeAnalyticsAccount object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse beginCreate(String resourceGroupName, String name, DataLakeAnalyticsAccount parameters) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Creates the specified Data Lake Analytics account. This supplies the user with computation services for Data Lake Analytics workloads.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.the account will be associated with.
+ * @param name The name of the Data Lake Analytics account to create.
+ * @param parameters Parameters supplied to the create Data Lake Analytics account operation.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall beginCreateAsync(String resourceGroupName, String name, DataLakeAnalyticsAccount parameters, final ServiceCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Updates the Data Lake Analytics account object specified by the accountName with the contents of the account object.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param name The name of the Data Lake Analytics account to update.
+ * @param parameters Parameters supplied to the update Data Lake Analytics account operation.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @throws InterruptedException exception thrown when long running operation is interrupted
+ * @return the DataLakeAnalyticsAccount object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse update(String resourceGroupName, String name, DataLakeAnalyticsAccount parameters) throws CloudException, IOException, IllegalArgumentException, InterruptedException;
+
+ /**
+ * Updates the Data Lake Analytics account object specified by the accountName with the contents of the account object.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param name The name of the Data Lake Analytics account to update.
+ * @param parameters Parameters supplied to the update Data Lake Analytics account operation.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall updateAsync(String resourceGroupName, String name, DataLakeAnalyticsAccount parameters, final ServiceCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Updates the Data Lake Analytics account object specified by the accountName with the contents of the account object.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param name The name of the Data Lake Analytics account to update.
+ * @param parameters Parameters supplied to the update Data Lake Analytics account operation.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the DataLakeAnalyticsAccount object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse beginUpdate(String resourceGroupName, String name, DataLakeAnalyticsAccount parameters) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Updates the Data Lake Analytics account object specified by the accountName with the contents of the account object.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param name The name of the Data Lake Analytics account to update.
+ * @param parameters Parameters supplied to the update Data Lake Analytics account operation.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall beginUpdateAsync(String resourceGroupName, String name, DataLakeAnalyticsAccount parameters, final ServiceCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Lists the Azure Storage containers, if any, associated with the specified Data Lake Analytics and Azure Storage account combination. The response includes a link to the next page of results, if any.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<BlobContainer> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> listStorageContainersNext(final String nextPageLink) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Lists the Azure Storage containers, if any, associated with the specified Data Lake Analytics and Azure Storage account combination. The response includes a link to the next page of results, if any.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param serviceCall the ServiceCall object tracking the Retrofit calls
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listStorageContainersNextAsync(final String nextPageLink, final ServiceCall serviceCall, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the next page of Azure Storage containers, if any, within the specified Azure Storage account. The response includes a link to the next page of results, if any.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<BlobContainer> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> storageContainersListNextNext(final String nextPageLink) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the next page of Azure Storage containers, if any, within the specified Azure Storage account. The response includes a link to the next page of results, if any.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param serviceCall the ServiceCall object tracking the Retrofit calls
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall storageContainersListNextNextAsync(final String nextPageLink, final ServiceCall serviceCall, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the next page of the SAS token objects within the specified Azure Storage account and container, if any.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<SasTokenInfo> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> sasTokensListNextNext(final String nextPageLink) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the next page of the SAS token objects within the specified Azure Storage account and container, if any.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param serviceCall the ServiceCall object tracking the Retrofit calls
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall sasTokensListNextNextAsync(final String nextPageLink, final ServiceCall serviceCall, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the SAS token associated with the specified Data Lake Analytics and Azure Storage account and container combination.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<SasTokenInfo> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> listSasTokensNext(final String nextPageLink) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the SAS token associated with the specified Data Lake Analytics and Azure Storage account and container combination.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param serviceCall the ServiceCall object tracking the Retrofit calls
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listSasTokensNextAsync(final String nextPageLink, final ServiceCall serviceCall, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the first page of Azure Storage accounts, if any, linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<StorageAccountInfo> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> listStorageAccountsNext(final String nextPageLink) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the first page of Azure Storage accounts, if any, linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param serviceCall the ServiceCall object tracking the Retrofit calls
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listStorageAccountsNextAsync(final String nextPageLink, final ServiceCall serviceCall, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the first page of Data Lake Store accounts linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<DataLakeStoreAccountInfo> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> listDataLakeStoreAccountsNext(final String nextPageLink) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the first page of Data Lake Store accounts linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param serviceCall the ServiceCall object tracking the Retrofit calls
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listDataLakeStoreAccountsNextAsync(final String nextPageLink, final ServiceCall serviceCall, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the first page of Data Lake Analytics accounts, if any, within a specific resource group. This includes a link to the next page, if any.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<DataLakeAnalyticsAccount> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> listByResourceGroupNext(final String nextPageLink) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the first page of Data Lake Analytics accounts, if any, within a specific resource group. This includes a link to the next page, if any.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param serviceCall the ServiceCall object tracking the Retrofit calls
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listByResourceGroupNextAsync(final String nextPageLink, final ServiceCall serviceCall, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+ /**
+ * Gets the first page of Data Lake Analytics accounts, if any, within the current subscription. This includes a link to the next page, if any.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<DataLakeAnalyticsAccount> object wrapped in {@link ServiceResponse} if successful.
+ */
+ ServiceResponse> listNext(final String nextPageLink) throws CloudException, IOException, IllegalArgumentException;
+
+ /**
+ * Gets the first page of Data Lake Analytics accounts, if any, within the current subscription. This includes a link to the next page, if any.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param serviceCall the ServiceCall object tracking the Retrofit calls
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link ServiceCall} object
+ */
+ ServiceCall listNextAsync(final String nextPageLink, final ServiceCall serviceCall, final ListOperationCallback serviceCallback) throws IllegalArgumentException;
+
+}
diff --git a/azure-mgmt-datalake-analytics/src/main/java/com/microsoft/azure/management/datalake/analytics/AccountOperationsImpl.java b/azure-mgmt-datalake-analytics/src/main/java/com/microsoft/azure/management/datalake/analytics/AccountOperationsImpl.java
new file mode 100644
index 000000000000..f9b755f6044a
--- /dev/null
+++ b/azure-mgmt-datalake-analytics/src/main/java/com/microsoft/azure/management/datalake/analytics/AccountOperationsImpl.java
@@ -0,0 +1,3143 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+package com.microsoft.azure.management.datalake.analytics;
+
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.AzureServiceResponseBuilder;
+import com.microsoft.azure.CloudException;
+import com.microsoft.azure.ListOperationCallback;
+import com.microsoft.azure.management.datalake.analytics.models.AddDataLakeStoreParameters;
+import com.microsoft.azure.management.datalake.analytics.models.AddStorageAccountParameters;
+import com.microsoft.azure.management.datalake.analytics.models.BlobContainer;
+import com.microsoft.azure.management.datalake.analytics.models.DataLakeAnalyticsAccount;
+import com.microsoft.azure.management.datalake.analytics.models.DataLakeStoreAccountInfo;
+import com.microsoft.azure.management.datalake.analytics.models.PageImpl;
+import com.microsoft.azure.management.datalake.analytics.models.SasTokenInfo;
+import com.microsoft.azure.management.datalake.analytics.models.StorageAccountInfo;
+import com.microsoft.rest.ServiceCall;
+import com.microsoft.rest.ServiceCallback;
+import com.microsoft.rest.ServiceResponse;
+import com.microsoft.rest.ServiceResponseCallback;
+import com.microsoft.rest.Validator;
+import java.io.IOException;
+import java.util.List;
+import okhttp3.ResponseBody;
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.http.Body;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+import retrofit2.http.HTTP;
+import retrofit2.http.PATCH;
+import retrofit2.http.Path;
+import retrofit2.http.POST;
+import retrofit2.http.PUT;
+import retrofit2.http.Query;
+import retrofit2.http.Url;
+import retrofit2.Response;
+import retrofit2.Retrofit;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in AccountOperations.
+ */
+public final class AccountOperationsImpl implements AccountOperations {
+ /** The Retrofit service to perform REST calls. */
+ private AccountService service;
+ /** The service client containing this operation class. */
+ private DataLakeAnalyticsAccountManagementClient client;
+
+ /**
+ * Initializes an instance of AccountOperations.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public AccountOperationsImpl(Retrofit retrofit, DataLakeAnalyticsAccountManagementClient client) {
+ this.service = retrofit.create(AccountService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AccountOperations to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface AccountService {
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/StorageAccounts/{storageAccountName}")
+ Call getStorageAccount(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("storageAccountName") String storageAccountName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/StorageAccounts/{storageAccountName}", method = "DELETE", hasBody = true)
+ Call deleteStorageAccount(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("storageAccountName") String storageAccountName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @PATCH("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/StorageAccounts/{storageAccountName}")
+ Call updateStorageAccount(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("storageAccountName") String storageAccountName, @Path("subscriptionId") String subscriptionId, @Body AddStorageAccountParameters parameters, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/StorageAccounts/{storageAccountName}")
+ Call addStorageAccount(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("storageAccountName") String storageAccountName, @Path("subscriptionId") String subscriptionId, @Body AddStorageAccountParameters parameters, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/StorageAccounts/{storageAccountName}/Containers/{containerName}")
+ Call getStorageContainer(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("storageAccountName") String storageAccountName, @Path("containerName") String containerName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/StorageAccounts/{storageAccountName}/Containers")
+ Call listStorageContainers(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("storageAccountName") String storageAccountName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET("{nextLink}")
+ Call storageContainersListNext(@Path("nextLink") String nextLink, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @POST("{nextLink}")
+ Call sasTokensListNext(@Path("nextLink") String nextLink, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/StorageAccounts/{storageAccountName}/Containers/{containerName}/listSasTokens")
+ Call listSasTokens(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("storageAccountName") String storageAccountName, @Path("containerName") String containerName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/DataLakeStoreAccounts/{dataLakeStoreAccountName}")
+ Call getDataLakeStoreAccount(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("dataLakeStoreAccountName") String dataLakeStoreAccountName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/DataLakeStoreAccounts/{dataLakeStoreAccountName}", method = "DELETE", hasBody = true)
+ Call deleteDataLakeStoreAccount(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("dataLakeStoreAccountName") String dataLakeStoreAccountName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/DataLakeStoreAccounts/{dataLakeStoreAccountName}")
+ Call addDataLakeStoreAccount(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("dataLakeStoreAccountName") String dataLakeStoreAccountName, @Path("subscriptionId") String subscriptionId, @Body AddDataLakeStoreParameters parameters, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/StorageAccounts/")
+ Call listStorageAccounts(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("subscriptionId") String subscriptionId, @Query("$filter") String filter, @Query("$top") Integer top, @Query("$skip") Integer skip, @Query("$expand") String expand, @Query("$select") String select, @Query("$orderby") String orderby, @Query("$count") Boolean count, @Query("$search") String search, @Query("$format") String format, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/DataLakeStoreAccounts/")
+ Call listDataLakeStoreAccounts(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("subscriptionId") String subscriptionId, @Query("$filter") String filter, @Query("$top") Integer top, @Query("$skip") Integer skip, @Query("$expand") String expand, @Query("$select") String select, @Query("$orderby") String orderby, @Query("$count") Boolean count, @Query("$search") String search, @Query("$format") String format, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts")
+ Call listByResourceGroup(@Path("resourceGroupName") String resourceGroupName, @Path("subscriptionId") String subscriptionId, @Query("$filter") String filter, @Query("$top") Integer top, @Query("$skip") Integer skip, @Query("$expand") String expand, @Query("$select") String select, @Query("$orderby") String orderby, @Query("$count") Boolean count, @Query("$search") String search, @Query("$format") String format, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET("subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/accounts")
+ Call list(@Path("subscriptionId") String subscriptionId, @Query("$filter") String filter, @Query("$top") Integer top, @Query("$skip") Integer skip, @Query("$expand") String expand, @Query("$select") String select, @Query("$orderby") String orderby, @Query("$count") Boolean count, @Query("$search") String search, @Query("$format") String format, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}")
+ Call get(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}", method = "DELETE", hasBody = true)
+ Call delete(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}", method = "DELETE", hasBody = true)
+ Call beginDelete(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{name}")
+ Call create(@Path("resourceGroupName") String resourceGroupName, @Path("name") String name, @Path("subscriptionId") String subscriptionId, @Body DataLakeAnalyticsAccount parameters, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{name}")
+ Call beginCreate(@Path("resourceGroupName") String resourceGroupName, @Path("name") String name, @Path("subscriptionId") String subscriptionId, @Body DataLakeAnalyticsAccount parameters, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @PATCH("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{name}")
+ Call update(@Path("resourceGroupName") String resourceGroupName, @Path("name") String name, @Path("subscriptionId") String subscriptionId, @Body DataLakeAnalyticsAccount parameters, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @PATCH("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{name}")
+ Call beginUpdate(@Path("resourceGroupName") String resourceGroupName, @Path("name") String name, @Path("subscriptionId") String subscriptionId, @Body DataLakeAnalyticsAccount parameters, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET
+ Call listStorageContainersNext(@Url String nextPageLink, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET
+ Call storageContainersListNextNext(@Url String nextPageLink, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET
+ Call sasTokensListNextNext(@Url String nextPageLink, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET
+ Call listSasTokensNext(@Url String nextPageLink, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET
+ Call listStorageAccountsNext(@Url String nextPageLink, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET
+ Call listDataLakeStoreAccountsNext(@Url String nextPageLink, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET
+ Call listByResourceGroupNext(@Url String nextPageLink, @Header("accept-language") String acceptLanguage);
+
+ @Headers("Content-Type: application/json; charset=utf-8")
+ @GET
+ Call listNext(@Url String nextPageLink, @Header("accept-language") String acceptLanguage);
+
+ }
+
+ /**
+ * Gets the specified Azure Storage account linked to the given Data Lake Analytics account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to retrieve Azure storage account details.
+ * @param storageAccountName The name of the Azure Storage account for which to retrieve the details.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the StorageAccountInfo object wrapped in {@link ServiceResponse} if successful.
+ */
+ public ServiceResponse getStorageAccount(String resourceGroupName, String accountName, String storageAccountName) throws CloudException, IOException, IllegalArgumentException {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (accountName == null) {
+ throw new IllegalArgumentException("Parameter accountName is required and cannot be null.");
+ }
+ if (storageAccountName == null) {
+ throw new IllegalArgumentException("Parameter storageAccountName is required and cannot be null.");
+ }
+ if (this.client.getSubscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null.");
+ }
+ if (this.client.getApiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null.");
+ }
+ Call call = service.getStorageAccount(resourceGroupName, accountName, storageAccountName, this.client.getSubscriptionId(), this.client.getApiVersion(), this.client.getAcceptLanguage());
+ return getStorageAccountDelegate(call.execute());
+ }
+
+ /**
+ * Gets the specified Azure Storage account linked to the given Data Lake Analytics account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to retrieve Azure storage account details.
+ * @param storageAccountName The name of the Azure Storage account for which to retrieve the details.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link Call} object
+ */
+ public ServiceCall getStorageAccountAsync(String resourceGroupName, String accountName, String storageAccountName, final ServiceCallback serviceCallback) throws IllegalArgumentException {
+ if (serviceCallback == null) {
+ throw new IllegalArgumentException("ServiceCallback is required for async calls.");
+ }
+ if (resourceGroupName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ return null;
+ }
+ if (accountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter accountName is required and cannot be null."));
+ return null;
+ }
+ if (storageAccountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter storageAccountName is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getSubscriptionId() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getApiVersion() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null."));
+ return null;
+ }
+ Call call = service.getStorageAccount(resourceGroupName, accountName, storageAccountName, this.client.getSubscriptionId(), this.client.getApiVersion(), this.client.getAcceptLanguage());
+ final ServiceCall serviceCall = new ServiceCall(call);
+ call.enqueue(new ServiceResponseCallback(serviceCallback) {
+ @Override
+ public void onResponse(Call call, Response response) {
+ try {
+ serviceCallback.success(getStorageAccountDelegate(response));
+ } catch (CloudException | IOException exception) {
+ serviceCallback.failure(exception);
+ }
+ }
+ });
+ return serviceCall;
+ }
+
+ private ServiceResponse getStorageAccountDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return new AzureServiceResponseBuilder(this.client.getMapperAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Updates the specified Data Lake Analytics account to remove an Azure Storage account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to remove the Azure Storage account.
+ * @param storageAccountName The name of the Azure Storage account to remove
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ public ServiceResponse deleteStorageAccount(String resourceGroupName, String accountName, String storageAccountName) throws CloudException, IOException, IllegalArgumentException {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (accountName == null) {
+ throw new IllegalArgumentException("Parameter accountName is required and cannot be null.");
+ }
+ if (storageAccountName == null) {
+ throw new IllegalArgumentException("Parameter storageAccountName is required and cannot be null.");
+ }
+ if (this.client.getSubscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null.");
+ }
+ if (this.client.getApiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null.");
+ }
+ Call call = service.deleteStorageAccount(resourceGroupName, accountName, storageAccountName, this.client.getSubscriptionId(), this.client.getApiVersion(), this.client.getAcceptLanguage());
+ return deleteStorageAccountDelegate(call.execute());
+ }
+
+ /**
+ * Updates the specified Data Lake Analytics account to remove an Azure Storage account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to remove the Azure Storage account.
+ * @param storageAccountName The name of the Azure Storage account to remove
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link Call} object
+ */
+ public ServiceCall deleteStorageAccountAsync(String resourceGroupName, String accountName, String storageAccountName, final ServiceCallback serviceCallback) throws IllegalArgumentException {
+ if (serviceCallback == null) {
+ throw new IllegalArgumentException("ServiceCallback is required for async calls.");
+ }
+ if (resourceGroupName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ return null;
+ }
+ if (accountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter accountName is required and cannot be null."));
+ return null;
+ }
+ if (storageAccountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter storageAccountName is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getSubscriptionId() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getApiVersion() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null."));
+ return null;
+ }
+ Call call = service.deleteStorageAccount(resourceGroupName, accountName, storageAccountName, this.client.getSubscriptionId(), this.client.getApiVersion(), this.client.getAcceptLanguage());
+ final ServiceCall serviceCall = new ServiceCall(call);
+ call.enqueue(new ServiceResponseCallback(serviceCallback) {
+ @Override
+ public void onResponse(Call call, Response response) {
+ try {
+ serviceCallback.success(deleteStorageAccountDelegate(response));
+ } catch (CloudException | IOException exception) {
+ serviceCallback.failure(exception);
+ }
+ }
+ });
+ return serviceCall;
+ }
+
+ private ServiceResponse deleteStorageAccountDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return new AzureServiceResponseBuilder(this.client.getMapperAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .build(response);
+ }
+
+ /**
+ * Updates the Data Lake Analytics account to replace Azure Storage blob account details, such as the access key and/or suffix.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to modify storage accounts in
+ * @param storageAccountName The Azure Storage account to modify
+ * @param parameters The parameters containing the access key and suffix to update the storage account with.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ public ServiceResponse updateStorageAccount(String resourceGroupName, String accountName, String storageAccountName, AddStorageAccountParameters parameters) throws CloudException, IOException, IllegalArgumentException {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (accountName == null) {
+ throw new IllegalArgumentException("Parameter accountName is required and cannot be null.");
+ }
+ if (storageAccountName == null) {
+ throw new IllegalArgumentException("Parameter storageAccountName is required and cannot be null.");
+ }
+ if (this.client.getSubscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null.");
+ }
+ if (parameters == null) {
+ throw new IllegalArgumentException("Parameter parameters is required and cannot be null.");
+ }
+ if (this.client.getApiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null.");
+ }
+ Validator.validate(parameters);
+ Call call = service.updateStorageAccount(resourceGroupName, accountName, storageAccountName, this.client.getSubscriptionId(), parameters, this.client.getApiVersion(), this.client.getAcceptLanguage());
+ return updateStorageAccountDelegate(call.execute());
+ }
+
+ /**
+ * Updates the Data Lake Analytics account to replace Azure Storage blob account details, such as the access key and/or suffix.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to modify storage accounts in
+ * @param storageAccountName The Azure Storage account to modify
+ * @param parameters The parameters containing the access key and suffix to update the storage account with.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link Call} object
+ */
+ public ServiceCall updateStorageAccountAsync(String resourceGroupName, String accountName, String storageAccountName, AddStorageAccountParameters parameters, final ServiceCallback serviceCallback) throws IllegalArgumentException {
+ if (serviceCallback == null) {
+ throw new IllegalArgumentException("ServiceCallback is required for async calls.");
+ }
+ if (resourceGroupName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ return null;
+ }
+ if (accountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter accountName is required and cannot be null."));
+ return null;
+ }
+ if (storageAccountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter storageAccountName is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getSubscriptionId() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ return null;
+ }
+ if (parameters == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getApiVersion() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null."));
+ return null;
+ }
+ Validator.validate(parameters, serviceCallback);
+ Call call = service.updateStorageAccount(resourceGroupName, accountName, storageAccountName, this.client.getSubscriptionId(), parameters, this.client.getApiVersion(), this.client.getAcceptLanguage());
+ final ServiceCall serviceCall = new ServiceCall(call);
+ call.enqueue(new ServiceResponseCallback(serviceCallback) {
+ @Override
+ public void onResponse(Call call, Response response) {
+ try {
+ serviceCallback.success(updateStorageAccountDelegate(response));
+ } catch (CloudException | IOException exception) {
+ serviceCallback.failure(exception);
+ }
+ }
+ });
+ return serviceCall;
+ }
+
+ private ServiceResponse updateStorageAccountDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return new AzureServiceResponseBuilder(this.client.getMapperAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .build(response);
+ }
+
+ /**
+ * Updates the specified Data Lake Analytics account to add an Azure Storage account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to which to add the Azure Storage account.
+ * @param storageAccountName The name of the Azure Storage account to add
+ * @param parameters The parameters containing the access key and optional suffix for the Azure Storage Account.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ public ServiceResponse addStorageAccount(String resourceGroupName, String accountName, String storageAccountName, AddStorageAccountParameters parameters) throws CloudException, IOException, IllegalArgumentException {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (accountName == null) {
+ throw new IllegalArgumentException("Parameter accountName is required and cannot be null.");
+ }
+ if (storageAccountName == null) {
+ throw new IllegalArgumentException("Parameter storageAccountName is required and cannot be null.");
+ }
+ if (this.client.getSubscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null.");
+ }
+ if (parameters == null) {
+ throw new IllegalArgumentException("Parameter parameters is required and cannot be null.");
+ }
+ if (this.client.getApiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null.");
+ }
+ Validator.validate(parameters);
+ Call call = service.addStorageAccount(resourceGroupName, accountName, storageAccountName, this.client.getSubscriptionId(), parameters, this.client.getApiVersion(), this.client.getAcceptLanguage());
+ return addStorageAccountDelegate(call.execute());
+ }
+
+ /**
+ * Updates the specified Data Lake Analytics account to add an Azure Storage account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to which to add the Azure Storage account.
+ * @param storageAccountName The name of the Azure Storage account to add
+ * @param parameters The parameters containing the access key and optional suffix for the Azure Storage Account.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link Call} object
+ */
+ public ServiceCall addStorageAccountAsync(String resourceGroupName, String accountName, String storageAccountName, AddStorageAccountParameters parameters, final ServiceCallback serviceCallback) throws IllegalArgumentException {
+ if (serviceCallback == null) {
+ throw new IllegalArgumentException("ServiceCallback is required for async calls.");
+ }
+ if (resourceGroupName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ return null;
+ }
+ if (accountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter accountName is required and cannot be null."));
+ return null;
+ }
+ if (storageAccountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter storageAccountName is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getSubscriptionId() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ return null;
+ }
+ if (parameters == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getApiVersion() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null."));
+ return null;
+ }
+ Validator.validate(parameters, serviceCallback);
+ Call call = service.addStorageAccount(resourceGroupName, accountName, storageAccountName, this.client.getSubscriptionId(), parameters, this.client.getApiVersion(), this.client.getAcceptLanguage());
+ final ServiceCall serviceCall = new ServiceCall(call);
+ call.enqueue(new ServiceResponseCallback(serviceCallback) {
+ @Override
+ public void onResponse(Call call, Response response) {
+ try {
+ serviceCallback.success(addStorageAccountDelegate(response));
+ } catch (CloudException | IOException exception) {
+ serviceCallback.failure(exception);
+ }
+ }
+ });
+ return serviceCall;
+ }
+
+ private ServiceResponse addStorageAccountDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return new AzureServiceResponseBuilder(this.client.getMapperAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .build(response);
+ }
+
+ /**
+ * Gets the specified Azure Storage container associated with the given Data Lake Analytics and Azure Storage accounts.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to retrieve blob container.
+ * @param storageAccountName The name of the Azure storage account from which to retrieve the blob container.
+ * @param containerName The name of the Azure storage container to retrieve
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the BlobContainer object wrapped in {@link ServiceResponse} if successful.
+ */
+ public ServiceResponse getStorageContainer(String resourceGroupName, String accountName, String storageAccountName, String containerName) throws CloudException, IOException, IllegalArgumentException {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (accountName == null) {
+ throw new IllegalArgumentException("Parameter accountName is required and cannot be null.");
+ }
+ if (storageAccountName == null) {
+ throw new IllegalArgumentException("Parameter storageAccountName is required and cannot be null.");
+ }
+ if (containerName == null) {
+ throw new IllegalArgumentException("Parameter containerName is required and cannot be null.");
+ }
+ if (this.client.getSubscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null.");
+ }
+ if (this.client.getApiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null.");
+ }
+ Call call = service.getStorageContainer(resourceGroupName, accountName, storageAccountName, containerName, this.client.getSubscriptionId(), this.client.getApiVersion(), this.client.getAcceptLanguage());
+ return getStorageContainerDelegate(call.execute());
+ }
+
+ /**
+ * Gets the specified Azure Storage container associated with the given Data Lake Analytics and Azure Storage accounts.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to retrieve blob container.
+ * @param storageAccountName The name of the Azure storage account from which to retrieve the blob container.
+ * @param containerName The name of the Azure storage container to retrieve
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link Call} object
+ */
+ public ServiceCall getStorageContainerAsync(String resourceGroupName, String accountName, String storageAccountName, String containerName, final ServiceCallback serviceCallback) throws IllegalArgumentException {
+ if (serviceCallback == null) {
+ throw new IllegalArgumentException("ServiceCallback is required for async calls.");
+ }
+ if (resourceGroupName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ return null;
+ }
+ if (accountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter accountName is required and cannot be null."));
+ return null;
+ }
+ if (storageAccountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter storageAccountName is required and cannot be null."));
+ return null;
+ }
+ if (containerName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter containerName is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getSubscriptionId() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getApiVersion() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null."));
+ return null;
+ }
+ Call call = service.getStorageContainer(resourceGroupName, accountName, storageAccountName, containerName, this.client.getSubscriptionId(), this.client.getApiVersion(), this.client.getAcceptLanguage());
+ final ServiceCall serviceCall = new ServiceCall(call);
+ call.enqueue(new ServiceResponseCallback(serviceCallback) {
+ @Override
+ public void onResponse(Call call, Response response) {
+ try {
+ serviceCallback.success(getStorageContainerDelegate(response));
+ } catch (CloudException | IOException exception) {
+ serviceCallback.failure(exception);
+ }
+ }
+ });
+ return serviceCall;
+ }
+
+ private ServiceResponse getStorageContainerDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return new AzureServiceResponseBuilder(this.client.getMapperAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Lists the Azure Storage containers, if any, associated with the specified Data Lake Analytics and Azure Storage account combination. The response includes a link to the next page of results, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to list Azure Storage blob containers.
+ * @param storageAccountName The name of the Azure storage account from which to list blob containers.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<BlobContainer> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public ServiceResponse> listStorageContainers(final String resourceGroupName, final String accountName, final String storageAccountName) throws CloudException, IOException, IllegalArgumentException {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (accountName == null) {
+ throw new IllegalArgumentException("Parameter accountName is required and cannot be null.");
+ }
+ if (storageAccountName == null) {
+ throw new IllegalArgumentException("Parameter storageAccountName is required and cannot be null.");
+ }
+ if (this.client.getSubscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null.");
+ }
+ if (this.client.getApiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null.");
+ }
+ Call call = service.listStorageContainers(resourceGroupName, accountName, storageAccountName, this.client.getSubscriptionId(), this.client.getApiVersion(), this.client.getAcceptLanguage());
+ ServiceResponse> response = listStorageContainersDelegate(call.execute());
+ List result = response.getBody().getItems();
+ while (response.getBody().getNextPageLink() != null) {
+ response = listStorageContainersNext(response.getBody().getNextPageLink());
+ result.addAll(response.getBody().getItems());
+ }
+ return new ServiceResponse<>(result, response.getResponse());
+ }
+
+ /**
+ * Lists the Azure Storage containers, if any, associated with the specified Data Lake Analytics and Azure Storage account combination. The response includes a link to the next page of results, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to list Azure Storage blob containers.
+ * @param storageAccountName The name of the Azure storage account from which to list blob containers.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link Call} object
+ */
+ public ServiceCall listStorageContainersAsync(final String resourceGroupName, final String accountName, final String storageAccountName, final ListOperationCallback serviceCallback) throws IllegalArgumentException {
+ if (serviceCallback == null) {
+ throw new IllegalArgumentException("ServiceCallback is required for async calls.");
+ }
+ if (resourceGroupName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ return null;
+ }
+ if (accountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter accountName is required and cannot be null."));
+ return null;
+ }
+ if (storageAccountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter storageAccountName is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getSubscriptionId() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getApiVersion() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null."));
+ return null;
+ }
+ Call call = service.listStorageContainers(resourceGroupName, accountName, storageAccountName, this.client.getSubscriptionId(), this.client.getApiVersion(), this.client.getAcceptLanguage());
+ final ServiceCall serviceCall = new ServiceCall(call);
+ call.enqueue(new ServiceResponseCallback>(serviceCallback) {
+ @Override
+ public void onResponse(Call call, Response response) {
+ try {
+ ServiceResponse> result = listStorageContainersDelegate(response);
+ serviceCallback.load(result.getBody().getItems());
+ if (result.getBody().getNextPageLink() != null
+ && serviceCallback.progress(result.getBody().getItems()) == ListOperationCallback.PagingBahavior.CONTINUE) {
+ listStorageContainersNextAsync(result.getBody().getNextPageLink(), serviceCall, serviceCallback);
+ } else {
+ serviceCallback.success(new ServiceResponse<>(serviceCallback.get(), result.getResponse()));
+ }
+ } catch (CloudException | IOException exception) {
+ serviceCallback.failure(exception);
+ }
+ }
+ });
+ return serviceCall;
+ }
+
+ private ServiceResponse> listStorageContainersDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return new AzureServiceResponseBuilder, CloudException>(this.client.getMapperAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Gets the next page of Azure Storage containers, if any, within the specified Azure Storage account. The response includes a link to the next page of results, if any.
+ *
+ * @param nextLink The URL to the next Azure Storage Container page.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<BlobContainer> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public ServiceResponse> storageContainersListNext(final String nextLink) throws CloudException, IOException, IllegalArgumentException {
+ if (nextLink == null) {
+ throw new IllegalArgumentException("Parameter nextLink is required and cannot be null.");
+ }
+ Call call = service.storageContainersListNext(nextLink, this.client.getAcceptLanguage());
+ ServiceResponse> response = storageContainersListNextDelegate(call.execute());
+ List result = response.getBody().getItems();
+ while (response.getBody().getNextPageLink() != null) {
+ response = storageContainersListNextNext(response.getBody().getNextPageLink());
+ result.addAll(response.getBody().getItems());
+ }
+ return new ServiceResponse<>(result, response.getResponse());
+ }
+
+ /**
+ * Gets the next page of Azure Storage containers, if any, within the specified Azure Storage account. The response includes a link to the next page of results, if any.
+ *
+ * @param nextLink The URL to the next Azure Storage Container page.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link Call} object
+ */
+ public ServiceCall storageContainersListNextAsync(final String nextLink, final ListOperationCallback serviceCallback) throws IllegalArgumentException {
+ if (serviceCallback == null) {
+ throw new IllegalArgumentException("ServiceCallback is required for async calls.");
+ }
+ if (nextLink == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ return null;
+ }
+ Call call = service.storageContainersListNext(nextLink, this.client.getAcceptLanguage());
+ final ServiceCall serviceCall = new ServiceCall(call);
+ call.enqueue(new ServiceResponseCallback>(serviceCallback) {
+ @Override
+ public void onResponse(Call call, Response response) {
+ try {
+ ServiceResponse> result = storageContainersListNextDelegate(response);
+ serviceCallback.load(result.getBody().getItems());
+ if (result.getBody().getNextPageLink() != null
+ && serviceCallback.progress(result.getBody().getItems()) == ListOperationCallback.PagingBahavior.CONTINUE) {
+ storageContainersListNextNextAsync(result.getBody().getNextPageLink(), serviceCall, serviceCallback);
+ } else {
+ serviceCallback.success(new ServiceResponse<>(serviceCallback.get(), result.getResponse()));
+ }
+ } catch (CloudException | IOException exception) {
+ serviceCallback.failure(exception);
+ }
+ }
+ });
+ return serviceCall;
+ }
+
+ private ServiceResponse> storageContainersListNextDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return new AzureServiceResponseBuilder, CloudException>(this.client.getMapperAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Gets the next page of the SAS token objects within the specified Azure Storage account and container, if any.
+ *
+ * @param nextLink The URL to the next Azure Storage Container SAS token page.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<SasTokenInfo> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public ServiceResponse> sasTokensListNext(final String nextLink) throws CloudException, IOException, IllegalArgumentException {
+ if (nextLink == null) {
+ throw new IllegalArgumentException("Parameter nextLink is required and cannot be null.");
+ }
+ Call call = service.sasTokensListNext(nextLink, this.client.getAcceptLanguage());
+ ServiceResponse> response = sasTokensListNextDelegate(call.execute());
+ List result = response.getBody().getItems();
+ while (response.getBody().getNextPageLink() != null) {
+ response = sasTokensListNextNext(response.getBody().getNextPageLink());
+ result.addAll(response.getBody().getItems());
+ }
+ return new ServiceResponse<>(result, response.getResponse());
+ }
+
+ /**
+ * Gets the next page of the SAS token objects within the specified Azure Storage account and container, if any.
+ *
+ * @param nextLink The URL to the next Azure Storage Container SAS token page.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link Call} object
+ */
+ public ServiceCall sasTokensListNextAsync(final String nextLink, final ListOperationCallback serviceCallback) throws IllegalArgumentException {
+ if (serviceCallback == null) {
+ throw new IllegalArgumentException("ServiceCallback is required for async calls.");
+ }
+ if (nextLink == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ return null;
+ }
+ Call call = service.sasTokensListNext(nextLink, this.client.getAcceptLanguage());
+ final ServiceCall serviceCall = new ServiceCall(call);
+ call.enqueue(new ServiceResponseCallback>(serviceCallback) {
+ @Override
+ public void onResponse(Call call, Response response) {
+ try {
+ ServiceResponse> result = sasTokensListNextDelegate(response);
+ serviceCallback.load(result.getBody().getItems());
+ if (result.getBody().getNextPageLink() != null
+ && serviceCallback.progress(result.getBody().getItems()) == ListOperationCallback.PagingBahavior.CONTINUE) {
+ sasTokensListNextNextAsync(result.getBody().getNextPageLink(), serviceCall, serviceCallback);
+ } else {
+ serviceCallback.success(new ServiceResponse<>(serviceCallback.get(), result.getResponse()));
+ }
+ } catch (CloudException | IOException exception) {
+ serviceCallback.failure(exception);
+ }
+ }
+ });
+ return serviceCall;
+ }
+
+ private ServiceResponse> sasTokensListNextDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return new AzureServiceResponseBuilder, CloudException>(this.client.getMapperAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Gets the SAS token associated with the specified Data Lake Analytics and Azure Storage account and container combination.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which an Azure Storage account's SAS token is being requested.
+ * @param storageAccountName The name of the Azure storage account for which the SAS token is being requested.
+ * @param containerName The name of the Azure storage container for which the SAS token is being requested.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<SasTokenInfo> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public ServiceResponse> listSasTokens(final String resourceGroupName, final String accountName, final String storageAccountName, final String containerName) throws CloudException, IOException, IllegalArgumentException {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (accountName == null) {
+ throw new IllegalArgumentException("Parameter accountName is required and cannot be null.");
+ }
+ if (storageAccountName == null) {
+ throw new IllegalArgumentException("Parameter storageAccountName is required and cannot be null.");
+ }
+ if (containerName == null) {
+ throw new IllegalArgumentException("Parameter containerName is required and cannot be null.");
+ }
+ if (this.client.getSubscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null.");
+ }
+ if (this.client.getApiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null.");
+ }
+ Call call = service.listSasTokens(resourceGroupName, accountName, storageAccountName, containerName, this.client.getSubscriptionId(), this.client.getApiVersion(), this.client.getAcceptLanguage());
+ ServiceResponse> response = listSasTokensDelegate(call.execute());
+ List result = response.getBody().getItems();
+ while (response.getBody().getNextPageLink() != null) {
+ response = listSasTokensNext(response.getBody().getNextPageLink());
+ result.addAll(response.getBody().getItems());
+ }
+ return new ServiceResponse<>(result, response.getResponse());
+ }
+
+ /**
+ * Gets the SAS token associated with the specified Data Lake Analytics and Azure Storage account and container combination.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which an Azure Storage account's SAS token is being requested.
+ * @param storageAccountName The name of the Azure storage account for which the SAS token is being requested.
+ * @param containerName The name of the Azure storage container for which the SAS token is being requested.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link Call} object
+ */
+ public ServiceCall listSasTokensAsync(final String resourceGroupName, final String accountName, final String storageAccountName, final String containerName, final ListOperationCallback serviceCallback) throws IllegalArgumentException {
+ if (serviceCallback == null) {
+ throw new IllegalArgumentException("ServiceCallback is required for async calls.");
+ }
+ if (resourceGroupName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ return null;
+ }
+ if (accountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter accountName is required and cannot be null."));
+ return null;
+ }
+ if (storageAccountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter storageAccountName is required and cannot be null."));
+ return null;
+ }
+ if (containerName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter containerName is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getSubscriptionId() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getApiVersion() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null."));
+ return null;
+ }
+ Call call = service.listSasTokens(resourceGroupName, accountName, storageAccountName, containerName, this.client.getSubscriptionId(), this.client.getApiVersion(), this.client.getAcceptLanguage());
+ final ServiceCall serviceCall = new ServiceCall(call);
+ call.enqueue(new ServiceResponseCallback>(serviceCallback) {
+ @Override
+ public void onResponse(Call call, Response response) {
+ try {
+ ServiceResponse> result = listSasTokensDelegate(response);
+ serviceCallback.load(result.getBody().getItems());
+ if (result.getBody().getNextPageLink() != null
+ && serviceCallback.progress(result.getBody().getItems()) == ListOperationCallback.PagingBahavior.CONTINUE) {
+ listSasTokensNextAsync(result.getBody().getNextPageLink(), serviceCall, serviceCallback);
+ } else {
+ serviceCallback.success(new ServiceResponse<>(serviceCallback.get(), result.getResponse()));
+ }
+ } catch (CloudException | IOException exception) {
+ serviceCallback.failure(exception);
+ }
+ }
+ });
+ return serviceCall;
+ }
+
+ private ServiceResponse> listSasTokensDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return new AzureServiceResponseBuilder, CloudException>(this.client.getMapperAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Gets the specified Data Lake Store account details in the specified Data Lake Analytics account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to retrieve the Data Lake Store account details.
+ * @param dataLakeStoreAccountName The name of the Data Lake Store account to retrieve
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the DataLakeStoreAccountInfo object wrapped in {@link ServiceResponse} if successful.
+ */
+ public ServiceResponse getDataLakeStoreAccount(String resourceGroupName, String accountName, String dataLakeStoreAccountName) throws CloudException, IOException, IllegalArgumentException {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (accountName == null) {
+ throw new IllegalArgumentException("Parameter accountName is required and cannot be null.");
+ }
+ if (dataLakeStoreAccountName == null) {
+ throw new IllegalArgumentException("Parameter dataLakeStoreAccountName is required and cannot be null.");
+ }
+ if (this.client.getSubscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null.");
+ }
+ if (this.client.getApiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null.");
+ }
+ Call call = service.getDataLakeStoreAccount(resourceGroupName, accountName, dataLakeStoreAccountName, this.client.getSubscriptionId(), this.client.getApiVersion(), this.client.getAcceptLanguage());
+ return getDataLakeStoreAccountDelegate(call.execute());
+ }
+
+ /**
+ * Gets the specified Data Lake Store account details in the specified Data Lake Analytics account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to retrieve the Data Lake Store account details.
+ * @param dataLakeStoreAccountName The name of the Data Lake Store account to retrieve
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link Call} object
+ */
+ public ServiceCall getDataLakeStoreAccountAsync(String resourceGroupName, String accountName, String dataLakeStoreAccountName, final ServiceCallback serviceCallback) throws IllegalArgumentException {
+ if (serviceCallback == null) {
+ throw new IllegalArgumentException("ServiceCallback is required for async calls.");
+ }
+ if (resourceGroupName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ return null;
+ }
+ if (accountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter accountName is required and cannot be null."));
+ return null;
+ }
+ if (dataLakeStoreAccountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter dataLakeStoreAccountName is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getSubscriptionId() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getApiVersion() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null."));
+ return null;
+ }
+ Call call = service.getDataLakeStoreAccount(resourceGroupName, accountName, dataLakeStoreAccountName, this.client.getSubscriptionId(), this.client.getApiVersion(), this.client.getAcceptLanguage());
+ final ServiceCall serviceCall = new ServiceCall(call);
+ call.enqueue(new ServiceResponseCallback(serviceCallback) {
+ @Override
+ public void onResponse(Call call, Response response) {
+ try {
+ serviceCallback.success(getDataLakeStoreAccountDelegate(response));
+ } catch (CloudException | IOException exception) {
+ serviceCallback.failure(exception);
+ }
+ }
+ });
+ return serviceCall;
+ }
+
+ private ServiceResponse getDataLakeStoreAccountDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return new AzureServiceResponseBuilder(this.client.getMapperAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Updates the Data Lake Analytics account specified to remove the specified Data Lake Store account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to remove the Data Lake Store account.
+ * @param dataLakeStoreAccountName The name of the Data Lake Store account to remove
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ public ServiceResponse deleteDataLakeStoreAccount(String resourceGroupName, String accountName, String dataLakeStoreAccountName) throws CloudException, IOException, IllegalArgumentException {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (accountName == null) {
+ throw new IllegalArgumentException("Parameter accountName is required and cannot be null.");
+ }
+ if (dataLakeStoreAccountName == null) {
+ throw new IllegalArgumentException("Parameter dataLakeStoreAccountName is required and cannot be null.");
+ }
+ if (this.client.getSubscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null.");
+ }
+ if (this.client.getApiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null.");
+ }
+ Call call = service.deleteDataLakeStoreAccount(resourceGroupName, accountName, dataLakeStoreAccountName, this.client.getSubscriptionId(), this.client.getApiVersion(), this.client.getAcceptLanguage());
+ return deleteDataLakeStoreAccountDelegate(call.execute());
+ }
+
+ /**
+ * Updates the Data Lake Analytics account specified to remove the specified Data Lake Store account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account from which to remove the Data Lake Store account.
+ * @param dataLakeStoreAccountName The name of the Data Lake Store account to remove
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link Call} object
+ */
+ public ServiceCall deleteDataLakeStoreAccountAsync(String resourceGroupName, String accountName, String dataLakeStoreAccountName, final ServiceCallback serviceCallback) throws IllegalArgumentException {
+ if (serviceCallback == null) {
+ throw new IllegalArgumentException("ServiceCallback is required for async calls.");
+ }
+ if (resourceGroupName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ return null;
+ }
+ if (accountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter accountName is required and cannot be null."));
+ return null;
+ }
+ if (dataLakeStoreAccountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter dataLakeStoreAccountName is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getSubscriptionId() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getApiVersion() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null."));
+ return null;
+ }
+ Call call = service.deleteDataLakeStoreAccount(resourceGroupName, accountName, dataLakeStoreAccountName, this.client.getSubscriptionId(), this.client.getApiVersion(), this.client.getAcceptLanguage());
+ final ServiceCall serviceCall = new ServiceCall(call);
+ call.enqueue(new ServiceResponseCallback(serviceCallback) {
+ @Override
+ public void onResponse(Call call, Response response) {
+ try {
+ serviceCallback.success(deleteDataLakeStoreAccountDelegate(response));
+ } catch (CloudException | IOException exception) {
+ serviceCallback.failure(exception);
+ }
+ }
+ });
+ return serviceCall;
+ }
+
+ private ServiceResponse deleteDataLakeStoreAccountDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return new AzureServiceResponseBuilder(this.client.getMapperAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .build(response);
+ }
+
+ /**
+ * Updates the specified Data Lake Analytics account to include the additional Data Lake Store account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to which to add the Data Lake Store account.
+ * @param dataLakeStoreAccountName The name of the Data Lake Store account to add.
+ * @param parameters The details of the Data Lake Store account.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ public ServiceResponse addDataLakeStoreAccount(String resourceGroupName, String accountName, String dataLakeStoreAccountName, AddDataLakeStoreParameters parameters) throws CloudException, IOException, IllegalArgumentException {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (accountName == null) {
+ throw new IllegalArgumentException("Parameter accountName is required and cannot be null.");
+ }
+ if (dataLakeStoreAccountName == null) {
+ throw new IllegalArgumentException("Parameter dataLakeStoreAccountName is required and cannot be null.");
+ }
+ if (this.client.getSubscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null.");
+ }
+ if (parameters == null) {
+ throw new IllegalArgumentException("Parameter parameters is required and cannot be null.");
+ }
+ if (this.client.getApiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null.");
+ }
+ Validator.validate(parameters);
+ Call call = service.addDataLakeStoreAccount(resourceGroupName, accountName, dataLakeStoreAccountName, this.client.getSubscriptionId(), parameters, this.client.getApiVersion(), this.client.getAcceptLanguage());
+ return addDataLakeStoreAccountDelegate(call.execute());
+ }
+
+ /**
+ * Updates the specified Data Lake Analytics account to include the additional Data Lake Store account.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account to which to add the Data Lake Store account.
+ * @param dataLakeStoreAccountName The name of the Data Lake Store account to add.
+ * @param parameters The details of the Data Lake Store account.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link Call} object
+ */
+ public ServiceCall addDataLakeStoreAccountAsync(String resourceGroupName, String accountName, String dataLakeStoreAccountName, AddDataLakeStoreParameters parameters, final ServiceCallback serviceCallback) throws IllegalArgumentException {
+ if (serviceCallback == null) {
+ throw new IllegalArgumentException("ServiceCallback is required for async calls.");
+ }
+ if (resourceGroupName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ return null;
+ }
+ if (accountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter accountName is required and cannot be null."));
+ return null;
+ }
+ if (dataLakeStoreAccountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter dataLakeStoreAccountName is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getSubscriptionId() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ return null;
+ }
+ if (parameters == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getApiVersion() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null."));
+ return null;
+ }
+ Validator.validate(parameters, serviceCallback);
+ Call call = service.addDataLakeStoreAccount(resourceGroupName, accountName, dataLakeStoreAccountName, this.client.getSubscriptionId(), parameters, this.client.getApiVersion(), this.client.getAcceptLanguage());
+ final ServiceCall serviceCall = new ServiceCall(call);
+ call.enqueue(new ServiceResponseCallback(serviceCallback) {
+ @Override
+ public void onResponse(Call call, Response response) {
+ try {
+ serviceCallback.success(addDataLakeStoreAccountDelegate(response));
+ } catch (CloudException | IOException exception) {
+ serviceCallback.failure(exception);
+ }
+ }
+ });
+ return serviceCall;
+ }
+
+ private ServiceResponse addDataLakeStoreAccountDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return new AzureServiceResponseBuilder(this.client.getMapperAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .build(response);
+ }
+
+ /**
+ * Gets the first page of Azure Storage accounts, if any, linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to list Azure Storage accounts.
+ * @throws CloudException exception thrown from REST call
+ * @throws IOException exception thrown from serialization/deserialization
+ * @throws IllegalArgumentException exception thrown from invalid parameters
+ * @return the List<StorageAccountInfo> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public ServiceResponse> listStorageAccounts(final String resourceGroupName, final String accountName) throws CloudException, IOException, IllegalArgumentException {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (accountName == null) {
+ throw new IllegalArgumentException("Parameter accountName is required and cannot be null.");
+ }
+ if (this.client.getSubscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null.");
+ }
+ if (this.client.getApiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null.");
+ }
+ StorageAccountInfo filter = null;
+ Integer top = null;
+ Integer skip = null;
+ String expand = null;
+ String select = null;
+ String orderby = null;
+ Boolean count = null;
+ String search = null;
+ String format = null;
+ Call call = service.listStorageAccounts(resourceGroupName, accountName, this.client.getSubscriptionId(), this.client.getMapperAdapter().serializeRaw(filter), top, skip, expand, select, orderby, count, search, format, this.client.getApiVersion(), this.client.getAcceptLanguage());
+ ServiceResponse> response = listStorageAccountsDelegate(call.execute());
+ List result = response.getBody().getItems();
+ while (response.getBody().getNextPageLink() != null) {
+ response = listStorageAccountsNext(response.getBody().getNextPageLink());
+ result.addAll(response.getBody().getItems());
+ }
+ return new ServiceResponse<>(result, response.getResponse());
+ }
+
+ /**
+ * Gets the first page of Azure Storage accounts, if any, linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.
+ *
+ * @param resourceGroupName The name of the Azure resource group that contains the Data Lake Analytics account.
+ * @param accountName The name of the Data Lake Analytics account for which to list Azure Storage accounts.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if callback is null
+ * @return the {@link Call} object
+ */
+ public ServiceCall listStorageAccountsAsync(final String resourceGroupName, final String accountName, final ListOperationCallback serviceCallback) throws IllegalArgumentException {
+ if (serviceCallback == null) {
+ throw new IllegalArgumentException("ServiceCallback is required for async calls.");
+ }
+ if (resourceGroupName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ return null;
+ }
+ if (accountName == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter accountName is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getSubscriptionId() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ return null;
+ }
+ if (this.client.getApiVersion() == null) {
+ serviceCallback.failure(new IllegalArgumentException("Parameter this.client.getApiVersion() is required and cannot be null."));
+ return null;
+ }
+ final StorageAccountInfo filter = null;
+ final Integer top = null;
+ final Integer skip = null;
+ final String expand = null;
+ final String select = null;
+ final String orderby = null;
+ final Boolean count = null;
+ final String search = null;
+ final String format = null;
+ Call call = service.listStorageAccounts(resourceGroupName, accountName, this.client.getSubscriptionId(), this.client.getMapperAdapter().serializeRaw(filter), top, skip, expand, select, orderby, count, search, format, this.client.getApiVersion(), this.client.getAcceptLanguage());
+ final ServiceCall serviceCall = new ServiceCall(call);
+ call.enqueue(new ServiceResponseCallback>(serviceCallback) {
+ @Override
+ public void onResponse(Call call, Response response) {
+ try {
+ ServiceResponse