Skip to content

Commit

Permalink
Generated from 168658727b8e65c0d14fb1da68941dca41e80ab8
Browse files Browse the repository at this point in the history
Add support for default encryption scope & block encryption scope override for blob container APIs.
  • Loading branch information
SDK Automation committed Mar 4, 2020
1 parent bd519b2 commit b1093a1
Show file tree
Hide file tree
Showing 52 changed files with 3,236 additions and 230 deletions.
10 changes: 6 additions & 4 deletions sdk/storage/mgmt-v2018_07_01/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>
<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 @@ -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.
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
@@ -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<BlobServicePropertiesInner>, Indexable, Refreshable<BlobServiceProperties>, Updatable<BlobServiceProperties.Update>, HasManager<StorageManager> {
/**
* @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<BlobServiceProperties>, 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<BlobServiceProperties>, 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);
}

}
}
Original file line number Diff line number Diff line change
@@ -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<BlobServiceProperties.DefinitionStages.Blank>, HasInner<BlobServicesInner> {
/**
* 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<BlobServiceProperties> getServicePropertiesAsync(String resourceGroupName, String accountName);

}
Loading

0 comments on commit b1093a1

Please sign in to comment.