Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ReleasePR sdk/storage/mgmt-v2018_03_01_preview] [Storage] File share snapshots CRUD #17438

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions sdk/storage/mgmt-v2018_03_01_preview/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@
<parent>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-arm-parent</artifactId>
<version>1.2.0</version>
<relativePath>../../parents/azure-arm-parent</relativePath>
<version>1.1.0</version>
<relativePath>../../../pom.management.xml</relativePath>
</parent>
<artifactId>azure-mgmt-storage</artifactId>
<version>1.0.0-beta</version>
<packaging>jar</packaging>
<name>Microsoft Azure SDK for Storage Management</name>
<description>This package contains Microsoft Storage Management SDK.</description>
<url>https://github.com/Azure/azure-libraries-for-java</url>
<url>https://github.com/Azure/azure-sdk-for-java</url>
<licenses>
<license>
<name>The MIT License (MIT)</name>
Expand All @@ -28,8 +28,8 @@
</license>
</licenses>
<scm>
<url>scm:git:https://github.com/Azure/azure-libraries-for-java</url>
<connection>scm:git:git@github.com:Azure/azure-libraries-for-java.git</connection>
<url>scm:git:https://github.com/Azure/azure-sdk-for-java</url>
<connection>scm:git:git@github.com:Azure/azure-sdk-for-java.git</connection>
<tag>HEAD</tag>
</scm>
<properties>
Expand Down Expand Up @@ -71,6 +71,8 @@
<artifactId>azure-arm-client-runtime</artifactId>
<type>test-jar</type>
<scope>test</scope>
<!--Below version for test jar needs to be removed, this will be done as part of v1-runtime 1.6.7-->
<version>1.6.5</version>
</dependency>
</dependencies>
<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
import com.microsoft.azure.ProxyResource;

/**
* The resource model definition for a Azure Resource Manager resource with an
* Entity Resource.
* The resource model definition for an Azure Resource Manager resource with an
* etag.
*/
public class AzureEntityResource extends ProxyResource {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -96,7 +96,7 @@ public interface BlobContainer extends HasInner<BlobContainerInner>, 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 {
}

/**
Expand All @@ -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<String, String> metadata);
}

/**
Expand All @@ -130,12 +157,36 @@ interface WithCreate extends Creatable<BlobContainer> {
/**
* The template for a BlobContainer update operation, containing all the settings that can be modified.
*/
interface Update extends Appliable<BlobContainer> {
interface Update extends Appliable<BlobContainer>, 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<String, String> metadata);
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,17 @@ public interface BlobContainers {
*/
Observable<LegalHold> clearLegalHoldAsync(String resourceGroupName, String accountName, String containerName, List<String> 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<LeaseContainerResponse> leaseAsync(String resourceGroupName, String accountName, String containerName);

/**
* Gets the existing immutability policy along with the corresponding ETag in response headers and body.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public interface ImmutabilityPolicy extends HasInner<ImmutabilityPolicyInner>, 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 {
}

/**
Expand All @@ -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);
}

/**
Expand All @@ -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);
}
Expand All @@ -99,19 +117,33 @@ interface WithCreate extends Creatable<ImmutabilityPolicy> {
/**
* The template for a ImmutabilityPolicy update operation, containing all the settings that can be modified.
*/
interface Update extends Appliable<ImmutabilityPolicy>, UpdateStages.WithImmutabilityPeriodSinceCreationInDays {
interface Update extends Appliable<ImmutabilityPolicy>, 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);
}
Expand Down
Loading