From 0b67e2d2a176e03bcac876bc0b081a69e981ca82 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Mon, 26 Feb 2024 14:56:48 -0800 Subject: [PATCH] feat: add soft_delete_time and hard_delete_time object metadata fields (#2415) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: Add an API method for reordering firewall policies PiperOrigin-RevId: 607015517 Source-Link: https://github.com/googleapis/googleapis/commit/c43e216cc37c82f16b829f583fd9f6864e34c2c0 Source-Link: https://github.com/googleapis/googleapis-gen/commit/71c27adc96b0c80093b4a413815bd93943196bb2 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNzFjMjdhZGM5NmIwYzgwMDkzYjRhNDEzODE1YmQ5Mzk0MzE5NmJiMiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: add soft_delete_time and hard_delete_time object metadata fields PiperOrigin-RevId: 609782289 Source-Link: https://github.com/googleapis/googleapis/commit/a8bcfb63e4493c5c6875db5884f89b6e22987972 Source-Link: https://github.com/googleapis/googleapis-gen/commit/6827329c2a5bd683050571a4d71bb84dcef391d9 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNjgyNzMyOWMyYTViZDY4MzA1MDU3MWE0ZDcxYmI4NGRjZWYzOTFkOSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * add clirr ignore --------- Co-authored-by: Owl Bot Co-authored-by: Jesse Lovelace --- .../com/google/storage/v2/StorageClient.java | 2 +- .../google/storage/v2/StorageSettings.java | 4 +- .../com/google/storage/v2/package-info.java | 2 +- .../v2/stub/GrpcStorageCallableFactory.java | 2 +- .../storage/v2/stub/GrpcStorageStub.java | 2 +- .../google/storage/v2/stub/StorageStub.java | 2 +- .../storage/v2/stub/StorageStubSettings.java | 4 +- .../com/google/storage/v2/MockStorage.java | 2 +- .../google/storage/v2/MockStorageImpl.java | 2 +- .../google/storage/v2/StorageClientTest.java | 18 +- .../control/v2/StorageControlClient.java | 2 +- .../control/v2/StorageControlSettings.java | 4 +- .../storage/control/v2/package-info.java | 2 +- .../GrpcStorageControlCallableFactory.java | 2 +- .../v2/stub/GrpcStorageControlStub.java | 2 +- .../control/v2/stub/StorageControlStub.java | 2 +- .../v2/stub/StorageControlStubSettings.java | 3 +- .../control/v2/MockStorageControl.java | 2 +- .../control/v2/MockStorageControlImpl.java | 2 +- .../control/v2/StorageControlClientTest.java | 2 +- .../google/storage/control/v2/BucketName.java | 2 +- .../google/storage/control/v2/FolderName.java | 2 +- .../storage/control/v2/StorageLayoutName.java | 2 +- .../clirr-ignored-differences.xml | 11 + .../com/google/storage/v2/BucketName.java | 2 +- .../com/google/storage/v2/CryptoKeyName.java | 2 +- .../storage/v2/NotificationConfigName.java | 2 +- .../java/com/google/storage/v2/Object.java | 658 ++++++++++++++++++ .../google/storage/v2/ObjectOrBuilder.java | 100 +++ .../com/google/storage/v2/ProjectName.java | 2 +- .../com/google/storage/v2/StorageProto.java | 304 ++++---- .../proto/google/storage/v2/storage.proto | 14 + 32 files changed, 981 insertions(+), 183 deletions(-) diff --git a/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/StorageClient.java b/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/StorageClient.java index 4034eb12f..83ed6ef70 100644 --- a/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/StorageClient.java +++ b/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/StorageClient.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/StorageSettings.java b/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/StorageSettings.java index 9a8b62b78..8c3a2fdd7 100644 --- a/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/StorageSettings.java +++ b/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/StorageSettings.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,7 +22,6 @@ import static com.google.storage.v2.StorageClient.ListObjectsPagedResponse; import com.google.api.core.ApiFunction; -import com.google.api.core.BetaApi; import com.google.api.gax.core.GoogleCredentialsProvider; import com.google.api.gax.core.InstantiatingExecutorProvider; import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; @@ -293,7 +292,6 @@ public static TransportChannelProvider defaultTransportChannelProvider() { return StorageStubSettings.defaultTransportChannelProvider(); } - @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { return StorageStubSettings.defaultApiClientHeaderProviderBuilder(); } diff --git a/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/package-info.java b/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/package-info.java index 0fc96216c..0b7d686cd 100644 --- a/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/package-info.java +++ b/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/GrpcStorageCallableFactory.java b/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/GrpcStorageCallableFactory.java index 4f7f28648..553b1d504 100644 --- a/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/GrpcStorageCallableFactory.java +++ b/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/GrpcStorageCallableFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/GrpcStorageStub.java b/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/GrpcStorageStub.java index 0d32d3392..1fe477aab 100644 --- a/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/GrpcStorageStub.java +++ b/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/GrpcStorageStub.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/StorageStub.java b/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/StorageStub.java index 5476d4aa0..81048896b 100644 --- a/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/StorageStub.java +++ b/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/StorageStub.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/StorageStubSettings.java b/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/StorageStubSettings.java index a1b9f34d2..e4787eb0c 100644 --- a/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/StorageStubSettings.java +++ b/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/StorageStubSettings.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,7 +23,6 @@ import com.google.api.core.ApiFunction; import com.google.api.core.ApiFuture; -import com.google.api.core.BetaApi; import com.google.api.gax.core.GaxProperties; import com.google.api.gax.core.GoogleCredentialsProvider; import com.google.api.gax.core.InstantiatingExecutorProvider; @@ -678,7 +677,6 @@ public static TransportChannelProvider defaultTransportChannelProvider() { return defaultGrpcTransportProviderBuilder().build(); } - @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { return ApiClientHeaderProvider.newBuilder() .setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(StorageStubSettings.class)) diff --git a/gapic-google-cloud-storage-v2/src/test/java/com/google/storage/v2/MockStorage.java b/gapic-google-cloud-storage-v2/src/test/java/com/google/storage/v2/MockStorage.java index 5f04f6e64..3bee4c256 100644 --- a/gapic-google-cloud-storage-v2/src/test/java/com/google/storage/v2/MockStorage.java +++ b/gapic-google-cloud-storage-v2/src/test/java/com/google/storage/v2/MockStorage.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/gapic-google-cloud-storage-v2/src/test/java/com/google/storage/v2/MockStorageImpl.java b/gapic-google-cloud-storage-v2/src/test/java/com/google/storage/v2/MockStorageImpl.java index 33da2cdb5..3d39e9d2e 100644 --- a/gapic-google-cloud-storage-v2/src/test/java/com/google/storage/v2/MockStorageImpl.java +++ b/gapic-google-cloud-storage-v2/src/test/java/com/google/storage/v2/MockStorageImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/gapic-google-cloud-storage-v2/src/test/java/com/google/storage/v2/StorageClientTest.java b/gapic-google-cloud-storage-v2/src/test/java/com/google/storage/v2/StorageClientTest.java index b9a9d14f7..82a4c7b9a 100644 --- a/gapic-google-cloud-storage-v2/src/test/java/com/google/storage/v2/StorageClientTest.java +++ b/gapic-google-cloud-storage-v2/src/test/java/com/google/storage/v2/StorageClientTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -1382,6 +1382,8 @@ public void composeObjectTest() throws Exception { .setOwner(Owner.newBuilder().build()) .setCustomerEncryption(CustomerEncryption.newBuilder().build()) .setCustomTime(Timestamp.newBuilder().build()) + .setSoftDeleteTime(Timestamp.newBuilder().build()) + .setHardDeleteTime(Timestamp.newBuilder().build()) .build(); mockStorage.addResponse(expectedResponse); @@ -1636,6 +1638,8 @@ public void restoreObjectTest() throws Exception { .setOwner(Owner.newBuilder().build()) .setCustomerEncryption(CustomerEncryption.newBuilder().build()) .setCustomTime(Timestamp.newBuilder().build()) + .setSoftDeleteTime(Timestamp.newBuilder().build()) + .setHardDeleteTime(Timestamp.newBuilder().build()) .build(); mockStorage.addResponse(expectedResponse); @@ -1708,6 +1712,8 @@ public void restoreObjectTest2() throws Exception { .setOwner(Owner.newBuilder().build()) .setCustomerEncryption(CustomerEncryption.newBuilder().build()) .setCustomTime(Timestamp.newBuilder().build()) + .setSoftDeleteTime(Timestamp.newBuilder().build()) + .setHardDeleteTime(Timestamp.newBuilder().build()) .build(); mockStorage.addResponse(expectedResponse); @@ -1817,6 +1823,8 @@ public void getObjectTest() throws Exception { .setOwner(Owner.newBuilder().build()) .setCustomerEncryption(CustomerEncryption.newBuilder().build()) .setCustomTime(Timestamp.newBuilder().build()) + .setSoftDeleteTime(Timestamp.newBuilder().build()) + .setHardDeleteTime(Timestamp.newBuilder().build()) .build(); mockStorage.addResponse(expectedResponse); @@ -1886,6 +1894,8 @@ public void getObjectTest2() throws Exception { .setOwner(Owner.newBuilder().build()) .setCustomerEncryption(CustomerEncryption.newBuilder().build()) .setCustomTime(Timestamp.newBuilder().build()) + .setSoftDeleteTime(Timestamp.newBuilder().build()) + .setHardDeleteTime(Timestamp.newBuilder().build()) .build(); mockStorage.addResponse(expectedResponse); @@ -1955,6 +1965,8 @@ public void getObjectTest3() throws Exception { .setOwner(Owner.newBuilder().build()) .setCustomerEncryption(CustomerEncryption.newBuilder().build()) .setCustomTime(Timestamp.newBuilder().build()) + .setSoftDeleteTime(Timestamp.newBuilder().build()) + .setHardDeleteTime(Timestamp.newBuilder().build()) .build(); mockStorage.addResponse(expectedResponse); @@ -2027,6 +2039,8 @@ public void getObjectTest4() throws Exception { .setOwner(Owner.newBuilder().build()) .setCustomerEncryption(CustomerEncryption.newBuilder().build()) .setCustomTime(Timestamp.newBuilder().build()) + .setSoftDeleteTime(Timestamp.newBuilder().build()) + .setHardDeleteTime(Timestamp.newBuilder().build()) .build(); mockStorage.addResponse(expectedResponse); @@ -2170,6 +2184,8 @@ public void updateObjectTest() throws Exception { .setOwner(Owner.newBuilder().build()) .setCustomerEncryption(CustomerEncryption.newBuilder().build()) .setCustomTime(Timestamp.newBuilder().build()) + .setSoftDeleteTime(Timestamp.newBuilder().build()) + .setHardDeleteTime(Timestamp.newBuilder().build()) .build(); mockStorage.addResponse(expectedResponse); diff --git a/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/StorageControlClient.java b/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/StorageControlClient.java index 10ac2d090..5a782fb28 100644 --- a/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/StorageControlClient.java +++ b/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/StorageControlClient.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/StorageControlSettings.java b/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/StorageControlSettings.java index fc29f0305..c7f37fa4a 100644 --- a/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/StorageControlSettings.java +++ b/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/StorageControlSettings.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,6 @@ import static com.google.storage.control.v2.StorageControlClient.ListFoldersPagedResponse; import com.google.api.core.ApiFunction; -import com.google.api.core.BetaApi; import com.google.api.gax.core.GoogleCredentialsProvider; import com.google.api.gax.core.InstantiatingExecutorProvider; import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; @@ -148,7 +147,6 @@ public static TransportChannelProvider defaultTransportChannelProvider() { return StorageControlStubSettings.defaultTransportChannelProvider(); } - @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { return StorageControlStubSettings.defaultApiClientHeaderProviderBuilder(); } diff --git a/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/package-info.java b/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/package-info.java index e40eb295a..126dd95d1 100644 --- a/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/package-info.java +++ b/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/GrpcStorageControlCallableFactory.java b/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/GrpcStorageControlCallableFactory.java index 24311e754..a2dc5b44f 100644 --- a/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/GrpcStorageControlCallableFactory.java +++ b/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/GrpcStorageControlCallableFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/GrpcStorageControlStub.java b/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/GrpcStorageControlStub.java index 6e630f3bf..3bd55270a 100644 --- a/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/GrpcStorageControlStub.java +++ b/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/GrpcStorageControlStub.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/StorageControlStub.java b/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/StorageControlStub.java index 19bee2f68..681466af9 100644 --- a/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/StorageControlStub.java +++ b/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/StorageControlStub.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/StorageControlStubSettings.java b/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/StorageControlStubSettings.java index 225b56841..c65cddfce 100644 --- a/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/StorageControlStubSettings.java +++ b/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/StorageControlStubSettings.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -277,7 +277,6 @@ public static TransportChannelProvider defaultTransportChannelProvider() { return defaultGrpcTransportProviderBuilder().build(); } - @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { return ApiClientHeaderProvider.newBuilder() .setGeneratedLibToken( diff --git a/google-cloud-storage-control/src/test/java/com/google/storage/control/v2/MockStorageControl.java b/google-cloud-storage-control/src/test/java/com/google/storage/control/v2/MockStorageControl.java index 0f8d5ed35..6dbac59dc 100644 --- a/google-cloud-storage-control/src/test/java/com/google/storage/control/v2/MockStorageControl.java +++ b/google-cloud-storage-control/src/test/java/com/google/storage/control/v2/MockStorageControl.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/google-cloud-storage-control/src/test/java/com/google/storage/control/v2/MockStorageControlImpl.java b/google-cloud-storage-control/src/test/java/com/google/storage/control/v2/MockStorageControlImpl.java index b2f2c078b..0177422a9 100644 --- a/google-cloud-storage-control/src/test/java/com/google/storage/control/v2/MockStorageControlImpl.java +++ b/google-cloud-storage-control/src/test/java/com/google/storage/control/v2/MockStorageControlImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/google-cloud-storage-control/src/test/java/com/google/storage/control/v2/StorageControlClientTest.java b/google-cloud-storage-control/src/test/java/com/google/storage/control/v2/StorageControlClientTest.java index b29a26d89..8559283b1 100644 --- a/google-cloud-storage-control/src/test/java/com/google/storage/control/v2/StorageControlClientTest.java +++ b/google-cloud-storage-control/src/test/java/com/google/storage/control/v2/StorageControlClientTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/proto-google-cloud-storage-control-v2/src/main/java/com/google/storage/control/v2/BucketName.java b/proto-google-cloud-storage-control-v2/src/main/java/com/google/storage/control/v2/BucketName.java index 410eec92a..7a301a307 100644 --- a/proto-google-cloud-storage-control-v2/src/main/java/com/google/storage/control/v2/BucketName.java +++ b/proto-google-cloud-storage-control-v2/src/main/java/com/google/storage/control/v2/BucketName.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/proto-google-cloud-storage-control-v2/src/main/java/com/google/storage/control/v2/FolderName.java b/proto-google-cloud-storage-control-v2/src/main/java/com/google/storage/control/v2/FolderName.java index a52b0a639..1fc3d295b 100644 --- a/proto-google-cloud-storage-control-v2/src/main/java/com/google/storage/control/v2/FolderName.java +++ b/proto-google-cloud-storage-control-v2/src/main/java/com/google/storage/control/v2/FolderName.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/proto-google-cloud-storage-control-v2/src/main/java/com/google/storage/control/v2/StorageLayoutName.java b/proto-google-cloud-storage-control-v2/src/main/java/com/google/storage/control/v2/StorageLayoutName.java index 3e81f069a..8aa4914da 100644 --- a/proto-google-cloud-storage-control-v2/src/main/java/com/google/storage/control/v2/StorageLayoutName.java +++ b/proto-google-cloud-storage-control-v2/src/main/java/com/google/storage/control/v2/StorageLayoutName.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/proto-google-cloud-storage-v2/clirr-ignored-differences.xml b/proto-google-cloud-storage-v2/clirr-ignored-differences.xml index 204313bfc..32b659c45 100644 --- a/proto-google-cloud-storage-v2/clirr-ignored-differences.xml +++ b/proto-google-cloud-storage-v2/clirr-ignored-differences.xml @@ -55,4 +55,15 @@ com/google/storage/v2/* * *SoftDeleted*(*) + + + 7012 + com/google/storage/v2/* + * *SoftDeleteTime*(*) + + + 7012 + com/google/storage/v2/* + * *HardDeleteTime*(*) + diff --git a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BucketName.java b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BucketName.java index d2643c96d..fec84c528 100644 --- a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BucketName.java +++ b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/BucketName.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/CryptoKeyName.java b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/CryptoKeyName.java index a9d2ffd79..cc44f3f4f 100644 --- a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/CryptoKeyName.java +++ b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/CryptoKeyName.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/NotificationConfigName.java b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/NotificationConfigName.java index 3a0c0a363..9d1091b7b 100644 --- a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/NotificationConfigName.java +++ b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/NotificationConfigName.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/Object.java b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/Object.java index 7748d8103..13e834eb3 100644 --- a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/Object.java +++ b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/Object.java @@ -1471,6 +1471,136 @@ public com.google.protobuf.TimestampOrBuilder getCustomTimeOrBuilder() { return customTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : customTime_; } + public static final int SOFT_DELETE_TIME_FIELD_NUMBER = 28; + private com.google.protobuf.Timestamp softDeleteTime_; + /** + * + * + *
+   * Output only. This is the time when the object became soft-deleted.
+   *
+   * Soft-deleted objects are only accessible if a soft_delete_policy is
+   * enabled. Also see hard_delete_time.
+   * 
+ * + * + * optional .google.protobuf.Timestamp soft_delete_time = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the softDeleteTime field is set. + */ + @java.lang.Override + public boolean hasSoftDeleteTime() { + return ((bitField0_ & 0x00000400) != 0); + } + /** + * + * + *
+   * Output only. This is the time when the object became soft-deleted.
+   *
+   * Soft-deleted objects are only accessible if a soft_delete_policy is
+   * enabled. Also see hard_delete_time.
+   * 
+ * + * + * optional .google.protobuf.Timestamp soft_delete_time = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The softDeleteTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getSoftDeleteTime() { + return softDeleteTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : softDeleteTime_; + } + /** + * + * + *
+   * Output only. This is the time when the object became soft-deleted.
+   *
+   * Soft-deleted objects are only accessible if a soft_delete_policy is
+   * enabled. Also see hard_delete_time.
+   * 
+ * + * + * optional .google.protobuf.Timestamp soft_delete_time = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getSoftDeleteTimeOrBuilder() { + return softDeleteTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : softDeleteTime_; + } + + public static final int HARD_DELETE_TIME_FIELD_NUMBER = 29; + private com.google.protobuf.Timestamp hardDeleteTime_; + /** + * + * + *
+   * Output only. The time when the object will be permanently deleted.
+   *
+   * Only set when an object becomes soft-deleted with a soft_delete_policy.
+   * Otherwise, the object will not be accessible.
+   * 
+ * + * + * optional .google.protobuf.Timestamp hard_delete_time = 29 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the hardDeleteTime field is set. + */ + @java.lang.Override + public boolean hasHardDeleteTime() { + return ((bitField0_ & 0x00000800) != 0); + } + /** + * + * + *
+   * Output only. The time when the object will be permanently deleted.
+   *
+   * Only set when an object becomes soft-deleted with a soft_delete_policy.
+   * Otherwise, the object will not be accessible.
+   * 
+ * + * + * optional .google.protobuf.Timestamp hard_delete_time = 29 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The hardDeleteTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getHardDeleteTime() { + return hardDeleteTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : hardDeleteTime_; + } + /** + * + * + *
+   * Output only. The time when the object will be permanently deleted.
+   *
+   * Only set when an object becomes soft-deleted with a soft_delete_policy.
+   * Otherwise, the object will not be accessible.
+   * 
+ * + * + * optional .google.protobuf.Timestamp hard_delete_time = 29 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getHardDeleteTimeOrBuilder() { + return hardDeleteTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : hardDeleteTime_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -1565,6 +1695,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(etag_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 27, etag_); } + if (((bitField0_ & 0x00000400) != 0)) { + output.writeMessage(28, getSoftDeleteTime()); + } + if (((bitField0_ & 0x00000800) != 0)) { + output.writeMessage(29, getHardDeleteTime()); + } getUnknownFields().writeTo(output); } @@ -1664,6 +1800,12 @@ public int getSerializedSize() { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(etag_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(27, etag_); } + if (((bitField0_ & 0x00000400) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(28, getSoftDeleteTime()); + } + if (((bitField0_ & 0x00000800) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(29, getHardDeleteTime()); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -1736,6 +1878,14 @@ public boolean equals(final java.lang.Object obj) { if (hasCustomTime()) { if (!getCustomTime().equals(other.getCustomTime())) return false; } + if (hasSoftDeleteTime() != other.hasSoftDeleteTime()) return false; + if (hasSoftDeleteTime()) { + if (!getSoftDeleteTime().equals(other.getSoftDeleteTime())) return false; + } + if (hasHardDeleteTime() != other.hasHardDeleteTime()) return false; + if (hasHardDeleteTime()) { + if (!getHardDeleteTime().equals(other.getHardDeleteTime())) return false; + } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -1825,6 +1975,14 @@ public int hashCode() { hash = (37 * hash) + CUSTOM_TIME_FIELD_NUMBER; hash = (53 * hash) + getCustomTime().hashCode(); } + if (hasSoftDeleteTime()) { + hash = (37 * hash) + SOFT_DELETE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getSoftDeleteTime().hashCode(); + } + if (hasHardDeleteTime()) { + hash = (37 * hash) + HARD_DELETE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getHardDeleteTime().hashCode(); + } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -1994,6 +2152,8 @@ private void maybeForceBuilderInitialization() { getOwnerFieldBuilder(); getCustomerEncryptionFieldBuilder(); getCustomTimeFieldBuilder(); + getSoftDeleteTimeFieldBuilder(); + getHardDeleteTimeFieldBuilder(); } } @@ -2070,6 +2230,16 @@ public Builder clear() { customTimeBuilder_.dispose(); customTimeBuilder_ = null; } + softDeleteTime_ = null; + if (softDeleteTimeBuilder_ != null) { + softDeleteTimeBuilder_.dispose(); + softDeleteTimeBuilder_ = null; + } + hardDeleteTime_ = null; + if (hardDeleteTimeBuilder_ != null) { + hardDeleteTimeBuilder_.dispose(); + hardDeleteTimeBuilder_ = null; + } return this; } @@ -2216,6 +2386,16 @@ private void buildPartial0(com.google.storage.v2.Object result) { result.customTime_ = customTimeBuilder_ == null ? customTime_ : customTimeBuilder_.build(); to_bitField0_ |= 0x00000200; } + if (((from_bitField0_ & 0x08000000) != 0)) { + result.softDeleteTime_ = + softDeleteTimeBuilder_ == null ? softDeleteTime_ : softDeleteTimeBuilder_.build(); + to_bitField0_ |= 0x00000400; + } + if (((from_bitField0_ & 0x10000000) != 0)) { + result.hardDeleteTime_ = + hardDeleteTimeBuilder_ == null ? hardDeleteTime_ : hardDeleteTimeBuilder_.build(); + to_bitField0_ |= 0x00000800; + } result.bitField0_ |= to_bitField0_; } @@ -2388,6 +2568,12 @@ public Builder mergeFrom(com.google.storage.v2.Object other) { if (other.hasCustomTime()) { mergeCustomTime(other.getCustomTime()); } + if (other.hasSoftDeleteTime()) { + mergeSoftDeleteTime(other.getSoftDeleteTime()); + } + if (other.hasHardDeleteTime()) { + mergeHardDeleteTime(other.getHardDeleteTime()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -2592,6 +2778,18 @@ public Builder mergeFrom( bitField0_ |= 0x00000004; break; } // case 218 + case 226: + { + input.readMessage(getSoftDeleteTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x08000000; + break; + } // case 226 + case 234: + { + input.readMessage(getHardDeleteTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x10000000; + break; + } // case 234 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -6634,6 +6832,466 @@ public com.google.protobuf.TimestampOrBuilder getCustomTimeOrBuilder() { return customTimeBuilder_; } + private com.google.protobuf.Timestamp softDeleteTime_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + softDeleteTimeBuilder_; + /** + * + * + *
+     * Output only. This is the time when the object became soft-deleted.
+     *
+     * Soft-deleted objects are only accessible if a soft_delete_policy is
+     * enabled. Also see hard_delete_time.
+     * 
+ * + * + * optional .google.protobuf.Timestamp soft_delete_time = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the softDeleteTime field is set. + */ + public boolean hasSoftDeleteTime() { + return ((bitField0_ & 0x08000000) != 0); + } + /** + * + * + *
+     * Output only. This is the time when the object became soft-deleted.
+     *
+     * Soft-deleted objects are only accessible if a soft_delete_policy is
+     * enabled. Also see hard_delete_time.
+     * 
+ * + * + * optional .google.protobuf.Timestamp soft_delete_time = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The softDeleteTime. + */ + public com.google.protobuf.Timestamp getSoftDeleteTime() { + if (softDeleteTimeBuilder_ == null) { + return softDeleteTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : softDeleteTime_; + } else { + return softDeleteTimeBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Output only. This is the time when the object became soft-deleted.
+     *
+     * Soft-deleted objects are only accessible if a soft_delete_policy is
+     * enabled. Also see hard_delete_time.
+     * 
+ * + * + * optional .google.protobuf.Timestamp soft_delete_time = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setSoftDeleteTime(com.google.protobuf.Timestamp value) { + if (softDeleteTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + softDeleteTime_ = value; + } else { + softDeleteTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x08000000; + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. This is the time when the object became soft-deleted.
+     *
+     * Soft-deleted objects are only accessible if a soft_delete_policy is
+     * enabled. Also see hard_delete_time.
+     * 
+ * + * + * optional .google.protobuf.Timestamp soft_delete_time = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setSoftDeleteTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (softDeleteTimeBuilder_ == null) { + softDeleteTime_ = builderForValue.build(); + } else { + softDeleteTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x08000000; + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. This is the time when the object became soft-deleted.
+     *
+     * Soft-deleted objects are only accessible if a soft_delete_policy is
+     * enabled. Also see hard_delete_time.
+     * 
+ * + * + * optional .google.protobuf.Timestamp soft_delete_time = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeSoftDeleteTime(com.google.protobuf.Timestamp value) { + if (softDeleteTimeBuilder_ == null) { + if (((bitField0_ & 0x08000000) != 0) + && softDeleteTime_ != null + && softDeleteTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getSoftDeleteTimeBuilder().mergeFrom(value); + } else { + softDeleteTime_ = value; + } + } else { + softDeleteTimeBuilder_.mergeFrom(value); + } + if (softDeleteTime_ != null) { + bitField0_ |= 0x08000000; + onChanged(); + } + return this; + } + /** + * + * + *
+     * Output only. This is the time when the object became soft-deleted.
+     *
+     * Soft-deleted objects are only accessible if a soft_delete_policy is
+     * enabled. Also see hard_delete_time.
+     * 
+ * + * + * optional .google.protobuf.Timestamp soft_delete_time = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearSoftDeleteTime() { + bitField0_ = (bitField0_ & ~0x08000000); + softDeleteTime_ = null; + if (softDeleteTimeBuilder_ != null) { + softDeleteTimeBuilder_.dispose(); + softDeleteTimeBuilder_ = null; + } + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. This is the time when the object became soft-deleted.
+     *
+     * Soft-deleted objects are only accessible if a soft_delete_policy is
+     * enabled. Also see hard_delete_time.
+     * 
+ * + * + * optional .google.protobuf.Timestamp soft_delete_time = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getSoftDeleteTimeBuilder() { + bitField0_ |= 0x08000000; + onChanged(); + return getSoftDeleteTimeFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Output only. This is the time when the object became soft-deleted.
+     *
+     * Soft-deleted objects are only accessible if a soft_delete_policy is
+     * enabled. Also see hard_delete_time.
+     * 
+ * + * + * optional .google.protobuf.Timestamp soft_delete_time = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getSoftDeleteTimeOrBuilder() { + if (softDeleteTimeBuilder_ != null) { + return softDeleteTimeBuilder_.getMessageOrBuilder(); + } else { + return softDeleteTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : softDeleteTime_; + } + } + /** + * + * + *
+     * Output only. This is the time when the object became soft-deleted.
+     *
+     * Soft-deleted objects are only accessible if a soft_delete_policy is
+     * enabled. Also see hard_delete_time.
+     * 
+ * + * + * optional .google.protobuf.Timestamp soft_delete_time = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + getSoftDeleteTimeFieldBuilder() { + if (softDeleteTimeBuilder_ == null) { + softDeleteTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getSoftDeleteTime(), getParentForChildren(), isClean()); + softDeleteTime_ = null; + } + return softDeleteTimeBuilder_; + } + + private com.google.protobuf.Timestamp hardDeleteTime_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + hardDeleteTimeBuilder_; + /** + * + * + *
+     * Output only. The time when the object will be permanently deleted.
+     *
+     * Only set when an object becomes soft-deleted with a soft_delete_policy.
+     * Otherwise, the object will not be accessible.
+     * 
+ * + * + * optional .google.protobuf.Timestamp hard_delete_time = 29 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the hardDeleteTime field is set. + */ + public boolean hasHardDeleteTime() { + return ((bitField0_ & 0x10000000) != 0); + } + /** + * + * + *
+     * Output only. The time when the object will be permanently deleted.
+     *
+     * Only set when an object becomes soft-deleted with a soft_delete_policy.
+     * Otherwise, the object will not be accessible.
+     * 
+ * + * + * optional .google.protobuf.Timestamp hard_delete_time = 29 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The hardDeleteTime. + */ + public com.google.protobuf.Timestamp getHardDeleteTime() { + if (hardDeleteTimeBuilder_ == null) { + return hardDeleteTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : hardDeleteTime_; + } else { + return hardDeleteTimeBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Output only. The time when the object will be permanently deleted.
+     *
+     * Only set when an object becomes soft-deleted with a soft_delete_policy.
+     * Otherwise, the object will not be accessible.
+     * 
+ * + * + * optional .google.protobuf.Timestamp hard_delete_time = 29 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setHardDeleteTime(com.google.protobuf.Timestamp value) { + if (hardDeleteTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + hardDeleteTime_ = value; + } else { + hardDeleteTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x10000000; + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. The time when the object will be permanently deleted.
+     *
+     * Only set when an object becomes soft-deleted with a soft_delete_policy.
+     * Otherwise, the object will not be accessible.
+     * 
+ * + * + * optional .google.protobuf.Timestamp hard_delete_time = 29 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setHardDeleteTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (hardDeleteTimeBuilder_ == null) { + hardDeleteTime_ = builderForValue.build(); + } else { + hardDeleteTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x10000000; + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. The time when the object will be permanently deleted.
+     *
+     * Only set when an object becomes soft-deleted with a soft_delete_policy.
+     * Otherwise, the object will not be accessible.
+     * 
+ * + * + * optional .google.protobuf.Timestamp hard_delete_time = 29 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeHardDeleteTime(com.google.protobuf.Timestamp value) { + if (hardDeleteTimeBuilder_ == null) { + if (((bitField0_ & 0x10000000) != 0) + && hardDeleteTime_ != null + && hardDeleteTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getHardDeleteTimeBuilder().mergeFrom(value); + } else { + hardDeleteTime_ = value; + } + } else { + hardDeleteTimeBuilder_.mergeFrom(value); + } + if (hardDeleteTime_ != null) { + bitField0_ |= 0x10000000; + onChanged(); + } + return this; + } + /** + * + * + *
+     * Output only. The time when the object will be permanently deleted.
+     *
+     * Only set when an object becomes soft-deleted with a soft_delete_policy.
+     * Otherwise, the object will not be accessible.
+     * 
+ * + * + * optional .google.protobuf.Timestamp hard_delete_time = 29 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearHardDeleteTime() { + bitField0_ = (bitField0_ & ~0x10000000); + hardDeleteTime_ = null; + if (hardDeleteTimeBuilder_ != null) { + hardDeleteTimeBuilder_.dispose(); + hardDeleteTimeBuilder_ = null; + } + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. The time when the object will be permanently deleted.
+     *
+     * Only set when an object becomes soft-deleted with a soft_delete_policy.
+     * Otherwise, the object will not be accessible.
+     * 
+ * + * + * optional .google.protobuf.Timestamp hard_delete_time = 29 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getHardDeleteTimeBuilder() { + bitField0_ |= 0x10000000; + onChanged(); + return getHardDeleteTimeFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Output only. The time when the object will be permanently deleted.
+     *
+     * Only set when an object becomes soft-deleted with a soft_delete_policy.
+     * Otherwise, the object will not be accessible.
+     * 
+ * + * + * optional .google.protobuf.Timestamp hard_delete_time = 29 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getHardDeleteTimeOrBuilder() { + if (hardDeleteTimeBuilder_ != null) { + return hardDeleteTimeBuilder_.getMessageOrBuilder(); + } else { + return hardDeleteTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : hardDeleteTime_; + } + } + /** + * + * + *
+     * Output only. The time when the object will be permanently deleted.
+     *
+     * Only set when an object becomes soft-deleted with a soft_delete_policy.
+     * Otherwise, the object will not be accessible.
+     * 
+ * + * + * optional .google.protobuf.Timestamp hard_delete_time = 29 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + getHardDeleteTimeFieldBuilder() { + if (hardDeleteTimeBuilder_ == null) { + hardDeleteTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getHardDeleteTime(), getParentForChildren(), isClean()); + hardDeleteTime_ = null; + } + return hardDeleteTimeBuilder_; + } + @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); diff --git a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/ObjectOrBuilder.java b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/ObjectOrBuilder.java index ce96b444c..db5ea2166 100644 --- a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/ObjectOrBuilder.java +++ b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/ObjectOrBuilder.java @@ -939,4 +939,104 @@ java.lang.String getMetadataOrDefault( * .google.protobuf.Timestamp custom_time = 26; */ com.google.protobuf.TimestampOrBuilder getCustomTimeOrBuilder(); + + /** + * + * + *
+   * Output only. This is the time when the object became soft-deleted.
+   *
+   * Soft-deleted objects are only accessible if a soft_delete_policy is
+   * enabled. Also see hard_delete_time.
+   * 
+ * + * + * optional .google.protobuf.Timestamp soft_delete_time = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the softDeleteTime field is set. + */ + boolean hasSoftDeleteTime(); + /** + * + * + *
+   * Output only. This is the time when the object became soft-deleted.
+   *
+   * Soft-deleted objects are only accessible if a soft_delete_policy is
+   * enabled. Also see hard_delete_time.
+   * 
+ * + * + * optional .google.protobuf.Timestamp soft_delete_time = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The softDeleteTime. + */ + com.google.protobuf.Timestamp getSoftDeleteTime(); + /** + * + * + *
+   * Output only. This is the time when the object became soft-deleted.
+   *
+   * Soft-deleted objects are only accessible if a soft_delete_policy is
+   * enabled. Also see hard_delete_time.
+   * 
+ * + * + * optional .google.protobuf.Timestamp soft_delete_time = 28 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getSoftDeleteTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The time when the object will be permanently deleted.
+   *
+   * Only set when an object becomes soft-deleted with a soft_delete_policy.
+   * Otherwise, the object will not be accessible.
+   * 
+ * + * + * optional .google.protobuf.Timestamp hard_delete_time = 29 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the hardDeleteTime field is set. + */ + boolean hasHardDeleteTime(); + /** + * + * + *
+   * Output only. The time when the object will be permanently deleted.
+   *
+   * Only set when an object becomes soft-deleted with a soft_delete_policy.
+   * Otherwise, the object will not be accessible.
+   * 
+ * + * + * optional .google.protobuf.Timestamp hard_delete_time = 29 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The hardDeleteTime. + */ + com.google.protobuf.Timestamp getHardDeleteTime(); + /** + * + * + *
+   * Output only. The time when the object will be permanently deleted.
+   *
+   * Only set when an object becomes soft-deleted with a soft_delete_policy.
+   * Otherwise, the object will not be accessible.
+   * 
+ * + * + * optional .google.protobuf.Timestamp hard_delete_time = 29 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getHardDeleteTimeOrBuilder(); } diff --git a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/ProjectName.java b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/ProjectName.java index b8d7aa7b6..1788c480b 100644 --- a/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/ProjectName.java +++ b/proto-google-cloud-storage-v2/src/main/java/com/google/storage/v2/ProjectName.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. 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 6d6bbc9bb..7c9d8f224 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 @@ -762,7 +762,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "/{project}/buckets/{bucket}/notification" + "Configs/{notification_config}\"L\n\022Custome" + "rEncryption\022\034\n\024encryption_algorithm\030\001 \001(" - + "\t\022\030\n\020key_sha256_bytes\030\003 \001(\014\"\202\t\n\006Object\022\021" + + "\t\022\030\n\020key_sha256_bytes\030\003 \001(\014\"\254\n\n\006Object\022\021" + "\n\004name\030\001 \001(\tB\003\340A\005\0225\n\006bucket\030\002 \001(\tB%\340A\005\372A" + "\037\n\035storage.googleapis.com/Bucket\022\014\n\004etag" + "\030\033 \001(\t\022\027\n\ngeneration\030\003 \001(\003B\003\340A\005\022\033\n\016metag" @@ -789,154 +789,158 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\030\030 \001(\0132\030.google.storage.v2.OwnerB\003\340A\003\022B\n" + "\023customer_encryption\030\031 \001(\0132%.google.stor" + "age.v2.CustomerEncryption\022/\n\013custom_time" - + "\030\032 \001(\0132\032.google.protobuf.Timestamp\032/\n\rMe" - + "tadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:" - + "\0028\001B\023\n\021_event_based_hold\"\316\001\n\023ObjectAcces" - + "sControl\022\014\n\004role\030\001 \001(\t\022\n\n\002id\030\002 \001(\t\022\016\n\006en" - + "tity\030\003 \001(\t\022\027\n\nentity_alt\030\t \001(\tB\003\340A\003\022\021\n\te" - + "ntity_id\030\004 \001(\t\022\014\n\004etag\030\010 \001(\t\022\r\n\005email\030\005 " - + "\001(\t\022\016\n\006domain\030\006 \001(\t\0224\n\014project_team\030\007 \001(" - + "\0132\036.google.storage.v2.ProjectTeam\"l\n\023Lis" - + "tObjectsResponse\022*\n\007objects\030\001 \003(\0132\031.goog" - + "le.storage.v2.Object\022\020\n\010prefixes\030\002 \003(\t\022\027" - + "\n\017next_page_token\030\003 \001(\t\"3\n\013ProjectTeam\022\026" - + "\n\016project_number\030\001 \001(\t\022\014\n\004team\030\002 \001(\t\"\'\n\016" - + "ServiceAccount\022\025\n\remail_address\030\001 \001(\t\"*\n" - + "\005Owner\022\016\n\006entity\030\001 \001(\t\022\021\n\tentity_id\030\002 \001(" - + "\t\"C\n\014ContentRange\022\r\n\005start\030\001 \001(\003\022\013\n\003end\030" - + "\002 \001(\003\022\027\n\017complete_length\030\003 \001(\0032\252\'\n\007Stora" - + "ge\022r\n\014DeleteBucket\022&.google.storage.v2.D" - + "eleteBucketRequest\032\026.google.protobuf.Emp" - + "ty\"\"\332A\004name\212\323\344\223\002\025\022\023\n\004name\022\013{bucket=**}\022o" - + "\n\tGetBucket\022#.google.storage.v2.GetBucke" - + "tRequest\032\031.google.storage.v2.Bucket\"\"\332A\004" - + "name\212\323\344\223\002\025\022\023\n\004name\022\013{bucket=**}\022\253\001\n\014Crea" - + "teBucket\022&.google.storage.v2.CreateBucke" - + "tRequest\032\031.google.storage.v2.Bucket\"X\332A\027" - + "parent,bucket,bucket_id\212\323\344\223\0028\022\026\n\006parent\022" - + "\014{project=**}\022\036\n\016bucket.project\022\014{projec" - + "t=**}\022\205\001\n\013ListBuckets\022%.google.storage.v" - + "2.ListBucketsRequest\032&.google.storage.v2" - + ".ListBucketsResponse\"\'\332A\006parent\212\323\344\223\002\030\022\026\n" - + "\006parent\022\014{project=**}\022\223\001\n\031LockBucketRete" - + "ntionPolicy\0223.google.storage.v2.LockBuck" - + "etRetentionPolicyRequest\032\031.google.storag" - + "e.v2.Bucket\"&\332A\006bucket\212\323\344\223\002\027\022\025\n\006bucket\022\013" - + "{bucket=**}\022u\n\014GetIamPolicy\022\".google.iam" - + ".v1.GetIamPolicyRequest\032\025.google.iam.v1." - + "Policy\"*\332A\010resource\212\323\344\223\002\031\022\027\n\010resource\022\013{" - + "bucket=**}\022|\n\014SetIamPolicy\022\".google.iam." - + "v1.SetIamPolicyRequest\032\025.google.iam.v1.P" - + "olicy\"1\332A\017resource,policy\212\323\344\223\002\031\022\027\n\010resou" - + "rce\022\013{bucket=**}\022\327\001\n\022TestIamPermissions\022" - + "(.google.iam.v1.TestIamPermissionsReques" - + "t\032).google.iam.v1.TestIamPermissionsResp" - + "onse\"l\332A\024resource,permissions\212\323\344\223\002O\022\027\n\010r" - + "esource\022\013{bucket=**}\0224\n\010resource\022({bucke" - + "t=projects/*/buckets/*}/objects/**\022\212\001\n\014U" - + "pdateBucket\022&.google.storage.v2.UpdateBu" - + "cketRequest\032\031.google.storage.v2.Bucket\"7" - + "\332A\022bucket,update_mask\212\323\344\223\002\034\022\032\n\013bucket.na" - + "me\022\013{bucket=**}\022\237\001\n\030DeleteNotificationCo" - + "nfig\0222.google.storage.v2.DeleteNotificat" - + "ionConfigRequest\032\026.google.protobuf.Empty" - + "\"7\332A\004name\212\323\344\223\002*\022(\n\004name\022 {bucket=project" - + "s/*/buckets/*}/**\022\250\001\n\025GetNotificationCon" - + "fig\022/.google.storage.v2.GetNotificationC" - + "onfigRequest\032%.google.storage.v2.Notific" - + "ationConfig\"7\332A\004name\212\323\344\223\002*\022(\n\004name\022 {buc" - + "ket=projects/*/buckets/*}/**\022\261\001\n\030CreateN" - + "otificationConfig\0222.google.storage.v2.Cr" - + "eateNotificationConfigRequest\032%.google.s" - + "torage.v2.NotificationConfig\":\332A\032parent," - + "notification_config\212\323\344\223\002\027\022\025\n\006parent\022\013{bu" - + "cket=**}\022\250\001\n\027ListNotificationConfigs\0221.g" - + "oogle.storage.v2.ListNotificationConfigs" - + "Request\0322.google.storage.v2.ListNotifica" - + "tionConfigsResponse\"&\332A\006parent\212\323\344\223\002\027\022\025\n\006" - + "parent\022\013{bucket=**}\022~\n\rComposeObject\022\'.g" - + "oogle.storage.v2.ComposeObjectRequest\032\031." - + "google.storage.v2.Object\")\212\323\344\223\002#\022!\n\022dest" - + "ination.bucket\022\013{bucket=**}\022\230\001\n\014DeleteOb" - + "ject\022&.google.storage.v2.DeleteObjectReq" - + "uest\032\026.google.protobuf.Empty\"H\332A\rbucket," - + "object\332A\030bucket,object,generation\212\323\344\223\002\027\022" - + "\025\n\006bucket\022\013{bucket=**}\022\215\001\n\rRestoreObject" - + "\022\'.google.storage.v2.RestoreObjectReques" - + "t\032\031.google.storage.v2.Object\"8\332A\030bucket," - + "object,generation\212\323\344\223\002\027\022\025\n\006bucket\022\013{buck" - + "et=**}\022\272\001\n\024CancelResumableWrite\022..google" - + ".storage.v2.CancelResumableWriteRequest\032" - + "/.google.storage.v2.CancelResumableWrite" - + "Response\"A\332A\tupload_id\212\323\344\223\002/\022-\n\tupload_i" - + "d\022 {bucket=projects/*/buckets/*}/**\022\225\001\n\t" - + "GetObject\022#.google.storage.v2.GetObjectR" - + "equest\032\031.google.storage.v2.Object\"H\332A\rbu" - + "cket,object\332A\030bucket,object,generation\212\323" - + "\344\223\002\027\022\025\n\006bucket\022\013{bucket=**}\022\245\001\n\nReadObje" - + "ct\022$.google.storage.v2.ReadObjectRequest" - + "\032%.google.storage.v2.ReadObjectResponse\"" - + "H\332A\rbucket,object\332A\030bucket,object,genera" - + "tion\212\323\344\223\002\027\022\025\n\006bucket\022\013{bucket=**}0\001\022\214\001\n\014" - + "UpdateObject\022&.google.storage.v2.UpdateO" - + "bjectRequest\032\031.google.storage.v2.Object\"" - + "9\332A\022object,update_mask\212\323\344\223\002\036\022\034\n\robject.b" - + "ucket\022\013{bucket=**}\022`\n\013WriteObject\022%.goog" - + "le.storage.v2.WriteObjectRequest\032&.googl" - + "e.storage.v2.WriteObjectResponse\"\000(\001\022n\n\017" - + "BidiWriteObject\022).google.storage.v2.Bidi" - + "WriteObjectRequest\032*.google.storage.v2.B" - + "idiWriteObjectResponse\"\000(\0010\001\022\204\001\n\013ListObj" - + "ects\022%.google.storage.v2.ListObjectsRequ" - + "est\032&.google.storage.v2.ListObjectsRespo" - + "nse\"&\332A\006parent\212\323\344\223\002\027\022\025\n\006parent\022\013{bucket=" - + "**}\022\230\001\n\rRewriteObject\022\'.google.storage.v" - + "2.RewriteObjectRequest\032\".google.storage." - + "v2.RewriteResponse\":\212\323\344\223\0024\022\017\n\rsource_buc" - + "ket\022!\n\022destination_bucket\022\013{bucket=**}\022\256" - + "\001\n\023StartResumableWrite\022-.google.storage." - + "v2.StartResumableWriteRequest\032..google.s" - + "torage.v2.StartResumableWriteResponse\"8\212" - + "\323\344\223\0022\0220\n!write_object_spec.resource.buck" - + "et\022\013{bucket=**}\022\256\001\n\020QueryWriteStatus\022*.g" - + "oogle.storage.v2.QueryWriteStatusRequest" - + "\032+.google.storage.v2.QueryWriteStatusRes" - + "ponse\"A\332A\tupload_id\212\323\344\223\002/\022-\n\tupload_id\022 " - + "{bucket=projects/*/buckets/*}/**\022\200\001\n\021Get" - + "ServiceAccount\022+.google.storage.v2.GetSe" - + "rviceAccountRequest\032!.google.storage.v2." - + "ServiceAccount\"\033\332A\007project\212\323\344\223\002\013\022\t\n\007proj" - + "ect\022\225\001\n\rCreateHmacKey\022\'.google.storage.v" - + "2.CreateHmacKeyRequest\032(.google.storage." - + "v2.CreateHmacKeyResponse\"1\332A\035project,ser" - + "vice_account_email\212\323\344\223\002\013\022\t\n\007project\022w\n\rD" - + "eleteHmacKey\022\'.google.storage.v2.DeleteH" - + "macKeyRequest\032\026.google.protobuf.Empty\"%\332" - + "A\021access_id,project\212\323\344\223\002\013\022\t\n\007project\022}\n\n" - + "GetHmacKey\022$.google.storage.v2.GetHmacKe" - + "yRequest\032\".google.storage.v2.HmacKeyMeta" - + "data\"%\332A\021access_id,project\212\323\344\223\002\013\022\t\n\007proj" - + "ect\022|\n\014ListHmacKeys\022&.google.storage.v2." - + "ListHmacKeysRequest\032\'.google.storage.v2." - + "ListHmacKeysResponse\"\033\332A\007project\212\323\344\223\002\013\022\t" - + "\n\007project\022\235\001\n\rUpdateHmacKey\022\'.google.sto" - + "rage.v2.UpdateHmacKeyRequest\032\".google.st" - + "orage.v2.HmacKeyMetadata\"?\332A\024hmac_key,up" - + "date_mask\212\323\344\223\002\"\022 \n\020hmac_key.project\022\014{pr" - + "oject=**}\032\247\002\312A\026storage.googleapis.com\322A\212" - + "\002https://www.googleapis.com/auth/cloud-p" - + "latform,https://www.googleapis.com/auth/" - + "cloud-platform.read-only,https://www.goo" - + "gleapis.com/auth/devstorage.full_control" - + ",https://www.googleapis.com/auth/devstor" - + "age.read_only,https://www.googleapis.com" - + "/auth/devstorage.read_writeB\342\001\n\025com.goog" - + "le.storage.v2B\014StorageProtoP\001Z>cloud.goo" - + "gle.com/go/storage/internal/apiv2/storag" - + "epb;storagepb\352Ax\n!cloudkms.googleapis.co" - + "m/CryptoKey\022Sprojects/{project}/location" - + "s/{location}/keyRings/{key_ring}/cryptoK" - + "eys/{crypto_key}b\006proto3" + + "\030\032 \001(\0132\032.google.protobuf.Timestamp\022>\n\020so" + + "ft_delete_time\030\034 \001(\0132\032.google.protobuf.T" + + "imestampB\003\340A\003H\001\210\001\001\022>\n\020hard_delete_time\030\035" + + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003H\002\210" + + "\001\001\032/\n\rMetadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005valu" + + "e\030\002 \001(\t:\0028\001B\023\n\021_event_based_holdB\023\n\021_sof" + + "t_delete_timeB\023\n\021_hard_delete_time\"\316\001\n\023O" + + "bjectAccessControl\022\014\n\004role\030\001 \001(\t\022\n\n\002id\030\002" + + " \001(\t\022\016\n\006entity\030\003 \001(\t\022\027\n\nentity_alt\030\t \001(\t" + + "B\003\340A\003\022\021\n\tentity_id\030\004 \001(\t\022\014\n\004etag\030\010 \001(\t\022\r" + + "\n\005email\030\005 \001(\t\022\016\n\006domain\030\006 \001(\t\0224\n\014project" + + "_team\030\007 \001(\0132\036.google.storage.v2.ProjectT" + + "eam\"l\n\023ListObjectsResponse\022*\n\007objects\030\001 " + + "\003(\0132\031.google.storage.v2.Object\022\020\n\010prefix" + + "es\030\002 \003(\t\022\027\n\017next_page_token\030\003 \001(\t\"3\n\013Pro" + + "jectTeam\022\026\n\016project_number\030\001 \001(\t\022\014\n\004team" + + "\030\002 \001(\t\"\'\n\016ServiceAccount\022\025\n\remail_addres" + + "s\030\001 \001(\t\"*\n\005Owner\022\016\n\006entity\030\001 \001(\t\022\021\n\tenti" + + "ty_id\030\002 \001(\t\"C\n\014ContentRange\022\r\n\005start\030\001 \001" + + "(\003\022\013\n\003end\030\002 \001(\003\022\027\n\017complete_length\030\003 \001(\003" + + "2\252\'\n\007Storage\022r\n\014DeleteBucket\022&.google.st" + + "orage.v2.DeleteBucketRequest\032\026.google.pr" + + "otobuf.Empty\"\"\332A\004name\212\323\344\223\002\025\022\023\n\004name\022\013{bu" + + "cket=**}\022o\n\tGetBucket\022#.google.storage.v" + + "2.GetBucketRequest\032\031.google.storage.v2.B" + + "ucket\"\"\332A\004name\212\323\344\223\002\025\022\023\n\004name\022\013{bucket=**" + + "}\022\253\001\n\014CreateBucket\022&.google.storage.v2.C" + + "reateBucketRequest\032\031.google.storage.v2.B" + + "ucket\"X\332A\027parent,bucket,bucket_id\212\323\344\223\0028\022" + + "\026\n\006parent\022\014{project=**}\022\036\n\016bucket.projec" + + "t\022\014{project=**}\022\205\001\n\013ListBuckets\022%.google" + + ".storage.v2.ListBucketsRequest\032&.google." + + "storage.v2.ListBucketsResponse\"\'\332A\006paren" + + "t\212\323\344\223\002\030\022\026\n\006parent\022\014{project=**}\022\223\001\n\031Lock" + + "BucketRetentionPolicy\0223.google.storage.v" + + "2.LockBucketRetentionPolicyRequest\032\031.goo" + + "gle.storage.v2.Bucket\"&\332A\006bucket\212\323\344\223\002\027\022\025" + + "\n\006bucket\022\013{bucket=**}\022u\n\014GetIamPolicy\022\"." + + "google.iam.v1.GetIamPolicyRequest\032\025.goog" + + "le.iam.v1.Policy\"*\332A\010resource\212\323\344\223\002\031\022\027\n\010r" + + "esource\022\013{bucket=**}\022|\n\014SetIamPolicy\022\".g" + + "oogle.iam.v1.SetIamPolicyRequest\032\025.googl" + + "e.iam.v1.Policy\"1\332A\017resource,policy\212\323\344\223\002" + + "\031\022\027\n\010resource\022\013{bucket=**}\022\327\001\n\022TestIamPe" + + "rmissions\022(.google.iam.v1.TestIamPermiss" + + "ionsRequest\032).google.iam.v1.TestIamPermi" + + "ssionsResponse\"l\332A\024resource,permissions\212" + + "\323\344\223\002O\022\027\n\010resource\022\013{bucket=**}\0224\n\010resour" + + "ce\022({bucket=projects/*/buckets/*}/object" + + "s/**\022\212\001\n\014UpdateBucket\022&.google.storage.v" + + "2.UpdateBucketRequest\032\031.google.storage.v" + + "2.Bucket\"7\332A\022bucket,update_mask\212\323\344\223\002\034\022\032\n" + + "\013bucket.name\022\013{bucket=**}\022\237\001\n\030DeleteNoti" + + "ficationConfig\0222.google.storage.v2.Delet" + + "eNotificationConfigRequest\032\026.google.prot" + + "obuf.Empty\"7\332A\004name\212\323\344\223\002*\022(\n\004name\022 {buck" + + "et=projects/*/buckets/*}/**\022\250\001\n\025GetNotif" + + "icationConfig\022/.google.storage.v2.GetNot" + + "ificationConfigRequest\032%.google.storage." + + "v2.NotificationConfig\"7\332A\004name\212\323\344\223\002*\022(\n\004" + + "name\022 {bucket=projects/*/buckets/*}/**\022\261" + + "\001\n\030CreateNotificationConfig\0222.google.sto" + + "rage.v2.CreateNotificationConfigRequest\032" + + "%.google.storage.v2.NotificationConfig\":" + + "\332A\032parent,notification_config\212\323\344\223\002\027\022\025\n\006p" + + "arent\022\013{bucket=**}\022\250\001\n\027ListNotificationC" + + "onfigs\0221.google.storage.v2.ListNotificat" + + "ionConfigsRequest\0322.google.storage.v2.Li" + + "stNotificationConfigsResponse\"&\332A\006parent" + + "\212\323\344\223\002\027\022\025\n\006parent\022\013{bucket=**}\022~\n\rCompose" + + "Object\022\'.google.storage.v2.ComposeObject" + + "Request\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.Delet" + + "eObjectRequest\032\026.google.protobuf.Empty\"H" + + "\332A\rbucket,object\332A\030bucket,object,generat" + + "ion\212\323\344\223\002\027\022\025\n\006bucket\022\013{bucket=**}\022\215\001\n\rRes" + + "toreObject\022\'.google.storage.v2.RestoreOb" + + "jectRequest\032\031.google.storage.v2.Object\"8" + + "\332A\030bucket,object,generation\212\323\344\223\002\027\022\025\n\006buc" + + "ket\022\013{bucket=**}\022\272\001\n\024CancelResumableWrit" + + "e\022..google.storage.v2.CancelResumableWri" + + "teRequest\032/.google.storage.v2.CancelResu" + + "mableWriteResponse\"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.Obj" + + "ect\"H\332A\rbucket,object\332A\030bucket,object,ge" + + "neration\212\323\344\223\002\027\022\025\n\006bucket\022\013{bucket=**}\022\245\001" + + "\n\nReadObject\022$.google.storage.v2.ReadObj" + + "ectRequest\032%.google.storage.v2.ReadObjec" + + "tResponse\"H\332A\rbucket,object\332A\030bucket,obj" + + "ect,generation\212\323\344\223\002\027\022\025\n\006bucket\022\013{bucket=" + + "**}0\001\022\214\001\n\014UpdateObject\022&.google.storage." + + "v2.UpdateObjectRequest\032\031.google.storage." + + "v2.Object\"9\332A\022object,update_mask\212\323\344\223\002\036\022\034" + + "\n\robject.bucket\022\013{bucket=**}\022`\n\013WriteObj" + + "ect\022%.google.storage.v2.WriteObjectReque" + + "st\032&.google.storage.v2.WriteObjectRespon" + + "se\"\000(\001\022n\n\017BidiWriteObject\022).google.stora" + + "ge.v2.BidiWriteObjectRequest\032*.google.st" + + "orage.v2.BidiWriteObjectResponse\"\000(\0010\001\022\204" + + "\001\n\013ListObjects\022%.google.storage.v2.ListO" + + "bjectsRequest\032&.google.storage.v2.ListOb" + + "jectsResponse\"&\332A\006parent\212\323\344\223\002\027\022\025\n\006parent" + + "\022\013{bucket=**}\022\230\001\n\rRewriteObject\022\'.google" + + ".storage.v2.RewriteObjectRequest\032\".googl" + + "e.storage.v2.RewriteResponse\":\212\323\344\223\0024\022\017\n\r" + + "source_bucket\022!\n\022destination_bucket\022\013{bu" + + "cket=**}\022\256\001\n\023StartResumableWrite\022-.googl" + + "e.storage.v2.StartResumableWriteRequest\032" + + "..google.storage.v2.StartResumableWriteR" + + "esponse\"8\212\323\344\223\0022\0220\n!write_object_spec.res" + + "ource.bucket\022\013{bucket=**}\022\256\001\n\020QueryWrite" + + "Status\022*.google.storage.v2.QueryWriteSta" + + "tusRequest\032+.google.storage.v2.QueryWrit" + + "eStatusResponse\"A\332A\tupload_id\212\323\344\223\002/\022-\n\tu" + + "pload_id\022 {bucket=projects/*/buckets/*}/" + + "**\022\200\001\n\021GetServiceAccount\022+.google.storag" + + "e.v2.GetServiceAccountRequest\032!.google.s" + + "torage.v2.ServiceAccount\"\033\332A\007project\212\323\344\223" + + "\002\013\022\t\n\007project\022\225\001\n\rCreateHmacKey\022\'.google" + + ".storage.v2.CreateHmacKeyRequest\032(.googl" + + "e.storage.v2.CreateHmacKeyResponse\"1\332A\035p" + + "roject,service_account_email\212\323\344\223\002\013\022\t\n\007pr" + + "oject\022w\n\rDeleteHmacKey\022\'.google.storage." + + "v2.DeleteHmacKeyRequest\032\026.google.protobu" + + "f.Empty\"%\332A\021access_id,project\212\323\344\223\002\013\022\t\n\007p" + + "roject\022}\n\nGetHmacKey\022$.google.storage.v2" + + ".GetHmacKeyRequest\032\".google.storage.v2.H" + + "macKeyMetadata\"%\332A\021access_id,project\212\323\344\223" + + "\002\013\022\t\n\007project\022|\n\014ListHmacKeys\022&.google.s" + + "torage.v2.ListHmacKeysRequest\032\'.google.s" + + "torage.v2.ListHmacKeysResponse\"\033\332A\007proje" + + "ct\212\323\344\223\002\013\022\t\n\007project\022\235\001\n\rUpdateHmacKey\022\'." + + "google.storage.v2.UpdateHmacKeyRequest\032\"" + + ".google.storage.v2.HmacKeyMetadata\"?\332A\024h" + + "mac_key,update_mask\212\323\344\223\002\"\022 \n\020hmac_key.pr" + + "oject\022\014{project=**}\032\247\002\312A\026storage.googlea" + + "pis.com\322A\212\002https://www.googleapis.com/au" + + "th/cloud-platform,https://www.googleapis" + + ".com/auth/cloud-platform.read-only,https" + + "://www.googleapis.com/auth/devstorage.fu" + + "ll_control,https://www.googleapis.com/au" + + "th/devstorage.read_only,https://www.goog" + + "leapis.com/auth/devstorage.read_writeB\342\001" + + "\n\025com.google.storage.v2B\014StorageProtoP\001Z" + + ">cloud.google.com/go/storage/internal/ap" + + "iv2/storagepb;storagepb\352Ax\n!cloudkms.goo" + + "gleapis.com/CryptoKey\022Sprojects/{project" + + "}/locations/{location}/keyRings/{key_rin" + + "g}/cryptoKeys/{crypto_key}b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -1712,6 +1716,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Owner", "CustomerEncryption", "CustomTime", + "SoftDeleteTime", + "HardDeleteTime", }); internal_static_google_storage_v2_Object_MetadataEntry_descriptor = internal_static_google_storage_v2_Object_descriptor.getNestedTypes().get(0); 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 de6e27ea3..a8516a58e 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 @@ -2458,6 +2458,20 @@ message Object { // A user-specified timestamp set on an object. google.protobuf.Timestamp custom_time = 26; + + // Output only. This is the time when the object became soft-deleted. + // + // Soft-deleted objects are only accessible if a soft_delete_policy is + // enabled. Also see hard_delete_time. + optional google.protobuf.Timestamp soft_delete_time = 28 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the object will be permanently deleted. + // + // Only set when an object becomes soft-deleted with a soft_delete_policy. + // Otherwise, the object will not be accessible. + optional google.protobuf.Timestamp hard_delete_time = 29 + [(google.api.field_behavior) = OUTPUT_ONLY]; } // An access-control entry.