diff --git a/storage/resource-manager/v2016_01_01/pom.xml b/storage/resource-manager/v2016_01_01/pom.xml
index 63be50708815..25539aee83a1 100644
--- a/storage/resource-manager/v2016_01_01/pom.xml
+++ b/storage/resource-manager/v2016_01_01/pom.xml
@@ -11,7 +11,7 @@
com.microsoft.azure
azure-arm-parent
- 1.0.0
+ 0.0.3-beta
../../../pom.xml
azure-mgmt-storage
@@ -19,7 +19,7 @@
jar
Microsoft Azure SDK for Storage Management
This package contains Microsoft Storage Management SDK.
- https://github.com/Azure/azure-libraries-for-java
+ https://github.com/Azure/azure-sdk-for-java
The MIT License (MIT)
@@ -28,8 +28,8 @@
- scm:git:https://github.com/Azure/azure-libraries-for-java
- scm:git:git@github.com:Azure/azure-libraries-for-java.git
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
HEAD
diff --git a/storage/resource-manager/v2016_01_01/src/main/java/com/microsoft/azure/management/storage/v2016_01_01/CustomDomain.java b/storage/resource-manager/v2016_01_01/src/main/java/com/microsoft/azure/management/storage/v2016_01_01/CustomDomain.java
index 7597576a81b8..bf357b6e12c8 100644
--- a/storage/resource-manager/v2016_01_01/src/main/java/com/microsoft/azure/management/storage/v2016_01_01/CustomDomain.java
+++ b/storage/resource-manager/v2016_01_01/src/main/java/com/microsoft/azure/management/storage/v2016_01_01/CustomDomain.java
@@ -26,8 +26,8 @@ public class CustomDomain {
* Indicates whether indirect CName validation is enabled. Default value is
* false. This should only be set on updates.
*/
- @JsonProperty(value = "useSubDomain")
- private Boolean useSubDomain;
+ @JsonProperty(value = "useSubDomainName")
+ private Boolean useSubDomainName;
/**
* Get gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.
@@ -52,20 +52,20 @@ public CustomDomain withName(String name) {
/**
* Get indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.
*
- * @return the useSubDomain value
+ * @return the useSubDomainName value
*/
- public Boolean useSubDomain() {
- return this.useSubDomain;
+ public Boolean useSubDomainName() {
+ return this.useSubDomainName;
}
/**
* Set indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.
*
- * @param useSubDomain the useSubDomain value to set
+ * @param useSubDomainName the useSubDomainName value to set
* @return the CustomDomain object itself.
*/
- public CustomDomain withUseSubDomain(Boolean useSubDomain) {
- this.useSubDomain = useSubDomain;
+ public CustomDomain withUseSubDomainName(Boolean useSubDomainName) {
+ this.useSubDomainName = useSubDomainName;
return this;
}
diff --git a/storage/resource-manager/v2016_01_01/src/main/java/com/microsoft/azure/management/storage/v2016_01_01/StorageAccount.java b/storage/resource-manager/v2016_01_01/src/main/java/com/microsoft/azure/management/storage/v2016_01_01/StorageAccount.java
index 29d682b11e7a..f4d5164dc3e9 100644
--- a/storage/resource-manager/v2016_01_01/src/main/java/com/microsoft/azure/management/storage/v2016_01_01/StorageAccount.java
+++ b/storage/resource-manager/v2016_01_01/src/main/java/com/microsoft/azure/management/storage/v2016_01_01/StorageAccount.java
@@ -123,7 +123,9 @@ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup, Resource.UpdateWithTags
com.microsoft.azure
azure-arm-parent
- 1.0.0
+ 0.0.3-beta
../../../pom.xml
azure-mgmt-storage
@@ -19,7 +19,7 @@
jar
Microsoft Azure SDK for Storage Management
This package contains Microsoft Storage Management SDK.
- https://github.com/Azure/azure-libraries-for-java
+ https://github.com/Azure/azure-sdk-for-java
The MIT License (MIT)
@@ -28,8 +28,8 @@
- scm:git:https://github.com/Azure/azure-libraries-for-java
- scm:git:git@github.com:Azure/azure-libraries-for-java.git
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
HEAD
diff --git a/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/CustomDomain.java b/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/CustomDomain.java
index cbc14318cf29..34895ed0bda0 100644
--- a/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/CustomDomain.java
+++ b/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/CustomDomain.java
@@ -26,8 +26,8 @@ public class CustomDomain {
* Indicates whether indirect CName validation is enabled. Default value is
* false. This should only be set on updates.
*/
- @JsonProperty(value = "useSubDomain")
- private Boolean useSubDomain;
+ @JsonProperty(value = "useSubDomainName")
+ private Boolean useSubDomainName;
/**
* Get gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.
@@ -52,20 +52,20 @@ public CustomDomain withName(String name) {
/**
* Get indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.
*
- * @return the useSubDomain value
+ * @return the useSubDomainName value
*/
- public Boolean useSubDomain() {
- return this.useSubDomain;
+ public Boolean useSubDomainName() {
+ return this.useSubDomainName;
}
/**
* Set indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.
*
- * @param useSubDomain the useSubDomain value to set
+ * @param useSubDomainName the useSubDomainName value to set
* @return the CustomDomain object itself.
*/
- public CustomDomain withUseSubDomain(Boolean useSubDomain) {
- this.useSubDomain = useSubDomain;
+ public CustomDomain withUseSubDomainName(Boolean useSubDomainName) {
+ this.useSubDomainName = useSubDomainName;
return this;
}
diff --git a/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/Dimension.java b/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/Dimension.java
index 9cb5f123501e..c0838ab51b96 100644
--- a/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/Dimension.java
+++ b/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/Dimension.java
@@ -11,7 +11,7 @@
import com.fasterxml.jackson.annotation.JsonProperty;
/**
- * Dimension of blobs, possiblly be blob type or access tier.
+ * Dimension of blobs, possibly be blob type or access tier.
*/
public class Dimension {
/**
diff --git a/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/ServiceSasParameters.java b/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/ServiceSasParameters.java
index 033862f56610..fee6c492b651 100644
--- a/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/ServiceSasParameters.java
+++ b/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/ServiceSasParameters.java
@@ -12,7 +12,7 @@
import com.fasterxml.jackson.annotation.JsonProperty;
/**
- * The parameters to list service SAS credentials of a speicific resource.
+ * The parameters to list service SAS credentials of a specific resource.
*/
public class ServiceSasParameters {
/**
diff --git a/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/StorageAccount.java b/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/StorageAccount.java
index 0a7a5fe13744..6f8f1fe746c5 100644
--- a/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/StorageAccount.java
+++ b/storage/resource-manager/v2017_10_01/src/main/java/com/microsoft/azure/management/storage/v2017_10_01/StorageAccount.java
@@ -139,7 +139,9 @@ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup, Resource.UpdateWithTags listKeysDelegate(Resp
*
* @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 vaules are key1, key2.
+ * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2.
* @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
@@ -913,7 +913,7 @@ public StorageAccountListKeysResultInner regenerateKey(String resourceGroupName,
*
* @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 vaules are key1, key2.
+ * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2.
* @param serviceCallback the async ServiceCallback to handle successful and failed responses.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the {@link ServiceFuture} object
@@ -927,7 +927,7 @@ public ServiceFuture regenerateKeyAsync(Strin
*
* @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 vaules are key1, key2.
+ * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable to the StorageAccountListKeysResultInner object
*/
@@ -945,7 +945,7 @@ public StorageAccountListKeysResultInner call(ServiceResponse
com.microsoft.azure
azure-arm-parent
- 1.0.0
+ 0.0.3-beta
../../../pom.xml
azure-mgmt-storage
@@ -19,7 +19,7 @@
jar
Microsoft Azure SDK for Storage Management
This package contains Microsoft Storage Management SDK.
- https://github.com/Azure/azure-libraries-for-java
+ https://github.com/Azure/azure-sdk-for-java
The MIT License (MIT)
@@ -28,8 +28,8 @@
- scm:git:https://github.com/Azure/azure-libraries-for-java
- scm:git:git@github.com:Azure/azure-libraries-for-java.git
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
HEAD
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/BlobContainer.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/BlobContainer.java
index fd6c8a3baf7b..e6256282596a 100644
--- a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/BlobContainer.java
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/BlobContainer.java
@@ -16,8 +16,8 @@
import com.microsoft.azure.arm.model.Creatable;
import com.microsoft.azure.arm.resources.models.HasManager;
import com.microsoft.azure.management.storage.v2018_02_01.implementation.StorageManager;
-import org.joda.time.DateTime;
import java.util.Map;
+import org.joda.time.DateTime;
/**
* Type representing BlobContainer.
@@ -96,7 +96,7 @@ public interface BlobContainer extends HasInner, Indexable,
/**
* The entirety of the BlobContainer definition.
*/
- interface Definition extends DefinitionStages.Blank, DefinitionStages.WithBlobService, DefinitionStages.WithCreate {
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithBlobService, DefinitionStages.WithPublicAccess, DefinitionStages.WithMetadata, DefinitionStages.WithCreate {
}
/**
@@ -115,8 +115,35 @@ interface Blank extends WithBlobService {
interface WithBlobService {
/**
* Specifies resourceGroupName, accountName.
+ * @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
+ * @return the next definition stage
+ */
+ WithPublicAccess withExistingBlobService(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the blobcontainer definition allowing to specify PublicAccess.
+ */
+ interface WithPublicAccess {
+ /**
+ * Specifies publicAccess.
+ * @param publicAccess Specifies whether data in the container may be accessed publicly and the level of access. Possible values include: 'Container', 'Blob', 'None'
+ * @return the next definition stage
+ */
+ WithMetadata withPublicAccess(PublicAccess publicAccess);
+ }
+
+ /**
+ * The stage of the blobcontainer definition allowing to specify Metadata.
+ */
+ interface WithMetadata {
+ /**
+ * Specifies metadata.
+ * @param metadata A name-value pair to associate with the container as metadata
+ * @return the next definition stage
*/
- WithCreate withExistingBlobService(String resourceGroupName, String accountName);
+ WithCreate withMetadata(Map metadata);
}
/**
@@ -130,12 +157,36 @@ interface WithCreate extends Creatable {
/**
* The template for a BlobContainer update operation, containing all the settings that can be modified.
*/
- interface Update extends Appliable {
+ interface Update extends Appliable, UpdateStages.WithPublicAccess, UpdateStages.WithMetadata {
}
/**
* Grouping of BlobContainer update stages.
*/
interface UpdateStages {
+ /**
+ * The stage of the blobcontainer update allowing to specify PublicAccess.
+ */
+ interface WithPublicAccess {
+ /**
+ * Specifies publicAccess.
+ * @param publicAccess Specifies whether data in the container may be accessed publicly and the level of access. Possible values include: 'Container', 'Blob', 'None'
+ * @return the next update stage
+ */
+ Update withPublicAccess(PublicAccess publicAccess);
+ }
+
+ /**
+ * The stage of the blobcontainer update allowing to specify Metadata.
+ */
+ interface WithMetadata {
+ /**
+ * Specifies metadata.
+ * @param metadata A name-value pair to associate with the container as metadata
+ * @return the next update stage
+ */
+ Update withMetadata(Map metadata);
+ }
+
}
}
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/BlobContainers.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/BlobContainers.java
index feaf8cb438fd..b22510b3b26e 100644
--- a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/BlobContainers.java
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/BlobContainers.java
@@ -86,6 +86,17 @@ public interface BlobContainers {
*/
Observable clearLegalHoldAsync(String resourceGroupName, String accountName, String containerName, List tags);
+ /**
+ * The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
+ *
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable leaseAsync(String resourceGroupName, String accountName, String containerName);
+
/**
* Gets the existing immutability policy along with the corresponding ETag in response headers and body.
*
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/CustomDomain.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/CustomDomain.java
index eb6a3f64f18f..ab5fb6b3a084 100644
--- a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/CustomDomain.java
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/CustomDomain.java
@@ -26,8 +26,8 @@ public class CustomDomain {
* Indicates whether indirect CName validation is enabled. Default value is
* false. This should only be set on updates.
*/
- @JsonProperty(value = "useSubDomain")
- private Boolean useSubDomain;
+ @JsonProperty(value = "useSubDomainName")
+ private Boolean useSubDomainName;
/**
* Get gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.
@@ -52,20 +52,20 @@ public CustomDomain withName(String name) {
/**
* Get indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.
*
- * @return the useSubDomain value
+ * @return the useSubDomainName value
*/
- public Boolean useSubDomain() {
- return this.useSubDomain;
+ public Boolean useSubDomainName() {
+ return this.useSubDomainName;
}
/**
* Set indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.
*
- * @param useSubDomain the useSubDomain value to set
+ * @param useSubDomainName the useSubDomainName value to set
* @return the CustomDomain object itself.
*/
- public CustomDomain withUseSubDomain(Boolean useSubDomain) {
- this.useSubDomain = useSubDomain;
+ public CustomDomain withUseSubDomainName(Boolean useSubDomainName) {
+ this.useSubDomainName = useSubDomainName;
return this;
}
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/Dimension.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/Dimension.java
index e328ee85e642..0c65384071b0 100644
--- a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/Dimension.java
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/Dimension.java
@@ -11,7 +11,7 @@
import com.fasterxml.jackson.annotation.JsonProperty;
/**
- * Dimension of blobs, possiblly be blob type or access tier.
+ * Dimension of blobs, possibly be blob type or access tier.
*/
public class Dimension {
/**
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/ImmutabilityPolicy.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/ImmutabilityPolicy.java
index d498ce639d8f..8b5c0ce52f8f 100644
--- a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/ImmutabilityPolicy.java
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/ImmutabilityPolicy.java
@@ -55,7 +55,7 @@ public interface ImmutabilityPolicy extends HasInner, I
/**
* The entirety of the ImmutabilityPolicy definition.
*/
- interface Definition extends DefinitionStages.Blank, DefinitionStages.WithContainer, DefinitionStages.WithImmutabilityPeriodSinceCreationInDays, DefinitionStages.WithCreate {
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithContainer, DefinitionStages.WithIfMatch, DefinitionStages.WithImmutabilityPeriodSinceCreationInDays, DefinitionStages.WithCreate {
}
/**
@@ -74,8 +74,24 @@ interface Blank extends WithContainer {
interface WithContainer {
/**
* Specifies resourceGroupName, accountName, containerName.
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number
+ * @return the next definition stage
*/
- WithImmutabilityPeriodSinceCreationInDays withExistingContainer(String resourceGroupName, String accountName, String containerName);
+ WithIfMatch withExistingContainer(String resourceGroupName, String accountName, String containerName);
+ }
+
+ /**
+ * The stage of the immutabilitypolicy definition allowing to specify IfMatch.
+ */
+ interface WithIfMatch {
+ /**
+ * Specifies ifMatch.
+ * @param ifMatch The entity state (ETag) version of the immutability policy to update. A value of "*" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied
+ * @return the next definition stage
+ */
+ WithImmutabilityPeriodSinceCreationInDays withIfMatch(String ifMatch);
}
/**
@@ -84,6 +100,8 @@ interface WithContainer {
interface WithImmutabilityPeriodSinceCreationInDays {
/**
* Specifies immutabilityPeriodSinceCreationInDays.
+ * @param immutabilityPeriodSinceCreationInDays The immutability period for the blobs in the container since the policy creation, in days
+ * @return the next definition stage
*/
WithCreate withImmutabilityPeriodSinceCreationInDays(int immutabilityPeriodSinceCreationInDays);
}
@@ -99,19 +117,33 @@ interface WithCreate extends Creatable {
/**
* The template for a ImmutabilityPolicy update operation, containing all the settings that can be modified.
*/
- interface Update extends Appliable, UpdateStages.WithImmutabilityPeriodSinceCreationInDays {
+ interface Update extends Appliable, UpdateStages.WithIfMatch, UpdateStages.WithImmutabilityPeriodSinceCreationInDays {
}
/**
* Grouping of ImmutabilityPolicy update stages.
*/
interface UpdateStages {
+ /**
+ * The stage of the immutabilitypolicy update allowing to specify IfMatch.
+ */
+ interface WithIfMatch {
+ /**
+ * Specifies ifMatch.
+ * @param ifMatch The entity state (ETag) version of the immutability policy to update. A value of "*" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied
+ * @return the next update stage
+ */
+ Update withIfMatch(String ifMatch);
+ }
+
/**
* The stage of the immutabilitypolicy update allowing to specify ImmutabilityPeriodSinceCreationInDays.
*/
interface WithImmutabilityPeriodSinceCreationInDays {
/**
* Specifies immutabilityPeriodSinceCreationInDays.
+ * @param immutabilityPeriodSinceCreationInDays The immutability period for the blobs in the container since the policy creation, in days
+ * @return the next update stage
*/
Update withImmutabilityPeriodSinceCreationInDays(int immutabilityPeriodSinceCreationInDays);
}
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/LeaseContainerRequest.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/LeaseContainerRequest.java
new file mode 100644
index 000000000000..378ba0d885e5
--- /dev/null
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/LeaseContainerRequest.java
@@ -0,0 +1,152 @@
+/**
+ * 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.v2018_02_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Lease Container request schema.
+ */
+public class LeaseContainerRequest {
+ /**
+ * Specifies the lease action. Can be one of the available actions.
+ * Possible values include: 'Acquire', 'Renew', 'Change', 'Release',
+ * 'Break'.
+ */
+ @JsonProperty(value = "action", required = true)
+ private String action;
+
+ /**
+ * Identifies the lease. Can be specified in any valid GUID string format.
+ */
+ @JsonProperty(value = "leaseId")
+ private String leaseId;
+
+ /**
+ * Optional. For a break action, proposed duration the lease should
+ * continue before it is broken, in seconds, between 0 and 60.
+ */
+ @JsonProperty(value = "breakPeriod")
+ private Integer breakPeriod;
+
+ /**
+ * Required for acquire. Specifies the duration of the lease, in seconds,
+ * or negative one (-1) for a lease that never expires.
+ */
+ @JsonProperty(value = "leaseDuration")
+ private Integer leaseDuration;
+
+ /**
+ * Optional for acquire, required for change. Proposed lease ID, in a GUID
+ * string format.
+ */
+ @JsonProperty(value = "proposedLeaseId")
+ private String proposedLeaseId;
+
+ /**
+ * Get specifies the lease action. Can be one of the available actions. Possible values include: 'Acquire', 'Renew', 'Change', 'Release', 'Break'.
+ *
+ * @return the action value
+ */
+ public String action() {
+ return this.action;
+ }
+
+ /**
+ * Set specifies the lease action. Can be one of the available actions. Possible values include: 'Acquire', 'Renew', 'Change', 'Release', 'Break'.
+ *
+ * @param action the action value to set
+ * @return the LeaseContainerRequest object itself.
+ */
+ public LeaseContainerRequest withAction(String action) {
+ this.action = action;
+ return this;
+ }
+
+ /**
+ * Get identifies the lease. Can be specified in any valid GUID string format.
+ *
+ * @return the leaseId value
+ */
+ public String leaseId() {
+ return this.leaseId;
+ }
+
+ /**
+ * Set identifies the lease. Can be specified in any valid GUID string format.
+ *
+ * @param leaseId the leaseId value to set
+ * @return the LeaseContainerRequest object itself.
+ */
+ public LeaseContainerRequest withLeaseId(String leaseId) {
+ this.leaseId = leaseId;
+ return this;
+ }
+
+ /**
+ * Get optional. For a break action, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60.
+ *
+ * @return the breakPeriod value
+ */
+ public Integer breakPeriod() {
+ return this.breakPeriod;
+ }
+
+ /**
+ * Set optional. For a break action, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60.
+ *
+ * @param breakPeriod the breakPeriod value to set
+ * @return the LeaseContainerRequest object itself.
+ */
+ public LeaseContainerRequest withBreakPeriod(Integer breakPeriod) {
+ this.breakPeriod = breakPeriod;
+ return this;
+ }
+
+ /**
+ * Get required for acquire. Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires.
+ *
+ * @return the leaseDuration value
+ */
+ public Integer leaseDuration() {
+ return this.leaseDuration;
+ }
+
+ /**
+ * Set required for acquire. Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires.
+ *
+ * @param leaseDuration the leaseDuration value to set
+ * @return the LeaseContainerRequest object itself.
+ */
+ public LeaseContainerRequest withLeaseDuration(Integer leaseDuration) {
+ this.leaseDuration = leaseDuration;
+ return this;
+ }
+
+ /**
+ * Get optional for acquire, required for change. Proposed lease ID, in a GUID string format.
+ *
+ * @return the proposedLeaseId value
+ */
+ public String proposedLeaseId() {
+ return this.proposedLeaseId;
+ }
+
+ /**
+ * Set optional for acquire, required for change. Proposed lease ID, in a GUID string format.
+ *
+ * @param proposedLeaseId the proposedLeaseId value to set
+ * @return the LeaseContainerRequest object itself.
+ */
+ public LeaseContainerRequest withProposedLeaseId(String proposedLeaseId) {
+ this.proposedLeaseId = proposedLeaseId;
+ return this;
+ }
+
+}
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/LeaseContainerResponse.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/LeaseContainerResponse.java
new file mode 100644
index 000000000000..33f884df3ac8
--- /dev/null
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/LeaseContainerResponse.java
@@ -0,0 +1,30 @@
+/**
+ * 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.v2018_02_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.storage.v2018_02_01.implementation.StorageManager;
+import com.microsoft.azure.management.storage.v2018_02_01.implementation.LeaseContainerResponseInner;
+
+/**
+ * Type representing LeaseContainerResponse.
+ */
+public interface LeaseContainerResponse extends HasInner, HasManager {
+ /**
+ * @return the leaseId value.
+ */
+ String leaseId();
+
+ /**
+ * @return the leaseTimeSeconds value.
+ */
+ String leaseTimeSeconds();
+
+}
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/ServiceSasParameters.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/ServiceSasParameters.java
index 030dd36f59f5..b7b1c328c71c 100644
--- a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/ServiceSasParameters.java
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/ServiceSasParameters.java
@@ -12,7 +12,7 @@
import com.fasterxml.jackson.annotation.JsonProperty;
/**
- * The parameters to list service SAS credentials of a speicific resource.
+ * The parameters to list service SAS credentials of a specific resource.
*/
public class ServiceSasParameters {
/**
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/StorageAccount.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/StorageAccount.java
index f571f0589619..c021886e588d 100644
--- a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/StorageAccount.java
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/StorageAccount.java
@@ -144,7 +144,9 @@ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup, Resource.UpdateWithTags implements BlobContainer, BlobContainer.Definition, BlobContainer.Update {
private final StorageManager manager;
private String resourceGroupName;
private String accountName;
private String containerName;
+ private PublicAccess cpublicAccess;
+ private Map cmetadata;
+ private PublicAccess upublicAccess;
+ private Map umetadata;
BlobContainerImpl(String name, StorageManager manager) {
super(name, new BlobContainerInner());
@@ -39,7 +43,7 @@ class BlobContainerImpl extends CreatableUpdatableImpl createResourceAsync() {
BlobContainersInner client = this.manager().inner().blobContainers();
- return client.createAsync(this.resourceGroupName, this.accountName, this.containerName)
+ return client.createAsync(this.resourceGroupName, this.accountName, this.containerName, this.cpublicAccess, this.cmetadata)
.map(innerToFluentMap(this));
}
@Override
public Observable updateResourceAsync() {
BlobContainersInner client = this.manager().inner().blobContainers();
- return client.updateAsync(this.resourceGroupName, this.accountName, this.containerName)
+ return client.updateAsync(this.resourceGroupName, this.accountName, this.containerName, this.upublicAccess, this.umetadata)
.map(innerToFluentMap(this));
}
@@ -154,4 +158,24 @@ public BlobContainerImpl withExistingBlobService(String resourceGroupName, Strin
return this;
}
+ @Override
+ public BlobContainerImpl withPublicAccess(PublicAccess publicAccess) {
+ if (isInCreateMode()) {
+ this.cpublicAccess = publicAccess;
+ } else {
+ this.upublicAccess = publicAccess;
+ }
+ return this;
+ }
+
+ @Override
+ public BlobContainerImpl withMetadata(Map metadata) {
+ if (isInCreateMode()) {
+ this.cmetadata = metadata;
+ } else {
+ this.umetadata = metadata;
+ }
+ return this;
+ }
+
}
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/BlobContainersImpl.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/BlobContainersImpl.java
index ed140db7d4e8..7000d935eb57 100644
--- a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/BlobContainersImpl.java
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/BlobContainersImpl.java
@@ -17,6 +17,7 @@
import com.microsoft.azure.management.storage.v2018_02_01.ListContainerItems;
import com.microsoft.azure.management.storage.v2018_02_01.BlobContainer;
import com.microsoft.azure.management.storage.v2018_02_01.LegalHold;
+import com.microsoft.azure.management.storage.v2018_02_01.LeaseContainerResponse;
import java.util.List;
import com.microsoft.azure.management.storage.v2018_02_01.ImmutabilityPolicy;
@@ -120,6 +121,18 @@ public LegalHold call(LegalHoldInner inner) {
});
}
+ @Override
+ public Observable leaseAsync(String resourceGroupName, String accountName, String containerName) {
+ BlobContainersInner client = this.inner();
+ return client.leaseAsync(resourceGroupName, accountName, containerName)
+ .map(new Func1() {
+ @Override
+ public LeaseContainerResponse call(LeaseContainerResponseInner inner) {
+ return new LeaseContainerResponseImpl(inner, manager());
+ }
+ });
+ }
+
@Override
public Observable getImmutabilityPolicyAsync(String resourceGroupName, String accountName, String containerName) {
BlobContainersInner client = this.inner();
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/BlobContainersInner.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/BlobContainersInner.java
index 79f2511cae8c..162132c628b2 100644
--- a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/BlobContainersInner.java
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/BlobContainersInner.java
@@ -16,6 +16,7 @@
import com.microsoft.azure.management.storage.v2018_02_01.BlobContainersExtendImmutabilityPolicyHeaders;
import com.microsoft.azure.management.storage.v2018_02_01.BlobContainersGetImmutabilityPolicyHeaders;
import com.microsoft.azure.management.storage.v2018_02_01.BlobContainersLockImmutabilityPolicyHeaders;
+import com.microsoft.azure.management.storage.v2018_02_01.LeaseContainerRequest;
import com.microsoft.azure.management.storage.v2018_02_01.PublicAccess;
import com.microsoft.rest.ServiceCallback;
import com.microsoft.rest.ServiceFuture;
@@ -114,6 +115,10 @@ interface BlobContainersService {
@POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend")
Observable> extendImmutabilityPolicy(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("containerName") String containerName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("If-Match") String ifMatch, @Header("accept-language") String acceptLanguage, @Body ImmutabilityPolicyInner parameters, @Header("User-Agent") String userAgent);
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.storage.v2018_02_01.BlobContainers lease" })
+ @POST("subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/lease")
+ Observable> lease(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("containerName") String containerName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Body LeaseContainerRequest parameters, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
}
/**
@@ -1677,4 +1682,189 @@ private ServiceResponseWithHeaders leaseAsync(String resourceGroupName, String accountName, String containerName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(leaseWithServiceResponseAsync(resourceGroupName, accountName, containerName), serviceCallback);
+ }
+
+ /**
+ * The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
+ *
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the LeaseContainerResponseInner object
+ */
+ public Observable leaseAsync(String resourceGroupName, String accountName, String containerName) {
+ return leaseWithServiceResponseAsync(resourceGroupName, accountName, containerName).map(new Func1, LeaseContainerResponseInner>() {
+ @Override
+ public LeaseContainerResponseInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
+ *
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the LeaseContainerResponseInner object
+ */
+ public Observable> leaseWithServiceResponseAsync(String resourceGroupName, String accountName, String containerName) {
+ 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 (containerName == null) {
+ throw new IllegalArgumentException("Parameter containerName 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.");
+ }
+ final LeaseContainerRequest parameters = null;
+ return service.lease(resourceGroupName, accountName, containerName, this.client.subscriptionId(), this.client.apiVersion(), parameters, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = leaseDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ /**
+ * The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
+ *
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
+ * @param parameters Lease Container request body.
+ * @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 LeaseContainerResponseInner object if successful.
+ */
+ public LeaseContainerResponseInner lease(String resourceGroupName, String accountName, String containerName, LeaseContainerRequest parameters) {
+ return leaseWithServiceResponseAsync(resourceGroupName, accountName, containerName, parameters).toBlocking().single().body();
+ }
+
+ /**
+ * The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
+ *
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
+ * @param parameters Lease Container request body.
+ * @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 leaseAsync(String resourceGroupName, String accountName, String containerName, LeaseContainerRequest parameters, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(leaseWithServiceResponseAsync(resourceGroupName, accountName, containerName, parameters), serviceCallback);
+ }
+
+ /**
+ * The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
+ *
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
+ * @param parameters Lease Container request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the LeaseContainerResponseInner object
+ */
+ public Observable leaseAsync(String resourceGroupName, String accountName, String containerName, LeaseContainerRequest parameters) {
+ return leaseWithServiceResponseAsync(resourceGroupName, accountName, containerName, parameters).map(new Func1, LeaseContainerResponseInner>() {
+ @Override
+ public LeaseContainerResponseInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
+ *
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
+ * @param parameters Lease Container request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the LeaseContainerResponseInner object
+ */
+ public Observable> leaseWithServiceResponseAsync(String resourceGroupName, String accountName, String containerName, LeaseContainerRequest parameters) {
+ 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 (containerName == null) {
+ throw new IllegalArgumentException("Parameter containerName 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.");
+ }
+ Validator.validate(parameters);
+ return service.lease(resourceGroupName, accountName, containerName, this.client.subscriptionId(), this.client.apiVersion(), parameters, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = leaseDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse leaseDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
}
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/ImmutabilityPolicyImpl.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/ImmutabilityPolicyImpl.java
index f9e594e63ca2..abe385de55fe 100644
--- a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/ImmutabilityPolicyImpl.java
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/ImmutabilityPolicyImpl.java
@@ -18,7 +18,9 @@ class ImmutabilityPolicyImpl extends CreatableUpdatableImpl createResourceAsync() {
BlobContainersInner client = this.manager().inner().blobContainers();
- return client.createOrUpdateImmutabilityPolicyAsync(this.resourceGroupName, this.accountName, this.containerName, this.cimmutabilityPeriodSinceCreationInDays)
+ return client.createOrUpdateImmutabilityPolicyAsync(this.resourceGroupName, this.accountName, this.containerName, this.cimmutabilityPeriodSinceCreationInDays, this.cifMatch)
.map(innerToFluentMap(this));
}
@Override
public Observable updateResourceAsync() {
BlobContainersInner client = this.manager().inner().blobContainers();
- return client.createOrUpdateImmutabilityPolicyAsync(this.resourceGroupName, this.accountName, this.containerName, this.uimmutabilityPeriodSinceCreationInDays)
+ return client.createOrUpdateImmutabilityPolicyAsync(this.resourceGroupName, this.accountName, this.containerName, this.uimmutabilityPeriodSinceCreationInDays, this.uifMatch)
.map(innerToFluentMap(this));
}
@@ -110,6 +112,16 @@ public ImmutabilityPolicyImpl withExistingContainer(String resourceGroupName, St
return this;
}
+ @Override
+ public ImmutabilityPolicyImpl withIfMatch(String ifMatch) {
+ if (isInCreateMode()) {
+ this.cifMatch = ifMatch;
+ } else {
+ this.uifMatch = ifMatch;
+ }
+ return this;
+ }
+
@Override
public ImmutabilityPolicyImpl withImmutabilityPeriodSinceCreationInDays(int immutabilityPeriodSinceCreationInDays) {
if (isInCreateMode()) {
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/LeaseContainerResponseImpl.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/LeaseContainerResponseImpl.java
new file mode 100644
index 000000000000..86d386f02d2f
--- /dev/null
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/LeaseContainerResponseImpl.java
@@ -0,0 +1,36 @@
+/**
+ * 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.v2018_02_01.implementation;
+
+import com.microsoft.azure.management.storage.v2018_02_01.LeaseContainerResponse;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+
+class LeaseContainerResponseImpl extends WrapperImpl implements LeaseContainerResponse {
+ private final StorageManager manager;
+ LeaseContainerResponseImpl(LeaseContainerResponseInner inner, StorageManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public StorageManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public String leaseId() {
+ return this.inner().leaseId();
+ }
+
+ @Override
+ public String leaseTimeSeconds() {
+ return this.inner().leaseTimeSeconds();
+ }
+
+}
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/LeaseContainerResponseInner.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/LeaseContainerResponseInner.java
new file mode 100644
index 000000000000..04ce93344ef3
--- /dev/null
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/LeaseContainerResponseInner.java
@@ -0,0 +1,70 @@
+/**
+ * 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.v2018_02_01.implementation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Lease Container response schema.
+ */
+public class LeaseContainerResponseInner {
+ /**
+ * Returned unique lease ID that must be included with any request to
+ * delete the container, or to renew, change, or release the lease.
+ */
+ @JsonProperty(value = "leaseId")
+ private String leaseId;
+
+ /**
+ * Approximate time remaining in the lease period, in seconds.
+ */
+ @JsonProperty(value = "leaseTimeSeconds")
+ private String leaseTimeSeconds;
+
+ /**
+ * Get returned unique lease ID that must be included with any request to delete the container, or to renew, change, or release the lease.
+ *
+ * @return the leaseId value
+ */
+ public String leaseId() {
+ return this.leaseId;
+ }
+
+ /**
+ * Set returned unique lease ID that must be included with any request to delete the container, or to renew, change, or release the lease.
+ *
+ * @param leaseId the leaseId value to set
+ * @return the LeaseContainerResponseInner object itself.
+ */
+ public LeaseContainerResponseInner withLeaseId(String leaseId) {
+ this.leaseId = leaseId;
+ return this;
+ }
+
+ /**
+ * Get approximate time remaining in the lease period, in seconds.
+ *
+ * @return the leaseTimeSeconds value
+ */
+ public String leaseTimeSeconds() {
+ return this.leaseTimeSeconds;
+ }
+
+ /**
+ * Set approximate time remaining in the lease period, in seconds.
+ *
+ * @param leaseTimeSeconds the leaseTimeSeconds value to set
+ * @return the LeaseContainerResponseInner object itself.
+ */
+ public LeaseContainerResponseInner withLeaseTimeSeconds(String leaseTimeSeconds) {
+ this.leaseTimeSeconds = leaseTimeSeconds;
+ return this;
+ }
+
+}
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/ListServiceSasResponseInner.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/ListServiceSasResponseInner.java
index 1be2c12da9a0..aa2f104a83d0 100644
--- a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/ListServiceSasResponseInner.java
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/ListServiceSasResponseInner.java
@@ -15,13 +15,13 @@
*/
public class ListServiceSasResponseInner {
/**
- * List service SAS credentials of speicific resource.
+ * List service SAS credentials of specific resource.
*/
@JsonProperty(value = "serviceSasToken", access = JsonProperty.Access.WRITE_ONLY)
private String serviceSasToken;
/**
- * Get list service SAS credentials of speicific resource.
+ * Get list service SAS credentials of specific resource.
*
* @return the serviceSasToken value
*/
diff --git a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/StorageAccountsInner.java b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/StorageAccountsInner.java
index 75ae74d0594a..45a42cd74d10 100644
--- a/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/StorageAccountsInner.java
+++ b/storage/resource-manager/v2018_02_01/src/main/java/com/microsoft/azure/management/storage/v2018_02_01/implementation/StorageAccountsInner.java
@@ -898,7 +898,7 @@ private ServiceResponse listKeysDelegate(Resp
*
* @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 vaules are key1, key2.
+ * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2.
* @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
@@ -913,7 +913,7 @@ public StorageAccountListKeysResultInner regenerateKey(String resourceGroupName,
*
* @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 vaules are key1, key2.
+ * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2.
* @param serviceCallback the async ServiceCallback to handle successful and failed responses.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the {@link ServiceFuture} object
@@ -927,7 +927,7 @@ public ServiceFuture regenerateKeyAsync(Strin
*
* @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 vaules are key1, key2.
+ * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable to the StorageAccountListKeysResultInner object
*/
@@ -945,7 +945,7 @@ public StorageAccountListKeysResultInner call(ServiceResponse
com.microsoft.azure
azure-arm-parent
- 1.0.0
+ 0.0.3-beta
../../../pom.xml
azure-mgmt-storage
@@ -19,7 +19,7 @@
jar
Microsoft Azure SDK for Storage Management
This package contains Microsoft Storage Management SDK.
- https://github.com/Azure/azure-libraries-for-java
+ https://github.com/Azure/azure-sdk-for-java
The MIT License (MIT)
@@ -28,8 +28,8 @@
- scm:git:https://github.com/Azure/azure-libraries-for-java
- scm:git:git@github.com:Azure/azure-libraries-for-java.git
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
HEAD
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/BlobContainer.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/BlobContainer.java
index 54c019796553..04536a38c672 100644
--- a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/BlobContainer.java
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/BlobContainer.java
@@ -16,8 +16,8 @@
import com.microsoft.azure.arm.model.Creatable;
import com.microsoft.azure.arm.resources.models.HasManager;
import com.microsoft.azure.management.storage.v2018_03_01_preview.implementation.StorageManager;
-import org.joda.time.DateTime;
import java.util.Map;
+import org.joda.time.DateTime;
/**
* Type representing BlobContainer.
@@ -96,7 +96,7 @@ public interface BlobContainer extends HasInner, Indexable,
/**
* The entirety of the BlobContainer definition.
*/
- interface Definition extends DefinitionStages.Blank, DefinitionStages.WithBlobService, DefinitionStages.WithCreate {
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithBlobService, DefinitionStages.WithPublicAccess, DefinitionStages.WithMetadata, DefinitionStages.WithCreate {
}
/**
@@ -115,8 +115,35 @@ interface Blank extends WithBlobService {
interface WithBlobService {
/**
* Specifies resourceGroupName, accountName.
+ * @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
+ * @return the next definition stage
+ */
+ WithPublicAccess withExistingBlobService(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the blobcontainer definition allowing to specify PublicAccess.
+ */
+ interface WithPublicAccess {
+ /**
+ * Specifies publicAccess.
+ * @param publicAccess Specifies whether data in the container may be accessed publicly and the level of access. Possible values include: 'Container', 'Blob', 'None'
+ * @return the next definition stage
+ */
+ WithMetadata withPublicAccess(PublicAccess publicAccess);
+ }
+
+ /**
+ * The stage of the blobcontainer definition allowing to specify Metadata.
+ */
+ interface WithMetadata {
+ /**
+ * Specifies metadata.
+ * @param metadata A name-value pair to associate with the container as metadata
+ * @return the next definition stage
*/
- WithCreate withExistingBlobService(String resourceGroupName, String accountName);
+ WithCreate withMetadata(Map metadata);
}
/**
@@ -130,12 +157,36 @@ interface WithCreate extends Creatable {
/**
* The template for a BlobContainer update operation, containing all the settings that can be modified.
*/
- interface Update extends Appliable {
+ interface Update extends Appliable, UpdateStages.WithPublicAccess, UpdateStages.WithMetadata {
}
/**
* Grouping of BlobContainer update stages.
*/
interface UpdateStages {
+ /**
+ * The stage of the blobcontainer update allowing to specify PublicAccess.
+ */
+ interface WithPublicAccess {
+ /**
+ * Specifies publicAccess.
+ * @param publicAccess Specifies whether data in the container may be accessed publicly and the level of access. Possible values include: 'Container', 'Blob', 'None'
+ * @return the next update stage
+ */
+ Update withPublicAccess(PublicAccess publicAccess);
+ }
+
+ /**
+ * The stage of the blobcontainer update allowing to specify Metadata.
+ */
+ interface WithMetadata {
+ /**
+ * Specifies metadata.
+ * @param metadata A name-value pair to associate with the container as metadata
+ * @return the next update stage
+ */
+ Update withMetadata(Map metadata);
+ }
+
}
}
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/BlobContainers.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/BlobContainers.java
index d25debdf1248..c149ef6ec7b3 100644
--- a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/BlobContainers.java
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/BlobContainers.java
@@ -86,6 +86,17 @@ public interface BlobContainers {
*/
Observable clearLegalHoldAsync(String resourceGroupName, String accountName, String containerName, List tags);
+ /**
+ * The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
+ *
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable leaseAsync(String resourceGroupName, String accountName, String containerName);
+
/**
* Gets the existing immutability policy along with the corresponding ETag in response headers and body.
*
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/CustomDomain.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/CustomDomain.java
index f89dcb1e5d07..875be4784514 100644
--- a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/CustomDomain.java
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/CustomDomain.java
@@ -26,8 +26,8 @@ public class CustomDomain {
* Indicates whether indirect CName validation is enabled. Default value is
* false. This should only be set on updates.
*/
- @JsonProperty(value = "useSubDomain")
- private Boolean useSubDomain;
+ @JsonProperty(value = "useSubDomainName")
+ private Boolean useSubDomainName;
/**
* Get gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.
@@ -52,20 +52,20 @@ public CustomDomain withName(String name) {
/**
* Get indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.
*
- * @return the useSubDomain value
+ * @return the useSubDomainName value
*/
- public Boolean useSubDomain() {
- return this.useSubDomain;
+ public Boolean useSubDomainName() {
+ return this.useSubDomainName;
}
/**
* Set indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.
*
- * @param useSubDomain the useSubDomain value to set
+ * @param useSubDomainName the useSubDomainName value to set
* @return the CustomDomain object itself.
*/
- public CustomDomain withUseSubDomain(Boolean useSubDomain) {
- this.useSubDomain = useSubDomain;
+ public CustomDomain withUseSubDomainName(Boolean useSubDomainName) {
+ this.useSubDomainName = useSubDomainName;
return this;
}
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/Dimension.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/Dimension.java
index 360fb387ec97..a8ca737948c5 100644
--- a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/Dimension.java
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/Dimension.java
@@ -11,7 +11,7 @@
import com.fasterxml.jackson.annotation.JsonProperty;
/**
- * Dimension of blobs, possiblly be blob type or access tier.
+ * Dimension of blobs, possibly be blob type or access tier.
*/
public class Dimension {
/**
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/ImmutabilityPolicy.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/ImmutabilityPolicy.java
index 7e1f1681b78c..f5c18548dddc 100644
--- a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/ImmutabilityPolicy.java
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/ImmutabilityPolicy.java
@@ -55,7 +55,7 @@ public interface ImmutabilityPolicy extends HasInner, I
/**
* The entirety of the ImmutabilityPolicy definition.
*/
- interface Definition extends DefinitionStages.Blank, DefinitionStages.WithContainer, DefinitionStages.WithImmutabilityPeriodSinceCreationInDays, DefinitionStages.WithCreate {
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithContainer, DefinitionStages.WithIfMatch, DefinitionStages.WithImmutabilityPeriodSinceCreationInDays, DefinitionStages.WithCreate {
}
/**
@@ -74,8 +74,24 @@ interface Blank extends WithContainer {
interface WithContainer {
/**
* Specifies resourceGroupName, accountName, containerName.
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number
+ * @return the next definition stage
*/
- WithImmutabilityPeriodSinceCreationInDays withExistingContainer(String resourceGroupName, String accountName, String containerName);
+ WithIfMatch withExistingContainer(String resourceGroupName, String accountName, String containerName);
+ }
+
+ /**
+ * The stage of the immutabilitypolicy definition allowing to specify IfMatch.
+ */
+ interface WithIfMatch {
+ /**
+ * Specifies ifMatch.
+ * @param ifMatch The entity state (ETag) version of the immutability policy to update. A value of "*" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied
+ * @return the next definition stage
+ */
+ WithImmutabilityPeriodSinceCreationInDays withIfMatch(String ifMatch);
}
/**
@@ -84,6 +100,8 @@ interface WithContainer {
interface WithImmutabilityPeriodSinceCreationInDays {
/**
* Specifies immutabilityPeriodSinceCreationInDays.
+ * @param immutabilityPeriodSinceCreationInDays The immutability period for the blobs in the container since the policy creation, in days
+ * @return the next definition stage
*/
WithCreate withImmutabilityPeriodSinceCreationInDays(int immutabilityPeriodSinceCreationInDays);
}
@@ -99,19 +117,33 @@ interface WithCreate extends Creatable {
/**
* The template for a ImmutabilityPolicy update operation, containing all the settings that can be modified.
*/
- interface Update extends Appliable, UpdateStages.WithImmutabilityPeriodSinceCreationInDays {
+ interface Update extends Appliable, UpdateStages.WithIfMatch, UpdateStages.WithImmutabilityPeriodSinceCreationInDays {
}
/**
* Grouping of ImmutabilityPolicy update stages.
*/
interface UpdateStages {
+ /**
+ * The stage of the immutabilitypolicy update allowing to specify IfMatch.
+ */
+ interface WithIfMatch {
+ /**
+ * Specifies ifMatch.
+ * @param ifMatch The entity state (ETag) version of the immutability policy to update. A value of "*" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied
+ * @return the next update stage
+ */
+ Update withIfMatch(String ifMatch);
+ }
+
/**
* The stage of the immutabilitypolicy update allowing to specify ImmutabilityPeriodSinceCreationInDays.
*/
interface WithImmutabilityPeriodSinceCreationInDays {
/**
* Specifies immutabilityPeriodSinceCreationInDays.
+ * @param immutabilityPeriodSinceCreationInDays The immutability period for the blobs in the container since the policy creation, in days
+ * @return the next update stage
*/
Update withImmutabilityPeriodSinceCreationInDays(int immutabilityPeriodSinceCreationInDays);
}
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/LeaseContainerRequest.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/LeaseContainerRequest.java
new file mode 100644
index 000000000000..20d0da2c4217
--- /dev/null
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/LeaseContainerRequest.java
@@ -0,0 +1,152 @@
+/**
+ * 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.v2018_03_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Lease Container request schema.
+ */
+public class LeaseContainerRequest {
+ /**
+ * Specifies the lease action. Can be one of the available actions.
+ * Possible values include: 'Acquire', 'Renew', 'Change', 'Release',
+ * 'Break'.
+ */
+ @JsonProperty(value = "action", required = true)
+ private String action;
+
+ /**
+ * Identifies the lease. Can be specified in any valid GUID string format.
+ */
+ @JsonProperty(value = "leaseId")
+ private String leaseId;
+
+ /**
+ * Optional. For a break action, proposed duration the lease should
+ * continue before it is broken, in seconds, between 0 and 60.
+ */
+ @JsonProperty(value = "breakPeriod")
+ private Integer breakPeriod;
+
+ /**
+ * Required for acquire. Specifies the duration of the lease, in seconds,
+ * or negative one (-1) for a lease that never expires.
+ */
+ @JsonProperty(value = "leaseDuration")
+ private Integer leaseDuration;
+
+ /**
+ * Optional for acquire, required for change. Proposed lease ID, in a GUID
+ * string format.
+ */
+ @JsonProperty(value = "proposedLeaseId")
+ private String proposedLeaseId;
+
+ /**
+ * Get specifies the lease action. Can be one of the available actions. Possible values include: 'Acquire', 'Renew', 'Change', 'Release', 'Break'.
+ *
+ * @return the action value
+ */
+ public String action() {
+ return this.action;
+ }
+
+ /**
+ * Set specifies the lease action. Can be one of the available actions. Possible values include: 'Acquire', 'Renew', 'Change', 'Release', 'Break'.
+ *
+ * @param action the action value to set
+ * @return the LeaseContainerRequest object itself.
+ */
+ public LeaseContainerRequest withAction(String action) {
+ this.action = action;
+ return this;
+ }
+
+ /**
+ * Get identifies the lease. Can be specified in any valid GUID string format.
+ *
+ * @return the leaseId value
+ */
+ public String leaseId() {
+ return this.leaseId;
+ }
+
+ /**
+ * Set identifies the lease. Can be specified in any valid GUID string format.
+ *
+ * @param leaseId the leaseId value to set
+ * @return the LeaseContainerRequest object itself.
+ */
+ public LeaseContainerRequest withLeaseId(String leaseId) {
+ this.leaseId = leaseId;
+ return this;
+ }
+
+ /**
+ * Get optional. For a break action, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60.
+ *
+ * @return the breakPeriod value
+ */
+ public Integer breakPeriod() {
+ return this.breakPeriod;
+ }
+
+ /**
+ * Set optional. For a break action, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60.
+ *
+ * @param breakPeriod the breakPeriod value to set
+ * @return the LeaseContainerRequest object itself.
+ */
+ public LeaseContainerRequest withBreakPeriod(Integer breakPeriod) {
+ this.breakPeriod = breakPeriod;
+ return this;
+ }
+
+ /**
+ * Get required for acquire. Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires.
+ *
+ * @return the leaseDuration value
+ */
+ public Integer leaseDuration() {
+ return this.leaseDuration;
+ }
+
+ /**
+ * Set required for acquire. Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires.
+ *
+ * @param leaseDuration the leaseDuration value to set
+ * @return the LeaseContainerRequest object itself.
+ */
+ public LeaseContainerRequest withLeaseDuration(Integer leaseDuration) {
+ this.leaseDuration = leaseDuration;
+ return this;
+ }
+
+ /**
+ * Get optional for acquire, required for change. Proposed lease ID, in a GUID string format.
+ *
+ * @return the proposedLeaseId value
+ */
+ public String proposedLeaseId() {
+ return this.proposedLeaseId;
+ }
+
+ /**
+ * Set optional for acquire, required for change. Proposed lease ID, in a GUID string format.
+ *
+ * @param proposedLeaseId the proposedLeaseId value to set
+ * @return the LeaseContainerRequest object itself.
+ */
+ public LeaseContainerRequest withProposedLeaseId(String proposedLeaseId) {
+ this.proposedLeaseId = proposedLeaseId;
+ return this;
+ }
+
+}
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/LeaseContainerResponse.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/LeaseContainerResponse.java
new file mode 100644
index 000000000000..b3bb6832b9d6
--- /dev/null
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/LeaseContainerResponse.java
@@ -0,0 +1,30 @@
+/**
+ * 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.v2018_03_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.storage.v2018_03_01_preview.implementation.StorageManager;
+import com.microsoft.azure.management.storage.v2018_03_01_preview.implementation.LeaseContainerResponseInner;
+
+/**
+ * Type representing LeaseContainerResponse.
+ */
+public interface LeaseContainerResponse extends HasInner, HasManager {
+ /**
+ * @return the leaseId value.
+ */
+ String leaseId();
+
+ /**
+ * @return the leaseTimeSeconds value.
+ */
+ String leaseTimeSeconds();
+
+}
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/ServiceSasParameters.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/ServiceSasParameters.java
index 89e4208e2c52..cd505f805c40 100644
--- a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/ServiceSasParameters.java
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/ServiceSasParameters.java
@@ -12,7 +12,7 @@
import com.fasterxml.jackson.annotation.JsonProperty;
/**
- * The parameters to list service SAS credentials of a speicific resource.
+ * The parameters to list service SAS credentials of a specific resource.
*/
public class ServiceSasParameters {
/**
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/StorageAccount.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/StorageAccount.java
index 9338ff33a412..ce8569751319 100644
--- a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/StorageAccount.java
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/StorageAccount.java
@@ -144,7 +144,9 @@ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup, Resource.UpdateWithTags {
/**
* The template for a StorageAccountManagementPolicies update operation, containing all the settings that can be modified.
*/
- interface Update extends Appliable {
+ interface Update extends Appliable, UpdateStages.WithPolicy {
}
/**
* Grouping of StorageAccountManagementPolicies update stages.
*/
interface UpdateStages {
+ /**
+ * The stage of the storageaccountmanagementpolicies update allowing to specify Policy.
+ */
+ interface WithPolicy {
+ /**
+ * Specifies policy.
+ * @param policy The Storage Account ManagementPolicies Rules, in JSON format. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts
+ * @return the next update stage
+ */
+ Update withPolicy(Object policy);
+ }
+
}
}
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/StorageAccountRegenerateKeyParameters.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/StorageAccountRegenerateKeyParameters.java
index c78fc8a24f88..24f224bdbac6 100644
--- a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/StorageAccountRegenerateKeyParameters.java
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/StorageAccountRegenerateKeyParameters.java
@@ -15,14 +15,14 @@
*/
public class StorageAccountRegenerateKeyParameters {
/**
- * The name of storage keys that want to be regenerated, possible vaules
+ * The name of storage keys that want to be regenerated, possible values
* are key1, key2.
*/
@JsonProperty(value = "keyName", required = true)
private String keyName;
/**
- * Get the name of storage keys that want to be regenerated, possible vaules are key1, key2.
+ * Get the name of storage keys that want to be regenerated, possible values are key1, key2.
*
* @return the keyName value
*/
@@ -31,7 +31,7 @@ public String keyName() {
}
/**
- * Set the name of storage keys that want to be regenerated, possible vaules are key1, key2.
+ * Set the name of storage keys that want to be regenerated, possible values are key1, key2.
*
* @param keyName the keyName value to set
* @return the StorageAccountRegenerateKeyParameters object itself.
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/StorageAccounts.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/StorageAccounts.java
index 9250577e7185..d20553d1ebf1 100644
--- a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/StorageAccounts.java
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/StorageAccounts.java
@@ -45,7 +45,7 @@ public interface StorageAccounts extends SupportsCreating implements BlobContainer, BlobContainer.Definition, BlobContainer.Update {
private final StorageManager manager;
private String resourceGroupName;
private String accountName;
private String containerName;
+ private PublicAccess cpublicAccess;
+ private Map cmetadata;
+ private PublicAccess upublicAccess;
+ private Map umetadata;
BlobContainerImpl(String name, StorageManager manager) {
super(name, new BlobContainerInner());
@@ -39,7 +43,7 @@ class BlobContainerImpl extends CreatableUpdatableImpl createResourceAsync() {
BlobContainersInner client = this.manager().inner().blobContainers();
- return client.createAsync(this.resourceGroupName, this.accountName, this.containerName)
+ return client.createAsync(this.resourceGroupName, this.accountName, this.containerName, this.cpublicAccess, this.cmetadata)
.map(innerToFluentMap(this));
}
@Override
public Observable updateResourceAsync() {
BlobContainersInner client = this.manager().inner().blobContainers();
- return client.updateAsync(this.resourceGroupName, this.accountName, this.containerName)
+ return client.updateAsync(this.resourceGroupName, this.accountName, this.containerName, this.upublicAccess, this.umetadata)
.map(innerToFluentMap(this));
}
@@ -154,4 +158,24 @@ public BlobContainerImpl withExistingBlobService(String resourceGroupName, Strin
return this;
}
+ @Override
+ public BlobContainerImpl withPublicAccess(PublicAccess publicAccess) {
+ if (isInCreateMode()) {
+ this.cpublicAccess = publicAccess;
+ } else {
+ this.upublicAccess = publicAccess;
+ }
+ return this;
+ }
+
+ @Override
+ public BlobContainerImpl withMetadata(Map metadata) {
+ if (isInCreateMode()) {
+ this.cmetadata = metadata;
+ } else {
+ this.umetadata = metadata;
+ }
+ return this;
+ }
+
}
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/BlobContainersImpl.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/BlobContainersImpl.java
index 339a41114f22..bbdabd32e5dc 100644
--- a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/BlobContainersImpl.java
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/BlobContainersImpl.java
@@ -17,6 +17,7 @@
import com.microsoft.azure.management.storage.v2018_03_01_preview.ListContainerItems;
import com.microsoft.azure.management.storage.v2018_03_01_preview.BlobContainer;
import com.microsoft.azure.management.storage.v2018_03_01_preview.LegalHold;
+import com.microsoft.azure.management.storage.v2018_03_01_preview.LeaseContainerResponse;
import java.util.List;
import com.microsoft.azure.management.storage.v2018_03_01_preview.ImmutabilityPolicy;
@@ -120,6 +121,18 @@ public LegalHold call(LegalHoldInner inner) {
});
}
+ @Override
+ public Observable leaseAsync(String resourceGroupName, String accountName, String containerName) {
+ BlobContainersInner client = this.inner();
+ return client.leaseAsync(resourceGroupName, accountName, containerName)
+ .map(new Func1() {
+ @Override
+ public LeaseContainerResponse call(LeaseContainerResponseInner inner) {
+ return new LeaseContainerResponseImpl(inner, manager());
+ }
+ });
+ }
+
@Override
public Observable getImmutabilityPolicyAsync(String resourceGroupName, String accountName, String containerName) {
BlobContainersInner client = this.inner();
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/BlobContainersInner.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/BlobContainersInner.java
index df52c2da2797..165b0f9a5b9f 100644
--- a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/BlobContainersInner.java
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/BlobContainersInner.java
@@ -16,6 +16,7 @@
import com.microsoft.azure.management.storage.v2018_03_01_preview.BlobContainersExtendImmutabilityPolicyHeaders;
import com.microsoft.azure.management.storage.v2018_03_01_preview.BlobContainersGetImmutabilityPolicyHeaders;
import com.microsoft.azure.management.storage.v2018_03_01_preview.BlobContainersLockImmutabilityPolicyHeaders;
+import com.microsoft.azure.management.storage.v2018_03_01_preview.LeaseContainerRequest;
import com.microsoft.azure.management.storage.v2018_03_01_preview.PublicAccess;
import com.microsoft.rest.ServiceCallback;
import com.microsoft.rest.ServiceFuture;
@@ -114,6 +115,10 @@ interface BlobContainersService {
@POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend")
Observable> extendImmutabilityPolicy(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("containerName") String containerName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("If-Match") String ifMatch, @Header("accept-language") String acceptLanguage, @Body ImmutabilityPolicyInner parameters, @Header("User-Agent") String userAgent);
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.storage.v2018_03_01_preview.BlobContainers lease" })
+ @POST("subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/lease")
+ Observable> lease(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("containerName") String containerName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Body LeaseContainerRequest parameters, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
}
/**
@@ -1677,4 +1682,189 @@ private ServiceResponseWithHeaders leaseAsync(String resourceGroupName, String accountName, String containerName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(leaseWithServiceResponseAsync(resourceGroupName, accountName, containerName), serviceCallback);
+ }
+
+ /**
+ * The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
+ *
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the LeaseContainerResponseInner object
+ */
+ public Observable leaseAsync(String resourceGroupName, String accountName, String containerName) {
+ return leaseWithServiceResponseAsync(resourceGroupName, accountName, containerName).map(new Func1, LeaseContainerResponseInner>() {
+ @Override
+ public LeaseContainerResponseInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
+ *
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the LeaseContainerResponseInner object
+ */
+ public Observable> leaseWithServiceResponseAsync(String resourceGroupName, String accountName, String containerName) {
+ 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 (containerName == null) {
+ throw new IllegalArgumentException("Parameter containerName 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.");
+ }
+ final LeaseContainerRequest parameters = null;
+ return service.lease(resourceGroupName, accountName, containerName, this.client.subscriptionId(), this.client.apiVersion(), parameters, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = leaseDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ /**
+ * The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
+ *
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
+ * @param parameters Lease Container request body.
+ * @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 LeaseContainerResponseInner object if successful.
+ */
+ public LeaseContainerResponseInner lease(String resourceGroupName, String accountName, String containerName, LeaseContainerRequest parameters) {
+ return leaseWithServiceResponseAsync(resourceGroupName, accountName, containerName, parameters).toBlocking().single().body();
+ }
+
+ /**
+ * The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
+ *
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
+ * @param parameters Lease Container request body.
+ * @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 leaseAsync(String resourceGroupName, String accountName, String containerName, LeaseContainerRequest parameters, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(leaseWithServiceResponseAsync(resourceGroupName, accountName, containerName, parameters), serviceCallback);
+ }
+
+ /**
+ * The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
+ *
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
+ * @param parameters Lease Container request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the LeaseContainerResponseInner object
+ */
+ public Observable leaseAsync(String resourceGroupName, String accountName, String containerName, LeaseContainerRequest parameters) {
+ return leaseWithServiceResponseAsync(resourceGroupName, accountName, containerName, parameters).map(new Func1, LeaseContainerResponseInner>() {
+ @Override
+ public LeaseContainerResponseInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
+ *
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
+ * @param parameters Lease Container request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the LeaseContainerResponseInner object
+ */
+ public Observable> leaseWithServiceResponseAsync(String resourceGroupName, String accountName, String containerName, LeaseContainerRequest parameters) {
+ 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 (containerName == null) {
+ throw new IllegalArgumentException("Parameter containerName 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.");
+ }
+ Validator.validate(parameters);
+ return service.lease(resourceGroupName, accountName, containerName, this.client.subscriptionId(), this.client.apiVersion(), parameters, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = leaseDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse leaseDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
}
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/ImmutabilityPolicyImpl.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/ImmutabilityPolicyImpl.java
index 4eff1c639b16..7bddb6297bb9 100644
--- a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/ImmutabilityPolicyImpl.java
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/ImmutabilityPolicyImpl.java
@@ -18,7 +18,9 @@ class ImmutabilityPolicyImpl extends CreatableUpdatableImpl createResourceAsync() {
BlobContainersInner client = this.manager().inner().blobContainers();
- return client.createOrUpdateImmutabilityPolicyAsync(this.resourceGroupName, this.accountName, this.containerName, this.cimmutabilityPeriodSinceCreationInDays)
+ return client.createOrUpdateImmutabilityPolicyAsync(this.resourceGroupName, this.accountName, this.containerName, this.cimmutabilityPeriodSinceCreationInDays, this.cifMatch)
.map(innerToFluentMap(this));
}
@Override
public Observable updateResourceAsync() {
BlobContainersInner client = this.manager().inner().blobContainers();
- return client.createOrUpdateImmutabilityPolicyAsync(this.resourceGroupName, this.accountName, this.containerName, this.uimmutabilityPeriodSinceCreationInDays)
+ return client.createOrUpdateImmutabilityPolicyAsync(this.resourceGroupName, this.accountName, this.containerName, this.uimmutabilityPeriodSinceCreationInDays, this.uifMatch)
.map(innerToFluentMap(this));
}
@@ -110,6 +112,16 @@ public ImmutabilityPolicyImpl withExistingContainer(String resourceGroupName, St
return this;
}
+ @Override
+ public ImmutabilityPolicyImpl withIfMatch(String ifMatch) {
+ if (isInCreateMode()) {
+ this.cifMatch = ifMatch;
+ } else {
+ this.uifMatch = ifMatch;
+ }
+ return this;
+ }
+
@Override
public ImmutabilityPolicyImpl withImmutabilityPeriodSinceCreationInDays(int immutabilityPeriodSinceCreationInDays) {
if (isInCreateMode()) {
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/LeaseContainerResponseImpl.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/LeaseContainerResponseImpl.java
new file mode 100644
index 000000000000..b100457c765a
--- /dev/null
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/LeaseContainerResponseImpl.java
@@ -0,0 +1,36 @@
+/**
+ * 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.v2018_03_01_preview.implementation;
+
+import com.microsoft.azure.management.storage.v2018_03_01_preview.LeaseContainerResponse;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+
+class LeaseContainerResponseImpl extends WrapperImpl implements LeaseContainerResponse {
+ private final StorageManager manager;
+ LeaseContainerResponseImpl(LeaseContainerResponseInner inner, StorageManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public StorageManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public String leaseId() {
+ return this.inner().leaseId();
+ }
+
+ @Override
+ public String leaseTimeSeconds() {
+ return this.inner().leaseTimeSeconds();
+ }
+
+}
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/LeaseContainerResponseInner.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/LeaseContainerResponseInner.java
new file mode 100644
index 000000000000..1094eba46a86
--- /dev/null
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/LeaseContainerResponseInner.java
@@ -0,0 +1,70 @@
+/**
+ * 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.v2018_03_01_preview.implementation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Lease Container response schema.
+ */
+public class LeaseContainerResponseInner {
+ /**
+ * Returned unique lease ID that must be included with any request to
+ * delete the container, or to renew, change, or release the lease.
+ */
+ @JsonProperty(value = "leaseId")
+ private String leaseId;
+
+ /**
+ * Approximate time remaining in the lease period, in seconds.
+ */
+ @JsonProperty(value = "leaseTimeSeconds")
+ private String leaseTimeSeconds;
+
+ /**
+ * Get returned unique lease ID that must be included with any request to delete the container, or to renew, change, or release the lease.
+ *
+ * @return the leaseId value
+ */
+ public String leaseId() {
+ return this.leaseId;
+ }
+
+ /**
+ * Set returned unique lease ID that must be included with any request to delete the container, or to renew, change, or release the lease.
+ *
+ * @param leaseId the leaseId value to set
+ * @return the LeaseContainerResponseInner object itself.
+ */
+ public LeaseContainerResponseInner withLeaseId(String leaseId) {
+ this.leaseId = leaseId;
+ return this;
+ }
+
+ /**
+ * Get approximate time remaining in the lease period, in seconds.
+ *
+ * @return the leaseTimeSeconds value
+ */
+ public String leaseTimeSeconds() {
+ return this.leaseTimeSeconds;
+ }
+
+ /**
+ * Set approximate time remaining in the lease period, in seconds.
+ *
+ * @param leaseTimeSeconds the leaseTimeSeconds value to set
+ * @return the LeaseContainerResponseInner object itself.
+ */
+ public LeaseContainerResponseInner withLeaseTimeSeconds(String leaseTimeSeconds) {
+ this.leaseTimeSeconds = leaseTimeSeconds;
+ return this;
+ }
+
+}
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/ListServiceSasResponseInner.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/ListServiceSasResponseInner.java
index a7d8f454128e..ba0d25493b2f 100644
--- a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/ListServiceSasResponseInner.java
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/ListServiceSasResponseInner.java
@@ -15,13 +15,13 @@
*/
public class ListServiceSasResponseInner {
/**
- * List service SAS credentials of speicific resource.
+ * List service SAS credentials of specific resource.
*/
@JsonProperty(value = "serviceSasToken", access = JsonProperty.Access.WRITE_ONLY)
private String serviceSasToken;
/**
- * Get list service SAS credentials of speicific resource.
+ * Get list service SAS credentials of specific resource.
*
* @return the serviceSasToken value
*/
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/StorageAccountManagementPoliciesImpl.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/StorageAccountManagementPoliciesImpl.java
index 2d7be45a80da..f7cd3bae8631 100644
--- a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/StorageAccountManagementPoliciesImpl.java
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/StorageAccountManagementPoliciesImpl.java
@@ -17,6 +17,8 @@ class StorageAccountManagementPoliciesImpl extends CreatableUpdatableImpl createResourceAsync() {
StorageAccountsInner client = this.manager().inner().storageAccounts();
- return client.createOrUpdateManagementPoliciesAsync(this.resourceGroupName, this.accountName)
+ return client.createOrUpdateManagementPoliciesAsync(this.resourceGroupName, this.accountName, this.cpolicy)
.map(innerToFluentMap(this));
}
@Override
public Observable updateResourceAsync() {
StorageAccountsInner client = this.manager().inner().storageAccounts();
- return client.createOrUpdateManagementPoliciesAsync(this.resourceGroupName, this.accountName)
+ return client.createOrUpdateManagementPoliciesAsync(this.resourceGroupName, this.accountName, this.upolicy)
.map(innerToFluentMap(this));
}
@@ -100,4 +102,14 @@ public StorageAccountManagementPoliciesImpl withExistingStorageAccount(String re
return this;
}
+ @Override
+ public StorageAccountManagementPoliciesImpl withPolicy(Object policy) {
+ if (isInCreateMode()) {
+ this.cpolicy = policy;
+ } else {
+ this.upolicy = policy;
+ }
+ return this;
+ }
+
}
diff --git a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/StorageAccountsInner.java b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/StorageAccountsInner.java
index 6ffe72a5678f..85fb43cebd58 100644
--- a/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/StorageAccountsInner.java
+++ b/storage/resource-manager/v2018_03_01_preview/src/main/java/com/microsoft/azure/management/storage/v2018_03_01_preview/implementation/StorageAccountsInner.java
@@ -911,7 +911,7 @@ private ServiceResponse listKeysDelegate(Resp
*
* @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 vaules are key1, key2.
+ * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2.
* @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
@@ -926,7 +926,7 @@ public StorageAccountListKeysResultInner regenerateKey(String resourceGroupName,
*
* @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 vaules are key1, key2.
+ * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2.
* @param serviceCallback the async ServiceCallback to handle successful and failed responses.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the {@link ServiceFuture} object
@@ -940,7 +940,7 @@ public ServiceFuture regenerateKeyAsync(Strin
*
* @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 vaules are key1, key2.
+ * @param keyName The name of storage keys that want to be regenerated, possible values are key1, key2.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable to the StorageAccountListKeysResultInner object
*/
@@ -958,7 +958,7 @@ public StorageAccountListKeysResultInner call(ServiceResponse
com.microsoft.azure
azure-arm-parent
- 1.0.0
+ 0.0.3-beta
../../../pom.xml
azure-mgmt-storage
@@ -19,7 +19,7 @@
jar
Microsoft Azure SDK for Storage Management
This package contains Microsoft Storage Management SDK.
- https://github.com/Azure/azure-libraries-for-java
+ https://github.com/Azure/azure-sdk-for-java
The MIT License (MIT)
@@ -28,8 +28,8 @@
- scm:git:https://github.com/Azure/azure-libraries-for-java
- scm:git:git@github.com:Azure/azure-libraries-for-java.git
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
HEAD
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/BlobContainer.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/BlobContainer.java
index 3094bc2edbce..f8cad4b50282 100644
--- a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/BlobContainer.java
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/BlobContainer.java
@@ -16,8 +16,8 @@
import com.microsoft.azure.arm.model.Creatable;
import com.microsoft.azure.arm.resources.models.HasManager;
import com.microsoft.azure.management.storage.v2018_07_01.implementation.StorageManager;
-import org.joda.time.DateTime;
import java.util.Map;
+import org.joda.time.DateTime;
/**
* Type representing BlobContainer.
@@ -96,7 +96,7 @@ public interface BlobContainer extends HasInner, Indexable,
/**
* The entirety of the BlobContainer definition.
*/
- interface Definition extends DefinitionStages.Blank, DefinitionStages.WithBlobService, DefinitionStages.WithCreate {
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithBlobService, DefinitionStages.WithPublicAccess, DefinitionStages.WithMetadata, DefinitionStages.WithCreate {
}
/**
@@ -115,8 +115,35 @@ interface Blank extends WithBlobService {
interface WithBlobService {
/**
* Specifies resourceGroupName, accountName.
+ * @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
+ * @return the next definition stage
+ */
+ WithPublicAccess withExistingBlobService(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the blobcontainer definition allowing to specify PublicAccess.
+ */
+ interface WithPublicAccess {
+ /**
+ * Specifies publicAccess.
+ * @param publicAccess Specifies whether data in the container may be accessed publicly and the level of access. Possible values include: 'Container', 'Blob', 'None'
+ * @return the next definition stage
+ */
+ WithMetadata withPublicAccess(PublicAccess publicAccess);
+ }
+
+ /**
+ * The stage of the blobcontainer definition allowing to specify Metadata.
+ */
+ interface WithMetadata {
+ /**
+ * Specifies metadata.
+ * @param metadata A name-value pair to associate with the container as metadata
+ * @return the next definition stage
*/
- WithCreate withExistingBlobService(String resourceGroupName, String accountName);
+ WithCreate withMetadata(Map metadata);
}
/**
@@ -130,12 +157,36 @@ interface WithCreate extends Creatable {
/**
* The template for a BlobContainer update operation, containing all the settings that can be modified.
*/
- interface Update extends Appliable {
+ interface Update extends Appliable, UpdateStages.WithPublicAccess, UpdateStages.WithMetadata {
}
/**
* Grouping of BlobContainer update stages.
*/
interface UpdateStages {
+ /**
+ * The stage of the blobcontainer update allowing to specify PublicAccess.
+ */
+ interface WithPublicAccess {
+ /**
+ * Specifies publicAccess.
+ * @param publicAccess Specifies whether data in the container may be accessed publicly and the level of access. Possible values include: 'Container', 'Blob', 'None'
+ * @return the next update stage
+ */
+ Update withPublicAccess(PublicAccess publicAccess);
+ }
+
+ /**
+ * The stage of the blobcontainer update allowing to specify Metadata.
+ */
+ interface WithMetadata {
+ /**
+ * Specifies metadata.
+ * @param metadata A name-value pair to associate with the container as metadata
+ * @return the next update stage
+ */
+ Update withMetadata(Map metadata);
+ }
+
}
}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/BlobContainers.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/BlobContainers.java
index 19a94b05e165..a72756046faf 100644
--- a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/BlobContainers.java
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/BlobContainers.java
@@ -86,6 +86,17 @@ public interface BlobContainers {
*/
Observable clearLegalHoldAsync(String resourceGroupName, String accountName, String containerName, List tags);
+ /**
+ * The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
+ *
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable leaseAsync(String resourceGroupName, String accountName, String containerName);
+
/**
* Gets the existing immutability policy along with the corresponding ETag in response headers and body.
*
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/BlobServiceProperties.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/BlobServiceProperties.java
new file mode 100644
index 000000000000..482aa5f47cf9
--- /dev/null
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/BlobServiceProperties.java
@@ -0,0 +1,175 @@
+/**
+ * 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.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.storage.v2018_07_01.implementation.BlobServicePropertiesInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.storage.v2018_07_01.implementation.StorageManager;
+
+/**
+ * Type representing BlobServiceProperties.
+ */
+public interface BlobServiceProperties extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the cors value.
+ */
+ CorsRules cors();
+
+ /**
+ * @return the defaultServiceVersion value.
+ */
+ String defaultServiceVersion();
+
+ /**
+ * @return the deleteRetentionPolicy value.
+ */
+ DeleteRetentionPolicy deleteRetentionPolicy();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the BlobServiceProperties definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithStorageAccount, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of BlobServiceProperties definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a BlobServiceProperties definition.
+ */
+ interface Blank extends WithStorageAccount {
+ }
+
+ /**
+ * The stage of the blobserviceproperties definition allowing to specify StorageAccount.
+ */
+ interface WithStorageAccount {
+ /**
+ * Specifies resourceGroupName, accountName.
+ * @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
+ * @return the next definition stage
+ */
+ WithCreate withExistingStorageAccount(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the blobserviceproperties definition allowing to specify Cors.
+ */
+ interface WithCors {
+ /**
+ * Specifies cors.
+ * @param cors Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service
+ * @return the next definition stage
+ */
+ WithCreate withCors(CorsRules cors);
+ }
+
+ /**
+ * The stage of the blobserviceproperties definition allowing to specify DefaultServiceVersion.
+ */
+ interface WithDefaultServiceVersion {
+ /**
+ * Specifies defaultServiceVersion.
+ * @param defaultServiceVersion DefaultServiceVersion indicates the default version to use for requests to the Blob service if an incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions
+ * @return the next definition stage
+ */
+ WithCreate withDefaultServiceVersion(String defaultServiceVersion);
+ }
+
+ /**
+ * The stage of the blobserviceproperties definition allowing to specify DeleteRetentionPolicy.
+ */
+ interface WithDeleteRetentionPolicy {
+ /**
+ * Specifies deleteRetentionPolicy.
+ * @param deleteRetentionPolicy The blob service properties for soft delete
+ * @return the next definition stage
+ */
+ WithCreate withDeleteRetentionPolicy(DeleteRetentionPolicy deleteRetentionPolicy);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithCors, DefinitionStages.WithDefaultServiceVersion, DefinitionStages.WithDeleteRetentionPolicy {
+ }
+ }
+ /**
+ * The template for a BlobServiceProperties update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithCors, UpdateStages.WithDefaultServiceVersion, UpdateStages.WithDeleteRetentionPolicy {
+ }
+
+ /**
+ * Grouping of BlobServiceProperties update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the blobserviceproperties update allowing to specify Cors.
+ */
+ interface WithCors {
+ /**
+ * Specifies cors.
+ * @param cors Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service
+ * @return the next update stage
+ */
+ Update withCors(CorsRules cors);
+ }
+
+ /**
+ * The stage of the blobserviceproperties update allowing to specify DefaultServiceVersion.
+ */
+ interface WithDefaultServiceVersion {
+ /**
+ * Specifies defaultServiceVersion.
+ * @param defaultServiceVersion DefaultServiceVersion indicates the default version to use for requests to the Blob service if an incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions
+ * @return the next update stage
+ */
+ Update withDefaultServiceVersion(String defaultServiceVersion);
+ }
+
+ /**
+ * The stage of the blobserviceproperties update allowing to specify DeleteRetentionPolicy.
+ */
+ interface WithDeleteRetentionPolicy {
+ /**
+ * Specifies deleteRetentionPolicy.
+ * @param deleteRetentionPolicy The blob service properties for soft delete
+ * @return the next update stage
+ */
+ Update withDeleteRetentionPolicy(DeleteRetentionPolicy deleteRetentionPolicy);
+ }
+
+ }
+}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/BlobServices.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/BlobServices.java
new file mode 100644
index 000000000000..5a317c549c25
--- /dev/null
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/BlobServices.java
@@ -0,0 +1,30 @@
+/**
+ * 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.v2018_07_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Observable;
+import com.microsoft.azure.management.storage.v2018_07_01.implementation.BlobServicesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing BlobServices.
+ */
+public interface BlobServices extends SupportsCreating, HasInner {
+ /**
+ * Gets the properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.
+ *
+ * @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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getServicePropertiesAsync(String resourceGroupName, String accountName);
+
+}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/CorsRule.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/CorsRule.java
new file mode 100644
index 000000000000..18d218344415
--- /dev/null
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/CorsRule.java
@@ -0,0 +1,153 @@
+/**
+ * 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.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Specifies a CORS rule for the Blob service.
+ */
+public class CorsRule {
+ /**
+ * Required if CorsRule element is present. A list of origin domains that
+ * will be allowed via CORS, or "*" to allow all domains.
+ */
+ @JsonProperty(value = "allowedOrigins", required = true)
+ private List allowedOrigins;
+
+ /**
+ * Required if CorsRule element is present. A list of HTTP methods that are
+ * allowed to be executed by the origin.
+ */
+ @JsonProperty(value = "allowedMethods", required = true)
+ private List allowedMethods;
+
+ /**
+ * Required if CorsRule element is present. The number of seconds that the
+ * client/browser should cache a preflight response.
+ */
+ @JsonProperty(value = "maxAgeInSeconds", required = true)
+ private int maxAgeInSeconds;
+
+ /**
+ * Required if CorsRule element is present. A list of response headers to
+ * expose to CORS clients.
+ */
+ @JsonProperty(value = "exposedHeaders", required = true)
+ private List exposedHeaders;
+
+ /**
+ * Required if CorsRule element is present. A list of headers allowed to be
+ * part of the cross-origin request.
+ */
+ @JsonProperty(value = "allowedHeaders", required = true)
+ private List allowedHeaders;
+
+ /**
+ * Get required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" to allow all domains.
+ *
+ * @return the allowedOrigins value
+ */
+ public List allowedOrigins() {
+ return this.allowedOrigins;
+ }
+
+ /**
+ * Set required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" to allow all domains.
+ *
+ * @param allowedOrigins the allowedOrigins value to set
+ * @return the CorsRule object itself.
+ */
+ public CorsRule withAllowedOrigins(List allowedOrigins) {
+ this.allowedOrigins = allowedOrigins;
+ return this;
+ }
+
+ /**
+ * Get required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the origin.
+ *
+ * @return the allowedMethods value
+ */
+ public List allowedMethods() {
+ return this.allowedMethods;
+ }
+
+ /**
+ * Set required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the origin.
+ *
+ * @param allowedMethods the allowedMethods value to set
+ * @return the CorsRule object itself.
+ */
+ public CorsRule withAllowedMethods(List allowedMethods) {
+ this.allowedMethods = allowedMethods;
+ return this;
+ }
+
+ /**
+ * Get required if CorsRule element is present. The number of seconds that the client/browser should cache a preflight response.
+ *
+ * @return the maxAgeInSeconds value
+ */
+ public int maxAgeInSeconds() {
+ return this.maxAgeInSeconds;
+ }
+
+ /**
+ * Set required if CorsRule element is present. The number of seconds that the client/browser should cache a preflight response.
+ *
+ * @param maxAgeInSeconds the maxAgeInSeconds value to set
+ * @return the CorsRule object itself.
+ */
+ public CorsRule withMaxAgeInSeconds(int maxAgeInSeconds) {
+ this.maxAgeInSeconds = maxAgeInSeconds;
+ return this;
+ }
+
+ /**
+ * Get required if CorsRule element is present. A list of response headers to expose to CORS clients.
+ *
+ * @return the exposedHeaders value
+ */
+ public List exposedHeaders() {
+ return this.exposedHeaders;
+ }
+
+ /**
+ * Set required if CorsRule element is present. A list of response headers to expose to CORS clients.
+ *
+ * @param exposedHeaders the exposedHeaders value to set
+ * @return the CorsRule object itself.
+ */
+ public CorsRule withExposedHeaders(List exposedHeaders) {
+ this.exposedHeaders = exposedHeaders;
+ return this;
+ }
+
+ /**
+ * Get required if CorsRule element is present. A list of headers allowed to be part of the cross-origin request.
+ *
+ * @return the allowedHeaders value
+ */
+ public List allowedHeaders() {
+ return this.allowedHeaders;
+ }
+
+ /**
+ * Set required if CorsRule element is present. A list of headers allowed to be part of the cross-origin request.
+ *
+ * @param allowedHeaders the allowedHeaders value to set
+ * @return the CorsRule object itself.
+ */
+ public CorsRule withAllowedHeaders(List allowedHeaders) {
+ this.allowedHeaders = allowedHeaders;
+ return this;
+ }
+
+}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/CorsRules.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/CorsRules.java
new file mode 100644
index 000000000000..f87c9c985442
--- /dev/null
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/CorsRules.java
@@ -0,0 +1,46 @@
+/**
+ * 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.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Sets the CORS rules. You can include up to five CorsRule elements in the
+ * request.
+ */
+public class CorsRules {
+ /**
+ * The List of CORS rules. You can include up to five CorsRule elements in
+ * the request.
+ */
+ @JsonProperty(value = "corsRules")
+ private List corsRules;
+
+ /**
+ * Get the List of CORS rules. You can include up to five CorsRule elements in the request.
+ *
+ * @return the corsRules value
+ */
+ public List corsRules() {
+ return this.corsRules;
+ }
+
+ /**
+ * Set the List of CORS rules. You can include up to five CorsRule elements in the request.
+ *
+ * @param corsRules the corsRules value to set
+ * @return the CorsRules object itself.
+ */
+ public CorsRules withCorsRules(List corsRules) {
+ this.corsRules = corsRules;
+ return this;
+ }
+
+}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/CustomDomain.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/CustomDomain.java
index d94a30c7346d..a8d0a25a03e6 100644
--- a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/CustomDomain.java
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/CustomDomain.java
@@ -26,8 +26,8 @@ public class CustomDomain {
* Indicates whether indirect CName validation is enabled. Default value is
* false. This should only be set on updates.
*/
- @JsonProperty(value = "useSubDomain")
- private Boolean useSubDomain;
+ @JsonProperty(value = "useSubDomainName")
+ private Boolean useSubDomainName;
/**
* Get gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.
@@ -52,20 +52,20 @@ public CustomDomain withName(String name) {
/**
* Get indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.
*
- * @return the useSubDomain value
+ * @return the useSubDomainName value
*/
- public Boolean useSubDomain() {
- return this.useSubDomain;
+ public Boolean useSubDomainName() {
+ return this.useSubDomainName;
}
/**
* Set indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.
*
- * @param useSubDomain the useSubDomain value to set
+ * @param useSubDomainName the useSubDomainName value to set
* @return the CustomDomain object itself.
*/
- public CustomDomain withUseSubDomain(Boolean useSubDomain) {
- this.useSubDomain = useSubDomain;
+ public CustomDomain withUseSubDomainName(Boolean useSubDomainName) {
+ this.useSubDomainName = useSubDomainName;
return this;
}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/DeleteRetentionPolicy.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/DeleteRetentionPolicy.java
new file mode 100644
index 000000000000..6f2da384f4c0
--- /dev/null
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/DeleteRetentionPolicy.java
@@ -0,0 +1,70 @@
+/**
+ * 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.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The blob service properties for soft delete.
+ */
+public class DeleteRetentionPolicy {
+ /**
+ * Indicates whether DeleteRetentionPolicy is enabled for the Blob service.
+ */
+ @JsonProperty(value = "enabled")
+ private Boolean enabled;
+
+ /**
+ * Indicates the number of days that the deleted blob should be retained.
+ * The minimum specified value can be 1 and the maximum value can be 365.
+ */
+ @JsonProperty(value = "days")
+ private Integer days;
+
+ /**
+ * Get indicates whether DeleteRetentionPolicy is enabled for the Blob service.
+ *
+ * @return the enabled value
+ */
+ public Boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set indicates whether DeleteRetentionPolicy is enabled for the Blob service.
+ *
+ * @param enabled the enabled value to set
+ * @return the DeleteRetentionPolicy object itself.
+ */
+ public DeleteRetentionPolicy withEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get indicates the number of days that the deleted blob should be retained. The minimum specified value can be 1 and the maximum value can be 365.
+ *
+ * @return the days value
+ */
+ public Integer days() {
+ return this.days;
+ }
+
+ /**
+ * Set indicates the number of days that the deleted blob should be retained. The minimum specified value can be 1 and the maximum value can be 365.
+ *
+ * @param days the days value to set
+ * @return the DeleteRetentionPolicy object itself.
+ */
+ public DeleteRetentionPolicy withDays(Integer days) {
+ this.days = days;
+ return this;
+ }
+
+}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/Dimension.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/Dimension.java
index 865d0b65bb53..b6f9ada52d1a 100644
--- a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/Dimension.java
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/Dimension.java
@@ -11,7 +11,7 @@
import com.fasterxml.jackson.annotation.JsonProperty;
/**
- * Dimension of blobs, possiblly be blob type or access tier.
+ * Dimension of blobs, possibly be blob type or access tier.
*/
public class Dimension {
/**
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/GeoReplicationStats.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/GeoReplicationStats.java
new file mode 100644
index 000000000000..6a767bc92fee
--- /dev/null
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/GeoReplicationStats.java
@@ -0,0 +1,76 @@
+/**
+ * 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.v2018_07_01;
+
+import org.joda.time.DateTime;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Statistics related to replication for storage account's Blob, Table, Queue
+ * and File services. It is only available when geo-redundant replication is
+ * enabled for the storage account.
+ */
+public class GeoReplicationStats {
+ /**
+ * The status of the secondary location. Possible values are: - Live:
+ * Indicates that the secondary location is active and operational. -
+ * Bootstrap: Indicates initial synchronization from the primary location
+ * to the secondary location is in progress.This typically occurs when
+ * replication is first enabled. - Unavailable: Indicates that the
+ * secondary location is temporarily unavailable. Possible values include:
+ * 'Live', 'Bootstrap', 'Unavailable'.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private GeoReplicationStatus status;
+
+ /**
+ * All primary writes preceding this UTC date/time value are guaranteed to
+ * be available for read operations. Primary writes following this point in
+ * time may or may not be available for reads. Element may be default value
+ * if value of LastSyncTime is not available, this can happen if secondary
+ * is offline or we are in bootstrap.
+ */
+ @JsonProperty(value = "lastSyncTime", access = JsonProperty.Access.WRITE_ONLY)
+ private DateTime lastSyncTime;
+
+ /**
+ * A boolean flag which indicates whether or not account failover is
+ * supported for the account.
+ */
+ @JsonProperty(value = "canFailover", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean canFailover;
+
+ /**
+ * Get the status of the secondary location. Possible values are: - Live: Indicates that the secondary location is active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary location is temporarily unavailable. Possible values include: 'Live', 'Bootstrap', 'Unavailable'.
+ *
+ * @return the status value
+ */
+ public GeoReplicationStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Get all primary writes preceding this UTC date/time value are guaranteed to be available for read operations. Primary writes following this point in time may or may not be available for reads. Element may be default value if value of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap.
+ *
+ * @return the lastSyncTime value
+ */
+ public DateTime lastSyncTime() {
+ return this.lastSyncTime;
+ }
+
+ /**
+ * Get a boolean flag which indicates whether or not account failover is supported for the account.
+ *
+ * @return the canFailover value
+ */
+ public Boolean canFailover() {
+ return this.canFailover;
+ }
+
+}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/GeoReplicationStatus.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/GeoReplicationStatus.java
new file mode 100644
index 000000000000..78eddbb46689
--- /dev/null
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/GeoReplicationStatus.java
@@ -0,0 +1,44 @@
+/**
+ * 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.v2018_07_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for GeoReplicationStatus.
+ */
+public final class GeoReplicationStatus extends ExpandableStringEnum {
+ /** Static value Live for GeoReplicationStatus. */
+ public static final GeoReplicationStatus LIVE = fromString("Live");
+
+ /** Static value Bootstrap for GeoReplicationStatus. */
+ public static final GeoReplicationStatus BOOTSTRAP = fromString("Bootstrap");
+
+ /** Static value Unavailable for GeoReplicationStatus. */
+ public static final GeoReplicationStatus UNAVAILABLE = fromString("Unavailable");
+
+ /**
+ * Creates or finds a GeoReplicationStatus from its string representation.
+ * @param name a name to look for
+ * @return the corresponding GeoReplicationStatus
+ */
+ @JsonCreator
+ public static GeoReplicationStatus fromString(String name) {
+ return fromString(name, GeoReplicationStatus.class);
+ }
+
+ /**
+ * @return known GeoReplicationStatus values
+ */
+ public static Collection values() {
+ return values(GeoReplicationStatus.class);
+ }
+}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/ImmutabilityPolicy.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/ImmutabilityPolicy.java
index a70873dc21f3..9a3f763714f9 100644
--- a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/ImmutabilityPolicy.java
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/ImmutabilityPolicy.java
@@ -55,7 +55,7 @@ public interface ImmutabilityPolicy extends HasInner, I
/**
* The entirety of the ImmutabilityPolicy definition.
*/
- interface Definition extends DefinitionStages.Blank, DefinitionStages.WithContainer, DefinitionStages.WithImmutabilityPeriodSinceCreationInDays, DefinitionStages.WithCreate {
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithContainer, DefinitionStages.WithIfMatch, DefinitionStages.WithImmutabilityPeriodSinceCreationInDays, DefinitionStages.WithCreate {
}
/**
@@ -74,8 +74,24 @@ interface Blank extends WithContainer {
interface WithContainer {
/**
* Specifies resourceGroupName, accountName, containerName.
+ * @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 containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number
+ * @return the next definition stage
*/
- WithImmutabilityPeriodSinceCreationInDays withExistingContainer(String resourceGroupName, String accountName, String containerName);
+ WithIfMatch withExistingContainer(String resourceGroupName, String accountName, String containerName);
+ }
+
+ /**
+ * The stage of the immutabilitypolicy definition allowing to specify IfMatch.
+ */
+ interface WithIfMatch {
+ /**
+ * Specifies ifMatch.
+ * @param ifMatch The entity state (ETag) version of the immutability policy to update. A value of "*" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied
+ * @return the next definition stage
+ */
+ WithImmutabilityPeriodSinceCreationInDays withIfMatch(String ifMatch);
}
/**
@@ -84,6 +100,8 @@ interface WithContainer {
interface WithImmutabilityPeriodSinceCreationInDays {
/**
* Specifies immutabilityPeriodSinceCreationInDays.
+ * @param immutabilityPeriodSinceCreationInDays The immutability period for the blobs in the container since the policy creation, in days
+ * @return the next definition stage
*/
WithCreate withImmutabilityPeriodSinceCreationInDays(int immutabilityPeriodSinceCreationInDays);
}
@@ -99,19 +117,33 @@ interface WithCreate extends Creatable {
/**
* The template for a ImmutabilityPolicy update operation, containing all the settings that can be modified.
*/
- interface Update extends Appliable, UpdateStages.WithImmutabilityPeriodSinceCreationInDays {
+ interface Update extends Appliable, UpdateStages.WithIfMatch, UpdateStages.WithImmutabilityPeriodSinceCreationInDays {
}
/**
* Grouping of ImmutabilityPolicy update stages.
*/
interface UpdateStages {
+ /**
+ * The stage of the immutabilitypolicy update allowing to specify IfMatch.
+ */
+ interface WithIfMatch {
+ /**
+ * Specifies ifMatch.
+ * @param ifMatch The entity state (ETag) version of the immutability policy to update. A value of "*" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied
+ * @return the next update stage
+ */
+ Update withIfMatch(String ifMatch);
+ }
+
/**
* The stage of the immutabilitypolicy update allowing to specify ImmutabilityPeriodSinceCreationInDays.
*/
interface WithImmutabilityPeriodSinceCreationInDays {
/**
* Specifies immutabilityPeriodSinceCreationInDays.
+ * @param immutabilityPeriodSinceCreationInDays The immutability period for the blobs in the container since the policy creation, in days
+ * @return the next update stage
*/
Update withImmutabilityPeriodSinceCreationInDays(int immutabilityPeriodSinceCreationInDays);
}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/LeaseContainerRequest.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/LeaseContainerRequest.java
new file mode 100644
index 000000000000..36270f628dc1
--- /dev/null
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/LeaseContainerRequest.java
@@ -0,0 +1,152 @@
+/**
+ * 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.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Lease Container request schema.
+ */
+public class LeaseContainerRequest {
+ /**
+ * Specifies the lease action. Can be one of the available actions.
+ * Possible values include: 'Acquire', 'Renew', 'Change', 'Release',
+ * 'Break'.
+ */
+ @JsonProperty(value = "action", required = true)
+ private String action;
+
+ /**
+ * Identifies the lease. Can be specified in any valid GUID string format.
+ */
+ @JsonProperty(value = "leaseId")
+ private String leaseId;
+
+ /**
+ * Optional. For a break action, proposed duration the lease should
+ * continue before it is broken, in seconds, between 0 and 60.
+ */
+ @JsonProperty(value = "breakPeriod")
+ private Integer breakPeriod;
+
+ /**
+ * Required for acquire. Specifies the duration of the lease, in seconds,
+ * or negative one (-1) for a lease that never expires.
+ */
+ @JsonProperty(value = "leaseDuration")
+ private Integer leaseDuration;
+
+ /**
+ * Optional for acquire, required for change. Proposed lease ID, in a GUID
+ * string format.
+ */
+ @JsonProperty(value = "proposedLeaseId")
+ private String proposedLeaseId;
+
+ /**
+ * Get specifies the lease action. Can be one of the available actions. Possible values include: 'Acquire', 'Renew', 'Change', 'Release', 'Break'.
+ *
+ * @return the action value
+ */
+ public String action() {
+ return this.action;
+ }
+
+ /**
+ * Set specifies the lease action. Can be one of the available actions. Possible values include: 'Acquire', 'Renew', 'Change', 'Release', 'Break'.
+ *
+ * @param action the action value to set
+ * @return the LeaseContainerRequest object itself.
+ */
+ public LeaseContainerRequest withAction(String action) {
+ this.action = action;
+ return this;
+ }
+
+ /**
+ * Get identifies the lease. Can be specified in any valid GUID string format.
+ *
+ * @return the leaseId value
+ */
+ public String leaseId() {
+ return this.leaseId;
+ }
+
+ /**
+ * Set identifies the lease. Can be specified in any valid GUID string format.
+ *
+ * @param leaseId the leaseId value to set
+ * @return the LeaseContainerRequest object itself.
+ */
+ public LeaseContainerRequest withLeaseId(String leaseId) {
+ this.leaseId = leaseId;
+ return this;
+ }
+
+ /**
+ * Get optional. For a break action, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60.
+ *
+ * @return the breakPeriod value
+ */
+ public Integer breakPeriod() {
+ return this.breakPeriod;
+ }
+
+ /**
+ * Set optional. For a break action, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60.
+ *
+ * @param breakPeriod the breakPeriod value to set
+ * @return the LeaseContainerRequest object itself.
+ */
+ public LeaseContainerRequest withBreakPeriod(Integer breakPeriod) {
+ this.breakPeriod = breakPeriod;
+ return this;
+ }
+
+ /**
+ * Get required for acquire. Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires.
+ *
+ * @return the leaseDuration value
+ */
+ public Integer leaseDuration() {
+ return this.leaseDuration;
+ }
+
+ /**
+ * Set required for acquire. Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires.
+ *
+ * @param leaseDuration the leaseDuration value to set
+ * @return the LeaseContainerRequest object itself.
+ */
+ public LeaseContainerRequest withLeaseDuration(Integer leaseDuration) {
+ this.leaseDuration = leaseDuration;
+ return this;
+ }
+
+ /**
+ * Get optional for acquire, required for change. Proposed lease ID, in a GUID string format.
+ *
+ * @return the proposedLeaseId value
+ */
+ public String proposedLeaseId() {
+ return this.proposedLeaseId;
+ }
+
+ /**
+ * Set optional for acquire, required for change. Proposed lease ID, in a GUID string format.
+ *
+ * @param proposedLeaseId the proposedLeaseId value to set
+ * @return the LeaseContainerRequest object itself.
+ */
+ public LeaseContainerRequest withProposedLeaseId(String proposedLeaseId) {
+ this.proposedLeaseId = proposedLeaseId;
+ return this;
+ }
+
+}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/LeaseContainerResponse.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/LeaseContainerResponse.java
new file mode 100644
index 000000000000..7250ed0e30bd
--- /dev/null
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/LeaseContainerResponse.java
@@ -0,0 +1,30 @@
+/**
+ * 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.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.storage.v2018_07_01.implementation.StorageManager;
+import com.microsoft.azure.management.storage.v2018_07_01.implementation.LeaseContainerResponseInner;
+
+/**
+ * Type representing LeaseContainerResponse.
+ */
+public interface LeaseContainerResponse extends HasInner, HasManager {
+ /**
+ * @return the leaseId value.
+ */
+ String leaseId();
+
+ /**
+ * @return the leaseTimeSeconds value.
+ */
+ String leaseTimeSeconds();
+
+}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/ManagementPolicies.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/ManagementPolicies.java
new file mode 100644
index 000000000000..b04b1bef2ced
--- /dev/null
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/ManagementPolicies.java
@@ -0,0 +1,41 @@
+/**
+ * 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.v2018_07_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.storage.v2018_07_01.implementation.ManagementPoliciesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing ManagementPolicies.
+ */
+public interface ManagementPolicies extends SupportsCreating, HasInner {
+ /**
+ * Gets the data policy rules associated with 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String accountName);
+
+ /**
+ * Deletes the data policy rules associated with 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String accountName);
+
+}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/ManagementPoliciesRulesSetParameter.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/ManagementPoliciesRulesSetParameter.java
new file mode 100644
index 000000000000..22c4231bfb4e
--- /dev/null
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/ManagementPoliciesRulesSetParameter.java
@@ -0,0 +1,49 @@
+/**
+ * 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.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * The Storage Account ManagementPolicies Rules, in JSON format. See more
+ * details in:
+ * https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts.
+ */
+@JsonFlatten
+public class ManagementPoliciesRulesSetParameter {
+ /**
+ * The Storage Account ManagementPolicies Rules, in JSON format. See more
+ * details in:
+ * https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts.
+ */
+ @JsonProperty(value = "properties.policy")
+ private Object policy;
+
+ /**
+ * Get the Storage Account ManagementPolicies Rules, in JSON format. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts.
+ *
+ * @return the policy value
+ */
+ public Object policy() {
+ return this.policy;
+ }
+
+ /**
+ * Set the Storage Account ManagementPolicies Rules, in JSON format. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts.
+ *
+ * @param policy the policy value to set
+ * @return the ManagementPoliciesRulesSetParameter object itself.
+ */
+ public ManagementPoliciesRulesSetParameter withPolicy(Object policy) {
+ this.policy = policy;
+ return this;
+ }
+
+}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/SKUCapability.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/SKUCapability.java
index d6557a5d4f92..525186013042 100644
--- a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/SKUCapability.java
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/SKUCapability.java
@@ -11,13 +11,13 @@
import com.fasterxml.jackson.annotation.JsonProperty;
/**
- * The capability information in the specified sku, including file encryption,
- * network acls, change notification, etc.
+ * The capability information in the specified SKU, including file encryption,
+ * network ACLs, change notification, etc.
*/
public class SKUCapability {
/**
- * The name of capability, The capability information in the specified sku,
- * including file encryption, network acls, change notification, etc.
+ * The name of capability, The capability information in the specified SKU,
+ * including file encryption, network ACLs, change notification, etc.
*/
@JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
private String name;
@@ -30,7 +30,7 @@ public class SKUCapability {
private String value;
/**
- * Get the name of capability, The capability information in the specified sku, including file encryption, network acls, change notification, etc.
+ * Get the name of capability, The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc.
*
* @return the name value
*/
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/ServiceSasParameters.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/ServiceSasParameters.java
index fc8c469d9632..623550b03ebe 100644
--- a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/ServiceSasParameters.java
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/ServiceSasParameters.java
@@ -12,7 +12,7 @@
import com.fasterxml.jackson.annotation.JsonProperty;
/**
- * The parameters to list service SAS credentials of a speicific resource.
+ * The parameters to list service SAS credentials of a specific resource.
*/
public class ServiceSasParameters {
/**
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccount.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccount.java
index eca1971d1f5f..124265b35ef9 100644
--- a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccount.java
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccount.java
@@ -56,6 +56,16 @@ public interface StorageAccount extends HasInner, Resource,
*/
Encryption encryption();
+ /**
+ * @return the failoverInProgress value.
+ */
+ Boolean failoverInProgress();
+
+ /**
+ * @return the geoReplicationStats value.
+ */
+ GeoReplicationStats geoReplicationStats();
+
/**
* @return the identity value.
*/
@@ -149,7 +159,9 @@ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup, Resource.UpdateWithTags, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the lastModifiedTime value.
+ */
+ DateTime lastModifiedTime();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the policy value.
+ */
+ Object policy();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the StorageAccountManagementPolicies definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithStorageAccount, DefinitionStages.WithPolicy, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of StorageAccountManagementPolicies definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a StorageAccountManagementPolicies definition.
+ */
+ interface Blank extends WithStorageAccount {
+ }
+
+ /**
+ * The stage of the storageaccountmanagementpolicies definition allowing to specify StorageAccount.
+ */
+ interface WithStorageAccount {
+ /**
+ * Specifies resourceGroupName, accountName.
+ * @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
+ * @return the next definition stage
+ */
+ WithPolicy withExistingStorageAccount(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the storageaccountmanagementpolicies definition allowing to specify Policy.
+ */
+ interface WithPolicy {
+ /**
+ * Specifies policy.
+ * @param policy The Storage Account ManagementPolicies Rules, in JSON format. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts
+ * @return the next definition stage
+ */
+ WithCreate withPolicy(Object policy);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable {
+ }
+ }
+ /**
+ * The template for a StorageAccountManagementPolicies update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithPolicy {
+ }
+
+ /**
+ * Grouping of StorageAccountManagementPolicies update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the storageaccountmanagementpolicies update allowing to specify Policy.
+ */
+ interface WithPolicy {
+ /**
+ * Specifies policy.
+ * @param policy The Storage Account ManagementPolicies Rules, in JSON format. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts
+ * @return the next update stage
+ */
+ Update withPolicy(Object policy);
+ }
+
+ }
+}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccountRegenerateKeyParameters.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccountRegenerateKeyParameters.java
index a81e8d8647dc..36ac7d94db62 100644
--- a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccountRegenerateKeyParameters.java
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccountRegenerateKeyParameters.java
@@ -15,14 +15,14 @@
*/
public class StorageAccountRegenerateKeyParameters {
/**
- * The name of storage keys that want to be regenerated, possible vaules
+ * The name of storage keys that want to be regenerated, possible values
* are key1, key2.
*/
@JsonProperty(value = "keyName", required = true)
private String keyName;
/**
- * Get the name of storage keys that want to be regenerated, possible vaules are key1, key2.
+ * Get the name of storage keys that want to be regenerated, possible values are key1, key2.
*
* @return the keyName value
*/
@@ -31,7 +31,7 @@ public String keyName() {
}
/**
- * Set the name of storage keys that want to be regenerated, possible vaules are key1, key2.
+ * Set the name of storage keys that want to be regenerated, possible values are key1, key2.
*
* @param keyName the keyName value to set
* @return the StorageAccountRegenerateKeyParameters object itself.
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccountUpdateParameters.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccountUpdateParameters.java
index 2970b7306691..90ab30164729 100644
--- a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccountUpdateParameters.java
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccountUpdateParameters.java
@@ -21,7 +21,7 @@
public class StorageAccountUpdateParameters {
/**
* Gets or sets the SKU name. Note that the SKU name cannot be updated to
- * Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those sku
+ * Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those SKU
* names be updated to any other value.
*/
@JsonProperty(value = "sku")
@@ -93,7 +93,7 @@ public class StorageAccountUpdateParameters {
private Kind kind;
/**
- * Get gets or sets the SKU name. Note that the SKU name cannot be updated to Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those sku names be updated to any other value.
+ * Get gets or sets the SKU name. Note that the SKU name cannot be updated to Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those SKU names be updated to any other value.
*
* @return the sku value
*/
@@ -102,7 +102,7 @@ public SkuInner sku() {
}
/**
- * Set gets or sets the SKU name. Note that the SKU name cannot be updated to Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those sku names be updated to any other value.
+ * Set gets or sets the SKU name. Note that the SKU name cannot be updated to Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those SKU names be updated to any other value.
*
* @param sku the sku value to set
* @return the StorageAccountUpdateParameters object itself.
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccounts.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccounts.java
index 2556de0e4625..c7283d8c7c27 100644
--- a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccounts.java
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/StorageAccounts.java
@@ -15,6 +15,7 @@
import rx.Observable;
import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup;
import com.microsoft.azure.arm.collection.SupportsListing;
+import rx.Completable;
import com.microsoft.azure.management.storage.v2018_07_01.implementation.StorageAccountsInner;
import com.microsoft.azure.arm.model.HasInner;
@@ -37,7 +38,7 @@ public interface StorageAccounts extends SupportsCreating listServiceSASAsync(String resourceGroupName, String accountName, ServiceSasParameters parameters);
+ /**
+ * Failover request can be triggered for a storage account in case of availability issues. The failover occurs from the storage account's primary cluster to secondary cluster for RA-GRS accounts. The secondary cluster will become primary after failover.
+ *
+ * @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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable failoverAsync(String resourceGroupName, String accountName);
+
/**
* Checks that the storage account name is valid and is not already in use.
*
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/implementation/BlobContainerImpl.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/implementation/BlobContainerImpl.java
index 0d07f2299081..7d0eac4eb1a6 100644
--- a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/implementation/BlobContainerImpl.java
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/implementation/BlobContainerImpl.java
@@ -11,20 +11,24 @@
import com.microsoft.azure.management.storage.v2018_07_01.BlobContainer;
import com.microsoft.azure.arm.model.implementation.CreatableUpdatableImpl;
import rx.Observable;
+import com.microsoft.azure.management.storage.v2018_07_01.PublicAccess;
+import java.util.Map;
import com.microsoft.azure.management.storage.v2018_07_01.ImmutabilityPolicyProperties;
import org.joda.time.DateTime;
import com.microsoft.azure.management.storage.v2018_07_01.LeaseDuration;
import com.microsoft.azure.management.storage.v2018_07_01.LeaseState;
import com.microsoft.azure.management.storage.v2018_07_01.LeaseStatus;
import com.microsoft.azure.management.storage.v2018_07_01.LegalHoldProperties;
-import java.util.Map;
-import com.microsoft.azure.management.storage.v2018_07_01.PublicAccess;
class BlobContainerImpl extends CreatableUpdatableImpl implements BlobContainer, BlobContainer.Definition, BlobContainer.Update {
private final StorageManager manager;
private String resourceGroupName;
private String accountName;
private String containerName;
+ private PublicAccess cpublicAccess;
+ private Map cmetadata;
+ private PublicAccess upublicAccess;
+ private Map umetadata;
BlobContainerImpl(String name, StorageManager manager) {
super(name, new BlobContainerInner());
@@ -39,7 +43,7 @@ class BlobContainerImpl extends CreatableUpdatableImpl createResourceAsync() {
BlobContainersInner client = this.manager().inner().blobContainers();
- return client.createAsync(this.resourceGroupName, this.accountName, this.containerName)
+ return client.createAsync(this.resourceGroupName, this.accountName, this.containerName, this.cpublicAccess, this.cmetadata)
.map(innerToFluentMap(this));
}
@Override
public Observable updateResourceAsync() {
BlobContainersInner client = this.manager().inner().blobContainers();
- return client.updateAsync(this.resourceGroupName, this.accountName, this.containerName)
+ return client.updateAsync(this.resourceGroupName, this.accountName, this.containerName, this.upublicAccess, this.umetadata)
.map(innerToFluentMap(this));
}
@@ -154,4 +158,24 @@ public BlobContainerImpl withExistingBlobService(String resourceGroupName, Strin
return this;
}
+ @Override
+ public BlobContainerImpl withPublicAccess(PublicAccess publicAccess) {
+ if (isInCreateMode()) {
+ this.cpublicAccess = publicAccess;
+ } else {
+ this.upublicAccess = publicAccess;
+ }
+ return this;
+ }
+
+ @Override
+ public BlobContainerImpl withMetadata(Map metadata) {
+ if (isInCreateMode()) {
+ this.cmetadata = metadata;
+ } else {
+ this.umetadata = metadata;
+ }
+ return this;
+ }
+
}
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/implementation/BlobContainersImpl.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/implementation/BlobContainersImpl.java
index f95e86181d0f..87f5e94fe088 100644
--- a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/implementation/BlobContainersImpl.java
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/implementation/BlobContainersImpl.java
@@ -17,6 +17,7 @@
import com.microsoft.azure.management.storage.v2018_07_01.ListContainerItems;
import com.microsoft.azure.management.storage.v2018_07_01.BlobContainer;
import com.microsoft.azure.management.storage.v2018_07_01.LegalHold;
+import com.microsoft.azure.management.storage.v2018_07_01.LeaseContainerResponse;
import java.util.List;
import com.microsoft.azure.management.storage.v2018_07_01.ImmutabilityPolicy;
@@ -120,6 +121,18 @@ public LegalHold call(LegalHoldInner inner) {
});
}
+ @Override
+ public Observable leaseAsync(String resourceGroupName, String accountName, String containerName) {
+ BlobContainersInner client = this.inner();
+ return client.leaseAsync(resourceGroupName, accountName, containerName)
+ .map(new Func1() {
+ @Override
+ public LeaseContainerResponse call(LeaseContainerResponseInner inner) {
+ return new LeaseContainerResponseImpl(inner, manager());
+ }
+ });
+ }
+
@Override
public Observable getImmutabilityPolicyAsync(String resourceGroupName, String accountName, String containerName) {
BlobContainersInner client = this.inner();
diff --git a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/implementation/BlobContainersInner.java b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/implementation/BlobContainersInner.java
index 0e5d79d11e6c..f2f41a302356 100644
--- a/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/implementation/BlobContainersInner.java
+++ b/storage/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/storage/v2018_07_01/implementation/BlobContainersInner.java
@@ -16,6 +16,7 @@
import com.microsoft.azure.management.storage.v2018_07_01.BlobContainersExtendImmutabilityPolicyHeaders;
import com.microsoft.azure.management.storage.v2018_07_01.BlobContainersGetImmutabilityPolicyHeaders;
import com.microsoft.azure.management.storage.v2018_07_01.BlobContainersLockImmutabilityPolicyHeaders;
+import com.microsoft.azure.management.storage.v2018_07_01.LeaseContainerRequest;
import com.microsoft.azure.management.storage.v2018_07_01.PublicAccess;
import com.microsoft.rest.ServiceCallback;
import com.microsoft.rest.ServiceFuture;
@@ -114,6 +115,10 @@ interface BlobContainersService {
@POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend")
Observable> extendImmutabilityPolicy(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("containerName") String containerName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("If-Match") String ifMatch, @Header("accept-language") String acceptLanguage, @Body ImmutabilityPolicyInner parameters, @Header("User-Agent") String userAgent);
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.storage.v2018_07_01.BlobContainers lease" })
+ @POST("subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/lease")
+ Observable> lease(@Path("resourceGroupName") String resourceGroupName, @Path("accountName") String accountName, @Path("containerName") String containerName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Body LeaseContainerRequest parameters, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
}
/**
@@ -178,10 +183,8 @@ public Observable> listWithServiceRespo
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.list(resourceGroupName, accountName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ final String apiVersion = "2018-07-01";
+ return service.list(resourceGroupName, accountName, this.client.subscriptionId(), apiVersion, this.client.acceptLanguage(), this.client.userAgent())
.flatMap(new Func1, Observable>>() {
@Override
public Observable> call(Response response) {
@@ -271,15 +274,13 @@ public Observable> createWithServiceResponse
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.");
- }
+ final String apiVersion = "2018-07-01";
final PublicAccess publicAccess = null;
final Map metadata = null;
BlobContainerInner blobContainer = new BlobContainerInner();
blobContainer.withPublicAccess(null);
blobContainer.withMetadata(null);
- return service.create(resourceGroupName, accountName, containerName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), blobContainer, this.client.userAgent())
+ return service.create(resourceGroupName, accountName, containerName, this.client.subscriptionId(), apiVersion, this.client.acceptLanguage(), blobContainer, this.client.userAgent())
.flatMap(new Func1, Observable>>() {
@Override
public Observable> call(Response response) {
@@ -370,14 +371,12 @@ public Observable> createWithServiceResponse
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.");
- }
Validator.validate(metadata);
+ final String apiVersion = "2018-07-01";
BlobContainerInner blobContainer = new BlobContainerInner();
blobContainer.withPublicAccess(publicAccess);
blobContainer.withMetadata(metadata);
- return service.create(resourceGroupName, accountName, containerName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), blobContainer, this.client.userAgent())
+ return service.create(resourceGroupName, accountName, containerName, this.client.subscriptionId(), apiVersion, this.client.acceptLanguage(), blobContainer, this.client.userAgent())
.flatMap(new Func1, Observable>>() {
@Override
public Observable> call(Response response) {
@@ -467,15 +466,13 @@ public Observable> updateWithServiceResponse
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.");
- }
+ final String apiVersion = "2018-07-01";
final PublicAccess publicAccess = null;
final Map metadata = null;
BlobContainerInner blobContainer = new BlobContainerInner();
blobContainer.withPublicAccess(null);
blobContainer.withMetadata(null);
- return service.update(resourceGroupName, accountName, containerName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), blobContainer, this.client.userAgent())
+ return service.update(resourceGroupName, accountName, containerName, this.client.subscriptionId(), apiVersion, this.client.acceptLanguage(), blobContainer, this.client.userAgent())
.flatMap(new Func1, Observable>>() {
@Override
public Observable> call(Response response) {
@@ -566,14 +563,12 @@ public Observable> updateWithServiceResponse
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.");
- }
Validator.validate(metadata);
+ final String apiVersion = "2018-07-01";
BlobContainerInner blobContainer = new BlobContainerInner();
blobContainer.withPublicAccess(publicAccess);
blobContainer.withMetadata(metadata);
- return service.update(resourceGroupName, accountName, containerName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), blobContainer, this.client.userAgent())
+ return service.update(resourceGroupName, accountName, containerName, this.client.subscriptionId(), apiVersion, this.client.acceptLanguage(), blobContainer, this.client.userAgent())
.flatMap(new Func1, Observable>>() {
@Override
public Observable> call(Response response) {
@@ -663,10 +658,8 @@ public Observable> getWithServiceResponseAsy
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.get(resourceGroupName, accountName, containerName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ final String apiVersion = "2018-07-01";
+ return service.get(resourceGroupName, accountName, containerName, this.client.subscriptionId(), apiVersion, this.client.acceptLanguage(), this.client.userAgent())
.flatMap(new Func1, Observable>>() {
@Override
public Observable> call(Response response) {
@@ -755,10 +748,8 @@ public Observable> deleteWithServiceResponseAsync(String r
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.delete(resourceGroupName, accountName, containerName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ final String apiVersion = "2018-07-01";
+ return service.delete(resourceGroupName, accountName, containerName, this.client.subscriptionId(), apiVersion, this.client.acceptLanguage(), this.client.userAgent())
.flatMap(new Func1, Observable>>() {
@Override
public Observable> call(Response response) {
@@ -853,16 +844,14 @@ public Observable> setLegalHoldWithServiceRespon
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.");
- }
if (tags == null) {
throw new IllegalArgumentException("Parameter tags is required and cannot be null.");
}
Validator.validate(tags);
+ final String apiVersion = "2018-07-01";
LegalHoldInner legalHold = new LegalHoldInner();
legalHold.withTags(tags);
- return service.setLegalHold(resourceGroupName, accountName, containerName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), legalHold, this.client.userAgent())
+ return service.setLegalHold(resourceGroupName, accountName, containerName, this.client.subscriptionId(), apiVersion, this.client.acceptLanguage(), legalHold, this.client.userAgent())
.flatMap(new Func1, Observable>>() {
@Override
public Observable> call(Response response) {
@@ -956,16 +945,14 @@ public Observable> clearLegalHoldWithServiceResp
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.");
- }
if (tags == null) {
throw new IllegalArgumentException("Parameter tags is required and cannot be null.");
}
Validator.validate(tags);
+ final String apiVersion = "2018-07-01";
LegalHoldInner legalHold = new LegalHoldInner();
legalHold.withTags(tags);
- return service.clearLegalHold(resourceGroupName, accountName, containerName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), legalHold, this.client.userAgent())
+ return service.clearLegalHold(resourceGroupName, accountName, containerName, this.client.subscriptionId(), apiVersion, this.client.acceptLanguage(), legalHold, this.client.userAgent())
.flatMap(new Func1, Observable>>() {
@Override
public Observable> call(Response response) {
@@ -1059,14 +1046,12 @@ public Observable, Observable>>() {
@Override
public Observable> call(Response response) {
@@ -1157,13 +1142,11 @@ public Observable, Observable>>() {
@Override
public Observable> call(Response response) {
@@ -1253,12 +1236,10 @@ public Observable, Observable