From e875dd9c7f5f2a58f34fbcd550977845f52971d1 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 11 Oct 2023 16:35:21 -0400 Subject: [PATCH 01/14] chore(main): release 2.28.1-SNAPSHOT (#2252) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- gapic-google-cloud-storage-v2/pom.xml | 4 ++-- google-cloud-storage-bom/pom.xml | 10 +++++----- google-cloud-storage/pom.xml | 4 ++-- grpc-google-cloud-storage-v2/pom.xml | 4 ++-- pom.xml | 10 +++++----- proto-google-cloud-storage-v2/pom.xml | 4 ++-- samples/snapshot/pom.xml | 2 +- storage-shared-benchmarking/pom.xml | 4 ++-- versions.txt | 8 ++++---- 9 files changed, 25 insertions(+), 25 deletions(-) diff --git a/gapic-google-cloud-storage-v2/pom.xml b/gapic-google-cloud-storage-v2/pom.xml index 852a75b2ed..becf9d7ea2 100644 --- a/gapic-google-cloud-storage-v2/pom.xml +++ b/gapic-google-cloud-storage-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc gapic-google-cloud-storage-v2 - 2.28.0-alpha + 2.28.1-alpha-SNAPSHOT gapic-google-cloud-storage-v2 GRPC library for gapic-google-cloud-storage-v2 com.google.cloud google-cloud-storage-parent - 2.28.0 + 2.28.1-SNAPSHOT diff --git a/google-cloud-storage-bom/pom.xml b/google-cloud-storage-bom/pom.xml index 76d71adb95..53426e106a 100644 --- a/google-cloud-storage-bom/pom.xml +++ b/google-cloud-storage-bom/pom.xml @@ -19,7 +19,7 @@ 4.0.0 com.google.cloud google-cloud-storage-bom - 2.28.0 + 2.28.1-SNAPSHOT pom com.google.cloud @@ -69,22 +69,22 @@ com.google.cloud google-cloud-storage - 2.28.0 + 2.28.1-SNAPSHOT com.google.api.grpc gapic-google-cloud-storage-v2 - 2.28.0-alpha + 2.28.1-alpha-SNAPSHOT com.google.api.grpc grpc-google-cloud-storage-v2 - 2.28.0-alpha + 2.28.1-alpha-SNAPSHOT com.google.api.grpc proto-google-cloud-storage-v2 - 2.28.0-alpha + 2.28.1-alpha-SNAPSHOT diff --git a/google-cloud-storage/pom.xml b/google-cloud-storage/pom.xml index 717a797834..fc3e662d5c 100644 --- a/google-cloud-storage/pom.xml +++ b/google-cloud-storage/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-storage - 2.28.0 + 2.28.1-SNAPSHOT jar Google Cloud Storage https://github.com/googleapis/java-storage @@ -12,7 +12,7 @@ com.google.cloud google-cloud-storage-parent - 2.28.0 + 2.28.1-SNAPSHOT google-cloud-storage diff --git a/grpc-google-cloud-storage-v2/pom.xml b/grpc-google-cloud-storage-v2/pom.xml index c379233cba..f9fbaa619e 100644 --- a/grpc-google-cloud-storage-v2/pom.xml +++ b/grpc-google-cloud-storage-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-storage-v2 - 2.28.0-alpha + 2.28.1-alpha-SNAPSHOT grpc-google-cloud-storage-v2 GRPC library for grpc-google-cloud-storage-v2 com.google.cloud google-cloud-storage-parent - 2.28.0 + 2.28.1-SNAPSHOT diff --git a/pom.xml b/pom.xml index d64ad5aaa8..37f8df30b7 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-storage-parent pom - 2.28.0 + 2.28.1-SNAPSHOT Storage Parent https://github.com/googleapis/java-storage @@ -76,7 +76,7 @@ com.google.cloud google-cloud-storage - 2.28.0 + 2.28.1-SNAPSHOT com.google.apis @@ -117,17 +117,17 @@ com.google.api.grpc proto-google-cloud-storage-v2 - 2.28.0-alpha + 2.28.1-alpha-SNAPSHOT com.google.api.grpc grpc-google-cloud-storage-v2 - 2.28.0-alpha + 2.28.1-alpha-SNAPSHOT com.google.api.grpc gapic-google-cloud-storage-v2 - 2.28.0-alpha + 2.28.1-alpha-SNAPSHOT com.google.cloud diff --git a/proto-google-cloud-storage-v2/pom.xml b/proto-google-cloud-storage-v2/pom.xml index 315d7f6dcd..b5a8074224 100644 --- a/proto-google-cloud-storage-v2/pom.xml +++ b/proto-google-cloud-storage-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-storage-v2 - 2.28.0-alpha + 2.28.1-alpha-SNAPSHOT proto-google-cloud-storage-v2 PROTO library for proto-google-cloud-storage-v2 com.google.cloud google-cloud-storage-parent - 2.28.0 + 2.28.1-SNAPSHOT diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index c4637cc8ab..f957d08aca 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-storage - 2.28.0 + 2.28.1-SNAPSHOT diff --git a/storage-shared-benchmarking/pom.xml b/storage-shared-benchmarking/pom.xml index 160f7cdf50..ac3f88ded6 100644 --- a/storage-shared-benchmarking/pom.xml +++ b/storage-shared-benchmarking/pom.xml @@ -10,7 +10,7 @@ com.google.cloud google-cloud-storage-parent - 2.28.0 + 2.28.1-SNAPSHOT @@ -31,7 +31,7 @@ com.google.cloud google-cloud-storage - 2.28.0 + 2.28.1-SNAPSHOT tests diff --git a/versions.txt b/versions.txt index 85c7beb22a..50031ca83e 100644 --- a/versions.txt +++ b/versions.txt @@ -1,7 +1,7 @@ # Format: # module:released-version:current-version -google-cloud-storage:2.28.0:2.28.0 -gapic-google-cloud-storage-v2:2.28.0-alpha:2.28.0-alpha -grpc-google-cloud-storage-v2:2.28.0-alpha:2.28.0-alpha -proto-google-cloud-storage-v2:2.28.0-alpha:2.28.0-alpha +google-cloud-storage:2.28.0:2.28.1-SNAPSHOT +gapic-google-cloud-storage-v2:2.28.0-alpha:2.28.1-alpha-SNAPSHOT +grpc-google-cloud-storage-v2:2.28.0-alpha:2.28.1-alpha-SNAPSHOT +proto-google-cloud-storage-v2:2.28.0-alpha:2.28.1-alpha-SNAPSHOT From 053d1d2b11deac7dd18950bd9b588d2e1323c1d3 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 12 Oct 2023 19:16:30 +0200 Subject: [PATCH 02/14] chore(deps): update dependency com.google.cloud:google-cloud-storage to v2.28.0 (#2253) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): update dependency com.google.cloud:google-cloud-storage to v2.28.0 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot --- README.md | 8 ++++---- samples/install-without-bom/pom.xml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 8d3a4606cf..43babeee2f 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ If you are using Maven without the BOM, add this to your dependencies: com.google.cloud google-cloud-storage - 2.27.1 + 2.28.0 ``` @@ -57,13 +57,13 @@ implementation 'com.google.cloud:google-cloud-storage' If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-storage:2.27.1' +implementation 'com.google.cloud:google-cloud-storage:2.28.0' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-storage" % "2.27.1" +libraryDependencies += "com.google.cloud" % "google-cloud-storage" % "2.28.0" ``` @@ -428,7 +428,7 @@ Java is a registered trademark of Oracle and/or its affiliates. [kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-storage/java11.html [stability-image]: https://img.shields.io/badge/stability-stable-green [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-storage.svg -[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-storage/2.27.1 +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-storage/2.28.0 [authentication]: https://github.com/googleapis/google-cloud-java#authentication [auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes [predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 823cd8d9d8..550ee287bc 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -30,7 +30,7 @@ com.google.cloud google-cloud-storage - 2.27.1 + 2.28.0 From 4e759e979757a5b24feb3eb088d2648d3219abf7 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 12 Oct 2023 19:17:12 +0200 Subject: [PATCH 03/14] test(deps): update cross product test dependencies (#2254) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * test(deps): update cross product test dependencies * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot --- google-cloud-storage/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/google-cloud-storage/pom.xml b/google-cloud-storage/pom.xml index fc3e662d5c..82f615668f 100644 --- a/google-cloud-storage/pom.xml +++ b/google-cloud-storage/pom.xml @@ -173,13 +173,13 @@ com.google.api.grpc proto-google-cloud-kms-v1 - 0.121.0 + 0.122.0 test com.google.cloud google-cloud-kms - 2.30.0 + 2.31.0 test From 93c6fd517f65685517114c68d5c756ca4586b9d4 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Tue, 17 Oct 2023 20:08:53 +0200 Subject: [PATCH 04/14] chore(deps): update dependency com.google.cloud:libraries-bom to v26.25.0 (#2256) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): update dependency com.google.cloud:libraries-bom to v26.25.0 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot --- README.md | 4 ++-- samples/native-image-sample/pom.xml | 2 +- samples/snippets/pom.xml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 43babeee2f..0d375de41f 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file: com.google.cloud libraries-bom - 26.24.0 + 26.25.0 pom import @@ -50,7 +50,7 @@ If you are using Maven without the BOM, add this to your dependencies: If you are using Gradle 5.x or later, add this to your dependencies: ```Groovy -implementation platform('com.google.cloud:libraries-bom:26.24.0') +implementation platform('com.google.cloud:libraries-bom:26.25.0') implementation 'com.google.cloud:google-cloud-storage' ``` diff --git a/samples/native-image-sample/pom.xml b/samples/native-image-sample/pom.xml index d57923a6fb..94d65fb763 100644 --- a/samples/native-image-sample/pom.xml +++ b/samples/native-image-sample/pom.xml @@ -29,7 +29,7 @@ com.google.cloud libraries-bom - 26.24.0 + 26.25.0 pom import diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml index d29bee52b6..662afa5bf8 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -31,7 +31,7 @@ com.google.cloud libraries-bom - 26.24.0 + 26.25.0 pom import From e75d8bf85db50427a4b89089cca9d88fe4d0b6d9 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Tue, 17 Oct 2023 20:10:55 +0200 Subject: [PATCH 05/14] deps: update dependency com.google.apis:google-api-services-storage to v1-rev20231012-2.0.0 (#2257) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * deps: update dependency com.google.apis:google-api-services-storage to v1-rev20231012-2.0.0 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 37f8df30b7..c13808786d 100644 --- a/pom.xml +++ b/pom.xml @@ -81,7 +81,7 @@ com.google.apis google-api-services-storage - v1-rev20230922-2.0.0 + v1-rev20231012-2.0.0 com.google.cloud From c5274ceca5599df4ce8343ce012cddfa1ae3c221 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Tue, 17 Oct 2023 21:14:17 +0200 Subject: [PATCH 06/14] build(deps): update dependency com.google.cloud:google-cloud-shared-config to v1.6.0 (#2260) --- google-cloud-storage-bom/pom.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/google-cloud-storage-bom/pom.xml b/google-cloud-storage-bom/pom.xml index 53426e106a..7f448b7e30 100644 --- a/google-cloud-storage-bom/pom.xml +++ b/google-cloud-storage-bom/pom.xml @@ -24,7 +24,7 @@ com.google.cloud google-cloud-shared-config - 1.5.8 + 1.6.0 diff --git a/pom.xml b/pom.xml index c13808786d..f2161ecd2b 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ com.google.cloud google-cloud-shared-config - 1.5.8 + 1.6.0 From eff00fbb9b36f7225291cf0be0b5d7aab3ea2114 Mon Sep 17 00:00:00 2001 From: BenWhitehead Date: Tue, 17 Oct 2023 16:06:16 -0400 Subject: [PATCH 07/14] fix: remove PCU internals which should be hidden (#2263) --- .../clirr-ignored-differences.xml | 16 ++++++++++++++++ ...lelCompositeUploadBlobWriteSessionConfig.java | 6 +++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/google-cloud-storage/clirr-ignored-differences.xml b/google-cloud-storage/clirr-ignored-differences.xml index c7189a7a9e..b3e4b99f72 100644 --- a/google-cloud-storage/clirr-ignored-differences.xml +++ b/google-cloud-storage/clirr-ignored-differences.xml @@ -15,4 +15,20 @@ * writeAndClose(*) + + + 7009 + com/google/cloud/storage/ParallelCompositeUploadBlobWriteSessionConfig$PartCleanupStrategy + boolean isDeleteAllOnError() + + + 7009 + com/google/cloud/storage/ParallelCompositeUploadBlobWriteSessionConfig$PartCleanupStrategy + boolean isDeletePartsOnSuccess() + + + 7009 + com/google/cloud/storage/ParallelCompositeUploadBlobWriteSessionConfig$PartNamingStrategy + java.lang.String fmtFields(*) + diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/ParallelCompositeUploadBlobWriteSessionConfig.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/ParallelCompositeUploadBlobWriteSessionConfig.java index 9a964e7a97..7b9c78f58d 100644 --- a/google-cloud-storage/src/main/java/com/google/cloud/storage/ParallelCompositeUploadBlobWriteSessionConfig.java +++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/ParallelCompositeUploadBlobWriteSessionConfig.java @@ -467,7 +467,7 @@ String fmtName(String ultimateObjectName, PartRange partRange) { return fmtFields(randomKey, nameDigest, partRange.encode()); } - protected abstract String fmtFields(String randomKey, String nameDigest, String partRange); + abstract String fmtFields(String randomKey, String nameDigest, String partRange); /** * Default strategy in which no stable prefix is defined. @@ -588,11 +588,11 @@ private PartCleanupStrategy(boolean deletePartsOnSuccess, boolean deleteAllOnErr this.deleteAllOnError = deleteAllOnError; } - public boolean isDeletePartsOnSuccess() { + boolean isDeletePartsOnSuccess() { return deletePartsOnSuccess; } - public boolean isDeleteAllOnError() { + boolean isDeleteAllOnError() { return deleteAllOnError; } From a13499453932189d3b4efdbb8d774e6d15a96cc1 Mon Sep 17 00:00:00 2001 From: BenWhitehead Date: Wed, 18 Oct 2023 14:39:20 -0400 Subject: [PATCH 08/14] feat: add Autoclass v2.1 support (#2258) --- .../cloud/storage/ApiaryConversions.java | 10 +++ .../com/google/cloud/storage/BucketInfo.java | 79 ++++++++++++++++--- .../google/cloud/storage/GrpcConversions.java | 14 ++++ .../google/cloud/storage/it/ITBucketTest.java | 47 +++++++++++ 4 files changed, 137 insertions(+), 13 deletions(-) diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/ApiaryConversions.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/ApiaryConversions.java index 2fd275e8ba..7226267e31 100644 --- a/google-cloud-storage/src/main/java/com/google/cloud/storage/ApiaryConversions.java +++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/ApiaryConversions.java @@ -484,6 +484,11 @@ private Bucket.Autoclass autoclassEncode(Autoclass from) { Bucket.Autoclass to = new Bucket.Autoclass(); ifNonNull(from.getEnabled(), to::setEnabled); ifNonNull(from.getToggleTime(), dateTimeCodec::encode, to::setToggleTime); + ifNonNull(from.getTerminalStorageClass(), StorageClass::toString, to::setTerminalStorageClass); + ifNonNull( + from.getTerminalStorageClassUpdateTime(), + dateTimeCodec::encode, + to::setTerminalStorageClassUpdateTime); return to; } @@ -491,6 +496,11 @@ private Autoclass autoclassDecode(Bucket.Autoclass from) { Autoclass.Builder to = Autoclass.newBuilder(); to.setEnabled(from.getEnabled()); ifNonNull(from.getToggleTime(), dateTimeCodec::decode, to::setToggleTime); + ifNonNull(from.getTerminalStorageClass(), StorageClass::valueOf, to::setTerminalStorageClass); + ifNonNull( + from.getTerminalStorageClassUpdateTime(), + dateTimeCodec::decode, + to::setTerminalStorageClassUpdateTime); return to.build(); } diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/BucketInfo.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/BucketInfo.java index bb7780c010..a4d5262917 100644 --- a/google-cloud-storage/src/main/java/com/google/cloud/storage/BucketInfo.java +++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/BucketInfo.java @@ -344,11 +344,26 @@ public String toString() { } } + /** + * Configuration for the Autoclass settings of a bucket. + * + * @see https://cloud.google.com/storage/docs/autoclass + */ public static final class Autoclass implements Serializable { private static final long serialVersionUID = -2378172222188072439L; - private Boolean enabled; - private OffsetDateTime toggleTime; + private final Boolean enabled; + private final OffsetDateTime toggleTime; + private final StorageClass terminalStorageClass; + private final OffsetDateTime terminalStorageClassUpdateTime; + + private Autoclass(Builder builder) { + this.enabled = builder.enabled; + this.toggleTime = builder.toggleTime; + this.terminalStorageClass = builder.terminalStorageClass; + this.terminalStorageClassUpdateTime = builder.terminalStorageClassUpdateTime; + } public Boolean getEnabled() { return enabled; @@ -358,6 +373,14 @@ public OffsetDateTime getToggleTime() { return toggleTime; } + public StorageClass getTerminalStorageClass() { + return terminalStorageClass; + } + + public OffsetDateTime getTerminalStorageClassUpdateTime() { + return terminalStorageClassUpdateTime; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -366,13 +389,18 @@ public boolean equals(Object o) { if (!(o instanceof Autoclass)) { return false; } - Autoclass that = (Autoclass) o; - return Objects.equals(enabled, that.enabled) && Objects.equals(toggleTime, that.toggleTime); + Autoclass autoclass = (Autoclass) o; + return Objects.equals(enabled, autoclass.enabled) + && Objects.equals(toggleTime, autoclass.toggleTime) + && Objects.equals(terminalStorageClass, autoclass.terminalStorageClass) + && Objects.equals( + terminalStorageClassUpdateTime, autoclass.terminalStorageClassUpdateTime); } @Override public int hashCode() { - return Objects.hash(enabled, toggleTime); + return Objects.hash( + enabled, toggleTime, terminalStorageClass, terminalStorageClassUpdateTime); } @Override @@ -380,27 +408,28 @@ public String toString() { return MoreObjects.toStringHelper(this) .add("enabled", enabled) .add("toggleTime", toggleTime) + .add("terminalStorageClass", terminalStorageClass) + .add("terminalStorageClassUpdateTime", terminalStorageClassUpdateTime) .toString(); } - private Autoclass() {} - - private Autoclass(Builder builder) { - this.enabled = builder.enabled; - this.toggleTime = builder.toggleTime; - } - public static Builder newBuilder() { return new Builder(); } public Builder toBuilder() { - return newBuilder().setEnabled(enabled).setToggleTime(toggleTime); + return newBuilder() + .setEnabled(enabled) + .setToggleTime(toggleTime) + .setTerminalStorageClass(terminalStorageClass) + .setTerminalStorageClassUpdateTime(terminalStorageClassUpdateTime); } public static final class Builder { private Boolean enabled; private OffsetDateTime toggleTime; + private StorageClass terminalStorageClass; + private OffsetDateTime terminalStorageClassUpdateTime; /** * Sets whether Autoclass is enabled for this bucket. Currently, autoclass can only be enabled @@ -421,6 +450,30 @@ Builder setToggleTime(OffsetDateTime toggleTime) { return this; } + /** + * When set to {@link StorageClass#NEARLINE}, Autoclass restricts transitions between Standard + * and Nearline storage classes only. + * + *

When set to {@link StorageClass#ARCHIVE}, Autoclass allows transitions to Coldline and + * Archive as well. + * + *

Only valid values are {@code NEARLINE} and {@code ARCHIVE}. + */ + public Builder setTerminalStorageClass(StorageClass terminalStorageClass) { + this.terminalStorageClass = terminalStorageClass; + return this; + } + + /** + * The time at which Autoclass terminal storage class was last updated for this bucket. + * + *

This is auto populated when the feature is enabled. + */ + Builder setTerminalStorageClassUpdateTime(OffsetDateTime terminalStorageClassUpdateTime) { + this.terminalStorageClassUpdateTime = terminalStorageClassUpdateTime; + return this; + } + public Autoclass build() { return new Autoclass(this); } diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/GrpcConversions.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/GrpcConversions.java index 38766b9461..9ddf229c5c 100644 --- a/google-cloud-storage/src/main/java/com/google/cloud/storage/GrpcConversions.java +++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/GrpcConversions.java @@ -565,6 +565,15 @@ private BucketInfo.Autoclass autoclassDecode(Bucket.Autoclass from) { BucketInfo.Autoclass.Builder to = BucketInfo.Autoclass.newBuilder(); to.setEnabled(from.getEnabled()); ifNonNull(from.getToggleTime(), timestampCodec::decode, to::setToggleTime); + + String terminalStorageClass = from.getTerminalStorageClass(); + if (!terminalStorageClass.isEmpty()) { + to.setTerminalStorageClass(StorageClass.valueOf(terminalStorageClass)); + } + ifNonNull( + from.getTerminalStorageClassUpdateTime(), + timestampCodec::decode, + to::setTerminalStorageClassUpdateTime); return to.build(); } @@ -572,6 +581,11 @@ private Bucket.Autoclass autoclassEncode(BucketInfo.Autoclass from) { Bucket.Autoclass.Builder to = Bucket.Autoclass.newBuilder(); ifNonNull(from.getEnabled(), to::setEnabled); ifNonNull(from.getToggleTime(), timestampCodec::encode, to::setToggleTime); + ifNonNull(from.getTerminalStorageClass(), StorageClass::toString, to::setTerminalStorageClass); + ifNonNull( + from.getTerminalStorageClassUpdateTime(), + timestampCodec::encode, + to::setTerminalStorageClassUpdateTime); return to.build(); } diff --git a/google-cloud-storage/src/test/java/com/google/cloud/storage/it/ITBucketTest.java b/google-cloud-storage/src/test/java/com/google/cloud/storage/it/ITBucketTest.java index 240f5d6ca1..f5b2b00c53 100644 --- a/google-cloud-storage/src/test/java/com/google/cloud/storage/it/ITBucketTest.java +++ b/google-cloud-storage/src/test/java/com/google/cloud/storage/it/ITBucketTest.java @@ -42,6 +42,7 @@ import com.google.cloud.storage.Storage.BucketGetOption; import com.google.cloud.storage.Storage.BucketListOption; import com.google.cloud.storage.Storage.BucketTargetOption; +import com.google.cloud.storage.StorageClass; import com.google.cloud.storage.TransportCompatibility.Transport; import com.google.cloud.storage.it.runner.StorageITRunner; import com.google.cloud.storage.it.runner.annotations.Backend; @@ -58,6 +59,7 @@ import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.stream.StreamSupport; import org.junit.Ignore; import org.junit.Test; @@ -417,6 +419,51 @@ public void testCreateBucketWithAutoclass() { } } + @Test + public void testCreateBucketWithAutoclass_ARCHIVE() throws Exception { + String bucketName = generator.randomBucketName(); + Autoclass autoclass = + Autoclass.newBuilder() + .setEnabled(true) + .setTerminalStorageClass(StorageClass.ARCHIVE) + .build(); + BucketInfo info = BucketInfo.newBuilder(bucketName).setAutoclass(autoclass).build(); + try (TemporaryBucket tmpb = + TemporaryBucket.newBuilder().setStorage(storage).setBucketInfo(info).build()) { + BucketInfo remoteBucket = tmpb.getBucket(); + + Autoclass remoteBucketAutoclass = remoteBucket.getAutoclass(); + assertThat(remoteBucketAutoclass).isNotNull(); + assertThat(remoteBucketAutoclass.getEnabled()).isTrue(); + assertThat(remoteBucketAutoclass.getToggleTime()).isNotNull(); + assertThat(remoteBucketAutoclass.getTerminalStorageClassUpdateTime()).isNotNull(); + assertThat(remoteBucketAutoclass.getTerminalStorageClass()).isEqualTo(StorageClass.ARCHIVE); + + Page bucketPage = storage.list(BucketListOption.prefix(bucketName)); + ImmutableList buckets = ImmutableList.copyOf(bucketPage.iterateAll()); + + Optional first = + buckets.stream().filter(b -> bucketName.equals(b.getName())).findFirst(); + + assertThat(first.isPresent()).isTrue(); + assertThat(first.get().getAutoclass().getTerminalStorageClass()) + .isEqualTo(StorageClass.ARCHIVE); + + BucketInfo disabled = + remoteBucket + .toBuilder() + .setAutoclass(Autoclass.newBuilder().setEnabled(false).build()) + .build(); + Bucket updated = storage.update(disabled, BucketTargetOption.metagenerationMatch()); + + Autoclass updatedAutoclass = updated.getAutoclass(); + assertThat(updatedAutoclass.getEnabled()).isFalse(); + assertThat(updatedAutoclass.getTerminalStorageClass()).isNull(); + + assertThat(updatedAutoclass).isNotEqualTo(remoteBucketAutoclass); + } + } + @Test public void testUpdateBucket_noModification() throws Exception { String bucketName = generator.randomBucketName(); From d1b26d57e1ed9488edb085d99a4653c1cf9e72d7 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 12:44:06 -0700 Subject: [PATCH 09/14] chore: track customization in templates (#1876) (#2261) Source-Link: https://github.com/googleapis/synthtool/commit/a79241941a00783e0da86853c455e899567c3ccb Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-java:latest@sha256:d0a8eb7ffc63ddce4c63191373d6e99d5385516423c396de207dedf2b6db7427 Co-authored-by: Owl Bot --- .github/.OwlBot.lock.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index fa335912bd..cd91b662b9 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-java:latest - digest: sha256:3a95f1b9b1102865ca551b76be51d2bdb850900c4db2f6d79269e7af81ac8f84 -# created: 2023-07-27T18:37:44.251188775Z + digest: sha256:d0a8eb7ffc63ddce4c63191373d6e99d5385516423c396de207dedf2b6db7427 +# created: 2023-10-17T17:33:29.360983119Z From 9336e7473ffa022df5b75c108ea5b3e28f2d010d Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Wed, 18 Oct 2023 21:44:55 +0200 Subject: [PATCH 10/14] test(deps): update cross product test dependencies (#2264) --- google-cloud-storage/pom.xml | 2 +- pom.xml | 2 +- samples/install-without-bom/pom.xml | 2 +- samples/native-image-sample/pom.xml | 2 +- samples/snapshot/pom.xml | 2 +- samples/snippets/pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/google-cloud-storage/pom.xml b/google-cloud-storage/pom.xml index 82f615668f..af68d6668e 100644 --- a/google-cloud-storage/pom.xml +++ b/google-cloud-storage/pom.xml @@ -16,7 +16,7 @@ google-cloud-storage - 1.107.6 + 1.107.7 5.10.0 diff --git a/pom.xml b/pom.xml index f2161ecd2b..4f1214879e 100644 --- a/pom.xml +++ b/pom.xml @@ -86,7 +86,7 @@ com.google.cloud google-cloud-pubsub - 1.125.6 + 1.125.7 test diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 550ee287bc..bff873fee1 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -61,7 +61,7 @@ com.google.cloud google-cloud-pubsub - 1.125.6 + 1.125.7 test diff --git a/samples/native-image-sample/pom.xml b/samples/native-image-sample/pom.xml index 94d65fb763..1f0c60fc44 100644 --- a/samples/native-image-sample/pom.xml +++ b/samples/native-image-sample/pom.xml @@ -61,7 +61,7 @@ com.google.cloud google-cloud-pubsub - 1.125.6 + 1.125.7 test diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index f957d08aca..659ad3788c 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -52,7 +52,7 @@ com.google.cloud google-cloud-pubsub - 1.125.6 + 1.125.7 test diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml index 662afa5bf8..1452f748e3 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -72,7 +72,7 @@ com.google.cloud google-cloud-pubsub - 1.125.6 + 1.125.7 test From 40bf6654301175ee5113af9be29be2fb80224af1 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Mon, 23 Oct 2023 18:17:29 +0200 Subject: [PATCH 11/14] deps: update dependency com.google.cloud:google-cloud-shared-dependencies to v3.18.0 (#2265) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4f1214879e..aadab78ac4 100644 --- a/pom.xml +++ b/pom.xml @@ -54,7 +54,7 @@ UTF-8 github google-cloud-storage-parent - 3.17.0 + 3.18.0 From c518c7512e71537cd9468bb0be6ceaa7515cf651 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Mon, 23 Oct 2023 18:38:26 +0200 Subject: [PATCH 12/14] deps: update dependency net.jqwik:jqwik to v1.8.1 (#2267) --- google-cloud-storage/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-storage/pom.xml b/google-cloud-storage/pom.xml index af68d6668e..0be941f1ea 100644 --- a/google-cloud-storage/pom.xml +++ b/google-cloud-storage/pom.xml @@ -248,7 +248,7 @@ net.jqwik jqwik - 1.8.0 + 1.8.1 test From b0b1b57162e014994b432e94a532df4f0003c628 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Mon, 23 Oct 2023 18:52:17 +0200 Subject: [PATCH 13/14] deps: update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.28 (#2266) --- samples/native-image-sample/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/native-image-sample/pom.xml b/samples/native-image-sample/pom.xml index 1f0c60fc44..41b80921a2 100644 --- a/samples/native-image-sample/pom.xml +++ b/samples/native-image-sample/pom.xml @@ -134,7 +134,7 @@ org.graalvm.buildtools native-maven-plugin - 0.9.27 + 0.9.28 true com.example.storage.NativeImageStorageSample From 52a6a37aac7ad9b72a9386c7437a8ab81f16a20e Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 17:22:14 +0000 Subject: [PATCH 14/14] chore(main): release 2.29.0 (#2262) :robot: I have created a release *beep* *boop* --- ## [2.29.0](https://togithub.com/googleapis/java-storage/compare/v2.28.0...v2.29.0) (2023-10-23) ### Features * Add Autoclass v2.1 support ([#2258](https://togithub.com/googleapis/java-storage/issues/2258)) ([a134994](https://togithub.com/googleapis/java-storage/commit/a13499453932189d3b4efdbb8d774e6d15a96cc1)) ### Bug Fixes * Remove PCU internals which should be hidden ([#2263](https://togithub.com/googleapis/java-storage/issues/2263)) ([eff00fb](https://togithub.com/googleapis/java-storage/commit/eff00fbb9b36f7225291cf0be0b5d7aab3ea2114)) ### Dependencies * Update dependency com.google.apis:google-api-services-storage to v1-rev20231012-2.0.0 ([#2257](https://togithub.com/googleapis/java-storage/issues/2257)) ([e75d8bf](https://togithub.com/googleapis/java-storage/commit/e75d8bf85db50427a4b89089cca9d88fe4d0b6d9)) * Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.18.0 ([#2265](https://togithub.com/googleapis/java-storage/issues/2265)) ([40bf665](https://togithub.com/googleapis/java-storage/commit/40bf6654301175ee5113af9be29be2fb80224af1)) * Update dependency net.jqwik:jqwik to v1.8.1 ([#2267](https://togithub.com/googleapis/java-storage/issues/2267)) ([c518c75](https://togithub.com/googleapis/java-storage/commit/c518c7512e71537cd9468bb0be6ceaa7515cf651)) * Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.28 ([#2266](https://togithub.com/googleapis/java-storage/issues/2266)) ([b0b1b57](https://togithub.com/googleapis/java-storage/commit/b0b1b57162e014994b432e94a532df4f0003c628)) --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please). --- CHANGELOG.md | 20 ++++++++++++++++++++ gapic-google-cloud-storage-v2/pom.xml | 4 ++-- google-cloud-storage-bom/pom.xml | 10 +++++----- google-cloud-storage/pom.xml | 4 ++-- grpc-google-cloud-storage-v2/pom.xml | 4 ++-- pom.xml | 10 +++++----- proto-google-cloud-storage-v2/pom.xml | 4 ++-- samples/snapshot/pom.xml | 2 +- storage-shared-benchmarking/pom.xml | 4 ++-- versions.txt | 8 ++++---- 10 files changed, 45 insertions(+), 25 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 960e6b2be6..c0dce6039e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,25 @@ # Changelog +## [2.29.0](https://github.com/googleapis/java-storage/compare/v2.28.0...v2.29.0) (2023-10-23) + + +### Features + +* Add Autoclass v2.1 support ([#2258](https://github.com/googleapis/java-storage/issues/2258)) ([a134994](https://github.com/googleapis/java-storage/commit/a13499453932189d3b4efdbb8d774e6d15a96cc1)) + + +### Bug Fixes + +* Remove PCU internals which should be hidden ([#2263](https://github.com/googleapis/java-storage/issues/2263)) ([eff00fb](https://github.com/googleapis/java-storage/commit/eff00fbb9b36f7225291cf0be0b5d7aab3ea2114)) + + +### Dependencies + +* Update dependency com.google.apis:google-api-services-storage to v1-rev20231012-2.0.0 ([#2257](https://github.com/googleapis/java-storage/issues/2257)) ([e75d8bf](https://github.com/googleapis/java-storage/commit/e75d8bf85db50427a4b89089cca9d88fe4d0b6d9)) +* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.18.0 ([#2265](https://github.com/googleapis/java-storage/issues/2265)) ([40bf665](https://github.com/googleapis/java-storage/commit/40bf6654301175ee5113af9be29be2fb80224af1)) +* Update dependency net.jqwik:jqwik to v1.8.1 ([#2267](https://github.com/googleapis/java-storage/issues/2267)) ([c518c75](https://github.com/googleapis/java-storage/commit/c518c7512e71537cd9468bb0be6ceaa7515cf651)) +* Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.28 ([#2266](https://github.com/googleapis/java-storage/issues/2266)) ([b0b1b57](https://github.com/googleapis/java-storage/commit/b0b1b57162e014994b432e94a532df4f0003c628)) + ## [2.28.0](https://github.com/googleapis/java-storage/compare/v2.27.1...v2.28.0) (2023-10-10) diff --git a/gapic-google-cloud-storage-v2/pom.xml b/gapic-google-cloud-storage-v2/pom.xml index becf9d7ea2..27342960b0 100644 --- a/gapic-google-cloud-storage-v2/pom.xml +++ b/gapic-google-cloud-storage-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc gapic-google-cloud-storage-v2 - 2.28.1-alpha-SNAPSHOT + 2.29.0-alpha gapic-google-cloud-storage-v2 GRPC library for gapic-google-cloud-storage-v2 com.google.cloud google-cloud-storage-parent - 2.28.1-SNAPSHOT + 2.29.0 diff --git a/google-cloud-storage-bom/pom.xml b/google-cloud-storage-bom/pom.xml index 7f448b7e30..fd72015e73 100644 --- a/google-cloud-storage-bom/pom.xml +++ b/google-cloud-storage-bom/pom.xml @@ -19,7 +19,7 @@ 4.0.0 com.google.cloud google-cloud-storage-bom - 2.28.1-SNAPSHOT + 2.29.0 pom com.google.cloud @@ -69,22 +69,22 @@ com.google.cloud google-cloud-storage - 2.28.1-SNAPSHOT + 2.29.0 com.google.api.grpc gapic-google-cloud-storage-v2 - 2.28.1-alpha-SNAPSHOT + 2.29.0-alpha com.google.api.grpc grpc-google-cloud-storage-v2 - 2.28.1-alpha-SNAPSHOT + 2.29.0-alpha com.google.api.grpc proto-google-cloud-storage-v2 - 2.28.1-alpha-SNAPSHOT + 2.29.0-alpha diff --git a/google-cloud-storage/pom.xml b/google-cloud-storage/pom.xml index 0be941f1ea..75b739f041 100644 --- a/google-cloud-storage/pom.xml +++ b/google-cloud-storage/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-storage - 2.28.1-SNAPSHOT + 2.29.0 jar Google Cloud Storage https://github.com/googleapis/java-storage @@ -12,7 +12,7 @@ com.google.cloud google-cloud-storage-parent - 2.28.1-SNAPSHOT + 2.29.0 google-cloud-storage diff --git a/grpc-google-cloud-storage-v2/pom.xml b/grpc-google-cloud-storage-v2/pom.xml index f9fbaa619e..9eb6681628 100644 --- a/grpc-google-cloud-storage-v2/pom.xml +++ b/grpc-google-cloud-storage-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-storage-v2 - 2.28.1-alpha-SNAPSHOT + 2.29.0-alpha grpc-google-cloud-storage-v2 GRPC library for grpc-google-cloud-storage-v2 com.google.cloud google-cloud-storage-parent - 2.28.1-SNAPSHOT + 2.29.0 diff --git a/pom.xml b/pom.xml index aadab78ac4..f3f0e66c76 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-storage-parent pom - 2.28.1-SNAPSHOT + 2.29.0 Storage Parent https://github.com/googleapis/java-storage @@ -76,7 +76,7 @@ com.google.cloud google-cloud-storage - 2.28.1-SNAPSHOT + 2.29.0 com.google.apis @@ -117,17 +117,17 @@ com.google.api.grpc proto-google-cloud-storage-v2 - 2.28.1-alpha-SNAPSHOT + 2.29.0-alpha com.google.api.grpc grpc-google-cloud-storage-v2 - 2.28.1-alpha-SNAPSHOT + 2.29.0-alpha com.google.api.grpc gapic-google-cloud-storage-v2 - 2.28.1-alpha-SNAPSHOT + 2.29.0-alpha com.google.cloud diff --git a/proto-google-cloud-storage-v2/pom.xml b/proto-google-cloud-storage-v2/pom.xml index b5a8074224..365c5e81a3 100644 --- a/proto-google-cloud-storage-v2/pom.xml +++ b/proto-google-cloud-storage-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-storage-v2 - 2.28.1-alpha-SNAPSHOT + 2.29.0-alpha proto-google-cloud-storage-v2 PROTO library for proto-google-cloud-storage-v2 com.google.cloud google-cloud-storage-parent - 2.28.1-SNAPSHOT + 2.29.0 diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 659ad3788c..4f8667e767 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-storage - 2.28.1-SNAPSHOT + 2.29.0 diff --git a/storage-shared-benchmarking/pom.xml b/storage-shared-benchmarking/pom.xml index ac3f88ded6..7ea1c3ea03 100644 --- a/storage-shared-benchmarking/pom.xml +++ b/storage-shared-benchmarking/pom.xml @@ -10,7 +10,7 @@ com.google.cloud google-cloud-storage-parent - 2.28.1-SNAPSHOT + 2.29.0 @@ -31,7 +31,7 @@ com.google.cloud google-cloud-storage - 2.28.1-SNAPSHOT + 2.29.0 tests diff --git a/versions.txt b/versions.txt index 50031ca83e..34972a6539 100644 --- a/versions.txt +++ b/versions.txt @@ -1,7 +1,7 @@ # Format: # module:released-version:current-version -google-cloud-storage:2.28.0:2.28.1-SNAPSHOT -gapic-google-cloud-storage-v2:2.28.0-alpha:2.28.1-alpha-SNAPSHOT -grpc-google-cloud-storage-v2:2.28.0-alpha:2.28.1-alpha-SNAPSHOT -proto-google-cloud-storage-v2:2.28.0-alpha:2.28.1-alpha-SNAPSHOT +google-cloud-storage:2.29.0:2.29.0 +gapic-google-cloud-storage-v2:2.29.0-alpha:2.29.0-alpha +grpc-google-cloud-storage-v2:2.29.0-alpha:2.29.0-alpha +proto-google-cloud-storage-v2:2.29.0-alpha:2.29.0-alpha