diff --git a/sdk/storage/mgmt-v2019_04_01/pom.xml b/sdk/storage/mgmt-v2019_04_01/pom.xml
index 1361108dba7ea..acbc4c2f4c995 100644
--- a/sdk/storage/mgmt-v2019_04_01/pom.xml
+++ b/sdk/storage/mgmt-v2019_04_01/pom.xml
@@ -11,11 +11,11 @@
com.microsoft.azure
azure-arm-parent
- 1.2.0
- ../../parents/azure-arm-parent
+ 1.1.0
+ ../../../pom.management.xml
azure-mgmt-storage
- 1.0.0-beta-2
+ 1.0.0-beta
jar
Microsoft Azure SDK for Storage Management
This package contains Microsoft Storage Management SDK.
diff --git a/sdk/storage/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/storage/v2019_04_01/ActiveDirectoryProperties.java b/sdk/storage/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/storage/v2019_04_01/ActiveDirectoryProperties.java
new file mode 100644
index 0000000000000..3769049e4e8a5
--- /dev/null
+++ b/sdk/storage/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/storage/v2019_04_01/ActiveDirectoryProperties.java
@@ -0,0 +1,174 @@
+/**
+ * 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.
+ */
+
+package com.microsoft.azure.management.storage.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Settings properties for Active Directory (AD).
+ */
+public class ActiveDirectoryProperties {
+ /**
+ * Specifies the primary domain that the AD DNS server is authoritative
+ * for.
+ */
+ @JsonProperty(value = "domainName", required = true)
+ private String domainName;
+
+ /**
+ * Specifies the NetBIOS domain name.
+ */
+ @JsonProperty(value = "netBiosDomainName", required = true)
+ private String netBiosDomainName;
+
+ /**
+ * Specifies the Active Directory forest to get.
+ */
+ @JsonProperty(value = "forestName", required = true)
+ private String forestName;
+
+ /**
+ * Specifies the domain GUID.
+ */
+ @JsonProperty(value = "domainGuid", required = true)
+ private String domainGuid;
+
+ /**
+ * Specifies the security identifier (SID).
+ */
+ @JsonProperty(value = "domainSid", required = true)
+ private String domainSid;
+
+ /**
+ * Specifies the security identifier (SID) for Azure Storage.
+ */
+ @JsonProperty(value = "azureStorageSid", required = true)
+ private String azureStorageSid;
+
+ /**
+ * Get specifies the primary domain that the AD DNS server is authoritative for.
+ *
+ * @return the domainName value
+ */
+ public String domainName() {
+ return this.domainName;
+ }
+
+ /**
+ * Set specifies the primary domain that the AD DNS server is authoritative for.
+ *
+ * @param domainName the domainName value to set
+ * @return the ActiveDirectoryProperties object itself.
+ */
+ public ActiveDirectoryProperties withDomainName(String domainName) {
+ this.domainName = domainName;
+ return this;
+ }
+
+ /**
+ * Get specifies the NetBIOS domain name.
+ *
+ * @return the netBiosDomainName value
+ */
+ public String netBiosDomainName() {
+ return this.netBiosDomainName;
+ }
+
+ /**
+ * Set specifies the NetBIOS domain name.
+ *
+ * @param netBiosDomainName the netBiosDomainName value to set
+ * @return the ActiveDirectoryProperties object itself.
+ */
+ public ActiveDirectoryProperties withNetBiosDomainName(String netBiosDomainName) {
+ this.netBiosDomainName = netBiosDomainName;
+ return this;
+ }
+
+ /**
+ * Get specifies the Active Directory forest to get.
+ *
+ * @return the forestName value
+ */
+ public String forestName() {
+ return this.forestName;
+ }
+
+ /**
+ * Set specifies the Active Directory forest to get.
+ *
+ * @param forestName the forestName value to set
+ * @return the ActiveDirectoryProperties object itself.
+ */
+ public ActiveDirectoryProperties withForestName(String forestName) {
+ this.forestName = forestName;
+ return this;
+ }
+
+ /**
+ * Get specifies the domain GUID.
+ *
+ * @return the domainGuid value
+ */
+ public String domainGuid() {
+ return this.domainGuid;
+ }
+
+ /**
+ * Set specifies the domain GUID.
+ *
+ * @param domainGuid the domainGuid value to set
+ * @return the ActiveDirectoryProperties object itself.
+ */
+ public ActiveDirectoryProperties withDomainGuid(String domainGuid) {
+ this.domainGuid = domainGuid;
+ return this;
+ }
+
+ /**
+ * Get specifies the security identifier (SID).
+ *
+ * @return the domainSid value
+ */
+ public String domainSid() {
+ return this.domainSid;
+ }
+
+ /**
+ * Set specifies the security identifier (SID).
+ *
+ * @param domainSid the domainSid value to set
+ * @return the ActiveDirectoryProperties object itself.
+ */
+ public ActiveDirectoryProperties withDomainSid(String domainSid) {
+ this.domainSid = domainSid;
+ return this;
+ }
+
+ /**
+ * Get specifies the security identifier (SID) for Azure Storage.
+ *
+ * @return the azureStorageSid value
+ */
+ public String azureStorageSid() {
+ return this.azureStorageSid;
+ }
+
+ /**
+ * Set specifies the security identifier (SID) for Azure Storage.
+ *
+ * @param azureStorageSid the azureStorageSid value to set
+ * @return the ActiveDirectoryProperties object itself.
+ */
+ public ActiveDirectoryProperties withAzureStorageSid(String azureStorageSid) {
+ this.azureStorageSid = azureStorageSid;
+ return this;
+ }
+
+}
diff --git a/sdk/storage/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/storage/v2019_04_01/AzureFilesIdentityBasedAuthentication.java b/sdk/storage/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/storage/v2019_04_01/AzureFilesIdentityBasedAuthentication.java
index 8288488aa3824..b4ff38db4818a 100644
--- a/sdk/storage/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/storage/v2019_04_01/AzureFilesIdentityBasedAuthentication.java
+++ b/sdk/storage/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/storage/v2019_04_01/AzureFilesIdentityBasedAuthentication.java
@@ -16,13 +16,19 @@
public class AzureFilesIdentityBasedAuthentication {
/**
* Indicates the directory service used. Possible values include: 'None',
- * 'AADDS'.
+ * 'AADDS', 'AD'.
*/
@JsonProperty(value = "directoryServiceOptions", required = true)
private DirectoryServiceOptions directoryServiceOptions;
/**
- * Get indicates the directory service used. Possible values include: 'None', 'AADDS'.
+ * Required if choose AD.
+ */
+ @JsonProperty(value = "activeDirectoryProperties")
+ private ActiveDirectoryProperties activeDirectoryProperties;
+
+ /**
+ * Get indicates the directory service used. Possible values include: 'None', 'AADDS', 'AD'.
*
* @return the directoryServiceOptions value
*/
@@ -31,7 +37,7 @@ public DirectoryServiceOptions directoryServiceOptions() {
}
/**
- * Set indicates the directory service used. Possible values include: 'None', 'AADDS'.
+ * Set indicates the directory service used. Possible values include: 'None', 'AADDS', 'AD'.
*
* @param directoryServiceOptions the directoryServiceOptions value to set
* @return the AzureFilesIdentityBasedAuthentication object itself.
@@ -41,4 +47,24 @@ public AzureFilesIdentityBasedAuthentication withDirectoryServiceOptions(Directo
return this;
}
+ /**
+ * Get required if choose AD.
+ *
+ * @return the activeDirectoryProperties value
+ */
+ public ActiveDirectoryProperties activeDirectoryProperties() {
+ return this.activeDirectoryProperties;
+ }
+
+ /**
+ * Set required if choose AD.
+ *
+ * @param activeDirectoryProperties the activeDirectoryProperties value to set
+ * @return the AzureFilesIdentityBasedAuthentication object itself.
+ */
+ public AzureFilesIdentityBasedAuthentication withActiveDirectoryProperties(ActiveDirectoryProperties activeDirectoryProperties) {
+ this.activeDirectoryProperties = activeDirectoryProperties;
+ return this;
+ }
+
}
diff --git a/sdk/storage/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/storage/v2019_04_01/DirectoryServiceOptions.java b/sdk/storage/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/storage/v2019_04_01/DirectoryServiceOptions.java
index 9edcdeb415bfd..7ab98383dc4b9 100644
--- a/sdk/storage/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/storage/v2019_04_01/DirectoryServiceOptions.java
+++ b/sdk/storage/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/storage/v2019_04_01/DirectoryServiceOptions.java
@@ -22,6 +22,9 @@ public final class DirectoryServiceOptions extends ExpandableStringEnum, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
/**
- * Lists the access keys for the specified storage account.
+ * Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account.
*
* @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive.
* @param accountName The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
@@ -34,11 +34,11 @@ public interface StorageAccounts extends SupportsCreating listKeysAsync(String resourceGroupName, String accountName);
/**
- * Regenerates one of the access keys for the specified storage account.
+ * Regenerates one of the access keys or Kerberos keys for the specified storage account.
*
* @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive.
* @param accountName The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
- * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2.
+ * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2, kerb1, kerb2.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable for the request
*/
diff --git a/sdk/storage/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/storage/v2019_04_01/implementation/StorageAccountsInner.java b/sdk/storage/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/storage/v2019_04_01/implementation/StorageAccountsInner.java
index 8d7a6fa7381c0..70fe3e1ae33ee 100644
--- a/sdk/storage/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/storage/v2019_04_01/implementation/StorageAccountsInner.java
+++ b/sdk/storage/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/storage/v2019_04_01/implementation/StorageAccountsInner.java
@@ -17,6 +17,7 @@
import com.microsoft.azure.CloudException;
import com.microsoft.azure.ListOperationCallback;
import com.microsoft.azure.management.storage.v2019_04_01.AccountSasParameters;
+import com.microsoft.azure.management.storage.v2019_04_01.ListKeyExpand;
import com.microsoft.azure.management.storage.v2019_04_01.ServiceSasParameters;
import com.microsoft.azure.management.storage.v2019_04_01.StorageAccountCheckNameAvailabilityParameters;
import com.microsoft.azure.management.storage.v2019_04_01.StorageAccountCreateParameters;
@@ -48,8 +49,6 @@
import rx.Observable;
import com.microsoft.azure.LongRunningFinalState;
import com.microsoft.azure.LongRunningOperationOptions;
-import com.microsoft.azure.LongRunningFinalState;
-import com.microsoft.azure.LongRunningOperationOptions;
/**
* An instance of this class provides access to all the operations defined
@@ -111,7 +110,7 @@ interface StorageAccountsService {
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.storage.v2019_04_01.StorageAccounts listKeys" })
@POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys")
- Observable> listKeys(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+ Observable> listKeys(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Query("$expand") ListKeyExpand expand, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.storage.v2019_04_01.StorageAccounts regenerateKey" })
@POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey")
@@ -942,7 +941,7 @@ private ServiceResponse> listByResourceGroupDelega
}
/**
- * Lists the access keys for the specified storage account.
+ * Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account.
*
* @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive.
* @param accountName The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
@@ -956,7 +955,7 @@ public StorageAccountListKeysResultInner listKeys(String resourceGroupName, Stri
}
/**
- * Lists the access keys for the specified storage account.
+ * Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account.
*
* @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive.
* @param accountName The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
@@ -969,7 +968,7 @@ public ServiceFuture listKeysAsync(String res
}
/**
- * Lists the access keys for the specified storage account.
+ * Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account.
*
* @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive.
* @param accountName The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
@@ -986,7 +985,7 @@ public StorageAccountListKeysResultInner call(ServiceResponse> listKeysWi
if (this.client.apiVersion() == null) {
throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
}
- return service.listKeys(resourceGroupName, accountName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ final ListKeyExpand expand = null;
+ return service.listKeys(resourceGroupName, accountName, this.client.subscriptionId(), this.client.apiVersion(), expand, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = listKeysDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ /**
+ * Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive.
+ * @param accountName The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
+ * @param expand Specifies type of the key to be listed. Possible value is kerb. Possible values include: 'kerb'
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the StorageAccountListKeysResultInner object if successful.
+ */
+ public StorageAccountListKeysResultInner listKeys(String resourceGroupName, String accountName, ListKeyExpand expand) {
+ return listKeysWithServiceResponseAsync(resourceGroupName, accountName, expand).toBlocking().single().body();
+ }
+
+ /**
+ * Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive.
+ * @param accountName The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
+ * @param expand Specifies type of the key to be listed. Possible value is kerb. Possible values include: 'kerb'
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture listKeysAsync(String resourceGroupName, String accountName, ListKeyExpand expand, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(listKeysWithServiceResponseAsync(resourceGroupName, accountName, expand), serviceCallback);
+ }
+
+ /**
+ * Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive.
+ * @param accountName The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
+ * @param expand Specifies type of the key to be listed. Possible value is kerb. Possible values include: 'kerb'
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the StorageAccountListKeysResultInner object
+ */
+ public Observable listKeysAsync(String resourceGroupName, String accountName, ListKeyExpand expand) {
+ return listKeysWithServiceResponseAsync(resourceGroupName, accountName, expand).map(new Func1, StorageAccountListKeysResultInner>() {
+ @Override
+ public StorageAccountListKeysResultInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive.
+ * @param accountName The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
+ * @param expand Specifies type of the key to be listed. Possible value is kerb. Possible values include: 'kerb'
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the StorageAccountListKeysResultInner object
+ */
+ public Observable> listKeysWithServiceResponseAsync(String resourceGroupName, String accountName, ListKeyExpand expand) {
+ 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.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ return service.listKeys(resourceGroupName, accountName, this.client.subscriptionId(), this.client.apiVersion(), expand, this.client.acceptLanguage(), this.client.userAgent())
.flatMap(new Func1, Observable>>() {
@Override
public Observable> call(Response response) {
@@ -1028,11 +1111,11 @@ private ServiceResponse listKeysDelegate(Resp
}
/**
- * Regenerates one of the access keys for the specified storage account.
+ * Regenerates one of the access keys or Kerberos keys for the specified storage account.
*
* @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive.
* @param accountName The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
- * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2.
+ * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2, kerb1, kerb2.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @throws CloudException thrown if the request is rejected by server
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
@@ -1043,11 +1126,11 @@ public StorageAccountListKeysResultInner regenerateKey(String resourceGroupName,
}
/**
- * Regenerates one of the access keys for the specified storage account.
+ * Regenerates one of the access keys or Kerberos keys for the specified storage account.
*
* @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive.
* @param accountName The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
- * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2.
+ * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2, kerb1, kerb2.
* @param serviceCallback the async ServiceCallback to handle successful and failed responses.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the {@link ServiceFuture} object
@@ -1057,11 +1140,11 @@ public ServiceFuture regenerateKeyAsync(Strin
}
/**
- * Regenerates one of the access keys for the specified storage account.
+ * Regenerates one of the access keys or Kerberos keys for the specified storage account.
*
* @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive.
* @param accountName The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
- * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2.
+ * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2, kerb1, kerb2.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable to the StorageAccountListKeysResultInner object
*/
@@ -1075,11 +1158,11 @@ public StorageAccountListKeysResultInner call(ServiceResponse