diff --git a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/AppendObjectSpec.java b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/AppendObjectSpec.java
index 1e1609eedc..f06e350657 100644
--- a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/AppendObjectSpec.java
+++ b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/AppendObjectSpec.java
@@ -205,6 +205,9 @@ public long getGeneration() {
*
* Makes the operation conditional on whether the object's current
* metageneration matches the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_match = 4;
@@ -222,6 +225,9 @@ public boolean hasIfMetagenerationMatch() {
*
* Makes the operation conditional on whether the object's current
* metageneration matches the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_match = 4;
@@ -242,6 +248,9 @@ public long getIfMetagenerationMatch() {
*
* Makes the operation conditional on whether the object's current
* metageneration does not match the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_not_match = 5;
@@ -259,6 +268,9 @@ public boolean hasIfMetagenerationNotMatch() {
*
* Makes the operation conditional on whether the object's current
* metageneration does not match the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_not_match = 5;
@@ -351,6 +363,9 @@ public com.google.protobuf.ByteString getRoutingTokenBytes() {
*
* An optional write handle returned from a previous BidiWriteObjectResponse
* message or a BidiWriteObjectRedirectedError error.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 7;
@@ -368,6 +383,9 @@ public boolean hasWriteHandle() {
*
* An optional write handle returned from a previous BidiWriteObjectResponse
* message or a BidiWriteObjectRedirectedError error.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 7;
@@ -387,6 +405,9 @@ public com.google.storage.v2.BidiWriteHandle getWriteHandle() {
*
* An optional write handle returned from a previous BidiWriteObjectResponse
* message or a BidiWriteObjectRedirectedError error.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 7;
@@ -1211,6 +1232,9 @@ public Builder clearGeneration() {
*
* Makes the operation conditional on whether the object's current
* metageneration matches the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_match = 4;
@@ -1228,6 +1252,9 @@ public boolean hasIfMetagenerationMatch() {
*
* Makes the operation conditional on whether the object's current
* metageneration matches the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_match = 4;
@@ -1245,6 +1272,9 @@ public long getIfMetagenerationMatch() {
*
* Makes the operation conditional on whether the object's current
* metageneration matches the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_match = 4;
@@ -1266,6 +1296,9 @@ public Builder setIfMetagenerationMatch(long value) {
*
* Makes the operation conditional on whether the object's current
* metageneration matches the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_match = 4;
@@ -1287,6 +1320,9 @@ public Builder clearIfMetagenerationMatch() {
*
* Makes the operation conditional on whether the object's current
* metageneration does not match the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_not_match = 5;
@@ -1304,6 +1340,9 @@ public boolean hasIfMetagenerationNotMatch() {
*
* Makes the operation conditional on whether the object's current
* metageneration does not match the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_not_match = 5;
@@ -1321,6 +1360,9 @@ public long getIfMetagenerationNotMatch() {
*
* Makes the operation conditional on whether the object's current
* metageneration does not match the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_not_match = 5;
@@ -1342,6 +1384,9 @@ public Builder setIfMetagenerationNotMatch(long value) {
*
* Makes the operation conditional on whether the object's current
* metageneration does not match the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_not_match = 5;
@@ -1500,6 +1545,9 @@ public Builder setRoutingTokenBytes(com.google.protobuf.ByteString value) {
*
* An optional write handle returned from a previous BidiWriteObjectResponse
* message or a BidiWriteObjectRedirectedError error.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 7;
@@ -1516,6 +1564,9 @@ public boolean hasWriteHandle() {
*
* An optional write handle returned from a previous BidiWriteObjectResponse
* message or a BidiWriteObjectRedirectedError error.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 7;
@@ -1538,6 +1589,9 @@ public com.google.storage.v2.BidiWriteHandle getWriteHandle() {
*
* An optional write handle returned from a previous BidiWriteObjectResponse
* message or a BidiWriteObjectRedirectedError error.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 7;
@@ -1562,6 +1616,9 @@ public Builder setWriteHandle(com.google.storage.v2.BidiWriteHandle value) {
*
* An optional write handle returned from a previous BidiWriteObjectResponse
* message or a BidiWriteObjectRedirectedError error.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 7;
@@ -1583,6 +1640,9 @@ public Builder setWriteHandle(com.google.storage.v2.BidiWriteHandle.Builder buil
*
* An optional write handle returned from a previous BidiWriteObjectResponse
* message or a BidiWriteObjectRedirectedError error.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 7;
@@ -1612,6 +1672,9 @@ public Builder mergeWriteHandle(com.google.storage.v2.BidiWriteHandle value) {
*
* An optional write handle returned from a previous BidiWriteObjectResponse
* message or a BidiWriteObjectRedirectedError error.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 7;
@@ -1633,6 +1696,9 @@ public Builder clearWriteHandle() {
*
* An optional write handle returned from a previous BidiWriteObjectResponse
* message or a BidiWriteObjectRedirectedError error.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 7;
@@ -1649,6 +1715,9 @@ public com.google.storage.v2.BidiWriteHandle.Builder getWriteHandleBuilder() {
*
* An optional write handle returned from a previous BidiWriteObjectResponse
* message or a BidiWriteObjectRedirectedError error.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 7;
@@ -1669,6 +1738,9 @@ public com.google.storage.v2.BidiWriteHandleOrBuilder getWriteHandleOrBuilder()
*
* An optional write handle returned from a previous BidiWriteObjectResponse
* message or a BidiWriteObjectRedirectedError error.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 7;
diff --git a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/AppendObjectSpecOrBuilder.java b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/AppendObjectSpecOrBuilder.java
index 65fc9b9c27..1f3642ae3d 100644
--- a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/AppendObjectSpecOrBuilder.java
+++ b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/AppendObjectSpecOrBuilder.java
@@ -99,6 +99,9 @@ public interface AppendObjectSpecOrBuilder
*
* Makes the operation conditional on whether the object's current
* metageneration matches the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_match = 4;
@@ -113,6 +116,9 @@ public interface AppendObjectSpecOrBuilder
*
* Makes the operation conditional on whether the object's current
* metageneration matches the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_match = 4;
@@ -127,6 +133,9 @@ public interface AppendObjectSpecOrBuilder
*
* Makes the operation conditional on whether the object's current
* metageneration does not match the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_not_match = 5;
@@ -141,6 +150,9 @@ public interface AppendObjectSpecOrBuilder
*
* Makes the operation conditional on whether the object's current
* metageneration does not match the given value.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional int64 if_metageneration_not_match = 5;
@@ -197,6 +209,9 @@ public interface AppendObjectSpecOrBuilder
*
* An optional write handle returned from a previous BidiWriteObjectResponse
* message or a BidiWriteObjectRedirectedError error.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 7;
@@ -211,6 +226,9 @@ public interface AppendObjectSpecOrBuilder
*
* An optional write handle returned from a previous BidiWriteObjectResponse
* message or a BidiWriteObjectRedirectedError error.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 7;
@@ -225,6 +243,9 @@ public interface AppendObjectSpecOrBuilder
*
* An optional write handle returned from a previous BidiWriteObjectResponse
* message or a BidiWriteObjectRedirectedError error.
+ *
+ * Note that metageneration preconditions are only checked if `write_handle`
+ * is empty.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 7;
diff --git a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiReadObjectRedirectedError.java b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiReadObjectRedirectedError.java
index 48351db909..97f2b0ca51 100644
--- a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiReadObjectRedirectedError.java
+++ b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiReadObjectRedirectedError.java
@@ -23,8 +23,8 @@
*
*
*
- * Error proto containing details for a redirected read. This error is only
- * returned on initial open in case of a redirect.
+ * Error proto containing details for a redirected read. This error may be
+ * attached as details for an ABORTED response to BidiReadObject.
*
*
* Protobuf type {@code google.storage.v2.BidiReadObjectRedirectedError}
@@ -73,8 +73,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
*
*
*
- * The read handle for the redirected read. The client can use this for the
- * subsequent open.
+ * The read handle for the redirected read. If set, the client may use this in
+ * the BidiReadObjectSpec when retrying the read stream.
*
*
* .google.storage.v2.BidiReadHandle read_handle = 1;
@@ -90,8 +90,8 @@ public boolean hasReadHandle() {
*
*
*
- * The read handle for the redirected read. The client can use this for the
- * subsequent open.
+ * The read handle for the redirected read. If set, the client may use this in
+ * the BidiReadObjectSpec when retrying the read stream.
*
*
* .google.storage.v2.BidiReadHandle read_handle = 1;
@@ -109,8 +109,8 @@ public com.google.storage.v2.BidiReadHandle getReadHandle() {
*
*
*
- * The read handle for the redirected read. The client can use this for the
- * subsequent open.
+ * The read handle for the redirected read. If set, the client may use this in
+ * the BidiReadObjectSpec when retrying the read stream.
*
*
* .google.storage.v2.BidiReadHandle read_handle = 1;
@@ -131,7 +131,9 @@ public com.google.storage.v2.BidiReadHandleOrBuilder getReadHandleOrBuilder() {
*
*
*
- * The routing token that should be used when reopening the read stream.
+ * The routing token the client must use when retrying the read stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 2;
@@ -147,7 +149,9 @@ public boolean hasRoutingToken() {
*
*
*
- * The routing token that should be used when reopening the read stream.
+ * The routing token the client must use when retrying the read stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 2;
@@ -171,7 +175,9 @@ public java.lang.String getRoutingToken() {
*
*
*
- * The routing token that should be used when reopening the read stream.
+ * The routing token the client must use when retrying the read stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 2;
@@ -374,8 +380,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
*
*
*
- * Error proto containing details for a redirected read. This error is only
- * returned on initial open in case of a redirect.
+ * Error proto containing details for a redirected read. This error may be
+ * attached as details for an ABORTED response to BidiReadObject.
*
*
* Protobuf type {@code google.storage.v2.BidiReadObjectRedirectedError}
@@ -595,8 +601,8 @@ public Builder mergeFrom(
*
*
*
- * The read handle for the redirected read. The client can use this for the
- * subsequent open.
+ * The read handle for the redirected read. If set, the client may use this in
+ * the BidiReadObjectSpec when retrying the read stream.
*
*
* .google.storage.v2.BidiReadHandle read_handle = 1;
@@ -611,8 +617,8 @@ public boolean hasReadHandle() {
*
*
*
- * The read handle for the redirected read. The client can use this for the
- * subsequent open.
+ * The read handle for the redirected read. If set, the client may use this in
+ * the BidiReadObjectSpec when retrying the read stream.
*
*
* .google.storage.v2.BidiReadHandle read_handle = 1;
@@ -633,8 +639,8 @@ public com.google.storage.v2.BidiReadHandle getReadHandle() {
*
*
*
- * The read handle for the redirected read. The client can use this for the
- * subsequent open.
+ * The read handle for the redirected read. If set, the client may use this in
+ * the BidiReadObjectSpec when retrying the read stream.
*
*
* .google.storage.v2.BidiReadHandle read_handle = 1;
@@ -657,8 +663,8 @@ public Builder setReadHandle(com.google.storage.v2.BidiReadHandle value) {
*
*
*
- * The read handle for the redirected read. The client can use this for the
- * subsequent open.
+ * The read handle for the redirected read. If set, the client may use this in
+ * the BidiReadObjectSpec when retrying the read stream.
*
*
* .google.storage.v2.BidiReadHandle read_handle = 1;
@@ -678,8 +684,8 @@ public Builder setReadHandle(com.google.storage.v2.BidiReadHandle.Builder builde
*
*
*
- * The read handle for the redirected read. The client can use this for the
- * subsequent open.
+ * The read handle for the redirected read. If set, the client may use this in
+ * the BidiReadObjectSpec when retrying the read stream.
*
*
* .google.storage.v2.BidiReadHandle read_handle = 1;
@@ -707,8 +713,8 @@ public Builder mergeReadHandle(com.google.storage.v2.BidiReadHandle value) {
*
*
*
- * The read handle for the redirected read. The client can use this for the
- * subsequent open.
+ * The read handle for the redirected read. If set, the client may use this in
+ * the BidiReadObjectSpec when retrying the read stream.
*
*
* .google.storage.v2.BidiReadHandle read_handle = 1;
@@ -728,8 +734,8 @@ public Builder clearReadHandle() {
*
*
*
- * The read handle for the redirected read. The client can use this for the
- * subsequent open.
+ * The read handle for the redirected read. If set, the client may use this in
+ * the BidiReadObjectSpec when retrying the read stream.
*
*
* .google.storage.v2.BidiReadHandle read_handle = 1;
@@ -744,8 +750,8 @@ public com.google.storage.v2.BidiReadHandle.Builder getReadHandleBuilder() {
*
*
*
- * The read handle for the redirected read. The client can use this for the
- * subsequent open.
+ * The read handle for the redirected read. If set, the client may use this in
+ * the BidiReadObjectSpec when retrying the read stream.
*
*
* .google.storage.v2.BidiReadHandle read_handle = 1;
@@ -764,8 +770,8 @@ public com.google.storage.v2.BidiReadHandleOrBuilder getReadHandleOrBuilder() {
*
*
*
- * The read handle for the redirected read. The client can use this for the
- * subsequent open.
+ * The read handle for the redirected read. If set, the client may use this in
+ * the BidiReadObjectSpec when retrying the read stream.
*
*
* .google.storage.v2.BidiReadHandle read_handle = 1;
@@ -793,7 +799,9 @@ public com.google.storage.v2.BidiReadHandleOrBuilder getReadHandleOrBuilder() {
*
*
*
- * The routing token that should be used when reopening the read stream.
+ * The routing token the client must use when retrying the read stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 2;
@@ -808,7 +816,9 @@ public boolean hasRoutingToken() {
*
*
*
- * The routing token that should be used when reopening the read stream.
+ * The routing token the client must use when retrying the read stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 2;
@@ -831,7 +841,9 @@ public java.lang.String getRoutingToken() {
*
*
*
- * The routing token that should be used when reopening the read stream.
+ * The routing token the client must use when retrying the read stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 2;
@@ -854,7 +866,9 @@ public com.google.protobuf.ByteString getRoutingTokenBytes() {
*
*
*
- * The routing token that should be used when reopening the read stream.
+ * The routing token the client must use when retrying the read stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 2;
@@ -876,7 +890,9 @@ public Builder setRoutingToken(java.lang.String value) {
*
*
*
- * The routing token that should be used when reopening the read stream.
+ * The routing token the client must use when retrying the read stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 2;
@@ -894,7 +910,9 @@ public Builder clearRoutingToken() {
*
*
*
- * The routing token that should be used when reopening the read stream.
+ * The routing token the client must use when retrying the read stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 2;
diff --git a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiReadObjectRedirectedErrorOrBuilder.java b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiReadObjectRedirectedErrorOrBuilder.java
index 67abf55c38..fe5c964b95 100644
--- a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiReadObjectRedirectedErrorOrBuilder.java
+++ b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiReadObjectRedirectedErrorOrBuilder.java
@@ -28,8 +28,8 @@ public interface BidiReadObjectRedirectedErrorOrBuilder
*
*
*
- * The read handle for the redirected read. The client can use this for the
- * subsequent open.
+ * The read handle for the redirected read. If set, the client may use this in
+ * the BidiReadObjectSpec when retrying the read stream.
*
*
* .google.storage.v2.BidiReadHandle read_handle = 1;
@@ -42,8 +42,8 @@ public interface BidiReadObjectRedirectedErrorOrBuilder
*
*
*
- * The read handle for the redirected read. The client can use this for the
- * subsequent open.
+ * The read handle for the redirected read. If set, the client may use this in
+ * the BidiReadObjectSpec when retrying the read stream.
*
*
* .google.storage.v2.BidiReadHandle read_handle = 1;
@@ -56,8 +56,8 @@ public interface BidiReadObjectRedirectedErrorOrBuilder
*
*
*
- * The read handle for the redirected read. The client can use this for the
- * subsequent open.
+ * The read handle for the redirected read. If set, the client may use this in
+ * the BidiReadObjectSpec when retrying the read stream.
*
*
* .google.storage.v2.BidiReadHandle read_handle = 1;
@@ -68,7 +68,9 @@ public interface BidiReadObjectRedirectedErrorOrBuilder
*
*
*
- * The routing token that should be used when reopening the read stream.
+ * The routing token the client must use when retrying the read stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 2;
@@ -81,7 +83,9 @@ public interface BidiReadObjectRedirectedErrorOrBuilder
*
*
*
- * The routing token that should be used when reopening the read stream.
+ * The routing token the client must use when retrying the read stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 2;
@@ -94,7 +98,9 @@ public interface BidiReadObjectRedirectedErrorOrBuilder
*
*
*
- * The routing token that should be used when reopening the read stream.
+ * The routing token the client must use when retrying the read stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 2;
diff --git a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiWriteObjectRedirectedError.java b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiWriteObjectRedirectedError.java
index fd01ec636b..d785d0a379 100644
--- a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiWriteObjectRedirectedError.java
+++ b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiWriteObjectRedirectedError.java
@@ -23,8 +23,8 @@
*
*
*
- * Error proto containing details for a redirected write. This error is only
- * returned on initial open in case of a redirect.
+ * Error proto containing details for a redirected write. This error may be
+ * attached as details for an ABORTED response to BidiWriteObject.
*
*
* Protobuf type {@code google.storage.v2.BidiWriteObjectRedirectedError}
@@ -76,7 +76,9 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
*
*
*
- * The routing token that should be used when reopening the write stream.
+ * The routing token the client must use when retrying the write stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 1;
@@ -92,7 +94,9 @@ public boolean hasRoutingToken() {
*
*
*
- * The routing token that should be used when reopening the write stream.
+ * The routing token the client must use when retrying the write stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 1;
@@ -116,7 +120,9 @@ public java.lang.String getRoutingToken() {
*
*
*
- * The routing token that should be used when reopening the write stream.
+ * The routing token the client must use when retrying the write stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 1;
@@ -143,7 +149,9 @@ public com.google.protobuf.ByteString getRoutingTokenBytes() {
*
*
*
- * Opaque value describing a previous write.
+ * Opaque value describing a previous write. If set, the client must use this
+ * in an AppendObjectSpec first_message when retrying the write stream. If not
+ * set, clients may retry the original request.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 2;
@@ -159,7 +167,9 @@ public boolean hasWriteHandle() {
*
*
*
- * Opaque value describing a previous write.
+ * Opaque value describing a previous write. If set, the client must use this
+ * in an AppendObjectSpec first_message when retrying the write stream. If not
+ * set, clients may retry the original request.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 2;
@@ -177,7 +187,9 @@ public com.google.storage.v2.BidiWriteHandle getWriteHandle() {
*
*
*
- * Opaque value describing a previous write.
+ * Opaque value describing a previous write. If set, the client must use this
+ * in an AppendObjectSpec first_message when retrying the write stream. If not
+ * set, clients may retry the original request.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 2;
@@ -196,10 +208,9 @@ public com.google.storage.v2.BidiWriteHandleOrBuilder getWriteHandleOrBuilder()
*
*
*
- * The generation of the object that triggered the redirect.
- * Note that if this error was returned as part of an appendable object
- * create, this object generation is now successfully created and
- * append_object_spec should be used when reconnecting.
+ * The generation of the object that triggered the redirect. This will be set
+ * iff write_handle is set. If set, the client must use this in an
+ * AppendObjectSpec first_message when retrying the write stream.
*
*
* optional int64 generation = 3;
@@ -215,10 +226,9 @@ public boolean hasGeneration() {
*
*
*
- * The generation of the object that triggered the redirect.
- * Note that if this error was returned as part of an appendable object
- * create, this object generation is now successfully created and
- * append_object_spec should be used when reconnecting.
+ * The generation of the object that triggered the redirect. This will be set
+ * iff write_handle is set. If set, the client must use this in an
+ * AppendObjectSpec first_message when retrying the write stream.
*
*
* optional int64 generation = 3;
@@ -427,8 +437,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
*
*
*
- * Error proto containing details for a redirected write. This error is only
- * returned on initial open in case of a redirect.
+ * Error proto containing details for a redirected write. This error may be
+ * attached as details for an ABORTED response to BidiWriteObject.
*
*
* Protobuf type {@code google.storage.v2.BidiWriteObjectRedirectedError}
@@ -658,7 +668,9 @@ public Builder mergeFrom(
*
*
*
- * The routing token that should be used when reopening the write stream.
+ * The routing token the client must use when retrying the write stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 1;
@@ -673,7 +685,9 @@ public boolean hasRoutingToken() {
*
*
*
- * The routing token that should be used when reopening the write stream.
+ * The routing token the client must use when retrying the write stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 1;
@@ -696,7 +710,9 @@ public java.lang.String getRoutingToken() {
*
*
*
- * The routing token that should be used when reopening the write stream.
+ * The routing token the client must use when retrying the write stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 1;
@@ -719,7 +735,9 @@ public com.google.protobuf.ByteString getRoutingTokenBytes() {
*
*
*
- * The routing token that should be used when reopening the write stream.
+ * The routing token the client must use when retrying the write stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 1;
@@ -741,7 +759,9 @@ public Builder setRoutingToken(java.lang.String value) {
*
*
*
- * The routing token that should be used when reopening the write stream.
+ * The routing token the client must use when retrying the write stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 1;
@@ -759,7 +779,9 @@ public Builder clearRoutingToken() {
*
*
*
- * The routing token that should be used when reopening the write stream.
+ * The routing token the client must use when retrying the write stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 1;
@@ -789,7 +811,9 @@ public Builder setRoutingTokenBytes(com.google.protobuf.ByteString value) {
*
*
*
- * Opaque value describing a previous write.
+ * Opaque value describing a previous write. If set, the client must use this
+ * in an AppendObjectSpec first_message when retrying the write stream. If not
+ * set, clients may retry the original request.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 2;
@@ -804,7 +828,9 @@ public boolean hasWriteHandle() {
*
*
*
- * Opaque value describing a previous write.
+ * Opaque value describing a previous write. If set, the client must use this
+ * in an AppendObjectSpec first_message when retrying the write stream. If not
+ * set, clients may retry the original request.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 2;
@@ -825,7 +851,9 @@ public com.google.storage.v2.BidiWriteHandle getWriteHandle() {
*
*
*
- * Opaque value describing a previous write.
+ * Opaque value describing a previous write. If set, the client must use this
+ * in an AppendObjectSpec first_message when retrying the write stream. If not
+ * set, clients may retry the original request.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 2;
@@ -848,7 +876,9 @@ public Builder setWriteHandle(com.google.storage.v2.BidiWriteHandle value) {
*
*
*
- * Opaque value describing a previous write.
+ * Opaque value describing a previous write. If set, the client must use this
+ * in an AppendObjectSpec first_message when retrying the write stream. If not
+ * set, clients may retry the original request.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 2;
@@ -868,7 +898,9 @@ public Builder setWriteHandle(com.google.storage.v2.BidiWriteHandle.Builder buil
*
*
*
- * Opaque value describing a previous write.
+ * Opaque value describing a previous write. If set, the client must use this
+ * in an AppendObjectSpec first_message when retrying the write stream. If not
+ * set, clients may retry the original request.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 2;
@@ -896,7 +928,9 @@ public Builder mergeWriteHandle(com.google.storage.v2.BidiWriteHandle value) {
*
*
*
- * Opaque value describing a previous write.
+ * Opaque value describing a previous write. If set, the client must use this
+ * in an AppendObjectSpec first_message when retrying the write stream. If not
+ * set, clients may retry the original request.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 2;
@@ -916,7 +950,9 @@ public Builder clearWriteHandle() {
*
*
*
- * Opaque value describing a previous write.
+ * Opaque value describing a previous write. If set, the client must use this
+ * in an AppendObjectSpec first_message when retrying the write stream. If not
+ * set, clients may retry the original request.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 2;
@@ -931,7 +967,9 @@ public com.google.storage.v2.BidiWriteHandle.Builder getWriteHandleBuilder() {
*
*
*
- * Opaque value describing a previous write.
+ * Opaque value describing a previous write. If set, the client must use this
+ * in an AppendObjectSpec first_message when retrying the write stream. If not
+ * set, clients may retry the original request.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 2;
@@ -950,7 +988,9 @@ public com.google.storage.v2.BidiWriteHandleOrBuilder getWriteHandleOrBuilder()
*
*
*
- * Opaque value describing a previous write.
+ * Opaque value describing a previous write. If set, the client must use this
+ * in an AppendObjectSpec first_message when retrying the write stream. If not
+ * set, clients may retry the original request.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 2;
@@ -978,10 +1018,9 @@ public com.google.storage.v2.BidiWriteHandleOrBuilder getWriteHandleOrBuilder()
*
*
*
- * The generation of the object that triggered the redirect.
- * Note that if this error was returned as part of an appendable object
- * create, this object generation is now successfully created and
- * append_object_spec should be used when reconnecting.
+ * The generation of the object that triggered the redirect. This will be set
+ * iff write_handle is set. If set, the client must use this in an
+ * AppendObjectSpec first_message when retrying the write stream.
*
*
* optional int64 generation = 3;
@@ -997,10 +1036,9 @@ public boolean hasGeneration() {
*
*
*
- * The generation of the object that triggered the redirect.
- * Note that if this error was returned as part of an appendable object
- * create, this object generation is now successfully created and
- * append_object_spec should be used when reconnecting.
+ * The generation of the object that triggered the redirect. This will be set
+ * iff write_handle is set. If set, the client must use this in an
+ * AppendObjectSpec first_message when retrying the write stream.
*
*
* optional int64 generation = 3;
@@ -1016,10 +1054,9 @@ public long getGeneration() {
*
*
*
- * The generation of the object that triggered the redirect.
- * Note that if this error was returned as part of an appendable object
- * create, this object generation is now successfully created and
- * append_object_spec should be used when reconnecting.
+ * The generation of the object that triggered the redirect. This will be set
+ * iff write_handle is set. If set, the client must use this in an
+ * AppendObjectSpec first_message when retrying the write stream.
*
*
* optional int64 generation = 3;
@@ -1039,10 +1076,9 @@ public Builder setGeneration(long value) {
*
*
*
- * The generation of the object that triggered the redirect.
- * Note that if this error was returned as part of an appendable object
- * create, this object generation is now successfully created and
- * append_object_spec should be used when reconnecting.
+ * The generation of the object that triggered the redirect. This will be set
+ * iff write_handle is set. If set, the client must use this in an
+ * AppendObjectSpec first_message when retrying the write stream.
*
*
* optional int64 generation = 3;
diff --git a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiWriteObjectRedirectedErrorOrBuilder.java b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiWriteObjectRedirectedErrorOrBuilder.java
index 81c7a5c842..82f32c15df 100644
--- a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiWriteObjectRedirectedErrorOrBuilder.java
+++ b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BidiWriteObjectRedirectedErrorOrBuilder.java
@@ -28,7 +28,9 @@ public interface BidiWriteObjectRedirectedErrorOrBuilder
*
*
*
- * The routing token that should be used when reopening the write stream.
+ * The routing token the client must use when retrying the write stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 1;
@@ -41,7 +43,9 @@ public interface BidiWriteObjectRedirectedErrorOrBuilder
*
*
*
- * The routing token that should be used when reopening the write stream.
+ * The routing token the client must use when retrying the write stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 1;
@@ -54,7 +58,9 @@ public interface BidiWriteObjectRedirectedErrorOrBuilder
*
*
*
- * The routing token that should be used when reopening the write stream.
+ * The routing token the client must use when retrying the write stream.
+ * This value must be provided in the header `x-goog-request-params`, with key
+ * `routing_token` and this string verbatim as the value.
*
*
* optional string routing_token = 1;
@@ -67,7 +73,9 @@ public interface BidiWriteObjectRedirectedErrorOrBuilder
*
*
*
- * Opaque value describing a previous write.
+ * Opaque value describing a previous write. If set, the client must use this
+ * in an AppendObjectSpec first_message when retrying the write stream. If not
+ * set, clients may retry the original request.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 2;
@@ -80,7 +88,9 @@ public interface BidiWriteObjectRedirectedErrorOrBuilder
*
*
*
- * Opaque value describing a previous write.
+ * Opaque value describing a previous write. If set, the client must use this
+ * in an AppendObjectSpec first_message when retrying the write stream. If not
+ * set, clients may retry the original request.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 2;
@@ -93,7 +103,9 @@ public interface BidiWriteObjectRedirectedErrorOrBuilder
*
*
*
- * Opaque value describing a previous write.
+ * Opaque value describing a previous write. If set, the client must use this
+ * in an AppendObjectSpec first_message when retrying the write stream. If not
+ * set, clients may retry the original request.
*
*
* optional .google.storage.v2.BidiWriteHandle write_handle = 2;
@@ -104,10 +116,9 @@ public interface BidiWriteObjectRedirectedErrorOrBuilder
*
*
*
- * The generation of the object that triggered the redirect.
- * Note that if this error was returned as part of an appendable object
- * create, this object generation is now successfully created and
- * append_object_spec should be used when reconnecting.
+ * The generation of the object that triggered the redirect. This will be set
+ * iff write_handle is set. If set, the client must use this in an
+ * AppendObjectSpec first_message when retrying the write stream.
*
*
* optional int64 generation = 3;
@@ -120,10 +131,9 @@ public interface BidiWriteObjectRedirectedErrorOrBuilder
*
*
*
- * The generation of the object that triggered the redirect.
- * Note that if this error was returned as part of an appendable object
- * create, this object generation is now successfully created and
- * append_object_spec should be used when reconnecting.
+ * The generation of the object that triggered the redirect. This will be set
+ * iff write_handle is set. If set, the client must use this in an
+ * AppendObjectSpec first_message when retrying the write stream.
*
*
* optional int64 generation = 3;
diff --git a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/Bucket.java b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/Bucket.java
index 2dd77f13b3..617f2d1754 100644
--- a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/Bucket.java
+++ b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/Bucket.java
@@ -2592,35 +2592,55 @@ public interface GoogleManagedEncryptionEnforcementConfigOrBuilder
*
*
*
- * Whether Google Managed Encryption (GMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using GMEK encryption.
- * If false or unset, creation of new objects with GMEK encryption is
- * allowed.
+ * Restriction mode for google-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * google-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using google-managed
+ * encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return Whether the restricted field is set.
+ * @return Whether the restrictionMode field is set.
*/
- boolean hasRestricted();
+ boolean hasRestrictionMode();
/**
*
*
*
- * Whether Google Managed Encryption (GMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using GMEK encryption.
- * If false or unset, creation of new objects with GMEK encryption is
- * allowed.
+ * Restriction mode for google-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * google-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using google-managed
+ * encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return The restricted.
+ * @return The restrictionMode.
*/
- boolean getRestricted();
+ java.lang.String getRestrictionMode();
+
+ /**
+ *
+ *
+ *
+ * Restriction mode for google-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * google-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using google-managed
+ * encryption.
+ *
+ *
+ * optional string restriction_mode = 3;
+ *
+ * @return The bytes for restrictionMode.
+ */
+ com.google.protobuf.ByteString getRestrictionModeBytes();
/**
*
@@ -2683,7 +2703,9 @@ private GoogleManagedEncryptionEnforcementConfig(
super(builder);
}
- private GoogleManagedEncryptionEnforcementConfig() {}
+ private GoogleManagedEncryptionEnforcementConfig() {
+ restrictionMode_ = "";
+ }
@java.lang.Override
@SuppressWarnings({"unused"})
@@ -2709,26 +2731,29 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
}
private int bitField0_;
- public static final int RESTRICTED_FIELD_NUMBER = 1;
- private boolean restricted_ = false;
+ public static final int RESTRICTION_MODE_FIELD_NUMBER = 3;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object restrictionMode_ = "";
/**
*
*
*
- * Whether Google Managed Encryption (GMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using GMEK encryption.
- * If false or unset, creation of new objects with GMEK encryption is
- * allowed.
+ * Restriction mode for google-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * google-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using google-managed
+ * encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return Whether the restricted field is set.
+ * @return Whether the restrictionMode field is set.
*/
@java.lang.Override
- public boolean hasRestricted() {
+ public boolean hasRestrictionMode() {
return ((bitField0_ & 0x00000001) != 0);
}
@@ -2736,20 +2761,58 @@ public boolean hasRestricted() {
*
*
*
- * Whether Google Managed Encryption (GMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using GMEK encryption.
- * If false or unset, creation of new objects with GMEK encryption is
- * allowed.
+ * Restriction mode for google-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * google-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using google-managed
+ * encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return The restricted.
+ * @return The restrictionMode.
*/
@java.lang.Override
- public boolean getRestricted() {
- return restricted_;
+ public java.lang.String getRestrictionMode() {
+ java.lang.Object ref = restrictionMode_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ restrictionMode_ = s;
+ return s;
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Restriction mode for google-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * google-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using google-managed
+ * encryption.
+ *
+ *
+ * optional string restriction_mode = 3;
+ *
+ * @return The bytes for restrictionMode.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getRestrictionModeBytes() {
+ java.lang.Object ref = restrictionMode_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ restrictionMode_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
}
public static final int EFFECTIVE_TIME_FIELD_NUMBER = 2;
@@ -2819,12 +2882,12 @@ public final boolean isInitialized() {
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
- if (((bitField0_ & 0x00000001) != 0)) {
- output.writeBool(1, restricted_);
- }
if (((bitField0_ & 0x00000002) != 0)) {
output.writeMessage(2, getEffectiveTime());
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, restrictionMode_);
+ }
getUnknownFields().writeTo(output);
}
@@ -2834,12 +2897,12 @@ public int getSerializedSize() {
if (size != -1) return size;
size = 0;
- if (((bitField0_ & 0x00000001) != 0)) {
- size += com.google.protobuf.CodedOutputStream.computeBoolSize(1, restricted_);
- }
if (((bitField0_ & 0x00000002) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getEffectiveTime());
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, restrictionMode_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -2858,9 +2921,9 @@ public boolean equals(final java.lang.Object obj) {
com.google.storage.v2.Bucket.Encryption.GoogleManagedEncryptionEnforcementConfig other =
(com.google.storage.v2.Bucket.Encryption.GoogleManagedEncryptionEnforcementConfig) obj;
- if (hasRestricted() != other.hasRestricted()) return false;
- if (hasRestricted()) {
- if (getRestricted() != other.getRestricted()) return false;
+ if (hasRestrictionMode() != other.hasRestrictionMode()) return false;
+ if (hasRestrictionMode()) {
+ if (!getRestrictionMode().equals(other.getRestrictionMode())) return false;
}
if (hasEffectiveTime() != other.hasEffectiveTime()) return false;
if (hasEffectiveTime()) {
@@ -2877,9 +2940,9 @@ public int hashCode() {
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
- if (hasRestricted()) {
- hash = (37 * hash) + RESTRICTED_FIELD_NUMBER;
- hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getRestricted());
+ if (hasRestrictionMode()) {
+ hash = (37 * hash) + RESTRICTION_MODE_FIELD_NUMBER;
+ hash = (53 * hash) + getRestrictionMode().hashCode();
}
if (hasEffectiveTime()) {
hash = (37 * hash) + EFFECTIVE_TIME_FIELD_NUMBER;
@@ -3051,7 +3114,7 @@ private void maybeForceBuilderInitialization() {
public Builder clear() {
super.clear();
bitField0_ = 0;
- restricted_ = false;
+ restrictionMode_ = "";
effectiveTime_ = null;
if (effectiveTimeBuilder_ != null) {
effectiveTimeBuilder_.dispose();
@@ -3103,7 +3166,7 @@ private void buildPartial0(
int from_bitField0_ = bitField0_;
int to_bitField0_ = 0;
if (((from_bitField0_ & 0x00000001) != 0)) {
- result.restricted_ = restricted_;
+ result.restrictionMode_ = restrictionMode_;
to_bitField0_ |= 0x00000001;
}
if (((from_bitField0_ & 0x00000002) != 0)) {
@@ -3169,8 +3232,10 @@ public Builder mergeFrom(
if (other
== com.google.storage.v2.Bucket.Encryption.GoogleManagedEncryptionEnforcementConfig
.getDefaultInstance()) return this;
- if (other.hasRestricted()) {
- setRestricted(other.getRestricted());
+ if (other.hasRestrictionMode()) {
+ restrictionMode_ = other.restrictionMode_;
+ bitField0_ |= 0x00000001;
+ onChanged();
}
if (other.hasEffectiveTime()) {
mergeEffectiveTime(other.getEffectiveTime());
@@ -3201,12 +3266,6 @@ public Builder mergeFrom(
case 0:
done = true;
break;
- case 8:
- {
- restricted_ = input.readBool();
- bitField0_ |= 0x00000001;
- break;
- } // case 8
case 18:
{
input.readMessage(
@@ -3214,6 +3273,12 @@ public Builder mergeFrom(
bitField0_ |= 0x00000002;
break;
} // case 18
+ case 26:
+ {
+ restrictionMode_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00000001;
+ break;
+ } // case 26
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -3233,25 +3298,25 @@ public Builder mergeFrom(
private int bitField0_;
- private boolean restricted_;
+ private java.lang.Object restrictionMode_ = "";
/**
*
*
*
- * Whether Google Managed Encryption (GMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using GMEK encryption.
- * If false or unset, creation of new objects with GMEK encryption is
- * allowed.
+ * Restriction mode for google-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * google-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using google-managed
+ * encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return Whether the restricted field is set.
+ * @return Whether the restrictionMode field is set.
*/
- @java.lang.Override
- public boolean hasRestricted() {
+ public boolean hasRestrictionMode() {
return ((bitField0_ & 0x00000001) != 0);
}
@@ -3259,41 +3324,80 @@ public boolean hasRestricted() {
*
*
*
- * Whether Google Managed Encryption (GMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using GMEK encryption.
- * If false or unset, creation of new objects with GMEK encryption is
- * allowed.
+ * Restriction mode for google-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * google-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using google-managed
+ * encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return The restricted.
+ * @return The restrictionMode.
*/
- @java.lang.Override
- public boolean getRestricted() {
- return restricted_;
+ public java.lang.String getRestrictionMode() {
+ java.lang.Object ref = restrictionMode_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ restrictionMode_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
}
/**
*
*
*
- * Whether Google Managed Encryption (GMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using GMEK encryption.
- * If false or unset, creation of new objects with GMEK encryption is
- * allowed.
+ * Restriction mode for google-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * google-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using google-managed
+ * encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @param value The restricted to set.
- * @return This builder for chaining.
+ * @return The bytes for restrictionMode.
*/
- public Builder setRestricted(boolean value) {
+ public com.google.protobuf.ByteString getRestrictionModeBytes() {
+ java.lang.Object ref = restrictionMode_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ restrictionMode_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
- restricted_ = value;
+ /**
+ *
+ *
+ *
+ * Restriction mode for google-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * google-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using google-managed
+ * encryption.
+ *
+ *
+ * optional string restriction_mode = 3;
+ *
+ * @param value The restrictionMode to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRestrictionMode(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ restrictionMode_ = value;
bitField0_ |= 0x00000001;
onChanged();
return this;
@@ -3303,20 +3407,49 @@ public Builder setRestricted(boolean value) {
*
*
*
- * Whether Google Managed Encryption (GMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using GMEK encryption.
- * If false or unset, creation of new objects with GMEK encryption is
- * allowed.
+ * Restriction mode for google-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * google-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using google-managed
+ * encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
* @return This builder for chaining.
*/
- public Builder clearRestricted() {
+ public Builder clearRestrictionMode() {
+ restrictionMode_ = getDefaultInstance().getRestrictionMode();
bitField0_ = (bitField0_ & ~0x00000001);
- restricted_ = false;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Restriction mode for google-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * google-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using google-managed
+ * encryption.
+ *
+ *
+ * optional string restriction_mode = 3;
+ *
+ * @param value The bytes for restrictionMode to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRestrictionModeBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ restrictionMode_ = value;
+ bitField0_ |= 0x00000001;
onChanged();
return this;
}
@@ -3595,35 +3728,55 @@ public interface CustomerManagedEncryptionEnforcementConfigOrBuilder
*
*
*
- * Whether Customer Managed Encryption (CMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CMEK encryption.
- * If false or unset, creation of new objects with CMEK encryption is
- * allowed.
+ * Restriction mode for customer-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-managed encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return Whether the restricted field is set.
+ * @return Whether the restrictionMode field is set.
*/
- boolean hasRestricted();
+ boolean hasRestrictionMode();
/**
*
*
*
- * Whether Customer Managed Encryption (CMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CMEK encryption.
- * If false or unset, creation of new objects with CMEK encryption is
- * allowed.
+ * Restriction mode for customer-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-managed encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return The restricted.
+ * @return The restrictionMode.
*/
- boolean getRestricted();
+ java.lang.String getRestrictionMode();
+
+ /**
+ *
+ *
+ *
+ * Restriction mode for customer-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-managed encryption.
+ *
+ *
+ * optional string restriction_mode = 3;
+ *
+ * @return The bytes for restrictionMode.
+ */
+ com.google.protobuf.ByteString getRestrictionModeBytes();
/**
*
@@ -3686,7 +3839,9 @@ private CustomerManagedEncryptionEnforcementConfig(
super(builder);
}
- private CustomerManagedEncryptionEnforcementConfig() {}
+ private CustomerManagedEncryptionEnforcementConfig() {
+ restrictionMode_ = "";
+ }
@java.lang.Override
@SuppressWarnings({"unused"})
@@ -3712,26 +3867,29 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
}
private int bitField0_;
- public static final int RESTRICTED_FIELD_NUMBER = 1;
- private boolean restricted_ = false;
+ public static final int RESTRICTION_MODE_FIELD_NUMBER = 3;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object restrictionMode_ = "";
/**
*
*
*
- * Whether Customer Managed Encryption (CMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CMEK encryption.
- * If false or unset, creation of new objects with CMEK encryption is
- * allowed.
+ * Restriction mode for customer-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-managed encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return Whether the restricted field is set.
+ * @return Whether the restrictionMode field is set.
*/
@java.lang.Override
- public boolean hasRestricted() {
+ public boolean hasRestrictionMode() {
return ((bitField0_ & 0x00000001) != 0);
}
@@ -3739,20 +3897,58 @@ public boolean hasRestricted() {
*
*
*
- * Whether Customer Managed Encryption (CMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CMEK encryption.
- * If false or unset, creation of new objects with CMEK encryption is
- * allowed.
+ * Restriction mode for customer-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-managed encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return The restricted.
+ * @return The restrictionMode.
*/
@java.lang.Override
- public boolean getRestricted() {
- return restricted_;
+ public java.lang.String getRestrictionMode() {
+ java.lang.Object ref = restrictionMode_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ restrictionMode_ = s;
+ return s;
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Restriction mode for customer-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-managed encryption.
+ *
+ *
+ * optional string restriction_mode = 3;
+ *
+ * @return The bytes for restrictionMode.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getRestrictionModeBytes() {
+ java.lang.Object ref = restrictionMode_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ restrictionMode_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
}
public static final int EFFECTIVE_TIME_FIELD_NUMBER = 2;
@@ -3822,12 +4018,12 @@ public final boolean isInitialized() {
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
- if (((bitField0_ & 0x00000001) != 0)) {
- output.writeBool(1, restricted_);
- }
if (((bitField0_ & 0x00000002) != 0)) {
output.writeMessage(2, getEffectiveTime());
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, restrictionMode_);
+ }
getUnknownFields().writeTo(output);
}
@@ -3837,12 +4033,12 @@ public int getSerializedSize() {
if (size != -1) return size;
size = 0;
- if (((bitField0_ & 0x00000001) != 0)) {
- size += com.google.protobuf.CodedOutputStream.computeBoolSize(1, restricted_);
- }
if (((bitField0_ & 0x00000002) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getEffectiveTime());
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, restrictionMode_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -3862,9 +4058,9 @@ public boolean equals(final java.lang.Object obj) {
(com.google.storage.v2.Bucket.Encryption.CustomerManagedEncryptionEnforcementConfig)
obj;
- if (hasRestricted() != other.hasRestricted()) return false;
- if (hasRestricted()) {
- if (getRestricted() != other.getRestricted()) return false;
+ if (hasRestrictionMode() != other.hasRestrictionMode()) return false;
+ if (hasRestrictionMode()) {
+ if (!getRestrictionMode().equals(other.getRestrictionMode())) return false;
}
if (hasEffectiveTime() != other.hasEffectiveTime()) return false;
if (hasEffectiveTime()) {
@@ -3881,9 +4077,9 @@ public int hashCode() {
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
- if (hasRestricted()) {
- hash = (37 * hash) + RESTRICTED_FIELD_NUMBER;
- hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getRestricted());
+ if (hasRestrictionMode()) {
+ hash = (37 * hash) + RESTRICTION_MODE_FIELD_NUMBER;
+ hash = (53 * hash) + getRestrictionMode().hashCode();
}
if (hasEffectiveTime()) {
hash = (37 * hash) + EFFECTIVE_TIME_FIELD_NUMBER;
@@ -4067,7 +4263,7 @@ private void maybeForceBuilderInitialization() {
public Builder clear() {
super.clear();
bitField0_ = 0;
- restricted_ = false;
+ restrictionMode_ = "";
effectiveTime_ = null;
if (effectiveTimeBuilder_ != null) {
effectiveTimeBuilder_.dispose();
@@ -4120,7 +4316,7 @@ private void buildPartial0(
int from_bitField0_ = bitField0_;
int to_bitField0_ = 0;
if (((from_bitField0_ & 0x00000001) != 0)) {
- result.restricted_ = restricted_;
+ result.restrictionMode_ = restrictionMode_;
to_bitField0_ |= 0x00000001;
}
if (((from_bitField0_ & 0x00000002) != 0)) {
@@ -4186,8 +4382,10 @@ public Builder mergeFrom(
if (other
== com.google.storage.v2.Bucket.Encryption.CustomerManagedEncryptionEnforcementConfig
.getDefaultInstance()) return this;
- if (other.hasRestricted()) {
- setRestricted(other.getRestricted());
+ if (other.hasRestrictionMode()) {
+ restrictionMode_ = other.restrictionMode_;
+ bitField0_ |= 0x00000001;
+ onChanged();
}
if (other.hasEffectiveTime()) {
mergeEffectiveTime(other.getEffectiveTime());
@@ -4218,12 +4416,6 @@ public Builder mergeFrom(
case 0:
done = true;
break;
- case 8:
- {
- restricted_ = input.readBool();
- bitField0_ |= 0x00000001;
- break;
- } // case 8
case 18:
{
input.readMessage(
@@ -4231,6 +4423,12 @@ public Builder mergeFrom(
bitField0_ |= 0x00000002;
break;
} // case 18
+ case 26:
+ {
+ restrictionMode_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00000001;
+ break;
+ } // case 26
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -4250,25 +4448,25 @@ public Builder mergeFrom(
private int bitField0_;
- private boolean restricted_;
+ private java.lang.Object restrictionMode_ = "";
/**
*
*
*
- * Whether Customer Managed Encryption (CMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CMEK encryption.
- * If false or unset, creation of new objects with CMEK encryption is
- * allowed.
+ * Restriction mode for customer-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-managed encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return Whether the restricted field is set.
+ * @return Whether the restrictionMode field is set.
*/
- @java.lang.Override
- public boolean hasRestricted() {
+ public boolean hasRestrictionMode() {
return ((bitField0_ & 0x00000001) != 0);
}
@@ -4276,41 +4474,80 @@ public boolean hasRestricted() {
*
*
*
- * Whether Customer Managed Encryption (CMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CMEK encryption.
- * If false or unset, creation of new objects with CMEK encryption is
- * allowed.
+ * Restriction mode for customer-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-managed encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return The restricted.
+ * @return The restrictionMode.
*/
- @java.lang.Override
- public boolean getRestricted() {
- return restricted_;
+ public java.lang.String getRestrictionMode() {
+ java.lang.Object ref = restrictionMode_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ restrictionMode_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
}
/**
*
*
*
- * Whether Customer Managed Encryption (CMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CMEK encryption.
- * If false or unset, creation of new objects with CMEK encryption is
- * allowed.
+ * Restriction mode for customer-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-managed encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @param value The restricted to set.
- * @return This builder for chaining.
+ * @return The bytes for restrictionMode.
*/
- public Builder setRestricted(boolean value) {
+ public com.google.protobuf.ByteString getRestrictionModeBytes() {
+ java.lang.Object ref = restrictionMode_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ restrictionMode_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
- restricted_ = value;
+ /**
+ *
+ *
+ *
+ * Restriction mode for customer-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-managed encryption.
+ *
+ *
+ * optional string restriction_mode = 3;
+ *
+ * @param value The restrictionMode to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRestrictionMode(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ restrictionMode_ = value;
bitField0_ |= 0x00000001;
onChanged();
return this;
@@ -4320,20 +4557,49 @@ public Builder setRestricted(boolean value) {
*
*
*
- * Whether Customer Managed Encryption (CMEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CMEK encryption.
- * If false or unset, creation of new objects with CMEK encryption is
- * allowed.
+ * Restriction mode for customer-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-managed encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
* @return This builder for chaining.
*/
- public Builder clearRestricted() {
+ public Builder clearRestrictionMode() {
+ restrictionMode_ = getDefaultInstance().getRestrictionMode();
bitField0_ = (bitField0_ & ~0x00000001);
- restricted_ = false;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Restriction mode for customer-managed encryption for new objects within
+ * the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-managed encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-managed encryption.
+ *
+ *
+ * optional string restriction_mode = 3;
+ *
+ * @param value The bytes for restrictionMode to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRestrictionModeBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ restrictionMode_ = value;
+ bitField0_ |= 0x00000001;
onChanged();
return this;
}
@@ -4615,35 +4881,58 @@ public interface CustomerSuppliedEncryptionEnforcementConfigOrBuilder
*
*
*
- * Whether Customer Supplied Encryption (CSEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CSEK encryption.
- * If false or unset, creation of new objects with CSEK encryption is
- * allowed.
+ * Restriction mode for customer-supplied encryption for new objects
+ * within the bucket. Valid values are: "NotRestricted",
+ * "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-supplied encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-supplied encryption.
+ *
+ *
+ * optional string restriction_mode = 3;
+ *
+ * @return Whether the restrictionMode field is set.
+ */
+ boolean hasRestrictionMode();
+
+ /**
+ *
+ *
+ *
+ * Restriction mode for customer-supplied encryption for new objects
+ * within the bucket. Valid values are: "NotRestricted",
+ * "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-supplied encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-supplied encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return Whether the restricted field is set.
+ * @return The restrictionMode.
*/
- boolean hasRestricted();
+ java.lang.String getRestrictionMode();
/**
*
*
*
- * Whether Customer Supplied Encryption (CSEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CSEK encryption.
- * If false or unset, creation of new objects with CSEK encryption is
- * allowed.
+ * Restriction mode for customer-supplied encryption for new objects
+ * within the bucket. Valid values are: "NotRestricted",
+ * "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-supplied encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-supplied encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return The restricted.
+ * @return The bytes for restrictionMode.
*/
- boolean getRestricted();
+ com.google.protobuf.ByteString getRestrictionModeBytes();
/**
*
@@ -4706,7 +4995,9 @@ private CustomerSuppliedEncryptionEnforcementConfig(
super(builder);
}
- private CustomerSuppliedEncryptionEnforcementConfig() {}
+ private CustomerSuppliedEncryptionEnforcementConfig() {
+ restrictionMode_ = "";
+ }
@java.lang.Override
@SuppressWarnings({"unused"})
@@ -4732,26 +5023,30 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
}
private int bitField0_;
- public static final int RESTRICTED_FIELD_NUMBER = 1;
- private boolean restricted_ = false;
+ public static final int RESTRICTION_MODE_FIELD_NUMBER = 3;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object restrictionMode_ = "";
/**
*
*
*
- * Whether Customer Supplied Encryption (CSEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CSEK encryption.
- * If false or unset, creation of new objects with CSEK encryption is
- * allowed.
+ * Restriction mode for customer-supplied encryption for new objects
+ * within the bucket. Valid values are: "NotRestricted",
+ * "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-supplied encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-supplied encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return Whether the restricted field is set.
+ * @return Whether the restrictionMode field is set.
*/
@java.lang.Override
- public boolean hasRestricted() {
+ public boolean hasRestrictionMode() {
return ((bitField0_ & 0x00000001) != 0);
}
@@ -4759,20 +5054,60 @@ public boolean hasRestricted() {
*
*
*
- * Whether Customer Supplied Encryption (CSEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CSEK encryption.
- * If false or unset, creation of new objects with CSEK encryption is
- * allowed.
+ * Restriction mode for customer-supplied encryption for new objects
+ * within the bucket. Valid values are: "NotRestricted",
+ * "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-supplied encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-supplied encryption.
+ *
+ *
+ * optional string restriction_mode = 3;
+ *
+ * @return The restrictionMode.
+ */
+ @java.lang.Override
+ public java.lang.String getRestrictionMode() {
+ java.lang.Object ref = restrictionMode_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ restrictionMode_ = s;
+ return s;
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Restriction mode for customer-supplied encryption for new objects
+ * within the bucket. Valid values are: "NotRestricted",
+ * "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-supplied encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-supplied encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return The restricted.
+ * @return The bytes for restrictionMode.
*/
@java.lang.Override
- public boolean getRestricted() {
- return restricted_;
+ public com.google.protobuf.ByteString getRestrictionModeBytes() {
+ java.lang.Object ref = restrictionMode_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ restrictionMode_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
}
public static final int EFFECTIVE_TIME_FIELD_NUMBER = 2;
@@ -4842,12 +5177,12 @@ public final boolean isInitialized() {
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
- if (((bitField0_ & 0x00000001) != 0)) {
- output.writeBool(1, restricted_);
- }
if (((bitField0_ & 0x00000002) != 0)) {
output.writeMessage(2, getEffectiveTime());
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, restrictionMode_);
+ }
getUnknownFields().writeTo(output);
}
@@ -4857,12 +5192,12 @@ public int getSerializedSize() {
if (size != -1) return size;
size = 0;
- if (((bitField0_ & 0x00000001) != 0)) {
- size += com.google.protobuf.CodedOutputStream.computeBoolSize(1, restricted_);
- }
if (((bitField0_ & 0x00000002) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getEffectiveTime());
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, restrictionMode_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -4882,9 +5217,9 @@ public boolean equals(final java.lang.Object obj) {
(com.google.storage.v2.Bucket.Encryption.CustomerSuppliedEncryptionEnforcementConfig)
obj;
- if (hasRestricted() != other.hasRestricted()) return false;
- if (hasRestricted()) {
- if (getRestricted() != other.getRestricted()) return false;
+ if (hasRestrictionMode() != other.hasRestrictionMode()) return false;
+ if (hasRestrictionMode()) {
+ if (!getRestrictionMode().equals(other.getRestrictionMode())) return false;
}
if (hasEffectiveTime() != other.hasEffectiveTime()) return false;
if (hasEffectiveTime()) {
@@ -4901,9 +5236,9 @@ public int hashCode() {
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
- if (hasRestricted()) {
- hash = (37 * hash) + RESTRICTED_FIELD_NUMBER;
- hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getRestricted());
+ if (hasRestrictionMode()) {
+ hash = (37 * hash) + RESTRICTION_MODE_FIELD_NUMBER;
+ hash = (53 * hash) + getRestrictionMode().hashCode();
}
if (hasEffectiveTime()) {
hash = (37 * hash) + EFFECTIVE_TIME_FIELD_NUMBER;
@@ -5087,7 +5422,7 @@ private void maybeForceBuilderInitialization() {
public Builder clear() {
super.clear();
bitField0_ = 0;
- restricted_ = false;
+ restrictionMode_ = "";
effectiveTime_ = null;
if (effectiveTimeBuilder_ != null) {
effectiveTimeBuilder_.dispose();
@@ -5140,7 +5475,7 @@ private void buildPartial0(
int from_bitField0_ = bitField0_;
int to_bitField0_ = 0;
if (((from_bitField0_ & 0x00000001) != 0)) {
- result.restricted_ = restricted_;
+ result.restrictionMode_ = restrictionMode_;
to_bitField0_ |= 0x00000001;
}
if (((from_bitField0_ & 0x00000002) != 0)) {
@@ -5207,8 +5542,10 @@ public Builder mergeFrom(
if (other
== com.google.storage.v2.Bucket.Encryption.CustomerSuppliedEncryptionEnforcementConfig
.getDefaultInstance()) return this;
- if (other.hasRestricted()) {
- setRestricted(other.getRestricted());
+ if (other.hasRestrictionMode()) {
+ restrictionMode_ = other.restrictionMode_;
+ bitField0_ |= 0x00000001;
+ onChanged();
}
if (other.hasEffectiveTime()) {
mergeEffectiveTime(other.getEffectiveTime());
@@ -5239,12 +5576,6 @@ public Builder mergeFrom(
case 0:
done = true;
break;
- case 8:
- {
- restricted_ = input.readBool();
- bitField0_ |= 0x00000001;
- break;
- } // case 8
case 18:
{
input.readMessage(
@@ -5252,6 +5583,12 @@ public Builder mergeFrom(
bitField0_ |= 0x00000002;
break;
} // case 18
+ case 26:
+ {
+ restrictionMode_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00000001;
+ break;
+ } // case 26
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -5271,25 +5608,26 @@ public Builder mergeFrom(
private int bitField0_;
- private boolean restricted_;
+ private java.lang.Object restrictionMode_ = "";
/**
*
*
*
- * Whether Customer Supplied Encryption (CSEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CSEK encryption.
- * If false or unset, creation of new objects with CSEK encryption is
- * allowed.
+ * Restriction mode for customer-supplied encryption for new objects
+ * within the bucket. Valid values are: "NotRestricted",
+ * "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-supplied encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-supplied encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return Whether the restricted field is set.
+ * @return Whether the restrictionMode field is set.
*/
- @java.lang.Override
- public boolean hasRestricted() {
+ public boolean hasRestrictionMode() {
return ((bitField0_ & 0x00000001) != 0);
}
@@ -5297,41 +5635,83 @@ public boolean hasRestricted() {
*
*
*
- * Whether Customer Supplied Encryption (CSEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CSEK encryption.
- * If false or unset, creation of new objects with CSEK encryption is
- * allowed.
+ * Restriction mode for customer-supplied encryption for new objects
+ * within the bucket. Valid values are: "NotRestricted",
+ * "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-supplied encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-supplied encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @return The restricted.
+ * @return The restrictionMode.
*/
- @java.lang.Override
- public boolean getRestricted() {
- return restricted_;
+ public java.lang.String getRestrictionMode() {
+ java.lang.Object ref = restrictionMode_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ restrictionMode_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
}
/**
*
*
*
- * Whether Customer Supplied Encryption (CSEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CSEK encryption.
- * If false or unset, creation of new objects with CSEK encryption is
- * allowed.
+ * Restriction mode for customer-supplied encryption for new objects
+ * within the bucket. Valid values are: "NotRestricted",
+ * "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-supplied encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-supplied encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
- * @param value The restricted to set.
- * @return This builder for chaining.
+ * @return The bytes for restrictionMode.
*/
- public Builder setRestricted(boolean value) {
+ public com.google.protobuf.ByteString getRestrictionModeBytes() {
+ java.lang.Object ref = restrictionMode_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ restrictionMode_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
- restricted_ = value;
+ /**
+ *
+ *
+ *
+ * Restriction mode for customer-supplied encryption for new objects
+ * within the bucket. Valid values are: "NotRestricted",
+ * "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-supplied encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-supplied encryption.
+ *
+ *
+ * optional string restriction_mode = 3;
+ *
+ * @param value The restrictionMode to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRestrictionMode(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ restrictionMode_ = value;
bitField0_ |= 0x00000001;
onChanged();
return this;
@@ -5341,20 +5721,51 @@ public Builder setRestricted(boolean value) {
*
*
*
- * Whether Customer Supplied Encryption (CSEK) is restricted for new
- * objects within the bucket.
- * If true, new objects can't be created using CSEK encryption.
- * If false or unset, creation of new objects with CSEK encryption is
- * allowed.
+ * Restriction mode for customer-supplied encryption for new objects
+ * within the bucket. Valid values are: "NotRestricted",
+ * "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-supplied encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-supplied encryption.
*
*
- * optional bool restricted = 1;
+ * optional string restriction_mode = 3;
*
* @return This builder for chaining.
*/
- public Builder clearRestricted() {
+ public Builder clearRestrictionMode() {
+ restrictionMode_ = getDefaultInstance().getRestrictionMode();
bitField0_ = (bitField0_ & ~0x00000001);
- restricted_ = false;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Restriction mode for customer-supplied encryption for new objects
+ * within the bucket. Valid values are: "NotRestricted",
+ * "FullyRestricted".
+ * If `NotRestricted` or unset, creation of new objects with
+ * customer-supplied encryption is allowed.
+ * If `FullyRestricted`, new objects can't be created using
+ * customer-supplied encryption.
+ *
+ *
+ * optional string restriction_mode = 3;
+ *
+ * @param value The bytes for restrictionMode to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRestrictionModeBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ restrictionMode_ = value;
+ bitField0_ |= 0x00000001;
onChanged();
return this;
}
diff --git a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/StorageProto.java b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/StorageProto.java
index 3735e10b68..b92ae234fd 100644
--- a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/StorageProto.java
+++ b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/StorageProto.java
@@ -812,7 +812,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\033MAX_LABELS_KEY_VALUE_LENGTH\020?\022\037\n"
+ "\032MAX_LABELS_KEY_VALUE_BYTES\020\200\001\022.\n"
+ ")MAX_OBJECT_IDS_PER_DELETE_OBJECTS_REQUEST\020\350\007\022\036\n"
- + "\032SPLIT_TOKEN_MAX_VALID_DAYS\020\016\032\002\020\001\"\226,\n"
+ + "\032SPLIT_TOKEN_MAX_VALID_DAYS\020\016\032\002\020\001\"\272,\n"
+ "\006Bucket\022\021\n"
+ "\004name\030\001 \001(\tB\003\340A\010\022\026\n"
+ "\tbucket_id\030\002 \001(\tB\003\340A\003\022\014\n"
@@ -868,7 +868,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\006origin\030\001 \003(\tB\003\340A\001\022\023\n"
+ "\006method\030\002 \003(\tB\003\340A\001\022\034\n"
+ "\017response_header\030\003 \003(\tB\003\340A\001\022\034\n"
- + "\017max_age_seconds\030\004 \001(\005B\003\340A\001\032\212\t\n\n"
+ + "\017max_age_seconds\030\004 \001(\005B\003\340A\001\032\256\t\n\n"
+ "Encryption\022B\n"
+ "\017default_kms_key\030\001 \001(\tB)\340A\001\372A#\n"
+ "!cloudkms.googleapis.com/CryptoKey\022\215\001\n"
@@ -879,44 +879,44 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"cryption_enforcement_config\030\003 \001(\0132O.google.storage.v2.Bucket.Encryption.Customer"
+ "ManagedEncryptionEnforcementConfigB\003\340A\001H\001\210\001\001\022\223\001\n"
+ "/customer_supplied_encryption_enforcement_config\030\004 \001(\0132P.google.storage."
- + "v2.Bucket.Encryption.CustomerSuppliedEncryptionEnforcementConfigB\003\340A\001H\002\210\001\001\032\236\001\n"
- + "(GoogleManagedEncryptionEnforcementConfig\022\027\n\n"
- + "restricted\030\001 \001(\010H\000\210\001\001\0227\n"
+ + "v2.Bucket.Encryption.CustomerSuppliedEncryptionEnforcementConfigB\003\340A\001H\002\210\001\001\032\252\001\n"
+ + "(GoogleManagedEncryptionEnforcementConfig\022\035\n"
+ + "\020restriction_mode\030\003 \001(\tH\000\210\001\001\0227\n"
+ "\016effective_time\030\002"
- + " \001(\0132\032.google.protobuf.TimestampH\001\210\001\001B\r\n"
- + "\013_restrictedB\021\n"
- + "\017_effective_time\032\240\001\n"
- + "*CustomerManagedEncryptionEnforcementConfig\022\027\n\n"
- + "restricted\030\001 \001(\010H\000\210\001\001\0227\n"
+ + " \001(\0132\032.google.protobuf.TimestampH\001\210\001\001B\023\n"
+ + "\021_restriction_modeB\021\n"
+ + "\017_effective_time\032\254\001\n"
+ + "*CustomerManagedEncryptionEnforcementConfig\022\035\n"
+ + "\020restriction_mode\030\003 \001(\tH\000\210\001\001\0227\n"
+ "\016effective_time\030\002"
- + " \001(\0132\032.google.protobuf.TimestampH\001\210\001\001B\r\n"
- + "\013_restrictedB\021\n"
- + "\017_effective_time\032\241\001\n"
- + "+CustomerSuppliedEncryptionEnforcementConfig\022\027\n\n"
- + "restricted\030\001 \001(\010H\000\210\001\001\0227\n"
+ + " \001(\0132\032.google.protobuf.TimestampH\001\210\001\001B\023\n"
+ + "\021_restriction_modeB\021\n"
+ + "\017_effective_time\032\255\001\n"
+ + "+CustomerSuppliedEncryptionEnforcementConfig\022\035\n"
+ + "\020restriction_mode\030\003 \001(\tH\000\210\001\001\0227\n"
+ "\016effective_time\030\002"
- + " \001(\0132\032.google.protobuf.TimestampH\001\210\001\001B\r\n"
- + "\013_restrictedB\021\n"
+ + " \001(\0132\032.google.protobuf.TimestampH\001\210\001\001B\023\n"
+ + "\021_restriction_modeB\021\n"
+ "\017_effective_timeB/\n"
+ "-_google_managed_encryption_enforcement_configB1\n"
+ "/_customer_managed_encryption_enforcement_configB2\n"
+ "0_customer_supplied_encryption_enforcement_config\032\200\002\n"
+ "\tIamConfig\022f\n"
- + "\033uniform_bucket_level_access\030\001"
- + " \001(\0132<.google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccessB\003\340A\001\022%\n"
+ + "\033uniform_bucket_level_access\030\001 \001("
+ + "\0132<.google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccessB\003\340A\001\022%\n"
+ "\030public_access_prevention\030\003 \001(\tB\003\340A\001\032d\n"
+ "\030UniformBucketLevelAccess\022\024\n"
+ "\007enabled\030\001 \001(\010B\003\340A\001\0222\n"
+ "\tlock_time\030\002"
+ " \001(\0132\032.google.protobuf.TimestampB\003\340A\001\032\252\006\n"
+ "\tLifecycle\022;\n"
- + "\004rule\030\001 \003("
- + "\0132(.google.storage.v2.Bucket.Lifecycle.RuleB\003\340A\001\032\337\005\n"
+ + "\004rule\030\001 \003(\0132(."
+ + "google.storage.v2.Bucket.Lifecycle.RuleB\003\340A\001\032\337\005\n"
+ "\004Rule\022D\n"
- + "\006action\030\001 \001(\0132/.goog"
- + "le.storage.v2.Bucket.Lifecycle.Rule.ActionB\003\340A\001\022J\n"
- + "\tcondition\030\002 \001(\01322.google.stor"
- + "age.v2.Bucket.Lifecycle.Rule.ConditionB\003\340A\001\0327\n"
+ + "\006action\030\001 \001(\0132/.google.s"
+ + "torage.v2.Bucket.Lifecycle.Rule.ActionB\003\340A\001\022J\n"
+ + "\tcondition\030\002 \001(\01322.google.storage."
+ + "v2.Bucket.Lifecycle.Rule.ConditionB\003\340A\001\0327\n"
+ "\006Action\022\021\n"
+ "\004type\030\001 \001(\tB\003\340A\001\022\032\n\r"
+ "storage_class\030\002 \001(\tB\003\340A\001\032\213\004\n"
@@ -938,8 +938,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\023_num_newer_versionsB\031\n"
+ "\027_days_since_custom_timeB\035\n"
+ "\033_days_since_noncurrent_time\032B\n"
- + "\007Logging\022\027\n"
- + "\n"
+ + "\007Logging\022\027\n\n"
+ "log_bucket\030\001 \001(\tB\003\340A\001\022\036\n"
+ "\021log_object_prefix\030\002 \001(\tB\003\340A\001\032*\n"
+ "\017ObjectRetention\022\027\n"
@@ -974,10 +973,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "#_terminal_storage_class_update_time\032\375\003\n"
+ "\010IpFilter\022\021\n"
+ "\004mode\030\001 \001(\tH\000\210\001\001\022Z\n"
- + "\025public_network_source\030\002 \001(\01326.google.storage.v2.B"
- + "ucket.IpFilter.PublicNetworkSourceH\001\210\001\001\022U\n"
- + "\023vpc_network_sources\030\003 \003(\01323.google.st"
- + "orage.v2.Bucket.IpFilter.VpcNetworkSourceB\003\340A\001\022!\n"
+ + "\025public_network_source\030\002"
+ + " \001(\01326.google.storage.v2.Bucket.IpFilter.PublicNetworkSourceH\001\210\001\001\022U\n"
+ + "\023vpc_network_sources\030\003 \003(\01323.google.storag"
+ + "e.v2.Bucket.IpFilter.VpcNetworkSourceB\003\340A\001\022!\n"
+ "\024allow_cross_org_vpcs\030\004 \001(\010B\003\340A\001\022+\n"
+ "\036allow_all_service_agent_access\030\005 \001(\010H\002\210\001\001\032:\n"
+ "\023PublicNetworkSource\022#\n"
@@ -994,8 +993,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\013LabelsEntry\022\013\n"
+ "\003key\030\001 \001(\t\022\r\n"
+ "\005value\030\002 \001(\t:\0028\001:X\352AU\n"
- + "\035storage.googleapis.com/Bucket\022#p"
- + "rojects/{project}/buckets/{bucket}*\007buckets2\006bucketB\014\n\n"
+ + "\035storage.googleapis.com/Bucket\022#proje"
+ + "cts/{project}/buckets/{bucket}*\007buckets2\006bucketB\014\n\n"
+ "_ip_filter\"\366\001\n"
+ "\023BucketAccessControl\022\021\n"
+ "\004role\030\001 \001(\tB\003\340A\001\022\017\n"
@@ -1062,8 +1061,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\013custom_time\030\032 \001(\0132\032.google.protobuf.TimestampB\003\340A\001\022>\n"
+ "\020soft_delete_time\030\034"
+ " \001(\0132\032.google.protobuf.TimestampB\003\340A\003H\002\210\001\001\022>\n"
- + "\020hard_delete_time\030\035"
- + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003H\003\210\001\001\022;\n"
+ + "\020hard_delete_time\030\035 \001("
+ + "\0132\032.google.protobuf.TimestampB\003\340A\003H\003\210\001\001\022;\n"
+ "\tretention\030\036"
+ " \001(\0132#.google.storage.v2.Object.RetentionB\003\340A\001\032\274\001\n"
+ "\tRetention\022;\n"
@@ -1108,97 +1107,98 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\003end\030\002 \001(\003\022\027\n"
+ "\017complete_length\030\003 \001(\0032\237\037\n"
+ "\007Storage\022r\n"
- + "\014DeleteBucket\022&"
- + ".google.storage.v2.DeleteBucketRequest\032\026.google.protobuf.Empty\"\"\332A\004name\212\323\344\223\002\025\022\023\n"
+ + "\014DeleteBucket\022&.goo"
+ + "gle.storage.v2.DeleteBucketRequest\032\026.google.protobuf.Empty\"\"\332A\004name\212\323\344\223\002\025\022\023\n"
+ "\004name\022\013{bucket=**}\022o\n"
- + "\tGetBucket\022#.google"
- + ".storage.v2.GetBucketRequest\032\031.google.storage.v2.Bucket\"\"\332A\004name\212\323\344\223\002\025\022\023\n"
+ + "\tGetBucket\022#.google.sto"
+ + "rage.v2.GetBucketRequest\032\031.google.storage.v2.Bucket\"\"\332A\004name\212\323\344\223\002\025\022\023\n"
+ "\004name\022\013{bucket=**}\022\253\001\n"
- + "\014CreateBucket\022&.google.storage.v2.CreateBucketRequest\032\031.google.st"
- + "orage.v2.Bucket\"X\332A\027parent,bucket,bucket_id\212\323\344\223\0028\022\026\n"
+ + "\014CreateBucket\022&.google.storage.v2.CreateBucketRequest\032\031.google.storag"
+ + "e.v2.Bucket\"X\332A\027parent,bucket,bucket_id\212\323\344\223\0028\022\026\n"
+ "\006parent\022\014{project=**}\022\036\n"
+ "\016bucket.project\022\014{project=**}\022\205\001\n"
- + "\013ListBuckets\022%.google.storage.v2.ListBucketsRequest"
- + "\032&.google.storage.v2.ListBucketsResponse\"\'\332A\006parent\212\323\344\223\002\030\022\026\n"
+ + "\013ListBuckets\022%.google.storage.v2.ListBucketsRequest\032&.g"
+ + "oogle.storage.v2.ListBucketsResponse\"\'\332A\006parent\212\323\344\223\002\030\022\026\n"
+ "\006parent\022\014{project=**}\022\223\001\n"
- + "\031LockBucketRetentionPolicy\0223.google.storage.v2.LockBucketRetentionPolicyReq"
- + "uest\032\031.google.storage.v2.Bucket\"&\332A\006bucket\212\323\344\223\002\027\022\025\n"
+ + "\031LockBucketRetentionPolicy\0223.google.storage.v2.LockBucketRetentionPolicyRequest"
+ + "\032\031.google.storage.v2.Bucket\"&\332A\006bucket\212\323\344\223\002\027\022\025\n"
+ "\006bucket\022\013{bucket=**}\022\243\001\n"
- + "\014GetIamPolicy\022\".google.iam.v1.GetIamPolicyReq"
- + "uest\032\025.google.iam.v1.Policy\"X\332A\010resource\212\323\344\223\002G\022\027\n"
+ + "\014GetIamPolicy\022\".google.iam.v1.GetIamPolicyRequest"
+ + "\032\025.google.iam.v1.Policy\"X\332A\010resource\212\323\344\223\002G\022\027\n"
+ "\010resource\022\013{bucket=**}\022,\n"
+ "\010resource\022 {bucket=projects/*/buckets/*}/**\022\252\001\n"
- + "\014SetIamPolicy\022\".google.iam.v1.SetIamPol"
- + "icyRequest\032\025.google.iam.v1.Policy\"_\332A\017resource,policy\212\323\344\223\002G\022\027\n"
+ + "\014SetIamPolicy\022\".google.iam.v1.SetIamPolicyR"
+ + "equest\032\025.google.iam.v1.Policy\"_\332A\017resource,policy\212\323\344\223\002G\022\027\n"
+ "\010resource\022\013{bucket=**}\022,\n"
+ "\010resource\022 {bucket=projects/*/buckets/*}/**\022\226\002\n"
- + "\022TestIamPermissions\022(.google.iam.v1.TestIamPermissionsRequest\032).go"
- + "ogle.iam.v1.TestIamPermissionsResponse\"\252\001\332A\024resource,permissions\212\323\344\223\002\214\001\022\027\n"
+ + "\022TestIamPermissions\022(.google.iam.v1.TestIamPermissionsRequest\032).google"
+ + ".iam.v1.TestIamPermissionsResponse\"\252\001\332A\024resource,permissions\212\323\344\223\002\214\001\022\027\n"
+ "\010resource\022\013{bucket=**}\0224\n"
+ "\010resource\022({bucket=projects/*/buckets/*}/objects/**\022;\n"
+ "\010resource\022/{bucket=projects/*/buckets/*}/managedFolders/**\022\212\001\n"
- + "\014UpdateBucket\022&.google.storage.v2.UpdateBucketRequest\032\031.google.st"
- + "orage.v2.Bucket\"7\332A\022bucket,update_mask\212\323\344\223\002\034\022\032\n"
+ + "\014UpdateBucket\022&.google.storage.v2.UpdateBucketRequest\032\031.google.storag"
+ + "e.v2.Bucket\"7\332A\022bucket,update_mask\212\323\344\223\002\034\022\032\n"
+ "\013bucket.name\022\013{bucket=**}\022~\n\r"
- + "ComposeObject\022\'.google.storage.v2.ComposeObj"
- + "ectRequest\032\031.google.storage.v2.Object\")\212\323\344\223\002#\022!\n"
+ + "ComposeObject\022\'.google.storage.v2.ComposeObjectR"
+ + "equest\032\031.google.storage.v2.Object\")\212\323\344\223\002#\022!\n"
+ "\022destination.bucket\022\013{bucket=**}\022\230\001\n"
- + "\014DeleteObject\022&.google.storage.v2.De"
- + "leteObjectRequest\032\026.google.protobuf.Empty\"H\332A\r"
+ + "\014DeleteObject\022&.google.storage.v2.Delete"
+ + "ObjectRequest\032\026.google.protobuf.Empty\"H\332A\r"
+ "bucket,object\332A\030bucket,object,generation\212\323\344\223\002\027\022\025\n"
+ "\006bucket\022\013{bucket=**}\022\215\001\n\r"
- + "RestoreObject\022\'.google.storage.v2.Restor"
- + "eObjectRequest\032\031.google.storage.v2.Object\"8\332A\030bucket,object,generation\212\323\344\223\002\027\022\025\n"
+ + "RestoreObject\022\'.google.storage.v2.RestoreObj"
+ + "ectRequest\032\031.google.storage.v2.Object\"8\332A\030bucket,object,generation\212\323\344\223\002\027\022\025\n"
+ "\006bucket\022\013{bucket=**}\022\272\001\n"
- + "\024CancelResumableWrite\022..google.storage.v2.CancelResumable"
- + "WriteRequest\032/.google.storage.v2.CancelResumableWriteResponse\"A\332A"
+ + "\024CancelResumableWrite\022..google.storage.v2.CancelResumableWrit"
+ + "eRequest\032/.google.storage.v2.CancelResumableWriteResponse\"A\332A"
+ "\tupload_id\212\323\344\223\002/\022-\n"
+ "\tupload_id\022 {bucket=projects/*/buckets/*}/**\022\225\001\n"
- + "\tGetObject\022#.google.storage."
- + "v2.GetObjectRequest\032\031.google.storage.v2.Object\"H\332A\r"
+ + "\tGetObject\022#.google.storage.v2.G"
+ + "etObjectRequest\032\031.google.storage.v2.Object\"H\332A\r"
+ "bucket,object\332A\030bucket,object,generation\212\323\344\223\002\027\022\025\n"
- + "\006bucket\022\013{bucket=**}\022\245\001\n\n"
- + "ReadObject\022$.google.storage.v2.Read"
- + "ObjectRequest\032%.google.storage.v2.ReadObjectResponse\"H\332A\r"
+ + "\006bucket\022\013{bucket=**}\022\245\001\n"
+ + "\n"
+ + "ReadObject\022$.google.storage.v2.ReadObje"
+ + "ctRequest\032%.google.storage.v2.ReadObjectResponse\"H\332A\r"
+ "bucket,object\332A\030bucket,object,generation\212\323\344\223\002\027\022\025\n"
+ "\006bucket\022\013{bucket=**}0\001\022\231\001\n"
- + "\016BidiReadObject\022(.google.storage.v2.BidiReadObjectRequest\032).google.s"
- + "torage.v2.BidiReadObjectResponse\".\212\323\344\223\002(\022&\n"
+ + "\016BidiReadObject\022(.google.storage"
+ + ".v2.BidiReadObjectRequest\032).google.storage.v2.BidiReadObjectResponse\".\212\323\344\223\002(\022&\n"
+ "\027read_object_spec.bucket\022\013{bucket=**}(\0010\001\022\214\001\n"
- + "\014UpdateObject\022&.google.storage.v"
- + "2.UpdateObjectRequest\032\031.google.storage.v2.Object\"9\332A\022object,update_mask\212\323\344\223\002\036\022\034\n"
- + "\r"
+ + "\014UpdateObject\022&.google.storage.v2.Up"
+ + "dateObjectRequest\032\031.google.storage.v2.Object\"9\332A\022object,update_mask\212\323\344\223\002\036\022\034\n\r"
+ "object.bucket\022\013{bucket=**}\022`\n"
- + "\013WriteObject\022%.google.storage.v2.WriteObjectReques"
- + "t\032&.google.storage.v2.WriteObjectResponse\"\000(\001\022n\n"
- + "\017BidiWriteObject\022).google.storage.v2.BidiWriteObjectRequest\032*.google.sto"
- + "rage.v2.BidiWriteObjectResponse\"\000(\0010\001\022\204\001\n"
- + "\013ListObjects\022%.google.storage.v2.ListOb"
- + "jectsRequest\032&.google.storage.v2.ListObjectsResponse\"&\332A\006parent\212\323\344\223\002\027\022\025\n"
+ + "\013WriteObject\022%.google.storage.v2.WriteObjectRequest\032&."
+ + "google.storage.v2.WriteObjectResponse\"\000(\001\022n\n"
+ + "\017BidiWriteObject\022).google.storage.v2"
+ + ".BidiWriteObjectRequest\032*.google.storage.v2.BidiWriteObjectResponse\"\000(\0010\001\022\204\001\n"
+ + "\013ListObjects\022%.google.storage.v2.ListObject"
+ + "sRequest\032&.google.storage.v2.ListObjectsResponse\"&\332A\006parent\212\323\344\223\002\027\022\025\n"
+ "\006parent\022\013{bucket=**}\022\230\001\n\r"
- + "RewriteObject\022\'.google."
- + "storage.v2.RewriteObjectRequest\032\".google.storage.v2.RewriteResponse\":\212\323\344\223\0024\022\017\n\r"
+ + "RewriteObject\022\'.google.stor"
+ + "age.v2.RewriteObjectRequest\032\".google.storage.v2.RewriteResponse\":\212\323\344\223\0024\022\017\n\r"
+ "source_bucket\022!\n"
+ "\022destination_bucket\022\013{bucket=**}\022\256\001\n"
- + "\023StartResumableWrite\022-.google.storage.v2.StartResumableWriteRequest\032."
- + ".google.storage.v2.StartResumableWriteResponse\"8\212\323\344\223\0022\0220\n"
+ + "\023StartResumableWrite\022-.google.storage.v2.StartResumableWriteRequest\032..goo"
+ + "gle.storage.v2.StartResumableWriteResponse\"8\212\323\344\223\0022\0220\n"
+ "!write_object_spec.resource.bucket\022\013{bucket=**}\022\256\001\n"
- + "\020QueryWriteStatus\022*.google.storage.v2.QueryWriteStat"
- + "usRequest\032+.google.storage.v2.QueryWriteStatusResponse\"A\332A"
+ + "\020QueryWriteStatus\022*.google.storage.v2.QueryWriteStatusRe"
+ + "quest\032+.google.storage.v2.QueryWriteStatusResponse\"A\332A"
+ "\tupload_id\212\323\344\223\002/\022-\n"
+ "\tupload_id\022 {bucket=projects/*/buckets/*}/**\022\226\001\n\n"
- + "MoveObject\022$.google.storage.v2.MoveObjectRequest\032\031.google.storage.v2.Objec"
- + "t\"G\332A\'bucket,source_object,destination_object\212\323\344\223\002\027\022\025\n"
- + "\006bucket\022\013{bucket=**}\032\247\002\312A\026"
- + "storage.googleapis.com\322A\212\002https://www.go"
- + "ogleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform."
- + "read-only,https://www.googleapis.com/auth/devstorage.full_control,https://www.go"
- + "ogleapis.com/auth/devstorage.read_only,h"
- + "ttps://www.googleapis.com/auth/devstorage.read_writeB\342\001\n"
- + "\025com.google.storage.v2B\014StorageProtoP\001Z>cloud.google.com/go/stor"
- + "age/internal/apiv2/storagepb;storagepb\352Ax\n"
- + "!cloudkms.googleapis.com/CryptoKey\022Sprojects/{project}/locations/{location}/ke"
- + "yRings/{key_ring}/cryptoKeys/{crypto_key}b\006proto3"
+ + "MoveObject\022$.google.storage.v2.MoveObj"
+ + "ectRequest\032\031.google.storage.v2.Object\"G\332"
+ + "A\'bucket,source_object,destination_object\212\323\344\223\002\027\022\025\n"
+ + "\006bucket\022\013{bucket=**}\032\247\002\312A\026stor"
+ + "age.googleapis.com\322A\212\002https://www.google"
+ + "apis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read"
+ + "-only,https://www.googleapis.com/auth/devstorage.full_control,https://www.google"
+ + "apis.com/auth/devstorage.read_only,https"
+ + "://www.googleapis.com/auth/devstorage.read_writeB\342\001\n"
+ + "\025com.google.storage.v2B\014Stor"
+ + "ageProtoP\001Z>cloud.google.com/go/storage/internal/apiv2/storagepb;storagepb\352Ax\n"
+ + "!cloudkms.googleapis.com/CryptoKey\022Sprojects/{project}/locations/{location}/keyRin"
+ + "gs/{key_ring}/cryptoKeys/{crypto_key}b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -1793,7 +1793,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_storage_v2_Bucket_Encryption_GoogleManagedEncryptionEnforcementConfig_descriptor,
new java.lang.String[] {
- "Restricted", "EffectiveTime",
+ "RestrictionMode", "EffectiveTime",
});
internal_static_google_storage_v2_Bucket_Encryption_CustomerManagedEncryptionEnforcementConfig_descriptor =
internal_static_google_storage_v2_Bucket_Encryption_descriptor.getNestedTypes().get(1);
@@ -1801,7 +1801,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_storage_v2_Bucket_Encryption_CustomerManagedEncryptionEnforcementConfig_descriptor,
new java.lang.String[] {
- "Restricted", "EffectiveTime",
+ "RestrictionMode", "EffectiveTime",
});
internal_static_google_storage_v2_Bucket_Encryption_CustomerSuppliedEncryptionEnforcementConfig_descriptor =
internal_static_google_storage_v2_Bucket_Encryption_descriptor.getNestedTypes().get(2);
@@ -1809,7 +1809,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_storage_v2_Bucket_Encryption_CustomerSuppliedEncryptionEnforcementConfig_descriptor,
new java.lang.String[] {
- "Restricted", "EffectiveTime",
+ "RestrictionMode", "EffectiveTime",
});
internal_static_google_storage_v2_Bucket_IamConfig_descriptor =
internal_static_google_storage_v2_Bucket_descriptor.getNestedTypes().get(3);
diff --git a/proto-google-cloud-storage-v2/src/main/proto/google/storage/v2/storage.proto b/proto-google-cloud-storage-v2/src/main/proto/google/storage/v2/storage.proto
index 7641de2f7a..a69e996f82 100644
--- a/proto-google-cloud-storage-v2/src/main/proto/google/storage/v2/storage.proto
+++ b/proto-google-cloud-storage-v2/src/main/proto/google/storage/v2/storage.proto
@@ -1076,30 +1076,35 @@ message BidiReadObjectResponse {
BidiReadHandle read_handle = 7;
}
-// Error proto containing details for a redirected read. This error is only
-// returned on initial open in case of a redirect.
+// Error proto containing details for a redirected read. This error may be
+// attached as details for an ABORTED response to BidiReadObject.
message BidiReadObjectRedirectedError {
- // The read handle for the redirected read. The client can use this for the
- // subsequent open.
+ // The read handle for the redirected read. If set, the client may use this in
+ // the BidiReadObjectSpec when retrying the read stream.
BidiReadHandle read_handle = 1;
- // The routing token that should be used when reopening the read stream.
+ // The routing token the client must use when retrying the read stream.
+ // This value must be provided in the header `x-goog-request-params`, with key
+ // `routing_token` and this string verbatim as the value.
optional string routing_token = 2;
}
-// Error proto containing details for a redirected write. This error is only
-// returned on initial open in case of a redirect.
+// Error proto containing details for a redirected write. This error may be
+// attached as details for an ABORTED response to BidiWriteObject.
message BidiWriteObjectRedirectedError {
- // The routing token that should be used when reopening the write stream.
+ // The routing token the client must use when retrying the write stream.
+ // This value must be provided in the header `x-goog-request-params`, with key
+ // `routing_token` and this string verbatim as the value.
optional string routing_token = 1;
- // Opaque value describing a previous write.
+ // Opaque value describing a previous write. If set, the client must use this
+ // in an AppendObjectSpec first_message when retrying the write stream. If not
+ // set, clients may retry the original request.
optional BidiWriteHandle write_handle = 2;
- // The generation of the object that triggered the redirect.
- // Note that if this error was returned as part of an appendable object
- // create, this object generation is now successfully created and
- // append_object_spec should be used when reconnecting.
+ // The generation of the object that triggered the redirect. This will be set
+ // iff write_handle is set. If set, the client must use this in an
+ // AppendObjectSpec first_message when retrying the write stream.
optional int64 generation = 3;
}
@@ -1309,10 +1314,16 @@ message AppendObjectSpec {
// Makes the operation conditional on whether the object's current
// metageneration matches the given value.
+ //
+ // Note that metageneration preconditions are only checked if `write_handle`
+ // is empty.
optional int64 if_metageneration_match = 4;
// Makes the operation conditional on whether the object's current
// metageneration does not match the given value.
+ //
+ // Note that metageneration preconditions are only checked if `write_handle`
+ // is empty.
optional int64 if_metageneration_not_match = 5;
// An optional routing token that influences request routing for the stream.
@@ -1321,6 +1332,9 @@ message AppendObjectSpec {
// An optional write handle returned from a previous BidiWriteObjectResponse
// message or a BidiWriteObjectRedirectedError error.
+ //
+ // Note that metageneration preconditions are only checked if `write_handle`
+ // is empty.
optional BidiWriteHandle write_handle = 7;
}
@@ -2000,12 +2014,13 @@ message Bucket {
message Encryption {
// Google Managed Encryption (GMEK) enforcement config of a bucket.
message GoogleManagedEncryptionEnforcementConfig {
- // Whether Google Managed Encryption (GMEK) is restricted for new
- // objects within the bucket.
- // If true, new objects can't be created using GMEK encryption.
- // If false or unset, creation of new objects with GMEK encryption is
- // allowed.
- optional bool restricted = 1;
+ // Restriction mode for google-managed encryption for new objects within
+ // the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ // If `NotRestricted` or unset, creation of new objects with
+ // google-managed encryption is allowed.
+ // If `FullyRestricted`, new objects can't be created using google-managed
+ // encryption.
+ optional string restriction_mode = 3;
// Time from which the config was effective. This is service-provided.
optional google.protobuf.Timestamp effective_time = 2;
@@ -2013,12 +2028,13 @@ message Bucket {
// Customer Managed Encryption (CMEK) enforcement config of a bucket.
message CustomerManagedEncryptionEnforcementConfig {
- // Whether Customer Managed Encryption (CMEK) is restricted for new
- // objects within the bucket.
- // If true, new objects can't be created using CMEK encryption.
- // If false or unset, creation of new objects with CMEK encryption is
- // allowed.
- optional bool restricted = 1;
+ // Restriction mode for customer-managed encryption for new objects within
+ // the bucket. Valid values are: "NotRestricted", "FullyRestricted".
+ // If `NotRestricted` or unset, creation of new objects with
+ // customer-managed encryption is allowed.
+ // If `FullyRestricted`, new objects can't be created using
+ // customer-managed encryption.
+ optional string restriction_mode = 3;
// Time from which the config was effective. This is service-provided.
optional google.protobuf.Timestamp effective_time = 2;
@@ -2026,12 +2042,14 @@ message Bucket {
// Customer Supplied Encryption (CSEK) enforcement config of a bucket.
message CustomerSuppliedEncryptionEnforcementConfig {
- // Whether Customer Supplied Encryption (CSEK) is restricted for new
- // objects within the bucket.
- // If true, new objects can't be created using CSEK encryption.
- // If false or unset, creation of new objects with CSEK encryption is
- // allowed.
- optional bool restricted = 1;
+ // Restriction mode for customer-supplied encryption for new objects
+ // within the bucket. Valid values are: "NotRestricted",
+ // "FullyRestricted".
+ // If `NotRestricted` or unset, creation of new objects with
+ // customer-supplied encryption is allowed.
+ // If `FullyRestricted`, new objects can't be created using
+ // customer-supplied encryption.
+ optional string restriction_mode = 3;
// Time from which the config was effective. This is service-provided.
optional google.protobuf.Timestamp effective_time = 2;
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index e503e1557b..c38122644a 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -30,12 +30,12 @@
com.google.cloud
google-cloud-storage
- 2.53.1
+ 2.53.2
com.google.cloud
google-cloud-storage-control
- 2.53.1
+ 2.53.2
@@ -66,19 +66,19 @@
com.google.cloud
google-cloud-pubsub
- 1.140.1
+ 1.140.2
test
com.google.cloud
google-cloud-kms
- 2.67.0
+ 2.70.0
test
com.google.cloud
google-cloud-storage
- 2.53.1
+ 2.53.2
tests
test
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index da0a23de51..2befe325c5 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -28,12 +28,12 @@
com.google.cloud
google-cloud-storage
- 2.53.2
+ 2.53.3
com.google.cloud
google-cloud-storage-control
- 2.53.2
+ 2.53.3
compile
@@ -58,19 +58,19 @@
com.google.cloud
google-cloud-pubsub
- 1.140.1
+ 1.140.2
test
com.google.cloud
google-cloud-kms
- 2.67.0
+ 2.70.0
test
com.google.cloud
google-cloud-storage
- 2.53.2
+ 2.53.3
tests
test
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index 8053937d26..d57d6b0144 100644
--- a/samples/snippets/pom.xml
+++ b/samples/snippets/pom.xml
@@ -31,7 +31,7 @@
com.google.cloud
libraries-bom
- 26.62.0
+ 26.63.0
pom
import
@@ -76,13 +76,13 @@
com.google.cloud
google-cloud-pubsub
- 1.140.1
+ 1.140.2
test
com.google.cloud
google-cloud-kms
- 2.67.0
+ 2.70.0
test
@@ -99,7 +99,7 @@
com.google.cloud
google-cloud-storage
- 2.53.1
+ 2.53.2
tests
test
diff --git a/storage-shared-benchmarking/pom.xml b/storage-shared-benchmarking/pom.xml
index 113548e6d0..fe14e44efa 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.53.2
+ 2.53.3
@@ -31,7 +31,7 @@
com.google.cloud
google-cloud-storage
- 2.53.2
+ 2.53.3
tests
diff --git a/versions.txt b/versions.txt
index 70ae883670..1e5fcdf88f 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,10 +1,10 @@
# Format:
# module:released-version:current-version
-google-cloud-storage:2.53.2:2.53.2
-gapic-google-cloud-storage-v2:2.53.2:2.53.2
-grpc-google-cloud-storage-v2:2.53.2:2.53.2
-proto-google-cloud-storage-v2:2.53.2:2.53.2
-google-cloud-storage-control:2.53.2:2.53.2
-proto-google-cloud-storage-control-v2:2.53.2:2.53.2
-grpc-google-cloud-storage-control-v2:2.53.2:2.53.2
+google-cloud-storage:2.53.3:2.53.3
+gapic-google-cloud-storage-v2:2.53.3:2.53.3
+grpc-google-cloud-storage-v2:2.53.3:2.53.3
+proto-google-cloud-storage-v2:2.53.3:2.53.3
+google-cloud-storage-control:2.53.3:2.53.3
+proto-google-cloud-storage-control-v2:2.53.3:2.53.3
+grpc-google-cloud-storage-control-v2:2.53.3:2.53.3