From a86cc110c6271e9b688e08b54fb02c56c93f5fb9 Mon Sep 17 00:00:00 2001 From: macastelaz <34776182+macastelaz@users.noreply.github.com> Date: Tue, 4 Aug 2026 20:59:24 -0500 Subject: [PATCH 01/12] Sync agentic with main (#13994) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Kirill Logachev Co-authored-by: Min Zhu Co-authored-by: Lawrence Qiu Co-authored-by: yangyzs <171981480+yangyzs@users.noreply.github.com> Co-authored-by: cloud-java-bot <122572305+cloud-java-bot@users.noreply.github.com> Co-authored-by: Keshav Dandeva Co-authored-by: Mattie Fu Co-authored-by: Will Howes Co-authored-by: Jin Seop Kim Co-authored-by: Jiang Zhu Co-authored-by: Knut Olav Løite Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: rahul2393 Co-authored-by: Sakthivel Subramanian <179120858+sakthivelmanii@users.noreply.github.com> Co-authored-by: Gaole Meng --- .github/workflows/changelog_generation.yaml | 2 +- .../workflows/changelog_generation_test.yaml | 2 +- .github/workflows/ci.yaml | 24 +- .../create_additional_release_tag.yaml | 10 +- .../google-auth-library-java-ci.yaml | 8 +- .github/workflows/java-bigquery-jdbc-ci.yaml | 14 +- .github/workflows/java-bigquery-scorecard.yml | 2 +- .github/workflows/java-bigtable-ci.yaml | 16 +- .../workflows/java-bigtable-conformance.yaml | 6 +- .../java-cloud-bom-bom-content-test.yaml | 10 +- ...-cloud-bom-ci-release-note-generation.yaml | 10 +- .../java-cloud-bom-ci-validate-bom.yaml | 4 +- .github/workflows/java-cloud-bom-ci.yaml | 32 +- .../workflows/java-cloud-bom-dashboard.yaml | 10 +- ...ava-cloud-bom-release-note-generation.yaml | 4 +- .github/workflows/java-firestore-ci.yaml | 16 +- .github/workflows/java-pubsub-ci.yaml | 16 +- .github/workflows/java-shared-config-ci.yaml | 16 +- ...shared-config-downstream-dependencies.yaml | 2 +- ...hared-config-downstream-maven-plugins.yaml | 4 +- ...er-integration-tests-against-emulator.yaml | 6 +- .github/workflows/java-spanner-jdbc-ci.yaml | 14 +- ...bc-integration-tests-against-emulator.yaml | 6 +- .../java-spanner-jdbc-quickperf.yaml | 6 +- .../java-spanner-jdbc-sample-tests.yml | 6 +- ...-spanner-jdbc-spring-data-jdbc-sample.yaml | 6 +- ...anner-jdbc-spring-data-mybatis-sample.yaml | 6 +- .github/workflows/java-storage-nio-ci.yaml | 14 +- .../workflows/librarian_generation_check.yaml | 8 +- .github/workflows/readme.yaml | 2 +- .github/workflows/release_tools_test.yaml | 2 +- .github/workflows/repository_sanity.yaml | 8 +- .../sdk-platform-java-analyze_dependency.yaml | 4 +- .github/workflows/sdk-platform-java-ci.yaml | 26 +- ...rm-java-dependency_compatibility_test.yaml | 19 +- .../sdk-platform-java-downstream.yaml | 6 +- ...downstream_unmanaged_dependency_check.yaml | 6 +- .../workflows/sdk-platform-java-nightly.yaml | 10 +- ...sdk-platform-java-shared_dependencies.yaml | 4 +- .../workflows/sdk-platform-java-sonar.yaml | 4 +- .github/workflows/showcase-version-check.yaml | 4 +- .github/workflows/showcase.yaml | 40 +- .../workflows/unmanaged_dependency_check.yaml | 2 +- .../update_librarian_googleapis.yaml | 9 +- .github/workflows/versions.yaml | 4 +- .gitignore | 3 - ...torage-expected-flattened-dependencies.txt | 80 +- .release-please-manifest.json | 2 +- CHANGELOG.md | 93 + WORKSPACE | 2 +- changelog.json | 9342 ++++++++++++++++- gapic-libraries-bom/pom.xml | 450 +- google-auth-library-java/appengine/pom.xml | 2 +- google-auth-library-java/bom/README.md | 2 +- google-auth-library-java/bom/pom.xml | 10 +- .../cab-token-generator/pom.xml | 2 +- google-auth-library-java/credentials/pom.xml | 2 +- google-auth-library-java/oauth2_http/pom.xml | 2 +- google-auth-library-java/pom.xml | 4 +- google-cloud-jar-parent/pom.xml | 8 +- google-cloud-pom-parent/pom.xml | 4 +- grpc-gcp-java/pom.xml | 6 +- .../google-cloud-accessapproval-bom/pom.xml | 10 +- .../google-cloud-accessapproval/pom.xml | 4 +- .../cloud/accessapproval/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-accessapproval/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 12 +- .../pom.xml | 4 +- .../accesscontextmanager/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-accesscontextmanager/pom.xml | 12 +- .../pom.xml | 4 +- .../pom.xml | 6 +- java-admanager/ad-manager-bom/pom.xml | 8 +- java-admanager/ad-manager/pom.xml | 4 +- .../google/ads/admanager/v1/stub/Version.java | 2 +- java-admanager/pom.xml | 8 +- java-admanager/proto-ad-manager-v1/pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-advisorynotifications/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-agentidentity-bom/pom.xml | 14 +- .../google-cloud-agentidentity/pom.xml | 4 +- .../cloud/agentidentity/v1/stub/Version.java | 2 +- .../agentidentity/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-agentidentity/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-agentregistry-bom/pom.xml | 10 +- .../google-cloud-agentregistry/pom.xml | 4 +- .../cloud/agentregistry/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-agentregistry/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-aiplatform-bom/pom.xml | 14 +- .../google-cloud-aiplatform/pom.xml | 4 +- .../cloud/aiplatform/v1/stub/Version.java | 2 +- .../aiplatform/v1beta1/stub/Version.java | 2 +- .../grpc-google-cloud-aiplatform-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-aiplatform/pom.xml | 14 +- .../proto-google-cloud-aiplatform-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 12 +- .../google-cloud-alloydb-connectors/pom.xml | 4 +- java-alloydb-connectors/pom.xml | 12 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-alloydb/google-cloud-alloydb-bom/pom.xml | 18 +- java-alloydb/google-cloud-alloydb/pom.xml | 4 +- .../google/cloud/alloydb/v1/stub/Version.java | 2 +- .../cloud/alloydb/v1alpha/stub/Version.java | 2 +- .../cloud/alloydb/v1beta/stub/Version.java | 2 +- .../grpc-google-cloud-alloydb-v1/pom.xml | 4 +- .../grpc-google-cloud-alloydb-v1alpha/pom.xml | 4 +- .../grpc-google-cloud-alloydb-v1beta/pom.xml | 4 +- java-alloydb/pom.xml | 18 +- .../proto-google-cloud-alloydb-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../proto-google-cloud-alloydb-v1beta/pom.xml | 4 +- .../google-analytics-admin-bom/pom.xml | 14 +- .../google-analytics-admin/pom.xml | 4 +- .../analytics/admin/v1alpha/stub/Version.java | 2 +- .../analytics/admin/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-analytics-admin/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-analytics-data-bom/pom.xml | 14 +- .../google-analytics-data/pom.xml | 4 +- .../analytics/data/v1alpha/stub/Version.java | 2 +- .../analytics/data/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../grpc-google-analytics-data-v1beta/pom.xml | 4 +- java-analytics-data/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-analyticshub-bom/pom.xml | 10 +- .../google-cloud-analyticshub/pom.xml | 4 +- .../analyticshub/v1/stub/Version.java | 2 +- .../grpc-google-cloud-analyticshub-v1/pom.xml | 4 +- java-analyticshub/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-api-gateway-bom/pom.xml | 10 +- .../google-cloud-api-gateway/pom.xml | 4 +- .../cloud/apigateway/v1/stub/Version.java | 2 +- .../grpc-google-cloud-api-gateway-v1/pom.xml | 4 +- java-api-gateway/pom.xml | 10 +- .../proto-google-cloud-api-gateway-v1/pom.xml | 4 +- .../google-cloud-apigee-connect-bom/pom.xml | 10 +- .../google-cloud-apigee-connect/pom.xml | 4 +- .../cloud/apigeeconnect/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-apigee-connect/pom.xml | 10 +- .../pom.xml | 4 +- java-apihub/google-cloud-apihub-bom/pom.xml | 8 +- java-apihub/google-cloud-apihub/pom.xml | 4 +- .../google/cloud/apihub/v1/stub/Version.java | 2 +- java-apihub/pom.xml | 8 +- .../proto-google-cloud-apihub-v1/pom.xml | 4 +- java-apikeys/google-cloud-apikeys-bom/pom.xml | 10 +- java-apikeys/google-cloud-apikeys/pom.xml | 4 +- .../google/api/apikeys/v2/stub/Version.java | 2 +- .../grpc-google-cloud-apikeys-v2/pom.xml | 4 +- java-apikeys/pom.xml | 10 +- .../proto-google-cloud-apikeys-v2/pom.xml | 4 +- .../google-cloud-appengine-admin-bom/pom.xml | 10 +- .../google-cloud-appengine-admin/pom.xml | 4 +- .../com/google/appengine/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-appengine-admin/pom.xml | 10 +- .../pom.xml | 4 +- java-apphub/google-cloud-apphub-bom/pom.xml | 10 +- java-apphub/google-cloud-apphub/pom.xml | 4 +- .../google/cloud/apphub/v1/stub/Version.java | 2 +- .../grpc-google-cloud-apphub-v1/pom.xml | 4 +- java-apphub/pom.xml | 10 +- .../proto-google-cloud-apphub-v1/pom.xml | 4 +- .../google-cloud-appoptimize-bom/pom.xml | 10 +- .../google-cloud-appoptimize/pom.xml | 4 +- .../appoptimize/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- java-appoptimize/pom.xml | 10 +- .../pom.xml | 4 +- .../google-area120-tables-bom/pom.xml | 10 +- .../google-area120-tables/pom.xml | 4 +- .../area120/tables/v1alpha/stub/Version.java | 2 +- .../pom.xml | 4 +- java-area120-tables/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../google-cloud-artifact-registry/pom.xml | 4 +- .../artifactregistry/v1/stub/Version.java | 2 +- .../v1beta2/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-artifact-registry/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-asset/google-cloud-asset-bom/pom.xml | 26 +- java-asset/google-cloud-asset/pom.xml | 4 +- .../google/cloud/asset/v1/stub/Version.java | 2 +- .../cloud/asset/v1p1beta1/stub/Version.java | 2 +- .../cloud/asset/v1p2beta1/stub/Version.java | 2 +- .../cloud/asset/v1p5beta1/stub/Version.java | 2 +- .../cloud/asset/v1p7beta1/stub/Version.java | 2 +- java-asset/grpc-google-cloud-asset-v1/pom.xml | 4 +- .../grpc-google-cloud-asset-v1p1beta1/pom.xml | 4 +- .../grpc-google-cloud-asset-v1p2beta1/pom.xml | 4 +- .../grpc-google-cloud-asset-v1p5beta1/pom.xml | 4 +- .../grpc-google-cloud-asset-v1p7beta1/pom.xml | 4 +- java-asset/pom.xml | 34 +- .../proto-google-cloud-asset-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../google-cloud-assured-workloads/pom.xml | 4 +- .../assuredworkloads/v1/stub/Version.java | 2 +- .../v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-assured-workloads/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-auditmanager-bom/pom.xml | 10 +- .../google-cloud-auditmanager/pom.xml | 4 +- .../cloud/auditmanager/v1/stub/Version.java | 2 +- .../grpc-google-cloud-auditmanager-v1/pom.xml | 4 +- java-auditmanager/pom.xml | 10 +- .../pom.xml | 4 +- java-automl/google-cloud-automl-bom/pom.xml | 14 +- java-automl/google-cloud-automl/pom.xml | 4 +- .../google/cloud/automl/v1/stub/Version.java | 2 +- .../cloud/automl/v1beta1/stub/Version.java | 2 +- .../grpc-google-cloud-automl-v1/pom.xml | 4 +- .../grpc-google-cloud-automl-v1beta1/pom.xml | 4 +- java-automl/pom.xml | 14 +- .../proto-google-cloud-automl-v1/pom.xml | 4 +- .../proto-google-cloud-automl-v1beta1/pom.xml | 4 +- .../google-cloud-backstory-bom/pom.xml | 8 +- java-backstory/google-cloud-backstory/pom.xml | 4 +- java-backstory/pom.xml | 8 +- .../proto-google-cloud-backstory/pom.xml | 4 +- .../google-cloud-backupdr-bom/pom.xml | 10 +- java-backupdr/google-cloud-backupdr/pom.xml | 4 +- .../cloud/backupdr/v1/stub/Version.java | 2 +- .../grpc-google-cloud-backupdr-v1/pom.xml | 4 +- java-backupdr/pom.xml | 10 +- .../proto-google-cloud-backupdr-v1/pom.xml | 4 +- .../pom.xml | 10 +- .../google-cloud-bare-metal-solution/pom.xml | 4 +- .../baremetalsolution/v2/stub/Version.java | 2 +- .../pom.xml | 4 +- java-bare-metal-solution/pom.xml | 10 +- .../pom.xml | 4 +- java-batch/google-cloud-batch-bom/pom.xml | 14 +- java-batch/google-cloud-batch/pom.xml | 4 +- .../google/cloud/batch/v1/stub/Version.java | 2 +- .../cloud/batch/v1alpha/stub/Version.java | 2 +- java-batch/grpc-google-cloud-batch-v1/pom.xml | 4 +- .../grpc-google-cloud-batch-v1alpha/pom.xml | 4 +- java-batch/pom.xml | 14 +- .../proto-google-cloud-batch-v1/pom.xml | 4 +- .../proto-google-cloud-batch-v1alpha/pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../appconnections/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-beyondcorp-appconnections/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../appconnectors/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-beyondcorp-appconnectors/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../appgateways/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-beyondcorp-appgateways/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../v1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../clientgateways/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-beyondcorp-clientgateways/pom.xml | 10 +- .../pom.xml | 4 +- java-biglake/google-cloud-biglake-bom/pom.xml | 18 +- java-biglake/google-cloud-biglake/pom.xml | 4 +- .../biglake/hive/v1beta/stub/Version.java | 2 +- .../google/cloud/biglake/v1/stub/Version.java | 2 +- .../bigquery/biglake/v1/stub/Version.java | 2 +- .../biglake/v1alpha1/stub/Version.java | 2 +- .../grpc-google-cloud-biglake-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../grpc-google-cloud-biglake-v1beta/pom.xml | 4 +- java-biglake/pom.xml | 18 +- .../proto-google-cloud-biglake-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../proto-google-cloud-biglake-v1beta/pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../dataexchange/v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-bigquery-data-exchange/pom.xml | 10 +- .../pom.xml | 4 +- java-bigquery-jdbc/Dockerfile | 2 +- java-bigquery-jdbc/Makefile | 23 +- java-bigquery-jdbc/pom.xml | 14 +- .../jdbc/BigQueryDatabaseMetaData.java | 1990 ++-- .../bigquery/jdbc/BigQueryJdbcRootLogger.java | 27 +- .../jdbc/BigQueryDatabaseMetaDataTest.java | 96 +- .../jdbc/BigQueryJdbcRootLoggerTest.java | 24 + .../cloud/bigquery/jdbc/it/ITAuthTests.java | 5 + .../bigquery/jdbc/it/ITBigQueryJDBCTest.java | 5 + .../bigquery/jdbc/it/ITConnectionTest.java | 3 + .../jdbc/it/ITDatabaseMetadataTest.java | 6 + .../jdbc/it/ITNightlyBigQueryTest.java | 3 + .../bigquery/jdbc/it/ITOpenTelemetryTest.java | 2 + java-bigquery/README.md | 8 +- java-bigquery/benchmark/pom.xml | 4 +- .../google-cloud-bigquery-bom/pom.xml | 6 +- java-bigquery/google-cloud-bigquery/pom.xml | 18 +- .../google/cloud/bigquery/BigQueryImpl.java | 4 + .../cloud/bigquery/telemetry/Version.java | 2 +- .../testing/RemoteBigQueryHelper.java | 15 +- java-bigquery/pom.xml | 12 +- java-bigquery/samples/snapshot/pom.xml | 2 +- .../pom.xml | 14 +- .../google-cloud-bigqueryconnection/pom.xml | 4 +- .../connection/v1beta1/stub/Version.java | 2 +- .../bigqueryconnection/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-bigqueryconnection/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 22 +- .../google-cloud-bigquerydatapolicy/pom.xml | 4 +- .../datapolicies/v1/stub/Version.java | 2 +- .../datapolicies/v1beta1/stub/Version.java | 2 +- .../datapolicies/v2/stub/Version.java | 2 +- .../datapolicies/v2beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-bigquerydatapolicy/pom.xml | 22 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-cloud-bigquerydatatransfer/pom.xml | 4 +- .../datatransfer/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-bigquerydatatransfer/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../google-cloud-bigquerymigration/pom.xml | 4 +- .../bigquery/migration/v2/stub/Version.java | 2 +- .../migration/v2alpha/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-bigquerymigration/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-cloud-bigqueryreservation/pom.xml | 4 +- .../bigquery/reservation/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-bigqueryreservation/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-bigquerystorage-bom/pom.xml | 26 +- .../google-cloud-bigquerystorage/pom.xml | 4 +- .../bigquery/storage/v1/stub/Version.java | 2 +- .../storage/v1alpha/stub/Version.java | 2 +- .../bigquery/storage/v1beta/stub/Version.java | 2 +- .../storage/v1beta1/stub/Version.java | 2 +- .../storage/v1beta2/stub/Version.java | 2 +- ...gQueryBigDecimalByteStringEncoderTest.java | 2 +- .../it/ITBigQueryStorageLongRunningTest.java | 2 +- .../it/ITBigQueryStorageReadClientTest.java | 6 +- .../it/ITBigQueryStorageWriteClientTest.java | 6 +- .../v1/it/ITBigQueryTimeEncoderTest.java | 2 +- .../it/ITBigQueryWriteNonQuotaRetryTest.java | 2 +- .../v1/it/ITBigQueryWriteQuotaRetryTest.java | 2 +- .../bigquery/storage/v1/it/util/Helper.java | 43 + .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-bigquerystorage/pom.xml | 26 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-bigquerystorage/samples/snapshot/pom.xml | 2 +- .../google-cloud-bigtable-bom/pom.xml | 18 +- .../google-cloud-bigtable-deps-bom/README.md | 4 +- .../google-cloud-bigtable-deps-bom/pom.xml | 8 +- .../pom.xml | 4 +- .../google-cloud-bigtable-emulator/pom.xml | 10 +- java-bigtable/google-cloud-bigtable/pom.xml | 10 +- .../com/google/cloud/bigtable/Version.java | 2 +- .../cloud/bigtable/admin/v2/stub/Version.java | 2 +- .../internal/channels/ChannelPoolDpImpl.java | 13 +- .../internal/channels/SingleChannelPool.java | 13 +- .../cloud/bigtable/data/v2/stub/Version.java | 2 +- .../pom.xml | 8 +- .../grpc-google-cloud-bigtable-v2/pom.xml | 8 +- java-bigtable/pom.xml | 14 +- .../pom.xml | 8 +- .../proto-google-cloud-bigtable-v2/pom.xml | 8 +- java-bigtable/samples/snapshot/pom.xml | 2 +- java-bigtable/test-proxy/pom.xml | 4 +- java-billing/google-cloud-billing-bom/pom.xml | 10 +- java-billing/google-cloud-billing/pom.xml | 4 +- .../google/cloud/billing/v1/stub/Version.java | 2 +- .../grpc-google-cloud-billing-v1/pom.xml | 4 +- java-billing/pom.xml | 10 +- .../proto-google-cloud-billing-v1/pom.xml | 4 +- .../google-cloud-billingbudgets-bom/pom.xml | 14 +- .../google-cloud-billingbudgets/pom.xml | 4 +- .../billing/budgets/v1/stub/Version.java | 2 +- .../billing/budgets/v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-billingbudgets/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../google-cloud-binary-authorization/pom.xml | 4 +- .../v1beta1/stub/Version.java | 2 +- .../binaryauthorization/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-binary-authorization/pom.xml | 16 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-capacityplanner-bom/pom.xml | 10 +- .../google-cloud-capacityplanner/pom.xml | 4 +- .../capacityplanner/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- java-capacityplanner/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-cloud-certificate-manager/pom.xml | 4 +- .../certificatemanager/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-certificate-manager/pom.xml | 10 +- .../pom.xml | 4 +- java-ces/google-cloud-ces-bom/pom.xml | 14 +- java-ces/google-cloud-ces/pom.xml | 4 +- .../com/google/cloud/ces/v1/stub/Version.java | 2 +- .../google/cloud/ces/v1beta/stub/Version.java | 2 +- java-ces/grpc-google-cloud-ces-v1/pom.xml | 4 +- java-ces/grpc-google-cloud-ces-v1beta/pom.xml | 4 +- java-ces/pom.xml | 14 +- java-ces/proto-google-cloud-ces-v1/pom.xml | 4 +- .../proto-google-cloud-ces-v1beta/pom.xml | 4 +- java-channel/google-cloud-channel-bom/pom.xml | 10 +- java-channel/google-cloud-channel/pom.xml | 4 +- .../google/cloud/channel/v1/stub/Version.java | 2 +- .../grpc-google-cloud-channel-v1/pom.xml | 4 +- java-channel/pom.xml | 10 +- .../proto-google-cloud-channel-v1/pom.xml | 4 +- java-chat/google-cloud-chat-bom/pom.xml | 10 +- java-chat/google-cloud-chat/pom.xml | 4 +- .../java/com/google/chat/v1/stub/Version.java | 2 +- java-chat/grpc-google-cloud-chat-v1/pom.xml | 4 +- java-chat/pom.xml | 10 +- java-chat/proto-google-cloud-chat-v1/pom.xml | 4 +- .../google-cloud-chronicle-bom/pom.xml | 10 +- java-chronicle/google-cloud-chronicle/pom.xml | 4 +- .../cloud/chronicle/v1/stub/Version.java | 2 +- .../grpc-google-cloud-chronicle-v1/pom.xml | 4 +- java-chronicle/pom.xml | 10 +- .../proto-google-cloud-chronicle-v1/pom.xml | 4 +- java-cloud-bom/README.md | 461 +- java-cloud-bom/google-cloud-bom/pom.xml | 4 +- java-cloud-bom/libraries-bom/pom.xml | 6 +- .../tests/dependency-convergence/pom.xml | 4 +- java-cloud-bom/tests/pom.xml | 2 +- java-cloud-bom/tests/validate-bom/pom.xml | 2 +- .../google-cloud-cloudapiregistry-bom/pom.xml | 14 +- .../google-cloud-cloudapiregistry/pom.xml | 4 +- .../cloud/apiregistry/v1/stub/Version.java | 2 +- .../apiregistry/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-cloudapiregistry/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-build-bom/pom.xml | 14 +- java-cloudbuild/google-cloud-build/pom.xml | 4 +- .../devtools/cloudbuild/v1/stub/Version.java | 2 +- .../devtools/cloudbuild/v2/stub/Version.java | 2 +- .../grpc-google-cloud-build-v1/pom.xml | 4 +- .../grpc-google-cloud-build-v2/pom.xml | 4 +- java-cloudbuild/pom.xml | 14 +- .../proto-google-cloud-build-v1/pom.xml | 4 +- .../proto-google-cloud-build-v2/pom.xml | 4 +- .../pom.xml | 14 +- .../pom.xml | 4 +- .../consumer/procurement/v1/stub/Version.java | 2 +- .../procurement/v1alpha1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-cloudcommerceconsumerprocurement/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../google-cloud-cloudcontrolspartner/pom.xml | 4 +- .../cloudcontrolspartner/v1/stub/Version.java | 2 +- .../v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-cloudcontrolspartner/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-cloudquotas-bom/pom.xml | 14 +- .../google-cloud-cloudquotas/pom.xml | 4 +- .../api/cloudquotas/v1/stub/Version.java | 2 +- .../api/cloudquotas/v1beta/stub/Version.java | 2 +- .../grpc-google-cloud-cloudquotas-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-cloudquotas/pom.xml | 14 +- .../proto-google-cloud-cloudquotas-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-cloudsecuritycompliance/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-cloudsupport-bom/pom.xml | 14 +- .../google-cloud-cloudsupport/pom.xml | 4 +- .../google/cloud/support/v2/stub/Version.java | 2 +- .../cloud/support/v2beta/stub/Version.java | 2 +- .../grpc-google-cloud-cloudsupport-v2/pom.xml | 4 +- .../pom.xml | 4 +- java-cloudsupport/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-commerceproducer-bom/pom.xml | 10 +- .../google-cloud-commerceproducer/pom.xml | 4 +- .../commerceproducer/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- java-commerceproducer/pom.xml | 10 +- .../pom.xml | 4 +- .../grpc-google-common-protos/pom.xml | 4 +- java-common-protos/pom.xml | 10 +- .../proto-google-common-protos/pom.xml | 4 +- java-compute/google-cloud-compute-bom/pom.xml | 8 +- java-compute/google-cloud-compute/pom.xml | 8 +- .../google/cloud/compute/v1/stub/Version.java | 2 +- java-compute/pom.xml | 8 +- .../proto-google-cloud-compute-v1/pom.xml | 4 +- .../pom.xml | 14 +- .../pom.xml | 4 +- .../v1/stub/Version.java | 2 +- .../v1alpha1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-confidentialcomputing/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-configdelivery-bom/pom.xml | 14 +- .../google-cloud-configdelivery/pom.xml | 4 +- .../cloud/configdelivery/v1/stub/Version.java | 2 +- .../configdelivery/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-configdelivery/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-connectgateway-bom/pom.xml | 8 +- .../google-cloud-connectgateway/pom.xml | 4 +- .../gkeconnect/gateway/v1/stub/Version.java | 2 +- java-connectgateway/pom.xml | 8 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-contact-center-insights/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-container-bom/pom.xml | 14 +- java-container/google-cloud-container/pom.xml | 4 +- .../cloud/container/v1/stub/Version.java | 2 +- .../cloud/container/v1beta1/stub/Version.java | 2 +- .../grpc-google-cloud-container-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-container/pom.xml | 14 +- .../proto-google-cloud-container-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../google-cloud-containeranalysis/pom.xml | 4 +- .../containeranalysis/v1/stub/Version.java | 2 +- .../v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-containeranalysis/pom.xml | 16 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-contentwarehouse-bom/pom.xml | 10 +- .../google-cloud-contentwarehouse/pom.xml | 4 +- .../contentwarehouse/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-contentwarehouse/pom.xml | 12 +- .../pom.xml | 4 +- .../google-cloud-data-fusion-bom/pom.xml | 14 +- .../google-cloud-data-fusion/pom.xml | 4 +- .../cloud/datafusion/v1/stub/Version.java | 2 +- .../datafusion/v1beta1/stub/Version.java | 2 +- .../grpc-google-cloud-data-fusion-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-data-fusion/pom.xml | 14 +- .../proto-google-cloud-data-fusion-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-databasecenter-bom/pom.xml | 10 +- .../google-cloud-databasecenter/pom.xml | 4 +- .../databasecenter/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- java-databasecenter/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-datacatalog-bom/pom.xml | 14 +- .../google-cloud-datacatalog/pom.xml | 4 +- .../cloud/datacatalog/v1/stub/Version.java | 2 +- .../datacatalog/v1beta1/stub/Version.java | 2 +- .../grpc-google-cloud-datacatalog-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-datacatalog/pom.xml | 14 +- .../proto-google-cloud-datacatalog-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-dataflow-bom/pom.xml | 10 +- java-dataflow/google-cloud-dataflow/pom.xml | 4 +- .../google/dataflow/v1beta3/stub/Version.java | 2 +- .../pom.xml | 4 +- java-dataflow/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-dataform-bom/pom.xml | 14 +- java-dataform/google-cloud-dataform/pom.xml | 4 +- .../cloud/dataform/v1/stub/Version.java | 2 +- .../cloud/dataform/v1beta1/stub/Version.java | 2 +- .../grpc-google-cloud-dataform-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-dataform/pom.xml | 14 +- .../proto-google-cloud-dataform-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-datalabeling-bom/pom.xml | 10 +- .../google-cloud-datalabeling/pom.xml | 4 +- .../datalabeling/v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-datalabeling/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-datalineage-bom/pom.xml | 10 +- .../google-cloud-datalineage/pom.xml | 4 +- .../configmanagement/v1/stub/Version.java | 2 +- .../datacatalog/lineage/v1/stub/Version.java | 2 +- .../grpc-google-cloud-datalineage-v1/pom.xml | 4 +- java-datalineage/pom.xml | 10 +- .../proto-google-cloud-datalineage-v1/pom.xml | 4 +- java-datamanager/data-manager-bom/pom.xml | 10 +- java-datamanager/data-manager/pom.xml | 4 +- .../ads/datamanager/v1/stub/Version.java | 2 +- java-datamanager/grpc-data-manager-v1/pom.xml | 4 +- java-datamanager/pom.xml | 10 +- .../proto-data-manager-v1/pom.xml | 4 +- .../google-cloud-dataplex-bom/pom.xml | 10 +- java-dataplex/google-cloud-dataplex/pom.xml | 4 +- .../cloud/dataplex/v1/stub/Version.java | 2 +- .../grpc-google-cloud-dataplex-v1/pom.xml | 4 +- java-dataplex/pom.xml | 10 +- .../proto-google-cloud-dataplex-v1/pom.xml | 4 +- .../pom.xml | 18 +- .../google-cloud-dataproc-metastore/pom.xml | 4 +- .../cloud/metastore/v1/stub/Version.java | 2 +- .../cloud/metastore/v1alpha/stub/Version.java | 2 +- .../cloud/metastore/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-dataproc-metastore/pom.xml | 18 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-dataproc-bom/pom.xml | 10 +- java-dataproc/google-cloud-dataproc/pom.xml | 4 +- .../cloud/dataproc/v1/stub/Version.java | 2 +- .../grpc-google-cloud-dataproc-v1/pom.xml | 4 +- java-dataproc/pom.xml | 10 +- .../proto-google-cloud-dataproc-v1/pom.xml | 4 +- .../datastore-v1-proto-client/pom.xml | 4 +- .../google-cloud-datastore-bom/pom.xml | 14 +- .../google-cloud-datastore-utils/pom.xml | 4 +- java-datastore/google-cloud-datastore/pom.xml | 12 +- .../datastore/admin/v1/stub/Version.java | 2 +- .../cloud/datastore/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../grpc-google-cloud-datastore-v1/pom.xml | 4 +- java-datastore/pom.xml | 18 +- .../pom.xml | 4 +- .../proto-google-cloud-datastore-v1/pom.xml | 4 +- java-datastore/samples/snapshot/pom.xml | 2 +- java-datastore/samples/snippets/pom.xml | 2 +- .../google-cloud-datastream-bom/pom.xml | 14 +- .../google-cloud-datastream/pom.xml | 4 +- .../cloud/datastream/v1/stub/Version.java | 2 +- .../datastream/v1alpha1/stub/Version.java | 2 +- .../grpc-google-cloud-datastream-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-datastream/pom.xml | 14 +- .../proto-google-cloud-datastream-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-deploy/google-cloud-deploy-bom/pom.xml | 10 +- java-deploy/google-cloud-deploy/pom.xml | 4 +- .../google/cloud/deploy/v1/stub/Version.java | 2 +- .../grpc-google-cloud-deploy-v1/pom.xml | 4 +- java-deploy/pom.xml | 10 +- .../proto-google-cloud-deploy-v1/pom.xml | 4 +- .../google-cloud-developerconnect-bom/pom.xml | 10 +- .../google-cloud-developerconnect/pom.xml | 4 +- .../developerconnect/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-developerconnect/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-cloud-developer-knowledge/pom.xml | 4 +- .../developers/knowledge/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-developerknowledge/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-devicestreaming-bom/pom.xml | 10 +- .../google-cloud-devicestreaming/pom.xml | 4 +- .../devicestreaming/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-devicestreaming/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-dialogflow-cx-bom/pom.xml | 14 +- .../google-cloud-dialogflow-cx/pom.xml | 4 +- .../cloud/dialogflow/cx/v3/stub/Version.java | 2 +- .../dialogflow/cx/v3beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-dialogflow-cx/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-dialogflow-bom/pom.xml | 14 +- .../google-cloud-dialogflow/pom.xml | 9 +- .../cloud/dialogflow/v2/stub/Version.java | 2 +- .../dialogflow/v2beta1/stub/Version.java | 2 +- .../cloud/dialogflow/v2/it/ITSystemTest.java | 32 +- .../grpc-google-cloud-dialogflow-v2/pom.xml | 4 +- .../pom.xml | 4 +- java-dialogflow/pom.xml | 14 +- .../proto-google-cloud-dialogflow-v2/pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-discoveryengine-bom/pom.xml | 18 +- .../google-cloud-discoveryengine/pom.xml | 4 +- .../discoveryengine/v1/stub/Version.java | 2 +- .../discoveryengine/v1alpha/stub/Version.java | 2 +- .../discoveryengine/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-discoveryengine/pom.xml | 18 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-cloud-distributedcloudedge/pom.xml | 4 +- .../cloud/edgecontainer/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-distributedcloudedge/pom.xml | 10 +- .../pom.xml | 4 +- java-dlp/google-cloud-dlp-bom/pom.xml | 10 +- java-dlp/google-cloud-dlp/pom.xml | 4 +- .../com/google/cloud/dlp/v2/stub/Version.java | 2 +- java-dlp/grpc-google-cloud-dlp-v2/pom.xml | 4 +- java-dlp/pom.xml | 10 +- java-dlp/proto-google-cloud-dlp-v2/pom.xml | 4 +- java-dms/google-cloud-dms-bom/pom.xml | 10 +- java-dms/google-cloud-dms/pom.xml | 4 +- .../cloud/clouddms/v1/stub/Version.java | 2 +- java-dms/grpc-google-cloud-dms-v1/pom.xml | 4 +- java-dms/pom.xml | 10 +- java-dms/proto-google-cloud-dms-v1/pom.xml | 4 +- java-dns/README.md | 6 +- java-dns/pom.xml | 4 +- .../google-cloud-document-ai-bom/pom.xml | 14 +- .../google-cloud-document-ai/pom.xml | 4 +- .../cloud/documentai/v1/stub/Version.java | 2 +- .../documentai/v1beta3/stub/Version.java | 2 +- .../grpc-google-cloud-document-ai-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-document-ai/pom.xml | 14 +- .../proto-google-cloud-document-ai-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-domains/google-cloud-domains-bom/pom.xml | 18 +- java-domains/google-cloud-domains/pom.xml | 4 +- .../google/cloud/domains/v1/stub/Version.java | 2 +- .../cloud/domains/v1alpha2/stub/Version.java | 2 +- .../cloud/domains/v1beta1/stub/Version.java | 2 +- .../grpc-google-cloud-domains-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../grpc-google-cloud-domains-v1beta1/pom.xml | 4 +- java-domains/pom.xml | 18 +- .../proto-google-cloud-domains-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-edgenetwork-bom/pom.xml | 10 +- .../google-cloud-edgenetwork/pom.xml | 4 +- .../cloud/edgenetwork/v1/stub/Version.java | 2 +- .../grpc-google-cloud-edgenetwork-v1/pom.xml | 4 +- java-edgenetwork/pom.xml | 10 +- .../proto-google-cloud-edgenetwork-v1/pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-enterpriseknowledgegraph/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-errorreporting-bom/pom.xml | 10 +- .../google-cloud-errorreporting/pom.xml | 4 +- .../v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-errorreporting/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-cloud-essential-contacts/pom.xml | 4 +- .../essentialcontacts/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-essential-contacts/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-cloud-eventarc-publishing/pom.xml | 4 +- .../eventarc/publishing/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-eventarc-publishing/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-eventarc-bom/pom.xml | 10 +- java-eventarc/google-cloud-eventarc/pom.xml | 4 +- .../cloud/eventarc/v1/stub/Version.java | 2 +- .../grpc-google-cloud-eventarc-v1/pom.xml | 4 +- java-eventarc/pom.xml | 10 +- .../proto-google-cloud-eventarc-v1/pom.xml | 4 +- .../google-cloud-filestore-bom/pom.xml | 14 +- java-filestore/google-cloud-filestore/pom.xml | 4 +- .../cloud/filestore/v1/stub/Version.java | 2 +- .../cloud/filestore/v1beta1/stub/Version.java | 2 +- .../grpc-google-cloud-filestore-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-filestore/pom.xml | 14 +- .../proto-google-cloud-filestore-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-cloud-financialservices/pom.xml | 4 +- .../financialservices/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-financialservices/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-firestore-admin/pom.xml | 4 +- .../google-cloud-firestore-bom/pom.xml | 18 +- java-firestore/google-cloud-firestore/pom.xml | 4 +- .../cloud/firestore/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../grpc-google-cloud-firestore-v1/pom.xml | 4 +- java-firestore/pom.xml | 16 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../proto-google-cloud-firestore-v1/pom.xml | 4 +- .../google-cloud-functions-bom/pom.xml | 22 +- java-functions/google-cloud-functions/pom.xml | 4 +- .../cloud/functions/v1/stub/Version.java | 2 +- .../cloud/functions/v2/stub/Version.java | 2 +- .../cloud/functions/v2alpha/stub/Version.java | 2 +- .../cloud/functions/v2beta/stub/Version.java | 2 +- .../grpc-google-cloud-functions-v1/pom.xml | 4 +- .../grpc-google-cloud-functions-v2/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-functions/pom.xml | 22 +- .../proto-google-cloud-functions-v1/pom.xml | 4 +- .../proto-google-cloud-functions-v2/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../v1alpha/stub/Version.java | 2 +- .../pom.xml | 4 +- java-gdchardwaremanagement/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../google-cloud-geminidataanalytics/pom.xml | 4 +- .../geminidataanalytics/v1/stub/Version.java | 2 +- .../v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-geminidataanalytics/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-gke-backup-bom/pom.xml | 10 +- .../google-cloud-gke-backup/pom.xml | 4 +- .../cloud/gkebackup/v1/stub/Version.java | 2 +- .../grpc-google-cloud-gke-backup-v1/pom.xml | 4 +- java-gke-backup/pom.xml | 10 +- .../proto-google-cloud-gke-backup-v1/pom.xml | 4 +- .../pom.xml | 8 +- .../google-cloud-gke-connect-gateway/pom.xml | 4 +- .../gateway/v1beta1/stub/Version.java | 2 +- java-gke-connect-gateway/pom.xml | 8 +- .../pom.xml | 4 +- .../google-cloud-gke-multi-cloud-bom/pom.xml | 10 +- .../google-cloud-gke-multi-cloud/pom.xml | 4 +- .../cloud/gkemulticloud/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-gke-multi-cloud/pom.xml | 10 +- .../pom.xml | 4 +- java-gkehub/google-cloud-gkehub-bom/pom.xml | 22 +- java-gkehub/google-cloud-gkehub/pom.xml | 4 +- .../google/cloud/gkehub/v1/stub/Version.java | 2 +- .../cloud/gkehub/v1alpha/stub/Version.java | 2 +- .../cloud/gkehub/v1beta/stub/Version.java | 2 +- .../cloud/gkehub/v1beta1/stub/Version.java | 2 +- .../grpc-google-cloud-gkehub-v1/pom.xml | 4 +- .../grpc-google-cloud-gkehub-v1alpha/pom.xml | 4 +- .../grpc-google-cloud-gkehub-v1beta/pom.xml | 4 +- .../grpc-google-cloud-gkehub-v1beta1/pom.xml | 4 +- java-gkehub/pom.xml | 22 +- .../proto-google-cloud-gkehub-v1/pom.xml | 4 +- .../proto-google-cloud-gkehub-v1alpha/pom.xml | 4 +- .../proto-google-cloud-gkehub-v1beta/pom.xml | 4 +- .../proto-google-cloud-gkehub-v1beta1/pom.xml | 4 +- .../google-cloud-gkerecommender-bom/pom.xml | 10 +- .../google-cloud-gkerecommender/pom.xml | 4 +- .../cloud/gkerecommender/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-gkerecommender/pom.xml | 10 +- .../pom.xml | 4 +- java-grafeas/pom.xml | 4 +- .../main/java/io/grafeas/v1/stub/Version.java | 2 +- .../google-cloud-gsuite-addons-bom/pom.xml | 12 +- .../google-cloud-gsuite-addons/pom.xml | 4 +- .../cloud/gsuiteaddons/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-gsuite-addons/pom.xml | 12 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-health/google-cloud-health-bom/pom.xml | 10 +- java-health/google-cloud-health/pom.xml | 4 +- .../health/v4/stub/Version.java | 2 +- .../grpc-google-cloud-health-v4/pom.xml | 4 +- java-health/pom.xml | 10 +- .../proto-google-cloud-health-v4/pom.xml | 4 +- .../pom.xml | 14 +- .../google-cloud-hypercomputecluster/pom.xml | 4 +- .../hypercomputecluster/v1/stub/Version.java | 2 +- .../v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-hypercomputecluster/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-iam-admin/google-iam-admin-bom/pom.xml | 10 +- java-iam-admin/google-iam-admin/pom.xml | 4 +- .../cloud/iam/admin/v1/stub/Version.java | 2 +- .../grpc-google-iam-admin-v1/pom.xml | 4 +- java-iam-admin/pom.xml | 10 +- .../proto-google-iam-admin-v1/pom.xml | 4 +- java-iam-policy/google-iam-policy-bom/pom.xml | 6 +- java-iam-policy/google-iam-policy/pom.xml | 4 +- .../java/com/google/iam/v2/stub/Version.java | 2 +- .../com/google/iam/v2beta/stub/Version.java | 2 +- .../java/com/google/iam/v3/stub/Version.java | 2 +- .../com/google/iam/v3beta/stub/Version.java | 2 +- java-iam-policy/pom.xml | 4 +- java-iam/grpc-google-iam-v1/pom.xml | 4 +- java-iam/grpc-google-iam-v2/pom.xml | 4 +- java-iam/grpc-google-iam-v2beta/pom.xml | 4 +- java-iam/grpc-google-iam-v3/pom.xml | 4 +- java-iam/grpc-google-iam-v3beta/pom.xml | 4 +- java-iam/pom.xml | 32 +- java-iam/proto-google-iam-v1/pom.xml | 4 +- java-iam/proto-google-iam-v2/pom.xml | 4 +- java-iam/proto-google-iam-v2beta/pom.xml | 4 +- java-iam/proto-google-iam-v3/pom.xml | 4 +- java-iam/proto-google-iam-v3beta/pom.xml | 4 +- .../google-cloud-iamcredentials-bom/pom.xml | 10 +- .../google-cloud-iamcredentials/pom.xml | 4 +- .../iam/credentials/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-iamcredentials/pom.xml | 10 +- .../pom.xml | 4 +- java-iap/google-cloud-iap-bom/pom.xml | 10 +- java-iap/google-cloud-iap/pom.xml | 4 +- .../com/google/cloud/iap/v1/stub/Version.java | 2 +- java-iap/grpc-google-cloud-iap-v1/pom.xml | 4 +- java-iap/pom.xml | 10 +- java-iap/proto-google-cloud-iap-v1/pom.xml | 4 +- java-ids/google-cloud-ids-bom/pom.xml | 10 +- java-ids/google-cloud-ids/pom.xml | 4 +- .../com/google/cloud/ids/v1/stub/Version.java | 2 +- java-ids/grpc-google-cloud-ids-v1/pom.xml | 4 +- java-ids/pom.xml | 10 +- java-ids/proto-google-cloud-ids-v1/pom.xml | 4 +- .../google-cloud-infra-manager-bom/pom.xml | 10 +- .../google-cloud-infra-manager/pom.xml | 4 +- .../google/cloud/config/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-infra-manager/pom.xml | 10 +- .../pom.xml | 4 +- java-iot/google-cloud-iot-bom/pom.xml | 10 +- java-iot/google-cloud-iot/pom.xml | 4 +- .../com/google/cloud/iot/v1/stub/Version.java | 2 +- java-iot/grpc-google-cloud-iot-v1/pom.xml | 4 +- java-iot/pom.xml | 10 +- java-iot/proto-google-cloud-iot-v1/pom.xml | 4 +- .../pom.xml | 14 +- .../pom.xml | 4 +- .../issueresolution/v1/stub/Version.java | 2 +- .../issueresolution/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../pom.xml | 4 +- .../ordertracking/v1/stub/Version.java | 2 +- .../ordertracking/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-kms/google-cloud-kms-bom/pom.xml | 10 +- java-kms/google-cloud-kms/pom.xml | 4 +- .../com/google/cloud/kms/v1/stub/Version.java | 2 +- java-kms/grpc-google-cloud-kms-v1/pom.xml | 4 +- java-kms/pom.xml | 12 +- java-kms/proto-google-cloud-kms-v1/pom.xml | 4 +- .../google-cloud-kmsinventory-bom/pom.xml | 10 +- .../google-cloud-kmsinventory/pom.xml | 4 +- .../cloud/kms/inventory/v1/stub/Version.java | 2 +- .../grpc-google-cloud-kmsinventory-v1/pom.xml | 4 +- java-kmsinventory/pom.xml | 12 +- .../pom.xml | 4 +- .../google-cloud-language-bom/pom.xml | 18 +- java-language/google-cloud-language/pom.xml | 4 +- .../cloud/language/v1/stub/Version.java | 2 +- .../cloud/language/v1beta2/stub/Version.java | 2 +- .../cloud/language/v2/stub/Version.java | 2 +- .../grpc-google-cloud-language-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../grpc-google-cloud-language-v2/pom.xml | 4 +- java-language/pom.xml | 18 +- .../proto-google-cloud-language-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../proto-google-cloud-language-v2/pom.xml | 4 +- .../google-cloud-licensemanager-bom/pom.xml | 10 +- .../google-cloud-licensemanager/pom.xml | 4 +- .../cloud/licensemanager/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-licensemanager/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-life-sciences-bom/pom.xml | 10 +- .../google-cloud-life-sciences/pom.xml | 4 +- .../lifesciences/v2beta/stub/Version.java | 2 +- .../pom.xml | 4 +- java-life-sciences/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-locationfinder-bom/pom.xml | 10 +- .../google-cloud-locationfinder/pom.xml | 4 +- .../cloud/locationfinder/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-locationfinder/pom.xml | 10 +- .../pom.xml | 4 +- java-logging-logback/README.md | 6 +- java-logging-logback/pom.xml | 6 +- java-logging-logback/samples/snapshot/pom.xml | 2 +- java-logging/google-cloud-logging-bom/pom.xml | 10 +- java-logging/google-cloud-logging/pom.xml | 4 +- .../google/cloud/logging/v2/stub/Version.java | 2 +- .../grpc-google-cloud-logging-v2/pom.xml | 4 +- java-logging/pom.xml | 10 +- .../proto-google-cloud-logging-v2/pom.xml | 4 +- java-logging/samples/snapshot/pom.xml | 2 +- java-lustre/google-cloud-lustre-bom/pom.xml | 10 +- java-lustre/google-cloud-lustre/pom.xml | 4 +- .../google/cloud/lustre/v1/stub/Version.java | 2 +- .../grpc-google-cloud-lustre-v1/pom.xml | 4 +- java-lustre/pom.xml | 10 +- .../proto-google-cloud-lustre-v1/pom.xml | 4 +- .../google-cloud-maintenance-bom/pom.xml | 14 +- .../google-cloud-maintenance/pom.xml | 4 +- .../maintenance/api/v1/stub/Version.java | 2 +- .../maintenance/api/v1beta/stub/Version.java | 2 +- .../grpc-google-cloud-maintenance-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-maintenance/pom.xml | 14 +- .../proto-google-cloud-maintenance-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-cloud-managed-identities/pom.xml | 4 +- .../managedidentities/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-managed-identities/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-managedkafka-bom/pom.xml | 10 +- .../google-cloud-managedkafka/pom.xml | 4 +- .../cloud/managedkafka/v1/stub/Version.java | 2 +- .../grpc-google-cloud-managedkafka-v1/pom.xml | 4 +- java-managedkafka/pom.xml | 10 +- .../pom.xml | 4 +- .../google-maps-addressvalidation-bom/pom.xml | 10 +- .../google-maps-addressvalidation/pom.xml | 4 +- .../addressvalidation/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-maps-addressvalidation/pom.xml | 10 +- .../pom.xml | 4 +- .../google-maps-area-insights-bom/pom.xml | 10 +- .../google-maps-area-insights/pom.xml | 4 +- .../maps/areainsights/v1/stub/Version.java | 2 +- .../grpc-google-maps-area-insights-v1/pom.xml | 4 +- java-maps-area-insights/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-maps-fleetengine-delivery/pom.xml | 4 +- .../fleetengine/delivery/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-maps-fleetengine-delivery/pom.xml | 10 +- .../pom.xml | 4 +- .../google-maps-fleetengine-bom/pom.xml | 10 +- .../google-maps-fleetengine/pom.xml | 4 +- .../maps/fleetengine/v1/stub/Version.java | 2 +- .../grpc-google-maps-fleetengine-v1/pom.xml | 4 +- java-maps-fleetengine/pom.xml | 10 +- .../proto-google-maps-fleetengine-v1/pom.xml | 4 +- .../google-maps-geocode-bom/pom.xml | 10 +- java-maps-geocode/google-maps-geocode/pom.xml | 4 +- .../google/maps/geocode/v4/stub/Version.java | 2 +- .../grpc-google-maps-geocode-v4/pom.xml | 4 +- java-maps-geocode/pom.xml | 10 +- .../proto-google-maps-geocode-v4/pom.xml | 4 +- .../google-maps-isochrones-bom/pom.xml | 10 +- .../google-maps-isochrones/pom.xml | 4 +- .../maps/isochrones/v1/stub/Version.java | 2 +- .../grpc-google-maps-isochrones-v1/pom.xml | 4 +- java-maps-isochrones/pom.xml | 10 +- .../proto-google-maps-isochrones-v1/pom.xml | 4 +- .../google-maps-mapmanagement-bom/pom.xml | 10 +- .../google-maps-mapmanagement/pom.xml | 4 +- .../mapmanagement/v2beta/stub/Version.java | 2 +- .../pom.xml | 4 +- java-maps-mapmanagement/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-maps-mapsplatformdatasets/pom.xml | 4 +- .../mapsplatformdatasets/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-maps-mapsplatformdatasets/pom.xml | 10 +- .../pom.xml | 4 +- .../google-maps-navconnect-bom/pom.xml | 10 +- .../google-maps-navconnect/pom.xml | 4 +- .../maps/navconnect/v1/stub/Version.java | 2 +- .../grpc-google-maps-navconnect-v1/pom.xml | 4 +- java-maps-navconnect/pom.xml | 10 +- .../proto-google-maps-navconnect-v1/pom.xml | 4 +- .../google-maps-places-bom/pom.xml | 10 +- java-maps-places/google-maps-places/pom.xml | 4 +- .../google/maps/places/v1/stub/Version.java | 2 +- .../grpc-google-maps-places-v1/pom.xml | 4 +- java-maps-places/pom.xml | 10 +- .../proto-google-maps-places-v1/pom.xml | 4 +- .../google-maps-routeoptimization-bom/pom.xml | 10 +- .../google-maps-routeoptimization/pom.xml | 4 +- .../routeoptimization/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-maps-routeoptimization/pom.xml | 10 +- .../pom.xml | 4 +- .../google-maps-routing-bom/pom.xml | 10 +- java-maps-routing/google-maps-routing/pom.xml | 4 +- .../google/maps/routing/v2/stub/Version.java | 2 +- .../grpc-google-maps-routing-v2/pom.xml | 4 +- java-maps-routing/pom.xml | 10 +- .../proto-google-maps-routing-v2/pom.xml | 4 +- java-maps-solar/google-maps-solar-bom/pom.xml | 10 +- java-maps-solar/google-maps-solar/pom.xml | 4 +- .../google/maps/solar/v1/stub/Version.java | 2 +- .../grpc-google-maps-solar-v1/pom.xml | 4 +- java-maps-solar/pom.xml | 10 +- .../proto-google-maps-solar-v1/pom.xml | 4 +- .../admin-bom/pom.xml | 10 +- java-marketingplatformadminapi/admin/pom.xml | 4 +- .../admin/v1alpha/stub/Version.java | 2 +- .../grpc-admin-v1alpha/pom.xml | 4 +- java-marketingplatformadminapi/pom.xml | 10 +- .../proto-admin-v1alpha/pom.xml | 4 +- .../google-cloud-mediatranslation-bom/pom.xml | 10 +- .../google-cloud-mediatranslation/pom.xml | 4 +- .../v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-mediatranslation/pom.xml | 10 +- .../pom.xml | 4 +- java-meet/google-cloud-meet-bom/pom.xml | 14 +- java-meet/google-cloud-meet/pom.xml | 4 +- .../com/google/apps/meet/v2/stub/Version.java | 2 +- .../google/apps/meet/v2beta/stub/Version.java | 2 +- java-meet/grpc-google-cloud-meet-v2/pom.xml | 4 +- .../grpc-google-cloud-meet-v2beta/pom.xml | 4 +- java-meet/pom.xml | 14 +- java-meet/proto-google-cloud-meet-v2/pom.xml | 4 +- .../proto-google-cloud-meet-v2beta/pom.xml | 4 +- .../google-cloud-memcache-bom/pom.xml | 14 +- java-memcache/google-cloud-memcache/pom.xml | 4 +- .../cloud/memcache/v1/stub/Version.java | 2 +- .../cloud/memcache/v1beta2/stub/Version.java | 2 +- .../grpc-google-cloud-memcache-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-memcache/pom.xml | 14 +- .../proto-google-cloud-memcache-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-migrationcenter-bom/pom.xml | 10 +- .../google-cloud-migrationcenter/pom.xml | 4 +- .../migrationcenter/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-migrationcenter/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-modelarmor-bom/pom.xml | 14 +- .../google-cloud-modelarmor/pom.xml | 4 +- .../cloud/modelarmor/v1/stub/Version.java | 2 +- .../cloud/modelarmor/v1beta/stub/Version.java | 2 +- .../grpc-google-cloud-modelarmor-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-modelarmor/pom.xml | 14 +- .../proto-google-cloud-modelarmor-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-cloud-monitoring-dashboard/pom.xml | 4 +- .../monitoring/dashboard/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-monitoring-dashboards/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../metricsscope/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-monitoring-metricsscope/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-monitoring-bom/pom.xml | 10 +- .../google-cloud-monitoring/pom.xml | 4 +- .../cloud/monitoring/v3/stub/Version.java | 2 +- .../grpc-google-cloud-monitoring-v3/pom.xml | 4 +- java-monitoring/pom.xml | 10 +- .../proto-google-cloud-monitoring-v3/pom.xml | 4 +- java-netapp/google-cloud-netapp-bom/pom.xml | 10 +- java-netapp/google-cloud-netapp/pom.xml | 4 +- .../google/cloud/netapp/v1/stub/Version.java | 2 +- .../grpc-google-cloud-netapp-v1/pom.xml | 4 +- java-netapp/pom.xml | 10 +- .../proto-google-cloud-netapp-v1/pom.xml | 4 +- .../pom.xml | 14 +- .../google-cloud-network-management/pom.xml | 4 +- .../networkmanagement/v1/stub/Version.java | 2 +- .../v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-network-management/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-network-security-bom/pom.xml | 14 +- .../google-cloud-network-security/pom.xml | 4 +- .../networksecurity/v1/stub/Version.java | 2 +- .../networksecurity/v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-network-security/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 18 +- .../google-cloud-networkconnectivity/pom.xml | 4 +- .../networkconnectivity/v1/stub/Version.java | 2 +- .../v1alpha1/stub/Version.java | 2 +- .../v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-networkconnectivity/pom.xml | 18 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-networkservices-bom/pom.xml | 10 +- .../google-cloud-networkservices/pom.xml | 4 +- .../networkservices/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-networkservices/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-notebooks-bom/pom.xml | 18 +- java-notebooks/google-cloud-notebooks/pom.xml | 4 +- .../cloud/notebooks/v1/stub/Version.java | 2 +- .../cloud/notebooks/v1beta1/stub/Version.java | 2 +- .../cloud/notebooks/v2/stub/Version.java | 2 +- .../grpc-google-cloud-notebooks-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../grpc-google-cloud-notebooks-v2/pom.xml | 4 +- java-notebooks/pom.xml | 18 +- .../proto-google-cloud-notebooks-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../proto-google-cloud-notebooks-v2/pom.xml | 4 +- java-notification/README.md | 6 +- java-notification/pom.xml | 4 +- .../google-cloud-optimization-bom/pom.xml | 10 +- .../google-cloud-optimization/pom.xml | 4 +- .../cloud/optimization/v1/stub/Version.java | 2 +- .../grpc-google-cloud-optimization-v1/pom.xml | 4 +- java-optimization/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-oracledatabase-bom/pom.xml | 10 +- .../google-cloud-oracledatabase/pom.xml | 4 +- .../cloud/oracledatabase/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-oracledatabase/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../pom.xml | 4 +- .../airflow/service/v1/stub/Version.java | 2 +- .../airflow/service/v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-orchestration-airflow/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-orgpolicy-bom/pom.xml | 12 +- java-orgpolicy/google-cloud-orgpolicy/pom.xml | 4 +- .../cloud/orgpolicy/v2/stub/Version.java | 2 +- .../grpc-google-cloud-orgpolicy-v2/pom.xml | 4 +- java-orgpolicy/pom.xml | 12 +- .../proto-google-cloud-orgpolicy-v1/pom.xml | 4 +- .../proto-google-cloud-orgpolicy-v2/pom.xml | 4 +- .../google-cloud-os-config-bom/pom.xml | 18 +- java-os-config/google-cloud-os-config/pom.xml | 4 +- .../cloud/osconfig/v1/stub/Version.java | 2 +- .../cloud/osconfig/v1alpha/stub/Version.java | 2 +- .../cloud/osconfig/v1beta/stub/Version.java | 2 +- .../grpc-google-cloud-os-config-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-os-config/pom.xml | 18 +- .../proto-google-cloud-os-config-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-os-login-bom/pom.xml | 10 +- java-os-login/google-cloud-os-login/pom.xml | 4 +- .../google/cloud/oslogin/v1/stub/Version.java | 2 +- .../grpc-google-cloud-os-login-v1/pom.xml | 4 +- java-os-login/pom.xml | 10 +- .../proto-google-cloud-os-login-v1/pom.xml | 4 +- .../google-cloud-parallelstore-bom/pom.xml | 14 +- .../google-cloud-parallelstore/pom.xml | 4 +- .../cloud/parallelstore/v1/stub/Version.java | 2 +- .../parallelstore/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-parallelstore/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-parametermanager-bom/pom.xml | 10 +- .../google-cloud-parametermanager/pom.xml | 4 +- .../parametermanager/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-parametermanager/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-cloud-phishingprotection/pom.xml | 4 +- .../v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-phishingprotection/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../pom.xml | 4 +- .../iam/v3/stub/Version.java | 2 +- .../policytroubleshooter/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-policy-troubleshooter/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-policysimulator-bom/pom.xml | 10 +- .../google-cloud-policysimulator/pom.xml | 4 +- .../policysimulator/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-policysimulator/pom.xml | 12 +- .../pom.xml | 6 +- .../google-cloud-private-catalog-bom/pom.xml | 10 +- .../google-cloud-private-catalog/pom.xml | 4 +- .../privatecatalog/v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-private-catalog/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-privilegedaccessmanager/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-productregistry-bom/pom.xml | 10 +- .../google-cloud-productregistry/pom.xml | 4 +- .../productregistry/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-productregistry/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-profiler-bom/pom.xml | 10 +- java-profiler/google-cloud-profiler/pom.xml | 4 +- .../cloudprofiler/v2/stub/Version.java | 2 +- .../grpc-google-cloud-profiler-v2/pom.xml | 4 +- java-profiler/pom.xml | 10 +- .../proto-google-cloud-profiler-v2/pom.xml | 4 +- .../google-cloud-publicca-bom/pom.xml | 14 +- java-publicca/google-cloud-publicca/pom.xml | 4 +- .../security/publicca/v1/stub/Version.java | 2 +- .../publicca/v1beta1/stub/Version.java | 2 +- .../grpc-google-cloud-publicca-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-publicca/pom.xml | 14 +- .../proto-google-cloud-publicca-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-pubsub/google-cloud-pubsub-bom/pom.xml | 10 +- java-pubsub/google-cloud-pubsub/pom.xml | 4 +- .../google/cloud/pubsub/v1/stub/Version.java | 2 +- .../grpc-google-cloud-pubsub-v1/pom.xml | 4 +- java-pubsub/pom.xml | 10 +- .../proto-google-cloud-pubsub-v1/pom.xml | 4 +- java-pubsub/samples/snapshot/pom.xml | 2 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-rapidmigrationassessment/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../google-cloud-recaptchaenterprise/pom.xml | 4 +- .../recaptchaenterprise/v1/stub/Version.java | 2 +- .../v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-recaptchaenterprise/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-cloud-recommendations-ai/pom.xml | 4 +- .../v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-recommendations-ai/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-recommender-bom/pom.xml | 14 +- .../google-cloud-recommender/pom.xml | 4 +- .../cloud/recommender/v1/stub/Version.java | 2 +- .../recommender/v1beta1/stub/Version.java | 2 +- .../grpc-google-cloud-recommender-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-recommender/pom.xml | 14 +- .../proto-google-cloud-recommender-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-redis-cluster-bom/pom.xml | 14 +- .../google-cloud-redis-cluster/pom.xml | 4 +- .../cloud/redis/cluster/v1/stub/Version.java | 2 +- .../redis/cluster/v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-redis-cluster/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-redis/google-cloud-redis-bom/pom.xml | 14 +- java-redis/google-cloud-redis/pom.xml | 4 +- .../google/cloud/redis/v1/stub/Version.java | 2 +- .../cloud/redis/v1beta1/stub/Version.java | 2 +- java-redis/grpc-google-cloud-redis-v1/pom.xml | 4 +- .../grpc-google-cloud-redis-v1beta1/pom.xml | 4 +- java-redis/pom.xml | 14 +- .../proto-google-cloud-redis-v1/pom.xml | 4 +- .../proto-google-cloud-redis-v1beta1/pom.xml | 4 +- .../google-cloud-resourcemanager-bom/pom.xml | 10 +- .../google-cloud-resourcemanager/pom.xml | 4 +- .../resourcemanager/v3/stub/Version.java | 2 +- .../pom.xml | 4 +- java-resourcemanager/pom.xml | 10 +- .../pom.xml | 4 +- java-retail/google-cloud-retail-bom/pom.xml | 18 +- java-retail/google-cloud-retail/pom.xml | 4 +- .../google/cloud/retail/v2/stub/Version.java | 2 +- .../cloud/retail/v2alpha/stub/Version.java | 2 +- .../cloud/retail/v2beta/stub/Version.java | 2 +- .../grpc-google-cloud-retail-v2/pom.xml | 4 +- .../grpc-google-cloud-retail-v2alpha/pom.xml | 4 +- .../grpc-google-cloud-retail-v2beta/pom.xml | 4 +- java-retail/pom.xml | 18 +- .../proto-google-cloud-retail-v2/pom.xml | 4 +- .../proto-google-cloud-retail-v2alpha/pom.xml | 4 +- .../proto-google-cloud-retail-v2beta/pom.xml | 4 +- java-run/google-cloud-run-bom/pom.xml | 10 +- java-run/google-cloud-run/pom.xml | 4 +- .../com/google/cloud/run/v2/stub/Version.java | 2 +- java-run/grpc-google-cloud-run-v2/pom.xml | 4 +- java-run/pom.xml | 10 +- java-run/proto-google-cloud-run-v2/pom.xml | 4 +- .../google-cloud-saasservicemgmt-bom/pom.xml | 10 +- .../google-cloud-saasservicemgmt/pom.xml | 4 +- .../saasservicemgmt/v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-saasservicemgmt/pom.xml | 10 +- .../pom.xml | 4 +- java-samples/pom.xml | 2 +- .../google-cloud-scheduler-bom/pom.xml | 14 +- java-scheduler/google-cloud-scheduler/pom.xml | 4 +- .../cloud/scheduler/v1/stub/Version.java | 2 +- .../cloud/scheduler/v1beta1/stub/Version.java | 2 +- .../grpc-google-cloud-scheduler-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-scheduler/pom.xml | 14 +- .../proto-google-cloud-scheduler-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-secretmanager-bom/pom.xml | 18 +- .../google-cloud-secretmanager/pom.xml | 4 +- .../cloud/secretmanager/v1/stub/Version.java | 2 +- .../secretmanager/v1beta1/stub/Version.java | 2 +- .../secretmanager/v1beta2/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-secretmanager/pom.xml | 18 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-cloud-securesourcemanager/pom.xml | 4 +- .../securesourcemanager/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-securesourcemanager/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../google-cloud-security-private-ca/pom.xml | 4 +- .../security/privateca/v1/stub/Version.java | 2 +- .../privateca/v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-security-private-ca/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../settings/v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-securitycenter-settings/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-securitycenter-bom/pom.xml | 22 +- .../google-cloud-securitycenter/pom.xml | 4 +- .../cloud/securitycenter/v1/stub/Version.java | 2 +- .../securitycenter/v1beta1/stub/Version.java | 2 +- .../v1p1beta1/stub/Version.java | 2 +- .../cloud/securitycenter/v2/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-securitycenter/pom.xml | 22 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-securitycentermanagement/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-securityposture-bom/pom.xml | 10 +- .../google-cloud-securityposture/pom.xml | 4 +- .../securityposture/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-securityposture/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-service-control-bom/pom.xml | 14 +- .../google-cloud-service-control/pom.xml | 4 +- .../api/servicecontrol/v1/stub/Version.java | 2 +- .../api/servicecontrol/v2/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-service-control/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-cloud-service-management/pom.xml | 4 +- .../servicemanagement/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-service-management/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-service-usage-bom/pom.xml | 14 +- .../google-cloud-service-usage/pom.xml | 4 +- .../api/serviceusage/v1/stub/Version.java | 2 +- .../serviceusage/v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-service-usage/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-servicedirectory-bom/pom.xml | 14 +- .../google-cloud-servicedirectory/pom.xml | 4 +- .../servicedirectory/v1/stub/Version.java | 2 +- .../v1beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-servicedirectory/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-servicehealth-bom/pom.xml | 10 +- .../google-cloud-servicehealth/pom.xml | 4 +- .../cloud/servicehealth/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-servicehealth/pom.xml | 10 +- .../pom.xml | 4 +- java-shared-config/README.md | 2 +- java-shared-config/java-shared-config/pom.xml | 4 +- .../native-image-shared-config/pom.xml | 2 +- java-shell/google-cloud-shell-bom/pom.xml | 10 +- java-shell/google-cloud-shell/pom.xml | 4 +- .../google/cloud/shell/v1/stub/Version.java | 2 +- java-shell/grpc-google-cloud-shell-v1/pom.xml | 4 +- java-shell/pom.xml | 10 +- .../proto-google-cloud-shell-v1/pom.xml | 4 +- .../google-shopping-css-bom/pom.xml | 10 +- java-shopping-css/google-shopping-css/pom.xml | 4 +- .../google/shopping/css/v1/stub/Version.java | 2 +- .../grpc-google-shopping-css-v1/pom.xml | 4 +- java-shopping-css/pom.xml | 10 +- .../proto-google-shopping-css-v1/pom.xml | 4 +- .../pom.xml | 14 +- .../google-shopping-merchant-accounts/pom.xml | 4 +- .../merchant/accounts/v1/stub/Version.java | 2 +- .../accounts/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-shopping-merchant-accounts/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../pom.xml | 4 +- .../merchant/conversions/v1/stub/Version.java | 2 +- .../conversions/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-shopping-merchant-conversions/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../pom.xml | 4 +- .../merchant/datasources/v1/stub/Version.java | 2 +- .../datasources/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-shopping-merchant-datasources/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../pom.xml | 4 +- .../merchant/inventories/v1/stub/Version.java | 2 +- .../inventories/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-shopping-merchant-inventories/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-shopping-merchant-lfp-bom/pom.xml | 14 +- .../google-shopping-merchant-lfp/pom.xml | 4 +- .../merchant/lfp/v1/stub/Version.java | 2 +- .../merchant/lfp/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-shopping-merchant-lfp/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../pom.xml | 4 +- .../notifications/v1/stub/Version.java | 2 +- .../notifications/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-shopping-merchant-notifications/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../productstudio/v1alpha/stub/Version.java | 2 +- .../pom.xml | 4 +- java-shopping-merchant-product-studio/pom.xml | 10 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../google-shopping-merchant-products/pom.xml | 4 +- .../merchant/products/v1/stub/Version.java | 2 +- .../products/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-shopping-merchant-products/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../pom.xml | 4 +- .../merchant/promotions/v1/stub/Version.java | 2 +- .../promotions/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-shopping-merchant-promotions/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../google-shopping-merchant-quota/pom.xml | 4 +- .../merchant/quota/v1/stub/Version.java | 2 +- .../merchant/quota/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-shopping-merchant-quota/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 18 +- .../google-shopping-merchant-reports/pom.xml | 4 +- .../merchant/reports/v1/stub/Version.java | 2 +- .../reports/v1alpha/stub/Version.java | 2 +- .../merchant/reports/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-shopping-merchant-reports/pom.xml | 18 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 10 +- .../google-shopping-merchant-reviews/pom.xml | 4 +- .../merchant/reviews/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- java-shopping-merchant-reviews/pom.xml | 10 +- .../pom.xml | 4 +- .../v1beta1/it/ITPostQuantumCryptography.java | 269 + java-showcase/pom.xml | 2 +- java-showcase/scripts/generate_showcase.sh | 3 - java-spanner-jdbc/README.md | 6 +- java-spanner-jdbc/pom.xml | 14 +- java-spanner-jdbc/samples/snapshot/pom.xml | 2 +- java-spanner/.readme-partials.yaml | 88 +- java-spanner/CHANGELOG.md | 56 + java-spanner/README.md | 46 +- java-spanner/benchmarks/pom.xml | 4 +- java-spanner/google-cloud-spanner-bom/pom.xml | 20 +- .../google-cloud-spanner-executor/pom.xml | 4 +- .../executor/spanner/CloudClientExecutor.java | 8 +- .../spanner/executor/v1/stub/Version.java | 2 +- java-spanner/google-cloud-spanner/pom.xml | 14 +- .../cloud/spanner/BuiltInMetricsConstant.java | 82 +- .../cloud/spanner/BuiltInMetricsProvider.java | 27 +- .../cloud/spanner/BuiltInMetricsView.java | 2 +- .../CustomOpenTelemetryMetricsProvider.java | 93 + .../cloud/spanner/DefaultMetricsProvider.java | 30 + .../google/cloud/spanner/MetricsProvider.java | 39 + .../cloud/spanner/NoopMetricsProvider.java | 29 + .../google/cloud/spanner/SpannerMetrics.java | 47 + .../google/cloud/spanner/SpannerOptions.java | 232 +- .../admin/database/v1/stub/Version.java | 2 +- .../admin/instance/v1/stub/Version.java | 2 +- .../connection/ReadWriteTransaction.java | 99 +- .../cloud/spanner/spi/v1/GapicSpannerRpc.java | 24 +- .../google/cloud/spanner/v1/stub/Version.java | 2 +- .../spanner/BuiltInMetricsBothSinksTest.java | 145 + ...BuiltInMetricsCustomOpenTelemetryTest.java | 166 + .../BuiltInMetricsCustomViewsTest.java | 178 + .../spanner/GrpcMetricsDualWireTest.java | 122 + .../cloud/spanner/MetricsProviderTest.java | 307 + .../cloud/spanner/SpannerOptionsTest.java | 67 + .../connection/ReadWriteTransactionTest.java | 185 +- .../spanner/spi/v1/GapicSpannerRpcTest.java | 52 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../grpc-google-cloud-spanner-v1/pom.xml | 4 +- java-spanner/pom.xml | 22 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../proto-google-cloud-spanner-v1/pom.xml | 4 +- java-spanner/samples/snapshot/pom.xml | 2 +- .../google-cloud-spanneradapter-bom/pom.xml | 10 +- .../google-cloud-spanneradapter/pom.xml | 4 +- .../spanner/adapter/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-spanneradapter/pom.xml | 10 +- .../pom.xml | 4 +- java-speech/google-cloud-speech-bom/pom.xml | 18 +- java-speech/google-cloud-speech/pom.xml | 4 +- .../google/cloud/speech/v1/stub/Version.java | 2 +- .../cloud/speech/v1p1beta1/stub/Version.java | 2 +- .../google/cloud/speech/v2/stub/Version.java | 2 +- .../grpc-google-cloud-speech-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../grpc-google-cloud-speech-v2/pom.xml | 4 +- java-speech/pom.xml | 18 +- .../proto-google-cloud-speech-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../proto-google-cloud-speech-v2/pom.xml | 4 +- java-sql/google-cloud-sql-bom/pom.xml | 14 +- java-sql/google-cloud-sql/pom.xml | 4 +- .../com/google/cloud/sql/v1/stub/Version.java | 2 +- .../cloud/sql/v1beta4/stub/Version.java | 2 +- java-sql/grpc-google-cloud-sql-v1/pom.xml | 4 +- .../grpc-google-cloud-sql-v1beta4/pom.xml | 4 +- java-sql/pom.xml | 14 +- java-sql/proto-google-cloud-sql-v1/pom.xml | 4 +- .../proto-google-cloud-sql-v1beta4/pom.xml | 4 +- java-storage-nio/google-cloud-nio-bom/pom.xml | 6 +- .../google-cloud-nio-examples/pom.xml | 4 +- .../google-cloud-nio-retrofit/README.md | 4 +- .../google-cloud-nio-retrofit/pom.xml | 4 +- java-storage-nio/google-cloud-nio/pom.xml | 4 +- java-storage-nio/pom.xml | 6 +- java-storage-nio/samples/snapshot/pom.xml | 2 +- .../google-cloud-storage-transfer-bom/pom.xml | 10 +- .../google-cloud-storage-transfer/pom.xml | 4 +- .../v1/proto/stub/Version.java | 2 +- .../pom.xml | 4 +- java-storage-transfer/pom.xml | 10 +- .../pom.xml | 4 +- .../gapic-google-cloud-storage-v2/pom.xml | 16 +- .../com/google/storage/v2/stub/Version.java | 2 +- java-storage/google-cloud-storage-bom/pom.xml | 18 +- .../google-cloud-storage-control/pom.xml | 4 +- .../storage/control/v2/stub/Version.java | 2 +- java-storage/google-cloud-storage/pom.xml | 8 +- .../pom.xml | 4 +- .../grpc-google-cloud-storage-v2/pom.xml | 4 +- java-storage/pom.xml | 18 +- .../pom.xml | 4 +- .../proto-google-cloud-storage-v2/pom.xml | 4 +- java-storage/samples/snapshot/pom.xml | 6 +- .../storage-shared-benchmarking/pom.xml | 4 +- .../pom.xml | 10 +- .../pom.xml | 4 +- .../v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-storagebatchoperations/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-storageinsights-bom/pom.xml | 10 +- .../google-cloud-storageinsights/pom.xml | 4 +- .../storageinsights/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-storageinsights/pom.xml | 10 +- .../pom.xml | 4 +- java-talent/google-cloud-talent-bom/pom.xml | 14 +- java-talent/google-cloud-talent/pom.xml | 4 +- .../google/cloud/talent/v4/stub/Version.java | 2 +- .../cloud/talent/v4beta1/stub/Version.java | 2 +- .../grpc-google-cloud-talent-v4/pom.xml | 4 +- .../grpc-google-cloud-talent-v4beta1/pom.xml | 4 +- java-talent/pom.xml | 16 +- .../proto-google-cloud-talent-v4/pom.xml | 4 +- .../proto-google-cloud-talent-v4beta1/pom.xml | 4 +- java-tasks/google-cloud-tasks-bom/pom.xml | 18 +- java-tasks/google-cloud-tasks/pom.xml | 4 +- .../google/cloud/tasks/v2/stub/Version.java | 2 +- .../cloud/tasks/v2beta2/stub/Version.java | 2 +- .../cloud/tasks/v2beta3/stub/Version.java | 2 +- java-tasks/grpc-google-cloud-tasks-v2/pom.xml | 4 +- .../grpc-google-cloud-tasks-v2beta2/pom.xml | 4 +- .../grpc-google-cloud-tasks-v2beta3/pom.xml | 4 +- java-tasks/pom.xml | 18 +- .../proto-google-cloud-tasks-v2/pom.xml | 4 +- .../proto-google-cloud-tasks-v2beta2/pom.xml | 4 +- .../proto-google-cloud-tasks-v2beta3/pom.xml | 4 +- .../google-cloud-telcoautomation-bom/pom.xml | 14 +- .../google-cloud-telcoautomation/pom.xml | 4 +- .../telcoautomation/v1/stub/Version.java | 2 +- .../v1alpha1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-telcoautomation/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-texttospeech-bom/pom.xml | 14 +- .../google-cloud-texttospeech/pom.xml | 4 +- .../cloud/texttospeech/v1/stub/Version.java | 2 +- .../texttospeech/v1beta1/stub/Version.java | 2 +- .../grpc-google-cloud-texttospeech-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-texttospeech/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-tpu/google-cloud-tpu-bom/pom.xml | 18 +- java-tpu/google-cloud-tpu/pom.xml | 4 +- .../com/google/cloud/tpu/v1/stub/Version.java | 2 +- .../com/google/cloud/tpu/v2/stub/Version.java | 2 +- .../cloud/tpu/v2alpha1/stub/Version.java | 2 +- java-tpu/grpc-google-cloud-tpu-v1/pom.xml | 4 +- java-tpu/grpc-google-cloud-tpu-v2/pom.xml | 4 +- .../grpc-google-cloud-tpu-v2alpha1/pom.xml | 4 +- java-tpu/pom.xml | 18 +- java-tpu/proto-google-cloud-tpu-v1/pom.xml | 4 +- java-tpu/proto-google-cloud-tpu-v2/pom.xml | 4 +- .../proto-google-cloud-tpu-v2alpha1/pom.xml | 4 +- java-trace/google-cloud-trace-bom/pom.xml | 14 +- java-trace/google-cloud-trace/pom.xml | 4 +- .../google/cloud/trace/v1/stub/Version.java | 2 +- .../google/cloud/trace/v2/stub/Version.java | 2 +- java-trace/grpc-google-cloud-trace-v1/pom.xml | 4 +- java-trace/grpc-google-cloud-trace-v2/pom.xml | 4 +- java-trace/pom.xml | 14 +- .../proto-google-cloud-trace-v1/pom.xml | 4 +- .../proto-google-cloud-trace-v2/pom.xml | 4 +- .../google-cloud-translate-bom/pom.xml | 14 +- java-translate/google-cloud-translate/pom.xml | 4 +- .../cloud/translate/v3/stub/Version.java | 2 +- .../cloud/translate/v3beta1/stub/Version.java | 2 +- .../grpc-google-cloud-translate-v3/pom.xml | 4 +- .../pom.xml | 4 +- java-translate/pom.xml | 14 +- .../proto-google-cloud-translate-v3/pom.xml | 4 +- .../pom.xml | 4 +- java-valkey/google-cloud-valkey-bom/pom.xml | 14 +- java-valkey/google-cloud-valkey/pom.xml | 4 +- .../cloud/memorystore/v1/stub/Version.java | 2 +- .../memorystore/v1beta/stub/Version.java | 2 +- .../grpc-google-cloud-valkey-v1/pom.xml | 4 +- .../grpc-google-cloud-valkey-v1beta/pom.xml | 4 +- java-valkey/pom.xml | 14 +- .../proto-google-cloud-valkey-v1/pom.xml | 4 +- .../proto-google-cloud-valkey-v1beta/pom.xml | 4 +- .../google-cloud-vectorsearch-bom/pom.xml | 14 +- .../google-cloud-vectorsearch/pom.xml | 4 +- .../cloud/vectorsearch/v1/stub/Version.java | 2 +- .../vectorsearch/v1beta/stub/Version.java | 2 +- .../grpc-google-cloud-vectorsearch-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-vectorsearch/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 26 +- .../google-cloud-video-intelligence/pom.xml | 4 +- .../videointelligence/v1/stub/Version.java | 2 +- .../v1beta2/stub/Version.java | 2 +- .../v1p1beta1/stub/Version.java | 2 +- .../v1p2beta1/stub/Version.java | 2 +- .../v1p3beta1/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-video-intelligence/pom.xml | 28 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-live-stream-bom/pom.xml | 10 +- .../google-cloud-live-stream/pom.xml | 4 +- .../video/livestream/v1/stub/Version.java | 2 +- .../grpc-google-cloud-live-stream-v1/pom.xml | 4 +- java-video-live-stream/pom.xml | 10 +- .../proto-google-cloud-live-stream-v1/pom.xml | 4 +- .../google-cloud-video-stitcher-bom/pom.xml | 10 +- .../google-cloud-video-stitcher/pom.xml | 4 +- .../cloud/video/stitcher/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-video-stitcher/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-video-transcoder-bom/pom.xml | 10 +- .../google-cloud-video-transcoder/pom.xml | 4 +- .../video/transcoder/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-video-transcoder/pom.xml | 10 +- .../pom.xml | 4 +- java-vision/google-cloud-vision-bom/pom.xml | 26 +- java-vision/google-cloud-vision/pom.xml | 4 +- .../google/cloud/vision/v1/stub/Version.java | 2 +- .../cloud/vision/v1p1beta1/stub/Version.java | 2 +- .../cloud/vision/v1p2beta1/stub/Version.java | 2 +- .../cloud/vision/v1p3beta1/stub/Version.java | 2 +- .../cloud/vision/v1p4beta1/stub/Version.java | 2 +- .../grpc-google-cloud-vision-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-vision/pom.xml | 26 +- .../proto-google-cloud-vision-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-visionai-bom/pom.xml | 10 +- java-visionai/google-cloud-visionai/pom.xml | 4 +- .../cloud/visionai/v1/stub/Version.java | 2 +- .../grpc-google-cloud-visionai-v1/pom.xml | 4 +- java-visionai/pom.xml | 10 +- .../proto-google-cloud-visionai-v1/pom.xml | 4 +- .../google-cloud-vmmigration-bom/pom.xml | 10 +- .../google-cloud-vmmigration/pom.xml | 4 +- .../cloud/vmmigration/v1/stub/Version.java | 2 +- .../grpc-google-cloud-vmmigration-v1/pom.xml | 4 +- java-vmmigration/pom.xml | 10 +- .../proto-google-cloud-vmmigration-v1/pom.xml | 4 +- .../google-cloud-vmwareengine-bom/pom.xml | 10 +- .../google-cloud-vmwareengine/pom.xml | 4 +- .../cloud/vmwareengine/v1/stub/Version.java | 2 +- .../grpc-google-cloud-vmwareengine-v1/pom.xml | 4 +- java-vmwareengine/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-vpcaccess-bom/pom.xml | 10 +- java-vpcaccess/google-cloud-vpcaccess/pom.xml | 4 +- .../cloud/vpcaccess/v1/stub/Version.java | 2 +- .../grpc-google-cloud-vpcaccess-v1/pom.xml | 4 +- java-vpcaccess/pom.xml | 10 +- .../proto-google-cloud-vpcaccess-v1/pom.xml | 4 +- java-webrisk/google-cloud-webrisk-bom/pom.xml | 14 +- java-webrisk/google-cloud-webrisk/pom.xml | 4 +- .../google/cloud/webrisk/v1/stub/Version.java | 2 +- .../cloud/webrisk/v1beta1/stub/Version.java | 2 +- .../grpc-google-cloud-webrisk-v1/pom.xml | 4 +- .../grpc-google-cloud-webrisk-v1beta1/pom.xml | 4 +- java-webrisk/pom.xml | 14 +- .../proto-google-cloud-webrisk-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 18 +- .../google-cloud-websecurityscanner/pom.xml | 4 +- .../websecurityscanner/v1/stub/Version.java | 2 +- .../v1alpha/stub/Version.java | 2 +- .../v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-websecurityscanner/pom.xml | 18 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 14 +- .../google-cloud-workflow-executions/pom.xml | 4 +- .../workflows/executions/v1/stub/Version.java | 2 +- .../executions/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-workflow-executions/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-workflows-bom/pom.xml | 14 +- java-workflows/google-cloud-workflows/pom.xml | 4 +- .../cloud/workflows/v1/stub/Version.java | 2 +- .../cloud/workflows/v1beta/stub/Version.java | 2 +- .../grpc-google-cloud-workflows-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-workflows/pom.xml | 14 +- .../proto-google-cloud-workflows-v1/pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-workloadmanager-bom/pom.xml | 10 +- .../google-cloud-workloadmanager/pom.xml | 4 +- .../workloadmanager/v1/stub/Version.java | 2 +- .../pom.xml | 4 +- java-workloadmanager/pom.xml | 10 +- .../pom.xml | 4 +- .../google-cloud-workspaceevents-bom/pom.xml | 14 +- .../google-cloud-workspaceevents/pom.xml | 4 +- .../events/subscriptions/v1/stub/Version.java | 2 +- .../subscriptions/v1beta/stub/Version.java | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- java-workspaceevents/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../google-cloud-workstations-bom/pom.xml | 14 +- .../google-cloud-workstations/pom.xml | 4 +- .../cloud/workstations/v1/stub/Version.java | 2 +- .../workstations/v1beta/stub/Version.java | 2 +- .../grpc-google-cloud-workstations-v1/pom.xml | 4 +- .../pom.xml | 4 +- java-workstations/pom.xml | 14 +- .../pom.xml | 4 +- .../pom.xml | 4 +- librarian.yaml | 772 +- release-please-config.json | 3 - .../graalvm/cloudbuild-test-a.yaml | 2 +- .../graalvm/cloudbuild-test-b.yaml | 2 +- .../graalvm/cloudbuild-test-c.yaml | 2 +- .../.cloudbuild/graalvm/cloudbuild.yaml | 2 +- sdk-platform-java/api-common-java/pom.xml | 4 +- sdk-platform-java/coverage-report/pom.xml | 8 +- .../gapic-generator-java-bom/pom.xml | 49 +- .../gapic-generator-java-pom-parent/pom.xml | 4 +- .../gapic-generator-java/pom.xml | 10 +- sdk-platform-java/gax-java/README.md | 12 +- .../gax-java/dependencies.properties | 9 +- sdk-platform-java/gax-java/gax-bom/pom.xml | 20 +- sdk-platform-java/gax-java/gax-grpc/pom.xml | 4 +- .../gax-java/gax-httpjson/BUILD.bazel | 1 + .../gax-java/gax-httpjson/pom.xml | 8 +- .../gax/httpjson/HttpJsonConscryptUtils.java | 147 + .../InstantiatingHttpJsonChannelProvider.java | 49 +- .../gax/httpjson/ManagedHttpJsonChannel.java | 25 +- .../httpjson/HttpJsonConscryptUtilsTest.java | 46 + ...tantiatingHttpJsonChannelProviderTest.java | 32 +- .../httpjson/ManagedHttpJsonChannelTest.java | 57 + sdk-platform-java/gax-java/gax/pom.xml | 4 +- sdk-platform-java/gax-java/pom.xml | 27 +- .../java-core/google-cloud-core-bom/pom.xml | 10 +- .../java-core/google-cloud-core-grpc/pom.xml | 4 +- .../java-core/google-cloud-core-http/pom.xml | 4 +- .../cloud/http/HttpTransportOptions.java | 8 +- .../java-core/google-cloud-core/pom.xml | 4 +- sdk-platform-java/java-core/pom.xml | 6 +- .../java-shared-dependencies/README.md | 2 +- .../dependency-convergence-check/pom.xml | 2 +- .../first-party-dependencies/pom.xml | 12 +- .../java-shared-dependencies/pom.xml | 8 +- .../third-party-dependencies/pom.xml | 9 +- .../upper-bound-check/pom.xml | 4 +- .../java-showcase-3.21.0/pom.xml | 2 +- .../java-showcase-3.25.8/pom.xml | 2 +- sdk-platform-java/release-please-config.json | 3 - .../sdk-platform-java-config/pom.xml | 6 +- versions.txt | 2200 ++-- 2144 files changed, 21196 insertions(+), 9473 deletions(-) create mode 100644 java-showcase/gapic-showcase/src/test/java/com/google/showcase/v1beta1/it/ITPostQuantumCryptography.java create mode 100644 java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/CustomOpenTelemetryMetricsProvider.java create mode 100644 java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/DefaultMetricsProvider.java create mode 100644 java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/MetricsProvider.java create mode 100644 java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/NoopMetricsProvider.java create mode 100644 java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerMetrics.java create mode 100644 java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/BuiltInMetricsBothSinksTest.java create mode 100644 java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/BuiltInMetricsCustomOpenTelemetryTest.java create mode 100644 java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/BuiltInMetricsCustomViewsTest.java create mode 100644 java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/GrpcMetricsDualWireTest.java create mode 100644 java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/MetricsProviderTest.java create mode 100644 sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonConscryptUtils.java create mode 100644 sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/HttpJsonConscryptUtilsTest.java create mode 100644 sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/ManagedHttpJsonChannelTest.java diff --git a/.github/workflows/changelog_generation.yaml b/.github/workflows/changelog_generation.yaml index b06ae4f7d34d..5e8b1828f041 100644 --- a/.github/workflows/changelog_generation.yaml +++ b/.github/workflows/changelog_generation.yaml @@ -26,7 +26,7 @@ jobs: github.event.sender.login == 'release-please[bot]' && github.head_ref == 'release-please--branches--main' && contains(github.event.pull_request.labels.*.name, 'autorelease: pending') steps: - - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: ref: ${{ github.head_ref }} persist-credentials: false diff --git a/.github/workflows/changelog_generation_test.yaml b/.github/workflows/changelog_generation_test.yaml index 9cf1f7614320..e174b1498541 100644 --- a/.github/workflows/changelog_generation_test.yaml +++ b/.github/workflows/changelog_generation_test.yaml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: persist-credentials: false - name: Unit Test diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 90c49bbf66f6..a01f8647b352 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -35,7 +35,7 @@ jobs: # runnable is true if there are changes outside the .github/workflows directory OR if ci.yaml itself (or kokoro scripts) is modified. runnable: ${{ fromJSON(steps.filter.outputs.all_count) > fromJSON(steps.filter.outputs.workflows_count) || fromJSON(steps.filter.outputs.ci_count) > 0 }} steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false # Use this action, rather than a file filter so that we can make this @@ -70,7 +70,7 @@ jobs: id: date if: ${{ needs.bulk-filter.outputs.runnable == 'true' }} run: echo "::set-output name=week_of_year::$(date +'%W' --utc)" - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 if: ${{ needs.bulk-filter.outputs.runnable == 'true' }} with: persist-credentials: false @@ -101,7 +101,7 @@ jobs: id: date if: ${{ needs.bulk-filter.outputs.runnable == 'true' }} run: echo "::set-output name=week_of_year::$(date +'%W' --utc)" - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 if: ${{ needs.bulk-filter.outputs.runnable == 'true' }} with: persist-credentials: false @@ -144,7 +144,7 @@ jobs: outputs: packages: ${{ steps.filter.outputs.changes }} steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -274,7 +274,7 @@ jobs: - name: Get current week within the year id: date run: echo "::set-output name=week_of_year::$(date +'%W' --utc)" - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -299,7 +299,7 @@ jobs: - name: Get current week within the year id: date run: echo "::set-output name=week_of_year::$(date +'%W' --utc)" - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -346,7 +346,7 @@ jobs: matrix: package: ${{ fromJSON(needs.changes.outputs.packages) }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -365,7 +365,7 @@ jobs: matrix: package: ${{ fromJSON(needs.changes.outputs.packages) }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -393,7 +393,7 @@ jobs: steps: - name: Support longpaths run: git config --system core.longpaths true - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -411,7 +411,7 @@ jobs: if: ${{ needs.bulk-filter.outputs.runnable == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: fetch-depth: 0 persist-credentials: false @@ -433,7 +433,7 @@ jobs: - name: Get current week within the year id: date run: echo "::set-output name=week_of_year::$(date +'%W' --utc)" - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -453,7 +453,7 @@ jobs: if: ${{ needs.bulk-filter.outputs.runnable == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 diff --git a/.github/workflows/create_additional_release_tag.yaml b/.github/workflows/create_additional_release_tag.yaml index e4d008b664f6..2dbacf3adf13 100644 --- a/.github/workflows/create_additional_release_tag.yaml +++ b/.github/workflows/create_additional_release_tag.yaml @@ -7,6 +7,11 @@ on: release: types: [published] workflow_dispatch: + inputs: + target_ref: + description: 'Git ref (tag or SHA) to check out and tag. Defaults to branch HEAD if empty.' + required: false + default: '' jobs: build: runs-on: ubuntu-latest @@ -16,8 +21,9 @@ jobs: contents: write steps: - name: Checkout code - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: + ref: ${{ inputs.target_ref || github.ref }} token: ${{ secrets.CLOUD_JAVA_BOT_GITHUB_TOKEN }} persist-credentials: false - name: Set up Git @@ -38,7 +44,7 @@ jobs: continue fi git tag $TAG_NAME - git push origin $TAG_NAME + git push https://x-access-token:${GH_TOKEN}@github.com/${GITHUB_REPOSITORY}.git $TAG_NAME if [ "${ARTIFACT_ID}" = "libraries-bom" ]; then echo "Creating GitHub Release for ${TAG_NAME}" gh release create "${TAG_NAME}" --title "GCP Libraries BOM ${VERSION}" --notes "libraries-bom release." diff --git a/.github/workflows/google-auth-library-java-ci.yaml b/.github/workflows/google-auth-library-java-ci.yaml index 9db5752d7d82..b873e46992d5 100644 --- a/.github/workflows/google-auth-library-java-ci.yaml +++ b/.github/workflows/google-auth-library-java-ci.yaml @@ -30,7 +30,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -49,7 +49,7 @@ jobs: matrix: java: [11, 17, 21, 25, 26] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -67,7 +67,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: persist-credentials: false - uses: actions/setup-java@17f84c3641ba7b8f6deff6309fc4c864478f5d62 # v3 @@ -84,7 +84,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 diff --git a/.github/workflows/java-bigquery-jdbc-ci.yaml b/.github/workflows/java-bigquery-jdbc-ci.yaml index b521cfcf081d..0986e7602884 100644 --- a/.github/workflows/java-bigquery-jdbc-ci.yaml +++ b/.github/workflows/java-bigquery-jdbc-ci.yaml @@ -30,7 +30,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -56,7 +56,7 @@ jobs: matrix: java: [11, 17, 21, 25, 26] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -74,7 +74,7 @@ jobs: name: "units (8)" runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -102,7 +102,7 @@ jobs: run: git config --system core.longpaths true - name: Support longpaths run: git config --system core.longpaths true - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -118,7 +118,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -131,7 +131,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -147,7 +147,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: fetch-depth: 0 persist-credentials: false diff --git a/.github/workflows/java-bigquery-scorecard.yml b/.github/workflows/java-bigquery-scorecard.yml index 24e2a0c7e0fe..451a63a16307 100644 --- a/.github/workflows/java-bigquery-scorecard.yml +++ b/.github/workflows/java-bigquery-scorecard.yml @@ -26,7 +26,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 diff --git a/.github/workflows/java-bigtable-ci.yaml b/.github/workflows/java-bigtable-ci.yaml index d4196285b7dc..5f5b70762feb 100644 --- a/.github/workflows/java-bigtable-ci.yaml +++ b/.github/workflows/java-bigtable-ci.yaml @@ -30,7 +30,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3 @@ -48,7 +48,7 @@ jobs: matrix: java: [11, 17, 21, 25, 26] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -66,7 +66,7 @@ jobs: name: "units (8)" runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -92,7 +92,7 @@ jobs: steps: - name: Support longpaths run: git config --system core.longpaths true - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -111,7 +111,7 @@ jobs: matrix: java: [17] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -125,7 +125,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -141,7 +141,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: fetch-depth: 0 persist-credentials: false @@ -160,7 +160,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 diff --git a/.github/workflows/java-bigtable-conformance.yaml b/.github/workflows/java-bigtable-conformance.yaml index b834005f6805..6d2649ab2853 100644 --- a/.github/workflows/java-bigtable-conformance.yaml +++ b/.github/workflows/java-bigtable-conformance.yaml @@ -30,7 +30,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3 @@ -44,10 +44,10 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: repository: googleapis/cloud-bigtable-clients-test ref: main diff --git a/.github/workflows/java-cloud-bom-bom-content-test.yaml b/.github/workflows/java-cloud-bom-bom-content-test.yaml index 09c932a6db9d..c95f2c03bf50 100644 --- a/.github/workflows/java-cloud-bom-bom-content-test.yaml +++ b/.github/workflows/java-cloud-bom-bom-content-test.yaml @@ -15,7 +15,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3 @@ -31,10 +31,10 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' && github.repository_owner == 'googleapis' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: 11 @@ -62,10 +62,10 @@ jobs: name: BomContentAssertionsTest (Test for assertion logic in BomContentTest) runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: zulu java-version: 11 diff --git a/.github/workflows/java-cloud-bom-ci-release-note-generation.yaml b/.github/workflows/java-cloud-bom-ci-release-note-generation.yaml index e981bf68c6bf..8e10d7b33ebb 100644 --- a/.github/workflows/java-cloud-bom-ci-release-note-generation.yaml +++ b/.github/workflows/java-cloud-bom-ci-release-note-generation.yaml @@ -14,7 +14,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3 @@ -28,10 +28,10 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: 11 @@ -50,10 +50,10 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: 11 diff --git a/.github/workflows/java-cloud-bom-ci-validate-bom.yaml b/.github/workflows/java-cloud-bom-ci-validate-bom.yaml index a019ba6b6060..954649ac32c3 100644 --- a/.github/workflows/java-cloud-bom-ci-validate-bom.yaml +++ b/.github/workflows/java-cloud-bom-ci-validate-bom.yaml @@ -30,7 +30,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3 @@ -46,7 +46,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - name: Fetch the bad protobuf-bom version 3.22.1 diff --git a/.github/workflows/java-cloud-bom-ci.yaml b/.github/workflows/java-cloud-bom-ci.yaml index 1c007fbe2309..bb5ce1dd05f1 100644 --- a/.github/workflows/java-cloud-bom-ci.yaml +++ b/.github/workflows/java-cloud-bom-ci.yaml @@ -31,7 +31,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3 @@ -51,10 +51,10 @@ jobs: matrix: java: [11, 17, 21] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: ${{matrix.java}} @@ -74,10 +74,10 @@ jobs: name: "units (8)" runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: java-version: 8 distribution: temurin @@ -87,7 +87,7 @@ jobs: # https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#jvm run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java -P !java17" >> $GITHUB_ENV shell: bash - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: java-version: 17 distribution: temurin @@ -106,10 +106,10 @@ jobs: steps: - name: Support longpaths run: git config --system core.longpaths true - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: 8 @@ -130,10 +130,10 @@ jobs: matrix: java: [17] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: ${{matrix.java}} @@ -148,10 +148,10 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: 17 @@ -168,11 +168,11 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: fetch-depth: 0 persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: 11 @@ -191,10 +191,10 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: 11 diff --git a/.github/workflows/java-cloud-bom-dashboard.yaml b/.github/workflows/java-cloud-bom-dashboard.yaml index 7147794eb707..38aba4630992 100644 --- a/.github/workflows/java-cloud-bom-dashboard.yaml +++ b/.github/workflows/java-cloud-bom-dashboard.yaml @@ -15,7 +15,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3 @@ -31,10 +31,10 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: 11 @@ -48,10 +48,10 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' && github.repository_owner == 'googleapis' && github.head_ref == 'release-please--branches--main' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: 11 diff --git a/.github/workflows/java-cloud-bom-release-note-generation.yaml b/.github/workflows/java-cloud-bom-release-note-generation.yaml index 76c2bba3613a..1f1152f995a6 100644 --- a/.github/workflows/java-cloud-bom-release-note-generation.yaml +++ b/.github/workflows/java-cloud-bom-release-note-generation.yaml @@ -24,10 +24,10 @@ jobs: contents: write pull-requests: write steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 # zizmor: ignore[cache-poisoning] with: distribution: temurin diff --git a/.github/workflows/java-firestore-ci.yaml b/.github/workflows/java-firestore-ci.yaml index 9054b089f6c2..6c7fbbfec5ed 100644 --- a/.github/workflows/java-firestore-ci.yaml +++ b/.github/workflows/java-firestore-ci.yaml @@ -30,7 +30,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3 @@ -48,7 +48,7 @@ jobs: matrix: java: [11, 17, 21, 25, 26] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -66,7 +66,7 @@ jobs: name: "units (8)" runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -92,7 +92,7 @@ jobs: steps: - name: Support longpaths run: git config --system core.longpaths true - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -111,7 +111,7 @@ jobs: matrix: java: [17] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -125,7 +125,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -141,7 +141,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: fetch-depth: 0 persist-credentials: false @@ -160,7 +160,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 diff --git a/.github/workflows/java-pubsub-ci.yaml b/.github/workflows/java-pubsub-ci.yaml index 8d3e2b24cf5f..0a64f447d52f 100644 --- a/.github/workflows/java-pubsub-ci.yaml +++ b/.github/workflows/java-pubsub-ci.yaml @@ -30,7 +30,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3 @@ -48,7 +48,7 @@ jobs: matrix: java: [11, 17, 21, 25, 26] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -66,7 +66,7 @@ jobs: name: "units (8)" runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -92,7 +92,7 @@ jobs: steps: - name: Support longpaths run: git config --system core.longpaths true - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -111,7 +111,7 @@ jobs: matrix: java: [17] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -125,7 +125,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -141,7 +141,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: fetch-depth: 0 persist-credentials: false @@ -160,7 +160,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 diff --git a/.github/workflows/java-shared-config-ci.yaml b/.github/workflows/java-shared-config-ci.yaml index 1ca058279adc..e20bf04b13b5 100644 --- a/.github/workflows/java-shared-config-ci.yaml +++ b/.github/workflows/java-shared-config-ci.yaml @@ -30,7 +30,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3 @@ -48,7 +48,7 @@ jobs: matrix: java: [11, 17, 21] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -66,7 +66,7 @@ jobs: name: "units (8)" runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -92,7 +92,7 @@ jobs: steps: - name: Support longpaths run: git config --system core.longpaths true - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -111,7 +111,7 @@ jobs: matrix: java: [17] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -125,7 +125,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -141,7 +141,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: fetch-depth: 0 persist-credentials: false @@ -160,7 +160,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 diff --git a/.github/workflows/java-shared-config-downstream-dependencies.yaml b/.github/workflows/java-shared-config-downstream-dependencies.yaml index 7216d3e35885..d2cbe497f150 100644 --- a/.github/workflows/java-shared-config-downstream-dependencies.yaml +++ b/.github/workflows/java-shared-config-downstream-dependencies.yaml @@ -15,7 +15,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3 diff --git a/.github/workflows/java-shared-config-downstream-maven-plugins.yaml b/.github/workflows/java-shared-config-downstream-maven-plugins.yaml index afc7565c1102..70524c1cecac 100644 --- a/.github/workflows/java-shared-config-downstream-maven-plugins.yaml +++ b/.github/workflows/java-shared-config-downstream-maven-plugins.yaml @@ -19,7 +19,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3 @@ -84,7 +84,7 @@ jobs: job-type: - lint # fmt-maven-plugin and google-java-format steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: fetch-depth: 0 persist-credentials: false diff --git a/.github/workflows/java-spanner-integration-tests-against-emulator.yaml b/.github/workflows/java-spanner-integration-tests-against-emulator.yaml index 0d40ff25796c..fc7fa4bb1443 100644 --- a/.github/workflows/java-spanner-integration-tests-against-emulator.yaml +++ b/.github/workflows/java-spanner-integration-tests-against-emulator.yaml @@ -13,7 +13,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -35,10 +35,10 @@ jobs: - 9020:9020 steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: 11 diff --git a/.github/workflows/java-spanner-jdbc-ci.yaml b/.github/workflows/java-spanner-jdbc-ci.yaml index afc78ab7aabc..d7217a00b662 100644 --- a/.github/workflows/java-spanner-jdbc-ci.yaml +++ b/.github/workflows/java-spanner-jdbc-ci.yaml @@ -30,7 +30,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -54,7 +54,7 @@ jobs: matrix: java: [11, 17, 21, 25, 26] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -72,7 +72,7 @@ jobs: name: "units (8)" runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -100,7 +100,7 @@ jobs: run: git config --system core.longpaths true - name: Support longpaths run: git config --system core.longpaths true - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -116,7 +116,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -129,7 +129,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -145,7 +145,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: fetch-depth: 0 persist-credentials: false diff --git a/.github/workflows/java-spanner-jdbc-integration-tests-against-emulator.yaml b/.github/workflows/java-spanner-jdbc-integration-tests-against-emulator.yaml index 94e3364ecc5a..f666975a0a6e 100644 --- a/.github/workflows/java-spanner-jdbc-integration-tests-against-emulator.yaml +++ b/.github/workflows/java-spanner-jdbc-integration-tests-against-emulator.yaml @@ -15,7 +15,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -37,10 +37,10 @@ jobs: - 9020:9020 steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: 17 diff --git a/.github/workflows/java-spanner-jdbc-quickperf.yaml b/.github/workflows/java-spanner-jdbc-quickperf.yaml index db3eec1191f8..026d9cad70e6 100644 --- a/.github/workflows/java-spanner-jdbc-quickperf.yaml +++ b/.github/workflows/java-spanner-jdbc-quickperf.yaml @@ -27,7 +27,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -41,10 +41,10 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: 17 diff --git a/.github/workflows/java-spanner-jdbc-sample-tests.yml b/.github/workflows/java-spanner-jdbc-sample-tests.yml index de72dd4a1a0d..f5cd36f31799 100644 --- a/.github/workflows/java-spanner-jdbc-sample-tests.yml +++ b/.github/workflows/java-spanner-jdbc-sample-tests.yml @@ -27,7 +27,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -41,10 +41,10 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: 8 diff --git a/.github/workflows/java-spanner-jdbc-spring-data-jdbc-sample.yaml b/.github/workflows/java-spanner-jdbc-spring-data-jdbc-sample.yaml index fde7bc986ceb..247a6a172254 100644 --- a/.github/workflows/java-spanner-jdbc-spring-data-jdbc-sample.yaml +++ b/.github/workflows/java-spanner-jdbc-spring-data-jdbc-sample.yaml @@ -27,7 +27,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -41,10 +41,10 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: 17 diff --git a/.github/workflows/java-spanner-jdbc-spring-data-mybatis-sample.yaml b/.github/workflows/java-spanner-jdbc-spring-data-mybatis-sample.yaml index 902fad4f7598..0f4539a1ad43 100644 --- a/.github/workflows/java-spanner-jdbc-spring-data-mybatis-sample.yaml +++ b/.github/workflows/java-spanner-jdbc-spring-data-mybatis-sample.yaml @@ -27,7 +27,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -41,10 +41,10 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin java-version: 17 diff --git a/.github/workflows/java-storage-nio-ci.yaml b/.github/workflows/java-storage-nio-ci.yaml index 132babbc3200..7e89b50c0089 100644 --- a/.github/workflows/java-storage-nio-ci.yaml +++ b/.github/workflows/java-storage-nio-ci.yaml @@ -30,7 +30,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -54,7 +54,7 @@ jobs: matrix: java: [11, 17, 21, 25, 26] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -72,7 +72,7 @@ jobs: name: "units (8)" runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -100,7 +100,7 @@ jobs: run: git config --system core.longpaths true - name: Support longpaths run: git config --system core.longpaths true - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -116,7 +116,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -129,7 +129,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -145,7 +145,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: fetch-depth: 0 persist-credentials: false diff --git a/.github/workflows/librarian_generation_check.yaml b/.github/workflows/librarian_generation_check.yaml index ecfc3f299bc9..db6b5b0b4188 100644 --- a/.github/workflows/librarian_generation_check.yaml +++ b/.github/workflows/librarian_generation_check.yaml @@ -42,7 +42,7 @@ jobs: run: | echo "Error: Running this workflow manually on the main branch is not allowed." exit 1 - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: fetch-depth: 0 persist-credentials: false @@ -66,10 +66,6 @@ jobs: sudo apt-get update && sudo apt-get install -y maven fi mvn -version - - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 - with: - python-version: "3.12" - cache: 'pip' - name: Run librarian install run: | librarian install @@ -105,7 +101,7 @@ jobs: fi - name: Create issue if previous step fails if: ${{ failure() && github.event_name == 'push' && github.ref == 'refs/heads/main' }} - uses: googleapis/librarian/.github/actions/create-issue-on-failure@main # zizmor: ignore[unpinned-uses] + uses: googleapis/librarian/.github/actions/create-issue-on-failure@35997441eafc2b02716804f9baba1e3f04f8a44f # v0.31.1 with: title: "Librarian generate diff check failed on main branch" body: | diff --git a/.github/workflows/readme.yaml b/.github/workflows/readme.yaml index ace1aa5f71dd..269df43e1f39 100644 --- a/.github/workflows/readme.yaml +++ b/.github/workflows/readme.yaml @@ -26,7 +26,7 @@ jobs: runs-on: ubuntu-latest if: github.repository_owner == 'googleapis' steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 diff --git a/.github/workflows/release_tools_test.yaml b/.github/workflows/release_tools_test.yaml index e583d81abf5f..c2068901bb0b 100644 --- a/.github/workflows/release_tools_test.yaml +++ b/.github/workflows/release_tools_test.yaml @@ -25,7 +25,7 @@ jobs: release-tool-unit-test: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 diff --git a/.github/workflows/repository_sanity.yaml b/.github/workflows/repository_sanity.yaml index 791da952c4f4..281ce97f6a8b 100644 --- a/.github/workflows/repository_sanity.yaml +++ b/.github/workflows/repository_sanity.yaml @@ -24,7 +24,7 @@ jobs: # Generated files should not match .gitignore runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - name: checking any files matching gitignore @@ -49,7 +49,7 @@ jobs: # Ensure generate-readme.py runs fine runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 @@ -63,7 +63,7 @@ jobs: group_id_check_for_maps_libraries: runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - name: Install Maps modules @@ -93,7 +93,7 @@ jobs: package_name_check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - name: Ensure no new invalid package name in Java files diff --git a/.github/workflows/sdk-platform-java-analyze_dependency.yaml b/.github/workflows/sdk-platform-java-analyze_dependency.yaml index 5f0449f75c57..f90362c62aac 100644 --- a/.github/workflows/sdk-platform-java-analyze_dependency.yaml +++ b/.github/workflows/sdk-platform-java-analyze_dependency.yaml @@ -28,7 +28,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -42,7 +42,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 diff --git a/.github/workflows/sdk-platform-java-ci.yaml b/.github/workflows/sdk-platform-java-ci.yaml index 63d4bf1a1681..ed87a0e1fead 100644 --- a/.github/workflows/sdk-platform-java-ci.yaml +++ b/.github/workflows/sdk-platform-java-ci.yaml @@ -13,7 +13,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -33,7 +33,7 @@ jobs: matrix: java: [ 11, 17, 21, 25, 26 ] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -65,7 +65,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: persist-credentials: false - uses: actions/setup-java@17f84c3641ba7b8f6deff6309fc4c864478f5d62 # v3 @@ -83,7 +83,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -100,7 +100,7 @@ jobs: name: "sdk-platform-java units (8)" runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false # Java 8 tests uses JDK 17 to compile and JDK 8 to run tests. @@ -160,7 +160,7 @@ jobs: matrix: java: [ 11, 17, 21 ] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -190,7 +190,7 @@ jobs: matrix: java: [ 25, 26 ] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -218,7 +218,7 @@ jobs: matrix: java: [ 11, 17 ] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -259,7 +259,7 @@ jobs: name: "gapic-generator-java (8)" runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -311,7 +311,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -347,7 +347,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -371,7 +371,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: ref: ${{ github.event.pull_request.head.sha }} persist-credentials: false @@ -400,7 +400,7 @@ jobs: if: ${{ needs.filter.outputs.library == 'true' }} runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: ref: ${{ github.event.pull_request.head.sha }} persist-credentials: false diff --git a/.github/workflows/sdk-platform-java-dependency_compatibility_test.yaml b/.github/workflows/sdk-platform-java-dependency_compatibility_test.yaml index 4a50aa11cf85..3a8f15461362 100644 --- a/.github/workflows/sdk-platform-java-dependency_compatibility_test.yaml +++ b/.github/workflows/sdk-platform-java-dependency_compatibility_test.yaml @@ -25,7 +25,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -44,7 +44,7 @@ jobs: contents: read steps: - name: Checkout sdk-platform-java - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - name: Set up JDK 21 @@ -90,7 +90,22 @@ jobs: curl --location https://github.com/googleapis/gapic-showcase/releases/download/v${SHOWCASE_VERSION}/gapic-showcase-${SHOWCASE_VERSION}-linux-amd64.tar.gz --output /usr/src/showcase/showcase-${SHOWCASE_VERSION}-linux-amd64.tar.gz cd /usr/src/showcase/ tar -xf showcase-* + # Start standard insecure showcase server on default port 7469 for standard integration tests ./gapic-showcase run & + # Start secure TLS showcase server on port 7470 for PQC TLS integration tests + ./gapic-showcase run --port 7470 --tls --ca-cert-output-file /tmp/showcase-ca.pem & + # Wait deterministically for both background showcase servers to finish binding ports 7469/7470 + # and writing /tmp/showcase-ca.pem. Starting TLS requires RSA key generation and disk I/O, + # which can cause race conditions if tests start before /tmp/showcase-ca.pem is created. + for i in $(seq 1 30); do + if (echo > /dev/tcp/127.0.0.1/7469) 2>/dev/null && \ + (echo > /dev/tcp/127.0.0.1/7470) 2>/dev/null && \ + [ -f /tmp/showcase-ca.pem ]; then + echo "Showcase servers (ports 7469, 7470) and CA cert ready in attempt $i." + break + fi + sleep 0.2 + done cd - working-directory: sdk-platform-java diff --git a/.github/workflows/sdk-platform-java-downstream.yaml b/.github/workflows/sdk-platform-java-downstream.yaml index 2dfa1b8b5701..f57ac4cbc1fc 100644 --- a/.github/workflows/sdk-platform-java-downstream.yaml +++ b/.github/workflows/sdk-platform-java-downstream.yaml @@ -18,7 +18,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -42,7 +42,7 @@ jobs: - java-firestore - java-pubsub steps: - - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: persist-credentials: false - uses: actions/setup-java@17f84c3641ba7b8f6deff6309fc4c864478f5d62 # v3 @@ -66,7 +66,7 @@ jobs: strategy: fail-fast: false steps: - - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: persist-credentials: false - uses: actions/setup-java@17f84c3641ba7b8f6deff6309fc4c864478f5d62 # v3 diff --git a/.github/workflows/sdk-platform-java-downstream_unmanaged_dependency_check.yaml b/.github/workflows/sdk-platform-java-downstream_unmanaged_dependency_check.yaml index a7f40fa01d25..d9132f24751d 100644 --- a/.github/workflows/sdk-platform-java-downstream_unmanaged_dependency_check.yaml +++ b/.github/workflows/sdk-platform-java-downstream_unmanaged_dependency_check.yaml @@ -16,7 +16,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -39,12 +39,12 @@ jobs: - java-pubsub steps: - name: Checkout sdk-platform-java - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: path: google-cloud-java persist-credentials: false - name: Checkout the downstream repo - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: repository: googleapis/${{ matrix.repo }} path: ${{ matrix.repo }} diff --git a/.github/workflows/sdk-platform-java-nightly.yaml b/.github/workflows/sdk-platform-java-nightly.yaml index dd1b7adfa4bb..3540a509922d 100644 --- a/.github/workflows/sdk-platform-java-nightly.yaml +++ b/.github/workflows/sdk-platform-java-nightly.yaml @@ -19,10 +19,10 @@ jobs: runs-on: ${{ matrix.os }} steps: - run: git config --global core.longpaths true - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: java-version: ${{ matrix.java }} distribution: temurin @@ -54,10 +54,10 @@ jobs: runs-on: ${{ matrix.os }} steps: - run: git config --global core.longpaths true - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: java-version: 11 distribution: temurin @@ -69,7 +69,7 @@ jobs: env: BUILD_SUBDIR: sdk-platform-java JOB_TYPE: install - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: java-version: 8 distribution: temurin diff --git a/.github/workflows/sdk-platform-java-shared_dependencies.yaml b/.github/workflows/sdk-platform-java-shared_dependencies.yaml index a54851711157..d2896723ddc4 100644 --- a/.github/workflows/sdk-platform-java-shared_dependencies.yaml +++ b/.github/workflows/sdk-platform-java-shared_dependencies.yaml @@ -19,7 +19,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -34,7 +34,7 @@ jobs: name: Shared Dependencies BOM upper-bound check runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 diff --git a/.github/workflows/sdk-platform-java-sonar.yaml b/.github/workflows/sdk-platform-java-sonar.yaml index 925ad6208901..61c51c597eca 100644 --- a/.github/workflows/sdk-platform-java-sonar.yaml +++ b/.github/workflows/sdk-platform-java-sonar.yaml @@ -16,7 +16,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -32,7 +32,7 @@ jobs: name: Build runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis persist-credentials: false diff --git a/.github/workflows/showcase-version-check.yaml b/.github/workflows/showcase-version-check.yaml index 49de8716abb7..4cd33fbe0f83 100644 --- a/.github/workflows/showcase-version-check.yaml +++ b/.github/workflows/showcase-version-check.yaml @@ -29,7 +29,7 @@ jobs: outputs: should_run: ${{ steps.filter.outputs.should_run }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3 @@ -48,7 +48,7 @@ jobs: permissions: issues: write steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - name: Extract showcase version from pom.xml diff --git a/.github/workflows/showcase.yaml b/.github/workflows/showcase.yaml index aee65d77a862..35b453c020e8 100644 --- a/.github/workflows/showcase.yaml +++ b/.github/workflows/showcase.yaml @@ -13,7 +13,7 @@ jobs: outputs: library: ${{ steps.filter.outputs.library }} steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 @@ -32,7 +32,7 @@ jobs: name: "showcase (8)" runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -61,7 +61,22 @@ jobs: curl --location https://github.com/googleapis/gapic-showcase/releases/download/v${SHOWCASE_VERSION}/gapic-showcase-${SHOWCASE_VERSION}-linux-amd64.tar.gz --output /usr/src/showcase/showcase-${SHOWCASE_VERSION}-linux-amd64.tar.gz cd /usr/src/showcase/ tar -xf showcase-* + # Start standard insecure showcase server on default port 7469 for standard integration tests ./gapic-showcase run & + # Start secure TLS showcase server on port 7470 for PQC TLS integration tests + ./gapic-showcase run --port 7470 --tls --ca-cert-output-file /tmp/showcase-ca.pem & + # Wait deterministically for both background showcase servers to finish binding ports 7469/7470 + # and writing /tmp/showcase-ca.pem. Starting TLS requires RSA key generation and disk I/O, + # which can cause race conditions if tests start before /tmp/showcase-ca.pem is created. + for i in $(seq 1 30); do + if (echo > /dev/tcp/127.0.0.1/7469) 2>/dev/null && \ + (echo > /dev/tcp/127.0.0.1/7470) 2>/dev/null && \ + [ -f /tmp/showcase-ca.pem ]; then + echo "Showcase servers (ports 7469, 7470) and CA cert ready in attempt $i." + break + fi + sleep 0.2 + done cd - - name: Showcase integration tests working-directory: java-showcase @@ -110,7 +125,7 @@ jobs: matrix: java: [ 11, 17, 21, 25, 26 ] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 @@ -160,7 +175,22 @@ jobs: curl --location https://github.com/googleapis/gapic-showcase/releases/download/v${SHOWCASE_VERSION}/gapic-showcase-${SHOWCASE_VERSION}-linux-amd64.tar.gz --output /usr/src/showcase/showcase-${SHOWCASE_VERSION}-linux-amd64.tar.gz cd /usr/src/showcase/ tar -xf showcase-* + # Start standard insecure showcase server on default port 7469 for standard integration tests ./gapic-showcase run & + # Start secure TLS showcase server on port 7470 for PQC TLS integration tests + ./gapic-showcase run --port 7470 --tls --ca-cert-output-file /tmp/showcase-ca.pem & + # Wait deterministically for both background showcase servers to finish binding ports 7469/7470 + # and writing /tmp/showcase-ca.pem. Starting TLS requires RSA key generation and disk I/O, + # which can cause race conditions if tests start before /tmp/showcase-ca.pem is created. + for i in $(seq 1 30); do + if (echo > /dev/tcp/127.0.0.1/7469) 2>/dev/null && \ + (echo > /dev/tcp/127.0.0.1/7470) 2>/dev/null && \ + [ -f /tmp/showcase-ca.pem ]; then + echo "Showcase servers (ports 7469, 7470) and CA cert ready in attempt $i." + break + fi + sleep 0.2 + done cd - - name: Showcase integration tests working-directory: java-showcase @@ -210,7 +240,7 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Checkout @ target branch - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: ref: ${{ github.base_ref }} persist-credentials: false @@ -232,7 +262,7 @@ jobs: echo "SHOWCASE_CLIENT_VERSION=$SHOWCASE_CLIENT_VERSION" >> "$GITHUB_ENV" working-directory: java-showcase - name: Checkout sdk-platform-java @ PR merge commit - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: persist-credentials: false - name: Install sdk-platform-java @ PR merge commit diff --git a/.github/workflows/unmanaged_dependency_check.yaml b/.github/workflows/unmanaged_dependency_check.yaml index d433e4e8bd2a..bc4ebb3bbb82 100644 --- a/.github/workflows/unmanaged_dependency_check.yaml +++ b/.github/workflows/unmanaged_dependency_check.yaml @@ -8,7 +8,7 @@ jobs: unmanaged_dependency_check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: persist-credentials: false - uses: actions/setup-java@17f84c3641ba7b8f6deff6309fc4c864478f5d62 # v3 diff --git a/.github/workflows/update_librarian_googleapis.yaml b/.github/workflows/update_librarian_googleapis.yaml index 61ecd4792925..562473174fb1 100644 --- a/.github/workflows/update_librarian_googleapis.yaml +++ b/.github/workflows/update_librarian_googleapis.yaml @@ -31,7 +31,7 @@ jobs: working-directory: google-cloud-java steps: - name: Checkout google-cloud-java - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: repository: googleapis/google-cloud-java path: google-cloud-java @@ -77,7 +77,7 @@ jobs: - name: Run librarian update & tidy run: | go run "github.com/googleapis/librarian/cmd/librarian@${STEPS_LIBRARIAN_OUTPUTS_VERSION}" update sources.googleapis - go run "github.com/googleapis/librarian/cmd/librarian@${{ steps.librarian.outputs.version }}" tidy + go run "github.com/googleapis/librarian/cmd/librarian@${STEPS_LIBRARIAN_OUTPUTS_VERSION}" tidy env: STEPS_LIBRARIAN_OUTPUTS_VERSION: ${{ steps.librarian.outputs.version }} - name: Get latest commit @@ -114,11 +114,6 @@ jobs: sudo apt-get update && sudo apt-get install -y maven fi mvn -version - - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 - if: steps.detect_librarian.outputs.has_changes == 'true' - with: - python-version: "3.12" - cache: 'pip' - name: Run librarian install if: steps.detect_librarian.outputs.has_changes == 'true' run: | diff --git a/.github/workflows/versions.yaml b/.github/workflows/versions.yaml index c09d556cb950..4d77ed2f9941 100644 --- a/.github/workflows/versions.yaml +++ b/.github/workflows/versions.yaml @@ -26,7 +26,7 @@ jobs: unmanaged-versions-check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: persist-credentials: false - run: ./generation/check_non_release_please_versions.sh @@ -44,7 +44,7 @@ jobs: steps: - run: sudo apt-get update -y - run: sudo apt-get install libxml2-utils - - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: persist-credentials: false - run: ./generation/check_existing_release_versions.sh diff --git a/.gitignore b/.gitignore index d7d2b1e4b138..7618f6a26508 100644 --- a/.gitignore +++ b/.gitignore @@ -86,6 +86,3 @@ monorepo *.tfstate.lock.info .jqwik-database - -# Python build artifacts for library_generation tool -sdk-platform-java/hermetic_build/library_generation/build/ diff --git a/.kokoro/java-storage-expected-flattened-dependencies.txt b/.kokoro/java-storage-expected-flattened-dependencies.txt index 915d949d00c7..d1c288bcdfef 100644 --- a/.kokoro/java-storage-expected-flattened-dependencies.txt +++ b/.kokoro/java-storage-expected-flattened-dependencies.txt @@ -6,61 +6,61 @@ com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.18.3:compile com.fasterxml.woodstox:woodstox-core:jar:7.0.0:compile com.google.android:annotations:jar:4.1.1.4:runtime com.google.api-client:google-api-client:jar:2.7.2:compile -com.google.api.grpc:gapic-google-cloud-storage-v2:jar:2.70.0-SNAPSHOT:compile -com.google.api.grpc:grpc-google-cloud-storage-v2:jar:2.70.0-SNAPSHOT:compile +com.google.api.grpc:gapic-google-cloud-storage-v2:jar:2.71.0-SNAPSHOT:compile +com.google.api.grpc:grpc-google-cloud-storage-v2:jar:2.71.0-SNAPSHOT:compile com.google.api.grpc:proto-google-cloud-monitoring-v3:jar:3.52.0:compile -com.google.api.grpc:proto-google-cloud-storage-v2:jar:2.70.0-SNAPSHOT:compile -com.google.api.grpc:proto-google-common-protos:jar:2.73.0-SNAPSHOT:compile -com.google.api.grpc:proto-google-iam-v1:jar:1.68.0-SNAPSHOT:compile -com.google.api:api-common:jar:2.65.0-SNAPSHOT:compile -com.google.api:gax-grpc:jar:2.82.0-SNAPSHOT:compile -com.google.api:gax-httpjson:jar:2.82.0-SNAPSHOT:compile -com.google.api:gax:jar:2.82.0-SNAPSHOT:compile +com.google.api.grpc:proto-google-cloud-storage-v2:jar:2.71.0-SNAPSHOT:compile +com.google.api.grpc:proto-google-common-protos:jar:2.74.0-SNAPSHOT:compile +com.google.api.grpc:proto-google-iam-v1:jar:1.69.0-SNAPSHOT:compile +com.google.api:api-common:jar:2.66.0-SNAPSHOT:compile +com.google.api:gax-grpc:jar:2.83.0-SNAPSHOT:compile +com.google.api:gax-httpjson:jar:2.83.0-SNAPSHOT:compile +com.google.api:gax:jar:2.83.0-SNAPSHOT:compile com.google.apis:google-api-services-storage:jar:v1-rev20260524-2.0.0:compile -com.google.auth:google-auth-library-credentials:jar:1.49.0-SNAPSHOT:compile -com.google.auth:google-auth-library-oauth2-http:jar:1.49.0-SNAPSHOT:compile +com.google.auth:google-auth-library-credentials:jar:1.50.0-SNAPSHOT:compile +com.google.auth:google-auth-library-oauth2-http:jar:1.50.0-SNAPSHOT:compile com.google.auto.value:auto-value-annotations:jar:1.11.0:compile com.google.cloud.opentelemetry:detector-resources-support:jar:0.33.0:runtime com.google.cloud.opentelemetry:exporter-metrics:jar:0.33.0:compile com.google.cloud.opentelemetry:shared-resourcemapping:jar:0.33.0:runtime -com.google.cloud:google-cloud-core-grpc:jar:2.72.0-SNAPSHOT:compile -com.google.cloud:google-cloud-core-http:jar:2.72.0-SNAPSHOT:compile -com.google.cloud:google-cloud-core:jar:2.72.0-SNAPSHOT:compile +com.google.cloud:google-cloud-core-grpc:jar:2.73.0-SNAPSHOT:compile +com.google.cloud:google-cloud-core-http:jar:2.73.0-SNAPSHOT:compile +com.google.cloud:google-cloud-core:jar:2.73.0-SNAPSHOT:compile com.google.cloud:google-cloud-monitoring:jar:3.52.0:compile com.google.code.findbugs:jsr305:jar:3.0.2:compile com.google.code.gson:gson:jar:2.13.2:compile com.google.errorprone:error_prone_annotations:jar:2.48.0:compile com.google.guava:failureaccess:jar:1.0.3:compile -com.google.guava:guava:jar:33.5.0-jre:compile +com.google.guava:guava:jar:33.6.0-jre:compile com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile -com.google.http-client:google-http-client-apache-v2:jar:2.1.1:compile -com.google.http-client:google-http-client-appengine:jar:2.1.1:compile -com.google.http-client:google-http-client-gson:jar:2.1.1:compile -com.google.http-client:google-http-client-jackson2:jar:2.1.1:compile -com.google.http-client:google-http-client:jar:2.1.1:compile +com.google.http-client:google-http-client-apache-v2:jar:2.2.0:compile +com.google.http-client:google-http-client-appengine:jar:2.2.0:compile +com.google.http-client:google-http-client-gson:jar:2.2.0:compile +com.google.http-client:google-http-client-jackson2:jar:2.2.0:compile +com.google.http-client:google-http-client:jar:2.2.0:compile com.google.j2objc:j2objc-annotations:jar:3.1:compile com.google.oauth-client:google-oauth-client:jar:1.39.0:compile -com.google.protobuf:protobuf-java-util:jar:4.33.2:compile -com.google.protobuf:protobuf-java:jar:4.33.2:compile +com.google.protobuf:protobuf-java-util:jar:4.33.6:compile +com.google.protobuf:protobuf-java:jar:4.33.6:compile com.google.re2j:re2j:jar:1.8:runtime commons-codec:commons-codec:jar:1.18.0:compile -io.grpc:grpc-alts:jar:1.81.0:compile -io.grpc:grpc-api:jar:1.81.0:compile -io.grpc:grpc-auth:jar:1.81.0:compile -io.grpc:grpc-context:jar:1.81.0:compile -io.grpc:grpc-core:jar:1.81.0:compile -io.grpc:grpc-googleapis:jar:1.81.0:runtime -io.grpc:grpc-grpclb:jar:1.81.0:compile -io.grpc:grpc-inprocess:jar:1.81.0:compile -io.grpc:grpc-netty-shaded:jar:1.81.0:runtime -io.grpc:grpc-opentelemetry:jar:1.81.0:compile -io.grpc:grpc-protobuf-lite:jar:1.81.0:runtime -io.grpc:grpc-protobuf:jar:1.81.0:compile -io.grpc:grpc-rls:jar:1.81.0:runtime -io.grpc:grpc-services:jar:1.81.0:runtime -io.grpc:grpc-stub:jar:1.81.0:compile -io.grpc:grpc-util:jar:1.81.0:runtime -io.grpc:grpc-xds:jar:1.81.0:runtime +io.grpc:grpc-alts:jar:1.82.2:compile +io.grpc:grpc-api:jar:1.82.2:compile +io.grpc:grpc-auth:jar:1.82.2:compile +io.grpc:grpc-context:jar:1.82.2:compile +io.grpc:grpc-core:jar:1.82.2:compile +io.grpc:grpc-googleapis:jar:1.82.2:runtime +io.grpc:grpc-grpclb:jar:1.82.2:compile +io.grpc:grpc-inprocess:jar:1.82.2:compile +io.grpc:grpc-netty-shaded:jar:1.82.2:runtime +io.grpc:grpc-opentelemetry:jar:1.82.2:compile +io.grpc:grpc-protobuf-lite:jar:1.82.2:runtime +io.grpc:grpc-protobuf:jar:1.82.2:compile +io.grpc:grpc-rls:jar:1.82.2:runtime +io.grpc:grpc-services:jar:1.82.2:runtime +io.grpc:grpc-stub:jar:1.82.2:compile +io.grpc:grpc-util:jar:1.82.2:runtime +io.grpc:grpc-xds:jar:1.82.2:runtime io.opencensus:opencensus-api:jar:0.31.1:compile io.opencensus:opencensus-contrib-http-util:jar:0.31.1:compile io.opentelemetry.contrib:opentelemetry-gcp-resources:jar:1.37.0-alpha:compile @@ -80,7 +80,7 @@ org.apache.httpcomponents:httpcore:jar:4.4.16:compile org.checkerframework:checker-qual:jar:3.49.0:compile org.codehaus.mojo:animal-sniffer-annotations:jar:1.27:compile org.codehaus.woodstox:stax2-api:jar:4.2.2:compile -org.conscrypt:conscrypt-openjdk-uber:jar:2.5.2:compile +org.conscrypt:conscrypt-openjdk-uber:jar:2.6.0:compile org.jspecify:jspecify:jar:1.0.0:compile org.slf4j:slf4j-api:jar:2.0.16:compile org.threeten:threetenbp:jar:1.7.0:compile diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 77b6362b7628..5ba10e65cc8b 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.88.0" + ".": "1.89.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b50fb011ad5..eb07ddbba6cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,98 @@ # Changelog +## [1.89.0](https://github.com/googleapis/google-cloud-java/compare/v1.88.0...v1.89.0) (2026-07-29) + + +### Features + +* **agentidentity:** onboard v1 and v1beta API versions ([#13796](https://github.com/googleapis/google-cloud-java/issues/13796)) ([1b1300d](https://github.com/googleapis/google-cloud-java/commit/1b1300d1e0144f41b40b83bf4730a2c5036fb53c)) +* **auth:** add JSpecify Null annotations to Auth ([#13842](https://github.com/googleapis/google-cloud-java/issues/13842)) ([f6f24d4](https://github.com/googleapis/google-cloud-java/commit/f6f24d438bb5818c2047243bf1ddbccb2c1f827e)) +* **bigquery-jdbc:** add `SSLTrustStoreType` and `SSLTrustStoreProvider` connection properties ([#13858](https://github.com/googleapis/google-cloud-java/issues/13858)) ([9449be1](https://github.com/googleapis/google-cloud-java/commit/9449be189c9cb4a220c529b16278f47053dcf83c)) +* **bigquery-jdbc:** add otel trace and span IDs to local logs ([#13935](https://github.com/googleapis/google-cloud-java/issues/13935)) ([2801fbd](https://github.com/googleapis/google-cloud-java/commit/2801fbdc4712d187356e11e6eb717423603db3bf)) +* **bigquery-jdbc:** implement BigQueryParameterMetaData and dynamic type mappings ([#13812](https://github.com/googleapis/google-cloud-java/issues/13812)) ([3d67dba](https://github.com/googleapis/google-cloud-java/commit/3d67dbaa96c2d535324022c8d0453b34a154c19c)) +* **bigquery-jdbc:** implement parameter setters in PreparedStatement ([#13792](https://github.com/googleapis/google-cloud-java/issues/13792)) ([94f7404](https://github.com/googleapis/google-cloud-java/commit/94f74042f7efde7f03173af5b52b7c32c573e1f4)) +* **bigquery-jdbc:** Migrate `getImportedKeys` and `getCrossReference` to BQ API ([#13692](https://github.com/googleapis/google-cloud-java/issues/13692)) ([082b046](https://github.com/googleapis/google-cloud-java/commit/082b046380b4fe52cf8d03f22efd480a84c31c83)) +* **bigquery-jdbc:** migrate `getPrimaryKeys` to use BQ API ([#13691](https://github.com/googleapis/google-cloud-java/issues/13691)) ([1951f49](https://github.com/googleapis/google-cloud-java/commit/1951f4984b259e66e3bf995e1b4e95e0a4d4bfd2)) +* **bigquery-jdbc:** OpenTelemetry integration in BQ JDBC ([#12902](https://github.com/googleapis/google-cloud-java/issues/12902)) ([af18f65](https://github.com/googleapis/google-cloud-java/commit/af18f6559c57af1e3a62b33e9e8a27cec03e3bf6)) +* **bigquery-jdbc:** optimize memory footprint for JSON result set streaming ([#13660](https://github.com/googleapis/google-cloud-java/issues/13660)) ([11f26d3](https://github.com/googleapis/google-cloud-java/commit/11f26d3ce44801b705674e3423a85bc8d100cacb)) +* **bigquery-jdbc:** standardize parameter handling and calendar defensive copying across statement interfaces ([#13805](https://github.com/googleapis/google-cloud-java/issues/13805)) ([ccd13eb](https://github.com/googleapis/google-cloud-java/commit/ccd13ebd155dc59f8b7d689e0a27538c44b56827)) +* **bigtable:** add view_parameters support to BoundStatement ([#13673](https://github.com/googleapis/google-cloud-java/issues/13673)) ([d5cc437](https://github.com/googleapis/google-cloud-java/commit/d5cc43776effc4efa3d3d9bf526fcb4e64535601)) +* **bigtable:** BigtableDataClientFactory session support ([#13829](https://github.com/googleapis/google-cloud-java/issues/13829)) ([284ce13](https://github.com/googleapis/google-cloud-java/commit/284ce13bae39082764d571dc5d2c06d528638354)) +* **commerceproducer:** onboard v1beta API ([#13814](https://github.com/googleapis/google-cloud-java/issues/13814)) ([61b89b3](https://github.com/googleapis/google-cloud-java/commit/61b89b34a470d7956117879e6b13d6c38811fd5f)) +* Default to least-in-flight balancing for Bigtable unary clients ([#13802](https://github.com/googleapis/google-cloud-java/issues/13802)) ([ac9ccd1](https://github.com/googleapis/google-cloud-java/commit/ac9ccd1c87245bca97bd8b062359e9357360c321)) +* **firestore:** Add support for 16MB documents ([#13478](https://github.com/googleapis/google-cloud-java/issues/13478)) ([1b7c2e0](https://github.com/googleapis/google-cloud-java/commit/1b7c2e0cce5a4c7f6d389f3c95ec3263549da74d)) +* **gapic-generator:** add JSpecify Null annotations to the generator classes ([#13769](https://github.com/googleapis/google-cloud-java/issues/13769)) ([843bd7c](https://github.com/googleapis/google-cloud-java/commit/843bd7cb44630b50be3f9891cdb97e90cbba83f2)) +* **gapic-generator:** Add Nullable annotation to generated classes ([#13558](https://github.com/googleapis/google-cloud-java/issues/13558)) ([e3e9d0b](https://github.com/googleapis/google-cloud-java/commit/e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8)) +* **gapic-generator:** Add NullMarked annotation to generated classes ([#13584](https://github.com/googleapis/google-cloud-java/issues/13584)) ([b7a8504](https://github.com/googleapis/google-cloud-java/commit/b7a850434fe03df53531c55dc85f5c694f46ebf8)) +* **gax-httpjson:** Add Post Quantum Cryptography (PQC) Support by default via Conscrypt ([#13853](https://github.com/googleapis/google-cloud-java/issues/13853)) ([550df81](https://github.com/googleapis/google-cloud-java/commit/550df81eb1ff60936daa64a88b148b399071cb24)) +* **gax-java:** add JSpecify Null annotations to gax ([#13799](https://github.com/googleapis/google-cloud-java/issues/13799)) ([65aee08](https://github.com/googleapis/google-cloud-java/commit/65aee0819d8fc983d2781983ed8a1d4fb68d702b)) +* **google/cloud/sql:** onboard a new library ([#13864](https://github.com/googleapis/google-cloud-java/issues/13864)) ([38e272e](https://github.com/googleapis/google-cloud-java/commit/38e272ea2e27a061800fca458040897645bbcff0)) +* **google/maps/navconnect/v1:** onboard a new library ([#13927](https://github.com/googleapis/google-cloud-java/issues/13927)) ([2256394](https://github.com/googleapis/google-cloud-java/commit/22563947a33e873f406106cdba28f488ac719592)) +* **maps-isochrones:** onboard v1 API ([#13817](https://github.com/googleapis/google-cloud-java/issues/13817)) ([3037ab3](https://github.com/googleapis/google-cloud-java/commit/3037ab3ba452a8bf254067c34fdf23eb66ffa6bd)) +* port secure_context testing support to executor proxy ([#13522](https://github.com/googleapis/google-cloud-java/issues/13522)) ([0f81bf0](https://github.com/googleapis/google-cloud-java/commit/0f81bf052a5c0797a5d59c65928a14c883fadecb)) +* **productregistry:** onboard v1 API ([#13816](https://github.com/googleapis/google-cloud-java/issues/13816)) ([9517313](https://github.com/googleapis/google-cloud-java/commit/951731302523fd47ff1d8b78fa25406b59d64a2a)) +* **storage:** allow checksum on appendable upload finalization ([#13833](https://github.com/googleapis/google-cloud-java/issues/13833)) ([ddf9add](https://github.com/googleapis/google-cloud-java/commit/ddf9add8a0c333ac969a683e11410d6a2cdcd9fc)) +* **storage:** enable App-Centric Observability (ACO) support in Otel ([#13248](https://github.com/googleapis/google-cloud-java/issues/13248)) ([4329896](https://github.com/googleapis/google-cloud-java/commit/43298964fc0e323518a865349ab1a0a061afffd0)) + + +### Bug Fixes + +* **bigquery-jdbc:** Add PerConnectionHandler to list of excempted logging classes ([#13888](https://github.com/googleapis/google-cloud-java/issues/13888)) ([50b3c24](https://github.com/googleapis/google-cloud-java/commit/50b3c24442fb8d36b9362216bf50bdb62506b20f)) +* **bigquery-jdbc:** add preferIPv4Stack to argLine for Kokoro reliability ([#13923](https://github.com/googleapis/google-cloud-java/issues/13923)) ([d5e33d6](https://github.com/googleapis/google-cloud-java/commit/d5e33d68304b0762de392eef85249f338b032d29)) +* **bigquery-jdbc:** add service resource transformer for standalone IT ([#13893](https://github.com/googleapis/google-cloud-java/issues/13893)) ([dc80fe8](https://github.com/googleapis/google-cloud-java/commit/dc80fe866eb84b53a8a5a189ebd4f71725767591)) +* **bigquery-jdbc:** align metadata methods error handling with spec ([#13793](https://github.com/googleapis/google-cloud-java/issues/13793)) ([d85fb10](https://github.com/googleapis/google-cloud-java/commit/d85fb10b0be1450a1f01c8aeb583b9a1e4718040)) +* **bigquery-jdbc:** fix WriteAPI when running in restricted environment ([#13856](https://github.com/googleapis/google-cloud-java/issues/13856)) ([66ba925](https://github.com/googleapis/google-cloud-java/commit/66ba925e7532ceef9a64113b3bc0ccfd55a67286)) +* **bigquery-jdbc:** refine temporal timezone coercion and PreparedStatement parameter setters ([#13813](https://github.com/googleapis/google-cloud-java/issues/13813)) ([6f68c4d](https://github.com/googleapis/google-cloud-java/commit/6f68c4d3c17a21d30230a6d5db1aa21446365307)) +* **bigquery-jdbc:** resolve `ITOpenTelemetryTest` pipeline and trace validation failures ([#13898](https://github.com/googleapis/google-cloud-java/issues/13898)) ([c18141d](https://github.com/googleapis/google-cloud-java/commit/c18141ddae06efd3aac0af30b518c0b0883b8072)) +* **bigquery-jdbc:** resolve failing otel IT in nightly ([#13915](https://github.com/googleapis/google-cloud-java/issues/13915)) ([ac79713](https://github.com/googleapis/google-cloud-java/commit/ac79713593c0fe66aa9ae7b64184a7bd8b07846a)) +* **bigquery:** resultSet.getLong() does not truncate for large int64 values ([#13718](https://github.com/googleapis/google-cloud-java/issues/13718)) ([bc19822](https://github.com/googleapis/google-cloud-java/commit/bc19822672704c3b1a666cb8ec9dc95f2e4ca0d4)) +* **bigquery:** support optional fields in BigLakeConfiguration to prevent NPE on Iceberg/Lakehouse tables ([#13733](https://github.com/googleapis/google-cloud-java/issues/13733)) ([e2cca4d](https://github.com/googleapis/google-cloud-java/commit/e2cca4df5f4702e16942211dfa4c5274d41bb12e)) +* **bigtable:** add materialized view routing param to ReadRows and Sa… ([#13918](https://github.com/googleapis/google-cloud-java/issues/13918)) ([4ddf250](https://github.com/googleapis/google-cloud-java/commit/4ddf2500d842a5b7a981e80974fa8b48fa191142)) +* **bigtable:** bound SessionPoolImpl lock to prevent pod-wide wedge ([#13890](https://github.com/googleapis/google-cloud-java/issues/13890)) ([ed87a68](https://github.com/googleapis/google-cloud-java/commit/ed87a68f51e2d6dec1f7357e977d1dce8914ce01)) +* **bigtable:** fix session creation leaks ([#13887](https://github.com/googleapis/google-cloud-java/issues/13887)) ([d586d07](https://github.com/googleapis/google-cloud-java/commit/d586d070ddeee36ef0803713998e13565389e880)) +* **bigtable:** prevent ClientConfigurationManagerTest from wedging on… ([#13907](https://github.com/googleapis/google-cloud-java/issues/13907)) ([725086d](https://github.com/googleapis/google-cloud-java/commit/725086d5e749ab60035e4a6f3826039121c871d6)) +* **bigtable:** stop installing DirectpathEnforcer on the directpath pool ([#13880](https://github.com/googleapis/google-cloud-java/issues/13880)) ([5f2e056](https://github.com/googleapis/google-cloud-java/commit/5f2e056bc4e3903cbfc98c4183fe1636531db444)) +* **bom:** make release-note-generation Java 8 compatible ([#13837](https://github.com/googleapis/google-cloud-java/issues/13837)) ([bc18390](https://github.com/googleapis/google-cloud-java/commit/bc18390b40d9eaee6635e3c9697ea8c0d53b301e)) +* **ci:** fix java-cloud-bom release-notes workflow errors ([#13682](https://github.com/googleapis/google-cloud-java/issues/13682)) ([b679835](https://github.com/googleapis/google-cloud-java/commit/b679835bbe979fe2745d7dc698105df8a14a9ea0)) +* deprecate resource detector ([#13844](https://github.com/googleapis/google-cloud-java/issues/13844)) ([aba4f01](https://github.com/googleapis/google-cloud-java/commit/aba4f01274a8f8eb0e4b4a3bcf1083e1efeda814)) +* **deps:** align logback versions and add java8 profile in storage ([#13678](https://github.com/googleapis/google-cloud-java/issues/13678)) ([7e57092](https://github.com/googleapis/google-cloud-java/commit/7e57092b8edbd82e098d7a0c1288a518c467e448)) +* do not start stream with direct executor ([#13945](https://github.com/googleapis/google-cloud-java/issues/13945)) ([630e790](https://github.com/googleapis/google-cloud-java/commit/630e79065869d57c946c4b41915eb17e1f8d58fd)) +* fix java-cloud-bom README update workflow after monorepo migration ([#13892](https://github.com/googleapis/google-cloud-java/issues/13892)) ([5b8e295](https://github.com/googleapis/google-cloud-java/commit/5b8e29512670c527fdf2d7cd6ec9b69e5f5106b0)) +* **oauth2_http:** Avoid retrying on 4xx errors during GCE metadata ping ([#13715](https://github.com/googleapis/google-cloud-java/issues/13715)) ([537c16c](https://github.com/googleapis/google-cloud-java/commit/537c16c59b64de948d716a973942e7076b7aff6a)) +* regenerate ([#13714](https://github.com/googleapis/google-cloud-java/issues/13714)) ([8a72860](https://github.com/googleapis/google-cloud-java/commit/8a7286040e2b0d6d66e56df0d123192f1a5e9f27)) +* regenerate libraries ([#13703](https://github.com/googleapis/google-cloud-java/issues/13703)) ([a29ea79](https://github.com/googleapis/google-cloud-java/commit/a29ea79966e7f28e456d85afa7a6f5225d404181)), refs [#13690](https://github.com/googleapis/google-cloud-java/issues/13690) +* **release:** handle missing release tags gracefully in release-note-generation ([#13795](https://github.com/googleapis/google-cloud-java/issues/13795)) ([43005fb](https://github.com/googleapis/google-cloud-java/commit/43005fbad089220e9517111b1ffc39d9c5c2e73e)) +* **release:** resolve first-party-dependencies SNAPSHOT in libraries-bom ([#13790](https://github.com/googleapis/google-cloud-java/issues/13790)) ([d5bfe21](https://github.com/googleapis/google-cloud-java/commit/d5bfe21f0937bd0e1e4b412785905aa8fb3dc0d9)) +* **spanner:** avoid data race on DIRECTPATH_CHANNEL_CREATED by using volatile ([#13727](https://github.com/googleapis/google-cloud-java/issues/13727)) ([1e05ea5](https://github.com/googleapis/google-cloud-java/commit/1e05ea5ccaddee11639d5539f0274792872fe88e)) +* **spanner:** prevent fastpath tablet routing flaps ([#13803](https://github.com/googleapis/google-cloud-java/issues/13803)) ([4dabdac](https://github.com/googleapis/google-cloud-java/commit/4dabdac2bb81502530f30a108cef2ae701c70bd5)) +* **storage:** BidiAppendableUpload Takeover operation fixes ([#13776](https://github.com/googleapis/google-cloud-java/issues/13776)) ([f2d0474](https://github.com/googleapis/google-cloud-java/commit/f2d04745cde2cfc8b7ec5905a944ccd9683f616d)) +* **storage:** correctly insert explicit nulls for json patch updates ([#13716](https://github.com/googleapis/google-cloud-java/issues/13716)) ([4fb3f4b](https://github.com/googleapis/google-cloud-java/commit/4fb3f4b8a7e30252497882b417f0ba30d1743c0f)) +* update group id mapping ([#13698](https://github.com/googleapis/google-cloud-java/issues/13698)) ([50a72e1](https://github.com/googleapis/google-cloud-java/commit/50a72e1658ab8fac84eef620118d50ece01c6fde)) +* use a new managed channel builder when creating channels ([#13684](https://github.com/googleapis/google-cloud-java/issues/13684)) ([a049999](https://github.com/googleapis/google-cloud-java/commit/a049999722abd0d2d3a6683142fd301bbf502588)) + + +### Performance Improvements + +* **bigquery-jdbc:** optimize getExportedKeys performance using hybrid metadata lookup ([#13734](https://github.com/googleapis/google-cloud-java/issues/13734)) ([c9738ea](https://github.com/googleapis/google-cloud-java/commit/c9738ea06f905ca5768fbd93116b1bfe40bdfeb3)) + + +### Dependencies + +* Add Conscrypt to shared-deps ([#13838](https://github.com/googleapis/google-cloud-java/issues/13838)) ([05ce6ce](https://github.com/googleapis/google-cloud-java/commit/05ce6ce2fbe3c9b425c49c5350363b1bd2f499fb)) +* move conscrypt from third-party-dependencies POM to gax-java POM ([#13948](https://github.com/googleapis/google-cloud-java/issues/13948)) ([1e634ec](https://github.com/googleapis/google-cloud-java/commit/1e634ec77c704c7c5aaf4ac84e3cfb86e0e60b18)) +* **shared-deps:** migrate awaitility to shared-dependencies ([#13671](https://github.com/googleapis/google-cloud-java/issues/13671)) ([abb91ef](https://github.com/googleapis/google-cloud-java/commit/abb91efe08d95940d8ff4baf9772fc59e952d62b)) +* **shared-deps:** switch conscrypt shared dependency to conscrypt-openjdk-uber ([#13845](https://github.com/googleapis/google-cloud-java/issues/13845)) ([2e3f208](https://github.com/googleapis/google-cloud-java/commit/2e3f208e3beb3e5616afe88655eca69aeeb92d7f)) +* Update gRPC-Java to v1.82.2 ([#13877](https://github.com/googleapis/google-cloud-java/issues/13877)) ([da228d8](https://github.com/googleapis/google-cloud-java/commit/da228d815ffc4ca2066f431f46203eb748079879)) +* Update http-client to v2.2.0 ([#13854](https://github.com/googleapis/google-cloud-java/issues/13854)) ([334a2c5](https://github.com/googleapis/google-cloud-java/commit/334a2c5250e8e4647c961c3821dd54c2e8f880e2)) +* Update Protobuf-Java to v4.33.6 ([#13876](https://github.com/googleapis/google-cloud-java/issues/13876)) ([5c6478c](https://github.com/googleapis/google-cloud-java/commit/5c6478cfe19f0e6fed142f628f625a978a16f345)) +* Upgrade Guava to v33.6.0-jre ([#13875](https://github.com/googleapis/google-cloud-java/issues/13875)) ([41a7a52](https://github.com/googleapis/google-cloud-java/commit/41a7a523e30ec8666a814af2ec4501179e10ab3a)) + + +### Documentation + +* add ErrorProne and NullAway integration guide and JSpecify migration playbook ([#13882](https://github.com/googleapis/google-cloud-java/issues/13882)) ([d5ea739](https://github.com/googleapis/google-cloud-java/commit/d5ea7397f01890051feb3b886a801b95069c953d)) +* add JSpecify nullness guidelines to AGENTS.md ([#13881](https://github.com/googleapis/google-cloud-java/issues/13881)) ([54b846b](https://github.com/googleapis/google-cloud-java/commit/54b846b0c59c86a813ee868856a0ba88b50c9cae)) + ## [1.88.0](https://github.com/googleapis/google-cloud-java/compare/v1.87.1...v1.88.0) (2026-07-06) diff --git a/WORKSPACE b/WORKSPACE index 7398e5f4e699..f68dd2519645 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -67,7 +67,7 @@ load("@rules_jvm_external//:defs.bzl", "maven_install") load("@io_grpc_grpc_java//:repositories.bzl", "IO_GRPC_GRPC_JAVA_ARTIFACTS") load("@io_grpc_grpc_java//:repositories.bzl", "IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS") -_gapic_generator_java_version = "2.75.0-SNAPSHOT" # {x-version-update:gapic-generator-java:current} +_gapic_generator_java_version = "2.76.0-SNAPSHOT" # {x-version-update:gapic-generator-java:current} maven_install( artifacts = [ diff --git a/changelog.json b/changelog.json index 63914bbb7a3d..be0055305d9a 100644 --- a/changelog.json +++ b/changelog.json @@ -1,6 +1,9346 @@ { "repository": "googleapis/google-cloud-java", "entries": [ + { + "changes": [ + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "fix", + "sha": "8a7286040e2b0d6d66e56df0d123192f1a5e9f27", + "message": "regenerate", + "issues": [ + "13714" + ] + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-iam-policy", + "id": "10090543-9ee1-4581-a9b3-0e971e35bfcf", + "createTime": "2026-07-29T20:37:46.270Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "bc19822672704c3b1a666cb8ec9dc95f2e4ca0d4", + "message": "resultSet.getLong() does not truncate for large int64 values", + "issues": [ + "13718" + ], + "scope": "bigquery" + }, + { + "type": "fix", + "sha": "e2cca4df5f4702e16942211dfa4c5274d41bb12e", + "message": "support optional fields in BigLakeConfiguration to prevent NPE on Iceberg/Lakehouse tables", + "issues": [ + "13733" + ], + "scope": "bigquery" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bigquery", + "id": "f65fbb14-bb08-41b3-a5de-d9d1ff0a2a89", + "createTime": "2026-07-29T20:37:46.111Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "43005fbad089220e9517111b1ffc39d9c5c2e73e", + "message": "handle missing release tags gracefully in release-note-generation", + "issues": [ + "13795" + ], + "scope": "release" + }, + { + "type": "fix", + "sha": "bc18390b40d9eaee6635e3c9697ea8c0d53b301e", + "message": "make release-note-generation Java 8 compatible", + "issues": [ + "13837" + ], + "scope": "bom" + }, + { + "type": "fix", + "sha": "d5bfe21f0937bd0e1e4b412785905aa8fb3dc0d9", + "message": "resolve first-party-dependencies SNAPSHOT in libraries-bom", + "issues": [ + "13790" + ], + "scope": "release" + }, + { + "type": "fix", + "sha": "b679835bbe979fe2745d7dc698105df8a14a9ea0", + "message": "fix java-cloud-bom release-notes workflow errors", + "issues": [ + "13682" + ], + "scope": "ci" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bom", + "id": "22f392c6-74ec-456b-9d25-cd19306f6ac8", + "createTime": "2026-07-29T20:37:45.940Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-workstations", + "id": "2ce750e9-e904-4743-90c4-be09037924c1", + "createTime": "2026-07-29T20:37:45.757Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-workspaceevents", + "id": "d390cf34-9be7-44f8-ab1d-8d318e4767c3", + "createTime": "2026-07-29T20:37:45.598Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-workloadmanager", + "id": "721a249c-b6ab-4874-98e2-93528bb82fdf", + "createTime": "2026-07-29T20:37:45.446Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-workflows", + "id": "1b93eb40-1707-4401-9b69-4c3d8b5bf263", + "createTime": "2026-07-29T20:37:45.274Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-workflow-executions", + "id": "ca1dea22-6ff4-470b-83aa-0d561b1dcbfa", + "createTime": "2026-07-29T20:37:45.112Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-websecurityscanner", + "id": "0ebb3c36-e89c-46d1-bdf9-4ef53442561e", + "createTime": "2026-07-29T20:37:44.947Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-webrisk", + "id": "056c5a0b-4315-4d8b-8f44-420c55a81676", + "createTime": "2026-07-29T20:37:44.750Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-vpcaccess", + "id": "7890c03e-f8ef-4e37-9752-0a3f8cddc815", + "createTime": "2026-07-29T20:37:44.588Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-vmwareengine", + "id": "d8a0fd35-4766-4929-8981-e3fbcbc50572", + "createTime": "2026-07-29T20:37:44.412Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-vmmigration", + "id": "88a57cb1-dc6b-4650-b637-56e609b6a014", + "createTime": "2026-07-29T20:37:44.246Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-visionai", + "id": "7918fc7b-6bfc-4232-b176-88bfa3e28a5e", + "createTime": "2026-07-29T20:37:44.073Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-vision", + "id": "8f1b2713-cc08-4b3e-a90e-737453c1944f", + "createTime": "2026-07-29T20:37:43.897Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-video-transcoder", + "id": "34d6c134-7e56-4bff-9609-8c1bdf9b1026", + "createTime": "2026-07-29T20:37:43.740Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-video-stitcher", + "id": "7eeb3762-fa27-4d78-aaf5-68ea877787f3", + "createTime": "2026-07-29T20:37:43.577Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-live-stream", + "id": "37d24973-7a28-4a56-9f2a-c904642ed097", + "createTime": "2026-07-29T20:37:43.416Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-video-intelligence", + "id": "029afaca-c0c8-4bf4-8684-0c0310e029a9", + "createTime": "2026-07-29T20:37:43.257Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-vectorsearch", + "id": "df59ab9a-3507-4607-9f20-d574d55adcf1", + "createTime": "2026-07-29T20:37:43.099Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-valkey", + "id": "ca9cf6e4-41a3-46b7-8b6b-f17a450ed128", + "createTime": "2026-07-29T20:37:42.904Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-translate", + "id": "cd189edb-9aea-4296-8e11-c3f0a3c30e8d", + "createTime": "2026-07-29T20:37:42.769Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-trace", + "id": "1e0e4558-39ca-4967-92a8-6e26b579770e", + "createTime": "2026-07-29T20:37:42.633Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-tpu", + "id": "a5060c77-1244-428f-9c8a-561a42a8f5af", + "createTime": "2026-07-29T20:37:42.495Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-texttospeech", + "id": "43678203-5e24-4d51-8a95-c49ab0a29c62", + "createTime": "2026-07-29T20:37:42.354Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-telcoautomation", + "id": "779880a2-a699-494a-8d64-5ada6f33086c", + "createTime": "2026-07-29T20:37:42.218Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-tasks", + "id": "bf869ab8-8c90-4548-9d3c-7b3421d81cad", + "createTime": "2026-07-29T20:37:42.086Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-talent", + "id": "52a61d9c-07c1-4722-9f58-747d9c932320", + "createTime": "2026-07-29T20:37:41.952Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-storageinsights", + "id": "171d933b-5d7e-42e5-b1eb-28f6cac92f62", + "createTime": "2026-07-29T20:37:41.819Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-storagebatchoperations", + "id": "54373ded-384a-4791-8de9-049b4c7627c0", + "createTime": "2026-07-29T20:37:41.685Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "ddf9add8a0c333ac969a683e11410d6a2cdcd9fc", + "message": "allow checksum on appendable upload finalization", + "issues": [ + "13833" + ], + "scope": "storage" + }, + { + "type": "fix", + "sha": "f2d04745cde2cfc8b7ec5905a944ccd9683f616d", + "message": "BidiAppendableUpload Takeover operation fixes", + "issues": [ + "13776" + ], + "scope": "storage" + }, + { + "type": "feat", + "sha": "43298964fc0e323518a865349ab1a0a061afffd0", + "message": "enable App-Centric Observability (ACO) support in Otel", + "issues": [ + "13248" + ], + "scope": "storage" + }, + { + "type": "fix", + "sha": "4fb3f4b8a7e30252497882b417f0ba30d1743c0f", + "message": "correctly insert explicit nulls for json patch updates", + "issues": [ + "13716" + ], + "scope": "storage" + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "fix", + "sha": "8a7286040e2b0d6d66e56df0d123192f1a5e9f27", + "message": "regenerate", + "issues": [ + "13714" + ] + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + }, + { + "type": "fix", + "sha": "7e57092b8edbd82e098d7a0c1288a518c467e448", + "message": "align logback versions and add java8 profile in storage", + "issues": [ + "13678" + ], + "scope": "deps" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-storage", + "id": "22be5aeb-abe3-4043-a69f-f063508b4d26", + "createTime": "2026-07-29T20:37:41.545Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-storage-transfer", + "id": "2ca33ade-5d5b-40f4-a4bf-9920a3bd9328", + "createTime": "2026-07-29T20:37:41.406Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "38e272ea2e27a061800fca458040897645bbcff0", + "message": "onboard a new library", + "issues": [ + "13864" + ], + "scope": "google/cloud/sql" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-sql", + "id": "dec93ca0-7bcf-4194-b882-c06932b00332", + "createTime": "2026-07-29T20:37:41.280Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-speech", + "id": "5d0fc6a7-488b-416f-a9b0-5f44dc0574a3", + "createTime": "2026-07-29T20:37:41.140Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-spanneradapter", + "id": "0b0bf436-7545-461b-8004-dacf07a6e82d", + "createTime": "2026-07-29T20:37:41.003Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "fix", + "sha": "4dabdac2bb81502530f30a108cef2ae701c70bd5", + "message": "prevent fastpath tablet routing flaps", + "issues": [ + "13803" + ], + "scope": "spanner" + }, + { + "type": "fix", + "sha": "1e05ea5ccaddee11639d5539f0274792872fe88e", + "message": "avoid data race on DIRECTPATH_CHANNEL_CREATED by using volatile", + "issues": [ + "13727" + ], + "scope": "spanner" + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "fix", + "sha": "8a7286040e2b0d6d66e56df0d123192f1a5e9f27", + "message": "regenerate", + "issues": [ + "13714" + ] + }, + { + "type": "feat", + "sha": "0f81bf052a5c0797a5d59c65928a14c883fadecb", + "message": "port secure_context testing support to executor proxy", + "issues": [ + "13522" + ] + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + }, + { + "type": "deps", + "sha": "abb91efe08d95940d8ff4baf9772fc59e952d62b", + "message": "migrate awaitility to shared-dependencies", + "issues": [ + "13671" + ], + "scope": "shared-deps" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-spanner", + "id": "835cb881-430a-4acc-82f9-73816ef41338", + "createTime": "2026-07-29T20:37:40.870Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.shopping:google-shopping-merchant-reviews", + "id": "ab941754-efba-4885-ab4c-eec49e318c04", + "createTime": "2026-07-29T20:37:40.738Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.shopping:google-shopping-merchant-reports", + "id": "efd2c5ca-57db-4393-9ad4-179d84be87d0", + "createTime": "2026-07-29T20:37:40.586Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.shopping:google-shopping-merchant-quota", + "id": "62afa4a3-6013-4a83-8cdb-8c10626e31a9", + "createTime": "2026-07-29T20:37:40.453Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.shopping:google-shopping-merchant-promotions", + "id": "b15a8321-a2ac-427d-b5f0-a5e7b161c18a", + "createTime": "2026-07-29T20:37:40.318Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.shopping:google-shopping-merchant-products", + "id": "006bfbcc-2a60-4002-84ac-dad3ca71033c", + "createTime": "2026-07-29T20:37:40.180Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.shopping:google-shopping-merchant-productstudio", + "id": "ee253795-a7fb-4b77-bdce-c82db2936840", + "createTime": "2026-07-29T20:37:40.045Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.shopping:google-shopping-merchant-notifications", + "id": "7e18e3f8-d0c6-4c1b-88a1-4e2cef5ae464", + "createTime": "2026-07-29T20:37:39.916Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.shopping:google-shopping-merchant-lfp", + "id": "b85aadb5-84b6-40b6-905b-4cc8dcad352a", + "createTime": "2026-07-29T20:37:39.790Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.shopping:google-shopping-merchant-inventories", + "id": "88f3911b-8f99-4ad4-a291-d64e5fd169e1", + "createTime": "2026-07-29T20:37:39.655Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.shopping:google-shopping-merchant-datasources", + "id": "b412c229-af10-4a80-9aab-d7786d58c096", + "createTime": "2026-07-29T20:37:39.528Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.shopping:google-shopping-merchant-conversions", + "id": "e78a2b52-573f-4751-ae39-39a6f796fe67", + "createTime": "2026-07-29T20:37:39.397Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.shopping:google-shopping-merchant-accounts", + "id": "08b2a4ef-6752-4982-b5e8-2eddff635890", + "createTime": "2026-07-29T20:37:39.265Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.shopping:google-shopping-css", + "id": "57e901d4-f04d-4576-a4eb-2d1ecdf447a3", + "createTime": "2026-07-29T20:37:39.132Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-shell", + "id": "ca90ae8b-b92b-4047-8d51-7f4f05f0de72", + "createTime": "2026-07-29T20:37:38.996Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-servicehealth", + "id": "44e87fa6-5acb-49df-9db3-edcd0fd66ba1", + "createTime": "2026-07-29T20:37:38.862Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-servicedirectory", + "id": "2d9e79bd-7dca-4172-a3da-9742b3850be9", + "createTime": "2026-07-29T20:37:38.729Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-service-usage", + "id": "bef75984-107b-4824-b70e-422c7d784a5c", + "createTime": "2026-07-29T20:37:38.581Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-service-management", + "id": "451d4b1a-6a66-4502-9dae-02a38a4db91c", + "createTime": "2026-07-29T20:37:38.400Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-service-control", + "id": "fc6b0338-5a14-460f-8f99-8b8e7e6d5035", + "createTime": "2026-07-29T20:37:38.204Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-securityposture", + "id": "b3672341-238d-4575-b140-b8f0f2b84d01", + "createTime": "2026-07-29T20:37:38.067Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-securitycentermanagement", + "id": "88ce97c6-da6a-4357-b4e6-2d19eb059adf", + "createTime": "2026-07-29T20:37:37.926Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-securitycenter", + "id": "ccae597f-5904-4a4a-bbfe-0e73207dadb9", + "createTime": "2026-07-29T20:37:37.789Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-securitycenter-settings", + "id": "d44e29cb-d559-47b2-947e-2f8e9d99c4cf", + "createTime": "2026-07-29T20:37:37.642Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-security-private-ca", + "id": "f7d0bb95-7a79-4ab7-b43a-1199bdc1bfaf", + "createTime": "2026-07-29T20:37:37.508Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-securesourcemanager", + "id": "3532fb88-0350-4cef-963b-d08cc9945a18", + "createTime": "2026-07-29T20:37:37.374Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-secretmanager", + "id": "1b406162-b02d-4521-911d-362efc4894de", + "createTime": "2026-07-29T20:37:37.233Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-scheduler", + "id": "5b76f718-b088-4478-81b3-d4bcdcf330bf", + "createTime": "2026-07-29T20:37:37.088Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-saasservicemgmt", + "id": "8b798020-d72e-4c7f-a42b-a6852c0a9c1a", + "createTime": "2026-07-29T20:37:36.950Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-run", + "id": "d1612c87-0975-4d83-9aff-31c4c28bef15", + "createTime": "2026-07-29T20:37:36.809Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-retail", + "id": "8ea2a39a-207c-48c6-8ab2-28de7549f675", + "createTime": "2026-07-29T20:37:36.667Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-resourcemanager", + "id": "7d6f2186-0700-4539-ad57-659590e6b6b0", + "createTime": "2026-07-29T20:37:36.514Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-redis", + "id": "2c6d4580-0cdb-44a8-b40f-1c3f8e325ad4", + "createTime": "2026-07-29T20:37:36.377Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-redis-cluster", + "id": "449c891e-4706-4e61-8d68-4a6325586dfe", + "createTime": "2026-07-29T20:37:36.236Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-recommender", + "id": "9b79c53c-b81c-40ee-a769-42a7f89ddac0", + "createTime": "2026-07-29T20:37:36.096Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-recommendations-ai", + "id": "63f410bc-2144-47a4-93ec-d369499b0dee", + "createTime": "2026-07-29T20:37:35.959Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-recaptchaenterprise", + "id": "7b5e7506-6d04-416a-894c-2d67dc733e9a", + "createTime": "2026-07-29T20:37:35.822Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-rapidmigrationassessment", + "id": "02d6a2a1-9688-4607-9283-ca0b73304bb0", + "createTime": "2026-07-29T20:37:35.687Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-pubsub", + "id": "f09c2044-6d4a-4c68-a071-a055b0f3cc86", + "createTime": "2026-07-29T20:37:35.546Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-publicca", + "id": "1e52410f-7113-4a96-9ce7-4a18bd310199", + "createTime": "2026-07-29T20:37:35.411Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-profiler", + "id": "2d5b9da5-be77-400a-a596-69fbff2ec685", + "createTime": "2026-07-29T20:37:35.267Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "951731302523fd47ff1d8b78fa25406b59d64a2a", + "message": "onboard v1 API", + "issues": [ + "13816" + ], + "scope": "productregistry" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-productregistry", + "id": "ad15e6d9-3b9c-4c94-8073-3d8ff5d90607", + "createTime": "2026-07-29T20:37:35.121Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-privilegedaccessmanager", + "id": "992f87b5-8e5a-49e3-acc9-106449bb2582", + "createTime": "2026-07-29T20:37:34.987Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-private-catalog", + "id": "1fb5ae5f-e86c-458e-85a9-de8bbc583aec", + "createTime": "2026-07-29T20:37:34.846Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-policysimulator", + "id": "96fe6eac-a975-46a5-9a4a-f5fb3afe47b5", + "createTime": "2026-07-29T20:37:34.710Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-policy-troubleshooter", + "id": "44e52664-4933-46b7-be15-2158a45c420e", + "createTime": "2026-07-29T20:37:34.577Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-phishingprotection", + "id": "a064f1b6-725d-4a58-9e9d-5ada56148fa4", + "createTime": "2026-07-29T20:37:34.448Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-parametermanager", + "id": "bb9580ce-ad85-4a8b-ab5e-ff7381616bd6", + "createTime": "2026-07-29T20:37:34.319Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-parallelstore", + "id": "a80a553b-b119-47a1-90f6-a1898d78aef4", + "createTime": "2026-07-29T20:37:34.190Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-os-login", + "id": "391b9d9a-4fda-47bb-a54b-0f3752d5b0b4", + "createTime": "2026-07-29T20:37:34.057Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-os-config", + "id": "8fcccefc-579e-4de2-a979-9b1207209168", + "createTime": "2026-07-29T20:37:33.922Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-orgpolicy", + "id": "65408378-a31d-4474-a2a8-7c4d3528fbaf", + "createTime": "2026-07-29T20:37:33.770Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-orchestration-airflow", + "id": "db4f0dd4-3a3f-477a-b1ed-c373a24b3517", + "createTime": "2026-07-29T20:37:33.596Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-oracledatabase", + "id": "dbeb32a2-3720-4307-8c69-2764c63ae532", + "createTime": "2026-07-29T20:37:33.385Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-optimization", + "id": "fcf79184-4a21-453f-b2b5-d7b901207fe8", + "createTime": "2026-07-29T20:37:33.246Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-notebooks", + "id": "f6ae134a-9d06-401d-a557-033a729e0fc8", + "createTime": "2026-07-29T20:37:33.106Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-networkservices", + "id": "bc78c459-fc50-4f7a-8ef3-81586ed81f93", + "createTime": "2026-07-29T20:37:32.968Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-networkconnectivity", + "id": "a24ea625-9ae0-4b45-9238-b2430b1efb92", + "createTime": "2026-07-29T20:37:32.817Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-network-security", + "id": "a89cff5e-7fd1-4746-aa58-d3d22188da1f", + "createTime": "2026-07-29T20:37:32.654Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-network-management", + "id": "1f5c4bb7-ae12-410b-b3c3-2fd52140e1dd", + "createTime": "2026-07-29T20:37:32.508Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-netapp", + "id": "42313ac6-76d0-4571-9295-246177ed7e23", + "createTime": "2026-07-29T20:37:32.331Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-monitoring", + "id": "0688cf9f-5ecc-4bb5-9829-9f168c2bd595", + "createTime": "2026-07-29T20:37:32.154Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-monitoring-metricsscope", + "id": "72ded575-4df4-4046-aee9-4284b53d016e", + "createTime": "2026-07-29T20:37:32.007Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-monitoring-dashboard", + "id": "c0ce0de9-a47a-46e5-a8d1-782213ef33ed", + "createTime": "2026-07-29T20:37:31.862Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-modelarmor", + "id": "b847e45a-dfd2-447c-bb64-3a0446ae3393", + "createTime": "2026-07-29T20:37:31.723Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-migrationcenter", + "id": "14196e1c-2672-41bc-80d5-56182c6c9632", + "createTime": "2026-07-29T20:37:31.564Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-memcache", + "id": "aeff4808-554a-47ad-a296-107fe83b3f33", + "createTime": "2026-07-29T20:37:31.427Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-meet", + "id": "85726e6f-bf48-4204-9e3e-8850968ab13a", + "createTime": "2026-07-29T20:37:31.278Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-mediatranslation", + "id": "a61d481b-5f5f-49cb-b96b-a96b02ce6082", + "createTime": "2026-07-29T20:37:31.133Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.ads-marketingplatform:admin", + "id": "d0ea993d-e138-4e74-99de-5e215fc4dfb8", + "createTime": "2026-07-29T20:37:30.992Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.maps:google-maps-solar", + "id": "8d1d11b2-ff3d-4c6a-b6ff-3eb9c6fd82e4", + "createTime": "2026-07-29T20:37:30.842Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.maps:google-maps-routing", + "id": "919168a9-e54e-4fd8-b242-c3bfa0b85391", + "createTime": "2026-07-29T20:37:30.702Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.maps:google-maps-routeoptimization", + "id": "af82b5b5-b490-44b9-90a6-29d9abb7d910", + "createTime": "2026-07-29T20:37:30.556Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.maps:google-maps-places", + "id": "30b39237-467b-4515-83d9-d68bd4ff1bef", + "createTime": "2026-07-29T20:37:30.422Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.maps:google-maps-mapsplatformdatasets", + "id": "8e60ab9a-a394-4780-b578-4a6ea29ecbbf", + "createTime": "2026-07-29T20:37:30.274Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.maps:google-maps-mapmanagement", + "id": "2391b48c-c64a-44f2-9eaa-3286fe13d6ae", + "createTime": "2026-07-29T20:37:30.124Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "3037ab3ba452a8bf254067c34fdf23eb66ffa6bd", + "message": "onboard v1 API", + "issues": [ + "13817" + ], + "scope": "maps-isochrones" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.maps:google-maps-isochrones", + "id": "65921a25-6321-4e5d-b448-73ace84aa1c0", + "createTime": "2026-07-29T20:37:29.968Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.maps:google-maps-geocode", + "id": "251f121e-a8aa-472a-a634-43f1bf0d7f1c", + "createTime": "2026-07-29T20:37:29.820Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.maps:google-maps-fleetengine", + "id": "7f559c09-9a85-47a3-96ef-b9309b6bad6c", + "createTime": "2026-07-29T20:37:29.678Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.maps:google-maps-fleetengine-delivery", + "id": "3996e44d-a496-4075-b0cb-d613928fe7a7", + "createTime": "2026-07-29T20:37:29.531Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.maps:google-maps-area-insights", + "id": "03dae87a-49e8-4ab6-90df-4fc0f8ae4212", + "createTime": "2026-07-29T20:37:29.396Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.maps:google-maps-addressvalidation", + "id": "b3110ffa-66a3-4f4b-874d-bc8a927b50a9", + "createTime": "2026-07-29T20:37:29.242Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-managedkafka", + "id": "6d9e75e8-a1c8-4535-b59b-d1a4c2bcc8fe", + "createTime": "2026-07-29T20:37:29.079Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-managed-identities", + "id": "70befc98-f3b9-444a-b413-1e3c1089cd63", + "createTime": "2026-07-29T20:37:28.930Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-maintenance", + "id": "f76d936a-602a-41f9-b2f0-fc33b85cca5a", + "createTime": "2026-07-29T20:37:28.792Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-lustre", + "id": "62b0e466-a2ee-47c9-a578-21fab0f96e43", + "createTime": "2026-07-29T20:37:28.635Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-logging", + "id": "053cf96a-750e-4cc2-9e46-7c09b6cb93f0", + "createTime": "2026-07-29T20:37:28.444Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-locationfinder", + "id": "112853cc-eb36-4772-b2b5-3ba1b85c8fec", + "createTime": "2026-07-29T20:37:28.224Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-life-sciences", + "id": "7f7ace81-e813-446f-85a8-d9a5ea84ac41", + "createTime": "2026-07-29T20:37:28.089Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-licensemanager", + "id": "415680c6-03d1-4632-b591-119c296d1f2a", + "createTime": "2026-07-29T20:37:27.949Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-language", + "id": "b15ff89c-3589-4813-8468-2663633a8e18", + "createTime": "2026-07-29T20:37:27.783Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-kmsinventory", + "id": "a4fa4213-f6e6-46c0-a4fc-08f99af4dac2", + "createTime": "2026-07-29T20:37:27.638Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-kms", + "id": "9affae7f-3bcc-4e43-876c-23b365722654", + "createTime": "2026-07-29T20:37:27.496Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.shopping:google-shopping-merchant-order-tracking", + "id": "2e29a455-2853-4e71-9bb4-8f8cec0f506a", + "createTime": "2026-07-29T20:37:27.351Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.shopping:google-shopping-merchant-issue-resolution", + "id": "790074f0-90f2-4474-a1b2-7087b303b293", + "createTime": "2026-07-29T20:37:27.213Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-iot", + "id": "1176fe24-f771-4534-9c89-07a5a53f9167", + "createTime": "2026-07-29T20:37:27.057Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-infra-manager", + "id": "323068ea-80ca-4d8d-872c-5562e5f06549", + "createTime": "2026-07-29T20:37:26.899Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-ids", + "id": "14e69413-a810-4643-a75e-3563961597cd", + "createTime": "2026-07-29T20:37:26.754Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-iap", + "id": "c3c4eaeb-76ec-47b2-b4db-dce843fa95d1", + "createTime": "2026-07-29T20:37:26.610Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-iamcredentials", + "id": "3fbe34f9-f1c1-4665-8c00-7a879d9f414f", + "createTime": "2026-07-29T20:37:26.460Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "fix", + "sha": "8a7286040e2b0d6d66e56df0d123192f1a5e9f27", + "message": "regenerate", + "issues": [ + "13714" + ] + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.api.grpc:proto-google-iam-v1", + "id": "2bf3131f-6827-49d3-a1fb-adfee68268de", + "createTime": "2026-07-29T20:37:26.316Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-iam-admin", + "id": "17c1fd8a-b81d-4002-8c2b-d3bddc017f25", + "createTime": "2026-07-29T20:37:26.183Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-hypercomputecluster", + "id": "8576c9d4-620d-4cd4-9183-0d0a62daeb08", + "createTime": "2026-07-29T20:37:26.039Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-health", + "id": "c7900be5-bd98-4312-994f-64a883762340", + "createTime": "2026-07-29T20:37:25.891Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-gsuite-addons", + "id": "7977e944-5299-4f84-811c-98a9f08e5e77", + "createTime": "2026-07-29T20:37:25.736Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "io.grafeas:grafeas", + "id": "52cdbe78-98c1-463a-951a-766e67896c8a", + "createTime": "2026-07-29T20:37:25.586Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-gkerecommender", + "id": "63abad51-f0fe-4ae8-ab1f-7bf3e837b143", + "createTime": "2026-07-29T20:37:25.440Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-gkehub", + "id": "2f100072-631a-4f92-a15f-61ed9eefdb64", + "createTime": "2026-07-29T20:37:25.285Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-gke-multi-cloud", + "id": "e0482103-e2e4-4369-af4f-9ecad10e1691", + "createTime": "2026-07-29T20:37:25.140Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-gke-connect-gateway", + "id": "39ba56f3-c61a-4b77-8a52-0ea2ae7820a3", + "createTime": "2026-07-29T20:37:24.992Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-gke-backup", + "id": "80d58717-042b-474e-9674-bd5641caff18", + "createTime": "2026-07-29T20:37:24.855Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-geminidataanalytics", + "id": "ba6a85ec-81fa-404e-a705-398fc8c09242", + "createTime": "2026-07-29T20:37:24.699Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-gdchardwaremanagement", + "id": "c4d1b9e7-8437-4d3e-b3f3-638f5f4d169d", + "createTime": "2026-07-29T20:37:24.530Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-functions", + "id": "76f23d0c-fa73-4e63-ba03-93e66579fe2c", + "createTime": "2026-07-29T20:37:24.376Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "1b7c2e0cce5a4c7f6d389f3c95ec3263549da74d", + "message": "Add support for 16MB documents", + "issues": [ + "13478" + ], + "scope": "firestore" + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "fix", + "sha": "8a7286040e2b0d6d66e56df0d123192f1a5e9f27", + "message": "regenerate", + "issues": [ + "13714" + ] + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-firestore", + "id": "9bb95ab8-15bb-4f06-9beb-9d4bccc5e54f", + "createTime": "2026-07-29T20:37:24.210Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-financialservices", + "id": "bfae37e0-f447-4d8f-ac0d-82dd4464463d", + "createTime": "2026-07-29T20:37:24.034Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-filestore", + "id": "5e06df44-b481-4409-8975-d00df14fda36", + "createTime": "2026-07-29T20:37:23.856Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-eventarc", + "id": "6aed628e-8ea7-433d-b827-e98c923eee3b", + "createTime": "2026-07-29T20:37:23.697Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-eventarc-publishing", + "id": "05f198e3-e5cf-4eb9-959c-90666b39da9e", + "createTime": "2026-07-29T20:37:23.547Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-essential-contacts", + "id": "18f0461d-21dd-45a1-a8ff-579915023d6a", + "createTime": "2026-07-29T20:37:23.393Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-errorreporting", + "id": "4cab7d17-6b26-4383-9857-0edc432e7f79", + "createTime": "2026-07-29T20:37:23.215Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-enterpriseknowledgegraph", + "id": "58d4a1b9-900d-48e7-99ef-5ddce913d26f", + "createTime": "2026-07-29T20:37:22.995Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-edgenetwork", + "id": "5406aa8f-9c9c-445a-9399-3802eefe7639", + "createTime": "2026-07-29T20:37:22.845Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-domains", + "id": "9d6eb609-607f-4791-85b4-7898c6108301", + "createTime": "2026-07-29T20:37:22.699Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-document-ai", + "id": "1b002c35-2967-492e-b783-09e9d7f1fc37", + "createTime": "2026-07-29T20:37:22.539Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-dms", + "id": "d40d93d8-0c30-476f-93b4-701cd2d18f0a", + "createTime": "2026-07-29T20:37:22.401Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-dlp", + "id": "1511b58c-d3a9-494d-b11b-f6f4f0524a7f", + "createTime": "2026-07-29T20:37:22.260Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-distributedcloudedge", + "id": "d8fa4a33-f30a-43ba-be23-ea6de626c550", + "createTime": "2026-07-29T20:37:22.112Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-discoveryengine", + "id": "8435f6b8-b6e4-4b96-8366-5e6f5d17a6bf", + "createTime": "2026-07-29T20:37:21.966Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-dialogflow", + "id": "e33d5693-fe14-44b0-a2cf-ce317cdf7360", + "createTime": "2026-07-29T20:37:21.815Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-dialogflow-cx", + "id": "2d40e0ae-a6c6-4a91-8842-48c6aecd4813", + "createTime": "2026-07-29T20:37:21.668Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-devicestreaming", + "id": "4d34d40a-e35c-4bc8-a3f8-e4fc264e4505", + "createTime": "2026-07-29T20:37:21.525Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-developer-knowledge", + "id": "744d19a9-9459-41b2-8d50-bbab49d106b7", + "createTime": "2026-07-29T20:37:21.376Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-developerconnect", + "id": "2c13f1f1-ae98-4afe-ac29-c8b47d12f0d5", + "createTime": "2026-07-29T20:37:21.221Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-deploy", + "id": "53cb0f5f-5fc6-4a9e-8c3c-c7b558101131", + "createTime": "2026-07-29T20:37:21.079Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-datastream", + "id": "a1afdd69-f446-4f05-8e63-f7afdae72b59", + "createTime": "2026-07-29T20:37:20.931Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "fix", + "sha": "8a7286040e2b0d6d66e56df0d123192f1a5e9f27", + "message": "regenerate", + "issues": [ + "13714" + ] + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + }, + { + "type": "deps", + "sha": "abb91efe08d95940d8ff4baf9772fc59e952d62b", + "message": "migrate awaitility to shared-dependencies", + "issues": [ + "13671" + ], + "scope": "shared-deps" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-datastore", + "id": "a6bc50b9-eedf-4844-bdf3-b7cda2bf4c2a", + "createTime": "2026-07-29T20:37:20.791Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-dataproc", + "id": "7579999d-da55-488a-9b5e-06ab1570bf10", + "createTime": "2026-07-29T20:37:20.646Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-dataproc-metastore", + "id": "db9cb03a-0a20-4087-9841-94cc5b4bcd1e", + "createTime": "2026-07-29T20:37:20.493Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-dataplex", + "id": "410a4305-f7e5-4f91-a6d7-037631a5a574", + "createTime": "2026-07-29T20:37:20.342Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.api-ads:data-manager", + "id": "cbd67c79-d947-4030-84be-01387b3466d5", + "createTime": "2026-07-29T20:37:20.195Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-datalineage", + "id": "e1bb0787-c374-4939-b3dc-749d4d3c2542", + "createTime": "2026-07-29T20:37:20.057Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-datalabeling", + "id": "6ae21512-3539-4f7d-ae70-f5ee390a47b0", + "createTime": "2026-07-29T20:37:19.888Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-dataform", + "id": "325d68da-ebc6-488a-9b7c-fd3e4423cea4", + "createTime": "2026-07-29T20:37:19.716Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-dataflow", + "id": "0d98d2f0-6a77-4126-ac7e-4c3d5ea504a0", + "createTime": "2026-07-29T20:37:19.565Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-datacatalog", + "id": "f3ca1198-168c-48eb-939f-6b5251305fc5", + "createTime": "2026-07-29T20:37:19.392Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-databasecenter", + "id": "8567ebf2-b410-409c-b05d-9f17d03cc274", + "createTime": "2026-07-29T20:37:19.237Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-data-fusion", + "id": "ef15f58f-837b-484d-b9fe-a307730ff572", + "createTime": "2026-07-29T20:37:19.091Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-contentwarehouse", + "id": "4aa96ce4-0a8e-4dc5-9f74-973112c62705", + "createTime": "2026-07-29T20:37:18.926Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-containeranalysis", + "id": "fa63a1cc-5e53-4f1e-86f3-7f09eaae40ab", + "createTime": "2026-07-29T20:37:18.774Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-container", + "id": "6e29c010-c6c4-4a66-b912-33f6da36ba46", + "createTime": "2026-07-29T20:37:18.606Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-contact-center-insights", + "id": "b700b4dd-05ce-4509-bb69-563018798f8e", + "createTime": "2026-07-29T20:37:18.430Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-connectgateway", + "id": "4bfd866c-0cf3-4393-a80d-3686f3a5a11f", + "createTime": "2026-07-29T20:37:18.259Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-configdelivery", + "id": "e884393b-8855-4b69-8b17-288df2bb544d", + "createTime": "2026-07-29T20:37:18.078Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-confidentialcomputing", + "id": "d0b6aac9-f43b-4c54-ae91-ce75ab3a333e", + "createTime": "2026-07-29T20:37:17.830Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "fix", + "sha": "8a7286040e2b0d6d66e56df0d123192f1a5e9f27", + "message": "regenerate", + "issues": [ + "13714" + ] + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-compute", + "id": "a7bf15f9-5b7c-4d20-8898-ff800af76cfe", + "createTime": "2026-07-29T20:37:17.591Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "fix", + "sha": "8a7286040e2b0d6d66e56df0d123192f1a5e9f27", + "message": "regenerate", + "issues": [ + "13714" + ] + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.api.grpc:proto-google-common-protos", + "id": "3abe875b-a2bd-46a4-a54a-958bf476e6aa", + "createTime": "2026-07-29T20:37:17.445Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "61b89b34a470d7956117879e6b13d6c38811fd5f", + "message": "onboard v1beta API", + "issues": [ + "13814" + ], + "scope": "commerceproducer" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-commerceproducer", + "id": "b71aa3d2-1ed8-4d80-9131-c38059b29e77", + "createTime": "2026-07-29T20:37:17.273Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "fix", + "sha": "a29ea79966e7f28e456d85afa7a6f5225d404181", + "message": "regenerate libraries", + "issues": [ + "13703", + "13690" + ] + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-cloudsupport", + "id": "74a7ce58-6ee1-4b7b-bca5-1e37fe1b5e2e", + "createTime": "2026-07-29T20:37:17.127Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "fix", + "sha": "537c16c59b64de948d716a973942e7076b7aff6a", + "message": "Avoid retrying on 4xx errors during GCE metadata ping", + "issues": [ + "13715" + ], + "scope": "oauth2_http" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-cloudsecuritycompliance", + "id": "3f4d6aef-d69c-4227-8ab4-043926854d11", + "createTime": "2026-07-29T20:37:16.988Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-cloudquotas", + "id": "06bfdd17-e7b6-4720-8542-8900ee55c9c3", + "createTime": "2026-07-29T20:37:16.836Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-cloudcontrolspartner", + "id": "cb26ac59-2df5-47f6-99b9-dd56b21eb809", + "createTime": "2026-07-29T20:37:16.682Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-cloudcommerceconsumerprocurement", + "id": "fd4f1e39-3737-416d-94ab-b6d9fc106976", + "createTime": "2026-07-29T20:37:16.524Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-build", + "id": "41c0159d-72e9-4448-82a9-e6210a2190ed", + "createTime": "2026-07-29T20:37:16.349Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-cloudapiregistry", + "id": "61e51a4d-6806-4ee5-b744-e24f9ccd22ba", + "createTime": "2026-07-29T20:37:16.196Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-chronicle", + "id": "fd4a9ab0-340c-45f6-b241-13c10d43bfd0", + "createTime": "2026-07-29T20:37:16.059Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-chat", + "id": "1ac6738e-c186-4a89-996a-2fb690f13ab2", + "createTime": "2026-07-29T20:37:15.916Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-channel", + "id": "a1206d51-8f1b-411b-b163-82552bfbc73c", + "createTime": "2026-07-29T20:37:15.771Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-ces", + "id": "c2e0dd11-513c-4255-91e1-8d977dc8ee15", + "createTime": "2026-07-29T20:37:15.638Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-certificate-manager", + "id": "d840f58d-e212-4dde-bbca-7223a66fa9af", + "createTime": "2026-07-29T20:37:15.478Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-capacityplanner", + "id": "5cbb69b8-b8b4-4365-9fb9-0c7254bea87b", + "createTime": "2026-07-29T20:37:15.328Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-binary-authorization", + "id": "c2345f9a-7b6a-4904-b820-23fe0c2694db", + "createTime": "2026-07-29T20:37:15.181Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-billingbudgets", + "id": "a9eb399f-b594-4208-8238-efe1ea1419cf", + "createTime": "2026-07-29T20:37:15.044Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-billing", + "id": "a606bcaa-3983-4ee0-b20c-1080cd41b6e0", + "createTime": "2026-07-29T20:37:14.911Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bigquerystorage", + "id": "390d0925-a4b1-472b-afae-8e670e489e41", + "createTime": "2026-07-29T20:37:14.766Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bigqueryreservation", + "id": "1812507f-608e-415d-886b-e5147dec3ec5", + "createTime": "2026-07-29T20:37:14.620Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bigquerymigration", + "id": "0308ff65-3daa-45e7-827d-295d9f7965fa", + "createTime": "2026-07-29T20:37:14.453Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bigquerydatatransfer", + "id": "e5a07e65-cf73-4182-be00-5286e2a938a8", + "createTime": "2026-07-29T20:37:14.316Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bigquerydatapolicy", + "id": "eabd95d5-9fad-4a5f-9f0b-8658ac64671b", + "createTime": "2026-07-29T20:37:14.169Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bigqueryconnection", + "id": "0a74a4c8-007d-4d39-881a-2b4dd3b789f2", + "createTime": "2026-07-29T20:37:14.033Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bigquery-data-exchange", + "id": "20ee6762-ef6b-4d6a-a701-81e0c1d0b4c4", + "createTime": "2026-07-29T20:37:13.881Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-biglake", + "id": "a229ec05-186a-4f04-bc1c-84a391ab256d", + "createTime": "2026-07-29T20:37:13.728Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-beyondcorp-clientgateways", + "id": "065a7b1e-19db-4384-b565-fa563419cdff", + "createTime": "2026-07-29T20:37:13.557Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-beyondcorp-clientconnectorservices", + "id": "84f138bd-9cce-49de-8a30-3b038bcfdf44", + "createTime": "2026-07-29T20:37:13.420Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-beyondcorp-appgateways", + "id": "e0b80412-6a98-4c4a-b2ca-74d3bf45ccbe", + "createTime": "2026-07-29T20:37:13.282Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-beyondcorp-appconnectors", + "id": "061cbe46-3615-4b20-bffc-8e733449d24c", + "createTime": "2026-07-29T20:37:13.139Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-beyondcorp-appconnections", + "id": "4fb6d127-be10-4b8e-b1d6-6069fa21399b", + "createTime": "2026-07-29T20:37:13.001Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-batch", + "id": "87c856ff-6d3c-4122-8f4a-64b4189528e3", + "createTime": "2026-07-29T20:37:12.858Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bare-metal-solution", + "id": "1dabc9f6-b35b-462f-baf4-145f893e6bdd", + "createTime": "2026-07-29T20:37:12.706Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-backupdr", + "id": "1858764f-6bb3-4cdb-b09d-f95a0ce51c7b", + "createTime": "2026-07-29T20:37:12.561Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "fix", + "sha": "537c16c59b64de948d716a973942e7076b7aff6a", + "message": "Avoid retrying on 4xx errors during GCE metadata ping", + "issues": [ + "13715" + ], + "scope": "oauth2_http" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-backstory", + "id": "5257802c-57cd-41ad-b89c-29b6f9f108ca", + "createTime": "2026-07-29T20:37:12.381Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-automl", + "id": "c416a87e-4f4b-42e8-8db6-db24c6222dfb", + "createTime": "2026-07-29T20:37:12.249Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-auditmanager", + "id": "d12e14cc-1078-4c83-adb5-9d067d5932f4", + "createTime": "2026-07-29T20:37:12.118Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-assured-workloads", + "id": "f04d0746-63f1-493a-b1c4-44461d8a928a", + "createTime": "2026-07-29T20:37:11.981Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-asset", + "id": "103f0a45-96ce-41ff-bcfc-5149a6d691a3", + "createTime": "2026-07-29T20:37:11.843Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-artifact-registry", + "id": "abb7f337-598b-4765-be91-82ce7220509f", + "createTime": "2026-07-29T20:37:11.708Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.area120:google-area120-tables", + "id": "6125841b-53c7-4572-985f-f12d56b17981", + "createTime": "2026-07-29T20:37:11.569Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-appoptimize", + "id": "1345a437-3e18-40c2-ade5-87af7d1ec07a", + "createTime": "2026-07-29T20:37:11.429Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-apphub", + "id": "334a9b66-d7d8-4a26-983c-fed3170d1064", + "createTime": "2026-07-29T20:37:11.296Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-appengine-admin", + "id": "072776d6-f9ff-4354-b14e-2ca95b82c7ef", + "createTime": "2026-07-29T20:37:11.164Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-apikeys", + "id": "47a67481-7bb0-41b8-ba29-6595bec81b86", + "createTime": "2026-07-29T20:37:11.037Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-apihub", + "id": "1154e698-d027-49e8-8488-5b8c767ae6d2", + "createTime": "2026-07-29T20:37:10.905Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-apigee-connect", + "id": "3be7435d-33a2-4049-8836-73ace2141803", + "createTime": "2026-07-29T20:37:10.761Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-api-gateway", + "id": "4a7405c3-c4c5-4e83-86f8-6e648cbcb220", + "createTime": "2026-07-29T20:37:10.626Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-analyticshub", + "id": "e42d4133-dcfe-4502-822d-4380476e972f", + "createTime": "2026-07-29T20:37:10.491Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.analytics:google-analytics-data", + "id": "bb045871-1c21-4b5d-9be5-ec8386845aee", + "createTime": "2026-07-29T20:37:10.359Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.analytics:google-analytics-admin", + "id": "71b4f974-27b7-4118-894e-2b5828632ba8", + "createTime": "2026-07-29T20:37:10.190Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-alloydb", + "id": "444ad8de-ba87-411c-a38a-de70bf01990c", + "createTime": "2026-07-29T20:37:10.032Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-alloydb-connectors", + "id": "f4377ada-2b53-48e1-8a27-e69584efc5b6", + "createTime": "2026-07-29T20:37:09.861Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-aiplatform", + "id": "6aa65bf5-9710-4247-9f62-09fbbaf70210", + "createTime": "2026-07-29T20:37:09.698Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-agentregistry", + "id": "d0620d1b-fc2c-40ad-b11f-37d194f70833", + "createTime": "2026-07-29T20:37:09.549Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "1b1300d1e0144f41b40b83bf4730a2c5036fb53c", + "message": "onboard v1 and v1beta API versions", + "issues": [ + "13796" + ], + "scope": "agentidentity" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-agentidentity", + "id": "3ec4b601-c6dd-4061-bffb-880392447e24", + "createTime": "2026-07-29T20:37:09.408Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-advisorynotifications", + "id": "02978e9b-614f-49a9-9c4e-27c3927c8725", + "createTime": "2026-07-29T20:37:09.275Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.api-ads:ad-manager", + "id": "aae060a7-a36c-4c8a-b743-ce7b4899533f", + "createTime": "2026-07-29T20:37:09.130Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-identity-accesscontextmanager", + "id": "f4336842-ab0b-47a3-9602-c7fbbb0168d7", + "createTime": "2026-07-29T20:37:08.987Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-accessapproval", + "id": "162dba4b-895c-472a-832f-18ce8f83f07c", + "createTime": "2026-07-29T20:37:08.857Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "deps", + "sha": "41a7a523e30ec8666a814af2ec4501179e10ab3a", + "message": "Upgrade Guava to v33.6.0-jre", + "issues": [ + "13875" + ] + }, + { + "type": "feat", + "sha": "f6f24d438bb5818c2047243bf1ddbccb2c1f827e", + "message": "add JSpecify Null annotations to Auth", + "issues": [ + "13842" + ], + "scope": "auth" + }, + { + "type": "deps", + "sha": "334a2c5250e8e4647c961c3821dd54c2e8f880e2", + "message": "Update http-client to v2.2.0", + "issues": [ + "13854" + ] + }, + { + "type": "fix", + "sha": "537c16c59b64de948d716a973942e7076b7aff6a", + "message": "Avoid retrying on 4xx errors during GCE metadata ping", + "issues": [ + "13715" + ], + "scope": "oauth2_http" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.auth:google-auth-library", + "id": "bee41632-6d60-45ce-a977-2447ff986849", + "createTime": "2026-07-29T20:37:08.729Z" + }, + { + "changes": [ + { + "type": "feat", + "sha": "22563947a33e873f406106cdba28f488ac719592", + "message": "onboard a new library", + "issues": [ + "13927" + ], + "scope": "google/maps/navconnect/v1" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.maps:google-maps-navconnect", + "id": "394236f1-cc5c-4b53-b8c0-334e0c734d48", + "createTime": "2026-07-29T20:37:08.595Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "da228d815ffc4ca2066f431f46203eb748079879", + "message": "Update gRPC-Java to v1.82.2", + "issues": [ + "13877" + ] + }, + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "deps", + "sha": "41a7a523e30ec8666a814af2ec4501179e10ab3a", + "message": "Upgrade Guava to v33.6.0-jre", + "issues": [ + "13875" + ] + }, + { + "type": "deps", + "sha": "334a2c5250e8e4647c961c3821dd54c2e8f880e2", + "message": "Update http-client to v2.2.0", + "issues": [ + "13854" + ] + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:grpc-gcp", + "id": "53ca261b-562d-460a-91c6-d1e1f16ec645", + "createTime": "2026-07-29T20:37:08.460Z" + }, + { + "changes": [ + { + "type": "feat", + "sha": "550df81eb1ff60936daa64a88b148b399071cb24", + "message": "Add Post Quantum Cryptography (PQC) Support by default via Conscrypt", + "issues": [ + "13853" + ], + "scope": "gax-httpjson" + }, + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "fix", + "sha": "8a7286040e2b0d6d66e56df0d123192f1a5e9f27", + "message": "regenerate", + "issues": [ + "13714" + ] + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:gapic-showcase", + "id": "da6e8446-55e1-44d7-99b6-d4be18be32b7", + "createTime": "2026-07-29T20:37:08.306Z" + }, + { + "changes": [ + { + "type": "feat", + "sha": "2801fbdc4712d187356e11e6eb717423603db3bf", + "message": "add otel trace and span IDs to local logs", + "issues": [ + "13935" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "d5e33d68304b0762de392eef85249f338b032d29", + "message": "add preferIPv4Stack to argLine for Kokoro reliability", + "issues": [ + "13923" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "ac79713593c0fe66aa9ae7b64184a7bd8b07846a", + "message": "resolve failing otel IT in nightly", + "issues": [ + "13915" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "c18141ddae06efd3aac0af30b518c0b0883b8072", + "message": "resolve `ITOpenTelemetryTest` pipeline and trace validation failures", + "issues": [ + "13898" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "dc80fe866eb84b53a8a5a189ebd4f71725767591", + "message": "add service resource transformer for standalone IT", + "issues": [ + "13893" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "50b3c24442fb8d36b9362216bf50bdb62506b20f", + "message": "Add PerConnectionHandler to list of excempted logging classes", + "issues": [ + "13888" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "feat", + "sha": "af18f6559c57af1e3a62b33e9e8a27cec03e3bf6", + "message": "OpenTelemetry integration in BQ JDBC", + "issues": [ + "12902" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "66ba925e7532ceef9a64113b3bc0ccfd55a67286", + "message": "fix WriteAPI when running in restricted environment", + "issues": [ + "13856" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "feat", + "sha": "9449be189c9cb4a220c529b16278f47053dcf83c", + "message": "add `SSLTrustStoreType` and `SSLTrustStoreProvider` connection properties", + "issues": [ + "13858" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "feat", + "sha": "ccd13ebd155dc59f8b7d689e0a27538c44b56827", + "message": "standardize parameter handling and calendar defensive copying across statement interfaces", + "issues": [ + "13805" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "6f68c4d3c17a21d30230a6d5db1aa21446365307", + "message": "refine temporal timezone coercion and PreparedStatement parameter setters", + "issues": [ + "13813" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "feat", + "sha": "3d67dbaa96c2d535324022c8d0453b34a154c19c", + "message": "implement BigQueryParameterMetaData and dynamic type mappings", + "issues": [ + "13812" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "d85fb10b0be1450a1f01c8aeb583b9a1e4718040", + "message": "align metadata methods error handling with spec", + "issues": [ + "13793" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "perf", + "sha": "c9738ea06f905ca5768fbd93116b1bfe40bdfeb3", + "message": "optimize getExportedKeys performance using hybrid metadata lookup", + "issues": [ + "13734" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "feat", + "sha": "94f74042f7efde7f03173af5b52b7c32c573e1f4", + "message": "implement parameter setters in PreparedStatement", + "issues": [ + "13792" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "feat", + "sha": "11f26d3ce44801b705674e3423a85bc8d100cacb", + "message": "optimize memory footprint for JSON result set streaming", + "issues": [ + "13660" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "feat", + "sha": "082b046380b4fe52cf8d03f22efd480a84c31c83", + "message": "Migrate `getImportedKeys` and `getCrossReference` to BQ API", + "issues": [ + "13692" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "feat", + "sha": "1951f4984b259e66e3bf995e1b4e95e0a4d4bfd2", + "message": "migrate `getPrimaryKeys` to use BQ API", + "issues": [ + "13691" + ], + "scope": "bigquery-jdbc" + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bigquery-jdbc", + "id": "255ce1a4-e459-4d26-9df2-46d1fea24870", + "createTime": "2026-07-29T20:37:08.142Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "630e79065869d57c946c4b41915eb17e1f8d58fd", + "message": "do not start stream with direct executor", + "issues": [ + "13945" + ] + }, + { + "type": "fix", + "sha": "4ddf2500d842a5b7a981e80974fa8b48fa191142", + "message": "add materialized view routing param to ReadRows and Sa…", + "issues": [ + "13918" + ], + "scope": "bigtable" + }, + { + "type": "deps", + "sha": "5c6478cfe19f0e6fed142f628f625a978a16f345", + "message": "Update Protobuf-Java to v4.33.6", + "issues": [ + "13876" + ] + }, + { + "type": "fix", + "sha": "725086d5e749ab60035e4a6f3826039121c871d6", + "message": "prevent ClientConfigurationManagerTest from wedging on…", + "issues": [ + "13907" + ], + "scope": "bigtable" + }, + { + "type": "fix", + "sha": "d586d070ddeee36ef0803713998e13565389e880", + "message": "fix session creation leaks", + "issues": [ + "13887" + ], + "scope": "bigtable" + }, + { + "type": "fix", + "sha": "ed87a68f51e2d6dec1f7357e977d1dce8914ce01", + "message": "bound SessionPoolImpl lock to prevent pod-wide wedge", + "issues": [ + "13890" + ], + "scope": "bigtable" + }, + { + "type": "fix", + "sha": "5f2e056bc4e3903cbfc98c4183fe1636531db444", + "message": "stop installing DirectpathEnforcer on the directpath pool", + "issues": [ + "13880" + ], + "scope": "bigtable" + }, + { + "type": "feat", + "sha": "d5cc43776effc4efa3d3d9bf526fcb4e64535601", + "message": "add view_parameters support to BoundStatement", + "issues": [ + "13673" + ], + "scope": "bigtable" + }, + { + "type": "feat", + "sha": "284ce13bae39082764d571dc5d2c06d528638354", + "message": "BigtableDataClientFactory session support", + "issues": [ + "13829" + ], + "scope": "bigtable" + }, + { + "type": "feat", + "sha": "ac9ccd1c87245bca97bd8b062359e9357360c321", + "message": "Default to least-in-flight balancing for Bigtable unary clients", + "issues": [ + "13802" + ] + }, + { + "type": "fix", + "sha": "aba4f01274a8f8eb0e4b4a3bcf1083e1efeda814", + "message": "deprecate resource detector", + "issues": [ + "13844" + ] + }, + { + "type": "feat", + "sha": "e3e9d0bc11bcd7cf8659c2da4051dada7606c2e8", + "message": "Add Nullable annotation to generated classes", + "issues": [ + "13558" + ], + "scope": "gapic-generator" + }, + { + "type": "fix", + "sha": "8a7286040e2b0d6d66e56df0d123192f1a5e9f27", + "message": "regenerate", + "issues": [ + "13714" + ] + }, + { + "type": "feat", + "sha": "b7a850434fe03df53531c55dc85f5c694f46ebf8", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13584" + ], + "scope": "gapic-generator" + }, + { + "type": "fix", + "sha": "a049999722abd0d2d3a6683142fd301bbf502588", + "message": "use a new managed channel builder when creating channels", + "issues": [ + "13684" + ] + } + ], + "version": "1.89.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bigtable", + "id": "bda00386-dc76-4bd9-a1c1-2ad88c1f1fac", + "createTime": "2026-07-29T20:37:07.945Z" + }, { "changes": [ { @@ -361623,5 +370963,5 @@ "createTime": "2026-02-25T17:30:12.355Z" } ], - "updateTime": "2026-07-06T21:41:29.331Z" + "updateTime": "2026-07-29T20:37:46.270Z" } \ No newline at end of file diff --git a/gapic-libraries-bom/pom.xml b/gapic-libraries-bom/pom.xml index 9310273b4891..2c6e2f024636 100644 --- a/gapic-libraries-bom/pom.xml +++ b/gapic-libraries-bom/pom.xml @@ -5,7 +5,7 @@ com.google.cloud gapic-libraries-bom pom - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT Google Cloud Java BOM BOM for the libraries in google-cloud-java repository. Users should not @@ -16,7 +16,7 @@ google-cloud-pom-parent com.google.cloud - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-pom-parent/pom.xml @@ -25,1555 +25,1555 @@ com.google.analytics google-analytics-admin-bom - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT pom import com.google.analytics google-analytics-data-bom - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT pom import com.google.area120 google-area120-tables-bom - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT pom import com.google.cloud google-cloud-accessapproval-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom import com.google.cloud google-cloud-advisorynotifications-bom - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT pom import com.google.cloud google-cloud-agentidentity-bom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT pom import com.google.cloud google-cloud-agentregistry-bom - 0.2.0-SNAPSHOT + 0.3.0-SNAPSHOT pom import com.google.cloud google-cloud-aiplatform-bom - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT pom import com.google.cloud google-cloud-alloydb-bom - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT pom import com.google.cloud google-cloud-alloydb-connectors-bom - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT pom import com.google.cloud google-cloud-analyticshub-bom - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT pom import com.google.cloud google-cloud-api-gateway-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-apigee-connect-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-apihub-bom - 0.48.0-SNAPSHOT + 0.49.0-SNAPSHOT pom import com.google.cloud google-cloud-apikeys-bom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT pom import com.google.cloud google-cloud-appengine-admin-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-apphub-bom - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT pom import com.google.cloud google-cloud-appoptimize-bom - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT pom import com.google.cloud google-cloud-artifact-registry-bom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT pom import com.google.cloud google-cloud-asset-bom - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT pom import com.google.cloud google-cloud-assured-workloads-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-auditmanager-bom - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT pom import com.google.cloud google-cloud-automl-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-backstory-bom - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT pom import com.google.cloud google-cloud-backupdr-bom - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT pom import com.google.cloud google-cloud-bare-metal-solution-bom - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT pom import com.google.cloud google-cloud-batch-bom - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT pom import com.google.cloud google-cloud-beyondcorp-appconnections-bom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT pom import com.google.cloud google-cloud-beyondcorp-appconnectors-bom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT pom import com.google.cloud google-cloud-beyondcorp-appgateways-bom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT pom import com.google.cloud google-cloud-beyondcorp-clientconnectorservices-bom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT pom import com.google.cloud google-cloud-beyondcorp-clientgateways-bom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT pom import com.google.cloud google-cloud-biglake-bom - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT pom import com.google.cloud google-cloud-bigquery-bom - 2.69.0-SNAPSHOT + 2.70.0-SNAPSHOT pom import com.google.cloud google-cloud-bigquery-data-exchange-bom - 2.90.0-SNAPSHOT + 2.91.0-SNAPSHOT pom import com.google.cloud google-cloud-bigqueryconnection-bom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT pom import com.google.cloud google-cloud-bigquerydatapolicy-bom - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT pom import com.google.cloud google-cloud-bigquerydatatransfer-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-bigquerymigration-bom - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT pom import com.google.cloud google-cloud-bigqueryreservation-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom import com.google.cloud google-cloud-bigquerystorage-bom - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT pom import com.google.cloud google-cloud-billing-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-billingbudgets-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-binary-authorization-bom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT pom import com.google.cloud google-cloud-build-bom - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT pom import com.google.cloud google-cloud-capacityplanner-bom - 0.18.0-SNAPSHOT + 0.19.0-SNAPSHOT pom import com.google.cloud google-cloud-certificate-manager-bom - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT pom import com.google.cloud google-cloud-ces-bom - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT pom import com.google.cloud google-cloud-channel-bom - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT pom import com.google.cloud google-cloud-chat-bom - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT pom import com.google.cloud google-cloud-chronicle-bom - 0.33.0-SNAPSHOT + 0.34.0-SNAPSHOT pom import com.google.cloud google-cloud-cloudapiregistry-bom - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT pom import com.google.cloud google-cloud-cloudcommerceconsumerprocurement-bom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT pom import com.google.cloud google-cloud-cloudcontrolspartner-bom - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT pom import com.google.cloud google-cloud-cloudquotas-bom - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT pom import com.google.cloud google-cloud-cloudsecuritycompliance-bom - 0.22.0-SNAPSHOT + 0.23.0-SNAPSHOT pom import com.google.cloud google-cloud-cloudsupport-bom - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT pom import com.google.cloud google-cloud-commerceproducer-bom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT pom import com.google.cloud google-cloud-compute-bom - 1.105.0-SNAPSHOT + 1.106.0-SNAPSHOT pom import com.google.cloud google-cloud-confidentialcomputing-bom - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT pom import com.google.cloud google-cloud-configdelivery-bom - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT pom import com.google.cloud google-cloud-connectgateway-bom - 0.47.0-SNAPSHOT + 0.48.0-SNAPSHOT pom import com.google.cloud google-cloud-contact-center-insights-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-container-bom - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT pom import com.google.cloud google-cloud-containeranalysis-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom import com.google.cloud google-cloud-contentwarehouse-bom - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT pom import com.google.cloud google-cloud-data-fusion-bom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT pom import com.google.cloud google-cloud-databasecenter-bom - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT pom import com.google.cloud google-cloud-datacatalog-bom - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT pom import com.google.cloud google-cloud-dataflow-bom - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT pom import com.google.cloud google-cloud-dataform-bom - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT pom import com.google.cloud google-cloud-datalabeling-bom - 0.215.0-SNAPSHOT + 0.216.0-SNAPSHOT pom import com.google.cloud google-cloud-datalineage-bom - 0.87.0-SNAPSHOT + 0.88.0-SNAPSHOT pom import com.google.cloud google-cloud-dataplex-bom - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT pom import com.google.cloud google-cloud-dataproc-bom - 4.92.0-SNAPSHOT + 4.93.0-SNAPSHOT pom import com.google.cloud google-cloud-dataproc-metastore-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom import com.google.cloud google-cloud-datastore-bom - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT pom import com.google.cloud google-cloud-datastream-bom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT pom import com.google.cloud google-cloud-deploy-bom - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT pom import com.google.cloud google-cloud-developer-knowledge-bom - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT pom import com.google.cloud google-cloud-developerconnect-bom - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT pom import com.google.cloud google-cloud-devicestreaming-bom - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT pom import com.google.cloud google-cloud-dialogflow-bom - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT pom import com.google.cloud google-cloud-dialogflow-cx-bom - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT pom import com.google.cloud google-cloud-discoveryengine-bom - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT pom import com.google.cloud google-cloud-distributedcloudedge-bom - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT pom import com.google.cloud google-cloud-dlp-bom - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT pom import com.google.cloud google-cloud-dms-bom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT pom import com.google.cloud google-cloud-dns - 2.93.0-SNAPSHOT + 2.94.0-SNAPSHOT com.google.cloud google-cloud-document-ai-bom - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT pom import com.google.cloud google-cloud-domains-bom - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT pom import com.google.cloud google-cloud-edgenetwork-bom - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT pom import com.google.cloud google-cloud-enterpriseknowledgegraph-bom - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT pom import com.google.cloud google-cloud-errorreporting-bom - 0.216.0-beta-SNAPSHOT + 0.217.0-beta-SNAPSHOT pom import com.google.cloud google-cloud-essential-contacts-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-eventarc-bom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT pom import com.google.cloud google-cloud-eventarc-publishing-bom - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT pom import com.google.cloud google-cloud-filestore-bom - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT pom import com.google.cloud google-cloud-financialservices-bom - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT pom import com.google.cloud google-cloud-firestore-bom - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT pom import com.google.cloud google-cloud-functions-bom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT pom import com.google.cloud google-cloud-gdchardwaremanagement-bom - 0.50.0-SNAPSHOT + 0.51.0-SNAPSHOT pom import com.google.cloud google-cloud-geminidataanalytics-bom - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT pom import com.google.cloud google-cloud-gke-backup-bom - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT pom import com.google.cloud google-cloud-gke-connect-gateway-bom - 0.96.0-SNAPSHOT + 0.97.0-SNAPSHOT pom import com.google.cloud google-cloud-gke-multi-cloud-bom - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT pom import com.google.cloud google-cloud-gkehub-bom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT pom import com.google.cloud google-cloud-gkerecommender-bom - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT pom import com.google.cloud google-cloud-gsuite-addons-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-health-bom - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT pom import com.google.cloud google-cloud-hypercomputecluster-bom - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT pom import com.google.cloud google-cloud-iamcredentials-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-iap-bom - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT pom import com.google.cloud google-cloud-ids-bom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT pom import com.google.cloud google-cloud-infra-manager-bom - 0.72.0-SNAPSHOT + 0.73.0-SNAPSHOT pom import com.google.cloud google-cloud-iot-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-kms-bom - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT pom import com.google.cloud google-cloud-kmsinventory-bom - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT pom import com.google.cloud google-cloud-language-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom import com.google.cloud google-cloud-licensemanager-bom - 0.28.0-SNAPSHOT + 0.29.0-SNAPSHOT pom import com.google.cloud google-cloud-life-sciences-bom - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT pom import com.google.cloud google-cloud-live-stream-bom - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT pom import com.google.cloud google-cloud-locationfinder-bom - 0.20.0-SNAPSHOT + 0.21.0-SNAPSHOT pom import com.google.cloud google-cloud-logging-bom - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT pom import com.google.cloud google-cloud-logging-logback - 0.144.0-alpha-SNAPSHOT + 0.145.0-alpha-SNAPSHOT com.google.cloud google-cloud-lustre-bom - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT pom import com.google.cloud google-cloud-maintenance-bom - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT pom import com.google.cloud google-cloud-managed-identities-bom - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT pom import com.google.cloud google-cloud-managedkafka-bom - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT pom import com.google.cloud google-cloud-mediatranslation-bom - 0.101.0-SNAPSHOT + 0.102.0-SNAPSHOT pom import com.google.cloud google-cloud-meet-bom - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT pom import com.google.cloud google-cloud-memcache-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-migrationcenter-bom - 0.77.0-SNAPSHOT + 0.78.0-SNAPSHOT pom import com.google.cloud google-cloud-modelarmor-bom - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT pom import com.google.cloud google-cloud-monitoring-bom - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT pom import com.google.cloud google-cloud-monitoring-dashboard-bom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT pom import com.google.cloud google-cloud-monitoring-metricsscope-bom - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT pom import com.google.cloud google-cloud-netapp-bom - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT pom import com.google.cloud google-cloud-network-management-bom - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT pom import com.google.cloud google-cloud-network-security-bom - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT pom import com.google.cloud google-cloud-networkconnectivity-bom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT pom import com.google.cloud google-cloud-networkservices-bom - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT pom import com.google.cloud google-cloud-nio-bom - 0.135.0-SNAPSHOT + 0.136.0-SNAPSHOT pom import com.google.cloud google-cloud-notebooks-bom - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT pom import com.google.cloud google-cloud-notification - 0.213.0-beta-SNAPSHOT + 0.214.0-beta-SNAPSHOT com.google.cloud google-cloud-optimization-bom - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT pom import com.google.cloud google-cloud-oracledatabase-bom - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT pom import com.google.cloud google-cloud-orchestration-airflow-bom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT pom import com.google.cloud google-cloud-orgpolicy-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-os-config-bom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT pom import com.google.cloud google-cloud-os-login-bom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT pom import com.google.cloud google-cloud-parallelstore-bom - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT pom import com.google.cloud google-cloud-parametermanager-bom - 0.39.0-SNAPSHOT + 0.40.0-SNAPSHOT pom import com.google.cloud google-cloud-phishingprotection-bom - 0.126.0-SNAPSHOT + 0.127.0-SNAPSHOT pom import com.google.cloud google-cloud-policy-troubleshooter-bom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT pom import com.google.cloud google-cloud-policysimulator-bom - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT pom import com.google.cloud google-cloud-private-catalog-bom - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT pom import com.google.cloud google-cloud-privilegedaccessmanager-bom - 0.49.0-SNAPSHOT + 0.50.0-SNAPSHOT pom import com.google.cloud google-cloud-productregistry-bom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT pom import com.google.cloud google-cloud-profiler-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-publicca-bom - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT pom import com.google.cloud google-cloud-pubsub-bom - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT pom import com.google.cloud google-cloud-rapidmigrationassessment-bom - 0.78.0-SNAPSHOT + 0.79.0-SNAPSHOT pom import com.google.cloud google-cloud-recaptchaenterprise-bom - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT pom import com.google.cloud google-cloud-recommendations-ai-bom - 0.102.0-SNAPSHOT + 0.103.0-SNAPSHOT pom import com.google.cloud google-cloud-recommender-bom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT pom import com.google.cloud google-cloud-redis-bom - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT pom import com.google.cloud google-cloud-redis-cluster-bom - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT pom import com.google.cloud google-cloud-resourcemanager-bom - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT pom import com.google.cloud google-cloud-retail-bom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT pom import com.google.cloud google-cloud-run-bom - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT pom import com.google.cloud google-cloud-saasservicemgmt-bom - 0.25.0-SNAPSHOT + 0.26.0-SNAPSHOT pom import com.google.cloud google-cloud-scheduler-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-secretmanager-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-securesourcemanager-bom - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT pom import com.google.cloud google-cloud-security-private-ca-bom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT pom import com.google.cloud google-cloud-securitycenter-bom - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT pom import com.google.cloud google-cloud-securitycenter-settings-bom - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT pom import com.google.cloud google-cloud-securitycentermanagement-bom - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT pom import com.google.cloud google-cloud-securityposture-bom - 0.60.0-SNAPSHOT + 0.61.0-SNAPSHOT pom import com.google.cloud google-cloud-service-control-bom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT pom import com.google.cloud google-cloud-service-management-bom - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT pom import com.google.cloud google-cloud-service-usage-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-servicedirectory-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom import com.google.cloud google-cloud-servicehealth-bom - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT pom import com.google.cloud google-cloud-shell-bom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT pom import com.google.cloud google-cloud-spanner-bom - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT pom import com.google.cloud google-cloud-spanneradapter-bom - 0.31.0-SNAPSHOT + 0.32.0-SNAPSHOT pom import com.google.cloud google-cloud-speech-bom - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT pom import com.google.cloud google-cloud-sql-bom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT pom import com.google.cloud google-cloud-storage-bom - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT pom import com.google.cloud google-cloud-storage-transfer-bom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT pom import com.google.cloud google-cloud-storagebatchoperations-bom - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT pom import com.google.cloud google-cloud-storageinsights-bom - 0.80.0-SNAPSHOT + 0.81.0-SNAPSHOT pom import com.google.cloud google-cloud-talent-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom import com.google.cloud google-cloud-tasks-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-telcoautomation-bom - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT pom import com.google.cloud google-cloud-texttospeech-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom import com.google.cloud google-cloud-tpu-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom import com.google.cloud google-cloud-trace-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-translate-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-valkey-bom - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT pom import com.google.cloud google-cloud-vectorsearch-bom - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT pom import com.google.cloud google-cloud-video-intelligence-bom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT pom import com.google.cloud google-cloud-video-stitcher-bom - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT pom import com.google.cloud google-cloud-video-transcoder-bom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT pom import com.google.cloud google-cloud-vision-bom - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT pom import com.google.cloud google-cloud-visionai-bom - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT pom import com.google.cloud google-cloud-vmmigration-bom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT pom import com.google.cloud google-cloud-vmwareengine-bom - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT pom import com.google.cloud google-cloud-vpcaccess-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom import com.google.cloud google-cloud-webrisk-bom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT pom import com.google.cloud google-cloud-websecurityscanner-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-workflow-executions-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-workflows-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom import com.google.cloud google-cloud-workloadmanager-bom - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT pom import com.google.cloud google-cloud-workspaceevents-bom - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT pom import com.google.cloud google-cloud-workstations-bom - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT pom import com.google.cloud google-iam-admin-bom - 3.90.0-SNAPSHOT + 3.91.0-SNAPSHOT pom import com.google.cloud google-iam-policy-bom - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT pom import com.google.cloud google-identity-accesscontextmanager-bom - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT pom import io.grafeas grafeas - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/google-auth-library-java/appengine/pom.xml b/google-auth-library-java/appengine/pom.xml index 7a23847b0669..7cea414755df 100644 --- a/google-auth-library-java/appengine/pom.xml +++ b/google-auth-library-java/appengine/pom.xml @@ -5,7 +5,7 @@ com.google.auth google-auth-library-parent - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT ../pom.xml diff --git a/google-auth-library-java/bom/README.md b/google-auth-library-java/bom/README.md index 9227ed406649..b16096cd8f22 100644 --- a/google-auth-library-java/bom/README.md +++ b/google-auth-library-java/bom/README.md @@ -12,7 +12,7 @@ To use it in Maven, add the following to your `pom.xml`: com.google.auth google-auth-library-bom - 1.49.0 + 1.50.0 pom import diff --git a/google-auth-library-java/bom/pom.xml b/google-auth-library-java/bom/pom.xml index df1c9a2bc450..3eea471e3041 100644 --- a/google-auth-library-java/bom/pom.xml +++ b/google-auth-library-java/bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.auth google-auth-library-bom - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT pom @@ -23,22 +23,22 @@ com.google.auth google-auth-library-credentials - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT com.google.auth google-auth-library-oauth2-http - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT com.google.auth google-auth-library-appengine - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT com.google.auth google-auth-library-cab-token-generator - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT diff --git a/google-auth-library-java/cab-token-generator/pom.xml b/google-auth-library-java/cab-token-generator/pom.xml index 9eb725f5adb9..a39a91373da3 100644 --- a/google-auth-library-java/cab-token-generator/pom.xml +++ b/google-auth-library-java/cab-token-generator/pom.xml @@ -6,7 +6,7 @@ com.google.auth google-auth-library-parent - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT google-auth-library-cab-token-generator diff --git a/google-auth-library-java/credentials/pom.xml b/google-auth-library-java/credentials/pom.xml index 31e6f8877d2b..75eb3c7ce013 100644 --- a/google-auth-library-java/credentials/pom.xml +++ b/google-auth-library-java/credentials/pom.xml @@ -4,7 +4,7 @@ com.google.auth google-auth-library-parent - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT ../pom.xml diff --git a/google-auth-library-java/oauth2_http/pom.xml b/google-auth-library-java/oauth2_http/pom.xml index c9bff7a80d87..1a6350d50f89 100644 --- a/google-auth-library-java/oauth2_http/pom.xml +++ b/google-auth-library-java/oauth2_http/pom.xml @@ -7,7 +7,7 @@ com.google.auth google-auth-library-parent - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT ../pom.xml diff --git a/google-auth-library-java/pom.xml b/google-auth-library-java/pom.xml index 2ce8779b8b19..374ec0ed8737 100644 --- a/google-auth-library-java/pom.xml +++ b/google-auth-library-java/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.google.auth google-auth-library-parent - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT pom Google Auth Library for Java Client libraries providing authentication and @@ -86,7 +86,7 @@ 1.15.0 2.0.17 2.13.2 - 2.66.0-SNAPSHOT + 2.67.0-SNAPSHOT 1.18.0 3.5.2 true diff --git a/google-cloud-jar-parent/pom.xml b/google-cloud-jar-parent/pom.xml index 7ab2d6e857a0..b1e26861cab0 100644 --- a/google-cloud-jar-parent/pom.xml +++ b/google-cloud-jar-parent/pom.xml @@ -5,7 +5,7 @@ 4.0.0 google-cloud-jar-parent com.google.cloud - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT pom Google Cloud JAR Parent @@ -15,7 +15,7 @@ com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-pom-parent/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-shared-dependencies - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT pom import @@ -47,7 +47,7 @@ com.google.cloud google-cloud-storage - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT com.google.apis diff --git a/google-cloud-pom-parent/pom.xml b/google-cloud-pom-parent/pom.xml index 54cc170ea86a..f5016a5dc0c1 100644 --- a/google-cloud-pom-parent/pom.xml +++ b/google-cloud-pom-parent/pom.xml @@ -5,7 +5,7 @@ 4.0.0 google-cloud-pom-parent com.google.cloud - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT pom Google Cloud POM Parent https://github.com/googleapis/google-cloud-java @@ -15,7 +15,7 @@ com.google.cloud sdk-platform-java-config - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT ../sdk-platform-java/sdk-platform-java-config diff --git a/grpc-gcp-java/pom.xml b/grpc-gcp-java/pom.xml index 66ba7b7318a1..17997ee07915 100644 --- a/grpc-gcp-java/pom.xml +++ b/grpc-gcp-java/pom.xml @@ -17,7 +17,7 @@ com.google.cloud grpc-gcp - 1.13.0-SNAPSHOT + 1.14.0-SNAPSHOT jar gRPC extension library for Google Cloud Platform @@ -62,7 +62,7 @@ UTF-8 UTF-8 grpc-gcp - 2.66.0-SNAPSHOT + 2.67.0-SNAPSHOT 1.11.0 2.48.0 2.2.0 @@ -74,7 +74,7 @@ 4.13.2 0.31.1 1.62.0 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT 1.4.5 4.11.0 true diff --git a/java-accessapproval/google-cloud-accessapproval-bom/pom.xml b/java-accessapproval/google-cloud-accessapproval-bom/pom.xml index 81ea5080b323..6181be9e4b42 100644 --- a/java-accessapproval/google-cloud-accessapproval-bom/pom.xml +++ b/java-accessapproval/google-cloud-accessapproval-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-accessapproval-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-accessapproval - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-accessapproval-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-accessapproval-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-accessapproval/google-cloud-accessapproval/pom.xml b/java-accessapproval/google-cloud-accessapproval/pom.xml index 052d62a51b6b..37ce6265012c 100644 --- a/java-accessapproval/google-cloud-accessapproval/pom.xml +++ b/java-accessapproval/google-cloud-accessapproval/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-accessapproval - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT jar Google Cloud Access Approval Java idiomatic client for Google Cloud accessapproval com.google.cloud google-cloud-accessapproval-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT google-cloud-accessapproval diff --git a/java-accessapproval/google-cloud-accessapproval/src/main/java/com/google/cloud/accessapproval/v1/stub/Version.java b/java-accessapproval/google-cloud-accessapproval/src/main/java/com/google/cloud/accessapproval/v1/stub/Version.java index 0db4bd3ebacb..706917d251e4 100644 --- a/java-accessapproval/google-cloud-accessapproval/src/main/java/com/google/cloud/accessapproval/v1/stub/Version.java +++ b/java-accessapproval/google-cloud-accessapproval/src/main/java/com/google/cloud/accessapproval/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-accessapproval:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-accessapproval/grpc-google-cloud-accessapproval-v1/pom.xml b/java-accessapproval/grpc-google-cloud-accessapproval-v1/pom.xml index 4c82ede460d7..579066496831 100644 --- a/java-accessapproval/grpc-google-cloud-accessapproval-v1/pom.xml +++ b/java-accessapproval/grpc-google-cloud-accessapproval-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-accessapproval-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-accessapproval-v1 GRPC library for grpc-google-cloud-accessapproval-v1 com.google.cloud google-cloud-accessapproval-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-accessapproval/pom.xml b/java-accessapproval/pom.xml index 91498a6897f8..67c62d53d4e2 100644 --- a/java-accessapproval/pom.xml +++ b/java-accessapproval/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-accessapproval-parent pom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT Google Cloud Access Approval Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.api.grpc proto-google-cloud-accessapproval-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-accessapproval-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.cloud google-cloud-accessapproval - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-accessapproval/proto-google-cloud-accessapproval-v1/pom.xml b/java-accessapproval/proto-google-cloud-accessapproval-v1/pom.xml index bbb6332164b7..d7264c6f9b20 100644 --- a/java-accessapproval/proto-google-cloud-accessapproval-v1/pom.xml +++ b/java-accessapproval/proto-google-cloud-accessapproval-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-accessapproval-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-accessapproval-v1beta1 PROTO library for proto-google-cloud-accessapproval-v1 com.google.cloud google-cloud-accessapproval-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-accesscontextmanager/google-identity-accesscontextmanager-bom/pom.xml b/java-accesscontextmanager/google-identity-accesscontextmanager-bom/pom.xml index e06b695a111c..59911b4db721 100644 --- a/java-accesscontextmanager/google-identity-accesscontextmanager-bom/pom.xml +++ b/java-accesscontextmanager/google-identity-accesscontextmanager-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-identity-accesscontextmanager-bom - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,22 +28,22 @@ com.google.cloud google-identity-accesscontextmanager - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc grpc-google-identity-accesscontextmanager-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc proto-google-identity-accesscontextmanager-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc proto-google-identity-accesscontextmanager-type - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-accesscontextmanager/google-identity-accesscontextmanager/pom.xml b/java-accesscontextmanager/google-identity-accesscontextmanager/pom.xml index 1c5edece022f..f26b110e3114 100644 --- a/java-accesscontextmanager/google-identity-accesscontextmanager/pom.xml +++ b/java-accesscontextmanager/google-identity-accesscontextmanager/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-identity-accesscontextmanager - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT jar Google Identity Access Context Manager Identity Access Context Manager n/a com.google.cloud google-identity-accesscontextmanager-parent - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT google-identity-accesscontextmanager diff --git a/java-accesscontextmanager/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/Version.java b/java-accesscontextmanager/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/Version.java index 9447dceee756..b7819ee60fc4 100644 --- a/java-accesscontextmanager/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/Version.java +++ b/java-accesscontextmanager/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-identity-accesscontextmanager:current} - static final String VERSION = "1.96.0-SNAPSHOT"; + static final String VERSION = "1.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-accesscontextmanager/grpc-google-identity-accesscontextmanager-v1/pom.xml b/java-accesscontextmanager/grpc-google-identity-accesscontextmanager-v1/pom.xml index bd4d6165ebc0..3c52386fcc09 100644 --- a/java-accesscontextmanager/grpc-google-identity-accesscontextmanager-v1/pom.xml +++ b/java-accesscontextmanager/grpc-google-identity-accesscontextmanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-identity-accesscontextmanager-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT grpc-google-identity-accesscontextmanager-v1 GRPC library for google-identity-accesscontextmanager com.google.cloud google-identity-accesscontextmanager-parent - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-accesscontextmanager/pom.xml b/java-accesscontextmanager/pom.xml index c912997d627e..e4f51d9211be 100644 --- a/java-accesscontextmanager/pom.xml +++ b/java-accesscontextmanager/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-identity-accesscontextmanager-parent pom - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT Google Identity Access Context Manager Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -31,22 +31,22 @@ com.google.api.grpc proto-google-identity-accesscontextmanager-type - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc proto-google-identity-accesscontextmanager-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc grpc-google-identity-accesscontextmanager-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.cloud google-identity-accesscontextmanager - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-accesscontextmanager/proto-google-identity-accesscontextmanager-type/pom.xml b/java-accesscontextmanager/proto-google-identity-accesscontextmanager-type/pom.xml index 2d0309913cac..357554dff194 100644 --- a/java-accesscontextmanager/proto-google-identity-accesscontextmanager-type/pom.xml +++ b/java-accesscontextmanager/proto-google-identity-accesscontextmanager-type/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-identity-accesscontextmanager-type - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT proto-google-identity-accesscontextmanager-type PROTO library for proto-google-identity-accesscontextmanager-type com.google.cloud google-identity-accesscontextmanager-parent - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-accesscontextmanager/proto-google-identity-accesscontextmanager-v1/pom.xml b/java-accesscontextmanager/proto-google-identity-accesscontextmanager-v1/pom.xml index ff9a94b2b00d..b83bdae6806b 100644 --- a/java-accesscontextmanager/proto-google-identity-accesscontextmanager-v1/pom.xml +++ b/java-accesscontextmanager/proto-google-identity-accesscontextmanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-identity-accesscontextmanager-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT proto-google-identity-accesscontextmanager-v1 PROTO library for proto-google-identity-accesscontextmanager-v1 com.google.cloud google-identity-accesscontextmanager-parent - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT @@ -37,7 +37,7 @@ com.google.api.grpc proto-google-identity-accesscontextmanager-type - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-admanager/ad-manager-bom/pom.xml b/java-admanager/ad-manager-bom/pom.xml index 992c3be869d3..642c77478189 100644 --- a/java-admanager/ad-manager-bom/pom.xml +++ b/java-admanager/ad-manager-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.api-ads ad-manager-bom - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,12 +27,12 @@ com.google.api-ads ad-manager - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT com.google.api-ads.api.grpc proto-ad-manager-v1 - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT diff --git a/java-admanager/ad-manager/pom.xml b/java-admanager/ad-manager/pom.xml index ab5240890a38..5df8ec8154ac 100644 --- a/java-admanager/ad-manager/pom.xml +++ b/java-admanager/ad-manager/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.api-ads ad-manager - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT jar Google Google Ad Manager API Google Ad Manager API The Ad Manager API enables an app to integrate with Google Ad Manager. You can read Ad Manager data and run reports using the API. com.google.api-ads ad-manager-parent - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT ad-manager diff --git a/java-admanager/ad-manager/src/main/java/com/google/ads/admanager/v1/stub/Version.java b/java-admanager/ad-manager/src/main/java/com/google/ads/admanager/v1/stub/Version.java index e7cdc308258f..3e52544aa164 100644 --- a/java-admanager/ad-manager/src/main/java/com/google/ads/admanager/v1/stub/Version.java +++ b/java-admanager/ad-manager/src/main/java/com/google/ads/admanager/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:ad-manager:current} - static final String VERSION = "0.54.0-SNAPSHOT"; + static final String VERSION = "0.55.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-admanager/pom.xml b/java-admanager/pom.xml index a9b32f9fd898..27b9ee0552dd 100644 --- a/java-admanager/pom.xml +++ b/java-admanager/pom.xml @@ -4,7 +4,7 @@ com.google.api-ads ad-manager-parent pom - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT Google Google Ad Manager API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,12 +30,12 @@ com.google.api-ads ad-manager - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT com.google.api-ads.api.grpc proto-ad-manager-v1 - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT diff --git a/java-admanager/proto-ad-manager-v1/pom.xml b/java-admanager/proto-ad-manager-v1/pom.xml index 5d52bcf9e6c6..fe59d3637765 100644 --- a/java-admanager/proto-ad-manager-v1/pom.xml +++ b/java-admanager/proto-ad-manager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api-ads.api.grpc proto-ad-manager-v1 - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT proto-ad-manager-v1 Proto library for ad-manager com.google.api-ads ad-manager-parent - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT diff --git a/java-advisorynotifications/google-cloud-advisorynotifications-bom/pom.xml b/java-advisorynotifications/google-cloud-advisorynotifications-bom/pom.xml index 14d4c3528717..e321bf23c7ac 100644 --- a/java-advisorynotifications/google-cloud-advisorynotifications-bom/pom.xml +++ b/java-advisorynotifications/google-cloud-advisorynotifications-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-advisorynotifications-bom - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-advisorynotifications - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-advisorynotifications-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc proto-google-cloud-advisorynotifications-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-advisorynotifications/google-cloud-advisorynotifications/pom.xml b/java-advisorynotifications/google-cloud-advisorynotifications/pom.xml index 4786ed84b2d3..fddc97c81ef8 100644 --- a/java-advisorynotifications/google-cloud-advisorynotifications/pom.xml +++ b/java-advisorynotifications/google-cloud-advisorynotifications/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-advisorynotifications - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT jar Google Advisory Notifications API Advisory Notifications API An API for accessing Advisory Notifications in Google Cloud. com.google.cloud google-cloud-advisorynotifications-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT google-cloud-advisorynotifications diff --git a/java-advisorynotifications/google-cloud-advisorynotifications/src/main/java/com/google/cloud/advisorynotifications/v1/stub/Version.java b/java-advisorynotifications/google-cloud-advisorynotifications/src/main/java/com/google/cloud/advisorynotifications/v1/stub/Version.java index 2f7cc0a8a075..5753cbad0f5a 100644 --- a/java-advisorynotifications/google-cloud-advisorynotifications/src/main/java/com/google/cloud/advisorynotifications/v1/stub/Version.java +++ b/java-advisorynotifications/google-cloud-advisorynotifications/src/main/java/com/google/cloud/advisorynotifications/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-advisorynotifications:current} - static final String VERSION = "0.84.0-SNAPSHOT"; + static final String VERSION = "0.85.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-advisorynotifications/grpc-google-cloud-advisorynotifications-v1/pom.xml b/java-advisorynotifications/grpc-google-cloud-advisorynotifications-v1/pom.xml index 3de5d504a81b..57687073b906 100644 --- a/java-advisorynotifications/grpc-google-cloud-advisorynotifications-v1/pom.xml +++ b/java-advisorynotifications/grpc-google-cloud-advisorynotifications-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-advisorynotifications-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT grpc-google-cloud-advisorynotifications-v1 GRPC library for google-cloud-advisorynotifications com.google.cloud google-cloud-advisorynotifications-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-advisorynotifications/pom.xml b/java-advisorynotifications/pom.xml index 781759a3b24e..aa9eeb39e9e8 100644 --- a/java-advisorynotifications/pom.xml +++ b/java-advisorynotifications/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-advisorynotifications-parent pom - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT Google Advisory Notifications API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-advisorynotifications - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-advisorynotifications-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc proto-google-cloud-advisorynotifications-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-advisorynotifications/proto-google-cloud-advisorynotifications-v1/pom.xml b/java-advisorynotifications/proto-google-cloud-advisorynotifications-v1/pom.xml index da0b74247e04..567539fcf579 100644 --- a/java-advisorynotifications/proto-google-cloud-advisorynotifications-v1/pom.xml +++ b/java-advisorynotifications/proto-google-cloud-advisorynotifications-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-advisorynotifications-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT proto-google-cloud-advisorynotifications-v1 Proto library for google-cloud-advisorynotifications com.google.cloud google-cloud-advisorynotifications-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-agentidentity/google-cloud-agentidentity-bom/pom.xml b/java-agentidentity/google-cloud-agentidentity-bom/pom.xml index 3a50dcad8486..51674efa6421 100644 --- a/java-agentidentity/google-cloud-agentidentity-bom/pom.xml +++ b/java-agentidentity/google-cloud-agentidentity-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-agentidentity-bom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.cloud google-cloud-agentidentity - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-agentidentity-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-agentidentity-v1beta - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc proto-google-cloud-agentidentity-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc proto-google-cloud-agentidentity-v1beta - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-agentidentity/google-cloud-agentidentity/pom.xml b/java-agentidentity/google-cloud-agentidentity/pom.xml index 7532fedf757c..6ea7fa5c731a 100644 --- a/java-agentidentity/google-cloud-agentidentity/pom.xml +++ b/java-agentidentity/google-cloud-agentidentity/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-agentidentity - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT jar Google Agent Identity Agent Identity com.google.cloud google-cloud-agentidentity-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT google-cloud-agentidentity diff --git a/java-agentidentity/google-cloud-agentidentity/src/main/java/com/google/cloud/agentidentity/v1/stub/Version.java b/java-agentidentity/google-cloud-agentidentity/src/main/java/com/google/cloud/agentidentity/v1/stub/Version.java index d0745b8e69e5..70c27e08077a 100644 --- a/java-agentidentity/google-cloud-agentidentity/src/main/java/com/google/cloud/agentidentity/v1/stub/Version.java +++ b/java-agentidentity/google-cloud-agentidentity/src/main/java/com/google/cloud/agentidentity/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-agentidentity:current} - static final String VERSION = "0.0.0-SNAPSHOT"; + static final String VERSION = "0.2.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-agentidentity/google-cloud-agentidentity/src/main/java/com/google/cloud/agentidentity/v1beta/stub/Version.java b/java-agentidentity/google-cloud-agentidentity/src/main/java/com/google/cloud/agentidentity/v1beta/stub/Version.java index dcd0c0e1fef6..a7d348f41ae3 100644 --- a/java-agentidentity/google-cloud-agentidentity/src/main/java/com/google/cloud/agentidentity/v1beta/stub/Version.java +++ b/java-agentidentity/google-cloud-agentidentity/src/main/java/com/google/cloud/agentidentity/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-agentidentity:current} - static final String VERSION = "0.0.0-SNAPSHOT"; + static final String VERSION = "0.2.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-agentidentity/grpc-google-cloud-agentidentity-v1/pom.xml b/java-agentidentity/grpc-google-cloud-agentidentity-v1/pom.xml index db1c86e06645..d9e9e5dbd6fa 100644 --- a/java-agentidentity/grpc-google-cloud-agentidentity-v1/pom.xml +++ b/java-agentidentity/grpc-google-cloud-agentidentity-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-agentidentity-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT grpc-google-cloud-agentidentity-v1 GRPC library for google-cloud-agentidentity com.google.cloud google-cloud-agentidentity-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-agentidentity/grpc-google-cloud-agentidentity-v1beta/pom.xml b/java-agentidentity/grpc-google-cloud-agentidentity-v1beta/pom.xml index 2820890dd3c9..57b38337882f 100644 --- a/java-agentidentity/grpc-google-cloud-agentidentity-v1beta/pom.xml +++ b/java-agentidentity/grpc-google-cloud-agentidentity-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-agentidentity-v1beta - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT grpc-google-cloud-agentidentity-v1beta GRPC library for google-cloud-agentidentity com.google.cloud google-cloud-agentidentity-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-agentidentity/pom.xml b/java-agentidentity/pom.xml index b906785d557f..0d61bfed1267 100644 --- a/java-agentidentity/pom.xml +++ b/java-agentidentity/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-agentidentity-parent pom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT Google Agent Identity Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-agentidentity - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-agentidentity-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-agentidentity-v1beta - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc proto-google-cloud-agentidentity-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc proto-google-cloud-agentidentity-v1beta - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-agentidentity/proto-google-cloud-agentidentity-v1/pom.xml b/java-agentidentity/proto-google-cloud-agentidentity-v1/pom.xml index c96c4ab5f444..badda4cacaf8 100644 --- a/java-agentidentity/proto-google-cloud-agentidentity-v1/pom.xml +++ b/java-agentidentity/proto-google-cloud-agentidentity-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-agentidentity-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT proto-google-cloud-agentidentity-v1 Proto library for google-cloud-agentidentity com.google.cloud google-cloud-agentidentity-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-agentidentity/proto-google-cloud-agentidentity-v1beta/pom.xml b/java-agentidentity/proto-google-cloud-agentidentity-v1beta/pom.xml index 149f7bd3422f..6f55f374f6b0 100644 --- a/java-agentidentity/proto-google-cloud-agentidentity-v1beta/pom.xml +++ b/java-agentidentity/proto-google-cloud-agentidentity-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-agentidentity-v1beta - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT proto-google-cloud-agentidentity-v1beta Proto library for google-cloud-agentidentity com.google.cloud google-cloud-agentidentity-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-agentregistry/google-cloud-agentregistry-bom/pom.xml b/java-agentregistry/google-cloud-agentregistry-bom/pom.xml index 8fbf7550e130..a36d0136c783 100644 --- a/java-agentregistry/google-cloud-agentregistry-bom/pom.xml +++ b/java-agentregistry/google-cloud-agentregistry-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-agentregistry-bom - 0.2.0-SNAPSHOT + 0.3.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-agentregistry - 0.2.0-SNAPSHOT + 0.3.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-agentregistry-v1 - 0.2.0-SNAPSHOT + 0.3.0-SNAPSHOT com.google.api.grpc proto-google-cloud-agentregistry-v1 - 0.2.0-SNAPSHOT + 0.3.0-SNAPSHOT diff --git a/java-agentregistry/google-cloud-agentregistry/pom.xml b/java-agentregistry/google-cloud-agentregistry/pom.xml index a705cf2b336e..f6ddffdca903 100644 --- a/java-agentregistry/google-cloud-agentregistry/pom.xml +++ b/java-agentregistry/google-cloud-agentregistry/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-agentregistry - 0.2.0-SNAPSHOT + 0.3.0-SNAPSHOT jar Google Agent Registry Agent Registry Agent Registry is a centralized, unified catalog that lets you store, @@ -12,7 +12,7 @@ agents within Google Cloud. com.google.cloud google-cloud-agentregistry-parent - 0.2.0-SNAPSHOT + 0.3.0-SNAPSHOT google-cloud-agentregistry diff --git a/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/Version.java b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/Version.java index 96107e564f0d..cc273b4dc6c2 100644 --- a/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/Version.java +++ b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-agentregistry:current} - static final String VERSION = "0.2.0-SNAPSHOT"; + static final String VERSION = "0.3.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-agentregistry/grpc-google-cloud-agentregistry-v1/pom.xml b/java-agentregistry/grpc-google-cloud-agentregistry-v1/pom.xml index e72a15f88764..fdd7c5957ca6 100644 --- a/java-agentregistry/grpc-google-cloud-agentregistry-v1/pom.xml +++ b/java-agentregistry/grpc-google-cloud-agentregistry-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-agentregistry-v1 - 0.2.0-SNAPSHOT + 0.3.0-SNAPSHOT grpc-google-cloud-agentregistry-v1 GRPC library for google-cloud-agentregistry com.google.cloud google-cloud-agentregistry-parent - 0.2.0-SNAPSHOT + 0.3.0-SNAPSHOT diff --git a/java-agentregistry/pom.xml b/java-agentregistry/pom.xml index 10a2edad8e7a..ddf26ae34c6d 100644 --- a/java-agentregistry/pom.xml +++ b/java-agentregistry/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-agentregistry-parent pom - 0.2.0-SNAPSHOT + 0.3.0-SNAPSHOT Google Agent Registry Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-agentregistry - 0.2.0-SNAPSHOT + 0.3.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-agentregistry-v1 - 0.2.0-SNAPSHOT + 0.3.0-SNAPSHOT com.google.api.grpc proto-google-cloud-agentregistry-v1 - 0.2.0-SNAPSHOT + 0.3.0-SNAPSHOT diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/pom.xml b/java-agentregistry/proto-google-cloud-agentregistry-v1/pom.xml index b1535d7158df..01f4b1aab2e1 100644 --- a/java-agentregistry/proto-google-cloud-agentregistry-v1/pom.xml +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-agentregistry-v1 - 0.2.0-SNAPSHOT + 0.3.0-SNAPSHOT proto-google-cloud-agentregistry-v1 Proto library for google-cloud-agentregistry com.google.cloud google-cloud-agentregistry-parent - 0.2.0-SNAPSHOT + 0.3.0-SNAPSHOT diff --git a/java-aiplatform/google-cloud-aiplatform-bom/pom.xml b/java-aiplatform/google-cloud-aiplatform-bom/pom.xml index 8d2b767a91e2..2a101553a92b 100644 --- a/java-aiplatform/google-cloud-aiplatform-bom/pom.xml +++ b/java-aiplatform/google-cloud-aiplatform-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-aiplatform-bom - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-aiplatform - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-aiplatform-v1 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-aiplatform-v1beta1 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-aiplatform-v1 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-aiplatform-v1beta1 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT diff --git a/java-aiplatform/google-cloud-aiplatform/pom.xml b/java-aiplatform/google-cloud-aiplatform/pom.xml index 1faf7d37b46c..4048b9a1caf2 100644 --- a/java-aiplatform/google-cloud-aiplatform/pom.xml +++ b/java-aiplatform/google-cloud-aiplatform/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-aiplatform - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT jar Google Cloud Vertex AI Java client for Google Cloud Vertex AI services. com.google.cloud google-cloud-aiplatform-parent - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT google-cloud-aiplatform diff --git a/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1/stub/Version.java b/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1/stub/Version.java index 4d0ac4491ae2..fd319851e0c2 100644 --- a/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1/stub/Version.java +++ b/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-aiplatform:current} - static final String VERSION = "3.96.0-SNAPSHOT"; + static final String VERSION = "3.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1beta1/stub/Version.java b/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1beta1/stub/Version.java index 4312ecdbe4f5..010e545f1f6e 100644 --- a/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1beta1/stub/Version.java +++ b/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-aiplatform:current} - static final String VERSION = "3.96.0-SNAPSHOT"; + static final String VERSION = "3.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-aiplatform/grpc-google-cloud-aiplatform-v1/pom.xml b/java-aiplatform/grpc-google-cloud-aiplatform-v1/pom.xml index cbc1bbba844c..5b1b1fc16259 100644 --- a/java-aiplatform/grpc-google-cloud-aiplatform-v1/pom.xml +++ b/java-aiplatform/grpc-google-cloud-aiplatform-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-aiplatform-v1 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT grpc-google-cloud-aiplatform-v1 GRPC library for google-cloud-aiplatform com.google.cloud google-cloud-aiplatform-parent - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT diff --git a/java-aiplatform/grpc-google-cloud-aiplatform-v1beta1/pom.xml b/java-aiplatform/grpc-google-cloud-aiplatform-v1beta1/pom.xml index 4d853cfb751a..79312bf462f5 100644 --- a/java-aiplatform/grpc-google-cloud-aiplatform-v1beta1/pom.xml +++ b/java-aiplatform/grpc-google-cloud-aiplatform-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-aiplatform-v1beta1 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT grpc-google-cloud-aiplatform-v1beta1 GRPC library for google-cloud-aiplatform com.google.cloud google-cloud-aiplatform-parent - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT diff --git a/java-aiplatform/pom.xml b/java-aiplatform/pom.xml index c1f3110c6924..eb16a366bdef 100644 --- a/java-aiplatform/pom.xml +++ b/java-aiplatform/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-aiplatform-parent pom - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT Google Cloud Vertex AI Parent Java client for Google Cloud Vertex AI services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-aiplatform - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-aiplatform-v1 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-aiplatform-v1beta1 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-aiplatform-v1 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-aiplatform-v1beta1 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1/pom.xml b/java-aiplatform/proto-google-cloud-aiplatform-v1/pom.xml index 8551f3ae922a..f3fdecb04246 100644 --- a/java-aiplatform/proto-google-cloud-aiplatform-v1/pom.xml +++ b/java-aiplatform/proto-google-cloud-aiplatform-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-aiplatform-v1 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT proto-google-cloud-aiplatform-v1 Proto library for google-cloud-aiplatform com.google.cloud google-cloud-aiplatform-parent - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/pom.xml b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/pom.xml index 95132ed61e51..462a24b8d224 100644 --- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/pom.xml +++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-aiplatform-v1beta1 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT proto-google-cloud-aiplatform-v1beta1 Proto library for google-cloud-aiplatform com.google.cloud google-cloud-aiplatform-parent - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT diff --git a/java-alloydb-connectors/google-cloud-alloydb-connectors-bom/pom.xml b/java-alloydb-connectors/google-cloud-alloydb-connectors-bom/pom.xml index 5c05cd0a4d3b..1b94090f29e0 100644 --- a/java-alloydb-connectors/google-cloud-alloydb-connectors-bom/pom.xml +++ b/java-alloydb-connectors/google-cloud-alloydb-connectors-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-alloydb-connectors-bom - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,22 +28,22 @@ com.google.cloud google-cloud-alloydb-connectors - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT com.google.api.grpc proto-google-cloud-alloydb-connectors-v1alpha - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT com.google.api.grpc proto-google-cloud-alloydb-connectors-v1beta - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT com.google.api.grpc proto-google-cloud-alloydb-connectors-v1 - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT diff --git a/java-alloydb-connectors/google-cloud-alloydb-connectors/pom.xml b/java-alloydb-connectors/google-cloud-alloydb-connectors/pom.xml index 12bdeaadf1b1..81d4024b580f 100644 --- a/java-alloydb-connectors/google-cloud-alloydb-connectors/pom.xml +++ b/java-alloydb-connectors/google-cloud-alloydb-connectors/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-alloydb-connectors - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT jar Google AlloyDB connectors AlloyDB connectors AlloyDB is a fully-managed, PostgreSQL-compatible database for demanding transactional workloads. It provides enterprise-grade performance and availability while maintaining 100% compatibility with open-source PostgreSQL. com.google.cloud google-cloud-alloydb-connectors-parent - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT google-cloud-alloydb-connectors diff --git a/java-alloydb-connectors/pom.xml b/java-alloydb-connectors/pom.xml index 134a80bd58e4..f73f83f9e4f9 100644 --- a/java-alloydb-connectors/pom.xml +++ b/java-alloydb-connectors/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-alloydb-connectors-parent pom - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT Google AlloyDB connectors Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,22 +30,22 @@ com.google.cloud google-cloud-alloydb-connectors - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT com.google.api.grpc proto-google-cloud-alloydb-connectors-v1 - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT com.google.api.grpc proto-google-cloud-alloydb-connectors-v1beta - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT com.google.api.grpc proto-google-cloud-alloydb-connectors-v1alpha - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT diff --git a/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1/pom.xml b/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1/pom.xml index 17669c025616..51a56cfd2e83 100644 --- a/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1/pom.xml +++ b/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-alloydb-connectors-v1 - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT proto-google-cloud-alloydb-connectors-v1 Proto library for google-cloud-alloydb-connectors com.google.cloud google-cloud-alloydb-connectors-parent - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT diff --git a/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1alpha/pom.xml b/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1alpha/pom.xml index e7f65747115a..f562bc44b894 100644 --- a/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1alpha/pom.xml +++ b/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-alloydb-connectors-v1alpha - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT proto-google-cloud-alloydb-connectors-v1alpha Proto library for google-cloud-alloydb-connectors com.google.cloud google-cloud-alloydb-connectors-parent - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT diff --git a/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1beta/pom.xml b/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1beta/pom.xml index 016dbb44d312..bc3f246a1c9e 100644 --- a/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1beta/pom.xml +++ b/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-alloydb-connectors-v1beta - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT proto-google-cloud-alloydb-connectors-v1beta Proto library for google-cloud-alloydb-connectors com.google.cloud google-cloud-alloydb-connectors-parent - 0.73.0-SNAPSHOT + 0.74.0-SNAPSHOT diff --git a/java-alloydb/google-cloud-alloydb-bom/pom.xml b/java-alloydb/google-cloud-alloydb-bom/pom.xml index a93a80ac4dc5..9a5a91a815ee 100644 --- a/java-alloydb/google-cloud-alloydb-bom/pom.xml +++ b/java-alloydb/google-cloud-alloydb-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-alloydb-bom - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,37 +28,37 @@ com.google.cloud google-cloud-alloydb - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-alloydb-v1beta - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-alloydb-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-alloydb-v1alpha - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc proto-google-cloud-alloydb-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc proto-google-cloud-alloydb-v1beta - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc proto-google-cloud-alloydb-v1alpha - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-alloydb/google-cloud-alloydb/pom.xml b/java-alloydb/google-cloud-alloydb/pom.xml index c60d1a4c3f9a..c79ba221b0eb 100644 --- a/java-alloydb/google-cloud-alloydb/pom.xml +++ b/java-alloydb/google-cloud-alloydb/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-alloydb - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT jar Google AlloyDB AlloyDB AlloyDB is a fully managed, PostgreSQL-compatible database service with industry-leading performance, availability, and scale. com.google.cloud google-cloud-alloydb-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT google-cloud-alloydb diff --git a/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1/stub/Version.java b/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1/stub/Version.java index c29d6110c781..726e4cf3f13b 100644 --- a/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1/stub/Version.java +++ b/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-alloydb:current} - static final String VERSION = "0.84.0-SNAPSHOT"; + static final String VERSION = "0.85.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1alpha/stub/Version.java b/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1alpha/stub/Version.java index c884916082f9..456fce50b304 100644 --- a/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1alpha/stub/Version.java +++ b/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-alloydb:current} - static final String VERSION = "0.84.0-SNAPSHOT"; + static final String VERSION = "0.85.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1beta/stub/Version.java b/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1beta/stub/Version.java index c44942176ab4..a2d7b3d5f54c 100644 --- a/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1beta/stub/Version.java +++ b/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-alloydb:current} - static final String VERSION = "0.84.0-SNAPSHOT"; + static final String VERSION = "0.85.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-alloydb/grpc-google-cloud-alloydb-v1/pom.xml b/java-alloydb/grpc-google-cloud-alloydb-v1/pom.xml index 8b786b2b50da..f555f58a3e13 100644 --- a/java-alloydb/grpc-google-cloud-alloydb-v1/pom.xml +++ b/java-alloydb/grpc-google-cloud-alloydb-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-alloydb-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT grpc-google-cloud-alloydb-v1 GRPC library for google-cloud-alloydb com.google.cloud google-cloud-alloydb-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-alloydb/grpc-google-cloud-alloydb-v1alpha/pom.xml b/java-alloydb/grpc-google-cloud-alloydb-v1alpha/pom.xml index 8a831a7b7e3c..f1192149e2b1 100644 --- a/java-alloydb/grpc-google-cloud-alloydb-v1alpha/pom.xml +++ b/java-alloydb/grpc-google-cloud-alloydb-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-alloydb-v1alpha - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT grpc-google-cloud-alloydb-v1alpha GRPC library for google-cloud-alloydb com.google.cloud google-cloud-alloydb-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-alloydb/grpc-google-cloud-alloydb-v1beta/pom.xml b/java-alloydb/grpc-google-cloud-alloydb-v1beta/pom.xml index 0672f5c17156..523649d7394f 100644 --- a/java-alloydb/grpc-google-cloud-alloydb-v1beta/pom.xml +++ b/java-alloydb/grpc-google-cloud-alloydb-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-alloydb-v1beta - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT grpc-google-cloud-alloydb-v1beta GRPC library for google-cloud-alloydb com.google.cloud google-cloud-alloydb-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-alloydb/pom.xml b/java-alloydb/pom.xml index 0b47919d065a..94799a80f91a 100644 --- a/java-alloydb/pom.xml +++ b/java-alloydb/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-alloydb-parent pom - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT Google AlloyDB Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.cloud google-cloud-alloydb - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-alloydb-v1beta - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-alloydb-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-alloydb-v1alpha - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc proto-google-cloud-alloydb-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc proto-google-cloud-alloydb-v1beta - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc proto-google-cloud-alloydb-v1alpha - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-alloydb/proto-google-cloud-alloydb-v1/pom.xml b/java-alloydb/proto-google-cloud-alloydb-v1/pom.xml index 6f6a0c7920fa..201faeeaa373 100644 --- a/java-alloydb/proto-google-cloud-alloydb-v1/pom.xml +++ b/java-alloydb/proto-google-cloud-alloydb-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-alloydb-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT proto-google-cloud-alloydb-v1 Proto library for google-cloud-alloydb com.google.cloud google-cloud-alloydb-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-alloydb/proto-google-cloud-alloydb-v1alpha/pom.xml b/java-alloydb/proto-google-cloud-alloydb-v1alpha/pom.xml index b2b329480a01..6dd9a5f663c1 100644 --- a/java-alloydb/proto-google-cloud-alloydb-v1alpha/pom.xml +++ b/java-alloydb/proto-google-cloud-alloydb-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-alloydb-v1alpha - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT proto-google-cloud-alloydb-v1alpha Proto library for google-cloud-alloydb com.google.cloud google-cloud-alloydb-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-alloydb/proto-google-cloud-alloydb-v1beta/pom.xml b/java-alloydb/proto-google-cloud-alloydb-v1beta/pom.xml index 9a78b4cb2f34..5ba2f1bc6b41 100644 --- a/java-alloydb/proto-google-cloud-alloydb-v1beta/pom.xml +++ b/java-alloydb/proto-google-cloud-alloydb-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-alloydb-v1beta - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT proto-google-cloud-alloydb-v1beta Proto library for google-cloud-alloydb com.google.cloud google-cloud-alloydb-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-analytics-admin/google-analytics-admin-bom/pom.xml b/java-analytics-admin/google-analytics-admin-bom/pom.xml index 20e03c8e2769..016c316c8b4d 100644 --- a/java-analytics-admin/google-analytics-admin-bom/pom.xml +++ b/java-analytics-admin/google-analytics-admin-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.analytics google-analytics-admin-bom - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.analytics google-analytics-admin - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT com.google.api.grpc grpc-google-analytics-admin-v1alpha - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT com.google.api.grpc grpc-google-analytics-admin-v1beta - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT com.google.api.grpc proto-google-analytics-admin-v1alpha - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT com.google.api.grpc proto-google-analytics-admin-v1beta - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT diff --git a/java-analytics-admin/google-analytics-admin/pom.xml b/java-analytics-admin/google-analytics-admin/pom.xml index c62b7a807b8a..adfac6347e63 100644 --- a/java-analytics-admin/google-analytics-admin/pom.xml +++ b/java-analytics-admin/google-analytics-admin/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.analytics google-analytics-admin - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT jar Google Analytics Admin allows you to manage Google Analytics accounts and properties. com.google.analytics google-analytics-admin-parent - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT google-analytics-admin diff --git a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/Version.java b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/Version.java index a85186aa7b9d..17843497ff3f 100644 --- a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/Version.java +++ b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-analytics-admin:current} - static final String VERSION = "0.105.0-SNAPSHOT"; + static final String VERSION = "0.106.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1beta/stub/Version.java b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1beta/stub/Version.java index be191ba20343..efb05c2452b3 100644 --- a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1beta/stub/Version.java +++ b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-analytics-admin:current} - static final String VERSION = "0.105.0-SNAPSHOT"; + static final String VERSION = "0.106.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-analytics-admin/grpc-google-analytics-admin-v1alpha/pom.xml b/java-analytics-admin/grpc-google-analytics-admin-v1alpha/pom.xml index 09d76a41b35e..2bc056bab29a 100644 --- a/java-analytics-admin/grpc-google-analytics-admin-v1alpha/pom.xml +++ b/java-analytics-admin/grpc-google-analytics-admin-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-analytics-admin-v1alpha - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT grpc-google-analytics-admin-v1alpha GRPC library for grpc-google-analytics-admin-v1alpha com.google.analytics google-analytics-admin-parent - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT diff --git a/java-analytics-admin/grpc-google-analytics-admin-v1beta/pom.xml b/java-analytics-admin/grpc-google-analytics-admin-v1beta/pom.xml index c0e4f7ea2837..6b126ed733a2 100644 --- a/java-analytics-admin/grpc-google-analytics-admin-v1beta/pom.xml +++ b/java-analytics-admin/grpc-google-analytics-admin-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-analytics-admin-v1beta - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT grpc-google-analytics-admin-v1beta GRPC library for google-analytics-admin com.google.analytics google-analytics-admin-parent - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT diff --git a/java-analytics-admin/pom.xml b/java-analytics-admin/pom.xml index 4429374eb267..8d69fe0af303 100644 --- a/java-analytics-admin/pom.xml +++ b/java-analytics-admin/pom.xml @@ -4,7 +4,7 @@ com.google.analytics google-analytics-admin-parent pom - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT Google Analytics Admin Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.analytics google-analytics-admin - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT com.google.api.grpc proto-google-analytics-admin-v1beta - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT com.google.api.grpc grpc-google-analytics-admin-v1beta - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT com.google.api.grpc proto-google-analytics-admin-v1alpha - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT com.google.api.grpc grpc-google-analytics-admin-v1alpha - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT diff --git a/java-analytics-admin/proto-google-analytics-admin-v1alpha/pom.xml b/java-analytics-admin/proto-google-analytics-admin-v1alpha/pom.xml index 0960a506c3b7..7510a1370fab 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1alpha/pom.xml +++ b/java-analytics-admin/proto-google-analytics-admin-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-analytics-admin-v1alpha - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT proto-google-analytics-admin-v1alpha PROTO library for proto-google-analytics-admin-v1alpha com.google.analytics google-analytics-admin-parent - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/pom.xml b/java-analytics-admin/proto-google-analytics-admin-v1beta/pom.xml index 96cf468a0a83..5267aad69362 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/pom.xml +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-analytics-admin-v1beta - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT proto-google-analytics-admin-v1beta Proto library for google-analytics-admin com.google.analytics google-analytics-admin-parent - 0.105.0-SNAPSHOT + 0.106.0-SNAPSHOT diff --git a/java-analytics-data/google-analytics-data-bom/pom.xml b/java-analytics-data/google-analytics-data-bom/pom.xml index 75976cc9e8f0..2fa0ea16cd7c 100644 --- a/java-analytics-data/google-analytics-data-bom/pom.xml +++ b/java-analytics-data/google-analytics-data-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.analytics google-analytics-data-bom - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.analytics google-analytics-data - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc grpc-google-analytics-data-v1beta - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc grpc-google-analytics-data-v1alpha - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc proto-google-analytics-data-v1beta - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc proto-google-analytics-data-v1alpha - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT diff --git a/java-analytics-data/google-analytics-data/pom.xml b/java-analytics-data/google-analytics-data/pom.xml index 6ac50239cf7e..974b5e6315f0 100644 --- a/java-analytics-data/google-analytics-data/pom.xml +++ b/java-analytics-data/google-analytics-data/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.analytics google-analytics-data - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT jar Google Analytics Data provides programmatic methods to access report data in Google Analytics App+Web properties. com.google.analytics google-analytics-data-parent - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT google-analytics-data diff --git a/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1alpha/stub/Version.java b/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1alpha/stub/Version.java index 8dad2e3c837a..6f0564637bcb 100644 --- a/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1alpha/stub/Version.java +++ b/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-analytics-data:current} - static final String VERSION = "0.106.0-SNAPSHOT"; + static final String VERSION = "0.107.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1beta/stub/Version.java b/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1beta/stub/Version.java index 3820e932f16f..47c57d6907c3 100644 --- a/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1beta/stub/Version.java +++ b/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-analytics-data:current} - static final String VERSION = "0.106.0-SNAPSHOT"; + static final String VERSION = "0.107.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-analytics-data/grpc-google-analytics-data-v1alpha/pom.xml b/java-analytics-data/grpc-google-analytics-data-v1alpha/pom.xml index ba4847d62888..23e7dccbb7d1 100644 --- a/java-analytics-data/grpc-google-analytics-data-v1alpha/pom.xml +++ b/java-analytics-data/grpc-google-analytics-data-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-analytics-data-v1alpha - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT grpc-google-analytics-data-v1alpha GRPC library for google-analytics-data com.google.analytics google-analytics-data-parent - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT diff --git a/java-analytics-data/grpc-google-analytics-data-v1beta/pom.xml b/java-analytics-data/grpc-google-analytics-data-v1beta/pom.xml index c7b802e9a9b4..5aa05accfbf0 100644 --- a/java-analytics-data/grpc-google-analytics-data-v1beta/pom.xml +++ b/java-analytics-data/grpc-google-analytics-data-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-analytics-data-v1beta - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT grpc-google-analytics-data-v1beta GRPC library for grpc-google-analytics-data-v1beta com.google.analytics google-analytics-data-parent - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT diff --git a/java-analytics-data/pom.xml b/java-analytics-data/pom.xml index 2b23545b7b8b..46d5a22bc0f6 100644 --- a/java-analytics-data/pom.xml +++ b/java-analytics-data/pom.xml @@ -4,7 +4,7 @@ com.google.analytics google-analytics-data-parent pom - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT Google Analytics Data Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.analytics google-analytics-data - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc proto-google-analytics-data-v1alpha - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc grpc-google-analytics-data-v1alpha - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc proto-google-analytics-data-v1beta - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc grpc-google-analytics-data-v1beta - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT diff --git a/java-analytics-data/proto-google-analytics-data-v1alpha/pom.xml b/java-analytics-data/proto-google-analytics-data-v1alpha/pom.xml index 43b8e18e029f..ed283a8f8adc 100644 --- a/java-analytics-data/proto-google-analytics-data-v1alpha/pom.xml +++ b/java-analytics-data/proto-google-analytics-data-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-analytics-data-v1alpha - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT proto-google-analytics-data-v1alpha Proto library for google-analytics-data com.google.analytics google-analytics-data-parent - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT diff --git a/java-analytics-data/proto-google-analytics-data-v1beta/pom.xml b/java-analytics-data/proto-google-analytics-data-v1beta/pom.xml index 0dbf02f085b2..df4d3cf4d1ac 100644 --- a/java-analytics-data/proto-google-analytics-data-v1beta/pom.xml +++ b/java-analytics-data/proto-google-analytics-data-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-analytics-data-v1beta - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT proto-google-analytics-data-v1beta PROTO library for proto-google-analytics-data-v1beta com.google.analytics google-analytics-data-parent - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT diff --git a/java-analyticshub/google-cloud-analyticshub-bom/pom.xml b/java-analyticshub/google-cloud-analyticshub-bom/pom.xml index 9cdecbf9ecd0..064d02cdb720 100644 --- a/java-analyticshub/google-cloud-analyticshub-bom/pom.xml +++ b/java-analyticshub/google-cloud-analyticshub-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-analyticshub-bom - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-analyticshub - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-analyticshub-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-analyticshub-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-analyticshub/google-cloud-analyticshub/pom.xml b/java-analyticshub/google-cloud-analyticshub/pom.xml index a00998aa3671..52325dc9b3c5 100644 --- a/java-analyticshub/google-cloud-analyticshub/pom.xml +++ b/java-analyticshub/google-cloud-analyticshub/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-analyticshub - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT jar Google Analytics Hub API Analytics Hub API TBD com.google.cloud google-cloud-analyticshub-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT google-cloud-analyticshub diff --git a/java-analyticshub/google-cloud-analyticshub/src/main/java/com/google/cloud/bigquery/analyticshub/v1/stub/Version.java b/java-analyticshub/google-cloud-analyticshub/src/main/java/com/google/cloud/bigquery/analyticshub/v1/stub/Version.java index 3f6ac22bcc79..2bc6539eac31 100644 --- a/java-analyticshub/google-cloud-analyticshub/src/main/java/com/google/cloud/bigquery/analyticshub/v1/stub/Version.java +++ b/java-analyticshub/google-cloud-analyticshub/src/main/java/com/google/cloud/bigquery/analyticshub/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-analyticshub:current} - static final String VERSION = "0.92.0-SNAPSHOT"; + static final String VERSION = "0.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-analyticshub/grpc-google-cloud-analyticshub-v1/pom.xml b/java-analyticshub/grpc-google-cloud-analyticshub-v1/pom.xml index 3912ada2eea8..f7d352dde4ed 100644 --- a/java-analyticshub/grpc-google-cloud-analyticshub-v1/pom.xml +++ b/java-analyticshub/grpc-google-cloud-analyticshub-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-analyticshub-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT grpc-google-cloud-analyticshub-v1 GRPC library for google-cloud-analyticshub com.google.cloud google-cloud-analyticshub-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-analyticshub/pom.xml b/java-analyticshub/pom.xml index 7baf231c04df..5db03046b415 100644 --- a/java-analyticshub/pom.xml +++ b/java-analyticshub/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-analyticshub-parent pom - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT Google Analytics Hub API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-analyticshub - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-analyticshub-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-analyticshub-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-analyticshub/proto-google-cloud-analyticshub-v1/pom.xml b/java-analyticshub/proto-google-cloud-analyticshub-v1/pom.xml index a91c235ae925..660fcdbd4c72 100644 --- a/java-analyticshub/proto-google-cloud-analyticshub-v1/pom.xml +++ b/java-analyticshub/proto-google-cloud-analyticshub-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-analyticshub-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT proto-google-cloud-analyticshub-v1 Proto library for google-cloud-analyticshub com.google.cloud google-cloud-analyticshub-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-api-gateway/google-cloud-api-gateway-bom/pom.xml b/java-api-gateway/google-cloud-api-gateway-bom/pom.xml index c935b2f9bc13..7e4a3c080d12 100644 --- a/java-api-gateway/google-cloud-api-gateway-bom/pom.xml +++ b/java-api-gateway/google-cloud-api-gateway-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-api-gateway-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-api-gateway - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-api-gateway-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-api-gateway-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-api-gateway/google-cloud-api-gateway/pom.xml b/java-api-gateway/google-cloud-api-gateway/pom.xml index ba60f4828578..e92a083523ab 100644 --- a/java-api-gateway/google-cloud-api-gateway/pom.xml +++ b/java-api-gateway/google-cloud-api-gateway/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-api-gateway - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google API Gateway API Gateway enables you to provide secure access to your backend services through a well-defined REST API that is consistent across all of your services, regardless of the service implementation. Clients consume your REST APIS to implement standalone apps for a mobile device or tablet, through apps running in a browser, or through any other type of app that can make a request to an HTTP endpoint. com.google.cloud google-cloud-api-gateway-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-api-gateway diff --git a/java-api-gateway/google-cloud-api-gateway/src/main/java/com/google/cloud/apigateway/v1/stub/Version.java b/java-api-gateway/google-cloud-api-gateway/src/main/java/com/google/cloud/apigateway/v1/stub/Version.java index 58bcebe140ab..7995948f99f8 100644 --- a/java-api-gateway/google-cloud-api-gateway/src/main/java/com/google/cloud/apigateway/v1/stub/Version.java +++ b/java-api-gateway/google-cloud-api-gateway/src/main/java/com/google/cloud/apigateway/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-api-gateway:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-api-gateway/grpc-google-cloud-api-gateway-v1/pom.xml b/java-api-gateway/grpc-google-cloud-api-gateway-v1/pom.xml index 5085601afc8c..a8c48feeda13 100644 --- a/java-api-gateway/grpc-google-cloud-api-gateway-v1/pom.xml +++ b/java-api-gateway/grpc-google-cloud-api-gateway-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-api-gateway-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-api-gateway-v1 GRPC library for google-cloud-api-gateway com.google.cloud google-cloud-api-gateway-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-api-gateway/pom.xml b/java-api-gateway/pom.xml index 8beb461c8ca5..b67ebe7f8403 100644 --- a/java-api-gateway/pom.xml +++ b/java-api-gateway/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-api-gateway-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google API Gateway Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-api-gateway - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-api-gateway-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-api-gateway-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-api-gateway/proto-google-cloud-api-gateway-v1/pom.xml b/java-api-gateway/proto-google-cloud-api-gateway-v1/pom.xml index c16145548a67..0414df0c8c1f 100644 --- a/java-api-gateway/proto-google-cloud-api-gateway-v1/pom.xml +++ b/java-api-gateway/proto-google-cloud-api-gateway-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-api-gateway-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-api-gateway-v1 Proto library for google-cloud-api-gateway com.google.cloud google-cloud-api-gateway-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-apigee-connect/google-cloud-apigee-connect-bom/pom.xml b/java-apigee-connect/google-cloud-apigee-connect-bom/pom.xml index dfbc54bffa06..1cdcf742b1f0 100644 --- a/java-apigee-connect/google-cloud-apigee-connect-bom/pom.xml +++ b/java-apigee-connect/google-cloud-apigee-connect-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-apigee-connect-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-apigee-connect - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-apigee-connect-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-apigee-connect-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-apigee-connect/google-cloud-apigee-connect/pom.xml b/java-apigee-connect/google-cloud-apigee-connect/pom.xml index 25113201b385..97f0e15b43ba 100644 --- a/java-apigee-connect/google-cloud-apigee-connect/pom.xml +++ b/java-apigee-connect/google-cloud-apigee-connect/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-apigee-connect - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Apigee Connect Apigee Connect allows the Apigee hybrid management plane to connect securely to the MART service in the runtime plane without requiring you to expose the MART endpoint on the internet. com.google.cloud google-cloud-apigee-connect-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-apigee-connect diff --git a/java-apigee-connect/google-cloud-apigee-connect/src/main/java/com/google/cloud/apigeeconnect/v1/stub/Version.java b/java-apigee-connect/google-cloud-apigee-connect/src/main/java/com/google/cloud/apigeeconnect/v1/stub/Version.java index da58f27ef6d8..a23c9713e851 100644 --- a/java-apigee-connect/google-cloud-apigee-connect/src/main/java/com/google/cloud/apigeeconnect/v1/stub/Version.java +++ b/java-apigee-connect/google-cloud-apigee-connect/src/main/java/com/google/cloud/apigeeconnect/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-apigee-connect:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-apigee-connect/grpc-google-cloud-apigee-connect-v1/pom.xml b/java-apigee-connect/grpc-google-cloud-apigee-connect-v1/pom.xml index 4357e270c424..7f193bda3571 100644 --- a/java-apigee-connect/grpc-google-cloud-apigee-connect-v1/pom.xml +++ b/java-apigee-connect/grpc-google-cloud-apigee-connect-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-apigee-connect-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-apigee-connect-v1 GRPC library for google-cloud-apigee-connect com.google.cloud google-cloud-apigee-connect-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-apigee-connect/pom.xml b/java-apigee-connect/pom.xml index 90341a3da0c0..cc0104748709 100644 --- a/java-apigee-connect/pom.xml +++ b/java-apigee-connect/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-apigee-connect-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Apigee Connect Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-apigee-connect - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-apigee-connect-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-apigee-connect-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-apigee-connect/proto-google-cloud-apigee-connect-v1/pom.xml b/java-apigee-connect/proto-google-cloud-apigee-connect-v1/pom.xml index 7c3259144b68..1ec3b8c3a7c7 100644 --- a/java-apigee-connect/proto-google-cloud-apigee-connect-v1/pom.xml +++ b/java-apigee-connect/proto-google-cloud-apigee-connect-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-apigee-connect-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-apigee-connect-v1 Proto library for google-cloud-apigee-connect com.google.cloud google-cloud-apigee-connect-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-apihub/google-cloud-apihub-bom/pom.xml b/java-apihub/google-cloud-apihub-bom/pom.xml index 9745f3048771..1ec12c5cdb21 100644 --- a/java-apihub/google-cloud-apihub-bom/pom.xml +++ b/java-apihub/google-cloud-apihub-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-apihub-bom - 0.48.0-SNAPSHOT + 0.49.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,12 +27,12 @@ com.google.cloud google-cloud-apihub - 0.48.0-SNAPSHOT + 0.49.0-SNAPSHOT com.google.api.grpc proto-google-cloud-apihub-v1 - 0.48.0-SNAPSHOT + 0.49.0-SNAPSHOT diff --git a/java-apihub/google-cloud-apihub/pom.xml b/java-apihub/google-cloud-apihub/pom.xml index e6f5bb193456..c8bba287a850 100644 --- a/java-apihub/google-cloud-apihub/pom.xml +++ b/java-apihub/google-cloud-apihub/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-apihub - 0.48.0-SNAPSHOT + 0.49.0-SNAPSHOT jar Google API hub API API hub API API hub lets you consolidate and organize information about all of the APIs of interest to your organization. API hub lets you capture critical information about APIs that allows developers to discover and evaluate them easily and leverage the work of other teams wherever possible. API platform teams can use API hub to have visibility into and manage their portfolio of APIs. com.google.cloud google-cloud-apihub-parent - 0.48.0-SNAPSHOT + 0.49.0-SNAPSHOT google-cloud-apihub diff --git a/java-apihub/google-cloud-apihub/src/main/java/com/google/cloud/apihub/v1/stub/Version.java b/java-apihub/google-cloud-apihub/src/main/java/com/google/cloud/apihub/v1/stub/Version.java index 9636e3a09e4e..69fbaf9e9dc1 100644 --- a/java-apihub/google-cloud-apihub/src/main/java/com/google/cloud/apihub/v1/stub/Version.java +++ b/java-apihub/google-cloud-apihub/src/main/java/com/google/cloud/apihub/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-apihub:current} - static final String VERSION = "0.48.0-SNAPSHOT"; + static final String VERSION = "0.49.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-apihub/pom.xml b/java-apihub/pom.xml index 8197b54baa21..cec112c9d269 100644 --- a/java-apihub/pom.xml +++ b/java-apihub/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-apihub-parent pom - 0.48.0-SNAPSHOT + 0.49.0-SNAPSHOT Google API hub API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,12 +30,12 @@ com.google.cloud google-cloud-apihub - 0.48.0-SNAPSHOT + 0.49.0-SNAPSHOT com.google.api.grpc proto-google-cloud-apihub-v1 - 0.48.0-SNAPSHOT + 0.49.0-SNAPSHOT diff --git a/java-apihub/proto-google-cloud-apihub-v1/pom.xml b/java-apihub/proto-google-cloud-apihub-v1/pom.xml index e1bbaae603da..39bc0ed87c6b 100644 --- a/java-apihub/proto-google-cloud-apihub-v1/pom.xml +++ b/java-apihub/proto-google-cloud-apihub-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-apihub-v1 - 0.48.0-SNAPSHOT + 0.49.0-SNAPSHOT proto-google-cloud-apihub-v1 Proto library for google-cloud-apihub com.google.cloud google-cloud-apihub-parent - 0.48.0-SNAPSHOT + 0.49.0-SNAPSHOT diff --git a/java-apikeys/google-cloud-apikeys-bom/pom.xml b/java-apikeys/google-cloud-apikeys-bom/pom.xml index 1293d38e079a..850cdd014bd6 100644 --- a/java-apikeys/google-cloud-apikeys-bom/pom.xml +++ b/java-apikeys/google-cloud-apikeys-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-apikeys-bom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-apikeys - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-apikeys-v2 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-apikeys-v2 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-apikeys/google-cloud-apikeys/pom.xml b/java-apikeys/google-cloud-apikeys/pom.xml index 55ad78efc45f..022bdba2886c 100644 --- a/java-apikeys/google-cloud-apikeys/pom.xml +++ b/java-apikeys/google-cloud-apikeys/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-apikeys - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT jar Google API Keys API API Keys API API Keys lets you create and manage your API keys for your projects. com.google.cloud google-cloud-apikeys-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT google-cloud-apikeys diff --git a/java-apikeys/google-cloud-apikeys/src/main/java/com/google/api/apikeys/v2/stub/Version.java b/java-apikeys/google-cloud-apikeys/src/main/java/com/google/api/apikeys/v2/stub/Version.java index 549484351e4a..17ddac90d206 100644 --- a/java-apikeys/google-cloud-apikeys/src/main/java/com/google/api/apikeys/v2/stub/Version.java +++ b/java-apikeys/google-cloud-apikeys/src/main/java/com/google/api/apikeys/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-apikeys:current} - static final String VERSION = "0.93.0-SNAPSHOT"; + static final String VERSION = "0.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-apikeys/grpc-google-cloud-apikeys-v2/pom.xml b/java-apikeys/grpc-google-cloud-apikeys-v2/pom.xml index add0a8afd04c..cf6023b271c9 100644 --- a/java-apikeys/grpc-google-cloud-apikeys-v2/pom.xml +++ b/java-apikeys/grpc-google-cloud-apikeys-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-apikeys-v2 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT grpc-google-cloud-apikeys-v2 GRPC library for google-cloud-apikeys com.google.cloud google-cloud-apikeys-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-apikeys/pom.xml b/java-apikeys/pom.xml index 5c95453f9992..9a4918530340 100644 --- a/java-apikeys/pom.xml +++ b/java-apikeys/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-apikeys-parent pom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT Google API Keys API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-apikeys - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-apikeys-v2 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-apikeys-v2 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-apikeys/proto-google-cloud-apikeys-v2/pom.xml b/java-apikeys/proto-google-cloud-apikeys-v2/pom.xml index 085d8bae71b9..98952f2a20d4 100644 --- a/java-apikeys/proto-google-cloud-apikeys-v2/pom.xml +++ b/java-apikeys/proto-google-cloud-apikeys-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-apikeys-v2 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT proto-google-cloud-apikeys-v2 Proto library for google-cloud-apikeys com.google.cloud google-cloud-apikeys-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-appengine-admin/google-cloud-appengine-admin-bom/pom.xml b/java-appengine-admin/google-cloud-appengine-admin-bom/pom.xml index 3e2acb3917ab..60fc4b8a887f 100644 --- a/java-appengine-admin/google-cloud-appengine-admin-bom/pom.xml +++ b/java-appengine-admin/google-cloud-appengine-admin-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-appengine-admin-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-appengine-admin - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-appengine-admin-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-appengine-admin-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-appengine-admin/google-cloud-appengine-admin/pom.xml b/java-appengine-admin/google-cloud-appengine-admin/pom.xml index 60b1825e7c36..8c50af7a0df8 100644 --- a/java-appengine-admin/google-cloud-appengine-admin/pom.xml +++ b/java-appengine-admin/google-cloud-appengine-admin/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-appengine-admin - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google App Engine Admin API App Engine Admin API you to manage your App Engine applications. com.google.cloud google-cloud-appengine-admin-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-appengine-admin diff --git a/java-appengine-admin/google-cloud-appengine-admin/src/main/java/com/google/appengine/v1/stub/Version.java b/java-appengine-admin/google-cloud-appengine-admin/src/main/java/com/google/appengine/v1/stub/Version.java index 1be3a58b819d..d2b87473d62b 100644 --- a/java-appengine-admin/google-cloud-appengine-admin/src/main/java/com/google/appengine/v1/stub/Version.java +++ b/java-appengine-admin/google-cloud-appengine-admin/src/main/java/com/google/appengine/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-appengine-admin:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-appengine-admin/grpc-google-cloud-appengine-admin-v1/pom.xml b/java-appengine-admin/grpc-google-cloud-appengine-admin-v1/pom.xml index bf80eae3ccca..f887f9ff6341 100644 --- a/java-appengine-admin/grpc-google-cloud-appengine-admin-v1/pom.xml +++ b/java-appengine-admin/grpc-google-cloud-appengine-admin-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-appengine-admin-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-appengine-admin-v1 GRPC library for google-cloud-appengine-admin com.google.cloud google-cloud-appengine-admin-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-appengine-admin/pom.xml b/java-appengine-admin/pom.xml index 3c21feaf74e0..e6670a42afbf 100644 --- a/java-appengine-admin/pom.xml +++ b/java-appengine-admin/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-appengine-admin-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google App Engine Admin API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-appengine-admin - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-appengine-admin-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-appengine-admin-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-appengine-admin/proto-google-cloud-appengine-admin-v1/pom.xml b/java-appengine-admin/proto-google-cloud-appengine-admin-v1/pom.xml index ae9d4cf34778..54f3a53e3043 100644 --- a/java-appengine-admin/proto-google-cloud-appengine-admin-v1/pom.xml +++ b/java-appengine-admin/proto-google-cloud-appengine-admin-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-appengine-admin-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-appengine-admin-v1 Proto library for google-cloud-appengine-admin com.google.cloud google-cloud-appengine-admin-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-apphub/google-cloud-apphub-bom/pom.xml b/java-apphub/google-cloud-apphub-bom/pom.xml index ef7c7a648fac..d1070e79232a 100644 --- a/java-apphub/google-cloud-apphub-bom/pom.xml +++ b/java-apphub/google-cloud-apphub-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-apphub-bom - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-apphub - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-apphub-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc proto-google-cloud-apphub-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-apphub/google-cloud-apphub/pom.xml b/java-apphub/google-cloud-apphub/pom.xml index 5285357bde00..fe3ed1f4d160 100644 --- a/java-apphub/google-cloud-apphub/pom.xml +++ b/java-apphub/google-cloud-apphub/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-apphub - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT jar Google App Hub API App Hub API App Hub simplifies the process of building, running, and managing applications on Google Cloud. com.google.cloud google-cloud-apphub-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT google-cloud-apphub diff --git a/java-apphub/google-cloud-apphub/src/main/java/com/google/cloud/apphub/v1/stub/Version.java b/java-apphub/google-cloud-apphub/src/main/java/com/google/cloud/apphub/v1/stub/Version.java index de7884b11da2..d803ab46bfee 100644 --- a/java-apphub/google-cloud-apphub/src/main/java/com/google/cloud/apphub/v1/stub/Version.java +++ b/java-apphub/google-cloud-apphub/src/main/java/com/google/cloud/apphub/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-apphub:current} - static final String VERSION = "0.59.0-SNAPSHOT"; + static final String VERSION = "0.60.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-apphub/grpc-google-cloud-apphub-v1/pom.xml b/java-apphub/grpc-google-cloud-apphub-v1/pom.xml index 6412631802cd..30b7b31aa2f7 100644 --- a/java-apphub/grpc-google-cloud-apphub-v1/pom.xml +++ b/java-apphub/grpc-google-cloud-apphub-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-apphub-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT grpc-google-cloud-apphub-v1 GRPC library for google-cloud-apphub com.google.cloud google-cloud-apphub-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-apphub/pom.xml b/java-apphub/pom.xml index ab3c35117592..ebe574e1544b 100644 --- a/java-apphub/pom.xml +++ b/java-apphub/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-apphub-parent pom - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT Google App Hub API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-apphub - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-apphub-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc proto-google-cloud-apphub-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-apphub/proto-google-cloud-apphub-v1/pom.xml b/java-apphub/proto-google-cloud-apphub-v1/pom.xml index e8561a276e9d..42ef8d39bc94 100644 --- a/java-apphub/proto-google-cloud-apphub-v1/pom.xml +++ b/java-apphub/proto-google-cloud-apphub-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-apphub-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT proto-google-cloud-apphub-v1 Proto library for google-cloud-apphub com.google.cloud google-cloud-apphub-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-appoptimize/google-cloud-appoptimize-bom/pom.xml b/java-appoptimize/google-cloud-appoptimize-bom/pom.xml index 34fb56d35f97..90b1bca602c3 100644 --- a/java-appoptimize/google-cloud-appoptimize-bom/pom.xml +++ b/java-appoptimize/google-cloud-appoptimize-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-appoptimize-bom - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-appoptimize - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-appoptimize-v1beta - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT com.google.api.grpc proto-google-cloud-appoptimize-v1beta - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT diff --git a/java-appoptimize/google-cloud-appoptimize/pom.xml b/java-appoptimize/google-cloud-appoptimize/pom.xml index 09092c82ef0f..3bde4c6b4cc1 100644 --- a/java-appoptimize/google-cloud-appoptimize/pom.xml +++ b/java-appoptimize/google-cloud-appoptimize/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-appoptimize - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT jar Google App Optimize API App Optimize API The App Optimize API provides developers and platform teams with tools to monitor, analyze, and improve the performance and cost-efficiency of their cloud applications. com.google.cloud google-cloud-appoptimize-parent - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT google-cloud-appoptimize diff --git a/java-appoptimize/google-cloud-appoptimize/src/main/java/com/google/cloud/appoptimize/v1beta/stub/Version.java b/java-appoptimize/google-cloud-appoptimize/src/main/java/com/google/cloud/appoptimize/v1beta/stub/Version.java index fc99f891fa0d..c9c8af283056 100644 --- a/java-appoptimize/google-cloud-appoptimize/src/main/java/com/google/cloud/appoptimize/v1beta/stub/Version.java +++ b/java-appoptimize/google-cloud-appoptimize/src/main/java/com/google/cloud/appoptimize/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-appoptimize:current} - static final String VERSION = "0.5.0-SNAPSHOT"; + static final String VERSION = "0.6.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-appoptimize/grpc-google-cloud-appoptimize-v1beta/pom.xml b/java-appoptimize/grpc-google-cloud-appoptimize-v1beta/pom.xml index c2c7888cb186..8887a8c8df93 100644 --- a/java-appoptimize/grpc-google-cloud-appoptimize-v1beta/pom.xml +++ b/java-appoptimize/grpc-google-cloud-appoptimize-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-appoptimize-v1beta - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT grpc-google-cloud-appoptimize-v1beta GRPC library for google-cloud-appoptimize com.google.cloud google-cloud-appoptimize-parent - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT diff --git a/java-appoptimize/pom.xml b/java-appoptimize/pom.xml index bfe78b87ffb2..b8741fe5bd68 100644 --- a/java-appoptimize/pom.xml +++ b/java-appoptimize/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-appoptimize-parent pom - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT Google App Optimize API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-appoptimize - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-appoptimize-v1beta - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT com.google.api.grpc proto-google-cloud-appoptimize-v1beta - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT diff --git a/java-appoptimize/proto-google-cloud-appoptimize-v1beta/pom.xml b/java-appoptimize/proto-google-cloud-appoptimize-v1beta/pom.xml index 8434854498a3..40bd3a4881e8 100644 --- a/java-appoptimize/proto-google-cloud-appoptimize-v1beta/pom.xml +++ b/java-appoptimize/proto-google-cloud-appoptimize-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-appoptimize-v1beta - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT proto-google-cloud-appoptimize-v1beta Proto library for google-cloud-appoptimize com.google.cloud google-cloud-appoptimize-parent - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT diff --git a/java-area120-tables/google-area120-tables-bom/pom.xml b/java-area120-tables/google-area120-tables-bom/pom.xml index 208edf82c0fd..14b563bc9d53 100644 --- a/java-area120-tables/google-area120-tables-bom/pom.xml +++ b/java-area120-tables/google-area120-tables-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.area120 google-area120-tables-bom - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.area120 google-area120-tables - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT com.google.api.grpc grpc-google-area120-tables-v1alpha1 - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT com.google.api.grpc proto-google-area120-tables-v1alpha1 - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT diff --git a/java-area120-tables/google-area120-tables/pom.xml b/java-area120-tables/google-area120-tables/pom.xml index 2d9dd80a310d..4cca452eb75b 100644 --- a/java-area120-tables/google-area120-tables/pom.xml +++ b/java-area120-tables/google-area120-tables/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.area120 google-area120-tables - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT jar Google Area 120 Tables provides programmatic methods to the Area 120 Tables API. com.google.area120 google-area120-tables-parent - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT google-area120-tables diff --git a/java-area120-tables/google-area120-tables/src/main/java/com/google/area120/tables/v1alpha/stub/Version.java b/java-area120-tables/google-area120-tables/src/main/java/com/google/area120/tables/v1alpha/stub/Version.java index 292daa20e34b..5c6ab23df93a 100644 --- a/java-area120-tables/google-area120-tables/src/main/java/com/google/area120/tables/v1alpha/stub/Version.java +++ b/java-area120-tables/google-area120-tables/src/main/java/com/google/area120/tables/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-area120-tables:current} - static final String VERSION = "0.99.0-SNAPSHOT"; + static final String VERSION = "0.100.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-area120-tables/grpc-google-area120-tables-v1alpha1/pom.xml b/java-area120-tables/grpc-google-area120-tables-v1alpha1/pom.xml index 236a1c2c8b24..15d3fdc09483 100644 --- a/java-area120-tables/grpc-google-area120-tables-v1alpha1/pom.xml +++ b/java-area120-tables/grpc-google-area120-tables-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-area120-tables-v1alpha1 - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT grpc-google-area120-tables-v1alpha1 GRPC library for google-area120-tables com.google.area120 google-area120-tables-parent - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT diff --git a/java-area120-tables/pom.xml b/java-area120-tables/pom.xml index c05bc4bd1cb2..805547184da1 100644 --- a/java-area120-tables/pom.xml +++ b/java-area120-tables/pom.xml @@ -4,7 +4,7 @@ com.google.area120 google-area120-tables-parent pom - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT Google Area 120 Tables Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.area120 google-area120-tables - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT com.google.api.grpc proto-google-area120-tables-v1alpha1 - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT com.google.api.grpc grpc-google-area120-tables-v1alpha1 - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT diff --git a/java-area120-tables/proto-google-area120-tables-v1alpha1/pom.xml b/java-area120-tables/proto-google-area120-tables-v1alpha1/pom.xml index 1686f46d61cc..90f81037e488 100644 --- a/java-area120-tables/proto-google-area120-tables-v1alpha1/pom.xml +++ b/java-area120-tables/proto-google-area120-tables-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-area120-tables-v1alpha1 - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT proto-google-area120-tables-v1alpha1 Proto library for google-area120-tables com.google.area120 google-area120-tables-parent - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT diff --git a/java-artifact-registry/google-cloud-artifact-registry-bom/pom.xml b/java-artifact-registry/google-cloud-artifact-registry-bom/pom.xml index 82e6dc9a8eec..46b002552545 100644 --- a/java-artifact-registry/google-cloud-artifact-registry-bom/pom.xml +++ b/java-artifact-registry/google-cloud-artifact-registry-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-artifact-registry-bom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-artifact-registry - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-artifact-registry-v1beta2 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-artifact-registry-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-artifact-registry-v1beta2 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-artifact-registry-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-artifact-registry/google-cloud-artifact-registry/pom.xml b/java-artifact-registry/google-cloud-artifact-registry/pom.xml index 01a9a0959cb9..91da64920076 100644 --- a/java-artifact-registry/google-cloud-artifact-registry/pom.xml +++ b/java-artifact-registry/google-cloud-artifact-registry/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-artifact-registry - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT jar Google Artifact Registry provides a single place for your organization to manage container images and language packages (such as Maven and npm). It is fully integrated with Google Cloud's tooling and runtimes and comes with support for native artifact protocols. This makes it simple to integrate it with your CI/CD tooling to set up automated pipelines. com.google.cloud google-cloud-artifact-registry-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT google-cloud-artifact-registry diff --git a/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1/stub/Version.java b/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1/stub/Version.java index cce24718a538..992b83037ba8 100644 --- a/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1/stub/Version.java +++ b/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-artifact-registry:current} - static final String VERSION = "1.94.0-SNAPSHOT"; + static final String VERSION = "1.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1beta2/stub/Version.java b/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1beta2/stub/Version.java index 9bf45799cff0..34b6f351c4a1 100644 --- a/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1beta2/stub/Version.java +++ b/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1beta2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-artifact-registry:current} - static final String VERSION = "1.94.0-SNAPSHOT"; + static final String VERSION = "1.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-artifact-registry/grpc-google-cloud-artifact-registry-v1/pom.xml b/java-artifact-registry/grpc-google-cloud-artifact-registry-v1/pom.xml index 4ef13c139fd5..9219e18bf48e 100644 --- a/java-artifact-registry/grpc-google-cloud-artifact-registry-v1/pom.xml +++ b/java-artifact-registry/grpc-google-cloud-artifact-registry-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-artifact-registry-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT grpc-google-cloud-artifact-registry-v1 GRPC library for google-cloud-artifact-registry com.google.cloud google-cloud-artifact-registry-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-artifact-registry/grpc-google-cloud-artifact-registry-v1beta2/pom.xml b/java-artifact-registry/grpc-google-cloud-artifact-registry-v1beta2/pom.xml index 69102eadcdfc..706ded55216a 100644 --- a/java-artifact-registry/grpc-google-cloud-artifact-registry-v1beta2/pom.xml +++ b/java-artifact-registry/grpc-google-cloud-artifact-registry-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-artifact-registry-v1beta2 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT grpc-google-cloud-artifact-registry-v1beta2 GRPC library for google-cloud-artifact-registry com.google.cloud google-cloud-artifact-registry-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-artifact-registry/pom.xml b/java-artifact-registry/pom.xml index 203f41f728c1..289b1e10706b 100644 --- a/java-artifact-registry/pom.xml +++ b/java-artifact-registry/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-artifact-registry-parent pom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT Google Artifact Registry Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-artifact-registry - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-artifact-registry-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-artifact-registry-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-artifact-registry-v1beta2 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-artifact-registry-v1beta2 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-artifact-registry/proto-google-cloud-artifact-registry-v1/pom.xml b/java-artifact-registry/proto-google-cloud-artifact-registry-v1/pom.xml index 3d11e0dd9167..6c5e716c0b47 100644 --- a/java-artifact-registry/proto-google-cloud-artifact-registry-v1/pom.xml +++ b/java-artifact-registry/proto-google-cloud-artifact-registry-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-artifact-registry-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT proto-google-cloud-artifact-registry-v1 Proto library for google-cloud-artifact-registry com.google.cloud google-cloud-artifact-registry-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-artifact-registry/proto-google-cloud-artifact-registry-v1beta2/pom.xml b/java-artifact-registry/proto-google-cloud-artifact-registry-v1beta2/pom.xml index 97e0318a813d..14f965e7caf4 100644 --- a/java-artifact-registry/proto-google-cloud-artifact-registry-v1beta2/pom.xml +++ b/java-artifact-registry/proto-google-cloud-artifact-registry-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-artifact-registry-v1beta2 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT grpc-google-cloud-artifact-registry-v1beta2 Proto library for google-cloud-artifact-registry com.google.cloud google-cloud-artifact-registry-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-asset/google-cloud-asset-bom/pom.xml b/java-asset/google-cloud-asset-bom/pom.xml index 6a09c1e2e566..1d398cad64cd 100644 --- a/java-asset/google-cloud-asset-bom/pom.xml +++ b/java-asset/google-cloud-asset-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-asset-bom - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,57 +24,57 @@ com.google.cloud google-cloud-asset - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-asset-v1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-asset-v1p1beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-asset-v1p2beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-asset-v1p5beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-asset-v1p7beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-asset-v1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-asset-v1p1beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-asset-v1p2beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-asset-v1p5beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-asset-v1p7beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-asset/google-cloud-asset/pom.xml b/java-asset/google-cloud-asset/pom.xml index e7c385e7aba5..fa71fecbc4b6 100644 --- a/java-asset/google-cloud-asset/pom.xml +++ b/java-asset/google-cloud-asset/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-asset - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT jar Google Cloud Asset Java idiomatic client for Google Cloud Asset com.google.cloud google-cloud-asset-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT google-cloud-asset diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/Version.java b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/Version.java index cee49a319c4a..3b3121c571ca 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/Version.java +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-asset:current} - static final String VERSION = "3.99.0-SNAPSHOT"; + static final String VERSION = "3.100.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p1beta1/stub/Version.java b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p1beta1/stub/Version.java index 580118da962e..994c20fb398b 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p1beta1/stub/Version.java +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-asset:current} - static final String VERSION = "3.99.0-SNAPSHOT"; + static final String VERSION = "3.100.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p2beta1/stub/Version.java b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p2beta1/stub/Version.java index 479e3f6af8dc..1bdef2febdda 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p2beta1/stub/Version.java +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p2beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-asset:current} - static final String VERSION = "3.99.0-SNAPSHOT"; + static final String VERSION = "3.100.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p5beta1/stub/Version.java b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p5beta1/stub/Version.java index c5bc68a472ed..ef669c051f68 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p5beta1/stub/Version.java +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p5beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-asset:current} - static final String VERSION = "3.99.0-SNAPSHOT"; + static final String VERSION = "3.100.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p7beta1/stub/Version.java b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p7beta1/stub/Version.java index 370baac286fb..2e9c7abc3a72 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p7beta1/stub/Version.java +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p7beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-asset:current} - static final String VERSION = "3.99.0-SNAPSHOT"; + static final String VERSION = "3.100.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-asset/grpc-google-cloud-asset-v1/pom.xml b/java-asset/grpc-google-cloud-asset-v1/pom.xml index afe48cc5517d..e691616956cd 100644 --- a/java-asset/grpc-google-cloud-asset-v1/pom.xml +++ b/java-asset/grpc-google-cloud-asset-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-asset-v1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT grpc-google-cloud-asset-v1 GRPC library for grpc-google-cloud-asset-v1 com.google.cloud google-cloud-asset-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-asset/grpc-google-cloud-asset-v1p1beta1/pom.xml b/java-asset/grpc-google-cloud-asset-v1p1beta1/pom.xml index 0ded2ab345f2..a79f190514ce 100644 --- a/java-asset/grpc-google-cloud-asset-v1p1beta1/pom.xml +++ b/java-asset/grpc-google-cloud-asset-v1p1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-asset-v1p1beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT grpc-google-cloud-asset-v1p1beta1 GRPC library for grpc-google-cloud-asset-v1p1beta1 com.google.cloud google-cloud-asset-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-asset/grpc-google-cloud-asset-v1p2beta1/pom.xml b/java-asset/grpc-google-cloud-asset-v1p2beta1/pom.xml index 8a8ed53a7451..310c7361b946 100644 --- a/java-asset/grpc-google-cloud-asset-v1p2beta1/pom.xml +++ b/java-asset/grpc-google-cloud-asset-v1p2beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-asset-v1p2beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT grpc-google-cloud-asset-v1p2beta1 GRPC library for grpc-google-cloud-asset-v1p2beta1 com.google.cloud google-cloud-asset-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-asset/grpc-google-cloud-asset-v1p5beta1/pom.xml b/java-asset/grpc-google-cloud-asset-v1p5beta1/pom.xml index 9762bbe8dfdd..eb3e9888616b 100644 --- a/java-asset/grpc-google-cloud-asset-v1p5beta1/pom.xml +++ b/java-asset/grpc-google-cloud-asset-v1p5beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-asset-v1p5beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT grpc-google-cloud-asset-v1p5beta1 GRPC library for grpc-google-cloud-asset-v1p5beta1 com.google.cloud google-cloud-asset-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-asset/grpc-google-cloud-asset-v1p7beta1/pom.xml b/java-asset/grpc-google-cloud-asset-v1p7beta1/pom.xml index 28878270ed56..c42dbc260a28 100644 --- a/java-asset/grpc-google-cloud-asset-v1p7beta1/pom.xml +++ b/java-asset/grpc-google-cloud-asset-v1p7beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-asset-v1p7beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT grpc-google-cloud-asset-v1p7beta1 GRPC library for google-cloud-asset com.google.cloud google-cloud-asset-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-asset/pom.xml b/java-asset/pom.xml index 9fd52d172f4a..1fdde9cf35ea 100644 --- a/java-asset/pom.xml +++ b/java-asset/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-asset-parent pom - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT Google Cloud Asset Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,78 +30,78 @@ com.google.api.grpc proto-google-cloud-asset-v1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-asset-v1p7beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-asset-v1p7beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-asset-v1p1beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-asset-v1p2beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-asset-v1p5beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-asset-v1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-asset-v1p1beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-asset-v1p2beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-asset-v1p5beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.cloud google-cloud-asset - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-orgpolicy-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-identity-accesscontextmanager-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-os-config-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.cloud google-cloud-resourcemanager - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT test diff --git a/java-asset/proto-google-cloud-asset-v1/pom.xml b/java-asset/proto-google-cloud-asset-v1/pom.xml index 0f08778416f5..e7d4a3f82730 100644 --- a/java-asset/proto-google-cloud-asset-v1/pom.xml +++ b/java-asset/proto-google-cloud-asset-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-asset-v1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT proto-google-cloud-asset-v1 PROTO library for proto-google-cloud-asset-v1 com.google.cloud google-cloud-asset-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-asset/proto-google-cloud-asset-v1p1beta1/pom.xml b/java-asset/proto-google-cloud-asset-v1p1beta1/pom.xml index 21882859346e..7517ba2d849e 100644 --- a/java-asset/proto-google-cloud-asset-v1p1beta1/pom.xml +++ b/java-asset/proto-google-cloud-asset-v1p1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-asset-v1p1beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT proto-google-cloud-asset-v1p1beta1 PROTO library for proto-google-cloud-asset-v1p1beta1 com.google.cloud google-cloud-asset-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-asset/proto-google-cloud-asset-v1p2beta1/pom.xml b/java-asset/proto-google-cloud-asset-v1p2beta1/pom.xml index 0271b3bad206..f80af320e89a 100644 --- a/java-asset/proto-google-cloud-asset-v1p2beta1/pom.xml +++ b/java-asset/proto-google-cloud-asset-v1p2beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-asset-v1p2beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT proto-google-cloud-asset-v1p2beta1 PROTO library for proto-google-cloud-asset-v1p2beta1 com.google.cloud google-cloud-asset-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-asset/proto-google-cloud-asset-v1p5beta1/pom.xml b/java-asset/proto-google-cloud-asset-v1p5beta1/pom.xml index cd0db319c1e6..c1801644e2e3 100644 --- a/java-asset/proto-google-cloud-asset-v1p5beta1/pom.xml +++ b/java-asset/proto-google-cloud-asset-v1p5beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-asset-v1p5beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT proto-google-cloud-asset-v1p5beta1 PROTO library for proto-google-cloud-asset-v1p4beta1 com.google.cloud google-cloud-asset-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-asset/proto-google-cloud-asset-v1p7beta1/pom.xml b/java-asset/proto-google-cloud-asset-v1p7beta1/pom.xml index 5a324dcdbfdd..8ce8c6b293c9 100644 --- a/java-asset/proto-google-cloud-asset-v1p7beta1/pom.xml +++ b/java-asset/proto-google-cloud-asset-v1p7beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-asset-v1p7beta1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT proto-google-cloud-asset-v1p7beta1 Proto library for google-cloud-asset com.google.cloud google-cloud-asset-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-assured-workloads/google-cloud-assured-workloads-bom/pom.xml b/java-assured-workloads/google-cloud-assured-workloads-bom/pom.xml index c5382dedec8e..40046c7b528d 100644 --- a/java-assured-workloads/google-cloud-assured-workloads-bom/pom.xml +++ b/java-assured-workloads/google-cloud-assured-workloads-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-assured-workloads-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-assured-workloads - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-assured-workloads-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-assured-workloads-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-assured-workloads-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-assured-workloads-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-assured-workloads/google-cloud-assured-workloads/pom.xml b/java-assured-workloads/google-cloud-assured-workloads/pom.xml index 9a18ef8221e6..0d6570cf0238 100644 --- a/java-assured-workloads/google-cloud-assured-workloads/pom.xml +++ b/java-assured-workloads/google-cloud-assured-workloads/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-assured-workloads - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Assured Workloads for Government allows you to secure your government workloads and accelerate your path to running compliant workloads on Google Cloud with Assured Workloads for Government. com.google.cloud google-cloud-assured-workloads-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-assured-workloads diff --git a/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1/stub/Version.java b/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1/stub/Version.java index e99784460225..622d4b54d914 100644 --- a/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1/stub/Version.java +++ b/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-assured-workloads:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1beta1/stub/Version.java b/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1beta1/stub/Version.java index c9ae678f53bc..3bc2a9412b31 100644 --- a/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1beta1/stub/Version.java +++ b/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-assured-workloads:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-assured-workloads/grpc-google-cloud-assured-workloads-v1/pom.xml b/java-assured-workloads/grpc-google-cloud-assured-workloads-v1/pom.xml index a48fc16fd050..b587893f1310 100644 --- a/java-assured-workloads/grpc-google-cloud-assured-workloads-v1/pom.xml +++ b/java-assured-workloads/grpc-google-cloud-assured-workloads-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-assured-workloads-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-assured-workloads-v1 GRPC library for google-cloud-assured-workloads com.google.cloud google-cloud-assured-workloads-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-assured-workloads/grpc-google-cloud-assured-workloads-v1beta1/pom.xml b/java-assured-workloads/grpc-google-cloud-assured-workloads-v1beta1/pom.xml index 2ecac2d909c0..677e0bcf02f1 100644 --- a/java-assured-workloads/grpc-google-cloud-assured-workloads-v1beta1/pom.xml +++ b/java-assured-workloads/grpc-google-cloud-assured-workloads-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-assured-workloads-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-assured-workloads-v1beta1 GRPC library for google-cloud-assured-workloads com.google.cloud google-cloud-assured-workloads-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-assured-workloads/pom.xml b/java-assured-workloads/pom.xml index 8cb88baf7654..af0ac25454fa 100644 --- a/java-assured-workloads/pom.xml +++ b/java-assured-workloads/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-assured-workloads-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Assured Workloads for Government Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-assured-workloads - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-assured-workloads-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-assured-workloads-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-assured-workloads-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-assured-workloads-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-assured-workloads/proto-google-cloud-assured-workloads-v1/pom.xml b/java-assured-workloads/proto-google-cloud-assured-workloads-v1/pom.xml index edb838a3736f..9b1ab1aa47a6 100644 --- a/java-assured-workloads/proto-google-cloud-assured-workloads-v1/pom.xml +++ b/java-assured-workloads/proto-google-cloud-assured-workloads-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-assured-workloads-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-assured-workloads-v1 Proto library for google-cloud-assured-workloads com.google.cloud google-cloud-assured-workloads-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-assured-workloads/proto-google-cloud-assured-workloads-v1beta1/pom.xml b/java-assured-workloads/proto-google-cloud-assured-workloads-v1beta1/pom.xml index 0f8287000b73..f7c62cb38e6a 100644 --- a/java-assured-workloads/proto-google-cloud-assured-workloads-v1beta1/pom.xml +++ b/java-assured-workloads/proto-google-cloud-assured-workloads-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-assured-workloads-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-assured-workloads-v1beta1 Proto library for google-cloud-assured-workloads com.google.cloud google-cloud-assured-workloads-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-auditmanager/google-cloud-auditmanager-bom/pom.xml b/java-auditmanager/google-cloud-auditmanager-bom/pom.xml index 82ab900aeacd..eccacf84e533 100644 --- a/java-auditmanager/google-cloud-auditmanager-bom/pom.xml +++ b/java-auditmanager/google-cloud-auditmanager-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-auditmanager-bom - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-auditmanager - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-auditmanager-v1 - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT com.google.api.grpc proto-google-cloud-auditmanager-v1 - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT diff --git a/java-auditmanager/google-cloud-auditmanager/pom.xml b/java-auditmanager/google-cloud-auditmanager/pom.xml index a26c8d1d22b9..afac4600fc4d 100644 --- a/java-auditmanager/google-cloud-auditmanager/pom.xml +++ b/java-auditmanager/google-cloud-auditmanager/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-auditmanager - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT jar Google Audit Manager API Audit Manager API Lists information about the supported locations for this service. com.google.cloud google-cloud-auditmanager-parent - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT google-cloud-auditmanager diff --git a/java-auditmanager/google-cloud-auditmanager/src/main/java/com/google/cloud/auditmanager/v1/stub/Version.java b/java-auditmanager/google-cloud-auditmanager/src/main/java/com/google/cloud/auditmanager/v1/stub/Version.java index 9c17f20dd137..df780c9ad668 100644 --- a/java-auditmanager/google-cloud-auditmanager/src/main/java/com/google/cloud/auditmanager/v1/stub/Version.java +++ b/java-auditmanager/google-cloud-auditmanager/src/main/java/com/google/cloud/auditmanager/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-auditmanager:current} - static final String VERSION = "0.13.0-SNAPSHOT"; + static final String VERSION = "0.14.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-auditmanager/grpc-google-cloud-auditmanager-v1/pom.xml b/java-auditmanager/grpc-google-cloud-auditmanager-v1/pom.xml index ca6b82804acd..fa3c25af46d6 100644 --- a/java-auditmanager/grpc-google-cloud-auditmanager-v1/pom.xml +++ b/java-auditmanager/grpc-google-cloud-auditmanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-auditmanager-v1 - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT grpc-google-cloud-auditmanager-v1 GRPC library for google-cloud-auditmanager com.google.cloud google-cloud-auditmanager-parent - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT diff --git a/java-auditmanager/pom.xml b/java-auditmanager/pom.xml index 1a1311ee08ff..a9112d070f61 100644 --- a/java-auditmanager/pom.xml +++ b/java-auditmanager/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-auditmanager-parent pom - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT Google Audit Manager API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-auditmanager - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-auditmanager-v1 - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT com.google.api.grpc proto-google-cloud-auditmanager-v1 - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT diff --git a/java-auditmanager/proto-google-cloud-auditmanager-v1/pom.xml b/java-auditmanager/proto-google-cloud-auditmanager-v1/pom.xml index 6ab1a4807d9d..e8d04702419a 100644 --- a/java-auditmanager/proto-google-cloud-auditmanager-v1/pom.xml +++ b/java-auditmanager/proto-google-cloud-auditmanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-auditmanager-v1 - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT proto-google-cloud-auditmanager-v1 Proto library for google-cloud-auditmanager com.google.cloud google-cloud-auditmanager-parent - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT diff --git a/java-automl/google-cloud-automl-bom/pom.xml b/java-automl/google-cloud-automl-bom/pom.xml index 9df5aeaf1d0d..38d499f251c4 100644 --- a/java-automl/google-cloud-automl-bom/pom.xml +++ b/java-automl/google-cloud-automl-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-automl-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-automl - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-automl-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-automl-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-automl-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-automl-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-automl/google-cloud-automl/pom.xml b/java-automl/google-cloud-automl/pom.xml index 6b9d092099a8..3612c2190f29 100644 --- a/java-automl/google-cloud-automl/pom.xml +++ b/java-automl/google-cloud-automl/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-automl - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Cloud AutoML Java idiomatic client for Google Cloud Auto ML com.google.cloud google-cloud-automl-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-automl diff --git a/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/Version.java b/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/Version.java index 4fb2bb9967a9..85818f7a82f2 100644 --- a/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/Version.java +++ b/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-automl:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1beta1/stub/Version.java b/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1beta1/stub/Version.java index fbd987f227a3..e92936f85e17 100644 --- a/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1beta1/stub/Version.java +++ b/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-automl:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-automl/grpc-google-cloud-automl-v1/pom.xml b/java-automl/grpc-google-cloud-automl-v1/pom.xml index 1a356e59b168..9761768011b5 100644 --- a/java-automl/grpc-google-cloud-automl-v1/pom.xml +++ b/java-automl/grpc-google-cloud-automl-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-automl-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-automl-v1 GRPC library for grpc-google-cloud-automl-v1 com.google.cloud google-cloud-automl-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-automl/grpc-google-cloud-automl-v1beta1/pom.xml b/java-automl/grpc-google-cloud-automl-v1beta1/pom.xml index 6210c9b158f5..5a462fb59166 100644 --- a/java-automl/grpc-google-cloud-automl-v1beta1/pom.xml +++ b/java-automl/grpc-google-cloud-automl-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-automl-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-automl-v1beta1 GRPC library for grpc-google-cloud-automl-v1beta1 com.google.cloud google-cloud-automl-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-automl/pom.xml b/java-automl/pom.xml index 2f00a917379c..93bdf44f5526 100644 --- a/java-automl/pom.xml +++ b/java-automl/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-automl-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud AutoML Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-automl-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-automl-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-automl-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-automl-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.cloud google-cloud-automl - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-automl/proto-google-cloud-automl-v1/pom.xml b/java-automl/proto-google-cloud-automl-v1/pom.xml index 338d959ddb1c..7d9e10a9e250 100644 --- a/java-automl/proto-google-cloud-automl-v1/pom.xml +++ b/java-automl/proto-google-cloud-automl-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-automl-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-automl-v1 PROTO library for proto-google-cloud-automl-v1 com.google.cloud google-cloud-automl-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-automl/proto-google-cloud-automl-v1beta1/pom.xml b/java-automl/proto-google-cloud-automl-v1beta1/pom.xml index 8df492919865..991049976740 100644 --- a/java-automl/proto-google-cloud-automl-v1beta1/pom.xml +++ b/java-automl/proto-google-cloud-automl-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-automl-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-automl-v1beta1 PROTO library for proto-google-cloud-automl-v1beta1 com.google.cloud google-cloud-automl-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-backstory/google-cloud-backstory-bom/pom.xml b/java-backstory/google-cloud-backstory-bom/pom.xml index 98fff0e9b96e..f53a6d18bc77 100644 --- a/java-backstory/google-cloud-backstory-bom/pom.xml +++ b/java-backstory/google-cloud-backstory-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-backstory-bom - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -26,12 +26,12 @@ com.google.cloud google-cloud-backstory - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT com.google.api.grpc proto-google-cloud-backstory - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT diff --git a/java-backstory/google-cloud-backstory/pom.xml b/java-backstory/google-cloud-backstory/pom.xml index 30821a7b289a..82738d387371 100644 --- a/java-backstory/google-cloud-backstory/pom.xml +++ b/java-backstory/google-cloud-backstory/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-backstory - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT jar Google Malachite Common Protos Malachite Common Protos Common Universal Data Model (UDM) and Entity protos used by Chronicle. com.google.cloud google-cloud-backstory-parent - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT google-cloud-backstory diff --git a/java-backstory/pom.xml b/java-backstory/pom.xml index 0f6f097cc40c..cd04f39b07be 100644 --- a/java-backstory/pom.xml +++ b/java-backstory/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-backstory-parent pom - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT Google Malachite Common Protos Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -29,12 +29,12 @@ com.google.cloud google-cloud-backstory - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT com.google.api.grpc proto-google-cloud-backstory - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT diff --git a/java-backstory/proto-google-cloud-backstory/pom.xml b/java-backstory/proto-google-cloud-backstory/pom.xml index 2ce8482fe353..edeb5b4ed951 100644 --- a/java-backstory/proto-google-cloud-backstory/pom.xml +++ b/java-backstory/proto-google-cloud-backstory/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-backstory - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT proto-google-cloud-backstory Proto library for google-cloud-backstory com.google.cloud google-cloud-backstory-parent - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT diff --git a/java-backupdr/google-cloud-backupdr-bom/pom.xml b/java-backupdr/google-cloud-backupdr-bom/pom.xml index 36b0e4ab1cb0..09e249f9a082 100644 --- a/java-backupdr/google-cloud-backupdr-bom/pom.xml +++ b/java-backupdr/google-cloud-backupdr-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-backupdr-bom - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-backupdr - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-backupdr-v1 - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT com.google.api.grpc proto-google-cloud-backupdr-v1 - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT diff --git a/java-backupdr/google-cloud-backupdr/pom.xml b/java-backupdr/google-cloud-backupdr/pom.xml index d5c23c5bd041..7b01c25f267d 100644 --- a/java-backupdr/google-cloud-backupdr/pom.xml +++ b/java-backupdr/google-cloud-backupdr/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-backupdr - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT jar Google Backup and DR Service API Backup and DR Service API Backup and DR Service is a powerful, centralized, cloud-first backup and disaster recovery solution for cloud-based and hybrid workloads. com.google.cloud google-cloud-backupdr-parent - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT google-cloud-backupdr diff --git a/java-backupdr/google-cloud-backupdr/src/main/java/com/google/cloud/backupdr/v1/stub/Version.java b/java-backupdr/google-cloud-backupdr/src/main/java/com/google/cloud/backupdr/v1/stub/Version.java index 8014da6f74e9..ba41e77ba0b0 100644 --- a/java-backupdr/google-cloud-backupdr/src/main/java/com/google/cloud/backupdr/v1/stub/Version.java +++ b/java-backupdr/google-cloud-backupdr/src/main/java/com/google/cloud/backupdr/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-backupdr:current} - static final String VERSION = "0.54.0-SNAPSHOT"; + static final String VERSION = "0.55.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-backupdr/grpc-google-cloud-backupdr-v1/pom.xml b/java-backupdr/grpc-google-cloud-backupdr-v1/pom.xml index 32b08e1f61fd..b3df0428d477 100644 --- a/java-backupdr/grpc-google-cloud-backupdr-v1/pom.xml +++ b/java-backupdr/grpc-google-cloud-backupdr-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-backupdr-v1 - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT grpc-google-cloud-backupdr-v1 GRPC library for google-cloud-backupdr com.google.cloud google-cloud-backupdr-parent - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT diff --git a/java-backupdr/pom.xml b/java-backupdr/pom.xml index fe90e1190197..cc0449727968 100644 --- a/java-backupdr/pom.xml +++ b/java-backupdr/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-backupdr-parent pom - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT Google Backup and DR Service API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-backupdr - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-backupdr-v1 - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT com.google.api.grpc proto-google-cloud-backupdr-v1 - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT diff --git a/java-backupdr/proto-google-cloud-backupdr-v1/pom.xml b/java-backupdr/proto-google-cloud-backupdr-v1/pom.xml index 89d4801cbcdb..16813140ff4f 100644 --- a/java-backupdr/proto-google-cloud-backupdr-v1/pom.xml +++ b/java-backupdr/proto-google-cloud-backupdr-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-backupdr-v1 - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT proto-google-cloud-backupdr-v1 Proto library for google-cloud-backupdr com.google.cloud google-cloud-backupdr-parent - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT diff --git a/java-bare-metal-solution/google-cloud-bare-metal-solution-bom/pom.xml b/java-bare-metal-solution/google-cloud-bare-metal-solution-bom/pom.xml index 7a73f24868b8..39c4d78a137b 100644 --- a/java-bare-metal-solution/google-cloud-bare-metal-solution-bom/pom.xml +++ b/java-bare-metal-solution/google-cloud-bare-metal-solution-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-bare-metal-solution-bom - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-bare-metal-solution - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bare-metal-solution-v2 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bare-metal-solution-v2 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-bare-metal-solution/google-cloud-bare-metal-solution/pom.xml b/java-bare-metal-solution/google-cloud-bare-metal-solution/pom.xml index 69927e61d482..0aa98fdb0ed0 100644 --- a/java-bare-metal-solution/google-cloud-bare-metal-solution/pom.xml +++ b/java-bare-metal-solution/google-cloud-bare-metal-solution/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-bare-metal-solution - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT jar Google Bare Metal SOlution Bare Metal SOlution Bring your Oracle workloads to Google Cloud with Bare Metal Solution and jumpstart your cloud journey with minimal risk. com.google.cloud google-cloud-bare-metal-solution-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT google-cloud-bare-metal-solution diff --git a/java-bare-metal-solution/google-cloud-bare-metal-solution/src/main/java/com/google/cloud/baremetalsolution/v2/stub/Version.java b/java-bare-metal-solution/google-cloud-bare-metal-solution/src/main/java/com/google/cloud/baremetalsolution/v2/stub/Version.java index 5f8efeee8a63..a9191a219aba 100644 --- a/java-bare-metal-solution/google-cloud-bare-metal-solution/src/main/java/com/google/cloud/baremetalsolution/v2/stub/Version.java +++ b/java-bare-metal-solution/google-cloud-bare-metal-solution/src/main/java/com/google/cloud/baremetalsolution/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bare-metal-solution:current} - static final String VERSION = "0.95.0-SNAPSHOT"; + static final String VERSION = "0.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bare-metal-solution/grpc-google-cloud-bare-metal-solution-v2/pom.xml b/java-bare-metal-solution/grpc-google-cloud-bare-metal-solution-v2/pom.xml index b0d9583582df..db287ad95941 100644 --- a/java-bare-metal-solution/grpc-google-cloud-bare-metal-solution-v2/pom.xml +++ b/java-bare-metal-solution/grpc-google-cloud-bare-metal-solution-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bare-metal-solution-v2 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT grpc-google-cloud-bare-metal-solution-v2 GRPC library for google-cloud-bare-metal-solution com.google.cloud google-cloud-bare-metal-solution-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-bare-metal-solution/pom.xml b/java-bare-metal-solution/pom.xml index 62d63bd2eece..d4d2e988ef7b 100644 --- a/java-bare-metal-solution/pom.xml +++ b/java-bare-metal-solution/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-bare-metal-solution-parent pom - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT Google Bare Metal SOlution Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-bare-metal-solution - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bare-metal-solution-v2 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bare-metal-solution-v2 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-bare-metal-solution/proto-google-cloud-bare-metal-solution-v2/pom.xml b/java-bare-metal-solution/proto-google-cloud-bare-metal-solution-v2/pom.xml index d829ccec0485..e375953c2ffc 100644 --- a/java-bare-metal-solution/proto-google-cloud-bare-metal-solution-v2/pom.xml +++ b/java-bare-metal-solution/proto-google-cloud-bare-metal-solution-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bare-metal-solution-v2 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT proto-google-cloud-bare-metal-solution-v2 Proto library for google-cloud-bare-metal-solution com.google.cloud google-cloud-bare-metal-solution-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-batch/google-cloud-batch-bom/pom.xml b/java-batch/google-cloud-batch-bom/pom.xml index 464ec7a3812d..8d5c2e3b579f 100644 --- a/java-batch/google-cloud-batch-bom/pom.xml +++ b/java-batch/google-cloud-batch-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-batch-bom - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-batch - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-batch-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-batch-v1alpha - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-batch-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-batch-v1alpha - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-batch/google-cloud-batch/pom.xml b/java-batch/google-cloud-batch/pom.xml index d627495127f3..9284783c3a2d 100644 --- a/java-batch/google-cloud-batch/pom.xml +++ b/java-batch/google-cloud-batch/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-batch - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT jar Google Google Cloud Batch Google Cloud Batch n/a com.google.cloud google-cloud-batch-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT google-cloud-batch diff --git a/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1/stub/Version.java b/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1/stub/Version.java index f45c60221389..559083fcf5fc 100644 --- a/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1/stub/Version.java +++ b/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-batch:current} - static final String VERSION = "0.95.0-SNAPSHOT"; + static final String VERSION = "0.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1alpha/stub/Version.java b/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1alpha/stub/Version.java index 6349902bd604..d675b3d1afa7 100644 --- a/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1alpha/stub/Version.java +++ b/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-batch:current} - static final String VERSION = "0.95.0-SNAPSHOT"; + static final String VERSION = "0.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-batch/grpc-google-cloud-batch-v1/pom.xml b/java-batch/grpc-google-cloud-batch-v1/pom.xml index 021fa23aba39..4fde68a22c25 100644 --- a/java-batch/grpc-google-cloud-batch-v1/pom.xml +++ b/java-batch/grpc-google-cloud-batch-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-batch-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT grpc-google-cloud-batch-v1 GRPC library for google-cloud-batch com.google.cloud google-cloud-batch-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-batch/grpc-google-cloud-batch-v1alpha/pom.xml b/java-batch/grpc-google-cloud-batch-v1alpha/pom.xml index 8cc46601c900..24faefa70296 100644 --- a/java-batch/grpc-google-cloud-batch-v1alpha/pom.xml +++ b/java-batch/grpc-google-cloud-batch-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-batch-v1alpha - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT grpc-google-cloud-batch-v1alpha GRPC library for google-cloud-batch com.google.cloud google-cloud-batch-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-batch/pom.xml b/java-batch/pom.xml index 02dc9b4c34d5..a8e0ae334ae4 100644 --- a/java-batch/pom.xml +++ b/java-batch/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-batch-parent pom - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT Google Google Cloud Batch Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-batch - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-batch-v1alpha - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-batch-v1alpha - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-batch-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-batch-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-batch/proto-google-cloud-batch-v1/pom.xml b/java-batch/proto-google-cloud-batch-v1/pom.xml index e706665c3c7e..2706465f26de 100644 --- a/java-batch/proto-google-cloud-batch-v1/pom.xml +++ b/java-batch/proto-google-cloud-batch-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-batch-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT proto-google-cloud-batch-v1 Proto library for google-cloud-batch com.google.cloud google-cloud-batch-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-batch/proto-google-cloud-batch-v1alpha/pom.xml b/java-batch/proto-google-cloud-batch-v1alpha/pom.xml index 5e23c121a5fb..e117c63359eb 100644 --- a/java-batch/proto-google-cloud-batch-v1alpha/pom.xml +++ b/java-batch/proto-google-cloud-batch-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-batch-v1alpha - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT proto-google-cloud-batch-v1alpha Proto library for google-cloud-batch com.google.cloud google-cloud-batch-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections-bom/pom.xml b/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections-bom/pom.xml index 6c291ab75c6b..e0567fe4c3e2 100644 --- a/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections-bom/pom.xml +++ b/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-appconnections-bom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-beyondcorp-appconnections - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-beyondcorp-appconnections-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-beyondcorp-appconnections-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/pom.xml b/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/pom.xml index fd7f945934e1..1d7c39a3408c 100644 --- a/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/pom.xml +++ b/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-appconnections - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT jar Google BeyondCorp AppConnections BeyondCorp AppConnections is Google's implementation of the zero trust model. It builds upon a decade of experience at Google, combined with ideas and best practices from the community. By shifting access controls from the network perimeter to individual users, BeyondCorp enables secure work from virtually any location without the need for a traditional VPN. com.google.cloud google-cloud-beyondcorp-appconnections-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT google-cloud-beyondcorp-appconnections diff --git a/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/src/main/java/com/google/cloud/beyondcorp/appconnections/v1/stub/Version.java b/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/src/main/java/com/google/cloud/beyondcorp/appconnections/v1/stub/Version.java index 9f874f282eb3..6d2a04ad679a 100644 --- a/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/src/main/java/com/google/cloud/beyondcorp/appconnections/v1/stub/Version.java +++ b/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/src/main/java/com/google/cloud/beyondcorp/appconnections/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-beyondcorp-appconnections:current} - static final String VERSION = "0.93.0-SNAPSHOT"; + static final String VERSION = "0.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-beyondcorp-appconnections/grpc-google-cloud-beyondcorp-appconnections-v1/pom.xml b/java-beyondcorp-appconnections/grpc-google-cloud-beyondcorp-appconnections-v1/pom.xml index b162f3deea2c..ef0ad45a0f90 100644 --- a/java-beyondcorp-appconnections/grpc-google-cloud-beyondcorp-appconnections-v1/pom.xml +++ b/java-beyondcorp-appconnections/grpc-google-cloud-beyondcorp-appconnections-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-beyondcorp-appconnections-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT grpc-google-cloud-beyondcorp-appconnections-v1 GRPC library for google-cloud-beyondcorp-appconnections com.google.cloud google-cloud-beyondcorp-appconnections-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-appconnections/pom.xml b/java-beyondcorp-appconnections/pom.xml index fa4f19ea2768..32d9850ff67c 100644 --- a/java-beyondcorp-appconnections/pom.xml +++ b/java-beyondcorp-appconnections/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-beyondcorp-appconnections-parent pom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT Google BeyondCorp AppConnections Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-beyondcorp-appconnections - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-beyondcorp-appconnections-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-beyondcorp-appconnections-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-appconnections/proto-google-cloud-beyondcorp-appconnections-v1/pom.xml b/java-beyondcorp-appconnections/proto-google-cloud-beyondcorp-appconnections-v1/pom.xml index 5176bf3cce11..bd0473859a2f 100644 --- a/java-beyondcorp-appconnections/proto-google-cloud-beyondcorp-appconnections-v1/pom.xml +++ b/java-beyondcorp-appconnections/proto-google-cloud-beyondcorp-appconnections-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-beyondcorp-appconnections-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT proto-google-cloud-beyondcorp-appconnections-v1 Proto library for google-cloud-beyondcorp-appconnections com.google.cloud google-cloud-beyondcorp-appconnections-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors-bom/pom.xml b/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors-bom/pom.xml index 34b0ab525def..0361e9780ca1 100644 --- a/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors-bom/pom.xml +++ b/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-appconnectors-bom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-beyondcorp-appconnectors - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-beyondcorp-appconnectors-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-beyondcorp-appconnectors-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/pom.xml b/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/pom.xml index bf5a21f38213..555309a19797 100644 --- a/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/pom.xml +++ b/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-appconnectors - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT jar Google BeyondCorp AppConnectors BeyondCorp AppConnectors provides methods to manage (create/read/update/delete) BeyondCorp AppConnectors. com.google.cloud google-cloud-beyondcorp-appconnectors-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT google-cloud-beyondcorp-appconnectors diff --git a/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/src/main/java/com/google/cloud/beyondcorp/appconnectors/v1/stub/Version.java b/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/src/main/java/com/google/cloud/beyondcorp/appconnectors/v1/stub/Version.java index 806c35d59e76..64727d59fd24 100644 --- a/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/src/main/java/com/google/cloud/beyondcorp/appconnectors/v1/stub/Version.java +++ b/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/src/main/java/com/google/cloud/beyondcorp/appconnectors/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-beyondcorp-appconnectors:current} - static final String VERSION = "0.93.0-SNAPSHOT"; + static final String VERSION = "0.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-beyondcorp-appconnectors/grpc-google-cloud-beyondcorp-appconnectors-v1/pom.xml b/java-beyondcorp-appconnectors/grpc-google-cloud-beyondcorp-appconnectors-v1/pom.xml index 0de623867268..2bcbf29545e8 100644 --- a/java-beyondcorp-appconnectors/grpc-google-cloud-beyondcorp-appconnectors-v1/pom.xml +++ b/java-beyondcorp-appconnectors/grpc-google-cloud-beyondcorp-appconnectors-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-beyondcorp-appconnectors-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT grpc-google-cloud-beyondcorp-appconnectors-v1 GRPC library for google-cloud-beyondcorp-appconnectors com.google.cloud google-cloud-beyondcorp-appconnectors-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-appconnectors/pom.xml b/java-beyondcorp-appconnectors/pom.xml index 8b86734eba6a..e000f305482c 100644 --- a/java-beyondcorp-appconnectors/pom.xml +++ b/java-beyondcorp-appconnectors/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-beyondcorp-appconnectors-parent pom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT Google BeyondCorp AppConnectors Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-beyondcorp-appconnectors - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-beyondcorp-appconnectors-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-beyondcorp-appconnectors-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-appconnectors/proto-google-cloud-beyondcorp-appconnectors-v1/pom.xml b/java-beyondcorp-appconnectors/proto-google-cloud-beyondcorp-appconnectors-v1/pom.xml index 24bbbd196957..3afbe84df39c 100644 --- a/java-beyondcorp-appconnectors/proto-google-cloud-beyondcorp-appconnectors-v1/pom.xml +++ b/java-beyondcorp-appconnectors/proto-google-cloud-beyondcorp-appconnectors-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-beyondcorp-appconnectors-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT proto-google-cloud-beyondcorp-appconnectors-v1 Proto library for google-cloud-beyondcorp-appconnectors com.google.cloud google-cloud-beyondcorp-appconnectors-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways-bom/pom.xml b/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways-bom/pom.xml index fe4d6f97f72b..054946eb051c 100644 --- a/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways-bom/pom.xml +++ b/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-appgateways-bom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-beyondcorp-appgateways - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-beyondcorp-appgateways-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-beyondcorp-appgateways-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/pom.xml b/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/pom.xml index 96e3660f5954..745855be70da 100644 --- a/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/pom.xml +++ b/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-appgateways - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT jar Google BeyondCorp AppGateways BeyondCorp AppGateways A zero trust solution that enables secure access to applications and resources, and offers integrated threat and data protection. com.google.cloud google-cloud-beyondcorp-appgateways-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT google-cloud-beyondcorp-appgateways diff --git a/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/src/main/java/com/google/cloud/beyondcorp/appgateways/v1/stub/Version.java b/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/src/main/java/com/google/cloud/beyondcorp/appgateways/v1/stub/Version.java index b13c328892b8..26fdc0bed628 100644 --- a/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/src/main/java/com/google/cloud/beyondcorp/appgateways/v1/stub/Version.java +++ b/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/src/main/java/com/google/cloud/beyondcorp/appgateways/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-beyondcorp-appgateways:current} - static final String VERSION = "0.93.0-SNAPSHOT"; + static final String VERSION = "0.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-beyondcorp-appgateways/grpc-google-cloud-beyondcorp-appgateways-v1/pom.xml b/java-beyondcorp-appgateways/grpc-google-cloud-beyondcorp-appgateways-v1/pom.xml index 665808cece23..470a686d2453 100644 --- a/java-beyondcorp-appgateways/grpc-google-cloud-beyondcorp-appgateways-v1/pom.xml +++ b/java-beyondcorp-appgateways/grpc-google-cloud-beyondcorp-appgateways-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-beyondcorp-appgateways-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT grpc-google-cloud-beyondcorp-appgateways-v1 GRPC library for google-cloud-beyondcorp-appgateways com.google.cloud google-cloud-beyondcorp-appgateways-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-appgateways/pom.xml b/java-beyondcorp-appgateways/pom.xml index 78fc9e3074cf..e781ca911afb 100644 --- a/java-beyondcorp-appgateways/pom.xml +++ b/java-beyondcorp-appgateways/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-beyondcorp-appgateways-parent pom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT Google BeyondCorp AppGateways Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-beyondcorp-appgateways - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-beyondcorp-appgateways-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-beyondcorp-appgateways-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-appgateways/proto-google-cloud-beyondcorp-appgateways-v1/pom.xml b/java-beyondcorp-appgateways/proto-google-cloud-beyondcorp-appgateways-v1/pom.xml index 2b853bd21fb3..a95cf12def1e 100644 --- a/java-beyondcorp-appgateways/proto-google-cloud-beyondcorp-appgateways-v1/pom.xml +++ b/java-beyondcorp-appgateways/proto-google-cloud-beyondcorp-appgateways-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-beyondcorp-appgateways-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT proto-google-cloud-beyondcorp-appgateways-v1 Proto library for google-cloud-beyondcorp-appgateways com.google.cloud google-cloud-beyondcorp-appgateways-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices-bom/pom.xml b/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices-bom/pom.xml index 565e37b08b44..d79e838ea01b 100644 --- a/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices-bom/pom.xml +++ b/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-clientconnectorservices-bom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-beyondcorp-clientconnectorservices - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-beyondcorp-clientconnectorservices-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-beyondcorp-clientconnectorservices-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/pom.xml b/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/pom.xml index 52e506d15c0d..3c84bb148618 100644 --- a/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/pom.xml +++ b/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-clientconnectorservices - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT jar Google BeyondCorp ClientConnectorServices BeyondCorp ClientConnectorServices A zero trust solution that enables secure access to applications and resources, and offers integrated threat and data protection. com.google.cloud google-cloud-beyondcorp-clientconnectorservices-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT google-cloud-beyondcorp-clientconnectorservices diff --git a/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/src/main/java/com/google/cloud/beyondcorp/clientconnectorservices/v1/stub/Version.java b/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/src/main/java/com/google/cloud/beyondcorp/clientconnectorservices/v1/stub/Version.java index 6cfeeb107ee3..c3f562aec328 100644 --- a/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/src/main/java/com/google/cloud/beyondcorp/clientconnectorservices/v1/stub/Version.java +++ b/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/src/main/java/com/google/cloud/beyondcorp/clientconnectorservices/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-beyondcorp-clientconnectorservices:current} - static final String VERSION = "0.93.0-SNAPSHOT"; + static final String VERSION = "0.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-beyondcorp-clientconnectorservices/grpc-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml b/java-beyondcorp-clientconnectorservices/grpc-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml index 32227eb71b2d..2b4ad3ae08c9 100644 --- a/java-beyondcorp-clientconnectorservices/grpc-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml +++ b/java-beyondcorp-clientconnectorservices/grpc-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-beyondcorp-clientconnectorservices-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT grpc-google-cloud-beyondcorp-clientconnectorservices-v1 GRPC library for google-cloud-beyondcorp-clientconnectorservices com.google.cloud google-cloud-beyondcorp-clientconnectorservices-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-clientconnectorservices/pom.xml b/java-beyondcorp-clientconnectorservices/pom.xml index 5ab0b9f2808e..2e03869c0018 100644 --- a/java-beyondcorp-clientconnectorservices/pom.xml +++ b/java-beyondcorp-clientconnectorservices/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-beyondcorp-clientconnectorservices-parent pom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT Google BeyondCorp ClientConnectorServices Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-beyondcorp-clientconnectorservices - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-beyondcorp-clientconnectorservices-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-beyondcorp-clientconnectorservices-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-clientconnectorservices/proto-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml b/java-beyondcorp-clientconnectorservices/proto-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml index 7ec913a8e232..fb3895dc6b3d 100644 --- a/java-beyondcorp-clientconnectorservices/proto-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml +++ b/java-beyondcorp-clientconnectorservices/proto-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-beyondcorp-clientconnectorservices-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT proto-google-cloud-beyondcorp-clientconnectorservices-v1 Proto library for google-cloud-beyondcorp-clientconnectorservices com.google.cloud google-cloud-beyondcorp-clientconnectorservices-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways-bom/pom.xml b/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways-bom/pom.xml index c1332bdbfa93..cf947757aa64 100644 --- a/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways-bom/pom.xml +++ b/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-clientgateways-bom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-beyondcorp-clientgateways - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-beyondcorp-clientgateways-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-beyondcorp-clientgateways-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/pom.xml b/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/pom.xml index 2b2566d94dcb..2d5346e12962 100644 --- a/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/pom.xml +++ b/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-clientgateways - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT jar Google BeyondCorp ClientGateways BeyondCorp ClientGateways A zero trust solution that enables secure access to applications and resources, and offers integrated threat and data protection. com.google.cloud google-cloud-beyondcorp-clientgateways-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT google-cloud-beyondcorp-clientgateways diff --git a/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/src/main/java/com/google/cloud/beyondcorp/clientgateways/v1/stub/Version.java b/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/src/main/java/com/google/cloud/beyondcorp/clientgateways/v1/stub/Version.java index ddd20c2130df..7f9506fa40de 100644 --- a/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/src/main/java/com/google/cloud/beyondcorp/clientgateways/v1/stub/Version.java +++ b/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/src/main/java/com/google/cloud/beyondcorp/clientgateways/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-beyondcorp-clientgateways:current} - static final String VERSION = "0.93.0-SNAPSHOT"; + static final String VERSION = "0.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-beyondcorp-clientgateways/grpc-google-cloud-beyondcorp-clientgateways-v1/pom.xml b/java-beyondcorp-clientgateways/grpc-google-cloud-beyondcorp-clientgateways-v1/pom.xml index b753a609bddf..65199da91293 100644 --- a/java-beyondcorp-clientgateways/grpc-google-cloud-beyondcorp-clientgateways-v1/pom.xml +++ b/java-beyondcorp-clientgateways/grpc-google-cloud-beyondcorp-clientgateways-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-beyondcorp-clientgateways-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT grpc-google-cloud-beyondcorp-clientgateways-v1 GRPC library for google-cloud-beyondcorp-clientgateways com.google.cloud google-cloud-beyondcorp-clientgateways-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-clientgateways/pom.xml b/java-beyondcorp-clientgateways/pom.xml index 060c1a07c343..309f066d17bf 100644 --- a/java-beyondcorp-clientgateways/pom.xml +++ b/java-beyondcorp-clientgateways/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-beyondcorp-clientgateways-parent pom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT Google BeyondCorp ClientGateways Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-beyondcorp-clientgateways - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-beyondcorp-clientgateways-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-beyondcorp-clientgateways-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-beyondcorp-clientgateways/proto-google-cloud-beyondcorp-clientgateways-v1/pom.xml b/java-beyondcorp-clientgateways/proto-google-cloud-beyondcorp-clientgateways-v1/pom.xml index 5e77ca98fbe7..fe2c6610c3f5 100644 --- a/java-beyondcorp-clientgateways/proto-google-cloud-beyondcorp-clientgateways-v1/pom.xml +++ b/java-beyondcorp-clientgateways/proto-google-cloud-beyondcorp-clientgateways-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-beyondcorp-clientgateways-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT proto-google-cloud-beyondcorp-clientgateways-v1 Proto library for google-cloud-beyondcorp-clientgateways com.google.cloud google-cloud-beyondcorp-clientgateways-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-biglake/google-cloud-biglake-bom/pom.xml b/java-biglake/google-cloud-biglake-bom/pom.xml index 6133fd878ca4..826ff6a6f6d1 100644 --- a/java-biglake/google-cloud-biglake-bom/pom.xml +++ b/java-biglake/google-cloud-biglake-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-biglake-bom - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,37 +28,37 @@ com.google.cloud google-cloud-biglake - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-biglake-v1alpha1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-biglake-v1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-biglake-v1beta - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc proto-google-cloud-biglake-v1alpha1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc proto-google-cloud-biglake-v1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc proto-google-cloud-biglake-v1beta - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT diff --git a/java-biglake/google-cloud-biglake/pom.xml b/java-biglake/google-cloud-biglake/pom.xml index 13b08a04ebb6..59632e075c9b 100644 --- a/java-biglake/google-cloud-biglake/pom.xml +++ b/java-biglake/google-cloud-biglake/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-biglake - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT jar Google BigLake BigLake The BigLake API provides access to BigLake Metastore, a serverless, fully managed, and highly available metastore for open-source data that can be used for querying Apache Iceberg tables in BigQuery. com.google.cloud google-cloud-biglake-parent - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT google-cloud-biglake diff --git a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/hive/v1beta/stub/Version.java b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/hive/v1beta/stub/Version.java index 60b4c58827c6..23f9adfbb6f3 100644 --- a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/hive/v1beta/stub/Version.java +++ b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/hive/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-biglake:current} - static final String VERSION = "0.83.0-SNAPSHOT"; + static final String VERSION = "0.84.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/v1/stub/Version.java b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/v1/stub/Version.java index 7d7a9f09300d..73e38868c148 100644 --- a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/v1/stub/Version.java +++ b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-biglake:current} - static final String VERSION = "0.83.0-SNAPSHOT"; + static final String VERSION = "0.84.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1/stub/Version.java b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1/stub/Version.java index 456fcf8ea32d..b9c9a3b20be7 100644 --- a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1/stub/Version.java +++ b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-biglake:current} - static final String VERSION = "0.83.0-SNAPSHOT"; + static final String VERSION = "0.84.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1alpha1/stub/Version.java b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1alpha1/stub/Version.java index 6eb0e41650e8..d87f32c2869d 100644 --- a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1alpha1/stub/Version.java +++ b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1alpha1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-biglake:current} - static final String VERSION = "0.83.0-SNAPSHOT"; + static final String VERSION = "0.84.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-biglake/grpc-google-cloud-biglake-v1/pom.xml b/java-biglake/grpc-google-cloud-biglake-v1/pom.xml index b9c8e51eb99e..d4ad9dd52d90 100644 --- a/java-biglake/grpc-google-cloud-biglake-v1/pom.xml +++ b/java-biglake/grpc-google-cloud-biglake-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-biglake-v1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT grpc-google-cloud-biglake-v1 GRPC library for google-cloud-biglake com.google.cloud google-cloud-biglake-parent - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT diff --git a/java-biglake/grpc-google-cloud-biglake-v1alpha1/pom.xml b/java-biglake/grpc-google-cloud-biglake-v1alpha1/pom.xml index 3852f97e7ee4..096f1baa21b9 100644 --- a/java-biglake/grpc-google-cloud-biglake-v1alpha1/pom.xml +++ b/java-biglake/grpc-google-cloud-biglake-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-biglake-v1alpha1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT grpc-google-cloud-biglake-v1alpha1 GRPC library for google-cloud-biglake com.google.cloud google-cloud-biglake-parent - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT diff --git a/java-biglake/grpc-google-cloud-biglake-v1beta/pom.xml b/java-biglake/grpc-google-cloud-biglake-v1beta/pom.xml index f0a43dc51ace..eb12384b14ed 100644 --- a/java-biglake/grpc-google-cloud-biglake-v1beta/pom.xml +++ b/java-biglake/grpc-google-cloud-biglake-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-biglake-v1beta - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT grpc-google-cloud-biglake-v1beta GRPC library for google-cloud-biglake com.google.cloud google-cloud-biglake-parent - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT diff --git a/java-biglake/pom.xml b/java-biglake/pom.xml index 4f6582b783f1..d24ea5dba7e1 100644 --- a/java-biglake/pom.xml +++ b/java-biglake/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-biglake-parent pom - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT Google BigLake Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.cloud google-cloud-biglake - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc proto-google-cloud-biglake-v1beta - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-biglake-v1beta - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc proto-google-cloud-biglake-v1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-biglake-v1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-biglake-v1alpha1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc proto-google-cloud-biglake-v1alpha1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT diff --git a/java-biglake/proto-google-cloud-biglake-v1/pom.xml b/java-biglake/proto-google-cloud-biglake-v1/pom.xml index 0532c1b61ac8..c8cc8d98e587 100644 --- a/java-biglake/proto-google-cloud-biglake-v1/pom.xml +++ b/java-biglake/proto-google-cloud-biglake-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-biglake-v1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT proto-google-cloud-biglake-v1 Proto library for google-cloud-biglake com.google.cloud google-cloud-biglake-parent - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT diff --git a/java-biglake/proto-google-cloud-biglake-v1alpha1/pom.xml b/java-biglake/proto-google-cloud-biglake-v1alpha1/pom.xml index e7c14ee7007c..60b3f12cac13 100644 --- a/java-biglake/proto-google-cloud-biglake-v1alpha1/pom.xml +++ b/java-biglake/proto-google-cloud-biglake-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-biglake-v1alpha1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT proto-google-cloud-biglake-v1alpha1 Proto library for google-cloud-biglake com.google.cloud google-cloud-biglake-parent - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT diff --git a/java-biglake/proto-google-cloud-biglake-v1beta/pom.xml b/java-biglake/proto-google-cloud-biglake-v1beta/pom.xml index 582c6e704658..32b90f85cdd6 100644 --- a/java-biglake/proto-google-cloud-biglake-v1beta/pom.xml +++ b/java-biglake/proto-google-cloud-biglake-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-biglake-v1beta - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT proto-google-cloud-biglake-v1beta Proto library for google-cloud-biglake com.google.cloud google-cloud-biglake-parent - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT diff --git a/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange-bom/pom.xml b/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange-bom/pom.xml index 1e58b05ae121..0e28e26d3f20 100644 --- a/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange-bom/pom.xml +++ b/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-bigquery-data-exchange-bom - 2.90.0-SNAPSHOT + 2.91.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-bigquery-data-exchange - 2.90.0-SNAPSHOT + 2.91.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquery-data-exchange-v1beta1 - 2.90.0-SNAPSHOT + 2.91.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquery-data-exchange-v1beta1 - 2.90.0-SNAPSHOT + 2.91.0-SNAPSHOT diff --git a/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/pom.xml b/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/pom.xml index dfaf5fff3140..2978aa5c8081 100644 --- a/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/pom.xml +++ b/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-bigquery-data-exchange - 2.90.0-SNAPSHOT + 2.91.0-SNAPSHOT jar Google Analytics Hub Analytics Hub is a data exchange that allows you to efficiently and securely exchange data assets across organizations to address challenges of data reliability and cost. com.google.cloud google-cloud-bigquery-data-exchange-parent - 2.90.0-SNAPSHOT + 2.91.0-SNAPSHOT google-cloud-bigquery-data-exchange diff --git a/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/src/main/java/com/google/cloud/bigquery/dataexchange/v1beta1/stub/Version.java b/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/src/main/java/com/google/cloud/bigquery/dataexchange/v1beta1/stub/Version.java index 8747fff0d7fc..f7e244b4423f 100644 --- a/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/src/main/java/com/google/cloud/bigquery/dataexchange/v1beta1/stub/Version.java +++ b/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/src/main/java/com/google/cloud/bigquery/dataexchange/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigquery-data-exchange:current} - static final String VERSION = "2.90.0-SNAPSHOT"; + static final String VERSION = "2.91.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigquery-data-exchange/grpc-google-cloud-bigquery-data-exchange-v1beta1/pom.xml b/java-bigquery-data-exchange/grpc-google-cloud-bigquery-data-exchange-v1beta1/pom.xml index fac2a41abcb2..a89543121ff6 100644 --- a/java-bigquery-data-exchange/grpc-google-cloud-bigquery-data-exchange-v1beta1/pom.xml +++ b/java-bigquery-data-exchange/grpc-google-cloud-bigquery-data-exchange-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquery-data-exchange-v1beta1 - 2.90.0-SNAPSHOT + 2.91.0-SNAPSHOT grpc-google-cloud-bigquery-data-exchange-v1beta1 GRPC library for google-cloud-bigquery-data-exchange com.google.cloud google-cloud-bigquery-data-exchange-parent - 2.90.0-SNAPSHOT + 2.91.0-SNAPSHOT diff --git a/java-bigquery-data-exchange/pom.xml b/java-bigquery-data-exchange/pom.xml index 6b8c2b3c0813..b834f0074b70 100644 --- a/java-bigquery-data-exchange/pom.xml +++ b/java-bigquery-data-exchange/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-bigquery-data-exchange-parent pom - 2.90.0-SNAPSHOT + 2.91.0-SNAPSHOT Google Analytics Hub Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-bigquery-data-exchange - 2.90.0-SNAPSHOT + 2.91.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquery-data-exchange-v1beta1 - 2.90.0-SNAPSHOT + 2.91.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquery-data-exchange-v1beta1 - 2.90.0-SNAPSHOT + 2.91.0-SNAPSHOT diff --git a/java-bigquery-data-exchange/proto-google-cloud-bigquery-data-exchange-v1beta1/pom.xml b/java-bigquery-data-exchange/proto-google-cloud-bigquery-data-exchange-v1beta1/pom.xml index 2e5247b07126..bb951c92a856 100644 --- a/java-bigquery-data-exchange/proto-google-cloud-bigquery-data-exchange-v1beta1/pom.xml +++ b/java-bigquery-data-exchange/proto-google-cloud-bigquery-data-exchange-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquery-data-exchange-v1beta1 - 2.90.0-SNAPSHOT + 2.91.0-SNAPSHOT proto-google-cloud-bigquery-data-exchange-v1beta1 Proto library for google-cloud-bigquery-data-exchange com.google.cloud google-cloud-bigquery-data-exchange-parent - 2.90.0-SNAPSHOT + 2.91.0-SNAPSHOT diff --git a/java-bigquery-jdbc/Dockerfile b/java-bigquery-jdbc/Dockerfile index 627acbf4ea92..ba823c891dcb 100644 --- a/java-bigquery-jdbc/Dockerfile +++ b/java-bigquery-jdbc/Dockerfile @@ -14,7 +14,7 @@ RUN bash -c " \ && git clone -b ${BRANCH} --depth 1 --single-branch https://github.com/googleapis/google-cloud-java.git \ && cd /git/google-cloud-java \ && source .kokoro/common.sh \ - && install_modules java-bigquery \ + && install_modules java-bigquery-jdbc \ && rm -rf /git" # This will ensure all deps are present diff --git a/java-bigquery-jdbc/Makefile b/java-bigquery-jdbc/Makefile index d3c1f014eff4..63e7a2e042f4 100644 --- a/java-bigquery-jdbc/Makefile +++ b/java-bigquery-jdbc/Makefile @@ -6,6 +6,10 @@ PACKAGE_DESTINATION=$(PWD)/drivers SRC="$(PWD)" skipSurefire ?= true skipShade ?= true +excludedGroups ?= +comma := , +empty := +space := $(empty) $(empty) JDBC_DRIVER_VERSION = $(shell mvn help:evaluate -Dexpression=project.version -q -DforceStdout) JDBC_JAR = $(PACKAGE_DESTINATION)/google-cloud-bigquery-jdbc-$(JDBC_DRIVER_VERSION)-all.jar @@ -33,10 +37,12 @@ unittest: | -Dclirr.skip=true \ -Denforcer.skip=true \ -Dtest=$(test) \ + -DexcludedGroups="$(excludedGroups)" \ test # Important: By default, this command will skip unittests & uberjar build. # To include unit tests, run: make integration-test skipSurefire=false +# To exclude test tags/groups, run: make integration-test excludedGroups="known_issues" integration-test: mvn -B -ntp \ -Penable-integration-tests \ @@ -47,17 +53,18 @@ integration-test: -Denforcer.skip=true \ -Dit.failIfNoSpecifiedTests=true \ -Dit.test=$(test) \ + -DexcludedGroups="$(excludedGroups)" \ integration-test \ verify unit-test-coverage: - $(MAKE) unittest + $(MAKE) unittest excludedGroups="$(excludedGroups)" mvn -B -ntp jacoco:report BUILD_DIR=$$(mvn -B -ntp help:evaluate -Dexpression=project.build.directory -q -DforceStdout); \ cd $$BUILD_DIR/site && zip -r $$OLDPWD/jacoco-unittests.zip jacoco && cd $$OLDPWD full-coverage: - $(MAKE) integration-test skipSurefire=false test=ITBigQueryJDBCTest,ITNightlyBigQueryTest + $(MAKE) integration-test skipSurefire=false test=ITBigQueryJDBCTest,ITNightlyBigQueryTest excludedGroups="$(excludedGroups)" mvn -B -ntp jacoco:report BUILD_DIR=$$(mvn -B -ntp help:evaluate -Dexpression=project.build.directory -q -DforceStdout); \ cd $$BUILD_DIR/site && zip -r $$OLDPWD/jacoco-full.zip jacoco && cd $$OLDPWD @@ -70,10 +77,10 @@ package: cp target/google-cloud-bigquery-jdbc-*-all.jar $(PACKAGE_DESTINATION)/ build-it-standalone: - mvn -Dmaven.test.skip=true package -f pom-it.xml -Dbigquery-jdbc.version=$(JDBC_DRIVER_VERSION) + mvn clean package -f pom-it.xml -Dmaven.test.skip=true -Dbigquery-jdbc.version=$(JDBC_DRIVER_VERSION) run-it-standalone: - java -cp $(JDBC_JAR):target-it/* org.junit.platform.console.ConsoleLauncher --select-class com.google.cloud.bigquery.jdbc.it.suites.ITDriverAgnosticTests + java -cp "$(JDBC_JAR):target-it/*" org.junit.platform.console.ConsoleLauncher --select-class com.google.cloud.bigquery.jdbc.it.suites.ITDriverAgnosticTests $(foreach tag,$(subst $(comma),$(space),$(excludedGroups)),--exclude-tag $(tag)) # Commands for dockerized environments @@ -143,14 +150,14 @@ docker-package: docker-build cp --no-preserve=ownership /mvn/test-target/google-cloud-bigquery-jdbc-*-all.jar /pkg " docker-unittest: | - $(MAKE) .docker-run args="make unittest test=$(test)" + $(MAKE) .docker-run args="make unittest test=$(test) excludedGroups='$(excludedGroups)'" docker-integration-test: .check-env - $(MAKE) .docker-run args="make integration-test test=$(test) skipSurefire=$(skipSurefire)" + $(MAKE) .docker-run args="make integration-test test=$(test) skipSurefire=$(skipSurefire) excludedGroups='$(excludedGroups)'" docker-proxy-integration-test: .check-env docker-proxy-build $(MAKE) docker-integration-test CONTAINER_NAME=$(PROXY_CONTAINER_NAME) BIGQUERY_URL_FLAGS="ProxyHost=127.0.0.1;ProxyPort=3128;" docker-coverage: - $(MAKE) .docker-run args="make unit-test-coverage" - $(MAKE) .docker-run args="make full-coverage" + $(MAKE) .docker-run args="make unit-test-coverage excludedGroups='$(excludedGroups)'" + $(MAKE) .docker-run args="make full-coverage excludedGroups='$(excludedGroups)'" \ No newline at end of file diff --git a/java-bigquery-jdbc/pom.xml b/java-bigquery-jdbc/pom.xml index 764b9111f69a..c3b049c596e4 100644 --- a/java-bigquery-jdbc/pom.xml +++ b/java-bigquery-jdbc/pom.xml @@ -20,7 +20,7 @@ 4.0.0 com.google.cloud google-cloud-bigquery-jdbc - 1.2.0-SNAPSHOT + 1.3.0-SNAPSHOT jar BigQuery JDBC https://github.com/googleapis/google-cloud-java @@ -229,7 +229,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -237,17 +237,17 @@ com.google.cloud google-cloud-bigquery - 2.69.0-SNAPSHOT + 2.70.0-SNAPSHOT com.google.cloud google-cloud-bigquerystorage - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.cloud google-cloud-logging - 3.32.0 + 3.37.0-SNAPSHOT com.google.http-client @@ -280,7 +280,7 @@ com.google.api.grpc proto-google-cloud-bigquerystorage-v1 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT @@ -456,7 +456,7 @@ com.google.cloud google-cloud-trace - 2.92.0 + 2.96.0-SNAPSHOT test diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaData.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaData.java index 2cbad20c3bc3..911e5cd8654d 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaData.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaData.java @@ -21,10 +21,8 @@ import com.google.cloud.bigquery.BigQuery; import com.google.cloud.bigquery.BigQuery.DatasetListOption; import com.google.cloud.bigquery.BigQuery.RoutineField; -import com.google.cloud.bigquery.BigQuery.RoutineListOption; import com.google.cloud.bigquery.BigQuery.RoutineOption; import com.google.cloud.bigquery.BigQuery.TableField; -import com.google.cloud.bigquery.BigQuery.TableListOption; import com.google.cloud.bigquery.BigQuery.TableOption; import com.google.cloud.bigquery.BigQueryException; import com.google.cloud.bigquery.ColumnReference; @@ -774,124 +772,54 @@ public boolean dataDefinitionIgnoredInTransactions() { } @Override - public ResultSet getProcedures( - String catalog, String schemaPattern, String procedureNamePattern) { + public ResultSet getProcedures(String catalog, String schemaPattern, String procedureNamePattern) + throws SQLException { + LOG.info( + "getProcedures called for catalog: %s, schemaPattern: %s, procedureNamePattern: %s", + catalog, schemaPattern, procedureNamePattern); + if ((catalog != null && catalog.isEmpty()) || (schemaPattern != null && schemaPattern.isEmpty()) || (procedureNamePattern != null && procedureNamePattern.isEmpty())) { - LOG.warning("Returning empty ResultSet as catalog is empty or a pattern is empty."); + LOG.warning( + "Returning empty ResultSet as one or more patterns are empty or catalog is empty."); return new BigQueryJsonResultSet(); } - LOG.info( - "getProcedures called for catalog: %s, schemaPattern: %s, procedureNamePattern: %s", - catalog, schemaPattern, procedureNamePattern); - - final Pattern schemaRegex = compileSqlLikePattern(schemaPattern); - final Pattern procedureNameRegex = compileSqlLikePattern(procedureNamePattern); final Schema resultSchema = defineGetProceduresSchema(); final FieldList resultSchemaFields = resultSchema.getFields(); - final BlockingQueue queue = - new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); - final List collectedResults = Collections.synchronizedList(new ArrayList<>()); - final String catalogParam = catalog; - - Runnable procedureFetcher = - () -> { - ExecutorService apiExecutor = null; - final FieldList localResultSchemaFields = resultSchemaFields; - final List>> apiFutures = new ArrayList<>(); - - try { - List datasetsToScan = - fetchMatchingDatasets(catalogParam, schemaPattern, schemaRegex); - - if (datasetsToScan.isEmpty()) { - LOG.info("Fetcher thread found no matching datasets. Finishing."); - return; - } - - apiExecutor = connection.getMetadataExecutor(); + List targetDatasets = getTargetDatasets(catalog, schemaPattern); - LOG.fine("Submitting parallel findMatchingRoutines tasks..."); - for (Dataset dataset : datasetsToScan) { - if (Thread.currentThread().isInterrupted()) { - LOG.warning("Fetcher interrupted during dataset iteration submission."); - break; - } - - final DatasetId currentDatasetId = dataset.getDatasetId(); - Callable> apiCallable = - () -> - findMatchingBigQueryObjects( - "Routine", - () -> - bigquery.listRoutines( - currentDatasetId, RoutineListOption.pageSize(DEFAULT_PAGE_SIZE)), - (name) -> - bigquery.getRoutine( - RoutineId.of( - currentDatasetId.getProject(), - currentDatasetId.getDataset(), - name)), - (rt) -> rt.getRoutineId().getRoutine(), - procedureNamePattern, - procedureNameRegex, - false); - Future> apiFuture = - apiExecutor.submit(Context.current().wrap(apiCallable)); - apiFutures.add(apiFuture); - } - LOG.fine("Finished submitting " + apiFutures.size() + " findMatchingRoutines tasks."); - - LOG.fine("Processing results from findMatchingRoutines tasks..."); - for (Future> apiFuture : apiFutures) { - if (Thread.currentThread().isInterrupted()) { - LOG.warning("Fetcher interrupted while processing API futures."); - break; - } - try { - List routinesResult = apiFuture.get(); - if (routinesResult != null) { - for (Routine routine : routinesResult) { - if (Thread.currentThread().isInterrupted()) break; - - if ("PROCEDURE".equalsIgnoreCase(routine.getRoutineType())) { - LOG.fine("Processing procedure sequentially: " + routine.getRoutineId()); - processProcedureInfo(routine, collectedResults, localResultSchemaFields); - } else { - LOG.finer("Skipping non-procedure routine: " + routine.getRoutineId()); + BlockingQueue queue = + fetchAndPopulateQueue( + () -> { + final List collectedResults = + Collections.synchronizedList(new ArrayList<>()); + processTargetRoutinesConcurrently( + targetDatasets, + procedureNamePattern, + true, + true, + collectedResults, + resultSchemaFields, + (routine, results, fields) -> { + if (!"PROCEDURE".equalsIgnoreCase(routine.getRoutineType())) { + return; } - } - } - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - LOG.warning("Fetcher thread interrupted while waiting for API future result."); - break; - } catch (CancellationException e) { - LOG.warning("A findMatchingRoutines task was cancelled."); - } - } - - Comparator comparator = - defineGetProceduresComparator(localResultSchemaFields); - sortResults(collectedResults, comparator, "getProcedures", LOG); - populateQueue(collectedResults, queue, localResultSchemaFields); - - } catch (Throwable t) { - handleFetcherException(t, queue, "getProcedures"); - } finally { - apiFutures.forEach(f -> f.cancel(true)); - finalizeFetcher(queue, localResultSchemaFields, "Procedure fetcher"); - } - }; - - Future fetcherFuture = connection.getExecutorService().submit(procedureFetcher); - BigQueryJsonResultSet resultSet = - BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); - - LOG.info("Submitted background task for getProcedures to metadata executor"); - return resultSet; + processProcedureInfo(routine, results, fields); + }, + RoutineOption.fields( + RoutineField.ROUTINE_REFERENCE, + RoutineField.ARGUMENTS, + RoutineField.ROUTINE_TYPE)); + + Comparator comparator = + defineGetProceduresComparator(resultSchemaFields); + sortResults(collectedResults, comparator, "getProcedures", LOG); + return collectedResults; + }, + resultSchemaFields); + return BigQueryJsonResultSet.of(resultSchema, -1, queue, null); } Schema defineGetProceduresSchema() { @@ -1003,276 +931,56 @@ Comparator defineGetProceduresComparator(FieldList resultSchemaF @Override public ResultSet getProcedureColumns( - String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) { + String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) + throws SQLException { + LOG.info( + "getProcedureColumns called for catalog: %s, schemaPattern: %s, procedureNamePattern: %s, columnNamePattern: %s", + catalog, schemaPattern, procedureNamePattern, columnNamePattern); - if (catalog != null && catalog.isEmpty()) { - LOG.warning("Returning empty ResultSet because catalog (project) is empty."); - return new BigQueryJsonResultSet(); - } - if ((schemaPattern != null && schemaPattern.isEmpty()) + if ((catalog != null && catalog.isEmpty()) + || (schemaPattern != null && schemaPattern.isEmpty()) || (procedureNamePattern != null && procedureNamePattern.isEmpty()) || (columnNamePattern != null && columnNamePattern.isEmpty())) { - LOG.warning("Returning empty ResultSet because an explicit empty pattern was provided."); + LOG.warning( + "Returning empty ResultSet as one or more patterns are empty or catalog is empty."); return new BigQueryJsonResultSet(); } - LOG.info( - "getProcedureColumns called for catalog: %s, schemaPattern: %s, procedureNamePattern:" - + " %s, columnNamePattern: %s", - catalog, schemaPattern, procedureNamePattern, columnNamePattern); - - final Pattern schemaRegex = compileSqlLikePattern(schemaPattern); - final Pattern procedureNameRegex = compileSqlLikePattern(procedureNamePattern); - final Pattern columnNameRegex = compileSqlLikePattern(columnNamePattern); - final Schema resultSchema = defineGetProcedureColumnsSchema(); - final BlockingQueue queue = - new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); - final List collectedResults = Collections.synchronizedList(new ArrayList<>()); - final String catalogParam = catalog; - - Runnable procedureColumnFetcher = - () -> { - ExecutorService listRoutinesExecutor = null; - ExecutorService getRoutineDetailsExecutor = null; - - try { - List datasetsToScan = - fetchMatchingDatasets(catalogParam, schemaPattern, schemaRegex); - if (datasetsToScan.isEmpty() || Thread.currentThread().isInterrupted()) { - LOG.info( - "Fetcher: No matching datasets or interrupted early. Catalog: " + catalogParam); - return; - } - - listRoutinesExecutor = connection.getMetadataExecutor(); - List procedureIdsToGet = - listMatchingProcedureIdsFromDatasets( - datasetsToScan, - procedureNamePattern, - procedureNameRegex, - listRoutinesExecutor, - catalogParam, - LOG); - listRoutinesExecutor = null; - - if (procedureIdsToGet.isEmpty() || Thread.currentThread().isInterrupted()) { - LOG.info("Fetcher: No procedure IDs found or interrupted. Catalog: " + catalogParam); - return; - } - - getRoutineDetailsExecutor = connection.getMetadataExecutor(); - List fullRoutines = - fetchFullRoutineDetailsForIds( - procedureIdsToGet, - getRoutineDetailsExecutor, - LOG, - RoutineOption.fields( - RoutineField.ROUTINE_REFERENCE, - RoutineField.ARGUMENTS, - RoutineField.ROUTINE_TYPE)); - getRoutineDetailsExecutor = null; - - if (fullRoutines.isEmpty() || Thread.currentThread().isInterrupted()) { - LOG.info( - "Fetcher: No full routines fetched or interrupted. Catalog: " + catalogParam); - return; - } - - processProcedureArgumentsSequentially( - fullRoutines, columnNameRegex, collectedResults, resultSchema.getFields(), LOG); - - Comparator comparator = - defineGetProcedureColumnsComparator(resultSchema.getFields()); - sortResults(collectedResults, comparator, "getProcedureColumns", LOG); - populateQueue(collectedResults, queue, resultSchema.getFields()); - - } catch (Throwable t) { - handleFetcherException(t, queue, "getProcedureColumns"); - } finally { - finalizeFetcher(queue, resultSchema.getFields(), "Procedure column fetcher"); - } - }; - - Future fetcherFuture = connection.getExecutorService().submit(procedureColumnFetcher); - BigQueryJsonResultSet resultSet = - BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); - - LOG.info("Started background task for getProcedureColumns for catalog: " + catalog); - return resultSet; - } - - List listMatchingProcedureIdsFromDatasets( - List datasetsToScan, - String procedureNamePattern, - Pattern procedureNameRegex, - ExecutorService listRoutinesExecutor, - String catalogParam, - BigQueryJdbcCustomLogger logger) - throws InterruptedException, ExecutionException { - - logger.fine( - "Listing matching procedure IDs from %d datasets for catalog '%s'.", - datasetsToScan.size(), catalogParam); - final List>> listRoutineFutures = new ArrayList<>(); - final List procedureIdsToGet = Collections.synchronizedList(new ArrayList<>()); + final FieldList resultSchemaFields = resultSchema.getFields(); + List targetDatasets = getTargetDatasets(catalog, schemaPattern); + Pattern columnNameRegex = compileSqlLikePattern(columnNamePattern); - for (Dataset dataset : datasetsToScan) { - if (Thread.currentThread().isInterrupted()) { - InterruptedException ex = - new InterruptedException( - "Interrupted while listing routines for catalog: " + catalogParam); - logger.severe(ex.getMessage(), ex); - throw ex; - } - final DatasetId currentDatasetId = dataset.getDatasetId(); - Callable> listCallable = - () -> - findMatchingBigQueryObjects( - "Routine", - () -> - bigquery.listRoutines( - currentDatasetId, RoutineListOption.pageSize(DEFAULT_PAGE_SIZE)), - (name) -> - bigquery.getRoutine( - RoutineId.of( - currentDatasetId.getProject(), currentDatasetId.getDataset(), name)), - (rt) -> rt.getRoutineId().getRoutine(), + BlockingQueue queue = + fetchAndPopulateQueue( + () -> { + final List collectedResults = + Collections.synchronizedList(new ArrayList<>()); + processTargetRoutinesConcurrently( + targetDatasets, procedureNamePattern, - procedureNameRegex, - false); - listRoutineFutures.add(listRoutinesExecutor.submit(Context.current().wrap(listCallable))); - } - logger.fine( - "Submitted " - + listRoutineFutures.size() - + " routine list tasks for catalog: " - + catalogParam); - - for (Future> listFuture : listRoutineFutures) { - if (Thread.currentThread().isInterrupted()) { - listRoutineFutures.forEach(f -> f.cancel(true)); - InterruptedException ex = - new InterruptedException( - "Interrupted while collecting routine lists for catalog: " + catalogParam); - logger.severe(ex.getMessage(), ex); - throw ex; - } - try { - List listedRoutines = listFuture.get(); - if (listedRoutines != null) { - for (Routine listedRoutine : listedRoutines) { - if (listedRoutine != null - && "PROCEDURE".equalsIgnoreCase(listedRoutine.getRoutineType())) { - if (listedRoutine.getRoutineId() != null) { - procedureIdsToGet.add(listedRoutine.getRoutineId()); - } else { - logger.warning( - "Found a procedure type routine with a null ID during listing phase for" - + " catalog: " - + catalogParam); - } - } - } - } - } catch (CancellationException e) { - logger.warning("Routine list task cancelled for catalog: " + catalogParam); - } - } - logger.info( - "Found %d procedure IDs to fetch details for in catalog '%s'.", - procedureIdsToGet.size(), catalogParam); - return procedureIdsToGet; - } - - List fetchFullRoutineDetailsForIds( - List procedureIdsToGet, - ExecutorService getRoutineDetailsExecutor, - BigQueryJdbcCustomLogger logger, - RoutineOption... options) - throws InterruptedException, ExecutionException { - logger.fine("Fetching full details for %d procedure IDs.", procedureIdsToGet.size()); - final List> getRoutineFutures = new ArrayList<>(); - final List fullRoutines = Collections.synchronizedList(new ArrayList<>()); - - for (RoutineId procId : procedureIdsToGet) { - if (Thread.currentThread().isInterrupted()) { - InterruptedException ex = - new InterruptedException("Interrupted while submitting getRoutine tasks"); - logger.severe(ex.getMessage(), ex); - throw ex; - } - final RoutineId currentProcId = procId; - Callable getCallable = - () -> { - try { - return bigquery.getRoutine(currentProcId, options); - } catch (Exception e) { - logger.warning( - "Failed to get full details for routine " - + currentProcId - + ": " - + e.getMessage()); - return null; - } - }; - getRoutineFutures.add(getRoutineDetailsExecutor.submit(Context.current().wrap(getCallable))); - } - logger.fine("Submitted " + getRoutineFutures.size() + " getRoutine detail tasks."); - - for (Future getFuture : getRoutineFutures) { - if (Thread.currentThread().isInterrupted()) { - getRoutineFutures.forEach(f -> f.cancel(true)); // Cancel remaining - InterruptedException ex = - new InterruptedException("Interrupted while collecting Routine details"); - logger.severe(ex.getMessage(), ex); - throw ex; - } - try { - Routine fullRoutine = getFuture.get(); - if (fullRoutine != null) { - fullRoutines.add(fullRoutine); - } - } catch (CancellationException e) { - logger.warning("getRoutine detail task cancelled."); - } - } - logger.info("Successfully fetched full details for %d routines.", fullRoutines.size()); - return fullRoutines; - } - - void processProcedureArgumentsSequentially( - List fullRoutines, - Pattern columnNameRegex, - List collectedResults, - FieldList resultSchemaFields, - BigQueryJdbcCustomLogger logger) - throws InterruptedException { - logger.fine("Processing argument jobs sequentially for %d routines.", fullRoutines.size()); - - for (Routine fullRoutine : fullRoutines) { - if (Thread.currentThread().isInterrupted()) { - InterruptedException ex = - new InterruptedException("Interrupted while processing argument jobs sequentially"); - logger.severe(ex.getMessage(), ex); - throw ex; - } - if (fullRoutine != null) { - if ("PROCEDURE".equalsIgnoreCase(fullRoutine.getRoutineType())) { - processProcedureArguments( - fullRoutine, columnNameRegex, collectedResults, resultSchemaFields); - } else { - logger.warning( - "Routine " - + (fullRoutine.getRoutineId() != null - ? fullRoutine.getRoutineId().toString() - : "UNKNOWN_ID") - + " fetched via getRoutine was not of type PROCEDURE (Type: " - + fullRoutine.getRoutineType() - + "). Skipping argument processing."); - } - } - } + true, + true, + collectedResults, + resultSchemaFields, + (routine, results, fields) -> { + if (!"PROCEDURE".equalsIgnoreCase(routine.getRoutineType())) { + return; + } + processProcedureArguments(routine, columnNameRegex, results, fields); + }, + RoutineOption.fields( + RoutineField.ROUTINE_REFERENCE, + RoutineField.ARGUMENTS, + RoutineField.ROUTINE_TYPE)); + + Comparator comparator = + defineGetProcedureColumnsComparator(resultSchemaFields); + sortResults(collectedResults, comparator, "getProcedureColumns", LOG); + return collectedResults; + }, + resultSchemaFields); + return BigQueryJsonResultSet.of(resultSchema, -1, queue, null); } Schema defineGetProcedureColumnsSchema() { @@ -1569,7 +1277,11 @@ public ResultSet getTables( } private ResultSet getTablesImpl( - String catalog, String schemaPattern, String tableNamePattern, String[] types) { + String catalog, String schemaPattern, String tableNamePattern, String[] types) + throws SQLException { + LOG.info( + "getTables called for catalog: %s, schemaPattern: %s, tableNamePattern: %s, types: %s", + catalog, schemaPattern, tableNamePattern, Arrays.toString(types)); if ((catalog != null && catalog.isEmpty()) || (schemaPattern != null && schemaPattern.isEmpty()) @@ -1578,128 +1290,44 @@ private ResultSet getTablesImpl( "Returning empty ResultSet as one or more patterns are empty or catalog is empty."); return new BigQueryJsonResultSet(); } - + final Schema resultSchema = defineGetTablesSchema(); + final FieldList resultSchemaFields = resultSchema.getFields(); Tuple effectiveIdentifiers = determineEffectiveCatalogAndSchema(catalog, schemaPattern); String effectiveCatalog = effectiveIdentifiers.x(); String effectiveSchemaPattern = effectiveIdentifiers.y(); - LOG.info( - "getTables called for catalog: %s, schemaPattern: %s, tableNamePattern: %s, types: %s", - effectiveCatalog, effectiveSchemaPattern, tableNamePattern, Arrays.toString(types)); + List targetDatasets = getTargetDatasets(effectiveCatalog, effectiveSchemaPattern); - final Pattern schemaRegex = compileSqlLikePattern(effectiveSchemaPattern); - final Pattern tableNameRegex = compileSqlLikePattern(tableNamePattern); final Set requestedTypes = (types == null || types.length == 0) ? null : new HashSet<>(Arrays.asList(types)); - final Schema resultSchema = defineGetTablesSchema(); - final FieldList resultSchemaFields = resultSchema.getFields(); - - final BlockingQueue queue = - new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); - final List collectedResults = Collections.synchronizedList(new ArrayList<>()); - final String catalogParam = effectiveCatalog; - final String schemaParam = effectiveSchemaPattern; - - Runnable tableFetcher = - () -> { - ExecutorService apiExecutor = null; - final FieldList localResultSchemaFields = resultSchemaFields; - final List>> apiFutures = new ArrayList<>(); - - try { - List datasetsToScan = - fetchMatchingDatasets(catalogParam, schemaParam, schemaRegex); - - if (datasetsToScan.isEmpty()) { - LOG.info("Fetcher thread found no matching datasets. Returning empty resultset."); - return; - } - - apiExecutor = connection.getMetadataExecutor(); - - LOG.fine("Submitting parallel findMatchingTables tasks..."); - for (Dataset dataset : datasetsToScan) { - if (Thread.currentThread().isInterrupted()) { - LOG.warning("Table fetcher interrupted during dataset iteration."); - break; - } - - final DatasetId currentDatasetId = dataset.getDatasetId(); - Callable> apiCallable = - () -> - findMatchingBigQueryObjects( - "Table", - () -> - bigquery.listTables( - currentDatasetId, TableListOption.pageSize(DEFAULT_PAGE_SIZE)), - (name) -> - bigquery.getTable( - TableId.of( - currentDatasetId.getProject(), - currentDatasetId.getDataset(), - name), - TableOption.fields( - TableField.TABLE_REFERENCE, - TableField.TYPE, - TableField.DESCRIPTION)), - (tbl) -> tbl.getTableId().getTable(), - tableNamePattern, - tableNameRegex, - false); - Future> apiFuture = - apiExecutor.submit(Context.current().wrap(apiCallable)); - apiFutures.add(apiFuture); - } - LOG.fine("Finished submitting " + apiFutures.size() + " findMatchingTables tasks."); - - LOG.fine("Processing results from findMatchingTables tasks..."); - for (Future> apiFuture : apiFutures) { - if (Thread.currentThread().isInterrupted()) { - LOG.warning("Table fetcher interrupted while processing API futures."); - break; - } - try { - List tablesResult = apiFuture.get(); - if (tablesResult != null) { - for (Table table : tablesResult) { - if (Thread.currentThread().isInterrupted()) break; - - LOG.fine("Processing table sequentially: " + table.getTableId()); - processTableInfo( - table, requestedTypes, collectedResults, localResultSchemaFields); - } - } - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - LOG.warning("Fetcher thread interrupted while waiting for API future result."); - break; - } catch (CancellationException e) { - LOG.warning("A findMatchingTables task was cancelled."); - } - } - - Comparator comparator = - defineGetTablesComparator(localResultSchemaFields); - sortResults(collectedResults, comparator, "getTables", LOG); - populateQueue(collectedResults, queue, localResultSchemaFields); - - } catch (Throwable t) { - handleFetcherException(t, queue, "getTables"); - } finally { - apiFutures.forEach(f -> f.cancel(true)); - finalizeFetcher(queue, localResultSchemaFields, "Table fetcher"); - } - }; - - Future fetcherFuture = - connection.getExecutorService().submit(Context.current().wrap(tableFetcher)); - BigQueryJsonResultSet resultSet = - BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); - - LOG.info("Started background thread for getTables"); - return resultSet; + BlockingQueue queue = + fetchAndPopulateQueue( + () -> { + final List collectedResults = + Collections.synchronizedList(new ArrayList<>()); + processTargetTablesConcurrently( + targetDatasets, + tableNamePattern, + true, + false, + false, + collectedResults, + resultSchemaFields, + (bqTable, results, fields) -> { + processTableInfo(bqTable, requestedTypes, results, fields); + }, + TableOption.fields( + TableField.TABLE_REFERENCE, TableField.TYPE, TableField.DESCRIPTION)); + + Comparator comparator = defineGetTablesComparator(resultSchemaFields); + sortResults(collectedResults, comparator, "getTables", LOG); + return collectedResults; + }, + resultSchemaFields); + + return BigQueryJsonResultSet.of(resultSchema, -1, queue, null); } Schema defineGetTablesSchema() { @@ -1833,12 +1461,10 @@ private ResultSet getCatalogsImpl() throws SQLException { final List catalogRows = prepareGetCatalogsRows(schemaFields, accessibleCatalogs); - final BlockingQueue queue = - new LinkedBlockingQueue<>(catalogRows.isEmpty() ? 1 : catalogRows.size() + 1); - - Future fetcherFuture = populateQueueAsync(catalogRows, queue, schemaFields); + BlockingQueue queue = + fetchAndPopulateQueue(() -> catalogRows, schemaFields); - return BigQueryJsonResultSet.of(catalogsSchema, catalogRows.size(), queue, null, fetcherFuture); + return BigQueryJsonResultSet.of(catalogsSchema, catalogRows.size(), queue, null); } Schema defineGetCatalogsSchema() { @@ -1857,20 +1483,16 @@ List prepareGetCatalogsRows( } @Override - public ResultSet getTableTypes() { + public ResultSet getTableTypes() throws SQLException { LOG.info("getTableTypes() called"); final Schema tableTypesSchema = defineGetTableTypesSchema(); final List tableTypeRows = prepareGetTableTypesRows(tableTypesSchema); BlockingQueue queue = - new LinkedBlockingQueue<>(tableTypeRows.size() + 1); + fetchAndPopulateQueue(() -> tableTypeRows, tableTypesSchema.getFields()); - Future fetcherFuture = - populateQueueAsync(tableTypeRows, queue, tableTypesSchema.getFields()); - - return BigQueryJsonResultSet.of( - tableTypesSchema, tableTypeRows.size(), queue, null, fetcherFuture); + return BigQueryJsonResultSet.of(tableTypesSchema, tableTypeRows.size(), queue, null); } static Schema defineGetTableTypesSchema() { @@ -1902,7 +1524,11 @@ public ResultSet getColumns( } private ResultSet getColumnsImpl( - String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) { + String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) + throws SQLException { + LOG.info( + "getColumns called for catalog: %s, schemaPattern: %s, tableNamePattern: %s, columnNamePattern: %s", + catalog, schemaPattern, tableNamePattern, columnNamePattern); if ((catalog != null && catalog.isEmpty()) || (schemaPattern != null && schemaPattern.isEmpty()) @@ -1912,117 +1538,44 @@ private ResultSet getColumnsImpl( "Returning empty ResultSet as one or more patterns are empty or catalog is empty."); return new BigQueryJsonResultSet(); } - + final Schema resultSchema = defineGetColumnsSchema(); + final FieldList resultSchemaFields = resultSchema.getFields(); Tuple effectiveIdentifiers = determineEffectiveCatalogAndSchema(catalog, schemaPattern); String effectiveCatalog = effectiveIdentifiers.x(); String effectiveSchemaPattern = effectiveIdentifiers.y(); - LOG.info( - "getColumns called for catalog: %s, schemaPattern: %s, tableNamePattern: %s," - + " columnNamePattern: %s", - effectiveCatalog, effectiveSchemaPattern, tableNamePattern, columnNamePattern); + List targetDatasets = getTargetDatasets(effectiveCatalog, effectiveSchemaPattern); - Pattern schemaRegex = compileSqlLikePattern(effectiveSchemaPattern); - Pattern tableNameRegex = compileSqlLikePattern(tableNamePattern); Pattern columnNameRegex = compileSqlLikePattern(columnNamePattern); - final Schema resultSchema = defineGetColumnsSchema(); - final FieldList resultSchemaFields = resultSchema.getFields(); - final BlockingQueue queue = - new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); - final List collectedResults = Collections.synchronizedList(new ArrayList<>()); - final String catalogParam = effectiveCatalog; - final String schemaParam = effectiveSchemaPattern; - - Runnable columnFetcher = - () -> { - ExecutorService columnExecutor = null; - final List> taskFutures = new ArrayList<>(); - final FieldList localResultSchemaFields = resultSchemaFields; - - try { - List datasetsToScan = - fetchMatchingDatasets(catalogParam, schemaParam, schemaRegex); - - if (datasetsToScan.isEmpty()) { - LOG.info("Fetcher thread found no matching datasets. Returning empty resultset."); - return; - } - - columnExecutor = connection.getMetadataExecutor(); - - for (Dataset dataset : datasetsToScan) { - if (Thread.currentThread().isInterrupted()) { - LOG.warning("Fetcher interrupted during dataset iteration."); - break; - } - - DatasetId datasetId = dataset.getDatasetId(); - LOG.info("Processing dataset: " + datasetId.getDataset()); - - List
tablesToScan = - findMatchingBigQueryObjects( - "Table", - () -> - bigquery.listTables( - datasetId, TableListOption.pageSize(DEFAULT_PAGE_SIZE)), - (name) -> - bigquery.getTable( - TableId.of(datasetId.getProject(), datasetId.getDataset(), name), - TableOption.fields( - TableField.TABLE_REFERENCE, TableField.TYPE, TableField.SCHEMA)), - (tbl) -> tbl.getTableId().getTable(), - tableNamePattern, - tableNameRegex, - false); - - for (Table table : tablesToScan) { - if (Thread.currentThread().isInterrupted()) { - LOG.warning( - "Fetcher interrupted during table iteration for dataset " - + datasetId.getDataset()); - break; - } - - TableId tableId = table.getTableId(); - LOG.fine("Submitting task for table: " + tableId); - final Table finalTable = table; - Future future = - columnExecutor.submit( - () -> - processTableColumns( - finalTable, - columnNameRegex, - collectedResults, - localResultSchemaFields)); - taskFutures.add(future); - } - if (Thread.currentThread().isInterrupted()) break; - } - - waitForTasksCompletion(taskFutures); - - Comparator comparator = - defineGetColumnsComparator(localResultSchemaFields); - sortResults(collectedResults, comparator, "getColumns", LOG); - populateQueue(collectedResults, queue, localResultSchemaFields); - - } catch (Throwable t) { - handleFetcherException(t, queue, "getColumns"); - } finally { - taskFutures.forEach(f -> f.cancel(true)); - finalizeFetcher(queue, localResultSchemaFields, "Column fetcher"); - } - }; - - Future fetcherFuture = - connection.getExecutorService().submit(Context.current().wrap(columnFetcher)); - BigQueryJsonResultSet resultSet = - BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); - - LOG.info("Started background thread for getColumns"); - return resultSet; + BlockingQueue queue = + fetchAndPopulateQueue( + () -> { + final List collectedResults = + Collections.synchronizedList(new ArrayList<>()); + processTargetTablesConcurrently( + targetDatasets, + tableNamePattern, + true, + false, + true, + collectedResults, + resultSchemaFields, + (bqTable, results, fields) -> { + processTableColumns(bqTable, columnNameRegex, results, fields); + }, + TableOption.fields( + TableField.TABLE_REFERENCE, TableField.TYPE, TableField.SCHEMA)); + + Comparator comparator = + defineGetColumnsComparator(resultSchemaFields); + sortResults(collectedResults, comparator, "getColumns", LOG); + return collectedResults; + }, + resultSchemaFields); + + return BigQueryJsonResultSet.of(resultSchema, -1, queue, null); } private void processTableColumns( @@ -2438,6 +1991,8 @@ Schema defineGetVersionColumnsSchema() { @Override public ResultSet getPrimaryKeys(String catalog, String schema, String table) throws SQLException { + LOG.info( + "getPrimaryKeys called for catalog: %s, schema: %s, table: %s", catalog, schema, table); if ((catalog != null && catalog.isEmpty()) || (schema != null && schema.isEmpty()) || table == null @@ -2449,27 +2004,34 @@ public ResultSet getPrimaryKeys(String catalog, String schema, String table) thr final Schema resultSchema = defineGetPrimaryKeysSchema(); final FieldList resultSchemaFields = resultSchema.getFields(); + List targetDatasets = getTargetDatasets(catalog, schema, false); - final List collectedResults = Collections.synchronizedList(new ArrayList<>()); - List targetDatasets = getTargetDatasets(catalog, schema); - - processTargetTablesConcurrently( - targetDatasets, - table, - collectedResults, - resultSchemaFields, - (bqTable, results, fields) -> { - TableConstraints constraints = bqTable.getTableConstraints(); - processPrimaryKey(constraints, bqTable.getTableId(), results, fields); - }); - - Comparator comparator = defineGetPrimaryKeysComparator(resultSchemaFields); - sortResults(collectedResults, comparator, "getPrimaryKeys", LOG); - - final BlockingQueue queue = - new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); - Future fetcherFuture = populateQueueAsync(collectedResults, queue, resultSchemaFields); - return BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); + BlockingQueue queue = + fetchAndPopulateQueue( + () -> { + final List collectedResults = + Collections.synchronizedList(new ArrayList<>()); + processTargetTablesConcurrently( + targetDatasets, + table, + false, + true, + true, + collectedResults, + resultSchemaFields, + (bqTable, results, fields) -> { + TableConstraints constraints = bqTable.getTableConstraints(); + processPrimaryKey(constraints, bqTable.getTableId(), results, fields); + }); + + Comparator comparator = + defineGetPrimaryKeysComparator(resultSchemaFields); + sortResults(collectedResults, comparator, "getPrimaryKeys", LOG); + return collectedResults; + }, + resultSchemaFields); + + return BigQueryJsonResultSet.of(resultSchema, -1, queue, null); } private Schema defineGetPrimaryKeysSchema() { @@ -2533,55 +2095,65 @@ private Comparator defineGetPrimaryKeysComparator(FieldList resu @Override public ResultSet getImportedKeys(String catalog, String schema, String table) throws SQLException { + LOG.info( + "getImportedKeys called for catalog: %s, schema: %s, table: %s", catalog, schema, table); if ((catalog != null && catalog.isEmpty()) || (schema != null && schema.isEmpty()) || table == null || table.isEmpty()) { LOG.warning( - "Returning empty ResultSet as required parameters are null/empty, or catalog/schema parameters are empty."); + "Returning empty ResultSet as one or more patterns are empty or catalog is empty."); return new BigQueryJsonResultSet(); } final Schema resultSchema = defineForeignKeyResultSetSchema(); final FieldList resultSchemaFields = resultSchema.getFields(); + List targetDatasets = getTargetDatasets(catalog, schema, false); - final List collectedResults = Collections.synchronizedList(new ArrayList<>()); - List targetDatasets = getTargetDatasets(catalog, schema); - - processTargetTablesConcurrently( - targetDatasets, - table, - collectedResults, - resultSchemaFields, - (bqTable, results, fields) -> { - TableConstraints constraints = bqTable.getTableConstraints(); - if (constraints == null || constraints.getForeignKeys() == null) { - return; - } - for (ForeignKey fk : constraints.getForeignKeys()) { - TableId pkTableId = fk.getReferencedTable(); - processForeignKey(fk, pkTableId, bqTable.getTableId(), results, fields); - } - }); - - Comparator comparator = definePkTableSortComparator(resultSchemaFields); - sortResults(collectedResults, comparator, "getImportedKeys", LOG); + BlockingQueue queue = + fetchAndPopulateQueue( + () -> { + final List collectedResults = + Collections.synchronizedList(new ArrayList<>()); + processTargetTablesConcurrently( + targetDatasets, + table, + false, + true, + true, + collectedResults, + resultSchemaFields, + (bqTable, results, fields) -> { + TableConstraints constraints = bqTable.getTableConstraints(); + if (constraints == null || constraints.getForeignKeys() == null) { + return; + } + for (ForeignKey fk : constraints.getForeignKeys()) { + TableId pkTableId = fk.getReferencedTable(); + processForeignKey(fk, pkTableId, bqTable.getTableId(), results, fields); + } + }); - final BlockingQueue queue = - new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); - Future fetcherFuture = populateQueueAsync(collectedResults, queue, resultSchemaFields); - return BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); + Comparator comparator = + definePkTableSortComparator(resultSchemaFields); + sortResults(collectedResults, comparator, "getImportedKeys", LOG); + return collectedResults; + }, + resultSchemaFields); + return BigQueryJsonResultSet.of(resultSchema, -1, queue, null); } @Override public ResultSet getExportedKeys(String catalog, String schema, String table) throws SQLException { + LOG.info( + "getExportedKeys called for catalog: %s, schema: %s, table: %s", catalog, schema, table); if ((catalog != null && catalog.isEmpty()) || (schema != null && schema.isEmpty()) || table == null || table.isEmpty()) { LOG.warning( - "Returning empty ResultSet as required parameters are null/empty, or catalog/schema parameters are empty."); + "Returning empty ResultSet as one or more patterns are empty or catalog is empty."); return new BigQueryJsonResultSet(); } @@ -2598,38 +2170,44 @@ public ResultSet getExportedKeys(String catalog, String schema, String table) // Fallback Path: If catalog or schema is null, fall back to REST API metadata scan. if (catalog == null || schema == null) { - final List collectedResults = Collections.synchronizedList(new ArrayList<>()); - List targetDatasets = getTargetDatasets(catalog, null); - - processTargetTablesConcurrently( - targetDatasets, - null, - collectedResults, - resultSchemaFields, - (bqTable, results, fields) -> { - TableConstraints constraints = bqTable.getTableConstraints(); - if (constraints == null || constraints.getForeignKeys() == null) { - return; - } - for (ForeignKey fk : constraints.getForeignKeys()) { - TableId pkTableId = fk.getReferencedTable(); - if (pkTableId == null - || !equalsOrNullMatchesAll(catalog, pkTableId.getProject()) - || !equalsOrNullMatchesAll(schema, pkTableId.getDataset()) - || !table.equals(pkTableId.getTable())) { - continue; - } - processForeignKey(fk, pkTableId, bqTable.getTableId(), results, fields); - } - }); - - Comparator comparator = defineFkTableSortComparator(resultSchemaFields); - sortResults(collectedResults, comparator, "getExportedKeys", LOG); - - final BlockingQueue queue = - new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); - Future fetcherFuture = populateQueueAsync(collectedResults, queue, resultSchemaFields); - return BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); + List targetDatasets = getTargetDatasets(catalog, schema, false); + BlockingQueue queue = + fetchAndPopulateQueue( + () -> { + final List collectedResults = + Collections.synchronizedList(new ArrayList<>()); + processTargetTablesConcurrently( + targetDatasets, + null, + false, + true, + true, + collectedResults, + resultSchemaFields, + (bqTable, results, fields) -> { + TableConstraints constraints = bqTable.getTableConstraints(); + if (constraints == null || constraints.getForeignKeys() == null) { + return; + } + for (ForeignKey fk : constraints.getForeignKeys()) { + TableId pkTableId = fk.getReferencedTable(); + if (pkTableId == null + || !equalsOrNullMatchesAll(catalog, pkTableId.getProject()) + || !equalsOrNullMatchesAll(schema, pkTableId.getDataset()) + || !table.equals(pkTableId.getTable())) { + continue; + } + processForeignKey(fk, pkTableId, bqTable.getTableId(), results, fields); + } + }); + + Comparator comparator = + defineFkTableSortComparator(resultSchemaFields); + sortResults(collectedResults, comparator, "getExportedKeys", LOG); + return collectedResults; + }, + resultSchemaFields); + return BigQueryJsonResultSet.of(resultSchema, -1, queue, null); } String sql = getExportedKeysSqlContent(); @@ -2656,6 +2234,9 @@ public ResultSet getCrossReference( String foreignSchema, String foreignTable) throws SQLException { + LOG.info( + "getCrossReference called for parentCatalog: %s, parentSchema: %s, parentTable: %s, foreignCatalog: %s, foreignSchema: %s, foreignTable: %s", + parentCatalog, parentSchema, parentTable, foreignCatalog, foreignSchema, foreignTable); if ((parentCatalog != null && parentCatalog.isEmpty()) || (parentSchema != null && parentSchema.isEmpty()) || parentTable == null @@ -2665,48 +2246,54 @@ public ResultSet getCrossReference( || foreignTable == null || foreignTable.isEmpty()) { LOG.warning( - "Returning empty ResultSet as required parameters are null/empty, or catalog/schema parameters are empty."); + "Returning empty ResultSet as one or more patterns are empty or catalog is empty."); return new BigQueryJsonResultSet(); } final Schema resultSchema = defineForeignKeyResultSetSchema(); final FieldList resultSchemaFields = resultSchema.getFields(); + List targetDatasets = getTargetDatasets(foreignCatalog, foreignSchema, false); - final List collectedResults = Collections.synchronizedList(new ArrayList<>()); - List targetDatasets = getTargetDatasets(foreignCatalog, foreignSchema); - - processTargetTablesConcurrently( - targetDatasets, - foreignTable, - collectedResults, - resultSchemaFields, - (bqTable, results, fields) -> { - TableConstraints constraints = bqTable.getTableConstraints(); - if (constraints == null || constraints.getForeignKeys() == null) { - return; - } - for (ForeignKey fk : constraints.getForeignKeys()) { - TableId pkTableId = fk.getReferencedTable(); - if (!equalsOrNullMatchesAll(parentCatalog, pkTableId.getProject()) - || !equalsOrNullMatchesAll(parentSchema, pkTableId.getDataset()) - || !parentTable.equals(pkTableId.getTable())) { - continue; - } - processForeignKey(fk, pkTableId, bqTable.getTableId(), results, fields); - } - }); - - Comparator comparator = defineFkTableSortComparator(resultSchemaFields); - sortResults(collectedResults, comparator, "getCrossReference", LOG); + BlockingQueue queue = + fetchAndPopulateQueue( + () -> { + final List collectedResults = + Collections.synchronizedList(new ArrayList<>()); + processTargetTablesConcurrently( + targetDatasets, + foreignTable, + false, + true, + true, + collectedResults, + resultSchemaFields, + (bqTable, results, fields) -> { + TableConstraints constraints = bqTable.getTableConstraints(); + if (constraints == null || constraints.getForeignKeys() == null) { + return; + } + for (ForeignKey fk : constraints.getForeignKeys()) { + TableId pkTableId = fk.getReferencedTable(); + if (!equalsOrNullMatchesAll(parentCatalog, pkTableId.getProject()) + || !equalsOrNullMatchesAll(parentSchema, pkTableId.getDataset()) + || !parentTable.equals(pkTableId.getTable())) { + continue; + } + processForeignKey(fk, pkTableId, bqTable.getTableId(), results, fields); + } + }); - final BlockingQueue queue = - new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); - Future fetcherFuture = populateQueueAsync(collectedResults, queue, resultSchemaFields); - return BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); + Comparator comparator = + defineFkTableSortComparator(resultSchemaFields); + sortResults(collectedResults, comparator, "getCrossReference", LOG); + return collectedResults; + }, + resultSchemaFields); + return BigQueryJsonResultSet.of(resultSchema, -1, queue, null); } @Override - public ResultSet getTypeInfo() { + public ResultSet getTypeInfo() throws SQLException { LOG.info("getTypeInfo() called"); final Schema typeInfoSchema = defineGetTypeInfoSchema(); @@ -2715,12 +2302,9 @@ public ResultSet getTypeInfo() { final Comparator comparator = defineGetTypeInfoComparator(schemaFields); sortResults(typeInfoRows, comparator, "getTypeInfo", LOG); - final BlockingQueue queue = - new LinkedBlockingQueue<>(typeInfoRows.size() + 1); - - Future fetcherFuture = populateQueueAsync(typeInfoRows, queue, schemaFields); - return BigQueryJsonResultSet.of( - typeInfoSchema, typeInfoRows.size(), queue, null, fetcherFuture); + BlockingQueue queue = + fetchAndPopulateQueue(() -> typeInfoRows, schemaFields); + return BigQueryJsonResultSet.of(typeInfoSchema, typeInfoRows.size(), queue, null); } Schema defineGetTypeInfoSchema() { @@ -3624,68 +3208,32 @@ public ResultSet getSchemas(String catalog, String schemaPattern) throws SQLExce } private ResultSet getSchemasImpl(String catalog, String schemaPattern) throws SQLException { + LOG.info("getSchemas called for catalog: %s, schemaPattern: %s", catalog, schemaPattern); if ((catalog != null && catalog.isEmpty()) || (schemaPattern != null && schemaPattern.isEmpty())) { - LOG.warning("Returning empty ResultSet as catalog or schemaPattern is an empty string."); + LOG.warning( + "Returning empty ResultSet as one or more patterns are empty or catalog is empty."); return new BigQueryJsonResultSet(); } - LOG.info("getSchemas called for catalog: %s, schemaPattern: %s", catalog, schemaPattern); - - final Pattern schemaRegex = compileSqlLikePattern(schemaPattern); final Schema resultSchema = defineGetSchemasSchema(); final FieldList resultSchemaFields = resultSchema.getFields(); - - if (catalog != null) { - // Single-Catalog Path: completely synchronous on caller thread - final BlockingQueue queue = new LinkedBlockingQueue<>(); - List datasets = fetchMatchingDatasets(catalog, schemaPattern, schemaRegex); - List collectedResults = new ArrayList<>(); - for (Dataset dataset : datasets) { - processSchemaInfo(dataset, collectedResults, resultSchemaFields); - } - Comparator comparator = defineGetSchemasComparator(resultSchemaFields); - sortResults(collectedResults, comparator, "getSchemas", LOG); - Future fetcherFuture = populateQueueAsync(collectedResults, queue, resultSchemaFields); - return BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); - } - - // Multi-Catalog Path: fan out using connection-scoped metadataExecutor - final BlockingQueue queue = - new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); - Runnable multiSchemaFetcher = - () -> { - final FieldList localResultSchemaFields = resultSchemaFields; - final List collectedResults = new ArrayList<>(); - - try { - List datasets = fetchMatchingDatasets(catalog, schemaPattern, schemaRegex); - for (Dataset dataset : datasets) { - if (Thread.currentThread().isInterrupted()) { - break; + final Pattern schemaRegex = compileSqlLikePattern(schemaPattern); + BlockingQueue queue = + fetchAndPopulateQueue( + () -> { + List datasets = fetchMatchingDatasets(catalog, schemaPattern, schemaRegex); + List collectedResults = new ArrayList<>(datasets.size()); + for (Dataset dataset : datasets) { + processSchemaInfo(dataset.getDatasetId(), collectedResults, resultSchemaFields); } - processSchemaInfo(dataset, collectedResults, localResultSchemaFields); - } - - Comparator comparator = - defineGetSchemasComparator(localResultSchemaFields); - sortResults(collectedResults, comparator, "getSchemas", LOG); - populateQueue(collectedResults, queue, localResultSchemaFields); - - } catch (Throwable t) { - handleFetcherException(t, queue, "getSchemas"); - } finally { - finalizeFetcher(queue, localResultSchemaFields, "Multi-schema fetcher"); - } - }; - - Future fetcherFuture = - connection.getExecutorService().submit(Context.current().wrap(multiSchemaFetcher)); - BigQueryJsonResultSet resultSet = - BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); - - LOG.info("Submitted background task for multi-catalog getSchemas to query executor"); - return resultSet; + Comparator comparator = + defineGetSchemasComparator(resultSchemaFields); + sortResults(collectedResults, comparator, "getSchemas", LOG); + return collectedResults; + }, + resultSchemaFields); + return BigQueryJsonResultSet.of(resultSchema, -1, queue, null); } Schema defineGetSchemasSchema() { @@ -3702,8 +3250,7 @@ Schema defineGetSchemasSchema() { } void processSchemaInfo( - Dataset dataset, List collectedResults, FieldList resultSchemaFields) { - DatasetId datasetId = dataset.getDatasetId(); + DatasetId datasetId, List collectedResults, FieldList resultSchemaFields) { LOG.finer("Processing schema info for dataset: " + datasetId); try { String schemaName = datasetId.getDataset(); @@ -3825,136 +3372,55 @@ Schema defineGetClientInfoPropertiesSchema() { } @Override - public ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) { + public ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) + throws SQLException { + LOG.info( + "getFunctions called for catalog: %s, schemaPattern: %s, functionNamePattern: %s", + catalog, schemaPattern, functionNamePattern); + if ((catalog != null && catalog.isEmpty()) || (schemaPattern != null && schemaPattern.isEmpty()) || (functionNamePattern != null && functionNamePattern.isEmpty())) { LOG.warning( - "Returning empty ResultSet as catalog is empty or a pattern is empty for" - + " getFunctions."); + "Returning empty ResultSet as one or more patterns are empty or catalog is empty."); return new BigQueryJsonResultSet(); } - LOG.info( - "getFunctions called for catalog: %s, schemaPattern: %s, functionNamePattern: %s", - catalog, schemaPattern, functionNamePattern); - - final Pattern schemaRegex = compileSqlLikePattern(schemaPattern); - final Pattern functionNameRegex = compileSqlLikePattern(functionNamePattern); final Schema resultSchema = defineGetFunctionsSchema(); final FieldList resultSchemaFields = resultSchema.getFields(); - final BlockingQueue queue = - new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); - final List collectedResults = Collections.synchronizedList(new ArrayList<>()); - final String catalogParam = catalog; - - Runnable functionFetcher = - () -> { - ExecutorService apiExecutor = null; - final FieldList localResultSchemaFields = resultSchemaFields; - final List>> apiFutures = new ArrayList<>(); - - try { - List datasetsToScan = - fetchMatchingDatasets(catalogParam, schemaPattern, schemaRegex); - - if (datasetsToScan.isEmpty()) { - LOG.info("Fetcher thread found no matching datasets. Returning empty resultset."); - return; - } + List targetDatasets = getTargetDatasets(catalog, schemaPattern); - apiExecutor = connection.getMetadataExecutor(); - - for (Dataset dataset : datasetsToScan) { - if (Thread.currentThread().isInterrupted()) { - LOG.warning("Function fetcher interrupted during dataset iteration submission."); - break; - } - - final DatasetId currentDatasetId = dataset.getDatasetId(); - - Callable> apiCallable = - () -> { - LOG.fine( - "Fetching all routines for dataset: %s, pattern: %s", - currentDatasetId.getDataset(), functionNamePattern); - return findMatchingBigQueryObjects( - "Routine", - () -> - bigquery.listRoutines( - currentDatasetId, RoutineListOption.pageSize(DEFAULT_PAGE_SIZE)), - (name) -> - bigquery.getRoutine( - RoutineId.of( - currentDatasetId.getProject(), - currentDatasetId.getDataset(), - name)), - (rt) -> rt.getRoutineId().getRoutine(), - functionNamePattern, - functionNameRegex, - false); - }; - Future> apiFuture = - apiExecutor.submit(Context.current().wrap(apiCallable)); - apiFutures.add(apiFuture); - } - LOG.fine( - "Finished submitting " - + apiFutures.size() - + " findMatchingRoutines (for functions) tasks."); - - for (Future> apiFuture : apiFutures) { - if (Thread.currentThread().isInterrupted()) { - LOG.warning("Function fetcher interrupted while processing API futures."); - break; - } - try { - List routinesResult = apiFuture.get(); - if (routinesResult != null) { - for (Routine routine : routinesResult) { - if (Thread.currentThread().isInterrupted()) { - break; - } - String routineType = routine.getRoutineType(); - if ("SCALAR_FUNCTION".equalsIgnoreCase(routineType) - || "TABLE_FUNCTION".equalsIgnoreCase(routineType)) { - LOG.fine( - "Processing function sequentially: " - + routine.getRoutineId() - + " of type " - + routineType); - processFunctionInfo(routine, collectedResults, localResultSchemaFields); + BlockingQueue queue = + fetchAndPopulateQueue( + () -> { + final List collectedResults = + Collections.synchronizedList(new ArrayList<>()); + processTargetRoutinesConcurrently( + targetDatasets, + functionNamePattern, + true, + true, + collectedResults, + resultSchemaFields, + (routine, results, fields) -> { + if (!"SCALAR_FUNCTION".equalsIgnoreCase(routine.getRoutineType()) + && !"TABLE_FUNCTION".equalsIgnoreCase(routine.getRoutineType())) { + return; } - } - } - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - LOG.warning( - "Function fetcher thread interrupted while waiting for API future result."); - break; - } catch (CancellationException e) { - LOG.warning( - "Cancellation in findMatchingRoutines (for functions) task: " + e.getMessage()); - } - } - Comparator comparator = - defineGetFunctionsComparator(localResultSchemaFields); - sortResults(collectedResults, comparator, "getFunctions", LOG); - populateQueue(collectedResults, queue, localResultSchemaFields); - } catch (Throwable t) { - handleFetcherException(t, queue, "getFunctions"); - } finally { - apiFutures.forEach(f -> f.cancel(true)); - finalizeFetcher(queue, localResultSchemaFields, "Function fetcher"); - } - }; - - Future fetcherFuture = connection.getExecutorService().submit(functionFetcher); - BigQueryJsonResultSet resultSet = - BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); - - LOG.info("Started background thread for getFunctions"); - return resultSet; + processFunctionInfo(routine, results, fields); + }, + RoutineOption.fields( + RoutineField.ROUTINE_REFERENCE, + RoutineField.ARGUMENTS, + RoutineField.ROUTINE_TYPE)); + + Comparator comparator = + defineGetFunctionsComparator(resultSchemaFields); + sortResults(collectedResults, comparator, "getFunctions", LOG); + return collectedResults; + }, + resultSchemaFields); + return BigQueryJsonResultSet.of(resultSchema, -1, queue, null); } Schema defineGetFunctionsSchema() { @@ -4047,97 +3513,59 @@ Comparator defineGetFunctionsComparator(FieldList resultSchemaFi @Override public ResultSet getFunctionColumns( - String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) { - if (catalog != null && catalog.isEmpty()) { - LOG.warning("Returning empty ResultSet catalog (project) is empty."); - return new BigQueryJsonResultSet(); - } - if ((schemaPattern != null && schemaPattern.isEmpty()) + String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) + throws SQLException { + LOG.info( + "getFunctionColumns called for catalog: %s, schemaPattern: %s, functionNamePattern: %s, columnNamePattern: %s", + catalog, schemaPattern, functionNamePattern, columnNamePattern); + + if ((catalog != null && catalog.isEmpty()) + || (schemaPattern != null && schemaPattern.isEmpty()) || (functionNamePattern != null && functionNamePattern.isEmpty()) || (columnNamePattern != null && columnNamePattern.isEmpty())) { - LOG.warning("Returning empty ResultSet because an explicit empty pattern was provided."); + LOG.warning( + "Returning empty ResultSet as one or more patterns are empty or catalog is empty."); return new BigQueryJsonResultSet(); } - LOG.info( - "getFunctionColumns called for catalog: %s, schemaPattern: %s, functionNamePattern: %s," - + " columnNamePattern: %s", - catalog, schemaPattern, functionNamePattern, columnNamePattern); - - final Pattern schemaRegex = compileSqlLikePattern(schemaPattern); - final Pattern functionNameRegex = compileSqlLikePattern(functionNamePattern); - final Pattern columnNameRegex = compileSqlLikePattern(columnNamePattern); - final Schema resultSchema = defineGetFunctionColumnsSchema(); final FieldList resultSchemaFields = resultSchema.getFields(); - final BlockingQueue queue = - new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); - final List collectedResults = Collections.synchronizedList(new ArrayList<>()); - final String catalogParam = catalog; - - Runnable functionColumnFetcher = - () -> { - ExecutorService listRoutinesExecutor = null; - ExecutorService getRoutineDetailsExecutor = null; - - try { - List datasetsToScan = - fetchMatchingDatasets(catalogParam, schemaPattern, schemaRegex); - - if (datasetsToScan.isEmpty() || Thread.currentThread().isInterrupted()) { - LOG.info( - "Fetcher: No matching datasets or interrupted early. Catalog: " + catalogParam); - return; - } - - listRoutinesExecutor = connection.getMetadataExecutor(); - List functionIdsToGet = - listMatchingFunctionIdsFromDatasets( - datasetsToScan, - functionNamePattern, - functionNameRegex, - listRoutinesExecutor, - catalogParam, - LOG); - listRoutinesExecutor = null; - - if (functionIdsToGet.isEmpty() || Thread.currentThread().isInterrupted()) { - LOG.info("Fetcher: No function IDs found or interrupted. Catalog: " + catalogParam); - return; - } + List targetDatasets = getTargetDatasets(catalog, schemaPattern); - getRoutineDetailsExecutor = connection.getMetadataExecutor(); - List fullFunctions = - fetchFullRoutineDetailsForIds(functionIdsToGet, getRoutineDetailsExecutor, LOG); - getRoutineDetailsExecutor = null; - - if (fullFunctions.isEmpty() || Thread.currentThread().isInterrupted()) { - LOG.info( - "Fetcher: No full functions fetched or interrupted. Catalog: " + catalogParam); - return; - } - - processFunctionParametersSequentially( - fullFunctions, columnNameRegex, collectedResults, resultSchemaFields, LOG); - - Comparator comparator = - defineGetFunctionColumnsComparator(resultSchemaFields); - sortResults(collectedResults, comparator, "getFunctionColumns", LOG); - populateQueue(collectedResults, queue, resultSchemaFields); - - } catch (Throwable t) { - handleFetcherException(t, queue, "getFunctionColumns"); - } finally { - finalizeFetcher(queue, resultSchemaFields, "Function column fetcher"); - } - }; - - Future fetcherFuture = connection.getExecutorService().submit(functionColumnFetcher); - BigQueryJsonResultSet resultSet = - BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); + Pattern columnNameRegex = compileSqlLikePattern(columnNamePattern); - LOG.info("Started background thread for getFunctionColumns for catalog: " + catalog); - return resultSet; + BlockingQueue queue = + fetchAndPopulateQueue( + () -> { + final List collectedResults = + Collections.synchronizedList(new ArrayList<>()); + processTargetRoutinesConcurrently( + targetDatasets, + functionNamePattern, + true, + true, + collectedResults, + resultSchemaFields, + (routine, results, fields) -> { + if (!"SCALAR_FUNCTION".equalsIgnoreCase(routine.getRoutineType()) + && !"TABLE_FUNCTION".equalsIgnoreCase(routine.getRoutineType())) { + return; + } + processFunctionParametersAndReturnValue( + routine, columnNameRegex, results, fields); + }, + RoutineOption.fields( + RoutineField.ROUTINE_REFERENCE, + RoutineField.ARGUMENTS, + RoutineField.ROUTINE_TYPE)); + + Comparator comparator = + defineGetFunctionColumnsComparator(resultSchemaFields); + sortResults(collectedResults, comparator, "getFunctionColumns", LOG); + return collectedResults; + }, + resultSchemaFields); + return BigQueryJsonResultSet.of(resultSchema, -1, queue, null); } Schema defineGetFunctionColumnsSchema() { @@ -4207,123 +3635,6 @@ Schema defineGetFunctionColumnsSchema() { return Schema.of(fields); } - List listMatchingFunctionIdsFromDatasets( - List datasetsToScan, - String functionNamePattern, - Pattern functionNameRegex, - ExecutorService listRoutinesExecutor, - String catalogParam, - BigQueryJdbcCustomLogger logger) - throws InterruptedException, ExecutionException { - - logger.fine( - "Listing matching function IDs from %d datasets for catalog '%s'.", - datasetsToScan.size(), catalogParam); - final List>> listRoutineFutures = new ArrayList<>(); - final List functionIdsToGet = Collections.synchronizedList(new ArrayList<>()); - - for (Dataset dataset : datasetsToScan) { - if (Thread.currentThread().isInterrupted()) { - logger.warning( - "Interrupted during submission of routine (function) listing tasks for catalog: " - + catalogParam); - throw new InterruptedException("Interrupted while listing functions"); - } - final DatasetId currentDatasetId = dataset.getDatasetId(); - Callable> listCallable = - () -> - findMatchingBigQueryObjects( - "Routine", - () -> - bigquery.listRoutines( - currentDatasetId, RoutineListOption.pageSize(DEFAULT_PAGE_SIZE)), - (name) -> - bigquery.getRoutine( - RoutineId.of( - currentDatasetId.getProject(), currentDatasetId.getDataset(), name)), - (rt) -> rt.getRoutineId().getRoutine(), - functionNamePattern, - functionNameRegex, - false); - listRoutineFutures.add(listRoutinesExecutor.submit(Context.current().wrap(listCallable))); - } - logger.fine( - "Submitted " - + listRoutineFutures.size() - + " routine (function) list tasks for catalog: " - + catalogParam); - - for (Future> listFuture : listRoutineFutures) { - if (Thread.currentThread().isInterrupted()) { - logger.warning( - "Interrupted while collecting routine (function) list results for catalog: " - + catalogParam); - listRoutineFutures.forEach(f -> f.cancel(true)); - throw new InterruptedException("Interrupted while collecting function lists"); - } - try { - List listedRoutines = listFuture.get(); - if (listedRoutines != null) { - for (Routine listedRoutine : listedRoutines) { - if (listedRoutine != null - && ("SCALAR_FUNCTION".equalsIgnoreCase(listedRoutine.getRoutineType()) - || "TABLE_FUNCTION".equalsIgnoreCase(listedRoutine.getRoutineType()))) { - if (listedRoutine.getRoutineId() != null) { - functionIdsToGet.add(listedRoutine.getRoutineId()); - } else { - logger.warning( - "Found a function type routine with a null ID during listing phase for catalog:" - + " " - + catalogParam); - } - } - } - } - } catch (CancellationException e) { - logger.warning("Routine (function) list task cancelled for catalog: " + catalogParam); - } - } - logger.info( - "Found %d function IDs to fetch details for in catalog '%s'.", - functionIdsToGet.size(), catalogParam); - return functionIdsToGet; - } - - void processFunctionParametersSequentially( - List fullFunctions, - Pattern columnNameRegex, - List collectedResults, - FieldList resultSchemaFields, - BigQueryJdbcCustomLogger logger) - throws InterruptedException { - logger.fine("Processing parameter jobs sequentially for %d functions.", fullFunctions.size()); - - for (Routine fullFunction : fullFunctions) { - if (Thread.currentThread().isInterrupted()) { - logger.warning("Interrupted during function parameter processing."); - throw new InterruptedException( - "Interrupted while processing function parameters sequentially"); - } - if (fullFunction != null) { - String routineType = fullFunction.getRoutineType(); - if ("SCALAR_FUNCTION".equalsIgnoreCase(routineType) - || "TABLE_FUNCTION".equalsIgnoreCase(routineType)) { - processFunctionParametersAndReturnValue( - fullFunction, columnNameRegex, collectedResults, resultSchemaFields); - } else { - logger.warning( - "Routine " - + (fullFunction.getRoutineId() != null - ? fullFunction.getRoutineId().toString() - : "UNKNOWN_ID") - + " fetched for getFunctionColumns was not of a function type (Type: " - + routineType - + "). Skipping parameter processing."); - } - } - } - } - void processFunctionParametersAndReturnValue( Routine routine, Pattern columnNameRegex, @@ -4900,7 +4211,11 @@ private static boolean isRegexMetacharacter(char c) { } boolean needsListing(String pattern) { - return pattern == null || pattern.contains("%") || pattern.contains("_"); + return pattern == null || hasWildcards(pattern); + } + + boolean hasWildcards(String pattern) { + return pattern != null && (pattern.contains("%") || pattern.contains("_")); } FieldValue createStringFieldValue(String value) { @@ -4940,38 +4255,46 @@ private Long getLongValueOrNull(FieldValueList fvl, int index) { } } - private void waitForTasksCompletion(List> taskFutures) throws ExecutionException { + private void waitForTasksCompletion(List> taskFutures) + throws ExecutionException, SQLException { LOG.info("Waiting for %d submitted tasks to complete...", taskFutures.size()); - for (Future future : taskFutures) { - try { + try { + for (Future future : taskFutures) { if (!future.isCancelled()) { future.get(); } - } catch (CancellationException e) { - LOG.warning("A table processing task was cancelled."); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - LOG.warning( - "Fetcher thread interrupted while waiting for tasks. Attempting to cancel remaining" - + " tasks."); - taskFutures.forEach(f -> f.cancel(true)); - break; + } + } catch (CancellationException e) { + LOG.warning("A table processing task was cancelled."); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + LOG.warning( + "Fetcher thread interrupted while waiting for tasks. Attempting to cancel remaining tasks."); + throw new SQLException("Metadata fetch interrupted.", e); + } finally { + for (Future future : taskFutures) { + if (!future.isDone()) { + future.cancel(true); + } } } LOG.info("Finished waiting for tasks."); } - private Future populateQueueAsync( - List collectedResults, - BlockingQueue queue, - FieldList resultSchemaFields) { - return connection - .getMetadataExecutor() - .submit( - () -> { - populateQueue(collectedResults, queue, resultSchemaFields); - signalEndOfData(queue, resultSchemaFields); - }); + private BlockingQueue fetchAndPopulateQueue( + Callable> task, FieldList resultSchemaFields) throws SQLException { + BlockingQueue queue = new LinkedBlockingQueue<>(); + try { + List collectedResults = task.call(); + populateQueue(collectedResults, queue, resultSchemaFields); + signalEndOfData(queue, resultSchemaFields); + return queue; + } catch (Exception e) { + if (e instanceof SQLException) { + throw (SQLException) e; + } + throw new SQLException("Error during metadata fetch", e); + } } private void populateQueue( @@ -4998,48 +4321,13 @@ private void populateQueue( } } - private void handleFetcherException( - Throwable t, BlockingQueue queue, String fetcherName) { - if (t instanceof ExecutionException && t.getCause() != null) { - t = t.getCause(); - } - if (t instanceof InterruptedException) { - Thread.currentThread().interrupt(); - LOG.warning("Fetcher interrupted in " + fetcherName + ": " + t.getMessage()); - } else { - LOG.severe("Unexpected error in " + fetcherName + ": " + t.getMessage()); - } - writeErrorToQueue(queue, t); - } - - private void finalizeFetcher( - BlockingQueue queue, FieldList schema, String fetcherName) { - if (Thread.currentThread().isInterrupted()) { - writeErrorToQueue(queue, new SQLException("Metadata fetch interrupted.")); - } - signalEndOfData(queue, schema); - LOG.info(fetcherName + " finished."); - } - private void signalEndOfData( BlockingQueue queue, FieldList resultSchemaFields) { try { LOG.info("Adding end signal to queue."); BigQueryFieldValueListWrapper element = BigQueryFieldValueListWrapper.ofEndOfStream(resultSchemaFields); - if (!queue.offer(element)) { - boolean wasInterrupted = Thread.interrupted(); - try { - queue.put(element); - } catch (InterruptedException e) { - LOG.warning("Interrupted while sending end signal to queue."); - wasInterrupted = true; - } finally { - if (wasInterrupted) { - Thread.currentThread().interrupt(); - } - } - } + queue.add(element); } catch (Exception e) { LOG.severe("Exception while sending end signal to queue: " + e.getMessage()); } @@ -5102,9 +4390,6 @@ private List fetchMatchingDatasets( } waitForTasksCompletion(taskFutures); - if (Thread.currentThread().isInterrupted()) { - throw new SQLException("Interrupted while parallel-fetching matching datasets"); - } } catch (ExecutionException e) { Throwable cause = e.getCause(); if (cause instanceof SQLException) { @@ -5152,46 +4437,31 @@ private boolean equalsOrNullMatchesAll(String expected, String actual) { return expected == null || expected.equals(actual); } - private void writeErrorToQueue(BlockingQueue queue, Throwable t) { - Exception ex = (t instanceof Exception) ? (Exception) t : new Exception(t); - BigQueryFieldValueListWrapper element = BigQueryFieldValueListWrapper.ofError(ex); - if (!queue.offer(element)) { - boolean wasInterrupted = Thread.interrupted(); - try { - queue.put(element); - } catch (InterruptedException ie) { - LOG.warning("Failed to put exception to queue due to interruption."); - wasInterrupted = true; - } finally { - if (wasInterrupted) { - Thread.currentThread().interrupt(); - } - } - } - } - - private List getTargetDatasets(String catalog, String schema) throws SQLException { - if (schema == null) { - List datasets = fetchMatchingDatasets(catalog, null, null); - List datasetIds = new ArrayList<>(datasets.size()); - for (Dataset dataset : datasets) { - datasetIds.add(dataset.getDatasetId()); + private List getTargetDatasets(String catalog, String schemaPattern, boolean isPattern) + throws SQLException { + if (schemaPattern != null && (!isPattern || !hasWildcards(schemaPattern))) { + List projects = resolveTargetProjects(catalog); + List datasetIds = new ArrayList<>(projects.size()); + for (String project : projects) { + datasetIds.add(DatasetId.of(project, schemaPattern)); } return datasetIds; } - if (schema.isEmpty()) { - return Collections.emptyList(); - } - - List projects = resolveTargetProjects(catalog); - List datasetIds = new ArrayList<>(projects.size()); - for (String project : projects) { - datasetIds.add(DatasetId.of(project, schema)); + Pattern schemaRegex = compileSqlLikePattern(schemaPattern); + List datasets = fetchMatchingDatasets(catalog, schemaPattern, schemaRegex); + List datasetIds = new ArrayList<>(datasets.size()); + for (Dataset dataset : datasets) { + datasetIds.add(dataset.getDatasetId()); } return datasetIds; } + private List getTargetDatasets(String catalog, String schemaPattern) + throws SQLException { + return getTargetDatasets(catalog, schemaPattern, true); + } + private List resolveTargetProjects(String catalog) throws SQLException { return (catalog != null) ? Collections.singletonList(catalog) : getAccessibleCatalogNames(); } @@ -5205,108 +4475,318 @@ void process(Table bqTable, List collectedResults, FieldList res private void processSingleTable( DatasetId datasetId, String tableName, + Table preFetchedTable, + boolean requireBaseTable, List collectedResults, FieldList resultSchemaFields, - TableProcessor processor) + TableProcessor processor, + TableOption... options) throws SQLException { - Table bqTable; - try { - bqTable = - bigquery.getTable(TableId.of(datasetId.getProject(), datasetId.getDataset(), tableName)); - } catch (BigQueryException e) { - if (e.getCode() == 404) { - LOG.info( - "Table '%s' or dataset '%s' not found in project '%s' (API error 404). Skipping.", - tableName, datasetId.getDataset(), datasetId.getProject()); - bqTable = null; - } else { + Table bqTable = preFetchedTable; + if (bqTable == null) { + try { + bqTable = + bigquery.getTable( + TableId.of(datasetId.getProject(), datasetId.getDataset(), tableName), options); + } catch (BigQueryException e) { + if (e.getCode() == 404) { + LOG.info( + "Table '%s' or dataset '%s' not found in project '%s' (API error 404). Skipping.", + tableName, datasetId.getDataset(), datasetId.getProject()); + return; + } + throw new SQLException("Error while fetching table metadata: " + e.getMessage(), e); + } catch (Exception e) { throw new SQLException("Error while fetching table metadata: " + e.getMessage(), e); } - } catch (Exception e) { - throw new SQLException("Error while fetching table metadata: " + e.getMessage(), e); } - if (bqTable != null && bqTable.getDefinition() != null) { - processor.process(bqTable, collectedResults, resultSchemaFields); + + if (bqTable == null || bqTable.getDefinition() == null) { + return; + } + if (requireBaseTable && bqTable.getDefinition().getType() != TableDefinition.Type.TABLE) { + return; } + processor.process(bqTable, collectedResults, resultSchemaFields); } - private void processTargetTablesConcurrently( - List targetDatasets, - String tableName, + private interface RoutineProcessor { + void process( + Routine routine, List collectedResults, FieldList resultSchemaFields) + throws SQLException; + } + + private void processSingleRoutine( + DatasetId datasetId, + String routineName, + Routine preFetchedRoutine, List collectedResults, FieldList resultSchemaFields, - TableProcessor processor) + RoutineProcessor processor, + RoutineOption... options) throws SQLException { - if (targetDatasets.size() == 1 && tableName != null) { - processSingleTable( - targetDatasets.get(0), tableName, collectedResults, resultSchemaFields, processor); + Routine routine = preFetchedRoutine; + if (routine == null) { + try { + routine = + bigquery.getRoutine( + RoutineId.of(datasetId.getProject(), datasetId.getDataset(), routineName), options); + } catch (BigQueryException e) { + if (e.getCode() == 404) { + LOG.info("Routine '%s' not found. Skipping.", routineName); + return; + } + throw new SQLException("Error while fetching routine metadata: " + e.getMessage(), e); + } catch (Exception e) { + throw new SQLException("Error while fetching routine metadata: " + e.getMessage(), e); + } + } + + if (routine == null) { return; } + processor.process(routine, collectedResults, resultSchemaFields); + } - ExecutorService executor = connection.getMetadataExecutor(); - List> taskFutures = new ArrayList<>(); + private void processTargetRoutinesConcurrently( + List targetDatasets, + String routineNamePattern, + boolean isPattern, + boolean requiresFullRoutine, + List collectedResults, + FieldList resultSchemaFields, + RoutineProcessor processor, + RoutineOption... options) + throws SQLException { + + boolean hasWildcards = isPattern && hasWildcards(routineNamePattern); + Pattern routineRegex = compileSqlLikePattern(routineNamePattern); + boolean isLiteralName = routineNamePattern != null && !hasWildcards; + + ExecutorService apiExecutor = connection.getMetadataExecutor(); + List> activeFutures = new ArrayList<>(); try { - List> tasks = new ArrayList<>(); - for (DatasetId datasetId : targetDatasets) { - if (tableName != null) { - tasks.add( + List> detailTasks = new ArrayList<>(); + + if (isLiteralName) { + for (DatasetId datasetId : targetDatasets) { + detailTasks.add( () -> { - processSingleTable( - datasetId, tableName, collectedResults, resultSchemaFields, processor); + processSingleRoutine( + datasetId, + routineNamePattern, + null, + collectedResults, + resultSchemaFields, + processor, + options); return null; }); - continue; + } + } else { + List>>> listFutures = new ArrayList<>(); + for (DatasetId datasetId : targetDatasets) { + Future>> future = + apiExecutor.submit( + Context.current() + .wrap( + () -> { + List> tasks = new ArrayList<>(); + try { + Page routinesPage = + bigquery.listRoutines( + datasetId, + BigQuery.RoutineListOption.pageSize(DEFAULT_PAGE_SIZE)); + for (Routine routine : routinesPage.iterateAll()) { + if (Thread.currentThread().isInterrupted()) { + throw new InterruptedException( + "Interrupted while listing routines."); + } + String routineName = routine.getRoutineId().getRoutine(); + if (routineRegex != null + && !routineRegex.matcher(routineName).matches()) { + continue; + } + tasks.add( + () -> { + processSingleRoutine( + datasetId, + requiresFullRoutine ? routineName : null, + requiresFullRoutine ? null : routine, + collectedResults, + resultSchemaFields, + processor, + options); + return null; + }); + } + } catch (BigQueryException e) { + if (e.getCode() == 404) { + LOG.info( + "Dataset '%s' not found while listing routines. Skipping.", + datasetId); + } else { + throw new SQLException( + "Error while listing routines: " + e.getMessage(), e); + } + } + return tasks; + })); + listFutures.add(future); + activeFutures.add(future); } - try { - Page
tablesPage = - bigquery.listTables(datasetId, TableListOption.pageSize(DEFAULT_PAGE_SIZE)); - if (tablesPage == null) { - continue; - } - for (Table table : tablesPage.iterateAll()) { - if (table.getDefinition() == null - || table.getDefinition().getType() != TableDefinition.Type.TABLE) { - continue; - } - tasks.add( - () -> { - processSingleTable( - datasetId, - table.getTableId().getTable(), - collectedResults, - resultSchemaFields, - processor); - return null; - }); - } - } catch (BigQueryException e) { - if (e.getCode() == 404) { - LOG.info( - "Dataset '%s' not found in project '%s' (API error 404). Skipping.", - datasetId.getDataset(), datasetId.getProject()); - continue; - } - throw new SQLException("Error while listing tables: " + e.getMessage(), e); + for (Future>> future : listFutures) { + detailTasks.addAll(future.get()); } + activeFutures.clear(); // Clear so we don't hold references unnecessarily } - for (Callable task : tasks) { - taskFutures.add(executor.submit(task)); + for (Callable task : detailTasks) { + activeFutures.add(apiExecutor.submit(Context.current().wrap(task))); } - waitForTasksCompletion(taskFutures); - if (Thread.currentThread().isInterrupted()) { - throw new SQLException("Interrupted while parallel-fetching metadata"); + waitForTasksCompletion(activeFutures); + } catch (ExecutionException e) { + Throwable cause = e.getCause(); + if (cause instanceof SQLException) { + throw (SQLException) cause; + } + throw new SQLException("Error while fetching metadata", e); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new SQLException("Interrupted while processing routines.", e); + } finally { + activeFutures.forEach(future -> future.cancel(true)); + } + } + + private void processTargetTablesConcurrently( + List targetDatasets, + String tableNamePattern, + boolean isPattern, + boolean requireBaseTable, + boolean requiresFullTable, + List collectedResults, + FieldList resultSchemaFields, + TableProcessor processor, + TableOption... options) + throws SQLException { + + boolean hasWildcards = isPattern && hasWildcards(tableNamePattern); + Pattern tableRegex = compileSqlLikePattern(tableNamePattern); + boolean isLiteralName = tableNamePattern != null && !hasWildcards; + + ExecutorService apiExecutor = connection.getMetadataExecutor(); + List> activeFutures = new ArrayList<>(); + + try { + // Stage 1: Discover target tables across datasets. + List> detailTasks = new ArrayList<>(); + + // For literal names, bypass listTables to avoid unnecessary API calls + if (isLiteralName) { + for (DatasetId datasetId : targetDatasets) { + detailTasks.add( + () -> { + processSingleTable( + datasetId, + tableNamePattern, + null, + requireBaseTable, + collectedResults, + resultSchemaFields, + processor, + options); + return null; + }); + } + // For wildcards/nulls, list matching tables across target datasets. + } else { + List>>> listFutures = new ArrayList<>(); + for (DatasetId datasetId : targetDatasets) { + Future>> future = + apiExecutor.submit( + Context.current() + .wrap( + () -> { + List> tasks = new ArrayList<>(); + try { + Page
tablesPage = + bigquery.listTables( + datasetId, + BigQuery.TableListOption.pageSize(DEFAULT_PAGE_SIZE)); + for (Table table : tablesPage.iterateAll()) { + if (Thread.currentThread().isInterrupted()) { + throw new InterruptedException( + "Interrupted while listing tables."); + } + if (requireBaseTable + && table.getDefinition() != null + && table.getDefinition().getType() + != TableDefinition.Type.TABLE) { + continue; + } + String tableName = table.getTableId().getTable(); + if (tableRegex != null + && !tableRegex.matcher(tableName).matches()) { + continue; + } + // Collect task in memory to be executed in Stage 2 after listing + // completes. + tasks.add( + () -> { + processSingleTable( + datasetId, + requiresFullTable ? tableName : null, + requiresFullTable ? null : table, + requireBaseTable, + collectedResults, + resultSchemaFields, + processor, + options); + return null; + }); + } + } catch (BigQueryException e) { + if (e.getCode() == 404) { + LOG.info( + "Dataset '%s' not found while listing tables. Skipping.", + datasetId); + } else { + throw new SQLException( + "Error while listing tables: " + e.getMessage(), e); + } + } + return tasks; + })); + listFutures.add(future); + activeFutures.add(future); + } + + // Wait for listing tasks to finish before submitting detail tasks to the pool. + for (Future>> future : listFutures) { + detailTasks.addAll(future.get()); + } + activeFutures.clear(); // Clear so we don't hold references unnecessarily } + + // Stage 2: Execute table metadata processing concurrently. + for (Callable task : detailTasks) { + activeFutures.add(apiExecutor.submit(Context.current().wrap(task))); + } + waitForTasksCompletion(activeFutures); } catch (ExecutionException e) { Throwable cause = e.getCause(); if (cause instanceof SQLException) { throw (SQLException) cause; } throw new SQLException("Error while fetching metadata", e); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new SQLException("Interrupted while processing tables.", e); } finally { - taskFutures.forEach(future -> future.cancel(true)); + activeFutures.forEach(future -> future.cancel(true)); } } diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcRootLogger.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcRootLogger.java index 5897166a3a85..b6e1b13afc7e 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcRootLogger.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcRootLogger.java @@ -17,6 +17,9 @@ package com.google.cloud.bigquery.jdbc; import com.google.common.base.Strings; +import io.opentelemetry.api.trace.Span; +import io.opentelemetry.api.trace.SpanContext; +import io.opentelemetry.context.Context; import java.io.IOException; import java.lang.management.ManagementFactory; import java.time.Instant; @@ -84,6 +87,18 @@ public static Formatter getFormatter() { return new Formatter() { private static final int MAX_THREAD_NAME_LENGTH = 15; + private void appendTraceBlock(StringBuilder sb) { + SpanContext spanContext = Span.fromContext(Context.current()).getSpanContext(); + if (!spanContext.isValid()) { + return; + } + sb.append("[trace_id=") + .append(spanContext.getTraceId()) + .append(" span_id=") + .append(spanContext.getSpanId()) + .append("] "); + } + @Override public String format(LogRecord record) { String date = DATE_FORMATTER.format(Instant.ofEpochMilli(record.getMillis())); @@ -114,14 +129,12 @@ public String format(LogRecord record) { : record.getLoggerName(); String sourceMethodName = record.getSourceMethodName(); - // Expected log format: yyyy-MM-dd HH:mm:ss.SSS [CONNECTION_ID] LEVEL PID --- [THREAD] CLASS - // METHOD: MESSAGE + // Expected log format: yyyy-MM-dd HH:mm:ss.SSS [CONNECTION_ID] [trace_id= + // span_id=] LEVEL PID --- [THREAD] CLASS METHOD: MESSAGE StringBuilder sb = new StringBuilder(256); - sb.append(date) - .append(" [") - .append(connStr) - .append("] ") - .append(Strings.padEnd(record.getLevel().getName(), 7, ' ')) + sb.append(date).append(" [").append(connStr).append("] "); + appendTraceBlock(sb); + sb.append(Strings.padEnd(record.getLevel().getName(), 7, ' ')) .append(" ") .append(PROCESS_ID) .append(" --- [") diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaDataTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaDataTest.java index a41bfe8939ad..6535fd20997c 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaDataTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaDataTest.java @@ -31,7 +31,6 @@ import com.google.api.gax.paging.Page; import com.google.cloud.bigquery.*; -import com.google.cloud.bigquery.BigQuery.RoutineListOption; import com.google.cloud.bigquery.exception.BigQueryJdbcException; import com.google.cloud.bigquery.jdbc.BigQueryJdbcTypeMappings.ColumnTypeInfo; import io.opentelemetry.api.common.AttributeKey; @@ -49,11 +48,8 @@ import java.sql.Statement; import java.sql.Types; import java.util.*; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import java.util.concurrent.Future; import java.util.regex.Pattern; import java.util.stream.Stream; import org.junit.jupiter.api.AfterEach; @@ -761,7 +757,7 @@ public void testProcessSchemaInfo() { String schemaName = "dataset_beta"; Dataset dataset = mockBigQueryDataset(catalog, schemaName); - dbMetadata.processSchemaInfo(dataset, collectedResults, resultSchemaFields); + dbMetadata.processSchemaInfo(dataset.getDatasetId(), collectedResults, resultSchemaFields); assertEquals(1, collectedResults.size()); FieldValueList row = collectedResults.get(0); @@ -1614,96 +1610,6 @@ public void testDefineGetProcedureColumnsComparator() { assertEquals("param_a", results.get(4).get("COLUMN_NAME").getStringValue()); } - @Test - public void testListMatchingProcedureIdsFromDatasets() throws Exception { - String catalog = "test-proj"; - String schema1Name = "dataset1"; - String schema2Name = "dataset2"; - Dataset dataset1 = mockBigQueryDataset(catalog, schema1Name); - Dataset dataset2 = mockBigQueryDataset(catalog, schema2Name); - List datasetsToScan = Arrays.asList(dataset1, dataset2); - - Routine proc1_ds1 = mockBigQueryRoutine(catalog, schema1Name, "proc_a", "PROCEDURE", "desc a"); - Routine func1_ds1 = mockBigQueryRoutine(catalog, schema1Name, "func_b", "FUNCTION", "desc b"); - Routine proc2_ds2 = mockBigQueryRoutine(catalog, schema2Name, "proc_c", "PROCEDURE", "desc c"); - - Page page1 = mock(Page.class, withSettings().withoutAnnotations()); - when(page1.iterateAll()).thenReturn(Arrays.asList(proc1_ds1, func1_ds1)); - when(bigqueryClient.listRoutines(eq(dataset1.getDatasetId()), any(RoutineListOption.class))) - .thenReturn(page1); - - Page page2 = mock(Page.class, withSettings().withoutAnnotations()); - when(page2.iterateAll()).thenReturn(Collections.singletonList(proc2_ds2)); - when(bigqueryClient.listRoutines(eq(dataset2.getDatasetId()), any(RoutineListOption.class))) - .thenReturn(page2); - - ExecutorService mockExecutor = mock(ExecutorService.class); - doAnswer( - invocation -> { - Callable callable = invocation.getArgument(0); - @SuppressWarnings("unchecked") // Suppress warning for raw Future mock - Future mockedFuture = mock(Future.class); - - try { - Object result = callable.call(); - doReturn(result).when(mockedFuture).get(); - } catch (InterruptedException interruptedException) { - doThrow(interruptedException).when(mockedFuture).get(); - } catch (Exception e) { - doThrow(new ExecutionException(e)).when(mockedFuture).get(); - } - return mockedFuture; - }) - .when(mockExecutor) - .submit(any(Callable.class)); - - List resultIds = - dbMetadata.listMatchingProcedureIdsFromDatasets( - datasetsToScan, null, null, mockExecutor, catalog, dbMetadata.LOG); - - assertEquals(2, resultIds.size()); - assertTrue(resultIds.contains(proc1_ds1.getRoutineId())); - assertTrue(resultIds.contains(proc2_ds2.getRoutineId())); - assertFalse(resultIds.contains(func1_ds1.getRoutineId())); // Should not contain functions - - verify(mockExecutor, times(2)).submit(any(Callable.class)); - } - - @Test - public void testProcessProcedureArgumentsSequentially_Basic() throws InterruptedException { - String catalog = "p"; - String schemaName = "d"; - RoutineArgument arg1 = mockRoutineArgument("arg1_name", StandardSQLTypeName.STRING, "IN"); - Routine proc1 = - mockBigQueryRoutineWithArgs( - catalog, schemaName, "proc1", "PROCEDURE", "desc1", Collections.singletonList(arg1)); - Routine func1 = - mockBigQueryRoutineWithArgs( - catalog, - schemaName, - "func1", - "FUNCTION", - "desc_func", - Collections.emptyList()); // Should be skipped - Routine proc2 = - mockBigQueryRoutineWithArgs( - catalog, schemaName, "proc2", "PROCEDURE", "desc2", Collections.emptyList()); - - List fullRoutines = Arrays.asList(proc1, func1, proc2); - Pattern columnNameRegex = null; - List collectedResults = Collections.synchronizedList(new ArrayList<>()); - Schema resultSchema = dbMetadata.defineGetProcedureColumnsSchema(); - FieldList resultSchemaFields = resultSchema.getFields(); - - dbMetadata.processProcedureArgumentsSequentially( - fullRoutines, columnNameRegex, collectedResults, resultSchemaFields, dbMetadata.LOG); - - // Only proc1 has arguments, so collectedResults should contain 1 row. - assertEquals(1, collectedResults.size()); - FieldValueList row = collectedResults.get(0); - assertEquals("arg1_name", row.get("COLUMN_NAME").getStringValue()); - } - @Test public void testDefineGetTableTypesSchema() { Schema schema = BigQueryDatabaseMetaData.defineGetTableTypesSchema(); diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcRootLoggerTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcRootLoggerTest.java index addae7b907bc..82ca5e003767 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcRootLoggerTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcRootLoggerTest.java @@ -20,6 +20,11 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; +import io.opentelemetry.api.trace.Span; +import io.opentelemetry.api.trace.SpanContext; +import io.opentelemetry.api.trace.TraceFlags; +import io.opentelemetry.api.trace.TraceState; +import io.opentelemetry.context.Scope; import java.util.logging.Formatter; import java.util.logging.Level; import java.util.logging.LogRecord; @@ -71,4 +76,23 @@ public void testGetThreadNameNotFound() { String name = BigQueryJdbcRootLogger.getThreadName(-1); assertEquals("", name); } + + @Test + public void testFormatterWithOpenTelemetrySpan() { + SpanContext spanContext = + SpanContext.create( + "00000000000000000000000000000001", + "0000000000000002", + TraceFlags.getDefault(), + TraceState.getDefault()); + Span span = Span.wrap(spanContext); + try (Scope scope = span.makeCurrent()) { + Formatter formatter = BigQueryJdbcRootLogger.getFormatter(); + LogRecord record = new LogRecord(Level.INFO, "Test message with span"); + String formatted = formatter.format(record); + assertTrue( + formatted.contains( + "[trace_id=00000000000000000000000000000001 span_id=0000000000000002] ")); + } + } } diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITAuthTests.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITAuthTests.java index f1895bd124f9..7175576a1b41 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITAuthTests.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITAuthTests.java @@ -35,6 +35,7 @@ import java.util.Arrays; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; @@ -110,6 +111,7 @@ public void testValidServiceAccountAuthenticationOAuthPvtKeyAsPath() } @Test + @Tag("advanced") public void testValidServiceAccountAuthenticationViaEmailAndPkcs8Key() throws SQLException, IOException { final JsonObject authJson = getAuthJson(); @@ -272,6 +274,7 @@ public void testValidExternalAccountAuthenticationRawJson() throws SQLException "https://www.googleapis.com/auth/bigquery.readonly, true", "https://www.googleapis.com/auth/bigquery, false" }) + @Tag("advanced") public void testValidPreGeneratedAccessTokenAuthentication(String scope, boolean isReadOnly) throws Exception { final JsonObject authJson = getAuthJson(); @@ -335,6 +338,7 @@ public void testValidApplicationDefaultCredentialsAuthentication() throws SQLExc // It requires account to have 'tokenCreator' permission, see // https://cloud.google.com/docs/authentication/use-service-account-impersonation#required-roles @Test + @Tag("advanced") public void testServiceAccountAuthenticationWithImpersonation() throws IOException, SQLException { final JsonObject authJson = getAuthJson(); @@ -350,6 +354,7 @@ public void testServiceAccountAuthenticationWithImpersonation() throws IOExcepti // This test uses the same client email for the main authorization and a chain of impersonations. // It requires the account to have 'tokenCreator' permission on itself. @Test + @Tag("advanced") public void testServiceAccountAuthenticationWithChainedImpersonation() throws IOException, SQLException { final JsonObject authJson = getAuthJson(); diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITBigQueryJDBCTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITBigQueryJDBCTest.java index 9df2f8b624e4..ecffb1aa25c9 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITBigQueryJDBCTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITBigQueryJDBCTest.java @@ -62,6 +62,7 @@ import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; public class ITBigQueryJDBCTest extends ITBase { @@ -101,6 +102,7 @@ public static void afterClass() throws SQLException { } @Test + @Tag("known_issue") // b/539615199 public void testValidAllDataTypesSerializationFromSelectQueryArrowDataset() throws SQLException { String DATASET = "JDBC_INTEGRATION_DATASET"; String TABLE_NAME = "JDBC_INTEGRATION_ARROW_TEST_TABLE"; @@ -2488,6 +2490,7 @@ private void validate( } @Test + @Tag("known_issue") // b/539615199 public void validateGetString() throws Exception { final ImmutableMap stringResults = new ImmutableMap.Builder() @@ -2660,6 +2663,7 @@ public void validateGetShort() throws Exception { } @Test + @Tag("known_issue") // b/539615199 public void validateGetTime() throws Exception { final ImmutableMap result = new ImmutableMap.Builder() @@ -2698,6 +2702,7 @@ public void validateGetDate() throws Exception { } @Test + @Tag("known_issue") // b/539615199 public void validateGetTimestamp() throws Exception { final ImmutableMap result = new ImmutableMap.Builder() diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITConnectionTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITConnectionTest.java index 506edf807e26..99eeb5339f8b 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITConnectionTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITConnectionTest.java @@ -38,6 +38,7 @@ import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; public class ITConnectionTest { @@ -61,6 +62,7 @@ public static void afterClass() throws InterruptedException { } @Test + @Tag("advanced") public void testGetMetaData() throws SQLException { Connection connection = DriverManager.getConnection(ITBase.connectionUrl); assertFalse(connection.isClosed()); @@ -338,6 +340,7 @@ public void testCreateSQLXML() throws SQLException { } @Test + @Tag("advanced") public void testCreateArray() throws SQLException { Connection connection = DriverManager.getConnection(ITBase.connectionUrl); assertThrows( diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITDatabaseMetadataTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITDatabaseMetadataTest.java index 036fb086074d..e7e080c427de 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITDatabaseMetadataTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITDatabaseMetadataTest.java @@ -45,6 +45,7 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; public class ITDatabaseMetadataTest extends ITBase { @@ -272,6 +273,7 @@ public void testGetPrimaryKeys() throws SQLException { } @Test + @Tag("advanced") public void testTableConstraints() throws SQLException { Connection connection = DriverManager.getConnection(ITBase.connectionUrl); ResultSet primaryKey1 = @@ -390,6 +392,7 @@ public void testGetExportedKeys_noKeys() throws SQLException { } @Test + @Tag("advanced") public void testMetadataResultSetsDoNotInterfere() throws SQLException { try (Connection connection = DriverManager.getConnection(ITBase.connectionUrl)) { DatabaseMetaData metaData = connection.getMetaData(); @@ -445,6 +448,7 @@ public void testDatabaseMetadataGetCatalogs() throws SQLException { } @Test + @Tag("advanced") public void testDatabaseMetadataGetProcedures() throws SQLException { Connection connection = DriverManager.getConnection(ITBase.connectionUrl); @@ -1188,6 +1192,7 @@ public void testAdditionalProjectsInMetadata() throws SQLException { } @Test + @Tag("advanced") public void testFilterTablesOnDefaultDataset_getTables() throws SQLException { String defaultDatasetValue = CONSTRAINTS_DATASET; @@ -1258,6 +1263,7 @@ public void testFilterTablesOnDefaultDataset_getTables() throws SQLException { } @Test + @Tag("advanced") public void testFilterTablesOnDefaultDataset_getColumns() throws SQLException { String defaultDatasetValue = CONSTRAINTS_DATASET; String tableInDefaultDataset = CONSTRAINTS_TABLE_NAME; diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITNightlyBigQueryTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITNightlyBigQueryTest.java index 0c37dc654ac2..2cf37f221d05 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITNightlyBigQueryTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITNightlyBigQueryTest.java @@ -52,6 +52,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; public class ITNightlyBigQueryTest extends ITBase { @@ -1038,6 +1039,7 @@ public void testMultipleExecuteBatches() throws SQLException { } @Test + @Tag("known_issue") // b/539615199 public void testValidAllDataTypesSerializationFromSelectQuery() throws SQLException { String DATASET = "JDBC_INTEGRATION_DATASET"; String TABLE_NAME = "JDBC_DATATYPES_INTEGRATION_TEST_TABLE"; @@ -1094,6 +1096,7 @@ public void testRepeatedStructFromSelectQuery() throws SQLException { } @Test + @Tag("known_issue") // b/539615199 public void testValidAllDataTypesSerializationFromSelectQueryArrowDataset() throws SQLException { String DATASET = "JDBC_INTEGRATION_DATASET"; String TABLE_NAME = "JDBC_INTEGRATION_ARROW_TEST_TABLE"; diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITOpenTelemetryTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITOpenTelemetryTest.java index 4ffb4c9aed1b..8bdf20ec90e1 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITOpenTelemetryTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITOpenTelemetryTest.java @@ -45,8 +45,10 @@ import java.sql.Statement; import java.util.ArrayList; import java.util.List; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; +@Tag("known_issue") // b/539615312 public class ITOpenTelemetryTest extends ITBase { private static final String PROJECT_ID = ServiceOptions.getDefaultProjectId(); diff --git a/java-bigquery/README.md b/java-bigquery/README.md index 3525d84184bd..182a4179a829 100644 --- a/java-bigquery/README.md +++ b/java-bigquery/README.md @@ -45,7 +45,7 @@ If you are using Maven without the BOM, add this to your dependencies: com.google.cloud google-cloud-bigquery - 2.68.0 + 2.69.0 ``` @@ -53,20 +53,20 @@ If you are using Maven without the BOM, add this to your dependencies: If you are using Gradle 5.x or later, add this to your dependencies: ```Groovy -implementation platform('com.google.cloud:libraries-bom:2.68.0') +implementation platform('com.google.cloud:libraries-bom:2.69.0') implementation 'com.google.cloud:google-cloud-bigquery' ``` If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-bigquery:2.68.0' +implementation 'com.google.cloud:google-cloud-bigquery:2.69.0' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-bigquery" % "2.68.0" +libraryDependencies += "com.google.cloud" % "google-cloud-bigquery" % "2.69.0" ``` diff --git a/java-bigquery/benchmark/pom.xml b/java-bigquery/benchmark/pom.xml index f5d6757324a2..ead40fbcc5b3 100644 --- a/java-bigquery/benchmark/pom.xml +++ b/java-bigquery/benchmark/pom.xml @@ -4,11 +4,11 @@ 4.0.0 com.google.cloud benchmark - 2.69.0-SNAPSHOT + 2.70.0-SNAPSHOT google-cloud-bigquery-parent com.google.cloud - 2.69.0-SNAPSHOT + 2.70.0-SNAPSHOT diff --git a/java-bigquery/google-cloud-bigquery-bom/pom.xml b/java-bigquery/google-cloud-bigquery-bom/pom.xml index 67299b1ea693..99700dcbc4f0 100644 --- a/java-bigquery/google-cloud-bigquery-bom/pom.xml +++ b/java-bigquery/google-cloud-bigquery-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-bigquery-bom - 2.69.0-SNAPSHOT + 2.70.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -53,7 +53,7 @@ com.google.cloud google-cloud-bigquery - 2.69.0-SNAPSHOT + 2.70.0-SNAPSHOT diff --git a/java-bigquery/google-cloud-bigquery/pom.xml b/java-bigquery/google-cloud-bigquery/pom.xml index 07e79bc2758c..2c5fc8df4e8d 100644 --- a/java-bigquery/google-cloud-bigquery/pom.xml +++ b/java-bigquery/google-cloud-bigquery/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-bigquery - 2.69.0-SNAPSHOT + 2.70.0-SNAPSHOT jar BigQuery https://github.com/googleapis/google-cloud-java @@ -11,7 +11,7 @@ com.google.cloud google-cloud-bigquery-parent - 2.69.0-SNAPSHOT + 2.70.0-SNAPSHOT google-cloud-bigquery @@ -100,12 +100,12 @@ com.google.cloud google-cloud-bigquerystorage - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT org.apache.arrow @@ -148,19 +148,19 @@ com.google.cloud google-cloud-datacatalog test - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT com.google.cloud google-cloud-bigqueryconnection test - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigqueryconnection-v1 test - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.cloud @@ -196,13 +196,13 @@ com.google.cloud google-cloud-datacatalog test - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT com.google.api.grpc proto-google-cloud-datacatalog-v1 test - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT diff --git a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java index a5e91886d030..2ad09c33d7cb 100644 --- a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java +++ b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java @@ -1659,6 +1659,10 @@ public Routine apply(com.google.api.services.bigquery.model.Routine routinePb) { @Override public InsertAllResponse insertAll(InsertAllRequest request) { + // This API inserts the specified rows into a table using the BigQuery insertAll API. + // Note: To prevent duplicate rows, this method does not perform automatic retries unless + // insert IDs are provided. Transient service errors (such as UNAVAILABLE) may be thrown and + // should be handled by the caller. final TableId tableId = request .getTable() diff --git a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/telemetry/Version.java b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/telemetry/Version.java index d822f9d012f5..f1f829d67e43 100644 --- a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/telemetry/Version.java +++ b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/telemetry/Version.java @@ -25,6 +25,6 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigquery:current} - static final String VERSION = "2.69.0-SNAPSHOT"; + static final String VERSION = "2.70.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/testing/RemoteBigQueryHelper.java b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/testing/RemoteBigQueryHelper.java index d195dc245ec2..49a3e5e5a482 100644 --- a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/testing/RemoteBigQueryHelper.java +++ b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/testing/RemoteBigQueryHelper.java @@ -99,14 +99,17 @@ public static RemoteBigQueryHelper create(String projectId, InputStream keyStrea .setConnectTimeout(CONNECT_TIMEOUT_IN_MS) .setReadTimeout(CONNECT_TIMEOUT_IN_MS) .build(); - BigQueryOptions bigqueryOptions = + BigQueryOptions.Builder builder = BigQueryOptions.newBuilder() .setCredentials(ServiceAccountCredentials.fromStream(keyStream)) .setProjectId(projectId) .setRetrySettings(retrySettings()) - .setTransportOptions(transportOptions) - .build(); - return new RemoteBigQueryHelper(bigqueryOptions); + .setTransportOptions(transportOptions); + String endpoint = System.getenv("BIGQUERY_ENDPOINT"); + if (endpoint != null) { + builder.setHost(endpoint); + } + return new RemoteBigQueryHelper(builder.build()); } catch (IOException ex) { if (log.isLoggable(Level.WARNING)) { log.log(Level.WARNING, ex.getMessage()); @@ -140,6 +143,10 @@ public static RemoteBigQueryHelper create(BigQueryOptions.Builder bigqueryOption bigqueryOptionsBuilder .setRetrySettings(retrySettings()) .setTransportOptions(transportOptions); + String endpoint = System.getenv("BIGQUERY_ENDPOINT"); + if (endpoint != null) { + builder.setHost(endpoint); + } return new RemoteBigQueryHelper(builder.build()); } diff --git a/java-bigquery/pom.xml b/java-bigquery/pom.xml index c96383dedfac..ee1fcd22dfc8 100644 --- a/java-bigquery/pom.xml +++ b/java-bigquery/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-bigquery-parent pom - 2.69.0-SNAPSHOT + 2.70.0-SNAPSHOT BigQuery Parent https://github.com/googleapis/google-cloud-java @@ -14,7 +14,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -70,7 +70,7 @@ com.google.cloud google-cloud-bigquery - 2.69.0-SNAPSHOT + 2.70.0-SNAPSHOT @@ -88,19 +88,19 @@ com.google.cloud google-cloud-storage - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT test com.google.cloud google-cloud-bigqueryconnection - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT test com.google.api.grpc proto-google-cloud-bigqueryconnection-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT test diff --git a/java-bigquery/samples/snapshot/pom.xml b/java-bigquery/samples/snapshot/pom.xml index 3b24c7b2e79b..b2b49a323cd9 100644 --- a/java-bigquery/samples/snapshot/pom.xml +++ b/java-bigquery/samples/snapshot/pom.xml @@ -56,7 +56,7 @@ com.google.cloud google-cloud-bigquery - 2.69.0-SNAPSHOT + 2.70.0-SNAPSHOT diff --git a/java-bigqueryconnection/google-cloud-bigqueryconnection-bom/pom.xml b/java-bigqueryconnection/google-cloud-bigqueryconnection-bom/pom.xml index e96c096645cc..7ba4036801ab 100644 --- a/java-bigqueryconnection/google-cloud-bigqueryconnection-bom/pom.xml +++ b/java-bigqueryconnection/google-cloud-bigqueryconnection-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-bigqueryconnection-bom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-bigqueryconnection - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigqueryconnection-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigqueryconnection-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigqueryconnection-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigqueryconnection-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-bigqueryconnection/google-cloud-bigqueryconnection/pom.xml b/java-bigqueryconnection/google-cloud-bigqueryconnection/pom.xml index ee0b56a4e2d3..6dff1c1f6872 100644 --- a/java-bigqueryconnection/google-cloud-bigqueryconnection/pom.xml +++ b/java-bigqueryconnection/google-cloud-bigqueryconnection/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-bigqueryconnection - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT jar Google Cloud BigQuery Connections is about com.google.cloud google-cloud-bigqueryconnection-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT google-cloud-bigqueryconnection diff --git a/java-bigqueryconnection/google-cloud-bigqueryconnection/src/main/java/com/google/cloud/bigquery/connection/v1beta1/stub/Version.java b/java-bigqueryconnection/google-cloud-bigqueryconnection/src/main/java/com/google/cloud/bigquery/connection/v1beta1/stub/Version.java index bee84fa28653..556b142a169b 100644 --- a/java-bigqueryconnection/google-cloud-bigqueryconnection/src/main/java/com/google/cloud/bigquery/connection/v1beta1/stub/Version.java +++ b/java-bigqueryconnection/google-cloud-bigqueryconnection/src/main/java/com/google/cloud/bigquery/connection/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigqueryconnection:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigqueryconnection/google-cloud-bigqueryconnection/src/main/java/com/google/cloud/bigqueryconnection/v1/stub/Version.java b/java-bigqueryconnection/google-cloud-bigqueryconnection/src/main/java/com/google/cloud/bigqueryconnection/v1/stub/Version.java index 9b7389671451..9ee1e36d78d7 100644 --- a/java-bigqueryconnection/google-cloud-bigqueryconnection/src/main/java/com/google/cloud/bigqueryconnection/v1/stub/Version.java +++ b/java-bigqueryconnection/google-cloud-bigqueryconnection/src/main/java/com/google/cloud/bigqueryconnection/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigqueryconnection:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigqueryconnection/grpc-google-cloud-bigqueryconnection-v1/pom.xml b/java-bigqueryconnection/grpc-google-cloud-bigqueryconnection-v1/pom.xml index 6ee64cb08b49..c39a609b365f 100644 --- a/java-bigqueryconnection/grpc-google-cloud-bigqueryconnection-v1/pom.xml +++ b/java-bigqueryconnection/grpc-google-cloud-bigqueryconnection-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigqueryconnection-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-bigqueryconnection-v1 GRPC library for grpc-google-cloud-bigqueryconnection-v1 com.google.cloud google-cloud-bigqueryconnection-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-bigqueryconnection/grpc-google-cloud-bigqueryconnection-v1beta1/pom.xml b/java-bigqueryconnection/grpc-google-cloud-bigqueryconnection-v1beta1/pom.xml index 783df15fe166..d8910cc2eaaa 100644 --- a/java-bigqueryconnection/grpc-google-cloud-bigqueryconnection-v1beta1/pom.xml +++ b/java-bigqueryconnection/grpc-google-cloud-bigqueryconnection-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigqueryconnection-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-bigqueryconnection-v1beta1 GRPC library for grpc-google-cloud-bigqueryconnection-v1beta1 com.google.cloud google-cloud-bigqueryconnection-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-bigqueryconnection/pom.xml b/java-bigqueryconnection/pom.xml index be1e3ac3f0a8..9755f0f9c3ca 100644 --- a/java-bigqueryconnection/pom.xml +++ b/java-bigqueryconnection/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-bigqueryconnection-parent pom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT Google Cloud BigQuery Connections Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-bigqueryconnection - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigqueryconnection-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigqueryconnection-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigqueryconnection-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigqueryconnection-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/pom.xml b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/pom.xml index f491708cb668..5841d4d08af9 100644 --- a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/pom.xml +++ b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigqueryconnection-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-bigqueryconnection-v1 PROTO library for proto-google-cloud-bigqueryconnection-v1 com.google.cloud google-cloud-bigqueryconnection-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1beta1/pom.xml b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1beta1/pom.xml index 1b42975ed06e..6f6b025d9e8c 100644 --- a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1beta1/pom.xml +++ b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigqueryconnection-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-bigqueryconnection-v1beta1 PROTO library for proto-google-cloud-bigqueryconnection-v1beta1 com.google.cloud google-cloud-bigqueryconnection-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy-bom/pom.xml b/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy-bom/pom.xml index 076becf90536..d7afe74c8f17 100644 --- a/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy-bom/pom.xml +++ b/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-bigquerydatapolicy-bom - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,47 +28,47 @@ com.google.cloud google-cloud-bigquerydatapolicy - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerydatapolicy-v1beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerydatapolicy-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerydatapolicy-v2beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerydatapolicy-v2 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerydatapolicy-v1beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerydatapolicy-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerydatapolicy-v2beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerydatapolicy-v2 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/pom.xml b/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/pom.xml index 8c4e609987aa..bde178ee7327 100644 --- a/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/pom.xml +++ b/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-bigquerydatapolicy - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT jar Google BigQuery DataPolicy API BigQuery DataPolicy API com.google.cloud google-cloud-bigquerydatapolicy-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT google-cloud-bigquerydatapolicy diff --git a/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v1/stub/Version.java b/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v1/stub/Version.java index eb0b2d1db68c..76d6199ad6f5 100644 --- a/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v1/stub/Version.java +++ b/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigquerydatapolicy:current} - static final String VERSION = "0.92.0-SNAPSHOT"; + static final String VERSION = "0.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v1beta1/stub/Version.java b/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v1beta1/stub/Version.java index da388575f03b..0680427912e6 100644 --- a/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v1beta1/stub/Version.java +++ b/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigquerydatapolicy:current} - static final String VERSION = "0.92.0-SNAPSHOT"; + static final String VERSION = "0.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v2/stub/Version.java b/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v2/stub/Version.java index 377d1ceb4e57..15e0be91cff6 100644 --- a/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v2/stub/Version.java +++ b/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigquerydatapolicy:current} - static final String VERSION = "0.92.0-SNAPSHOT"; + static final String VERSION = "0.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v2beta1/stub/Version.java b/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v2beta1/stub/Version.java index ab99107a6636..339de7d0ff90 100644 --- a/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v2beta1/stub/Version.java +++ b/java-bigquerydatapolicy/google-cloud-bigquerydatapolicy/src/main/java/com/google/cloud/bigquery/datapolicies/v2beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigquerydatapolicy:current} - static final String VERSION = "0.92.0-SNAPSHOT"; + static final String VERSION = "0.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v1/pom.xml b/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v1/pom.xml index 07e6b726dd5f..1a8c8099c5bf 100644 --- a/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v1/pom.xml +++ b/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerydatapolicy-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT grpc-google-cloud-bigquerydatapolicy-v1 GRPC library for google-cloud-bigquerydatapolicy com.google.cloud google-cloud-bigquerydatapolicy-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v1beta1/pom.xml b/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v1beta1/pom.xml index e5cddbf81b7c..2cb775b772cb 100644 --- a/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v1beta1/pom.xml +++ b/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerydatapolicy-v1beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT grpc-google-cloud-bigquerydatapolicy-v1beta1 GRPC library for google-cloud-bigquerydatapolicy com.google.cloud google-cloud-bigquerydatapolicy-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v2/pom.xml b/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v2/pom.xml index 273553db0964..bec77ec0af28 100644 --- a/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v2/pom.xml +++ b/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerydatapolicy-v2 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT grpc-google-cloud-bigquerydatapolicy-v2 GRPC library for google-cloud-bigquerydatapolicy com.google.cloud google-cloud-bigquerydatapolicy-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v2beta1/pom.xml b/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v2beta1/pom.xml index 8d90c5e3f246..3d8d8df12959 100644 --- a/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v2beta1/pom.xml +++ b/java-bigquerydatapolicy/grpc-google-cloud-bigquerydatapolicy-v2beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerydatapolicy-v2beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT grpc-google-cloud-bigquerydatapolicy-v2beta1 GRPC library for google-cloud-bigquerydatapolicy com.google.cloud google-cloud-bigquerydatapolicy-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-bigquerydatapolicy/pom.xml b/java-bigquerydatapolicy/pom.xml index f16294b7b1eb..4d37db51799d 100644 --- a/java-bigquerydatapolicy/pom.xml +++ b/java-bigquerydatapolicy/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-bigquerydatapolicy-parent pom - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT Google BigQuery DataPolicy API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,47 +30,47 @@ com.google.cloud google-cloud-bigquerydatapolicy - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerydatapolicy-v2 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerydatapolicy-v2 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerydatapolicy-v2beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerydatapolicy-v2beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerydatapolicy-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerydatapolicy-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerydatapolicy-v1beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerydatapolicy-v1beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v1/pom.xml b/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v1/pom.xml index b468b4695fb2..d3d947564665 100644 --- a/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v1/pom.xml +++ b/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerydatapolicy-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT proto-google-cloud-bigquerydatapolicy-v1 Proto library for google-cloud-bigquerydatapolicy com.google.cloud google-cloud-bigquerydatapolicy-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v1beta1/pom.xml b/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v1beta1/pom.xml index 6652bf03b984..8c9dd2267568 100644 --- a/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v1beta1/pom.xml +++ b/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerydatapolicy-v1beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT proto-google-cloud-bigquerydatapolicy-v1beta1 Proto library for google-cloud-bigquerydatapolicy com.google.cloud google-cloud-bigquerydatapolicy-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v2/pom.xml b/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v2/pom.xml index ba8539459905..bafd3cdf459b 100644 --- a/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v2/pom.xml +++ b/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerydatapolicy-v2 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT proto-google-cloud-bigquerydatapolicy-v2 Proto library for google-cloud-bigquerydatapolicy com.google.cloud google-cloud-bigquerydatapolicy-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v2beta1/pom.xml b/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v2beta1/pom.xml index b12bd34f3307..215bbc4ae52a 100644 --- a/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v2beta1/pom.xml +++ b/java-bigquerydatapolicy/proto-google-cloud-bigquerydatapolicy-v2beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerydatapolicy-v2beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT proto-google-cloud-bigquerydatapolicy-v2beta1 Proto library for google-cloud-bigquerydatapolicy com.google.cloud google-cloud-bigquerydatapolicy-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-bigquerydatatransfer/google-cloud-bigquerydatatransfer-bom/pom.xml b/java-bigquerydatatransfer/google-cloud-bigquerydatatransfer-bom/pom.xml index 2f34314dcea8..4db7e2263658 100644 --- a/java-bigquerydatatransfer/google-cloud-bigquerydatatransfer-bom/pom.xml +++ b/java-bigquerydatatransfer/google-cloud-bigquerydatatransfer-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-bigquerydatatransfer-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-bigquerydatatransfer - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerydatatransfer-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerydatatransfer-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-bigquerydatatransfer/google-cloud-bigquerydatatransfer/pom.xml b/java-bigquerydatatransfer/google-cloud-bigquerydatatransfer/pom.xml index 367581ac965b..fc2eecf4e66d 100644 --- a/java-bigquerydatatransfer/google-cloud-bigquerydatatransfer/pom.xml +++ b/java-bigquerydatatransfer/google-cloud-bigquerydatatransfer/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-bigquerydatatransfer - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar BigQuery DataTransfer BigQuery DataTransfer com.google.cloud google-cloud-bigquerydatatransfer-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-bigquerydatatransfer diff --git a/java-bigquerydatatransfer/google-cloud-bigquerydatatransfer/src/main/java/com/google/cloud/bigquery/datatransfer/v1/stub/Version.java b/java-bigquerydatatransfer/google-cloud-bigquerydatatransfer/src/main/java/com/google/cloud/bigquery/datatransfer/v1/stub/Version.java index 53b06bc478b7..f3ec37949b13 100644 --- a/java-bigquerydatatransfer/google-cloud-bigquerydatatransfer/src/main/java/com/google/cloud/bigquery/datatransfer/v1/stub/Version.java +++ b/java-bigquerydatatransfer/google-cloud-bigquerydatatransfer/src/main/java/com/google/cloud/bigquery/datatransfer/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigquerydatatransfer:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigquerydatatransfer/grpc-google-cloud-bigquerydatatransfer-v1/pom.xml b/java-bigquerydatatransfer/grpc-google-cloud-bigquerydatatransfer-v1/pom.xml index 8b967156d845..a553c6429e0b 100644 --- a/java-bigquerydatatransfer/grpc-google-cloud-bigquerydatatransfer-v1/pom.xml +++ b/java-bigquerydatatransfer/grpc-google-cloud-bigquerydatatransfer-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerydatatransfer-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-bigquerydatatransfer-v1 GRPC library for grpc-google-cloud-bigquerydatatransfer-v1 com.google.cloud google-cloud-bigquerydatatransfer-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-bigquerydatatransfer/pom.xml b/java-bigquerydatatransfer/pom.xml index feb24fe09b0e..186235607e78 100644 --- a/java-bigquerydatatransfer/pom.xml +++ b/java-bigquerydatatransfer/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-bigquerydatatransfer-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT BigQuery DataTransfer Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.api.grpc proto-google-cloud-bigquerydatatransfer-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerydatatransfer-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.cloud google-cloud-bigquerydatatransfer - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-bigquerydatatransfer/proto-google-cloud-bigquerydatatransfer-v1/pom.xml b/java-bigquerydatatransfer/proto-google-cloud-bigquerydatatransfer-v1/pom.xml index dda236a07538..48c8fdbbae65 100644 --- a/java-bigquerydatatransfer/proto-google-cloud-bigquerydatatransfer-v1/pom.xml +++ b/java-bigquerydatatransfer/proto-google-cloud-bigquerydatatransfer-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerydatatransfer-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-bigquerydatatransfer-v1 PROTO library for proto-google-cloud-bigquerydatatransfer-v1 com.google.cloud google-cloud-bigquerydatatransfer-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-bigquerymigration/google-cloud-bigquerymigration-bom/pom.xml b/java-bigquerymigration/google-cloud-bigquerymigration-bom/pom.xml index 636f8c6a556c..3b9400cab9a5 100644 --- a/java-bigquerymigration/google-cloud-bigquerymigration-bom/pom.xml +++ b/java-bigquerymigration/google-cloud-bigquerymigration-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-bigquerymigration-bom - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-bigquerymigration - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerymigration-v2alpha - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerymigration-v2 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerymigration-v2alpha - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerymigration-v2 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-bigquerymigration/google-cloud-bigquerymigration/pom.xml b/java-bigquerymigration/google-cloud-bigquerymigration/pom.xml index bccbe3bdd1b0..6cf549b57977 100644 --- a/java-bigquerymigration/google-cloud-bigquerymigration/pom.xml +++ b/java-bigquerymigration/google-cloud-bigquerymigration/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-bigquerymigration - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT jar Google BigQuery Migration BigQuery Migration BigQuery Migration API com.google.cloud google-cloud-bigquerymigration-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT google-cloud-bigquerymigration diff --git a/java-bigquerymigration/google-cloud-bigquerymigration/src/main/java/com/google/cloud/bigquery/migration/v2/stub/Version.java b/java-bigquerymigration/google-cloud-bigquerymigration/src/main/java/com/google/cloud/bigquery/migration/v2/stub/Version.java index 8d60cd794e89..c77334ed1dc1 100644 --- a/java-bigquerymigration/google-cloud-bigquerymigration/src/main/java/com/google/cloud/bigquery/migration/v2/stub/Version.java +++ b/java-bigquerymigration/google-cloud-bigquerymigration/src/main/java/com/google/cloud/bigquery/migration/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigquerymigration:current} - static final String VERSION = "0.98.0-SNAPSHOT"; + static final String VERSION = "0.99.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigquerymigration/google-cloud-bigquerymigration/src/main/java/com/google/cloud/bigquery/migration/v2alpha/stub/Version.java b/java-bigquerymigration/google-cloud-bigquerymigration/src/main/java/com/google/cloud/bigquery/migration/v2alpha/stub/Version.java index b50475e37c9f..7631765b50cf 100644 --- a/java-bigquerymigration/google-cloud-bigquerymigration/src/main/java/com/google/cloud/bigquery/migration/v2alpha/stub/Version.java +++ b/java-bigquerymigration/google-cloud-bigquerymigration/src/main/java/com/google/cloud/bigquery/migration/v2alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigquerymigration:current} - static final String VERSION = "0.98.0-SNAPSHOT"; + static final String VERSION = "0.99.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigquerymigration/grpc-google-cloud-bigquerymigration-v2/pom.xml b/java-bigquerymigration/grpc-google-cloud-bigquerymigration-v2/pom.xml index 71437f52cee0..f1f17f5268b8 100644 --- a/java-bigquerymigration/grpc-google-cloud-bigquerymigration-v2/pom.xml +++ b/java-bigquerymigration/grpc-google-cloud-bigquerymigration-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerymigration-v2 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT grpc-google-cloud-bigquerymigration-v2 GRPC library for google-cloud-bigquerymigration com.google.cloud google-cloud-bigquerymigration-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-bigquerymigration/grpc-google-cloud-bigquerymigration-v2alpha/pom.xml b/java-bigquerymigration/grpc-google-cloud-bigquerymigration-v2alpha/pom.xml index 498ece35d056..cf5c79f52d6a 100644 --- a/java-bigquerymigration/grpc-google-cloud-bigquerymigration-v2alpha/pom.xml +++ b/java-bigquerymigration/grpc-google-cloud-bigquerymigration-v2alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerymigration-v2alpha - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT grpc-google-cloud-bigquerymigration-v2alpha GRPC library for google-cloud-bigquerymigration com.google.cloud google-cloud-bigquerymigration-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-bigquerymigration/pom.xml b/java-bigquerymigration/pom.xml index 297179b69e56..5938566265e9 100644 --- a/java-bigquerymigration/pom.xml +++ b/java-bigquerymigration/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-bigquerymigration-parent pom - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT Google BigQuery Migration Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-bigquerymigration - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerymigration-v2 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerymigration-v2 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerymigration-v2alpha - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerymigration-v2alpha - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-bigquerymigration/proto-google-cloud-bigquerymigration-v2/pom.xml b/java-bigquerymigration/proto-google-cloud-bigquerymigration-v2/pom.xml index fdb8fa3e9bbd..cc5189f4aa2a 100644 --- a/java-bigquerymigration/proto-google-cloud-bigquerymigration-v2/pom.xml +++ b/java-bigquerymigration/proto-google-cloud-bigquerymigration-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerymigration-v2 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT proto-google-cloud-bigquerymigration-v2 Proto library for google-cloud-bigquerymigration com.google.cloud google-cloud-bigquerymigration-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-bigquerymigration/proto-google-cloud-bigquerymigration-v2alpha/pom.xml b/java-bigquerymigration/proto-google-cloud-bigquerymigration-v2alpha/pom.xml index ac8826b0e013..f45011a574bb 100644 --- a/java-bigquerymigration/proto-google-cloud-bigquerymigration-v2alpha/pom.xml +++ b/java-bigquerymigration/proto-google-cloud-bigquerymigration-v2alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerymigration-v2alpha - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT proto-google-cloud-bigquerymigration-v2alpha Proto library for google-cloud-bigquerymigration com.google.cloud google-cloud-bigquerymigration-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-bigqueryreservation/google-cloud-bigqueryreservation-bom/pom.xml b/java-bigqueryreservation/google-cloud-bigqueryreservation-bom/pom.xml index ba53c3ff90a6..135743c7d486 100644 --- a/java-bigqueryreservation/google-cloud-bigqueryreservation-bom/pom.xml +++ b/java-bigqueryreservation/google-cloud-bigqueryreservation-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-bigqueryreservation-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-bigqueryreservation - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigqueryreservation-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigqueryreservation-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-bigqueryreservation/google-cloud-bigqueryreservation/pom.xml b/java-bigqueryreservation/google-cloud-bigqueryreservation/pom.xml index d54dfa39c076..7e502ebe18a5 100644 --- a/java-bigqueryreservation/google-cloud-bigqueryreservation/pom.xml +++ b/java-bigqueryreservation/google-cloud-bigqueryreservation/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-bigqueryreservation - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT jar Google Cloud BigQuery Reservations allows users to manage their flat-rate BigQuery reservations. com.google.cloud google-cloud-bigqueryreservation-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT google-cloud-bigqueryreservation diff --git a/java-bigqueryreservation/google-cloud-bigqueryreservation/src/main/java/com/google/cloud/bigquery/reservation/v1/stub/Version.java b/java-bigqueryreservation/google-cloud-bigqueryreservation/src/main/java/com/google/cloud/bigquery/reservation/v1/stub/Version.java index 8bb5deefcfc8..08187fa38e2b 100644 --- a/java-bigqueryreservation/google-cloud-bigqueryreservation/src/main/java/com/google/cloud/bigquery/reservation/v1/stub/Version.java +++ b/java-bigqueryreservation/google-cloud-bigqueryreservation/src/main/java/com/google/cloud/bigquery/reservation/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigqueryreservation:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigqueryreservation/grpc-google-cloud-bigqueryreservation-v1/pom.xml b/java-bigqueryreservation/grpc-google-cloud-bigqueryreservation-v1/pom.xml index 0a85bc11d75b..0a4e059f7f0d 100644 --- a/java-bigqueryreservation/grpc-google-cloud-bigqueryreservation-v1/pom.xml +++ b/java-bigqueryreservation/grpc-google-cloud-bigqueryreservation-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigqueryreservation-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-bigqueryreservation-v1 GRPC library for grpc-google-cloud-bigqueryreservation-v1 com.google.cloud google-cloud-bigqueryreservation-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-bigqueryreservation/pom.xml b/java-bigqueryreservation/pom.xml index 79b26f6580ee..968b4d57e454 100644 --- a/java-bigqueryreservation/pom.xml +++ b/java-bigqueryreservation/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-bigqueryreservation-parent pom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT Google Cloud BigQuery Reservations Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-bigqueryreservation - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigqueryreservation-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigqueryreservation-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/pom.xml b/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/pom.xml index 2404b6aff523..8af83c97ffaf 100644 --- a/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/pom.xml +++ b/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigqueryreservation-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-bigqueryreservation-v1 PROTO library for proto-google-cloud-bigqueryreservation-v1 com.google.cloud google-cloud-bigqueryreservation-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-bigquerystorage/google-cloud-bigquerystorage-bom/pom.xml b/java-bigquerystorage/google-cloud-bigquerystorage-bom/pom.xml index 4833662d2b60..96f7f5eb9526 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage-bom/pom.xml +++ b/java-bigquerystorage/google-cloud-bigquerystorage-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-bigquerystorage-bom - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -54,57 +54,57 @@ com.google.cloud google-cloud-bigquerystorage - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta1 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta2 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1alpha - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta1 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta2 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1alpha - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/pom.xml b/java-bigquerystorage/google-cloud-bigquerystorage/pom.xml index 933967d15f02..05faaa1c9cf3 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/pom.xml +++ b/java-bigquerystorage/google-cloud-bigquerystorage/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-bigquerystorage - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT jar BigQuery Storage https://github.com/googleapis/google-cloud-java @@ -11,7 +11,7 @@ com.google.cloud google-cloud-bigquerystorage-parent - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT google-cloud-bigquerystorage diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/Version.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/Version.java index 3362f7b7002b..e336ef882f73 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/Version.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigquerystorage:current} - static final String VERSION = "3.31.0-SNAPSHOT"; + static final String VERSION = "3.32.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1alpha/stub/Version.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1alpha/stub/Version.java index 0d63b241f240..0d2064bc9c87 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1alpha/stub/Version.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigquerystorage:current} - static final String VERSION = "3.31.0-SNAPSHOT"; + static final String VERSION = "3.32.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta/stub/Version.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta/stub/Version.java index 4f9ebd0a29d7..44405a4913d0 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta/stub/Version.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigquerystorage:current} - static final String VERSION = "3.31.0-SNAPSHOT"; + static final String VERSION = "3.32.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta1/stub/Version.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta1/stub/Version.java index 0723b68fce89..00842f20c82b 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta1/stub/Version.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigquerystorage:current} - static final String VERSION = "3.31.0-SNAPSHOT"; + static final String VERSION = "3.32.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta2/stub/Version.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta2/stub/Version.java index 8cbae6d7a36c..bdc4422f1586 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta2/stub/Version.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigquerystorage:current} - static final String VERSION = "3.31.0-SNAPSHOT"; + static final String VERSION = "3.32.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryBigDecimalByteStringEncoderTest.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryBigDecimalByteStringEncoderTest.java index 641531bb02b4..dd3ecf890566 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryBigDecimalByteStringEncoderTest.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryBigDecimalByteStringEncoderTest.java @@ -65,7 +65,7 @@ class ITBigQueryBigDecimalByteStringEncoderTest { @BeforeAll static void beforeAll() throws IOException { - client = BigQueryWriteClient.create(); + client = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryWriteClient(); RemoteBigQueryHelper bigqueryHelper = RemoteBigQueryHelper.create(); bigquery = bigqueryHelper.getOptions().getService(); diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageLongRunningTest.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageLongRunningTest.java index 01c44caa9b61..9beafe2b5ac2 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageLongRunningTest.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageLongRunningTest.java @@ -67,7 +67,7 @@ class ITBigQueryStorageLongRunningTest { static void beforeAll() throws IOException { Assumptions.assumeTrue( Boolean.getBoolean(LONG_TESTS_ENABLED_PROPERTY), LONG_TESTS_DISABLED_MESSAGE); - client = BigQueryReadClient.create(); + client = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryReadClient(); parentProjectId = String.format("projects/%s", ServiceOptions.getDefaultProjectId()); LOG.info( diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageReadClientTest.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageReadClientTest.java index 98ab9edb5bad..6accfa6bd878 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageReadClientTest.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageReadClientTest.java @@ -504,7 +504,7 @@ public CompletableResultCode shutdown() { @BeforeAll static void beforeAll() throws IOException, DescriptorValidationException, InterruptedException { - readClient = BigQueryReadClient.create(); + readClient = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryReadClient(); projectName = ServiceOptions.getDefaultProjectId(); parentProjectId = String.format("projects/%s", projectName); @@ -1598,7 +1598,7 @@ void testStructAndArraySqlTypes() throws InterruptedException, IOException { @Test void testSimpleReadWithBackgroundExecutorProvider() throws IOException { BigQueryReadSettings bigQueryReadSettings = - BigQueryReadSettings.newBuilder() + com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryReadSettingsBuilder() .setBackgroundExecutorProvider( InstantiatingExecutorProvider.newBuilder().setExecutorThreadCount(14).build()) .build(); @@ -1761,7 +1761,7 @@ void testSimpleReadWithOtelTracing() throws IOException { OpenTelemetry otel = OpenTelemetrySdk.builder().setTracerProvider(tracerProvider).build(); BigQueryReadSettings otelSettings = - BigQueryReadSettings.newBuilder() + com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryReadSettingsBuilder() .setEnableOpenTelemetryTracing(true) .setOpenTelemetryTracerProvider(tracerProvider) .build(); diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageWriteClientTest.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageWriteClientTest.java index b7e46be40585..2e80cdb443b6 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageWriteClientTest.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageWriteClientTest.java @@ -187,10 +187,12 @@ public StringWithSecondsNanos(String fooParam, long secondsParam, int nanosParam @BeforeAll static void beforeAll() throws IOException { - readClient = BigQueryReadClient.create(); + readClient = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryReadClient(); BigQueryWriteSettings settings = - BigQueryWriteSettings.newBuilder().setHeaderProvider(USER_AGENT_HEADER_PROVIDER).build(); + com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryWriteSettingsBuilder() + .setHeaderProvider(USER_AGENT_HEADER_PROVIDER) + .build(); writeClient = BigQueryWriteClient.create(settings); parentProjectId = String.format("projects/%s", ServiceOptions.getDefaultProjectId()); diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryTimeEncoderTest.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryTimeEncoderTest.java index b3c84ec40306..ce7f40b3f7eb 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryTimeEncoderTest.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryTimeEncoderTest.java @@ -63,7 +63,7 @@ class ITBigQueryTimeEncoderTest { @BeforeAll static void beforeAll() throws IOException { - client = BigQueryWriteClient.create(); + client = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryWriteClient(); RemoteBigQueryHelper bigqueryHelper = RemoteBigQueryHelper.create(); bigquery = bigqueryHelper.getOptions().getService(); diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteNonQuotaRetryTest.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteNonQuotaRetryTest.java index 2d9378341d92..dd7afc465dcb 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteNonQuotaRetryTest.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteNonQuotaRetryTest.java @@ -67,7 +67,7 @@ class ITBigQueryWriteNonQuotaRetryTest { @BeforeAll static void beforeAll() throws IOException { - client = BigQueryWriteClient.create(); + client = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryWriteClient(); RemoteBigQueryHelper bigqueryHelper = RemoteBigQueryHelper.create(); bigquery = bigqueryHelper.getOptions().getService(); diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteQuotaRetryTest.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteQuotaRetryTest.java index b4069a7aeea3..1f87ba8ee3be 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteQuotaRetryTest.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteQuotaRetryTest.java @@ -50,7 +50,7 @@ public class ITBigQueryWriteQuotaRetryTest { @BeforeAll static void beforeAll() throws IOException { - client = BigQueryWriteClient.create(); + client = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryWriteClient(); RemoteBigQueryHelper bigqueryHelper = RemoteBigQueryHelper.create(); bigquery = bigqueryHelper.getOptions().getService(); diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/util/Helper.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/util/Helper.java index 1e1b0e2fb0c4..8e66820b6d08 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/util/Helper.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/util/Helper.java @@ -25,6 +25,9 @@ import com.google.cloud.bigquery.storage.v1.AppendRowsResponse; import com.google.cloud.bigquery.storage.v1.AvroSerializationOptions; import com.google.cloud.bigquery.storage.v1.BigQueryReadClient; +import com.google.cloud.bigquery.storage.v1.BigQueryReadSettings; +import com.google.cloud.bigquery.storage.v1.BigQueryWriteClient; +import com.google.cloud.bigquery.storage.v1.BigQueryWriteSettings; import com.google.cloud.bigquery.storage.v1.CreateReadSessionRequest; import com.google.cloud.bigquery.storage.v1.DataFormat; import com.google.cloud.bigquery.storage.v1.ReadRowsRequest; @@ -201,4 +204,44 @@ record -> { }); return rows; } + + /** + * Returns a {@link BigQueryReadSettings.Builder} configured with potential endpoint overrides for + * testing. + */ + public static BigQueryReadSettings.Builder createBigQueryReadSettingsBuilder() { + BigQueryReadSettings.Builder builder = BigQueryReadSettings.newBuilder(); + String endpoint = System.getenv("BIGQUERY_STORAGE_ENDPOINT"); + if (endpoint != null) { + builder.setEndpoint(endpoint); + } + return builder; + } + + /** + * Returns a {@link BigQueryReadClient} configured with potential endpoint overrides for testing. + */ + public static BigQueryReadClient createBigQueryReadClient() throws IOException { + return BigQueryReadClient.create(createBigQueryReadSettingsBuilder().build()); + } + + /** + * Returns a {@link BigQueryWriteSettings.Builder} configured with potential endpoint overrides + * for testing. + */ + public static BigQueryWriteSettings.Builder createBigQueryWriteSettingsBuilder() { + BigQueryWriteSettings.Builder builder = BigQueryWriteSettings.newBuilder(); + String endpoint = System.getenv("BIGQUERY_STORAGE_ENDPOINT"); + if (endpoint != null) { + builder.setEndpoint(endpoint); + } + return builder; + } + + /** + * Returns a {@link BigQueryWriteClient} configured with potential endpoint overrides for testing. + */ + public static BigQueryWriteClient createBigQueryWriteClient() throws IOException { + return BigQueryWriteClient.create(createBigQueryWriteSettingsBuilder().build()); + } } diff --git a/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1/pom.xml b/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1/pom.xml index 60c097b7034f..f3d1edad0de5 100644 --- a/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1/pom.xml +++ b/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT grpc-google-cloud-bigquerystorage-v1 GRPC library for grpc-google-cloud-bigquerystorage-v1 com.google.cloud google-cloud-bigquerystorage-parent - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT diff --git a/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1alpha/pom.xml b/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1alpha/pom.xml index 9ad86798ad1d..bc2f3235db8c 100644 --- a/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1alpha/pom.xml +++ b/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1alpha - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT grpc-google-cloud-bigquerystorage-v1alpha GRPC library for google-cloud-bigquerystorage com.google.cloud google-cloud-bigquerystorage-parent - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT diff --git a/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1beta/pom.xml b/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1beta/pom.xml index 0543236ac4bf..37123697e280 100644 --- a/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1beta/pom.xml +++ b/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT grpc-google-cloud-bigquerystorage-v1beta GRPC library for google-cloud-bigquerystorage com.google.cloud google-cloud-bigquerystorage-parent - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT diff --git a/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml b/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml index 80c04aa72ae8..abc50758fb07 100644 --- a/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml +++ b/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta1 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT grpc-google-cloud-bigquerystorage-v1beta1 GRPC library for grpc-google-cloud-bigquerystorage-v1beta1 com.google.cloud google-cloud-bigquerystorage-parent - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT diff --git a/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml b/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml index 434e372912f0..457d2ac38462 100644 --- a/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml +++ b/java-bigquerystorage/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta2 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT grpc-google-cloud-bigquerystorage-v1beta2 GRPC library for grpc-google-cloud-bigquerystorage-v1beta2 com.google.cloud google-cloud-bigquerystorage-parent - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT diff --git a/java-bigquerystorage/pom.xml b/java-bigquerystorage/pom.xml index dabcddd765bd..0b081eb8e7f5 100644 --- a/java-bigquerystorage/pom.xml +++ b/java-bigquerystorage/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-bigquerystorage-parent pom - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT BigQuery Storage Parent https://github.com/googleapis/google-cloud-java @@ -14,7 +14,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -78,57 +78,57 @@ com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1alpha - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1alpha - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta1 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta2 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta1 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta2 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.cloud google-cloud-bigquerystorage - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT com.google.cloud diff --git a/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1/pom.xml b/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1/pom.xml index 05d19b912385..bb9985fc3c8c 100644 --- a/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1/pom.xml +++ b/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerystorage-v1 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT proto-google-cloud-bigquerystorage-v1 PROTO library for proto-google-cloud-bigquerystorage-v1 com.google.cloud google-cloud-bigquerystorage-parent - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT diff --git a/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1alpha/pom.xml b/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1alpha/pom.xml index e718520cb9ab..4b7c731a0864 100644 --- a/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1alpha/pom.xml +++ b/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerystorage-v1alpha - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT proto-google-cloud-bigquerystorage-v1alpha Proto library for google-cloud-bigquerystorage com.google.cloud google-cloud-bigquerystorage-parent - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT diff --git a/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1beta/pom.xml b/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1beta/pom.xml index 92dc9af4ff93..77da6de7f2ef 100644 --- a/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1beta/pom.xml +++ b/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT proto-google-cloud-bigquerystorage-v1beta Proto library for google-cloud-bigquerystorage com.google.cloud google-cloud-bigquerystorage-parent - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT diff --git a/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1beta1/pom.xml b/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1beta1/pom.xml index 18396e2eb9e6..49cc2a047c0a 100644 --- a/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1beta1/pom.xml +++ b/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta1 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT proto-google-cloud-bigquerystorage-v1beta1 PROTO library for proto-google-cloud-bigquerystorage-v1beta1 com.google.cloud google-cloud-bigquerystorage-parent - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT diff --git a/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1beta2/pom.xml b/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1beta2/pom.xml index b2c0619dca2a..e91e4b74eb9b 100644 --- a/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1beta2/pom.xml +++ b/java-bigquerystorage/proto-google-cloud-bigquerystorage-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta2 - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT proto-google-cloud-bigquerystorage-v1beta2 PROTO library for proto-google-cloud-bigquerystorage-v1beta2 com.google.cloud google-cloud-bigquerystorage-parent - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT diff --git a/java-bigquerystorage/samples/snapshot/pom.xml b/java-bigquerystorage/samples/snapshot/pom.xml index 1f05260b7832..24b787b4e841 100644 --- a/java-bigquerystorage/samples/snapshot/pom.xml +++ b/java-bigquerystorage/samples/snapshot/pom.xml @@ -30,7 +30,7 @@ com.google.cloud google-cloud-bigquerystorage - 3.31.0-SNAPSHOT + 3.32.0-SNAPSHOT diff --git a/java-bigtable/google-cloud-bigtable-bom/pom.xml b/java-bigtable/google-cloud-bigtable-bom/pom.xml index e3fd536754c4..500fe8a7469b 100644 --- a/java-bigtable/google-cloud-bigtable-bom/pom.xml +++ b/java-bigtable/google-cloud-bigtable-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-bigtable-bom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -62,37 +62,37 @@ com.google.cloud google-cloud-bigtable - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT com.google.cloud google-cloud-bigtable-emulator - 0.218.0-SNAPSHOT + 0.219.0-SNAPSHOT com.google.cloud google-cloud-bigtable-emulator-core - 0.218.0-SNAPSHOT + 0.219.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT diff --git a/java-bigtable/google-cloud-bigtable-deps-bom/README.md b/java-bigtable/google-cloud-bigtable-deps-bom/README.md index e1caea482c5e..8a23e8feec07 100644 --- a/java-bigtable/google-cloud-bigtable-deps-bom/README.md +++ b/java-bigtable/google-cloud-bigtable-deps-bom/README.md @@ -16,7 +16,7 @@ Example usage: com.google.cloud google-cloud-bigtable-bom - 2.80.0 + 2.81.0 pom import @@ -24,7 +24,7 @@ Example usage: com.google.cloud google-cloud-bigtable-deps-bom - 2.80.0 + 2.81.0 pom import diff --git a/java-bigtable/google-cloud-bigtable-deps-bom/pom.xml b/java-bigtable/google-cloud-bigtable-deps-bom/pom.xml index 83d261f49309..77566db16aa7 100644 --- a/java-bigtable/google-cloud-bigtable-deps-bom/pom.xml +++ b/java-bigtable/google-cloud-bigtable-deps-bom/pom.xml @@ -7,13 +7,13 @@ com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml com.google.cloud google-cloud-bigtable-deps-bom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT pom Google Cloud Bigtable Dependency BOM @@ -66,14 +66,14 @@ com.google.cloud google-cloud-monitoring-bom - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT pom import com.google.cloud google-cloud-shared-dependencies - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT pom import diff --git a/java-bigtable/google-cloud-bigtable-emulator-core/pom.xml b/java-bigtable/google-cloud-bigtable-emulator-core/pom.xml index c95f31536edf..985ea7d122f0 100644 --- a/java-bigtable/google-cloud-bigtable-emulator-core/pom.xml +++ b/java-bigtable/google-cloud-bigtable-emulator-core/pom.xml @@ -7,12 +7,12 @@ google-cloud-bigtable-parent com.google.cloud - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT Google Cloud Java - Bigtable Emulator Core google-cloud-bigtable-emulator-core - 0.218.0-SNAPSHOT + 0.219.0-SNAPSHOT A Java wrapper for the Cloud Bigtable emulator. diff --git a/java-bigtable/google-cloud-bigtable-emulator/pom.xml b/java-bigtable/google-cloud-bigtable-emulator/pom.xml index ef5be0f12725..370e16e68a99 100644 --- a/java-bigtable/google-cloud-bigtable-emulator/pom.xml +++ b/java-bigtable/google-cloud-bigtable-emulator/pom.xml @@ -5,7 +5,7 @@ 4.0.0 google-cloud-bigtable-emulator - 0.218.0-SNAPSHOT + 0.219.0-SNAPSHOT Google Cloud Java - Bigtable Emulator A Java wrapper for the Cloud Bigtable emulator. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-bigtable-parent - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT @@ -74,14 +74,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT pom import @@ -92,7 +92,7 @@ com.google.cloud google-cloud-bigtable-emulator-core - 0.218.0-SNAPSHOT + 0.219.0-SNAPSHOT diff --git a/java-bigtable/google-cloud-bigtable/pom.xml b/java-bigtable/google-cloud-bigtable/pom.xml index 0616ef8389b7..1408de18d5a1 100644 --- a/java-bigtable/google-cloud-bigtable/pom.xml +++ b/java-bigtable/google-cloud-bigtable/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-bigtable - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT jar Google Cloud Bigtable @@ -11,11 +11,11 @@ com.google.cloud google-cloud-bigtable-parent - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT google-cloud-bigtable @@ -54,14 +54,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT pom import diff --git a/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java b/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java index 7250355d420c..9bf3f62e7079 100644 --- a/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java +++ b/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java @@ -20,6 +20,6 @@ @InternalApi("For internal use only") public final class Version { // {x-version-update-start:google-cloud-bigtable:current} - public static String VERSION = "2.81.0-SNAPSHOT"; + public static String VERSION = "2.82.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/Version.java b/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/Version.java index 4d48b2bf9b17..4e2d84699060 100644 --- a/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/Version.java +++ b/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigtable:current} - static final String VERSION = "2.81.0-SNAPSHOT"; + static final String VERSION = "2.82.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/channels/ChannelPoolDpImpl.java b/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/channels/ChannelPoolDpImpl.java index ae2dacb2d1aa..1ef72a91937a 100644 --- a/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/channels/ChannelPoolDpImpl.java +++ b/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/channels/ChannelPoolDpImpl.java @@ -26,7 +26,6 @@ import com.google.common.base.Ticker; import com.google.common.collect.HashMultiset; import com.google.common.collect.Multiset; -import com.google.common.util.concurrent.MoreExecutors; import io.grpc.CallOptions; import io.grpc.ClientCall; import io.grpc.ManagedChannel; @@ -296,11 +295,15 @@ public synchronized SessionStream newStream( fw.numOutstanding++; totalStreams++; - // DirectExecutor: gRPC/Netty delivers SessionStream.Listener callbacks directly on the - // I/O thread. All work must be fast and non-blocking; blocking work goes to sessionSyncContext. + // Do NOT override the call executor with directExecutor(): SessionStream.Listener callbacks + // acquire the SessionPool lock (onReady/onGoAway/onClose/onVRpcComplete). directExecutor() + // delivers those callbacks inline on the Netty event-loop (I/O) thread, so a contended pool + // lock blocks the event loop; the blocked event loop then can't deliver the very completions + // that would release sessions and drain the lock -> self-sustaining pod-wide wedge. Leaving + // the executor unset delivers callbacks on gRPC's off-loop channel executor, keeping + // pool-lock acquisition off the transport threads. ClientCall innerCall = - channelWrapper.channel.newCall( - desc, callOptions.withExecutor(MoreExecutors.directExecutor())); + channelWrapper.channel.newCall(desc, callOptions); return new SessionStreamImpl(innerCall) { // null until onBeforeSessionStart fires diff --git a/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/channels/SingleChannelPool.java b/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/channels/SingleChannelPool.java index bfd099f60d51..d69371adcd75 100644 --- a/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/channels/SingleChannelPool.java +++ b/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/channels/SingleChannelPool.java @@ -19,7 +19,6 @@ import com.google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration; import com.google.bigtable.v2.SessionRequest; import com.google.bigtable.v2.SessionResponse; -import com.google.common.util.concurrent.MoreExecutors; import io.grpc.CallOptions; import io.grpc.ManagedChannel; import io.grpc.MethodDescriptor; @@ -46,10 +45,14 @@ public void close() { @Override public SessionStream newStream( MethodDescriptor desc, CallOptions callOptions) { - // DirectExecutor: gRPC/Netty delivers SessionStream.Listener callbacks directly on the - // I/O thread. All work must be fast and non-blocking; blocking work goes to sessionSyncContext. - return new SessionStreamImpl( - channel.newCall(desc, callOptions.withExecutor(MoreExecutors.directExecutor()))); + // Do NOT override the call executor with directExecutor(): SessionStream.Listener callbacks + // acquire the SessionPool lock (onReady/onGoAway/onClose/onVRpcComplete). directExecutor() + // delivers those callbacks inline on the Netty event-loop (I/O) thread, so a contended pool + // lock blocks the event loop; the blocked event loop then can't deliver the very completions + // that would release sessions and drain the lock -> self-sustaining pod-wide wedge. Leaving + // the executor unset delivers callbacks on gRPC's off-loop channel executor, keeping + // pool-lock acquisition off the transport threads. + return new SessionStreamImpl(channel.newCall(desc, callOptions)); } @Override diff --git a/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/Version.java b/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/Version.java index 1bba8e07d279..bcaeed48563c 100644 --- a/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/Version.java +++ b/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigtable:current} - static final String VERSION = "2.81.0-SNAPSHOT"; + static final String VERSION = "2.82.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-bigtable/grpc-google-cloud-bigtable-admin-v2/pom.xml b/java-bigtable/grpc-google-cloud-bigtable-admin-v2/pom.xml index 98850bbdbbf2..0971468dc327 100644 --- a/java-bigtable/grpc-google-cloud-bigtable-admin-v2/pom.xml +++ b/java-bigtable/grpc-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT grpc-google-cloud-bigtable-admin-v2 GRPC library for grpc-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT pom import diff --git a/java-bigtable/grpc-google-cloud-bigtable-v2/pom.xml b/java-bigtable/grpc-google-cloud-bigtable-v2/pom.xml index ada82be72d3a..51a6d737cb45 100644 --- a/java-bigtable/grpc-google-cloud-bigtable-v2/pom.xml +++ b/java-bigtable/grpc-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT grpc-google-cloud-bigtable-v2 GRPC library for grpc-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT pom import diff --git a/java-bigtable/pom.xml b/java-bigtable/pom.xml index 21241da704fc..c6bd75e5f4f7 100644 --- a/java-bigtable/pom.xml +++ b/java-bigtable/pom.xml @@ -4,7 +4,7 @@ google-cloud-bigtable-parent pom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT Google Cloud Bigtable Parent https://github.com/googleapis/google-cloud-java @@ -14,7 +14,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -155,27 +155,27 @@ com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT com.google.cloud google-cloud-bigtable - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT diff --git a/java-bigtable/proto-google-cloud-bigtable-admin-v2/pom.xml b/java-bigtable/proto-google-cloud-bigtable-admin-v2/pom.xml index 74bcc633a23c..b5ad650dc613 100644 --- a/java-bigtable/proto-google-cloud-bigtable-admin-v2/pom.xml +++ b/java-bigtable/proto-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT proto-google-cloud-bigtable-admin-v2 PROTO library for proto-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT pom import diff --git a/java-bigtable/proto-google-cloud-bigtable-v2/pom.xml b/java-bigtable/proto-google-cloud-bigtable-v2/pom.xml index 8988641e0fdb..a5a463a3492d 100644 --- a/java-bigtable/proto-google-cloud-bigtable-v2/pom.xml +++ b/java-bigtable/proto-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT proto-google-cloud-bigtable-v2 PROTO library for proto-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT pom import diff --git a/java-bigtable/samples/snapshot/pom.xml b/java-bigtable/samples/snapshot/pom.xml index 11283789f6c2..d48c418ee84a 100644 --- a/java-bigtable/samples/snapshot/pom.xml +++ b/java-bigtable/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-bigtable - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT diff --git a/java-bigtable/test-proxy/pom.xml b/java-bigtable/test-proxy/pom.xml index 59612f5dfcec..d01521d8dedc 100644 --- a/java-bigtable/test-proxy/pom.xml +++ b/java-bigtable/test-proxy/pom.xml @@ -11,11 +11,11 @@ google-cloud-bigtable-parent com.google.cloud - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT - 2.81.0-SNAPSHOT + 2.82.0-SNAPSHOT diff --git a/java-billing/google-cloud-billing-bom/pom.xml b/java-billing/google-cloud-billing-bom/pom.xml index ee93c977d8ae..c3904f17f868 100644 --- a/java-billing/google-cloud-billing-bom/pom.xml +++ b/java-billing/google-cloud-billing-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-billing-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-billing - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-billing-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-billing-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-billing/google-cloud-billing/pom.xml b/java-billing/google-cloud-billing/pom.xml index a193d73e496a..31c182744def 100644 --- a/java-billing/google-cloud-billing/pom.xml +++ b/java-billing/google-cloud-billing/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-billing - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Cloud Billing Java idiomatic client for Google Cloud Billing com.google.cloud google-cloud-billing-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-billing diff --git a/java-billing/google-cloud-billing/src/main/java/com/google/cloud/billing/v1/stub/Version.java b/java-billing/google-cloud-billing/src/main/java/com/google/cloud/billing/v1/stub/Version.java index 87ae6e50d11f..36bcf51ab082 100644 --- a/java-billing/google-cloud-billing/src/main/java/com/google/cloud/billing/v1/stub/Version.java +++ b/java-billing/google-cloud-billing/src/main/java/com/google/cloud/billing/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-billing:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-billing/grpc-google-cloud-billing-v1/pom.xml b/java-billing/grpc-google-cloud-billing-v1/pom.xml index c99f399bcac5..14b27be2ac74 100644 --- a/java-billing/grpc-google-cloud-billing-v1/pom.xml +++ b/java-billing/grpc-google-cloud-billing-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-billing-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-billing-v1 GRPC library for grpc-google-cloud-billing-v1 com.google.cloud google-cloud-billing-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-billing/pom.xml b/java-billing/pom.xml index e61556f6e20f..ce330c79ece2 100644 --- a/java-billing/pom.xml +++ b/java-billing/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-billing-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud Billing Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.api.grpc proto-google-cloud-billing-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-billing-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.cloud google-cloud-billing - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-billing/proto-google-cloud-billing-v1/pom.xml b/java-billing/proto-google-cloud-billing-v1/pom.xml index 4029ba086c1d..9ff7d57d124b 100644 --- a/java-billing/proto-google-cloud-billing-v1/pom.xml +++ b/java-billing/proto-google-cloud-billing-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-billing-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-billing-v1beta1 PROTO library for proto-google-cloud-billing-v1 com.google.cloud google-cloud-billing-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-billingbudgets/google-cloud-billingbudgets-bom/pom.xml b/java-billingbudgets/google-cloud-billingbudgets-bom/pom.xml index 06f6b3bf9e0d..e7379016f5ea 100644 --- a/java-billingbudgets/google-cloud-billingbudgets-bom/pom.xml +++ b/java-billingbudgets/google-cloud-billingbudgets-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-billingbudgets-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-billingbudgets - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-billingbudgets-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-billingbudgets-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-billingbudgets-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-billingbudgets-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-billingbudgets/google-cloud-billingbudgets/pom.xml b/java-billingbudgets/google-cloud-billingbudgets/pom.xml index 84ddd688a31a..5b6e667f0af3 100644 --- a/java-billingbudgets/google-cloud-billingbudgets/pom.xml +++ b/java-billingbudgets/google-cloud-billingbudgets/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-billingbudgets - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Cloud billingbudgets Java idiomatic client for Google Cloud billingbudgets com.google.cloud google-cloud-billingbudgets-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-billingbudgets diff --git a/java-billingbudgets/google-cloud-billingbudgets/src/main/java/com/google/cloud/billing/budgets/v1/stub/Version.java b/java-billingbudgets/google-cloud-billingbudgets/src/main/java/com/google/cloud/billing/budgets/v1/stub/Version.java index 4618082cb9c6..06c8d3251c31 100644 --- a/java-billingbudgets/google-cloud-billingbudgets/src/main/java/com/google/cloud/billing/budgets/v1/stub/Version.java +++ b/java-billingbudgets/google-cloud-billingbudgets/src/main/java/com/google/cloud/billing/budgets/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-billingbudgets:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-billingbudgets/google-cloud-billingbudgets/src/main/java/com/google/cloud/billing/budgets/v1beta1/stub/Version.java b/java-billingbudgets/google-cloud-billingbudgets/src/main/java/com/google/cloud/billing/budgets/v1beta1/stub/Version.java index 6a64dfcb46c3..33b082e34d09 100644 --- a/java-billingbudgets/google-cloud-billingbudgets/src/main/java/com/google/cloud/billing/budgets/v1beta1/stub/Version.java +++ b/java-billingbudgets/google-cloud-billingbudgets/src/main/java/com/google/cloud/billing/budgets/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-billingbudgets:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-billingbudgets/grpc-google-cloud-billingbudgets-v1/pom.xml b/java-billingbudgets/grpc-google-cloud-billingbudgets-v1/pom.xml index f4b668d69d08..76bf23b9ea11 100644 --- a/java-billingbudgets/grpc-google-cloud-billingbudgets-v1/pom.xml +++ b/java-billingbudgets/grpc-google-cloud-billingbudgets-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-billingbudgets-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-billingbudgets-v1 GRPC library for grpc-google-cloud-billingbudgets-v1 com.google.cloud google-cloud-billingbudgets-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-billingbudgets/grpc-google-cloud-billingbudgets-v1beta1/pom.xml b/java-billingbudgets/grpc-google-cloud-billingbudgets-v1beta1/pom.xml index d14965bb2d6a..4c6d028aacf9 100644 --- a/java-billingbudgets/grpc-google-cloud-billingbudgets-v1beta1/pom.xml +++ b/java-billingbudgets/grpc-google-cloud-billingbudgets-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-billingbudgets-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-billingbudgets-v1beta1 GRPC library for grpc-google-cloud-billingbudgets-v1beta1 com.google.cloud google-cloud-billingbudgets-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-billingbudgets/pom.xml b/java-billingbudgets/pom.xml index 1a7f41a49b45..1e303c292565 100644 --- a/java-billingbudgets/pom.xml +++ b/java-billingbudgets/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-billingbudgets-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud Billing Budgets Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-billingbudgets-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-billingbudgets-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-billingbudgets-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-billingbudgets-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.cloud google-cloud-billingbudgets - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-billingbudgets/proto-google-cloud-billingbudgets-v1/pom.xml b/java-billingbudgets/proto-google-cloud-billingbudgets-v1/pom.xml index 991594918f17..86131f3c31a1 100644 --- a/java-billingbudgets/proto-google-cloud-billingbudgets-v1/pom.xml +++ b/java-billingbudgets/proto-google-cloud-billingbudgets-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-billingbudgets-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-billingbudgets-v1 PROTO library for proto-google-cloud-billingbudgets-v1 com.google.cloud google-cloud-billingbudgets-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-billingbudgets/proto-google-cloud-billingbudgets-v1beta1/pom.xml b/java-billingbudgets/proto-google-cloud-billingbudgets-v1beta1/pom.xml index e42d4ebf6578..643fee54e41e 100644 --- a/java-billingbudgets/proto-google-cloud-billingbudgets-v1beta1/pom.xml +++ b/java-billingbudgets/proto-google-cloud-billingbudgets-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-billingbudgets-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-billingbudgets-v1beta1 PROTO library for proto-google-cloud-billingbudgets-v1beta1 com.google.cloud google-cloud-billingbudgets-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-binary-authorization/google-cloud-binary-authorization-bom/pom.xml b/java-binary-authorization/google-cloud-binary-authorization-bom/pom.xml index 565ab1c842c6..db1a1e20e915 100644 --- a/java-binary-authorization/google-cloud-binary-authorization-bom/pom.xml +++ b/java-binary-authorization/google-cloud-binary-authorization-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-binary-authorization-bom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-binary-authorization - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-binary-authorization-v1beta1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-binary-authorization-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-binary-authorization-v1beta1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-binary-authorization-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-binary-authorization/google-cloud-binary-authorization/pom.xml b/java-binary-authorization/google-cloud-binary-authorization/pom.xml index b4b431c70c43..1e366e9c7775 100644 --- a/java-binary-authorization/google-cloud-binary-authorization/pom.xml +++ b/java-binary-authorization/google-cloud-binary-authorization/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-binary-authorization - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT jar Google Binary Authorization Binary Authorization is a service on Google Cloud that provides centralized software supply-chain security for applications that run on Google Kubernetes Engine (GKE) and Anthos clusters on VMware com.google.cloud google-cloud-binary-authorization-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT google-cloud-binary-authorization diff --git a/java-binary-authorization/google-cloud-binary-authorization/src/main/java/com/google/cloud/binaryauthorization/v1beta1/stub/Version.java b/java-binary-authorization/google-cloud-binary-authorization/src/main/java/com/google/cloud/binaryauthorization/v1beta1/stub/Version.java index d2de4374075b..5ed53d1b81c0 100644 --- a/java-binary-authorization/google-cloud-binary-authorization/src/main/java/com/google/cloud/binaryauthorization/v1beta1/stub/Version.java +++ b/java-binary-authorization/google-cloud-binary-authorization/src/main/java/com/google/cloud/binaryauthorization/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-binary-authorization:current} - static final String VERSION = "1.94.0-SNAPSHOT"; + static final String VERSION = "1.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-binary-authorization/google-cloud-binary-authorization/src/main/java/com/google/protos/google/cloud/binaryauthorization/v1/stub/Version.java b/java-binary-authorization/google-cloud-binary-authorization/src/main/java/com/google/protos/google/cloud/binaryauthorization/v1/stub/Version.java index 9f508ba16804..ff0844bda124 100644 --- a/java-binary-authorization/google-cloud-binary-authorization/src/main/java/com/google/protos/google/cloud/binaryauthorization/v1/stub/Version.java +++ b/java-binary-authorization/google-cloud-binary-authorization/src/main/java/com/google/protos/google/cloud/binaryauthorization/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-binary-authorization:current} - static final String VERSION = "1.94.0-SNAPSHOT"; + static final String VERSION = "1.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-binary-authorization/grpc-google-cloud-binary-authorization-v1/pom.xml b/java-binary-authorization/grpc-google-cloud-binary-authorization-v1/pom.xml index f88d6cd93abb..dad723939eac 100644 --- a/java-binary-authorization/grpc-google-cloud-binary-authorization-v1/pom.xml +++ b/java-binary-authorization/grpc-google-cloud-binary-authorization-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-binary-authorization-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT grpc-google-cloud-binary-authorization-v1 GRPC library for google-cloud-binary-authorization com.google.cloud google-cloud-binary-authorization-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-binary-authorization/grpc-google-cloud-binary-authorization-v1beta1/pom.xml b/java-binary-authorization/grpc-google-cloud-binary-authorization-v1beta1/pom.xml index 3d6c0f1c89eb..6d31628889e9 100644 --- a/java-binary-authorization/grpc-google-cloud-binary-authorization-v1beta1/pom.xml +++ b/java-binary-authorization/grpc-google-cloud-binary-authorization-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-binary-authorization-v1beta1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT grpc-google-cloud-binary-authorization-v1beta1 GRPC library for google-cloud-binary-authorization com.google.cloud google-cloud-binary-authorization-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-binary-authorization/pom.xml b/java-binary-authorization/pom.xml index a64d32112582..6cbf13b80b3e 100644 --- a/java-binary-authorization/pom.xml +++ b/java-binary-authorization/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-binary-authorization-parent pom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT Google Binary Authorization Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,34 +30,34 @@ com.google.cloud google-cloud-binary-authorization - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-binary-authorization-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-binary-authorization-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-binary-authorization-v1beta1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-binary-authorization-v1beta1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT io.grafeas grafeas - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-binary-authorization/proto-google-cloud-binary-authorization-v1/pom.xml b/java-binary-authorization/proto-google-cloud-binary-authorization-v1/pom.xml index c0af9abf98e5..db103328d3a6 100644 --- a/java-binary-authorization/proto-google-cloud-binary-authorization-v1/pom.xml +++ b/java-binary-authorization/proto-google-cloud-binary-authorization-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-binary-authorization-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT proto-google-cloud-binary-authorization-v1 Proto library for google-cloud-binary-authorization com.google.cloud google-cloud-binary-authorization-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-binary-authorization/proto-google-cloud-binary-authorization-v1beta1/pom.xml b/java-binary-authorization/proto-google-cloud-binary-authorization-v1beta1/pom.xml index aa0b4c12154a..d73a357ded52 100644 --- a/java-binary-authorization/proto-google-cloud-binary-authorization-v1beta1/pom.xml +++ b/java-binary-authorization/proto-google-cloud-binary-authorization-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-binary-authorization-v1beta1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT proto-google-cloud-binary-authorization-v1beta1 Proto library for google-cloud-binary-authorization com.google.cloud google-cloud-binary-authorization-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-capacityplanner/google-cloud-capacityplanner-bom/pom.xml b/java-capacityplanner/google-cloud-capacityplanner-bom/pom.xml index 62edc41f83b8..fccb1526fe68 100644 --- a/java-capacityplanner/google-cloud-capacityplanner-bom/pom.xml +++ b/java-capacityplanner/google-cloud-capacityplanner-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-capacityplanner-bom - 0.18.0-SNAPSHOT + 0.19.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-capacityplanner - 0.18.0-SNAPSHOT + 0.19.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-capacityplanner-v1beta - 0.18.0-SNAPSHOT + 0.19.0-SNAPSHOT com.google.api.grpc proto-google-cloud-capacityplanner-v1beta - 0.18.0-SNAPSHOT + 0.19.0-SNAPSHOT diff --git a/java-capacityplanner/google-cloud-capacityplanner/pom.xml b/java-capacityplanner/google-cloud-capacityplanner/pom.xml index eda8d0cc9ecd..780def203027 100644 --- a/java-capacityplanner/google-cloud-capacityplanner/pom.xml +++ b/java-capacityplanner/google-cloud-capacityplanner/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-capacityplanner - 0.18.0-SNAPSHOT + 0.19.0-SNAPSHOT jar Google Capacity Planner API Capacity Planner API Provides programmatic access to Capacity Planner features. com.google.cloud google-cloud-capacityplanner-parent - 0.18.0-SNAPSHOT + 0.19.0-SNAPSHOT google-cloud-capacityplanner diff --git a/java-capacityplanner/google-cloud-capacityplanner/src/main/java/com/google/cloud/capacityplanner/v1beta/stub/Version.java b/java-capacityplanner/google-cloud-capacityplanner/src/main/java/com/google/cloud/capacityplanner/v1beta/stub/Version.java index 21000a26a39c..f7ffb32a7cd8 100644 --- a/java-capacityplanner/google-cloud-capacityplanner/src/main/java/com/google/cloud/capacityplanner/v1beta/stub/Version.java +++ b/java-capacityplanner/google-cloud-capacityplanner/src/main/java/com/google/cloud/capacityplanner/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-capacityplanner:current} - static final String VERSION = "0.18.0-SNAPSHOT"; + static final String VERSION = "0.19.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-capacityplanner/grpc-google-cloud-capacityplanner-v1beta/pom.xml b/java-capacityplanner/grpc-google-cloud-capacityplanner-v1beta/pom.xml index d42169357414..12462425ba6b 100644 --- a/java-capacityplanner/grpc-google-cloud-capacityplanner-v1beta/pom.xml +++ b/java-capacityplanner/grpc-google-cloud-capacityplanner-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-capacityplanner-v1beta - 0.18.0-SNAPSHOT + 0.19.0-SNAPSHOT grpc-google-cloud-capacityplanner-v1beta GRPC library for google-cloud-capacityplanner com.google.cloud google-cloud-capacityplanner-parent - 0.18.0-SNAPSHOT + 0.19.0-SNAPSHOT diff --git a/java-capacityplanner/pom.xml b/java-capacityplanner/pom.xml index 6af98b8d7fa0..b9339153b9ac 100644 --- a/java-capacityplanner/pom.xml +++ b/java-capacityplanner/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-capacityplanner-parent pom - 0.18.0-SNAPSHOT + 0.19.0-SNAPSHOT Google Capacity Planner API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-capacityplanner - 0.18.0-SNAPSHOT + 0.19.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-capacityplanner-v1beta - 0.18.0-SNAPSHOT + 0.19.0-SNAPSHOT com.google.api.grpc proto-google-cloud-capacityplanner-v1beta - 0.18.0-SNAPSHOT + 0.19.0-SNAPSHOT diff --git a/java-capacityplanner/proto-google-cloud-capacityplanner-v1beta/pom.xml b/java-capacityplanner/proto-google-cloud-capacityplanner-v1beta/pom.xml index c421efce1634..d773e9ebf3b3 100644 --- a/java-capacityplanner/proto-google-cloud-capacityplanner-v1beta/pom.xml +++ b/java-capacityplanner/proto-google-cloud-capacityplanner-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-capacityplanner-v1beta - 0.18.0-SNAPSHOT + 0.19.0-SNAPSHOT proto-google-cloud-capacityplanner-v1beta Proto library for google-cloud-capacityplanner com.google.cloud google-cloud-capacityplanner-parent - 0.18.0-SNAPSHOT + 0.19.0-SNAPSHOT diff --git a/java-certificate-manager/google-cloud-certificate-manager-bom/pom.xml b/java-certificate-manager/google-cloud-certificate-manager-bom/pom.xml index b976f64e27f9..50f8b8575259 100644 --- a/java-certificate-manager/google-cloud-certificate-manager-bom/pom.xml +++ b/java-certificate-manager/google-cloud-certificate-manager-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-certificate-manager-bom - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-certificate-manager - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-certificate-manager-v1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-certificate-manager-v1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-certificate-manager/google-cloud-certificate-manager/pom.xml b/java-certificate-manager/google-cloud-certificate-manager/pom.xml index 5318a6bdc6c0..5845bd5d6e1e 100644 --- a/java-certificate-manager/google-cloud-certificate-manager/pom.xml +++ b/java-certificate-manager/google-cloud-certificate-manager/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-certificate-manager - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT jar Google Certificate Manager Certificate Manager lets you acquire and manage TLS (SSL) certificates for use with Cloud Load Balancing. com.google.cloud google-cloud-certificate-manager-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT google-cloud-certificate-manager diff --git a/java-certificate-manager/google-cloud-certificate-manager/src/main/java/com/google/cloud/certificatemanager/v1/stub/Version.java b/java-certificate-manager/google-cloud-certificate-manager/src/main/java/com/google/cloud/certificatemanager/v1/stub/Version.java index 3a2a03434d47..445489217a72 100644 --- a/java-certificate-manager/google-cloud-certificate-manager/src/main/java/com/google/cloud/certificatemanager/v1/stub/Version.java +++ b/java-certificate-manager/google-cloud-certificate-manager/src/main/java/com/google/cloud/certificatemanager/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-certificate-manager:current} - static final String VERSION = "0.98.0-SNAPSHOT"; + static final String VERSION = "0.99.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-certificate-manager/grpc-google-cloud-certificate-manager-v1/pom.xml b/java-certificate-manager/grpc-google-cloud-certificate-manager-v1/pom.xml index 30e3477f81bf..de1517f72d9c 100644 --- a/java-certificate-manager/grpc-google-cloud-certificate-manager-v1/pom.xml +++ b/java-certificate-manager/grpc-google-cloud-certificate-manager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-certificate-manager-v1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT grpc-google-cloud-certificate-manager-v1 GRPC library for google-cloud-certificate-manager com.google.cloud google-cloud-certificate-manager-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-certificate-manager/pom.xml b/java-certificate-manager/pom.xml index f483a2541939..2d439d341a9b 100644 --- a/java-certificate-manager/pom.xml +++ b/java-certificate-manager/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-certificate-manager-parent pom - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT Google Certificate Manager Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-certificate-manager - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-certificate-manager-v1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-certificate-manager-v1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-certificate-manager/proto-google-cloud-certificate-manager-v1/pom.xml b/java-certificate-manager/proto-google-cloud-certificate-manager-v1/pom.xml index 2501d5686e69..dd826b5e0af4 100644 --- a/java-certificate-manager/proto-google-cloud-certificate-manager-v1/pom.xml +++ b/java-certificate-manager/proto-google-cloud-certificate-manager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-certificate-manager-v1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT proto-google-cloud-certificate-manager-v1 Proto library for google-cloud-certificate-manager com.google.cloud google-cloud-certificate-manager-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-ces/google-cloud-ces-bom/pom.xml b/java-ces/google-cloud-ces-bom/pom.xml index a107c02a0462..05846ba10d61 100644 --- a/java-ces/google-cloud-ces-bom/pom.xml +++ b/java-ces/google-cloud-ces-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-ces-bom - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.cloud google-cloud-ces - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-ces-v1 - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-ces-v1beta - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT com.google.api.grpc proto-google-cloud-ces-v1 - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT com.google.api.grpc proto-google-cloud-ces-v1beta - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT diff --git a/java-ces/google-cloud-ces/pom.xml b/java-ces/google-cloud-ces/pom.xml index 5a5ec8ff3b4c..830b3dd07f54 100644 --- a/java-ces/google-cloud-ces/pom.xml +++ b/java-ces/google-cloud-ces/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-ces - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT jar Google Gemini Enterprise for Customer Experience API Gemini Enterprise for Customer Experience API Customer Experience Agent Studio (CX Agent Studio) is a minimal code conversational agent builder. com.google.cloud google-cloud-ces-parent - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT google-cloud-ces diff --git a/java-ces/google-cloud-ces/src/main/java/com/google/cloud/ces/v1/stub/Version.java b/java-ces/google-cloud-ces/src/main/java/com/google/cloud/ces/v1/stub/Version.java index 40961f885f44..17dcc2786beb 100644 --- a/java-ces/google-cloud-ces/src/main/java/com/google/cloud/ces/v1/stub/Version.java +++ b/java-ces/google-cloud-ces/src/main/java/com/google/cloud/ces/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-ces:current} - static final String VERSION = "0.11.0-SNAPSHOT"; + static final String VERSION = "0.12.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-ces/google-cloud-ces/src/main/java/com/google/cloud/ces/v1beta/stub/Version.java b/java-ces/google-cloud-ces/src/main/java/com/google/cloud/ces/v1beta/stub/Version.java index 024b6074aca5..50cb128c6aed 100644 --- a/java-ces/google-cloud-ces/src/main/java/com/google/cloud/ces/v1beta/stub/Version.java +++ b/java-ces/google-cloud-ces/src/main/java/com/google/cloud/ces/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-ces:current} - static final String VERSION = "0.11.0-SNAPSHOT"; + static final String VERSION = "0.12.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-ces/grpc-google-cloud-ces-v1/pom.xml b/java-ces/grpc-google-cloud-ces-v1/pom.xml index 868fe8a39832..3ee3fac482f9 100644 --- a/java-ces/grpc-google-cloud-ces-v1/pom.xml +++ b/java-ces/grpc-google-cloud-ces-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-ces-v1 - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT grpc-google-cloud-ces-v1 GRPC library for google-cloud-ces com.google.cloud google-cloud-ces-parent - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT diff --git a/java-ces/grpc-google-cloud-ces-v1beta/pom.xml b/java-ces/grpc-google-cloud-ces-v1beta/pom.xml index 9abf3a7e8001..7f60ce0a9f81 100644 --- a/java-ces/grpc-google-cloud-ces-v1beta/pom.xml +++ b/java-ces/grpc-google-cloud-ces-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-ces-v1beta - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT grpc-google-cloud-ces-v1beta GRPC library for google-cloud-ces com.google.cloud google-cloud-ces-parent - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT diff --git a/java-ces/pom.xml b/java-ces/pom.xml index 21c96dbb843f..93565f39a733 100644 --- a/java-ces/pom.xml +++ b/java-ces/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-ces-parent pom - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT Google Gemini Enterprise for Customer Experience API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-ces - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT com.google.api.grpc proto-google-cloud-ces-v1beta - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-ces-v1beta - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-ces-v1 - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT com.google.api.grpc proto-google-cloud-ces-v1 - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT diff --git a/java-ces/proto-google-cloud-ces-v1/pom.xml b/java-ces/proto-google-cloud-ces-v1/pom.xml index c87f34812e33..bf6aaacda6c3 100644 --- a/java-ces/proto-google-cloud-ces-v1/pom.xml +++ b/java-ces/proto-google-cloud-ces-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-ces-v1 - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT proto-google-cloud-ces-v1 Proto library for google-cloud-ces com.google.cloud google-cloud-ces-parent - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT diff --git a/java-ces/proto-google-cloud-ces-v1beta/pom.xml b/java-ces/proto-google-cloud-ces-v1beta/pom.xml index 61a4d889ceb5..af0583adc2b2 100644 --- a/java-ces/proto-google-cloud-ces-v1beta/pom.xml +++ b/java-ces/proto-google-cloud-ces-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-ces-v1beta - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT proto-google-cloud-ces-v1beta Proto library for google-cloud-ces com.google.cloud google-cloud-ces-parent - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT diff --git a/java-channel/google-cloud-channel-bom/pom.xml b/java-channel/google-cloud-channel-bom/pom.xml index 59cfe6cf18fa..cd31636ab237 100644 --- a/java-channel/google-cloud-channel-bom/pom.xml +++ b/java-channel/google-cloud-channel-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-channel-bom - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-channel - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-channel-v1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-channel-v1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-channel/google-cloud-channel/pom.xml b/java-channel/google-cloud-channel/pom.xml index 7dcd0b4e2aad..837e26f6585e 100644 --- a/java-channel/google-cloud-channel/pom.xml +++ b/java-channel/google-cloud-channel/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-channel - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT jar Google Channel Services With Channel Services, Google Cloud partners and resellers have a single unified resale platform, with a unified resale catalog, customer management, order management, billing management, policy and authorization management, and cost management. com.google.cloud google-cloud-channel-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT google-cloud-channel diff --git a/java-channel/google-cloud-channel/src/main/java/com/google/cloud/channel/v1/stub/Version.java b/java-channel/google-cloud-channel/src/main/java/com/google/cloud/channel/v1/stub/Version.java index 25c8c30ef3bb..cebe6b18f9f6 100644 --- a/java-channel/google-cloud-channel/src/main/java/com/google/cloud/channel/v1/stub/Version.java +++ b/java-channel/google-cloud-channel/src/main/java/com/google/cloud/channel/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-channel:current} - static final String VERSION = "3.99.0-SNAPSHOT"; + static final String VERSION = "3.100.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-channel/grpc-google-cloud-channel-v1/pom.xml b/java-channel/grpc-google-cloud-channel-v1/pom.xml index 3914a53e6f2a..d00dfdb0417e 100644 --- a/java-channel/grpc-google-cloud-channel-v1/pom.xml +++ b/java-channel/grpc-google-cloud-channel-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-channel-v1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT grpc-google-cloud-channel-v1 GRPC library for google-cloud-channel com.google.cloud google-cloud-channel-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-channel/pom.xml b/java-channel/pom.xml index 2839d5be7765..166972c5927d 100644 --- a/java-channel/pom.xml +++ b/java-channel/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-channel-parent pom - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT Google Channel Services Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-channel - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-channel-v1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-channel-v1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-channel/proto-google-cloud-channel-v1/pom.xml b/java-channel/proto-google-cloud-channel-v1/pom.xml index 8e9df74e8cbc..b40399762d2c 100644 --- a/java-channel/proto-google-cloud-channel-v1/pom.xml +++ b/java-channel/proto-google-cloud-channel-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-channel-v1 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT proto-google-cloud-channel-v1 Proto library for google-cloud-channel com.google.cloud google-cloud-channel-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-chat/google-cloud-chat-bom/pom.xml b/java-chat/google-cloud-chat-bom/pom.xml index 123705eb76f8..a96b6eb29562 100644 --- a/java-chat/google-cloud-chat-bom/pom.xml +++ b/java-chat/google-cloud-chat-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-chat-bom - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-chat - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-chat-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc proto-google-cloud-chat-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-chat/google-cloud-chat/pom.xml b/java-chat/google-cloud-chat/pom.xml index aac33f39426d..30fbb54e22c8 100644 --- a/java-chat/google-cloud-chat/pom.xml +++ b/java-chat/google-cloud-chat/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-chat - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT jar Google Google Chat API Google Chat API The Google Chat API lets you build Chat apps to integrate your services with Google Chat and manage Chat resources such as spaces, members, and messages. com.google.cloud google-cloud-chat-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT google-cloud-chat diff --git a/java-chat/google-cloud-chat/src/main/java/com/google/chat/v1/stub/Version.java b/java-chat/google-cloud-chat/src/main/java/com/google/chat/v1/stub/Version.java index 514faa7d22c2..270a7d1ae113 100644 --- a/java-chat/google-cloud-chat/src/main/java/com/google/chat/v1/stub/Version.java +++ b/java-chat/google-cloud-chat/src/main/java/com/google/chat/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-chat:current} - static final String VERSION = "0.59.0-SNAPSHOT"; + static final String VERSION = "0.60.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-chat/grpc-google-cloud-chat-v1/pom.xml b/java-chat/grpc-google-cloud-chat-v1/pom.xml index 1f2ad76a5bbd..3b76e784ed7b 100644 --- a/java-chat/grpc-google-cloud-chat-v1/pom.xml +++ b/java-chat/grpc-google-cloud-chat-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-chat-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT grpc-google-cloud-chat-v1 GRPC library for google-cloud-chat com.google.cloud google-cloud-chat-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-chat/pom.xml b/java-chat/pom.xml index dbbdfa504e62..53ca49f7cbb6 100644 --- a/java-chat/pom.xml +++ b/java-chat/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-chat-parent pom - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT Google Google Chat API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-chat - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-chat-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc proto-google-cloud-chat-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-chat/proto-google-cloud-chat-v1/pom.xml b/java-chat/proto-google-cloud-chat-v1/pom.xml index 7210e98db179..665cec954c0c 100644 --- a/java-chat/proto-google-cloud-chat-v1/pom.xml +++ b/java-chat/proto-google-cloud-chat-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-chat-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT proto-google-cloud-chat-v1 Proto library for google-cloud-chat com.google.cloud google-cloud-chat-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-chronicle/google-cloud-chronicle-bom/pom.xml b/java-chronicle/google-cloud-chronicle-bom/pom.xml index f2432aae581e..01b02d9de00d 100644 --- a/java-chronicle/google-cloud-chronicle-bom/pom.xml +++ b/java-chronicle/google-cloud-chronicle-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-chronicle-bom - 0.33.0-SNAPSHOT + 0.34.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-chronicle - 0.33.0-SNAPSHOT + 0.34.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-chronicle-v1 - 0.33.0-SNAPSHOT + 0.34.0-SNAPSHOT com.google.api.grpc proto-google-cloud-chronicle-v1 - 0.33.0-SNAPSHOT + 0.34.0-SNAPSHOT diff --git a/java-chronicle/google-cloud-chronicle/pom.xml b/java-chronicle/google-cloud-chronicle/pom.xml index f9c2e78c4b8d..a6b66e1d59ad 100644 --- a/java-chronicle/google-cloud-chronicle/pom.xml +++ b/java-chronicle/google-cloud-chronicle/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-chronicle - 0.33.0-SNAPSHOT + 0.34.0-SNAPSHOT jar Google Chronicle API Chronicle API The Google Cloud Security Operations API, popularly known as the Chronicle API, serves endpoints that enable security analysts to analyze and mitigate a security threat throughout its lifecycle com.google.cloud google-cloud-chronicle-parent - 0.33.0-SNAPSHOT + 0.34.0-SNAPSHOT google-cloud-chronicle diff --git a/java-chronicle/google-cloud-chronicle/src/main/java/com/google/cloud/chronicle/v1/stub/Version.java b/java-chronicle/google-cloud-chronicle/src/main/java/com/google/cloud/chronicle/v1/stub/Version.java index e9ae9051646a..301243acb68c 100644 --- a/java-chronicle/google-cloud-chronicle/src/main/java/com/google/cloud/chronicle/v1/stub/Version.java +++ b/java-chronicle/google-cloud-chronicle/src/main/java/com/google/cloud/chronicle/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-chronicle:current} - static final String VERSION = "0.33.0-SNAPSHOT"; + static final String VERSION = "0.34.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-chronicle/grpc-google-cloud-chronicle-v1/pom.xml b/java-chronicle/grpc-google-cloud-chronicle-v1/pom.xml index 9620fe2b441e..113e8910fa42 100644 --- a/java-chronicle/grpc-google-cloud-chronicle-v1/pom.xml +++ b/java-chronicle/grpc-google-cloud-chronicle-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-chronicle-v1 - 0.33.0-SNAPSHOT + 0.34.0-SNAPSHOT grpc-google-cloud-chronicle-v1 GRPC library for google-cloud-chronicle com.google.cloud google-cloud-chronicle-parent - 0.33.0-SNAPSHOT + 0.34.0-SNAPSHOT diff --git a/java-chronicle/pom.xml b/java-chronicle/pom.xml index d5ba3a64cfaa..a23730ab818d 100644 --- a/java-chronicle/pom.xml +++ b/java-chronicle/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-chronicle-parent pom - 0.33.0-SNAPSHOT + 0.34.0-SNAPSHOT Google Chronicle API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-chronicle - 0.33.0-SNAPSHOT + 0.34.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-chronicle-v1 - 0.33.0-SNAPSHOT + 0.34.0-SNAPSHOT com.google.api.grpc proto-google-cloud-chronicle-v1 - 0.33.0-SNAPSHOT + 0.34.0-SNAPSHOT diff --git a/java-chronicle/proto-google-cloud-chronicle-v1/pom.xml b/java-chronicle/proto-google-cloud-chronicle-v1/pom.xml index ea1f052df180..9790d4620b07 100644 --- a/java-chronicle/proto-google-cloud-chronicle-v1/pom.xml +++ b/java-chronicle/proto-google-cloud-chronicle-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-chronicle-v1 - 0.33.0-SNAPSHOT + 0.34.0-SNAPSHOT proto-google-cloud-chronicle-v1 Proto library for google-cloud-chronicle com.google.cloud google-cloud-chronicle-parent - 0.33.0-SNAPSHOT + 0.34.0-SNAPSHOT diff --git a/java-cloud-bom/README.md b/java-cloud-bom/README.md index 54b3e64a19ed..fbbf895495e0 100644 --- a/java-cloud-bom/README.md +++ b/java-cloud-bom/README.md @@ -17,7 +17,7 @@ To use it in Maven, add the following to your POM: com.google.cloud libraries-bom - 26.85.0 + 26.86.0 pom import @@ -42,241 +42,246 @@ The content of the Libraries BOM consists of 2 categories: This is the table of modules included in the latest libraries-bom release: -### libraries-bom: v26.85.0 +### libraries-bom: v26.86.0 | Artifact ID | Library Type | Google Cloud Library Reference | Google Cloud Product Reference | | --------- | ------------ | ------------ | ------------ | -| api-common | Runtime | [2.65.0](https://cloud.google.com/java/docs/reference/api-common/latest/overview) | N/A | -| gax | Runtime | [2.82.0](https://cloud.google.com/java/docs/reference/gax/latest/overview) | N/A | -| google-analytics-admin | Product | [0.104.0](https://cloud.google.com/java/docs/reference/google-analytics-admin/latest/overview) | [Analytics Admin](https://developers.google.com/analytics) | -| google-analytics-data | Product | [0.105.0](https://cloud.google.com/java/docs/reference/google-analytics-data/latest/overview) | [Analytics Data](https://developers.google.com/analytics/trusted-testing/analytics-data) | -| google-area120-tables | Product | [0.98.0](https://cloud.google.com/java/docs/reference/google-area120-tables/latest/overview) | [Area 120 Tables](https://area120.google.com/) | -| google-auth-library-cab-token-generator | Product | [1.49.0](https://cloud.google.com/java/docs/reference/google-auth-library-cab-token-generator/latest/overview) | N/A | -| google-auth-library | Runtime | [1.49.0](https://cloud.google.com/java/docs/reference/google-auth-library/latest/overview) | [Google Auth Library](n/a) | -| google-cloud-accessapproval | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-accessapproval/latest/overview) | [Access Approval](https://cloud.google.com/access-approval/docs/) | -| google-cloud-advisorynotifications | Product | [0.83.0](https://cloud.google.com/java/docs/reference/google-cloud-advisorynotifications/latest/overview) | [Advisory Notifications API](https://cloud.google.com/advisory-notifications/) | -| google-cloud-agentregistry | Product | [0.1.0](https://cloud.google.com/java/docs/reference/google-cloud-agentregistry/latest/overview) | N/A | -| google-cloud-aiplatform | Product | [3.95.0](https://cloud.google.com/java/docs/reference/google-cloud-aiplatform/latest/overview) | [Vertex AI](https://cloud.google.com/vertex-ai/docs) | -| google-cloud-alloydb | Product | [0.83.0](https://cloud.google.com/java/docs/reference/google-cloud-alloydb/latest/overview) | [AlloyDB](https://cloud.google.com/alloydb/) | -| google-cloud-alloydb-connectors | Product | [0.72.0](https://cloud.google.com/java/docs/reference/google-cloud-alloydb-connectors/latest/overview) | N/A | -| google-cloud-analyticshub | Product | [0.91.0](https://cloud.google.com/java/docs/reference/google-cloud-analyticshub/latest/overview) | [Analytics Hub API](https://cloud.google.com/bigquery/TBD) | -| google-cloud-api-gateway | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-api-gateway/latest/overview) | [API Gateway](https://cloud.google.com/api-gateway/docs) | -| google-cloud-apigee-connect | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-apigee-connect/latest/overview) | [Apigee Connect](https://cloud.google.com/apigee/docs/hybrid/v1.3/apigee-connect/) | -| google-cloud-apihub | Product | [0.47.0](https://cloud.google.com/java/docs/reference/google-cloud-apihub/latest/overview) | N/A | -| google-cloud-apikeys | Product | [0.92.0](https://cloud.google.com/java/docs/reference/google-cloud-apikeys/latest/overview) | [API Keys API](https://cloud.google.com/api-keys/) | -| google-cloud-appengine-admin | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-appengine-admin/latest/overview) | [App Engine Admin API](https://cloud.google.com/appengine/docs/admin-api/) | -| google-cloud-apphub | Product | [0.58.0](https://cloud.google.com/java/docs/reference/google-cloud-apphub/latest/overview) | N/A | -| google-cloud-appoptimize | Product | [0.4.0](https://cloud.google.com/java/docs/reference/google-cloud-appoptimize/latest/overview) | N/A | -| google-cloud-artifact-registry | Product | [1.93.0](https://cloud.google.com/java/docs/reference/google-cloud-artifact-registry/latest/overview) | [Artifact Registry](https://cloud.google.com/artifact-registry) | -| google-cloud-asset | Product | [3.98.0](https://cloud.google.com/java/docs/reference/google-cloud-asset/latest/overview) | [Cloud Asset Inventory](https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview) | -| google-cloud-assured-workloads | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-assured-workloads/latest/overview) | [Assured Workloads for Government](https://cloud.google.com/assured-workloads/) | -| google-cloud-auditmanager | Product | [0.12.0](https://cloud.google.com/java/docs/reference/google-cloud-auditmanager/latest/overview) | N/A | -| google-cloud-automl | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-automl/latest/overview) | [Cloud Auto ML](https://cloud.google.com/automl/docs/) | -| google-cloud-backstory | Product | [0.2.0](https://cloud.google.com/java/docs/reference/google-cloud-backstory/latest/overview) | N/A | -| google-cloud-backupdr | Product | [0.53.0](https://cloud.google.com/java/docs/reference/google-cloud-backupdr/latest/overview) | N/A | -| google-cloud-bare-metal-solution | Product | [0.94.0](https://cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/overview) | [Bare Metal Solution](https://cloud.google.com/bare-metal/docs) | -| google-cloud-batch | Product | [0.94.0](https://cloud.google.com/java/docs/reference/google-cloud-batch/latest/overview) | [Cloud Batch](https://cloud.google.com/) | -| google-cloud-beyondcorp-appconnections | Product | [0.92.0](https://cloud.google.com/java/docs/reference/google-cloud-beyondcorp-appconnections/latest/overview) | [BeyondCorp AppConnections](https://cloud.google.com/beyondcorp-enterprise/) | -| google-cloud-beyondcorp-appconnectors | Product | [0.92.0](https://cloud.google.com/java/docs/reference/google-cloud-beyondcorp-appconnectors/latest/overview) | [BeyondCorp AppConnectors](cloud.google.com/beyondcorp-enterprise/) | -| google-cloud-beyondcorp-appgateways | Product | [0.92.0](https://cloud.google.com/java/docs/reference/google-cloud-beyondcorp-appgateways/latest/overview) | [BeyondCorp AppGateways](https://cloud.google.com/beyondcorp-enterprise/) | -| google-cloud-beyondcorp-clientconnectorservices | Product | [0.92.0](https://cloud.google.com/java/docs/reference/google-cloud-beyondcorp-clientconnectorservices/latest/overview) | [BeyondCorp ClientConnectorServices](https://cloud.google.com/beyondcorp-enterprise/) | -| google-cloud-beyondcorp-clientgateways | Product | [0.92.0](https://cloud.google.com/java/docs/reference/google-cloud-beyondcorp-clientgateways/latest/overview) | [BeyondCorp ClientGateways](https://cloud.google.com/beyondcorp-enterprise/) | -| google-cloud-biglake | Product | [0.82.0](https://cloud.google.com/java/docs/reference/google-cloud-biglake/latest/overview) | [BigLake](https://cloud.google.com/biglake) | -| google-cloud-bigquery | Product | [2.68.0](https://cloud.google.com/java/docs/reference/google-cloud-bigquery/latest/overview) | [Cloud BigQuery](https://cloud.google.com/bigquery) | -| google-cloud-bigquery-data-exchange | Product | [2.89.0](https://cloud.google.com/java/docs/reference/google-cloud-bigquery-data-exchange/latest/overview) | [Analytics Hub](https://cloud.google.com/analytics-hub) | -| google-cloud-bigqueryconnection | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-bigqueryconnection/latest/overview) | [Cloud BigQuery Connection](https://cloud.google.com/bigquery/docs/reference/bigqueryconnection/rest) | -| google-cloud-bigquerydatapolicy | Product | [0.91.0](https://cloud.google.com/java/docs/reference/google-cloud-bigquerydatapolicy/latest/overview) | [BigQuery DataPolicy API](https://cloud.google.com/bigquery/docs/reference/datapolicy/) | -| google-cloud-bigquerydatatransfer | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-bigquerydatatransfer/latest/overview) | [BigQuery Data Transfer Service](https://cloud.google.com/bigquery/transfer/) | -| google-cloud-bigquerymigration | Product | [0.97.0](https://cloud.google.com/java/docs/reference/google-cloud-bigquerymigration/latest/overview) | [BigQuery Migration](https://cloud.google.com/bigquery/docs) | -| google-cloud-bigqueryreservation | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-bigqueryreservation/latest/overview) | [Cloud BigQuery Reservation](https://cloud.google.com/bigquery/docs/reference/reservations/rpc) | -| google-cloud-bigquerystorage | Product | [3.30.0](https://cloud.google.com/java/docs/reference/google-cloud-bigquerystorage/latest/overview) | [BigQuery Storage](https://cloud.google.com/bigquery/docs/reference/storage/) | -| google-cloud-bigtable | Product | [2.80.0](https://cloud.google.com/java/docs/reference/google-cloud-bigtable/latest/overview) | [Cloud Bigtable](https://cloud.google.com/bigtable) | -| google-cloud-billing | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-billing/latest/overview) | [Cloud Billing](https://cloud.google.com/billing/docs) | -| google-cloud-billingbudgets | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-billingbudgets/latest/overview) | [Cloud Billing Budgets](https://cloud.google.com/billing/docs/how-to/budgets) | -| google-cloud-binary-authorization | Product | [1.93.0](https://cloud.google.com/java/docs/reference/google-cloud-binary-authorization/latest/overview) | [Binary Authorization](https://cloud.google.com/binary-authorization/docs) | -| google-cloud-build | Product | [3.96.0](https://cloud.google.com/java/docs/reference/google-cloud-build/latest/overview) | [Cloud Build](https://cloud.google.com/cloud-build/) | -| google-cloud-capacityplanner | Product | [0.17.0](https://cloud.google.com/java/docs/reference/google-cloud-capacityplanner/latest/overview) | N/A | -| google-cloud-certificate-manager | Product | [0.97.0](https://cloud.google.com/java/docs/reference/google-cloud-certificate-manager/latest/overview) | [Certificate Manager](https://cloud.google.com/certificate-manager/docs) | -| google-cloud-ces | Product | [0.10.0](https://cloud.google.com/java/docs/reference/google-cloud-ces/latest/overview) | N/A | -| google-cloud-channel | Product | [3.98.0](https://cloud.google.com/java/docs/reference/google-cloud-channel/latest/overview) | [Channel Services](https://cloud.google.com/channel/docs) | -| google-cloud-chat | Product | [0.58.0](https://cloud.google.com/java/docs/reference/google-cloud-chat/latest/overview) | N/A | -| google-cloud-chronicle | Product | [0.32.0](https://cloud.google.com/java/docs/reference/google-cloud-chronicle/latest/overview) | N/A | -| google-cloud-cloudapiregistry | Product | [0.13.0](https://cloud.google.com/java/docs/reference/google-cloud-cloudapiregistry/latest/overview) | N/A | -| google-cloud-cloudcommerceconsumerprocurement | Product | [0.92.0](https://cloud.google.com/java/docs/reference/google-cloud-cloudcommerceconsumerprocurement/latest/overview) | [Cloud Commerce Consumer Procurement](https://cloud.google.com/marketplace/) | -| google-cloud-cloudcontrolspartner | Product | [0.58.0](https://cloud.google.com/java/docs/reference/google-cloud-cloudcontrolspartner/latest/overview) | N/A | -| google-cloud-cloudquotas | Product | [0.62.0](https://cloud.google.com/java/docs/reference/google-cloud-cloudquotas/latest/overview) | N/A | -| google-cloud-cloudsecuritycompliance | Product | [0.21.0](https://cloud.google.com/java/docs/reference/google-cloud-cloudsecuritycompliance/latest/overview) | N/A | -| google-cloud-cloudsupport | Product | [0.78.0](https://cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/overview) | [Google Cloud Support API](https://cloud.google.com/support/docs/reference/support-api/) | -| google-cloud-compute | Product | [1.104.0](https://cloud.google.com/java/docs/reference/google-cloud-compute/latest/overview) | [Compute Engine](https://cloud.google.com/compute/) | -| google-cloud-confidentialcomputing | Product | [0.80.0](https://cloud.google.com/java/docs/reference/google-cloud-confidentialcomputing/latest/overview) | [Confidential Computing API](https://cloud.google.com/confidential-computing/) | -| google-cloud-configdelivery | Product | [0.28.0](https://cloud.google.com/java/docs/reference/google-cloud-configdelivery/latest/overview) | N/A | -| google-cloud-connectgateway | Product | [0.46.0](https://cloud.google.com/java/docs/reference/google-cloud-connectgateway/latest/overview) | N/A | -| google-cloud-contact-center-insights | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-contact-center-insights/latest/overview) | [CCAI Insights](https://cloud.google.com/dialogflow/priv/docs/insights/) | -| google-cloud-container | Product | [2.97.0](https://cloud.google.com/java/docs/reference/google-cloud-container/latest/overview) | [Kubernetes Engine](https://cloud.google.com/kubernetes-engine/) | -| google-cloud-containeranalysis | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-containeranalysis/latest/overview) | [Cloud Container Analysis](https://cloud.google.com/container-registry/docs/container-analysis) | -| google-cloud-contentwarehouse | Product | [0.90.0](https://cloud.google.com/java/docs/reference/google-cloud-contentwarehouse/latest/overview) | [Document AI Warehouse](https://cloud.google.com/document-warehouse/docs/overview) | -| google-cloud-core | Runtime | [2.72.0](https://cloud.google.com/java/docs/reference/google-cloud-core/latest/overview) | [Google Cloud Core](n/a) | -| google-cloud-data-fusion | Product | [1.94.0](https://cloud.google.com/java/docs/reference/google-cloud-data-fusion/latest/overview) | [Cloud Data Fusion](https://cloud.google.com/data-fusion/docs) | -| google-cloud-databasecenter | Product | [0.15.0](https://cloud.google.com/java/docs/reference/google-cloud-databasecenter/latest/overview) | N/A | -| google-cloud-datacatalog | Product | [1.100.0](https://cloud.google.com/java/docs/reference/google-cloud-datacatalog/latest/overview) | [Data Catalog](https://cloud.google.com/data-catalog) | -| google-cloud-dataflow | Product | [0.98.0](https://cloud.google.com/java/docs/reference/google-cloud-dataflow/latest/overview) | [Dataflow](https://cloud.google.com/dataflow/docs) | -| google-cloud-dataform | Product | [0.93.0](https://cloud.google.com/java/docs/reference/google-cloud-dataform/latest/overview) | [Cloud Dataform](https://cloud.google.com/dataform/docs) | -| google-cloud-datalabeling | Product | [0.214.0](https://cloud.google.com/java/docs/reference/google-cloud-datalabeling/latest/overview) | [Data Labeling](https://cloud.google.com/ai-platform/data-labeling/docs/) | -| google-cloud-datalineage | Product | [0.86.0](https://cloud.google.com/java/docs/reference/google-cloud-datalineage/latest/overview) | [Data Lineage](https://cloud.google.com/data-catalog/docs/data-lineage/) | -| google-cloud-dataplex | Product | [1.92.0](https://cloud.google.com/java/docs/reference/google-cloud-dataplex/latest/overview) | [Cloud Dataplex](https://cloud.google.com/dataplex) | -| google-cloud-dataproc | Product | [4.91.1](https://cloud.google.com/java/docs/reference/google-cloud-dataproc/latest/overview) | [Dataproc](https://cloud.google.com/dataproc) | -| google-cloud-dataproc-metastore | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-dataproc-metastore/latest/overview) | [Dataproc Metastore](https://cloud.google.com/dataproc-metastore/docs) | -| google-cloud-datastore | Product | [3.2.0](https://cloud.google.com/java/docs/reference/google-cloud-datastore/latest/overview) | [Cloud Datastore](https://cloud.google.com/datastore) | -| google-cloud-datastream | Product | [1.93.0](https://cloud.google.com/java/docs/reference/google-cloud-datastream/latest/overview) | [Datastream](https://cloud.google.com/datastream/docs) | -| google-cloud-deploy | Product | [1.92.0](https://cloud.google.com/java/docs/reference/google-cloud-deploy/latest/overview) | [Google Cloud Deploy](https://cloud.google.com/deploy/docs) | -| google-cloud-developer-knowledge | Product | [0.2.0](https://cloud.google.com/java/docs/reference/google-cloud-developer-knowledge/latest/overview) | N/A | -| google-cloud-developerconnect | Product | [0.51.0](https://cloud.google.com/java/docs/reference/google-cloud-developerconnect/latest/overview) | N/A | -| google-cloud-devicestreaming | Product | [0.34.0](https://cloud.google.com/java/docs/reference/google-cloud-devicestreaming/latest/overview) | N/A | -| google-cloud-dialogflow | Product | [4.100.0](https://cloud.google.com/java/docs/reference/google-cloud-dialogflow/latest/overview) | [Dialogflow API](https://cloud.google.com/dialogflow-enterprise/) | -| google-cloud-dialogflow-cx | Product | [0.105.0](https://cloud.google.com/java/docs/reference/google-cloud-dialogflow-cx/latest/overview) | [Dialogflow CX](https://cloud.google.com/dialogflow/cx/docs) | -| google-cloud-discoveryengine | Product | [0.90.0](https://cloud.google.com/java/docs/reference/google-cloud-discoveryengine/latest/overview) | [Discovery Engine API](https://cloud.google.com/discovery-engine/media/docs) | -| google-cloud-distributedcloudedge | Product | [0.91.0](https://cloud.google.com/java/docs/reference/google-cloud-distributedcloudedge/latest/overview) | [Google Distributed Cloud Edge](https://cloud.google.com/distributed-cloud/edge/latest/) | -| google-cloud-dlp | Product | [3.98.0](https://cloud.google.com/java/docs/reference/google-cloud-dlp/latest/overview) | [Cloud Data Loss Prevention](https://cloud.google.com/dlp/docs/) | -| google-cloud-dms | Product | [2.93.0](https://cloud.google.com/java/docs/reference/google-cloud-dms/latest/overview) | [Database Migration Service](https://cloud.google.com/database-migration/docs) | -| google-cloud-dns | Product | [2.92.0](https://cloud.google.com/java/docs/reference/google-cloud-dns/latest/overview) | [Cloud DNS](https://cloud.google.com/dns) | -| google-cloud-document-ai | Product | [2.98.0](https://cloud.google.com/java/docs/reference/google-cloud-document-ai/latest/overview) | [Document AI](https://cloud.google.com/compute/docs/documentai/) | -| google-cloud-domains | Product | [1.91.0](https://cloud.google.com/java/docs/reference/google-cloud-domains/latest/overview) | [Cloud Domains](https://cloud.google.com/domains) | -| google-cloud-edgenetwork | Product | [0.62.0](https://cloud.google.com/java/docs/reference/google-cloud-edgenetwork/latest/overview) | N/A | -| google-cloud-enterpriseknowledgegraph | Product | [0.90.0](https://cloud.google.com/java/docs/reference/google-cloud-enterpriseknowledgegraph/latest/overview) | [Enterprise Knowledge Graph](https://cloud.google.com/enterprise-knowledge-graph/docs/overview) | -| google-cloud-errorreporting | Product | [0.215.0-beta](https://cloud.google.com/java/docs/reference/google-cloud-errorreporting/latest/overview) | [Error Reporting](https://cloud.google.com/error-reporting) | -| google-cloud-essential-contacts | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-essential-contacts/latest/overview) | [Essential Contacts API](https://cloud.google.com/resource-manager/docs/managing-notification-contacts/) | -| google-cloud-eventarc | Product | [1.94.0](https://cloud.google.com/java/docs/reference/google-cloud-eventarc/latest/overview) | [Eventarc](https://cloud.google.com/eventarc/docs) | -| google-cloud-eventarc-publishing | Product | [0.94.0](https://cloud.google.com/java/docs/reference/google-cloud-eventarc-publishing/latest/overview) | [Eventarc Publishing](https://cloud.google.com/eventarc/docs) | -| google-cloud-filestore | Product | [1.95.0](https://cloud.google.com/java/docs/reference/google-cloud-filestore/latest/overview) | [Cloud Filestore API](https://cloud.google.com/filestore/docs) | -| google-cloud-financialservices | Product | [0.35.0](https://cloud.google.com/java/docs/reference/google-cloud-financialservices/latest/overview) | N/A | -| google-cloud-firestore | Product | [3.44.0](https://cloud.google.com/java/docs/reference/google-cloud-firestore/latest/overview) | [Cloud Firestore](https://cloud.google.com/firestore) | -| google-cloud-functions | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-functions/latest/overview) | [Cloud Functions](https://cloud.google.com/functions) | -| google-cloud-gdchardwaremanagement | Product | [0.49.0](https://cloud.google.com/java/docs/reference/google-cloud-gdchardwaremanagement/latest/overview) | N/A | -| google-cloud-geminidataanalytics | Product | [0.22.0](https://cloud.google.com/java/docs/reference/google-cloud-geminidataanalytics/latest/overview) | N/A | -| google-cloud-gke-backup | Product | [0.93.0](https://cloud.google.com/java/docs/reference/google-cloud-gke-backup/latest/overview) | [Backup for GKE](https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/concepts/backup-for-gke) | -| google-cloud-gke-connect-gateway | Product | [0.95.0](https://cloud.google.com/java/docs/reference/google-cloud-gke-connect-gateway/latest/overview) | [Connect Gateway API](https://cloud.google.com/anthos/multicluster-management/gateway/) | -| google-cloud-gke-multi-cloud | Product | [0.93.0](https://cloud.google.com/java/docs/reference/google-cloud-gke-multi-cloud/latest/overview) | [Anthos Multicloud](https://cloud.google.com/anthos/clusters/docs/multi-cloud) | -| google-cloud-gkehub | Product | [1.94.0](https://cloud.google.com/java/docs/reference/google-cloud-gkehub/latest/overview) | [GKE Hub API](https://cloud.google.com/anthos/gke/docs/) | -| google-cloud-gkerecommender | Product | [0.14.0](https://cloud.google.com/java/docs/reference/google-cloud-gkerecommender/latest/overview) | N/A | -| google-cloud-gsuite-addons | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-gsuite-addons/latest/overview) | [Google Workspace Add-ons API](https://developers.google.com/workspace/add-ons/overview) | -| google-cloud-health | Product | [0.3.0](https://cloud.google.com/java/docs/reference/google-cloud-health/latest/overview) | N/A | -| google-cloud-hypercomputecluster | Product | [0.14.0](https://cloud.google.com/java/docs/reference/google-cloud-hypercomputecluster/latest/overview) | N/A | -| google-cloud-iamcredentials | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-iamcredentials/latest/overview) | [IAM Service Account Credentials API](https://cloud.google.com/iam/credentials/reference/rest/) | -| google-cloud-iap | Product | [0.50.0](https://cloud.google.com/java/docs/reference/google-cloud-iap/latest/overview) | N/A | -| google-cloud-ids | Product | [1.93.0](https://cloud.google.com/java/docs/reference/google-cloud-ids/latest/overview) | [Intrusion Detection System](https://cloud.google.com/intrusion-detection-system/docs) | -| google-cloud-infra-manager | Product | [0.71.0](https://cloud.google.com/java/docs/reference/google-cloud-infra-manager/latest/overview) | N/A | -| google-cloud-iot | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-iot/latest/overview) | [Cloud Internet of Things (IoT) Core](https://cloud.google.com/iot) | -| google-cloud-kms | Product | [2.97.0](https://cloud.google.com/java/docs/reference/google-cloud-kms/latest/overview) | [Cloud Key Management Service](https://cloud.google.com/kms) | -| google-cloud-kmsinventory | Product | [0.83.0](https://cloud.google.com/java/docs/reference/google-cloud-kmsinventory/latest/overview) | [KMS Inventory API](https://cloud.google.com/kms/docs/) | -| google-cloud-language | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-language/latest/overview) | [Natural Language](https://cloud.google.com/natural-language/docs/) | -| google-cloud-licensemanager | Product | [0.27.0](https://cloud.google.com/java/docs/reference/google-cloud-licensemanager/latest/overview) | N/A | -| google-cloud-life-sciences | Product | [0.96.0](https://cloud.google.com/java/docs/reference/google-cloud-life-sciences/latest/overview) | [Cloud Life Sciences](https://cloud.google.com/life-sciences/docs) | -| google-cloud-live-stream | Product | [0.96.0](https://cloud.google.com/java/docs/reference/google-cloud-live-stream/latest/overview) | [Live Stream API](https://cloud.google.com/livestream/) | -| google-cloud-locationfinder | Product | [0.19.0](https://cloud.google.com/java/docs/reference/google-cloud-locationfinder/latest/overview) | N/A | -| google-cloud-logging | Product | [3.35.0](https://cloud.google.com/java/docs/reference/google-cloud-logging/latest/overview) | [Cloud Logging](https://cloud.google.com/logging/docs) | -| google-cloud-logging-logback | Product | [0.143.0-alpha](https://cloud.google.com/java/docs/reference/google-cloud-logging-logback/latest/overview) | [Cloud Logging Logback Appender](https://cloud.google.com/logging/docs/setup/java#logback_appender_for) | -| google-cloud-lustre | Product | [0.34.0](https://cloud.google.com/java/docs/reference/google-cloud-lustre/latest/overview) | N/A | -| google-cloud-maintenance | Product | [0.28.0](https://cloud.google.com/java/docs/reference/google-cloud-maintenance/latest/overview) | N/A | -| google-cloud-managed-identities | Product | [1.92.0](https://cloud.google.com/java/docs/reference/google-cloud-managed-identities/latest/overview) | [Managed Service for Microsoft Active Directory](https://cloud.google.com/managed-microsoft-ad/) | -| google-cloud-managedkafka | Product | [0.50.0](https://cloud.google.com/java/docs/reference/google-cloud-managedkafka/latest/overview) | N/A | -| google-cloud-mediatranslation | Product | [0.100.0](https://cloud.google.com/java/docs/reference/google-cloud-mediatranslation/latest/overview) | [Media Translation API](https://cloud.google.com/) | -| google-cloud-meet | Product | [0.61.0](https://cloud.google.com/java/docs/reference/google-cloud-meet/latest/overview) | N/A | -| google-cloud-memcache | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-memcache/latest/overview) | [Cloud Memcache](https://cloud.google.com/memorystore/) | -| google-cloud-migrationcenter | Product | [0.76.0](https://cloud.google.com/java/docs/reference/google-cloud-migrationcenter/latest/overview) | [Migration Center API](https://cloud.google.com/migration-center/docs/migration-center-overview) | -| google-cloud-modelarmor | Product | [0.35.0](https://cloud.google.com/java/docs/reference/google-cloud-modelarmor/latest/overview) | N/A | -| google-cloud-monitoring | Product | [3.95.0](https://cloud.google.com/java/docs/reference/google-cloud-monitoring/latest/overview) | [Stackdriver Monitoring](https://cloud.google.com/monitoring/docs) | -| google-cloud-monitoring-dashboard | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-monitoring-dashboard/latest/overview) | [Monitoring Dashboards](https://cloud.google.com/monitoring/charts/dashboards) | -| google-cloud-monitoring-metricsscope | Product | [0.88.0](https://cloud.google.com/java/docs/reference/google-cloud-monitoring-metricsscope/latest/overview) | [Monitoring Metrics Scopes](https://cloud.google.com/monitoring/api/ref_v3/rest/v1/locations.global.metricsScopes) | -| google-cloud-netapp | Product | [0.73.0](https://cloud.google.com/java/docs/reference/google-cloud-netapp/latest/overview) | N/A | -| google-cloud-network-management | Product | [1.95.0](https://cloud.google.com/java/docs/reference/google-cloud-network-management/latest/overview) | [Network Management API](https://cloud.google.com/network-intelligence-center/docs/connectivity-tests/reference/networkmanagement/rest/) | -| google-cloud-network-security | Product | [0.97.0](https://cloud.google.com/java/docs/reference/google-cloud-network-security/latest/overview) | [Network Security API](https://cloud.google.com/traffic-director/docs/reference/network-security/rest) | -| google-cloud-networkconnectivity | Product | [1.93.0](https://cloud.google.com/java/docs/reference/google-cloud-networkconnectivity/latest/overview) | [Network Connectivity Center](https://cloud.google.com/network-connectivity/docs) | -| google-cloud-networkservices | Product | [0.50.0](https://cloud.google.com/java/docs/reference/google-cloud-networkservices/latest/overview) | N/A | -| google-cloud-nio | Product | [0.134.0](https://cloud.google.com/java/docs/reference/google-cloud-nio/latest/overview) | [NIO Filesystem Provider for Google Cloud Storage](https://cloud.google.com/storage/docs) | -| google-cloud-notebooks | Product | [1.92.0](https://cloud.google.com/java/docs/reference/google-cloud-notebooks/latest/overview) | [AI Platform Notebooks](https://cloud.google.com/ai-platform-notebooks) | -| google-cloud-notification | Product | [0.212.0-beta](https://cloud.google.com/java/docs/reference/google-cloud-notification/latest/overview) | [Google Cloud Pub/Sub Notifications for GCS](n/a) | -| google-cloud-optimization | Product | [1.92.0](https://cloud.google.com/java/docs/reference/google-cloud-optimization/latest/overview) | [Cloud Fleet Routing](https://cloud.google.com/optimization/docs) | -| google-cloud-oracledatabase | Product | [0.43.0](https://cloud.google.com/java/docs/reference/google-cloud-oracledatabase/latest/overview) | N/A | -| google-cloud-orchestration-airflow | Product | [1.94.0](https://cloud.google.com/java/docs/reference/google-cloud-orchestration-airflow/latest/overview) | [Cloud Composer](https://cloud.google.com/composer/docs) | -| google-cloud-orgpolicy | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-orgpolicy/latest/overview) | [Cloud Organization Policy](n/a) | -| google-cloud-os-config | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-os-config/latest/overview) | [OS Config API](https://cloud.google.com/compute/docs/os-patch-management) | -| google-cloud-os-login | Product | [2.93.0](https://cloud.google.com/java/docs/reference/google-cloud-os-login/latest/overview) | [Cloud OS Login](https://cloud.google.com/compute/docs/oslogin/) | -| google-cloud-parallelstore | Product | [0.57.0](https://cloud.google.com/java/docs/reference/google-cloud-parallelstore/latest/overview) | N/A | -| google-cloud-parametermanager | Product | [0.38.0](https://cloud.google.com/java/docs/reference/google-cloud-parametermanager/latest/overview) | N/A | -| google-cloud-phishingprotection | Product | [0.125.0](https://cloud.google.com/java/docs/reference/google-cloud-phishingprotection/latest/overview) | [Phishing Protection](https://cloud.google.com/phishing-protection/docs/) | -| google-cloud-policy-troubleshooter | Product | [1.93.0](https://cloud.google.com/java/docs/reference/google-cloud-policy-troubleshooter/latest/overview) | [IAM Policy Troubleshooter API](https://cloud.google.com/iam/docs/troubleshooting-access) | -| google-cloud-policysimulator | Product | [0.73.0](https://cloud.google.com/java/docs/reference/google-cloud-policysimulator/latest/overview) | N/A | -| google-cloud-private-catalog | Product | [0.96.0](https://cloud.google.com/java/docs/reference/google-cloud-private-catalog/latest/overview) | [Private Catalog](https://cloud.google.com/private-catalog/docs) | -| google-cloud-privilegedaccessmanager | Product | [0.48.0](https://cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/overview) | N/A | -| google-cloud-profiler | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-profiler/latest/overview) | [Cloud Profiler](https://cloud.google.com/profiler/docs) | -| google-cloud-publicca | Product | [0.91.0](https://cloud.google.com/java/docs/reference/google-cloud-publicca/latest/overview) | [Public Certificate Authority](https://cloud.google.com/certificate-manager/docs/public-ca/) | -| google-cloud-pubsub | Product | [1.152.0](https://cloud.google.com/java/docs/reference/google-cloud-pubsub/latest/overview) | [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) | +| api-common | Runtime | [2.66.0](https://cloud.google.com/java/docs/reference/api-common/latest/overview) | N/A | +| conscrypt-openjdk-uber | Product | [2.6.0](https://cloud.google.com/java/docs/reference/conscrypt-openjdk-uber/latest/overview) | N/A | +| gax | Runtime | [2.83.0](https://cloud.google.com/java/docs/reference/gax/latest/overview) | N/A | +| google-analytics-admin | Product | [0.105.0](https://cloud.google.com/java/docs/reference/google-analytics-admin/latest/overview) | [Analytics Admin](https://developers.google.com/analytics) | +| google-analytics-data | Product | [0.106.0](https://cloud.google.com/java/docs/reference/google-analytics-data/latest/overview) | [Analytics Data](https://developers.google.com/analytics/trusted-testing/analytics-data) | +| google-area120-tables | Product | [0.99.0](https://cloud.google.com/java/docs/reference/google-area120-tables/latest/overview) | [Area 120 Tables](https://area120.google.com/) | +| google-auth-library-cab-token-generator | Product | [1.50.0](https://cloud.google.com/java/docs/reference/google-auth-library-cab-token-generator/latest/overview) | N/A | +| google-auth-library | Runtime | [1.50.0](https://cloud.google.com/java/docs/reference/google-auth-library/latest/overview) | [Google Auth Library](n/a) | +| google-cloud-accessapproval | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-accessapproval/latest/overview) | [Access Approval](https://cloud.google.com/access-approval/docs/) | +| google-cloud-advisorynotifications | Product | [0.84.0](https://cloud.google.com/java/docs/reference/google-cloud-advisorynotifications/latest/overview) | [Advisory Notifications API](https://cloud.google.com/advisory-notifications/) | +| google-cloud-agentidentity | Product | [0.1.0](https://cloud.google.com/java/docs/reference/google-cloud-agentidentity/latest/overview) | N/A | +| google-cloud-agentregistry | Product | [0.2.0](https://cloud.google.com/java/docs/reference/google-cloud-agentregistry/latest/overview) | N/A | +| google-cloud-aiplatform | Product | [3.96.0](https://cloud.google.com/java/docs/reference/google-cloud-aiplatform/latest/overview) | [Vertex AI](https://cloud.google.com/vertex-ai/docs) | +| google-cloud-alloydb | Product | [0.84.0](https://cloud.google.com/java/docs/reference/google-cloud-alloydb/latest/overview) | [AlloyDB](https://cloud.google.com/alloydb/) | +| google-cloud-alloydb-connectors | Product | [0.73.0](https://cloud.google.com/java/docs/reference/google-cloud-alloydb-connectors/latest/overview) | N/A | +| google-cloud-analyticshub | Product | [0.92.0](https://cloud.google.com/java/docs/reference/google-cloud-analyticshub/latest/overview) | [Analytics Hub API](https://cloud.google.com/bigquery/TBD) | +| google-cloud-api-gateway | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-api-gateway/latest/overview) | [API Gateway](https://cloud.google.com/api-gateway/docs) | +| google-cloud-apigee-connect | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-apigee-connect/latest/overview) | [Apigee Connect](https://cloud.google.com/apigee/docs/hybrid/v1.3/apigee-connect/) | +| google-cloud-apihub | Product | [0.48.0](https://cloud.google.com/java/docs/reference/google-cloud-apihub/latest/overview) | N/A | +| google-cloud-apikeys | Product | [0.93.0](https://cloud.google.com/java/docs/reference/google-cloud-apikeys/latest/overview) | [API Keys API](https://cloud.google.com/api-keys/) | +| google-cloud-appengine-admin | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-appengine-admin/latest/overview) | [App Engine Admin API](https://cloud.google.com/appengine/docs/admin-api/) | +| google-cloud-apphub | Product | [0.59.0](https://cloud.google.com/java/docs/reference/google-cloud-apphub/latest/overview) | N/A | +| google-cloud-appoptimize | Product | [0.5.0](https://cloud.google.com/java/docs/reference/google-cloud-appoptimize/latest/overview) | N/A | +| google-cloud-artifact-registry | Product | [1.94.0](https://cloud.google.com/java/docs/reference/google-cloud-artifact-registry/latest/overview) | [Artifact Registry](https://cloud.google.com/artifact-registry) | +| google-cloud-asset | Product | [3.99.0](https://cloud.google.com/java/docs/reference/google-cloud-asset/latest/overview) | [Cloud Asset Inventory](https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview) | +| google-cloud-assured-workloads | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-assured-workloads/latest/overview) | [Assured Workloads for Government](https://cloud.google.com/assured-workloads/) | +| google-cloud-auditmanager | Product | [0.13.0](https://cloud.google.com/java/docs/reference/google-cloud-auditmanager/latest/overview) | N/A | +| google-cloud-automl | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-automl/latest/overview) | [Cloud Auto ML](https://cloud.google.com/automl/docs/) | +| google-cloud-backstory | Product | [0.3.0](https://cloud.google.com/java/docs/reference/google-cloud-backstory/latest/overview) | N/A | +| google-cloud-backupdr | Product | [0.54.0](https://cloud.google.com/java/docs/reference/google-cloud-backupdr/latest/overview) | N/A | +| google-cloud-bare-metal-solution | Product | [0.95.0](https://cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/overview) | [Bare Metal Solution](https://cloud.google.com/bare-metal/docs) | +| google-cloud-batch | Product | [0.95.0](https://cloud.google.com/java/docs/reference/google-cloud-batch/latest/overview) | [Cloud Batch](https://cloud.google.com/) | +| google-cloud-beyondcorp-appconnections | Product | [0.93.0](https://cloud.google.com/java/docs/reference/google-cloud-beyondcorp-appconnections/latest/overview) | [BeyondCorp AppConnections](https://cloud.google.com/beyondcorp-enterprise/) | +| google-cloud-beyondcorp-appconnectors | Product | [0.93.0](https://cloud.google.com/java/docs/reference/google-cloud-beyondcorp-appconnectors/latest/overview) | [BeyondCorp AppConnectors](cloud.google.com/beyondcorp-enterprise/) | +| google-cloud-beyondcorp-appgateways | Product | [0.93.0](https://cloud.google.com/java/docs/reference/google-cloud-beyondcorp-appgateways/latest/overview) | [BeyondCorp AppGateways](https://cloud.google.com/beyondcorp-enterprise/) | +| google-cloud-beyondcorp-clientconnectorservices | Product | [0.93.0](https://cloud.google.com/java/docs/reference/google-cloud-beyondcorp-clientconnectorservices/latest/overview) | [BeyondCorp ClientConnectorServices](https://cloud.google.com/beyondcorp-enterprise/) | +| google-cloud-beyondcorp-clientgateways | Product | [0.93.0](https://cloud.google.com/java/docs/reference/google-cloud-beyondcorp-clientgateways/latest/overview) | [BeyondCorp ClientGateways](https://cloud.google.com/beyondcorp-enterprise/) | +| google-cloud-biglake | Product | [0.83.0](https://cloud.google.com/java/docs/reference/google-cloud-biglake/latest/overview) | [BigLake](https://cloud.google.com/biglake) | +| google-cloud-bigquery | Product | [2.69.0](https://cloud.google.com/java/docs/reference/google-cloud-bigquery/latest/overview) | [Cloud BigQuery](https://cloud.google.com/bigquery) | +| google-cloud-bigquery-data-exchange | Product | [2.90.0](https://cloud.google.com/java/docs/reference/google-cloud-bigquery-data-exchange/latest/overview) | [Analytics Hub](https://cloud.google.com/analytics-hub) | +| google-cloud-bigqueryconnection | Product | [2.97.0](https://cloud.google.com/java/docs/reference/google-cloud-bigqueryconnection/latest/overview) | [Cloud BigQuery Connection](https://cloud.google.com/bigquery/docs/reference/bigqueryconnection/rest) | +| google-cloud-bigquerydatapolicy | Product | [0.92.0](https://cloud.google.com/java/docs/reference/google-cloud-bigquerydatapolicy/latest/overview) | [BigQuery DataPolicy API](https://cloud.google.com/bigquery/docs/reference/datapolicy/) | +| google-cloud-bigquerydatatransfer | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-bigquerydatatransfer/latest/overview) | [BigQuery Data Transfer Service](https://cloud.google.com/bigquery/transfer/) | +| google-cloud-bigquerymigration | Product | [0.98.0](https://cloud.google.com/java/docs/reference/google-cloud-bigquerymigration/latest/overview) | [BigQuery Migration](https://cloud.google.com/bigquery/docs) | +| google-cloud-bigqueryreservation | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-bigqueryreservation/latest/overview) | [Cloud BigQuery Reservation](https://cloud.google.com/bigquery/docs/reference/reservations/rpc) | +| google-cloud-bigquerystorage | Product | [3.31.0](https://cloud.google.com/java/docs/reference/google-cloud-bigquerystorage/latest/overview) | [BigQuery Storage](https://cloud.google.com/bigquery/docs/reference/storage/) | +| google-cloud-bigtable | Product | [2.81.0](https://cloud.google.com/java/docs/reference/google-cloud-bigtable/latest/overview) | [Cloud Bigtable](https://cloud.google.com/bigtable) | +| google-cloud-billing | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-billing/latest/overview) | [Cloud Billing](https://cloud.google.com/billing/docs) | +| google-cloud-billingbudgets | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-billingbudgets/latest/overview) | [Cloud Billing Budgets](https://cloud.google.com/billing/docs/how-to/budgets) | +| google-cloud-binary-authorization | Product | [1.94.0](https://cloud.google.com/java/docs/reference/google-cloud-binary-authorization/latest/overview) | [Binary Authorization](https://cloud.google.com/binary-authorization/docs) | +| google-cloud-build | Product | [3.97.0](https://cloud.google.com/java/docs/reference/google-cloud-build/latest/overview) | [Cloud Build](https://cloud.google.com/cloud-build/) | +| google-cloud-capacityplanner | Product | [0.18.0](https://cloud.google.com/java/docs/reference/google-cloud-capacityplanner/latest/overview) | N/A | +| google-cloud-certificate-manager | Product | [0.98.0](https://cloud.google.com/java/docs/reference/google-cloud-certificate-manager/latest/overview) | [Certificate Manager](https://cloud.google.com/certificate-manager/docs) | +| google-cloud-ces | Product | [0.11.0](https://cloud.google.com/java/docs/reference/google-cloud-ces/latest/overview) | N/A | +| google-cloud-channel | Product | [3.99.0](https://cloud.google.com/java/docs/reference/google-cloud-channel/latest/overview) | [Channel Services](https://cloud.google.com/channel/docs) | +| google-cloud-chat | Product | [0.59.0](https://cloud.google.com/java/docs/reference/google-cloud-chat/latest/overview) | N/A | +| google-cloud-chronicle | Product | [0.33.0](https://cloud.google.com/java/docs/reference/google-cloud-chronicle/latest/overview) | N/A | +| google-cloud-cloudapiregistry | Product | [0.14.0](https://cloud.google.com/java/docs/reference/google-cloud-cloudapiregistry/latest/overview) | N/A | +| google-cloud-cloudcommerceconsumerprocurement | Product | [0.93.0](https://cloud.google.com/java/docs/reference/google-cloud-cloudcommerceconsumerprocurement/latest/overview) | [Cloud Commerce Consumer Procurement](https://cloud.google.com/marketplace/) | +| google-cloud-cloudcontrolspartner | Product | [0.59.0](https://cloud.google.com/java/docs/reference/google-cloud-cloudcontrolspartner/latest/overview) | N/A | +| google-cloud-cloudquotas | Product | [0.63.0](https://cloud.google.com/java/docs/reference/google-cloud-cloudquotas/latest/overview) | N/A | +| google-cloud-cloudsecuritycompliance | Product | [0.22.0](https://cloud.google.com/java/docs/reference/google-cloud-cloudsecuritycompliance/latest/overview) | N/A | +| google-cloud-cloudsupport | Product | [0.79.0](https://cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/overview) | [Google Cloud Support API](https://cloud.google.com/support/docs/reference/support-api/) | +| google-cloud-commerceproducer | Product | [0.1.0](https://cloud.google.com/java/docs/reference/google-cloud-commerceproducer/latest/overview) | N/A | +| google-cloud-compute | Product | [1.105.0](https://cloud.google.com/java/docs/reference/google-cloud-compute/latest/overview) | [Compute Engine](https://cloud.google.com/compute/) | +| google-cloud-confidentialcomputing | Product | [0.81.0](https://cloud.google.com/java/docs/reference/google-cloud-confidentialcomputing/latest/overview) | [Confidential Computing API](https://cloud.google.com/confidential-computing/) | +| google-cloud-configdelivery | Product | [0.29.0](https://cloud.google.com/java/docs/reference/google-cloud-configdelivery/latest/overview) | N/A | +| google-cloud-connectgateway | Product | [0.47.0](https://cloud.google.com/java/docs/reference/google-cloud-connectgateway/latest/overview) | N/A | +| google-cloud-contact-center-insights | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-contact-center-insights/latest/overview) | [CCAI Insights](https://cloud.google.com/dialogflow/priv/docs/insights/) | +| google-cloud-container | Product | [2.98.0](https://cloud.google.com/java/docs/reference/google-cloud-container/latest/overview) | [Kubernetes Engine](https://cloud.google.com/kubernetes-engine/) | +| google-cloud-containeranalysis | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-containeranalysis/latest/overview) | [Cloud Container Analysis](https://cloud.google.com/container-registry/docs/container-analysis) | +| google-cloud-contentwarehouse | Product | [0.91.0](https://cloud.google.com/java/docs/reference/google-cloud-contentwarehouse/latest/overview) | [Document AI Warehouse](https://cloud.google.com/document-warehouse/docs/overview) | +| google-cloud-core | Runtime | [2.73.0](https://cloud.google.com/java/docs/reference/google-cloud-core/latest/overview) | [Google Cloud Core](n/a) | +| google-cloud-data-fusion | Product | [1.95.0](https://cloud.google.com/java/docs/reference/google-cloud-data-fusion/latest/overview) | [Cloud Data Fusion](https://cloud.google.com/data-fusion/docs) | +| google-cloud-databasecenter | Product | [0.16.0](https://cloud.google.com/java/docs/reference/google-cloud-databasecenter/latest/overview) | N/A | +| google-cloud-datacatalog | Product | [1.101.0](https://cloud.google.com/java/docs/reference/google-cloud-datacatalog/latest/overview) | [Data Catalog](https://cloud.google.com/data-catalog) | +| google-cloud-dataflow | Product | [0.99.0](https://cloud.google.com/java/docs/reference/google-cloud-dataflow/latest/overview) | [Dataflow](https://cloud.google.com/dataflow/docs) | +| google-cloud-dataform | Product | [0.94.0](https://cloud.google.com/java/docs/reference/google-cloud-dataform/latest/overview) | [Cloud Dataform](https://cloud.google.com/dataform/docs) | +| google-cloud-datalabeling | Product | [0.215.0](https://cloud.google.com/java/docs/reference/google-cloud-datalabeling/latest/overview) | [Data Labeling](https://cloud.google.com/ai-platform/data-labeling/docs/) | +| google-cloud-datalineage | Product | [0.87.0](https://cloud.google.com/java/docs/reference/google-cloud-datalineage/latest/overview) | [Data Lineage](https://cloud.google.com/data-catalog/docs/data-lineage/) | +| google-cloud-dataplex | Product | [1.93.0](https://cloud.google.com/java/docs/reference/google-cloud-dataplex/latest/overview) | [Cloud Dataplex](https://cloud.google.com/dataplex) | +| google-cloud-dataproc | Product | [4.92.0](https://cloud.google.com/java/docs/reference/google-cloud-dataproc/latest/overview) | [Dataproc](https://cloud.google.com/dataproc) | +| google-cloud-dataproc-metastore | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-dataproc-metastore/latest/overview) | [Dataproc Metastore](https://cloud.google.com/dataproc-metastore/docs) | +| google-cloud-datastore | Product | [3.3.0](https://cloud.google.com/java/docs/reference/google-cloud-datastore/latest/overview) | [Cloud Datastore](https://cloud.google.com/datastore) | +| google-cloud-datastream | Product | [1.94.0](https://cloud.google.com/java/docs/reference/google-cloud-datastream/latest/overview) | [Datastream](https://cloud.google.com/datastream/docs) | +| google-cloud-deploy | Product | [1.93.0](https://cloud.google.com/java/docs/reference/google-cloud-deploy/latest/overview) | [Google Cloud Deploy](https://cloud.google.com/deploy/docs) | +| google-cloud-developer-knowledge | Product | [0.3.0](https://cloud.google.com/java/docs/reference/google-cloud-developer-knowledge/latest/overview) | N/A | +| google-cloud-developerconnect | Product | [0.52.0](https://cloud.google.com/java/docs/reference/google-cloud-developerconnect/latest/overview) | N/A | +| google-cloud-devicestreaming | Product | [0.35.0](https://cloud.google.com/java/docs/reference/google-cloud-devicestreaming/latest/overview) | N/A | +| google-cloud-dialogflow | Product | [4.101.0](https://cloud.google.com/java/docs/reference/google-cloud-dialogflow/latest/overview) | [Dialogflow API](https://cloud.google.com/dialogflow-enterprise/) | +| google-cloud-dialogflow-cx | Product | [0.106.0](https://cloud.google.com/java/docs/reference/google-cloud-dialogflow-cx/latest/overview) | [Dialogflow CX](https://cloud.google.com/dialogflow/cx/docs) | +| google-cloud-discoveryengine | Product | [0.91.0](https://cloud.google.com/java/docs/reference/google-cloud-discoveryengine/latest/overview) | [Discovery Engine API](https://cloud.google.com/discovery-engine/media/docs) | +| google-cloud-distributedcloudedge | Product | [0.92.0](https://cloud.google.com/java/docs/reference/google-cloud-distributedcloudedge/latest/overview) | [Google Distributed Cloud Edge](https://cloud.google.com/distributed-cloud/edge/latest/) | +| google-cloud-dlp | Product | [3.99.0](https://cloud.google.com/java/docs/reference/google-cloud-dlp/latest/overview) | [Cloud Data Loss Prevention](https://cloud.google.com/dlp/docs/) | +| google-cloud-dms | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-dms/latest/overview) | [Database Migration Service](https://cloud.google.com/database-migration/docs) | +| google-cloud-dns | Product | [2.93.0](https://cloud.google.com/java/docs/reference/google-cloud-dns/latest/overview) | [Cloud DNS](https://cloud.google.com/dns) | +| google-cloud-document-ai | Product | [2.99.0](https://cloud.google.com/java/docs/reference/google-cloud-document-ai/latest/overview) | [Document AI](https://cloud.google.com/compute/docs/documentai/) | +| google-cloud-domains | Product | [1.92.0](https://cloud.google.com/java/docs/reference/google-cloud-domains/latest/overview) | [Cloud Domains](https://cloud.google.com/domains) | +| google-cloud-edgenetwork | Product | [0.63.0](https://cloud.google.com/java/docs/reference/google-cloud-edgenetwork/latest/overview) | N/A | +| google-cloud-enterpriseknowledgegraph | Product | [0.91.0](https://cloud.google.com/java/docs/reference/google-cloud-enterpriseknowledgegraph/latest/overview) | [Enterprise Knowledge Graph](https://cloud.google.com/enterprise-knowledge-graph/docs/overview) | +| google-cloud-errorreporting | Product | [0.216.0-beta](https://cloud.google.com/java/docs/reference/google-cloud-errorreporting/latest/overview) | [Error Reporting](https://cloud.google.com/error-reporting) | +| google-cloud-essential-contacts | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-essential-contacts/latest/overview) | [Essential Contacts API](https://cloud.google.com/resource-manager/docs/managing-notification-contacts/) | +| google-cloud-eventarc | Product | [1.95.0](https://cloud.google.com/java/docs/reference/google-cloud-eventarc/latest/overview) | [Eventarc](https://cloud.google.com/eventarc/docs) | +| google-cloud-eventarc-publishing | Product | [0.95.0](https://cloud.google.com/java/docs/reference/google-cloud-eventarc-publishing/latest/overview) | [Eventarc Publishing](https://cloud.google.com/eventarc/docs) | +| google-cloud-filestore | Product | [1.96.0](https://cloud.google.com/java/docs/reference/google-cloud-filestore/latest/overview) | [Cloud Filestore API](https://cloud.google.com/filestore/docs) | +| google-cloud-financialservices | Product | [0.36.0](https://cloud.google.com/java/docs/reference/google-cloud-financialservices/latest/overview) | N/A | +| google-cloud-firestore | Product | [3.45.0](https://cloud.google.com/java/docs/reference/google-cloud-firestore/latest/overview) | [Cloud Firestore](https://cloud.google.com/firestore) | +| google-cloud-functions | Product | [2.97.0](https://cloud.google.com/java/docs/reference/google-cloud-functions/latest/overview) | [Cloud Functions](https://cloud.google.com/functions) | +| google-cloud-gdchardwaremanagement | Product | [0.50.0](https://cloud.google.com/java/docs/reference/google-cloud-gdchardwaremanagement/latest/overview) | N/A | +| google-cloud-geminidataanalytics | Product | [0.23.0](https://cloud.google.com/java/docs/reference/google-cloud-geminidataanalytics/latest/overview) | N/A | +| google-cloud-gke-backup | Product | [0.94.0](https://cloud.google.com/java/docs/reference/google-cloud-gke-backup/latest/overview) | [Backup for GKE](https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/concepts/backup-for-gke) | +| google-cloud-gke-connect-gateway | Product | [0.96.0](https://cloud.google.com/java/docs/reference/google-cloud-gke-connect-gateway/latest/overview) | [Connect Gateway API](https://cloud.google.com/anthos/multicluster-management/gateway/) | +| google-cloud-gke-multi-cloud | Product | [0.94.0](https://cloud.google.com/java/docs/reference/google-cloud-gke-multi-cloud/latest/overview) | [Anthos Multicloud](https://cloud.google.com/anthos/clusters/docs/multi-cloud) | +| google-cloud-gkehub | Product | [1.95.0](https://cloud.google.com/java/docs/reference/google-cloud-gkehub/latest/overview) | [GKE Hub API](https://cloud.google.com/anthos/gke/docs/) | +| google-cloud-gkerecommender | Product | [0.15.0](https://cloud.google.com/java/docs/reference/google-cloud-gkerecommender/latest/overview) | N/A | +| google-cloud-gsuite-addons | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-gsuite-addons/latest/overview) | [Google Workspace Add-ons API](https://developers.google.com/workspace/add-ons/overview) | +| google-cloud-health | Product | [0.4.0](https://cloud.google.com/java/docs/reference/google-cloud-health/latest/overview) | N/A | +| google-cloud-hypercomputecluster | Product | [0.15.0](https://cloud.google.com/java/docs/reference/google-cloud-hypercomputecluster/latest/overview) | N/A | +| google-cloud-iamcredentials | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-iamcredentials/latest/overview) | [IAM Service Account Credentials API](https://cloud.google.com/iam/credentials/reference/rest/) | +| google-cloud-iap | Product | [0.51.0](https://cloud.google.com/java/docs/reference/google-cloud-iap/latest/overview) | N/A | +| google-cloud-ids | Product | [1.94.0](https://cloud.google.com/java/docs/reference/google-cloud-ids/latest/overview) | [Intrusion Detection System](https://cloud.google.com/intrusion-detection-system/docs) | +| google-cloud-infra-manager | Product | [0.72.0](https://cloud.google.com/java/docs/reference/google-cloud-infra-manager/latest/overview) | N/A | +| google-cloud-iot | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-iot/latest/overview) | [Cloud Internet of Things (IoT) Core](https://cloud.google.com/iot) | +| google-cloud-kms | Product | [2.98.0](https://cloud.google.com/java/docs/reference/google-cloud-kms/latest/overview) | [Cloud Key Management Service](https://cloud.google.com/kms) | +| google-cloud-kmsinventory | Product | [0.84.0](https://cloud.google.com/java/docs/reference/google-cloud-kmsinventory/latest/overview) | [KMS Inventory API](https://cloud.google.com/kms/docs/) | +| google-cloud-language | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-language/latest/overview) | [Natural Language](https://cloud.google.com/natural-language/docs/) | +| google-cloud-licensemanager | Product | [0.28.0](https://cloud.google.com/java/docs/reference/google-cloud-licensemanager/latest/overview) | N/A | +| google-cloud-life-sciences | Product | [0.97.0](https://cloud.google.com/java/docs/reference/google-cloud-life-sciences/latest/overview) | [Cloud Life Sciences](https://cloud.google.com/life-sciences/docs) | +| google-cloud-live-stream | Product | [0.97.0](https://cloud.google.com/java/docs/reference/google-cloud-live-stream/latest/overview) | [Live Stream API](https://cloud.google.com/livestream/) | +| google-cloud-locationfinder | Product | [0.20.0](https://cloud.google.com/java/docs/reference/google-cloud-locationfinder/latest/overview) | N/A | +| google-cloud-logging | Product | [3.36.0](https://cloud.google.com/java/docs/reference/google-cloud-logging/latest/overview) | [Cloud Logging](https://cloud.google.com/logging/docs) | +| google-cloud-logging-logback | Product | [0.144.0-alpha](https://cloud.google.com/java/docs/reference/google-cloud-logging-logback/latest/overview) | [Cloud Logging Logback Appender](https://cloud.google.com/logging/docs/setup/java#logback_appender_for) | +| google-cloud-lustre | Product | [0.35.0](https://cloud.google.com/java/docs/reference/google-cloud-lustre/latest/overview) | N/A | +| google-cloud-maintenance | Product | [0.29.0](https://cloud.google.com/java/docs/reference/google-cloud-maintenance/latest/overview) | N/A | +| google-cloud-managed-identities | Product | [1.93.0](https://cloud.google.com/java/docs/reference/google-cloud-managed-identities/latest/overview) | [Managed Service for Microsoft Active Directory](https://cloud.google.com/managed-microsoft-ad/) | +| google-cloud-managedkafka | Product | [0.51.0](https://cloud.google.com/java/docs/reference/google-cloud-managedkafka/latest/overview) | N/A | +| google-cloud-mediatranslation | Product | [0.101.0](https://cloud.google.com/java/docs/reference/google-cloud-mediatranslation/latest/overview) | [Media Translation API](https://cloud.google.com/) | +| google-cloud-meet | Product | [0.62.0](https://cloud.google.com/java/docs/reference/google-cloud-meet/latest/overview) | N/A | +| google-cloud-memcache | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-memcache/latest/overview) | [Cloud Memcache](https://cloud.google.com/memorystore/) | +| google-cloud-migrationcenter | Product | [0.77.0](https://cloud.google.com/java/docs/reference/google-cloud-migrationcenter/latest/overview) | [Migration Center API](https://cloud.google.com/migration-center/docs/migration-center-overview) | +| google-cloud-modelarmor | Product | [0.36.0](https://cloud.google.com/java/docs/reference/google-cloud-modelarmor/latest/overview) | N/A | +| google-cloud-monitoring | Product | [3.96.0](https://cloud.google.com/java/docs/reference/google-cloud-monitoring/latest/overview) | [Stackdriver Monitoring](https://cloud.google.com/monitoring/docs) | +| google-cloud-monitoring-dashboard | Product | [2.97.0](https://cloud.google.com/java/docs/reference/google-cloud-monitoring-dashboard/latest/overview) | [Monitoring Dashboards](https://cloud.google.com/monitoring/charts/dashboards) | +| google-cloud-monitoring-metricsscope | Product | [0.89.0](https://cloud.google.com/java/docs/reference/google-cloud-monitoring-metricsscope/latest/overview) | [Monitoring Metrics Scopes](https://cloud.google.com/monitoring/api/ref_v3/rest/v1/locations.global.metricsScopes) | +| google-cloud-netapp | Product | [0.74.0](https://cloud.google.com/java/docs/reference/google-cloud-netapp/latest/overview) | N/A | +| google-cloud-network-management | Product | [1.96.0](https://cloud.google.com/java/docs/reference/google-cloud-network-management/latest/overview) | [Network Management API](https://cloud.google.com/network-intelligence-center/docs/connectivity-tests/reference/networkmanagement/rest/) | +| google-cloud-network-security | Product | [0.98.0](https://cloud.google.com/java/docs/reference/google-cloud-network-security/latest/overview) | [Network Security API](https://cloud.google.com/traffic-director/docs/reference/network-security/rest) | +| google-cloud-networkconnectivity | Product | [1.94.0](https://cloud.google.com/java/docs/reference/google-cloud-networkconnectivity/latest/overview) | [Network Connectivity Center](https://cloud.google.com/network-connectivity/docs) | +| google-cloud-networkservices | Product | [0.51.0](https://cloud.google.com/java/docs/reference/google-cloud-networkservices/latest/overview) | N/A | +| google-cloud-nio | Product | [0.135.0](https://cloud.google.com/java/docs/reference/google-cloud-nio/latest/overview) | [NIO Filesystem Provider for Google Cloud Storage](https://cloud.google.com/storage/docs) | +| google-cloud-notebooks | Product | [1.93.0](https://cloud.google.com/java/docs/reference/google-cloud-notebooks/latest/overview) | [AI Platform Notebooks](https://cloud.google.com/ai-platform-notebooks) | +| google-cloud-notification | Product | [0.213.0-beta](https://cloud.google.com/java/docs/reference/google-cloud-notification/latest/overview) | [Google Cloud Pub/Sub Notifications for GCS](n/a) | +| google-cloud-optimization | Product | [1.93.0](https://cloud.google.com/java/docs/reference/google-cloud-optimization/latest/overview) | [Cloud Fleet Routing](https://cloud.google.com/optimization/docs) | +| google-cloud-oracledatabase | Product | [0.44.0](https://cloud.google.com/java/docs/reference/google-cloud-oracledatabase/latest/overview) | N/A | +| google-cloud-orchestration-airflow | Product | [1.95.0](https://cloud.google.com/java/docs/reference/google-cloud-orchestration-airflow/latest/overview) | [Cloud Composer](https://cloud.google.com/composer/docs) | +| google-cloud-orgpolicy | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-orgpolicy/latest/overview) | [Cloud Organization Policy](n/a) | +| google-cloud-os-config | Product | [2.97.0](https://cloud.google.com/java/docs/reference/google-cloud-os-config/latest/overview) | [OS Config API](https://cloud.google.com/compute/docs/os-patch-management) | +| google-cloud-os-login | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-os-login/latest/overview) | [Cloud OS Login](https://cloud.google.com/compute/docs/oslogin/) | +| google-cloud-parallelstore | Product | [0.58.0](https://cloud.google.com/java/docs/reference/google-cloud-parallelstore/latest/overview) | N/A | +| google-cloud-parametermanager | Product | [0.39.0](https://cloud.google.com/java/docs/reference/google-cloud-parametermanager/latest/overview) | N/A | +| google-cloud-phishingprotection | Product | [0.126.0](https://cloud.google.com/java/docs/reference/google-cloud-phishingprotection/latest/overview) | [Phishing Protection](https://cloud.google.com/phishing-protection/docs/) | +| google-cloud-policy-troubleshooter | Product | [1.94.0](https://cloud.google.com/java/docs/reference/google-cloud-policy-troubleshooter/latest/overview) | [IAM Policy Troubleshooter API](https://cloud.google.com/iam/docs/troubleshooting-access) | +| google-cloud-policysimulator | Product | [0.74.0](https://cloud.google.com/java/docs/reference/google-cloud-policysimulator/latest/overview) | N/A | +| google-cloud-private-catalog | Product | [0.97.0](https://cloud.google.com/java/docs/reference/google-cloud-private-catalog/latest/overview) | [Private Catalog](https://cloud.google.com/private-catalog/docs) | +| google-cloud-privilegedaccessmanager | Product | [0.49.0](https://cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/overview) | N/A | +| google-cloud-productregistry | Product | [0.1.0](https://cloud.google.com/java/docs/reference/google-cloud-productregistry/latest/overview) | N/A | +| google-cloud-profiler | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-profiler/latest/overview) | [Cloud Profiler](https://cloud.google.com/profiler/docs) | +| google-cloud-publicca | Product | [0.92.0](https://cloud.google.com/java/docs/reference/google-cloud-publicca/latest/overview) | [Public Certificate Authority](https://cloud.google.com/certificate-manager/docs/public-ca/) | +| google-cloud-pubsub | Product | [1.153.0](https://cloud.google.com/java/docs/reference/google-cloud-pubsub/latest/overview) | [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) | | google-cloud-pubsublite | Product | [1.17.0](https://cloud.google.com/java/docs/reference/google-cloud-pubsublite/latest/overview) | [Cloud Pub/Sub Lite](https://cloud.google.com/pubsub/lite/docs) | -| google-cloud-rapidmigrationassessment | Product | [0.77.0](https://cloud.google.com/java/docs/reference/google-cloud-rapidmigrationassessment/latest/overview) | [Rapid Migration Assessment API](https://cloud.google.com/migration-center/docs) | -| google-cloud-recaptchaenterprise | Product | [3.91.0](https://cloud.google.com/java/docs/reference/google-cloud-recaptchaenterprise/latest/overview) | [reCAPTCHA Enterprise](https://cloud.google.com/recaptcha-enterprise/docs/) | -| google-cloud-recommendations-ai | Product | [0.101.0](https://cloud.google.com/java/docs/reference/google-cloud-recommendations-ai/latest/overview) | [Recommendations AI](https://cloud.google.com/recommendations-ai/) | -| google-cloud-recommender | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-recommender/latest/overview) | [Recommender](https://cloud.google.com/recommendations/) | -| google-cloud-redis | Product | [2.97.0](https://cloud.google.com/java/docs/reference/google-cloud-redis/latest/overview) | [Cloud Redis](https://cloud.google.com/memorystore/docs/redis/) | -| google-cloud-redis-cluster | Product | [0.66.0](https://cloud.google.com/java/docs/reference/google-cloud-redis-cluster/latest/overview) | N/A | -| google-cloud-resourcemanager | Product | [1.96.0](https://cloud.google.com/java/docs/reference/google-cloud-resourcemanager/latest/overview) | [Resource Manager API](https://cloud.google.com/resource-manager) | -| google-cloud-retail | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-retail/latest/overview) | [Cloud Retail](https://cloud.google.com/solutions/retail) | -| google-cloud-run | Product | [0.94.0](https://cloud.google.com/java/docs/reference/google-cloud-run/latest/overview) | [Cloud Run](https://cloud.google.com/run/docs) | -| google-cloud-saasservicemgmt | Product | [0.24.0](https://cloud.google.com/java/docs/reference/google-cloud-saasservicemgmt/latest/overview) | N/A | -| google-cloud-scheduler | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-scheduler/latest/overview) | [Google Cloud Scheduler](https://cloud.google.com/scheduler/docs) | -| google-cloud-secretmanager | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/overview) | [Secret Management](https://cloud.google.com/solutions/secrets-management/) | -| google-cloud-securesourcemanager | Product | [0.64.0](https://cloud.google.com/java/docs/reference/google-cloud-securesourcemanager/latest/overview) | N/A | -| google-cloud-security-private-ca | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-security-private-ca/latest/overview) | [Certificate Authority Service](https://cloud.google.com/certificate-authority-service/docs) | -| google-cloud-securitycenter | Product | [2.102.0](https://cloud.google.com/java/docs/reference/google-cloud-securitycenter/latest/overview) | [Security Command Center](https://cloud.google.com/security-command-center) | -| google-cloud-securitycenter-settings | Product | [0.97.0](https://cloud.google.com/java/docs/reference/google-cloud-securitycenter-settings/latest/overview) | [Security Command Center Settings API](https://cloud.google.com/security-command-center/) | -| google-cloud-securitycentermanagement | Product | [0.62.0](https://cloud.google.com/java/docs/reference/google-cloud-securitycentermanagement/latest/overview) | N/A | -| google-cloud-securityposture | Product | [0.59.0](https://cloud.google.com/java/docs/reference/google-cloud-securityposture/latest/overview) | N/A | -| google-cloud-service-control | Product | [1.94.0](https://cloud.google.com/java/docs/reference/google-cloud-service-control/latest/overview) | [Service Control API](https://cloud.google.com/service-infrastructure/docs/overview/) | -| google-cloud-service-management | Product | [3.92.0](https://cloud.google.com/java/docs/reference/google-cloud-service-management/latest/overview) | [Service Management API](https://cloud.google.com/service-infrastructure/docs/overview/) | -| google-cloud-service-usage | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-service-usage/latest/overview) | [Service Usage](https://cloud.google.com/service-usage/docs/overview) | -| google-cloud-servicedirectory | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-servicedirectory/latest/overview) | [Service Directory](https://cloud.google.com/service-directory/) | -| google-cloud-servicehealth | Product | [0.61.0](https://cloud.google.com/java/docs/reference/google-cloud-servicehealth/latest/overview) | N/A | -| google-cloud-shell | Product | [2.93.0](https://cloud.google.com/java/docs/reference/google-cloud-shell/latest/overview) | [Cloud Shell](https://cloud.google.com/shell/docs) | -| google-cloud-spanner | Product | [6.119.0](https://cloud.google.com/java/docs/reference/google-cloud-spanner/latest/overview) | [Cloud Spanner](https://cloud.google.com/spanner/docs/) | -| google-cloud-spanneradapter | Product | [0.30.0](https://cloud.google.com/java/docs/reference/google-cloud-spanneradapter/latest/overview) | N/A | -| google-cloud-speech | Product | [4.89.0](https://cloud.google.com/java/docs/reference/google-cloud-speech/latest/overview) | [Cloud Speech](https://cloud.google.com/speech-to-text/docs/) | -| google-cloud-storage | Product | [2.70.0](https://cloud.google.com/java/docs/reference/google-cloud-storage/latest/overview) | [Cloud Storage](https://cloud.google.com/storage) | -| google-cloud-storage-control | Product | [2.70.0](https://cloud.google.com/java/docs/reference/google-cloud-storage-control/latest/overview) | N/A | -| google-cloud-storage-transfer | Product | [1.94.0](https://cloud.google.com/java/docs/reference/google-cloud-storage-transfer/latest/overview) | [Storage Transfer Service](https://cloud.google.com/storage-transfer-service) | -| google-cloud-storagebatchoperations | Product | [0.34.0](https://cloud.google.com/java/docs/reference/google-cloud-storagebatchoperations/latest/overview) | N/A | -| google-cloud-storageinsights | Product | [0.79.0](https://cloud.google.com/java/docs/reference/google-cloud-storageinsights/latest/overview) | [Storage Insights API](https://cloud.google.com/storage/docs/insights/storage-insights/) | -| google-cloud-talent | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-talent/latest/overview) | [Talent Solution](https://cloud.google.com/solutions/talent-solution/) | -| google-cloud-tasks | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-tasks/latest/overview) | [Cloud Tasks](https://cloud.google.com/tasks/docs/) | -| google-cloud-telcoautomation | Product | [0.64.0](https://cloud.google.com/java/docs/reference/google-cloud-telcoautomation/latest/overview) | N/A | -| google-cloud-texttospeech | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-texttospeech/latest/overview) | [Cloud Text-to-Speech](https://cloud.google.com/text-to-speech) | -| google-cloud-tpu | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-tpu/latest/overview) | [Cloud TPU](https://cloud.google.com/tpu/docs) | -| google-cloud-trace | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-trace/latest/overview) | [Stackdriver Trace](https://cloud.google.com/trace/docs/) | -| google-cloud-translate | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-translate/latest/overview) | [Cloud Translation](https://cloud.google.com/translate/docs/) | -| google-cloud-valkey | Product | [0.40.0](https://cloud.google.com/java/docs/reference/google-cloud-valkey/latest/overview) | N/A | -| google-cloud-vectorsearch | Product | [0.16.0](https://cloud.google.com/java/docs/reference/google-cloud-vectorsearch/latest/overview) | N/A | +| google-cloud-rapidmigrationassessment | Product | [0.78.0](https://cloud.google.com/java/docs/reference/google-cloud-rapidmigrationassessment/latest/overview) | [Rapid Migration Assessment API](https://cloud.google.com/migration-center/docs) | +| google-cloud-recaptchaenterprise | Product | [3.92.0](https://cloud.google.com/java/docs/reference/google-cloud-recaptchaenterprise/latest/overview) | [reCAPTCHA Enterprise](https://cloud.google.com/recaptcha-enterprise/docs/) | +| google-cloud-recommendations-ai | Product | [0.102.0](https://cloud.google.com/java/docs/reference/google-cloud-recommendations-ai/latest/overview) | [Recommendations AI](https://cloud.google.com/recommendations-ai/) | +| google-cloud-recommender | Product | [2.97.0](https://cloud.google.com/java/docs/reference/google-cloud-recommender/latest/overview) | [Recommender](https://cloud.google.com/recommendations/) | +| google-cloud-redis | Product | [2.98.0](https://cloud.google.com/java/docs/reference/google-cloud-redis/latest/overview) | [Cloud Redis](https://cloud.google.com/memorystore/docs/redis/) | +| google-cloud-redis-cluster | Product | [0.67.0](https://cloud.google.com/java/docs/reference/google-cloud-redis-cluster/latest/overview) | N/A | +| google-cloud-resourcemanager | Product | [1.97.0](https://cloud.google.com/java/docs/reference/google-cloud-resourcemanager/latest/overview) | [Resource Manager API](https://cloud.google.com/resource-manager) | +| google-cloud-retail | Product | [2.97.0](https://cloud.google.com/java/docs/reference/google-cloud-retail/latest/overview) | [Cloud Retail](https://cloud.google.com/solutions/retail) | +| google-cloud-run | Product | [0.95.0](https://cloud.google.com/java/docs/reference/google-cloud-run/latest/overview) | [Cloud Run](https://cloud.google.com/run/docs) | +| google-cloud-saasservicemgmt | Product | [0.25.0](https://cloud.google.com/java/docs/reference/google-cloud-saasservicemgmt/latest/overview) | N/A | +| google-cloud-scheduler | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-scheduler/latest/overview) | [Google Cloud Scheduler](https://cloud.google.com/scheduler/docs) | +| google-cloud-secretmanager | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/overview) | [Secret Management](https://cloud.google.com/solutions/secrets-management/) | +| google-cloud-securesourcemanager | Product | [0.65.0](https://cloud.google.com/java/docs/reference/google-cloud-securesourcemanager/latest/overview) | N/A | +| google-cloud-security-private-ca | Product | [2.97.0](https://cloud.google.com/java/docs/reference/google-cloud-security-private-ca/latest/overview) | [Certificate Authority Service](https://cloud.google.com/certificate-authority-service/docs) | +| google-cloud-securitycenter | Product | [2.103.0](https://cloud.google.com/java/docs/reference/google-cloud-securitycenter/latest/overview) | [Security Command Center](https://cloud.google.com/security-command-center) | +| google-cloud-securitycenter-settings | Product | [0.98.0](https://cloud.google.com/java/docs/reference/google-cloud-securitycenter-settings/latest/overview) | [Security Command Center Settings API](https://cloud.google.com/security-command-center/) | +| google-cloud-securitycentermanagement | Product | [0.63.0](https://cloud.google.com/java/docs/reference/google-cloud-securitycentermanagement/latest/overview) | N/A | +| google-cloud-securityposture | Product | [0.60.0](https://cloud.google.com/java/docs/reference/google-cloud-securityposture/latest/overview) | N/A | +| google-cloud-service-control | Product | [1.95.0](https://cloud.google.com/java/docs/reference/google-cloud-service-control/latest/overview) | [Service Control API](https://cloud.google.com/service-infrastructure/docs/overview/) | +| google-cloud-service-management | Product | [3.93.0](https://cloud.google.com/java/docs/reference/google-cloud-service-management/latest/overview) | [Service Management API](https://cloud.google.com/service-infrastructure/docs/overview/) | +| google-cloud-service-usage | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-service-usage/latest/overview) | [Service Usage](https://cloud.google.com/service-usage/docs/overview) | +| google-cloud-servicedirectory | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-servicedirectory/latest/overview) | [Service Directory](https://cloud.google.com/service-directory/) | +| google-cloud-servicehealth | Product | [0.62.0](https://cloud.google.com/java/docs/reference/google-cloud-servicehealth/latest/overview) | N/A | +| google-cloud-shell | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-shell/latest/overview) | [Cloud Shell](https://cloud.google.com/shell/docs) | +| google-cloud-spanner | Product | [6.120.0](https://cloud.google.com/java/docs/reference/google-cloud-spanner/latest/overview) | [Cloud Spanner](https://cloud.google.com/spanner/docs/) | +| google-cloud-spanneradapter | Product | [0.31.0](https://cloud.google.com/java/docs/reference/google-cloud-spanneradapter/latest/overview) | N/A | +| google-cloud-speech | Product | [4.90.0](https://cloud.google.com/java/docs/reference/google-cloud-speech/latest/overview) | [Cloud Speech](https://cloud.google.com/speech-to-text/docs/) | +| google-cloud-sql | Product | [0.1.0](https://cloud.google.com/java/docs/reference/google-cloud-sql/latest/overview) | N/A | +| google-cloud-storage | Product | [2.71.0](https://cloud.google.com/java/docs/reference/google-cloud-storage/latest/overview) | [Cloud Storage](https://cloud.google.com/storage) | +| google-cloud-storage-control | Product | [2.71.0](https://cloud.google.com/java/docs/reference/google-cloud-storage-control/latest/overview) | N/A | +| google-cloud-storage-transfer | Product | [1.95.0](https://cloud.google.com/java/docs/reference/google-cloud-storage-transfer/latest/overview) | [Storage Transfer Service](https://cloud.google.com/storage-transfer-service) | +| google-cloud-storagebatchoperations | Product | [0.35.0](https://cloud.google.com/java/docs/reference/google-cloud-storagebatchoperations/latest/overview) | N/A | +| google-cloud-storageinsights | Product | [0.80.0](https://cloud.google.com/java/docs/reference/google-cloud-storageinsights/latest/overview) | [Storage Insights API](https://cloud.google.com/storage/docs/insights/storage-insights/) | +| google-cloud-talent | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-talent/latest/overview) | [Talent Solution](https://cloud.google.com/solutions/talent-solution/) | +| google-cloud-tasks | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-tasks/latest/overview) | [Cloud Tasks](https://cloud.google.com/tasks/docs/) | +| google-cloud-telcoautomation | Product | [0.65.0](https://cloud.google.com/java/docs/reference/google-cloud-telcoautomation/latest/overview) | N/A | +| google-cloud-texttospeech | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-texttospeech/latest/overview) | [Cloud Text-to-Speech](https://cloud.google.com/text-to-speech) | +| google-cloud-tpu | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-tpu/latest/overview) | [Cloud TPU](https://cloud.google.com/tpu/docs) | +| google-cloud-trace | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-trace/latest/overview) | [Stackdriver Trace](https://cloud.google.com/trace/docs/) | +| google-cloud-translate | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-translate/latest/overview) | [Cloud Translation](https://cloud.google.com/translate/docs/) | +| google-cloud-valkey | Product | [0.41.0](https://cloud.google.com/java/docs/reference/google-cloud-valkey/latest/overview) | N/A | +| google-cloud-vectorsearch | Product | [0.17.0](https://cloud.google.com/java/docs/reference/google-cloud-vectorsearch/latest/overview) | N/A | | google-cloud-vertexai | Product | [1.48.0](https://cloud.google.com/java/docs/reference/google-cloud-vertexai/latest/overview) | N/A | -| google-cloud-video-intelligence | Product | [2.93.0](https://cloud.google.com/java/docs/reference/google-cloud-video-intelligence/latest/overview) | [Cloud Video Intelligence](https://cloud.google.com/video-intelligence/docs/) | -| google-cloud-video-stitcher | Product | [0.94.0](https://cloud.google.com/java/docs/reference/google-cloud-video-stitcher/latest/overview) | [Video Stitcher API](https://cloud.google.com/video-stitcher/) | -| google-cloud-video-transcoder | Product | [1.93.0](https://cloud.google.com/java/docs/reference/google-cloud-video-transcoder/latest/overview) | [Video Transcoder](https://cloud.google.com/transcoder/docs) | -| google-cloud-vision | Product | [3.92.0](https://cloud.google.com/java/docs/reference/google-cloud-vision/latest/overview) | [Cloud Vision](https://cloud.google.com/vision/docs/) | -| google-cloud-visionai | Product | [0.51.0](https://cloud.google.com/java/docs/reference/google-cloud-visionai/latest/overview) | N/A | -| google-cloud-vmmigration | Product | [1.94.0](https://cloud.google.com/java/docs/reference/google-cloud-vmmigration/latest/overview) | [VM Migration](n/a) | -| google-cloud-vmwareengine | Product | [0.88.0](https://cloud.google.com/java/docs/reference/google-cloud-vmwareengine/latest/overview) | [Google Cloud VMware Engine](https://cloud.google.com/vmware-engine/) | -| google-cloud-vpcaccess | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-vpcaccess/latest/overview) | [Serverless VPC Access](https://cloud.google.com/vpc/docs/serverless-vpc-access) | -| google-cloud-webrisk | Product | [2.93.0](https://cloud.google.com/java/docs/reference/google-cloud-webrisk/latest/overview) | [Web Risk](https://cloud.google.com/web-risk/docs/) | -| google-cloud-websecurityscanner | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-websecurityscanner/latest/overview) | [Cloud Security Scanner](https://cloud.google.com/security-scanner/docs/) | -| google-cloud-workflow-executions | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-workflow-executions/latest/overview) | [Cloud Workflow Executions](https://cloud.google.com/workflows) | -| google-cloud-workflows | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-workflows/latest/overview) | [Cloud Workflows](https://cloud.google.com/workflows) | -| google-cloud-workloadmanager | Product | [0.10.0](https://cloud.google.com/java/docs/reference/google-cloud-workloadmanager/latest/overview) | N/A | -| google-cloud-workspaceevents | Product | [0.58.0](https://cloud.google.com/java/docs/reference/google-cloud-workspaceevents/latest/overview) | N/A | -| google-cloud-workstations | Product | [0.82.0](https://cloud.google.com/java/docs/reference/google-cloud-workstations/latest/overview) | [Cloud Workstations](https://cloud.google.com/workstations) | -| google-http-client | Runtime | [2.1.1](https://cloud.google.com/java/docs/reference/google-http-client/latest/overview) | N/A | -| google-iam-admin | Product | [3.89.0](https://cloud.google.com/java/docs/reference/google-iam-admin/latest/overview) | [IAM Admin API](https://cloud.google.com/iam/docs/apis) | -| google-iam-policy | Runtime | [1.91.0](https://cloud.google.com/java/docs/reference/google-iam-policy/latest/overview) | [IAM](n/a) | -| google-identity-accesscontextmanager | Product | [1.95.0](https://cloud.google.com/java/docs/reference/google-identity-accesscontextmanager/latest/overview) | [Identity Access Context Manager](n/a) | +| google-cloud-video-intelligence | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-video-intelligence/latest/overview) | [Cloud Video Intelligence](https://cloud.google.com/video-intelligence/docs/) | +| google-cloud-video-stitcher | Product | [0.95.0](https://cloud.google.com/java/docs/reference/google-cloud-video-stitcher/latest/overview) | [Video Stitcher API](https://cloud.google.com/video-stitcher/) | +| google-cloud-video-transcoder | Product | [1.94.0](https://cloud.google.com/java/docs/reference/google-cloud-video-transcoder/latest/overview) | [Video Transcoder](https://cloud.google.com/transcoder/docs) | +| google-cloud-vision | Product | [3.93.0](https://cloud.google.com/java/docs/reference/google-cloud-vision/latest/overview) | [Cloud Vision](https://cloud.google.com/vision/docs/) | +| google-cloud-visionai | Product | [0.52.0](https://cloud.google.com/java/docs/reference/google-cloud-visionai/latest/overview) | N/A | +| google-cloud-vmmigration | Product | [1.95.0](https://cloud.google.com/java/docs/reference/google-cloud-vmmigration/latest/overview) | [VM Migration](n/a) | +| google-cloud-vmwareengine | Product | [0.89.0](https://cloud.google.com/java/docs/reference/google-cloud-vmwareengine/latest/overview) | [Google Cloud VMware Engine](https://cloud.google.com/vmware-engine/) | +| google-cloud-vpcaccess | Product | [2.96.0](https://cloud.google.com/java/docs/reference/google-cloud-vpcaccess/latest/overview) | [Serverless VPC Access](https://cloud.google.com/vpc/docs/serverless-vpc-access) | +| google-cloud-webrisk | Product | [2.94.0](https://cloud.google.com/java/docs/reference/google-cloud-webrisk/latest/overview) | [Web Risk](https://cloud.google.com/web-risk/docs/) | +| google-cloud-websecurityscanner | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-websecurityscanner/latest/overview) | [Cloud Security Scanner](https://cloud.google.com/security-scanner/docs/) | +| google-cloud-workflow-executions | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-workflow-executions/latest/overview) | [Cloud Workflow Executions](https://cloud.google.com/workflows) | +| google-cloud-workflows | Product | [2.95.0](https://cloud.google.com/java/docs/reference/google-cloud-workflows/latest/overview) | [Cloud Workflows](https://cloud.google.com/workflows) | +| google-cloud-workloadmanager | Product | [0.11.0](https://cloud.google.com/java/docs/reference/google-cloud-workloadmanager/latest/overview) | N/A | +| google-cloud-workspaceevents | Product | [0.59.0](https://cloud.google.com/java/docs/reference/google-cloud-workspaceevents/latest/overview) | N/A | +| google-cloud-workstations | Product | [0.83.0](https://cloud.google.com/java/docs/reference/google-cloud-workstations/latest/overview) | [Cloud Workstations](https://cloud.google.com/workstations) | +| google-http-client | Runtime | [2.2.0](https://cloud.google.com/java/docs/reference/google-http-client/latest/overview) | N/A | +| google-iam-admin | Product | [3.90.0](https://cloud.google.com/java/docs/reference/google-iam-admin/latest/overview) | [IAM Admin API](https://cloud.google.com/iam/docs/apis) | +| google-iam-policy | Runtime | [1.92.0](https://cloud.google.com/java/docs/reference/google-iam-policy/latest/overview) | [IAM](n/a) | +| google-identity-accesscontextmanager | Product | [1.96.0](https://cloud.google.com/java/docs/reference/google-identity-accesscontextmanager/latest/overview) | [Identity Access Context Manager](n/a) | | graal-sdk | Product | [25.0.0](https://cloud.google.com/java/docs/reference/graal-sdk/latest/overview) | N/A | -| grafeas | Product | [2.95.0](https://cloud.google.com/java/docs/reference/grafeas/latest/overview) | [Grafeas](https://grafeas.io) | +| grafeas | Product | [2.96.0](https://cloud.google.com/java/docs/reference/grafeas/latest/overview) | [Grafeas](https://grafeas.io) | | nativeimage | Product | [25.0.0](https://cloud.google.com/java/docs/reference/nativeimage/latest/overview) | N/A | diff --git a/java-cloud-bom/google-cloud-bom/pom.xml b/java-cloud-bom/google-cloud-bom/pom.xml index 1118e8668257..ef3715fd29fe 100644 --- a/java-cloud-bom/google-cloud-bom/pom.xml +++ b/java-cloud-bom/google-cloud-bom/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-bom pom - 0.266.1 + 0.268.0-SNAPSHOT Google Cloud Java BOM https://github.com/googleapis/google-cloud-java @@ -172,7 +172,7 @@ com.google.cloud gapic-libraries-bom - 1.88.1 + 1.90.0-SNAPSHOT pom import diff --git a/java-cloud-bom/libraries-bom/pom.xml b/java-cloud-bom/libraries-bom/pom.xml index cc942cd79df5..6ef991592a06 100644 --- a/java-cloud-bom/libraries-bom/pom.xml +++ b/java-cloud-bom/libraries-bom/pom.xml @@ -4,7 +4,7 @@ com.google.cloud libraries-bom - 26.85.1 + 26.87.0-SNAPSHOT pom Google Cloud Platform Supported Libraries @@ -44,7 +44,7 @@ UTF-8 - 3.64.0 + 3.66.0-SNAPSHOT true @@ -75,7 +75,7 @@ com.google.cloud google-cloud-bom - 0.266.1 + 0.268.0-SNAPSHOT pom import diff --git a/java-cloud-bom/tests/dependency-convergence/pom.xml b/java-cloud-bom/tests/dependency-convergence/pom.xml index c78fa02eb543..e69ef44fe053 100644 --- a/java-cloud-bom/tests/dependency-convergence/pom.xml +++ b/java-cloud-bom/tests/dependency-convergence/pom.xml @@ -5,7 +5,7 @@ full-convergence-check pom - 0.84.0 + 0.86.0-SNAPSHOT Full convergence check for all library dependencies in Google Cloud Java BOM BOM for Full convergence check on google-cloud-java @@ -28,7 +28,7 @@ com.google.cloud libraries-bom - 26.85.1 + 26.87.0-SNAPSHOT pom import diff --git a/java-cloud-bom/tests/pom.xml b/java-cloud-bom/tests/pom.xml index 606d820f020e..352b4f01d567 100644 --- a/java-cloud-bom/tests/pom.xml +++ b/java-cloud-bom/tests/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud java-cloud-bom-tests - 0.81.0 + 0.83.0-SNAPSHOT A module to test Google Cloud Java BOMs https://github.com/googleapis/java-cloud-bom diff --git a/java-cloud-bom/tests/validate-bom/pom.xml b/java-cloud-bom/tests/validate-bom/pom.xml index aa90df4246a3..1e9a022bfeb5 100644 --- a/java-cloud-bom/tests/validate-bom/pom.xml +++ b/java-cloud-bom/tests/validate-bom/pom.xml @@ -6,7 +6,7 @@ com.google.cloud google-cloud-pom-parent - 1.88.0 + 1.90.0-SNAPSHOT ../../../google-cloud-pom-parent/pom.xml 4.0.0 diff --git a/java-cloudapiregistry/google-cloud-cloudapiregistry-bom/pom.xml b/java-cloudapiregistry/google-cloud-cloudapiregistry-bom/pom.xml index 474d697973a2..9ec68ff8207f 100644 --- a/java-cloudapiregistry/google-cloud-cloudapiregistry-bom/pom.xml +++ b/java-cloudapiregistry/google-cloud-cloudapiregistry-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-cloudapiregistry-bom - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.cloud google-cloud-cloudapiregistry - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudapiregistry-v1beta - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudapiregistry-v1 - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudapiregistry-v1beta - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudapiregistry-v1 - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT diff --git a/java-cloudapiregistry/google-cloud-cloudapiregistry/pom.xml b/java-cloudapiregistry/google-cloud-cloudapiregistry/pom.xml index c14041585642..6722f3e47841 100644 --- a/java-cloudapiregistry/google-cloud-cloudapiregistry/pom.xml +++ b/java-cloudapiregistry/google-cloud-cloudapiregistry/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-cloudapiregistry - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT jar Google Cloud API Registry API Cloud API Registry API Cloud API Registry lets you discover, govern, use, and monitor Model Context Protocol (MCP) servers and tools provided by Google, or by your organization through Apigee API hub. com.google.cloud google-cloud-cloudapiregistry-parent - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT google-cloud-cloudapiregistry diff --git a/java-cloudapiregistry/google-cloud-cloudapiregistry/src/main/java/com/google/cloud/apiregistry/v1/stub/Version.java b/java-cloudapiregistry/google-cloud-cloudapiregistry/src/main/java/com/google/cloud/apiregistry/v1/stub/Version.java index 5791aee0bc73..feeac15ba245 100644 --- a/java-cloudapiregistry/google-cloud-cloudapiregistry/src/main/java/com/google/cloud/apiregistry/v1/stub/Version.java +++ b/java-cloudapiregistry/google-cloud-cloudapiregistry/src/main/java/com/google/cloud/apiregistry/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-cloudapiregistry:current} - static final String VERSION = "0.14.0-SNAPSHOT"; + static final String VERSION = "0.15.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-cloudapiregistry/google-cloud-cloudapiregistry/src/main/java/com/google/cloud/apiregistry/v1beta/stub/Version.java b/java-cloudapiregistry/google-cloud-cloudapiregistry/src/main/java/com/google/cloud/apiregistry/v1beta/stub/Version.java index 42c9e09ca026..8ba8f230e7ee 100644 --- a/java-cloudapiregistry/google-cloud-cloudapiregistry/src/main/java/com/google/cloud/apiregistry/v1beta/stub/Version.java +++ b/java-cloudapiregistry/google-cloud-cloudapiregistry/src/main/java/com/google/cloud/apiregistry/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-cloudapiregistry:current} - static final String VERSION = "0.14.0-SNAPSHOT"; + static final String VERSION = "0.15.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-cloudapiregistry/grpc-google-cloud-cloudapiregistry-v1/pom.xml b/java-cloudapiregistry/grpc-google-cloud-cloudapiregistry-v1/pom.xml index 1d60cb5ab920..a5f5e837484c 100644 --- a/java-cloudapiregistry/grpc-google-cloud-cloudapiregistry-v1/pom.xml +++ b/java-cloudapiregistry/grpc-google-cloud-cloudapiregistry-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-cloudapiregistry-v1 - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT grpc-google-cloud-cloudapiregistry-v1 GRPC library for google-cloud-cloudapiregistry com.google.cloud google-cloud-cloudapiregistry-parent - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT diff --git a/java-cloudapiregistry/grpc-google-cloud-cloudapiregistry-v1beta/pom.xml b/java-cloudapiregistry/grpc-google-cloud-cloudapiregistry-v1beta/pom.xml index 4e683a5a3f49..060bf72c41f3 100644 --- a/java-cloudapiregistry/grpc-google-cloud-cloudapiregistry-v1beta/pom.xml +++ b/java-cloudapiregistry/grpc-google-cloud-cloudapiregistry-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-cloudapiregistry-v1beta - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT grpc-google-cloud-cloudapiregistry-v1beta GRPC library for google-cloud-cloudapiregistry com.google.cloud google-cloud-cloudapiregistry-parent - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT diff --git a/java-cloudapiregistry/pom.xml b/java-cloudapiregistry/pom.xml index 0caeec5f169a..7c91568f5562 100644 --- a/java-cloudapiregistry/pom.xml +++ b/java-cloudapiregistry/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-cloudapiregistry-parent pom - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT Google Cloud API Registry API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-cloudapiregistry - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudapiregistry-v1 - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudapiregistry-v1 - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudapiregistry-v1beta - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudapiregistry-v1beta - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT diff --git a/java-cloudapiregistry/proto-google-cloud-cloudapiregistry-v1/pom.xml b/java-cloudapiregistry/proto-google-cloud-cloudapiregistry-v1/pom.xml index 90385f1939a1..161e7b9e009c 100644 --- a/java-cloudapiregistry/proto-google-cloud-cloudapiregistry-v1/pom.xml +++ b/java-cloudapiregistry/proto-google-cloud-cloudapiregistry-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-cloudapiregistry-v1 - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT proto-google-cloud-cloudapiregistry-v1 Proto library for google-cloud-cloudapiregistry com.google.cloud google-cloud-cloudapiregistry-parent - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT diff --git a/java-cloudapiregistry/proto-google-cloud-cloudapiregistry-v1beta/pom.xml b/java-cloudapiregistry/proto-google-cloud-cloudapiregistry-v1beta/pom.xml index 05d9ddda1100..c79d77fa5ed1 100644 --- a/java-cloudapiregistry/proto-google-cloud-cloudapiregistry-v1beta/pom.xml +++ b/java-cloudapiregistry/proto-google-cloud-cloudapiregistry-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-cloudapiregistry-v1beta - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT proto-google-cloud-cloudapiregistry-v1beta Proto library for google-cloud-cloudapiregistry com.google.cloud google-cloud-cloudapiregistry-parent - 0.14.0-SNAPSHOT + 0.15.0-SNAPSHOT diff --git a/java-cloudbuild/google-cloud-build-bom/pom.xml b/java-cloudbuild/google-cloud-build-bom/pom.xml index 18636fb00565..1cc51abcd95e 100644 --- a/java-cloudbuild/google-cloud-build-bom/pom.xml +++ b/java-cloudbuild/google-cloud-build-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-build-bom - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-build - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-build-v1 - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-build-v2 - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-build-v1 - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-build-v2 - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT diff --git a/java-cloudbuild/google-cloud-build/pom.xml b/java-cloudbuild/google-cloud-build/pom.xml index 9eec2a4d5423..5503c86ba6fc 100644 --- a/java-cloudbuild/google-cloud-build/pom.xml +++ b/java-cloudbuild/google-cloud-build/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-build - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT jar Google Cloud Build @@ -12,7 +12,7 @@ com.google.cloud google-cloud-build-parent - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT google-cloud-build diff --git a/java-cloudbuild/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/Version.java b/java-cloudbuild/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/Version.java index 5a07898e2ff8..56bc7206762c 100644 --- a/java-cloudbuild/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/Version.java +++ b/java-cloudbuild/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-build:current} - static final String VERSION = "3.97.0-SNAPSHOT"; + static final String VERSION = "3.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-cloudbuild/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v2/stub/Version.java b/java-cloudbuild/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v2/stub/Version.java index 43b5426a34e5..4ffe0186a371 100644 --- a/java-cloudbuild/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v2/stub/Version.java +++ b/java-cloudbuild/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-build:current} - static final String VERSION = "3.97.0-SNAPSHOT"; + static final String VERSION = "3.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-cloudbuild/grpc-google-cloud-build-v1/pom.xml b/java-cloudbuild/grpc-google-cloud-build-v1/pom.xml index 87de7054b386..c5119f210f37 100644 --- a/java-cloudbuild/grpc-google-cloud-build-v1/pom.xml +++ b/java-cloudbuild/grpc-google-cloud-build-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-build-v1 - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT grpc-google-cloud-build-v1 GRPC library for grpc-google-cloud-build-v1 com.google.cloud google-cloud-build-parent - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT diff --git a/java-cloudbuild/grpc-google-cloud-build-v2/pom.xml b/java-cloudbuild/grpc-google-cloud-build-v2/pom.xml index 8d18f2e6e1da..5af74ab17d06 100644 --- a/java-cloudbuild/grpc-google-cloud-build-v2/pom.xml +++ b/java-cloudbuild/grpc-google-cloud-build-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-build-v2 - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT grpc-google-cloud-build-v2 GRPC library for google-cloud-build com.google.cloud google-cloud-build-parent - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT diff --git a/java-cloudbuild/pom.xml b/java-cloudbuild/pom.xml index 581fc04917a6..63e3c39b49cb 100644 --- a/java-cloudbuild/pom.xml +++ b/java-cloudbuild/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-build-parent pom - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT Google Cloud Build Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-build-v1 - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-build-v2 - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-build-v2 - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT com.google.cloud google-cloud-build - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-build-v1 - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT diff --git a/java-cloudbuild/proto-google-cloud-build-v1/pom.xml b/java-cloudbuild/proto-google-cloud-build-v1/pom.xml index 1c3db2a71c33..25a862b06f20 100644 --- a/java-cloudbuild/proto-google-cloud-build-v1/pom.xml +++ b/java-cloudbuild/proto-google-cloud-build-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-build-v1 - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT proto-google-cloud-build-v1 PROTO library for proto-google-cloud-build-v1 com.google.cloud google-cloud-build-parent - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT diff --git a/java-cloudbuild/proto-google-cloud-build-v2/pom.xml b/java-cloudbuild/proto-google-cloud-build-v2/pom.xml index b973f51b985d..b70b19306f11 100644 --- a/java-cloudbuild/proto-google-cloud-build-v2/pom.xml +++ b/java-cloudbuild/proto-google-cloud-build-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-build-v2 - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT proto-google-cloud-build-v2 Proto library for google-cloud-build com.google.cloud google-cloud-build-parent - 3.97.0-SNAPSHOT + 3.98.0-SNAPSHOT diff --git a/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement-bom/pom.xml b/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement-bom/pom.xml index 09569c63b5a7..b7602c5c9d7b 100644 --- a/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement-bom/pom.xml +++ b/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-cloudcommerceconsumerprocurement-bom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-cloudcommerceconsumerprocurement - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudcommerceconsumerprocurement-v1alpha1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudcommerceconsumerprocurement-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudcommerceconsumerprocurement-v1alpha1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudcommerceconsumerprocurement-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement/pom.xml b/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement/pom.xml index be2f26ee3a7e..d7874a33c23a 100644 --- a/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement/pom.xml +++ b/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-cloudcommerceconsumerprocurement - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT jar Google Cloud Commerce Consumer Procurement Cloud Commerce Consumer Procurement Find top solutions integrated with Google Cloud to accelerate your digital transformation. Scale and simplify procurement for your organization with online discovery, flexible purchasing, and fulfillment of enterprise-grade cloud solutions. com.google.cloud google-cloud-cloudcommerceconsumerprocurement-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT google-cloud-cloudcommerceconsumerprocurement diff --git a/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement/src/main/java/com/google/cloud/commerce/consumer/procurement/v1/stub/Version.java b/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement/src/main/java/com/google/cloud/commerce/consumer/procurement/v1/stub/Version.java index 7d57a9319ce6..c7253c4a31c7 100644 --- a/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement/src/main/java/com/google/cloud/commerce/consumer/procurement/v1/stub/Version.java +++ b/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement/src/main/java/com/google/cloud/commerce/consumer/procurement/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-cloudcommerceconsumerprocurement:current} - static final String VERSION = "0.93.0-SNAPSHOT"; + static final String VERSION = "0.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement/src/main/java/com/google/cloud/commerce/consumer/procurement/v1alpha1/stub/Version.java b/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement/src/main/java/com/google/cloud/commerce/consumer/procurement/v1alpha1/stub/Version.java index f6b80c7c8cd7..e5a1ac784802 100644 --- a/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement/src/main/java/com/google/cloud/commerce/consumer/procurement/v1alpha1/stub/Version.java +++ b/java-cloudcommerceconsumerprocurement/google-cloud-cloudcommerceconsumerprocurement/src/main/java/com/google/cloud/commerce/consumer/procurement/v1alpha1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-cloudcommerceconsumerprocurement:current} - static final String VERSION = "0.93.0-SNAPSHOT"; + static final String VERSION = "0.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-cloudcommerceconsumerprocurement/grpc-google-cloud-cloudcommerceconsumerprocurement-v1/pom.xml b/java-cloudcommerceconsumerprocurement/grpc-google-cloud-cloudcommerceconsumerprocurement-v1/pom.xml index 0dd6ff2937a8..e417c4566078 100644 --- a/java-cloudcommerceconsumerprocurement/grpc-google-cloud-cloudcommerceconsumerprocurement-v1/pom.xml +++ b/java-cloudcommerceconsumerprocurement/grpc-google-cloud-cloudcommerceconsumerprocurement-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-cloudcommerceconsumerprocurement-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT grpc-google-cloud-cloudcommerceconsumerprocurement-v1 GRPC library for google-cloud-cloudcommerceconsumerprocurement com.google.cloud google-cloud-cloudcommerceconsumerprocurement-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-cloudcommerceconsumerprocurement/grpc-google-cloud-cloudcommerceconsumerprocurement-v1alpha1/pom.xml b/java-cloudcommerceconsumerprocurement/grpc-google-cloud-cloudcommerceconsumerprocurement-v1alpha1/pom.xml index b2f90b7610e5..16d38ee995de 100644 --- a/java-cloudcommerceconsumerprocurement/grpc-google-cloud-cloudcommerceconsumerprocurement-v1alpha1/pom.xml +++ b/java-cloudcommerceconsumerprocurement/grpc-google-cloud-cloudcommerceconsumerprocurement-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-cloudcommerceconsumerprocurement-v1alpha1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT grpc-google-cloud-cloudcommerceconsumerprocurement-v1alpha1 GRPC library for google-cloud-cloudcommerceconsumerprocurement com.google.cloud google-cloud-cloudcommerceconsumerprocurement-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-cloudcommerceconsumerprocurement/pom.xml b/java-cloudcommerceconsumerprocurement/pom.xml index 246dd46a537a..2fc3d237bb49 100644 --- a/java-cloudcommerceconsumerprocurement/pom.xml +++ b/java-cloudcommerceconsumerprocurement/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-cloudcommerceconsumerprocurement-parent pom - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT Google Cloud Commerce Consumer Procurement Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-cloudcommerceconsumerprocurement - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudcommerceconsumerprocurement-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudcommerceconsumerprocurement-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudcommerceconsumerprocurement-v1alpha1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudcommerceconsumerprocurement-v1alpha1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-cloudcommerceconsumerprocurement/proto-google-cloud-cloudcommerceconsumerprocurement-v1/pom.xml b/java-cloudcommerceconsumerprocurement/proto-google-cloud-cloudcommerceconsumerprocurement-v1/pom.xml index d2aa6c1ab38c..d7d5ee900876 100644 --- a/java-cloudcommerceconsumerprocurement/proto-google-cloud-cloudcommerceconsumerprocurement-v1/pom.xml +++ b/java-cloudcommerceconsumerprocurement/proto-google-cloud-cloudcommerceconsumerprocurement-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-cloudcommerceconsumerprocurement-v1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT proto-google-cloud-cloudcommerceconsumerprocurement-v1 Proto library for google-cloud-cloudcommerceconsumerprocurement com.google.cloud google-cloud-cloudcommerceconsumerprocurement-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-cloudcommerceconsumerprocurement/proto-google-cloud-cloudcommerceconsumerprocurement-v1alpha1/pom.xml b/java-cloudcommerceconsumerprocurement/proto-google-cloud-cloudcommerceconsumerprocurement-v1alpha1/pom.xml index 49b8ea622033..999ee1a24996 100644 --- a/java-cloudcommerceconsumerprocurement/proto-google-cloud-cloudcommerceconsumerprocurement-v1alpha1/pom.xml +++ b/java-cloudcommerceconsumerprocurement/proto-google-cloud-cloudcommerceconsumerprocurement-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-cloudcommerceconsumerprocurement-v1alpha1 - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT proto-google-cloud-cloudcommerceconsumerprocurement-v1alpha1 Proto library for google-cloud-cloudcommerceconsumerprocurement com.google.cloud google-cloud-cloudcommerceconsumerprocurement-parent - 0.93.0-SNAPSHOT + 0.94.0-SNAPSHOT diff --git a/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner-bom/pom.xml b/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner-bom/pom.xml index 0379385ae534..3128587863f8 100644 --- a/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner-bom/pom.xml +++ b/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-cloudcontrolspartner-bom - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-cloudcontrolspartner - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudcontrolspartner-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudcontrolspartner-v1beta - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudcontrolspartner-v1beta - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudcontrolspartner-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner/pom.xml b/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner/pom.xml index 84f5d1917af2..1060a3f4eed7 100644 --- a/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner/pom.xml +++ b/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-cloudcontrolspartner - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT jar Google Cloud Controls Partner API Cloud Controls Partner API Provides insights about your customers and their Assured Workloads based on your Sovereign Controls by Partners offering. com.google.cloud google-cloud-cloudcontrolspartner-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT google-cloud-cloudcontrolspartner diff --git a/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner/src/main/java/com/google/cloud/cloudcontrolspartner/v1/stub/Version.java b/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner/src/main/java/com/google/cloud/cloudcontrolspartner/v1/stub/Version.java index a32d62b6f315..a10f7895f619 100644 --- a/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner/src/main/java/com/google/cloud/cloudcontrolspartner/v1/stub/Version.java +++ b/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner/src/main/java/com/google/cloud/cloudcontrolspartner/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-cloudcontrolspartner:current} - static final String VERSION = "0.59.0-SNAPSHOT"; + static final String VERSION = "0.60.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner/src/main/java/com/google/cloud/cloudcontrolspartner/v1beta/stub/Version.java b/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner/src/main/java/com/google/cloud/cloudcontrolspartner/v1beta/stub/Version.java index 97c6b67db476..40931ef40db9 100644 --- a/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner/src/main/java/com/google/cloud/cloudcontrolspartner/v1beta/stub/Version.java +++ b/java-cloudcontrolspartner/google-cloud-cloudcontrolspartner/src/main/java/com/google/cloud/cloudcontrolspartner/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-cloudcontrolspartner:current} - static final String VERSION = "0.59.0-SNAPSHOT"; + static final String VERSION = "0.60.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-cloudcontrolspartner/grpc-google-cloud-cloudcontrolspartner-v1/pom.xml b/java-cloudcontrolspartner/grpc-google-cloud-cloudcontrolspartner-v1/pom.xml index df3ad95684fc..90ea2f696398 100644 --- a/java-cloudcontrolspartner/grpc-google-cloud-cloudcontrolspartner-v1/pom.xml +++ b/java-cloudcontrolspartner/grpc-google-cloud-cloudcontrolspartner-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-cloudcontrolspartner-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT grpc-google-cloud-cloudcontrolspartner-v1 GRPC library for google-cloud-cloudcontrolspartner com.google.cloud google-cloud-cloudcontrolspartner-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-cloudcontrolspartner/grpc-google-cloud-cloudcontrolspartner-v1beta/pom.xml b/java-cloudcontrolspartner/grpc-google-cloud-cloudcontrolspartner-v1beta/pom.xml index 1684843255b6..367aa43e93ec 100644 --- a/java-cloudcontrolspartner/grpc-google-cloud-cloudcontrolspartner-v1beta/pom.xml +++ b/java-cloudcontrolspartner/grpc-google-cloud-cloudcontrolspartner-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-cloudcontrolspartner-v1beta - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT grpc-google-cloud-cloudcontrolspartner-v1beta GRPC library for google-cloud-cloudcontrolspartner com.google.cloud google-cloud-cloudcontrolspartner-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-cloudcontrolspartner/pom.xml b/java-cloudcontrolspartner/pom.xml index ef44325c08a3..9d3fd44739ce 100644 --- a/java-cloudcontrolspartner/pom.xml +++ b/java-cloudcontrolspartner/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-cloudcontrolspartner-parent pom - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT Google Cloud Controls Partner API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-cloudcontrolspartner - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudcontrolspartner-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudcontrolspartner-v1beta - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudcontrolspartner-v1beta - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudcontrolspartner-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-cloudcontrolspartner/proto-google-cloud-cloudcontrolspartner-v1/pom.xml b/java-cloudcontrolspartner/proto-google-cloud-cloudcontrolspartner-v1/pom.xml index 87bedda1a162..d229647e4fdd 100644 --- a/java-cloudcontrolspartner/proto-google-cloud-cloudcontrolspartner-v1/pom.xml +++ b/java-cloudcontrolspartner/proto-google-cloud-cloudcontrolspartner-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-cloudcontrolspartner-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT proto-google-cloud-cloudcontrolspartner-v1 Proto library for google-cloud-cloudcontrolspartner com.google.cloud google-cloud-cloudcontrolspartner-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-cloudcontrolspartner/proto-google-cloud-cloudcontrolspartner-v1beta/pom.xml b/java-cloudcontrolspartner/proto-google-cloud-cloudcontrolspartner-v1beta/pom.xml index 80be6029afe6..641d083e844c 100644 --- a/java-cloudcontrolspartner/proto-google-cloud-cloudcontrolspartner-v1beta/pom.xml +++ b/java-cloudcontrolspartner/proto-google-cloud-cloudcontrolspartner-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-cloudcontrolspartner-v1beta - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT proto-google-cloud-cloudcontrolspartner-v1beta Proto library for google-cloud-cloudcontrolspartner com.google.cloud google-cloud-cloudcontrolspartner-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-cloudquotas/google-cloud-cloudquotas-bom/pom.xml b/java-cloudquotas/google-cloud-cloudquotas-bom/pom.xml index d167b5c42bfe..d9f35f45763b 100644 --- a/java-cloudquotas/google-cloud-cloudquotas-bom/pom.xml +++ b/java-cloudquotas/google-cloud-cloudquotas-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-cloudquotas-bom - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-cloudquotas - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudquotas-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudquotas-v1beta - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudquotas-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudquotas-v1beta - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-cloudquotas/google-cloud-cloudquotas/pom.xml b/java-cloudquotas/google-cloud-cloudquotas/pom.xml index 1cd6a810b34b..5dafb91ec9d5 100644 --- a/java-cloudquotas/google-cloud-cloudquotas/pom.xml +++ b/java-cloudquotas/google-cloud-cloudquotas/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-cloudquotas - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT jar Google Cloud Quotas API Cloud Quotas API Cloud Quotas API provides GCP service consumers with management and @@ -12,7 +12,7 @@ com.google.cloud google-cloud-cloudquotas-parent - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT google-cloud-cloudquotas diff --git a/java-cloudquotas/google-cloud-cloudquotas/src/main/java/com/google/api/cloudquotas/v1/stub/Version.java b/java-cloudquotas/google-cloud-cloudquotas/src/main/java/com/google/api/cloudquotas/v1/stub/Version.java index ba02a8a5b8a4..96bfdc2f320d 100644 --- a/java-cloudquotas/google-cloud-cloudquotas/src/main/java/com/google/api/cloudquotas/v1/stub/Version.java +++ b/java-cloudquotas/google-cloud-cloudquotas/src/main/java/com/google/api/cloudquotas/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-cloudquotas:current} - static final String VERSION = "0.63.0-SNAPSHOT"; + static final String VERSION = "0.64.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-cloudquotas/google-cloud-cloudquotas/src/main/java/com/google/api/cloudquotas/v1beta/stub/Version.java b/java-cloudquotas/google-cloud-cloudquotas/src/main/java/com/google/api/cloudquotas/v1beta/stub/Version.java index 077e0d4373e7..7a94ec4b963a 100644 --- a/java-cloudquotas/google-cloud-cloudquotas/src/main/java/com/google/api/cloudquotas/v1beta/stub/Version.java +++ b/java-cloudquotas/google-cloud-cloudquotas/src/main/java/com/google/api/cloudquotas/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-cloudquotas:current} - static final String VERSION = "0.63.0-SNAPSHOT"; + static final String VERSION = "0.64.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-cloudquotas/grpc-google-cloud-cloudquotas-v1/pom.xml b/java-cloudquotas/grpc-google-cloud-cloudquotas-v1/pom.xml index c3498d2e95c5..9364084e09ce 100644 --- a/java-cloudquotas/grpc-google-cloud-cloudquotas-v1/pom.xml +++ b/java-cloudquotas/grpc-google-cloud-cloudquotas-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-cloudquotas-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT grpc-google-cloud-cloudquotas-v1 GRPC library for google-cloud-cloudquotas com.google.cloud google-cloud-cloudquotas-parent - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-cloudquotas/grpc-google-cloud-cloudquotas-v1beta/pom.xml b/java-cloudquotas/grpc-google-cloud-cloudquotas-v1beta/pom.xml index c8637fc2368c..5aec1ae06cb3 100644 --- a/java-cloudquotas/grpc-google-cloud-cloudquotas-v1beta/pom.xml +++ b/java-cloudquotas/grpc-google-cloud-cloudquotas-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-cloudquotas-v1beta - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT grpc-google-cloud-cloudquotas-v1beta GRPC library for google-cloud-cloudquotas com.google.cloud google-cloud-cloudquotas-parent - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-cloudquotas/pom.xml b/java-cloudquotas/pom.xml index 31250402c10e..bec645d63422 100644 --- a/java-cloudquotas/pom.xml +++ b/java-cloudquotas/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-cloudquotas-parent pom - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT Google Cloud Quotas API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-cloudquotas - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudquotas-v1beta - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudquotas-v1beta - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudquotas-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudquotas-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-cloudquotas/proto-google-cloud-cloudquotas-v1/pom.xml b/java-cloudquotas/proto-google-cloud-cloudquotas-v1/pom.xml index 45ede4eb7303..366a0775c7f0 100644 --- a/java-cloudquotas/proto-google-cloud-cloudquotas-v1/pom.xml +++ b/java-cloudquotas/proto-google-cloud-cloudquotas-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-cloudquotas-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT proto-google-cloud-cloudquotas-v1 Proto library for google-cloud-cloudquotas com.google.cloud google-cloud-cloudquotas-parent - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-cloudquotas/proto-google-cloud-cloudquotas-v1beta/pom.xml b/java-cloudquotas/proto-google-cloud-cloudquotas-v1beta/pom.xml index fc75395f332d..37ce99006d99 100644 --- a/java-cloudquotas/proto-google-cloud-cloudquotas-v1beta/pom.xml +++ b/java-cloudquotas/proto-google-cloud-cloudquotas-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-cloudquotas-v1beta - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT proto-google-cloud-cloudquotas-v1beta Proto library for google-cloud-cloudquotas com.google.cloud google-cloud-cloudquotas-parent - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-cloudsecuritycompliance/google-cloud-cloudsecuritycompliance-bom/pom.xml b/java-cloudsecuritycompliance/google-cloud-cloudsecuritycompliance-bom/pom.xml index 4670cb140d67..c5d086e461e4 100644 --- a/java-cloudsecuritycompliance/google-cloud-cloudsecuritycompliance-bom/pom.xml +++ b/java-cloudsecuritycompliance/google-cloud-cloudsecuritycompliance-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-cloudsecuritycompliance-bom - 0.22.0-SNAPSHOT + 0.23.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-cloudsecuritycompliance - 0.22.0-SNAPSHOT + 0.23.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudsecuritycompliance-v1 - 0.22.0-SNAPSHOT + 0.23.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudsecuritycompliance-v1 - 0.22.0-SNAPSHOT + 0.23.0-SNAPSHOT diff --git a/java-cloudsecuritycompliance/google-cloud-cloudsecuritycompliance/pom.xml b/java-cloudsecuritycompliance/google-cloud-cloudsecuritycompliance/pom.xml index 4fa5c391f413..f907fea6ee7e 100644 --- a/java-cloudsecuritycompliance/google-cloud-cloudsecuritycompliance/pom.xml +++ b/java-cloudsecuritycompliance/google-cloud-cloudsecuritycompliance/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-cloudsecuritycompliance - 0.22.0-SNAPSHOT + 0.23.0-SNAPSHOT jar Google Cloud Security Compliance API Cloud Security Compliance API Compliance Manager uses software-defined controls that let you assess support for multiple compliance programs and security requirements within a Google Cloud organization com.google.cloud google-cloud-cloudsecuritycompliance-parent - 0.22.0-SNAPSHOT + 0.23.0-SNAPSHOT google-cloud-cloudsecuritycompliance diff --git a/java-cloudsecuritycompliance/google-cloud-cloudsecuritycompliance/src/main/java/com/google/cloud/cloudsecuritycompliance/v1/stub/Version.java b/java-cloudsecuritycompliance/google-cloud-cloudsecuritycompliance/src/main/java/com/google/cloud/cloudsecuritycompliance/v1/stub/Version.java index d76cb61f25c4..199a2419cec1 100644 --- a/java-cloudsecuritycompliance/google-cloud-cloudsecuritycompliance/src/main/java/com/google/cloud/cloudsecuritycompliance/v1/stub/Version.java +++ b/java-cloudsecuritycompliance/google-cloud-cloudsecuritycompliance/src/main/java/com/google/cloud/cloudsecuritycompliance/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-cloudsecuritycompliance:current} - static final String VERSION = "0.22.0-SNAPSHOT"; + static final String VERSION = "0.23.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-cloudsecuritycompliance/grpc-google-cloud-cloudsecuritycompliance-v1/pom.xml b/java-cloudsecuritycompliance/grpc-google-cloud-cloudsecuritycompliance-v1/pom.xml index 3d44feac3ff7..ff9c792b9cd6 100644 --- a/java-cloudsecuritycompliance/grpc-google-cloud-cloudsecuritycompliance-v1/pom.xml +++ b/java-cloudsecuritycompliance/grpc-google-cloud-cloudsecuritycompliance-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-cloudsecuritycompliance-v1 - 0.22.0-SNAPSHOT + 0.23.0-SNAPSHOT grpc-google-cloud-cloudsecuritycompliance-v1 GRPC library for google-cloud-cloudsecuritycompliance com.google.cloud google-cloud-cloudsecuritycompliance-parent - 0.22.0-SNAPSHOT + 0.23.0-SNAPSHOT diff --git a/java-cloudsecuritycompliance/pom.xml b/java-cloudsecuritycompliance/pom.xml index 710f84e8b134..a0ddab7de3ce 100644 --- a/java-cloudsecuritycompliance/pom.xml +++ b/java-cloudsecuritycompliance/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-cloudsecuritycompliance-parent pom - 0.22.0-SNAPSHOT + 0.23.0-SNAPSHOT Google Cloud Security Compliance API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-cloudsecuritycompliance - 0.22.0-SNAPSHOT + 0.23.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudsecuritycompliance-v1 - 0.22.0-SNAPSHOT + 0.23.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudsecuritycompliance-v1 - 0.22.0-SNAPSHOT + 0.23.0-SNAPSHOT diff --git a/java-cloudsecuritycompliance/proto-google-cloud-cloudsecuritycompliance-v1/pom.xml b/java-cloudsecuritycompliance/proto-google-cloud-cloudsecuritycompliance-v1/pom.xml index 67ccf1fdee11..1cefab752863 100644 --- a/java-cloudsecuritycompliance/proto-google-cloud-cloudsecuritycompliance-v1/pom.xml +++ b/java-cloudsecuritycompliance/proto-google-cloud-cloudsecuritycompliance-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-cloudsecuritycompliance-v1 - 0.22.0-SNAPSHOT + 0.23.0-SNAPSHOT proto-google-cloud-cloudsecuritycompliance-v1 Proto library for google-cloud-cloudsecuritycompliance com.google.cloud google-cloud-cloudsecuritycompliance-parent - 0.22.0-SNAPSHOT + 0.23.0-SNAPSHOT diff --git a/java-cloudsupport/google-cloud-cloudsupport-bom/pom.xml b/java-cloudsupport/google-cloud-cloudsupport-bom/pom.xml index ac1c43a4a779..b185e255763c 100644 --- a/java-cloudsupport/google-cloud-cloudsupport-bom/pom.xml +++ b/java-cloudsupport/google-cloud-cloudsupport-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-cloudsupport-bom - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-cloudsupport - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudsupport-v2 - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudsupport-v2beta - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudsupport-v2 - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudsupport-v2beta - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT diff --git a/java-cloudsupport/google-cloud-cloudsupport/pom.xml b/java-cloudsupport/google-cloud-cloudsupport/pom.xml index fda77042eb36..e029b393423e 100644 --- a/java-cloudsupport/google-cloud-cloudsupport/pom.xml +++ b/java-cloudsupport/google-cloud-cloudsupport/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-cloudsupport - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT jar Google Google Cloud Support API Google Cloud Support API Manages Google Cloud technical support cases for Customer Care support offerings. com.google.cloud google-cloud-cloudsupport-parent - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT google-cloud-cloudsupport diff --git a/java-cloudsupport/google-cloud-cloudsupport/src/main/java/com/google/cloud/support/v2/stub/Version.java b/java-cloudsupport/google-cloud-cloudsupport/src/main/java/com/google/cloud/support/v2/stub/Version.java index cdc02d31f7f7..b82fbffcfc24 100644 --- a/java-cloudsupport/google-cloud-cloudsupport/src/main/java/com/google/cloud/support/v2/stub/Version.java +++ b/java-cloudsupport/google-cloud-cloudsupport/src/main/java/com/google/cloud/support/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-cloudsupport:current} - static final String VERSION = "0.79.0-SNAPSHOT"; + static final String VERSION = "0.80.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-cloudsupport/google-cloud-cloudsupport/src/main/java/com/google/cloud/support/v2beta/stub/Version.java b/java-cloudsupport/google-cloud-cloudsupport/src/main/java/com/google/cloud/support/v2beta/stub/Version.java index 167941d5600c..732e3ac37067 100644 --- a/java-cloudsupport/google-cloud-cloudsupport/src/main/java/com/google/cloud/support/v2beta/stub/Version.java +++ b/java-cloudsupport/google-cloud-cloudsupport/src/main/java/com/google/cloud/support/v2beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-cloudsupport:current} - static final String VERSION = "0.79.0-SNAPSHOT"; + static final String VERSION = "0.80.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-cloudsupport/grpc-google-cloud-cloudsupport-v2/pom.xml b/java-cloudsupport/grpc-google-cloud-cloudsupport-v2/pom.xml index e0f32abe432c..5267c53a37ae 100644 --- a/java-cloudsupport/grpc-google-cloud-cloudsupport-v2/pom.xml +++ b/java-cloudsupport/grpc-google-cloud-cloudsupport-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-cloudsupport-v2 - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT grpc-google-cloud-cloudsupport-v2 GRPC library for google-cloud-cloudsupport com.google.cloud google-cloud-cloudsupport-parent - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT diff --git a/java-cloudsupport/grpc-google-cloud-cloudsupport-v2beta/pom.xml b/java-cloudsupport/grpc-google-cloud-cloudsupport-v2beta/pom.xml index 77b8fdbb5a1a..3c831eae7272 100644 --- a/java-cloudsupport/grpc-google-cloud-cloudsupport-v2beta/pom.xml +++ b/java-cloudsupport/grpc-google-cloud-cloudsupport-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-cloudsupport-v2beta - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT grpc-google-cloud-cloudsupport-v2beta GRPC library for google-cloud-cloudsupport com.google.cloud google-cloud-cloudsupport-parent - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT diff --git a/java-cloudsupport/pom.xml b/java-cloudsupport/pom.xml index f6992eeeb91e..6bdc6fb51bca 100644 --- a/java-cloudsupport/pom.xml +++ b/java-cloudsupport/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-cloudsupport-parent pom - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT Google Google Cloud Support API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-cloudsupport - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudsupport-v2beta - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudsupport-v2beta - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-cloudsupport-v2 - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT com.google.api.grpc proto-google-cloud-cloudsupport-v2 - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT diff --git a/java-cloudsupport/proto-google-cloud-cloudsupport-v2/pom.xml b/java-cloudsupport/proto-google-cloud-cloudsupport-v2/pom.xml index 4c7dc7357c71..8d2982fe1caa 100644 --- a/java-cloudsupport/proto-google-cloud-cloudsupport-v2/pom.xml +++ b/java-cloudsupport/proto-google-cloud-cloudsupport-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-cloudsupport-v2 - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT proto-google-cloud-cloudsupport-v2 Proto library for google-cloud-cloudsupport com.google.cloud google-cloud-cloudsupport-parent - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT diff --git a/java-cloudsupport/proto-google-cloud-cloudsupport-v2beta/pom.xml b/java-cloudsupport/proto-google-cloud-cloudsupport-v2beta/pom.xml index b27195c775bb..0548434e9836 100644 --- a/java-cloudsupport/proto-google-cloud-cloudsupport-v2beta/pom.xml +++ b/java-cloudsupport/proto-google-cloud-cloudsupport-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-cloudsupport-v2beta - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT proto-google-cloud-cloudsupport-v2beta Proto library for google-cloud-cloudsupport com.google.cloud google-cloud-cloudsupport-parent - 0.79.0-SNAPSHOT + 0.80.0-SNAPSHOT diff --git a/java-commerceproducer/google-cloud-commerceproducer-bom/pom.xml b/java-commerceproducer/google-cloud-commerceproducer-bom/pom.xml index 570103906e61..88e61538cbdc 100644 --- a/java-commerceproducer/google-cloud-commerceproducer-bom/pom.xml +++ b/java-commerceproducer/google-cloud-commerceproducer-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-commerceproducer-bom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-commerceproducer - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-commerceproducer-v1beta - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc proto-google-cloud-commerceproducer-v1beta - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-commerceproducer/google-cloud-commerceproducer/pom.xml b/java-commerceproducer/google-cloud-commerceproducer/pom.xml index 3a8f4130fc4b..24d77be7ae82 100644 --- a/java-commerceproducer/google-cloud-commerceproducer/pom.xml +++ b/java-commerceproducer/google-cloud-commerceproducer/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-commerceproducer - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT jar Google Cloud Commerce Producer Cloud Commerce Producer Partner API for the Cloud Commerce Producer API Early Access. com.google.cloud google-cloud-commerceproducer-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT google-cloud-commerceproducer diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/Version.java b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/Version.java index 3d078161706d..f302cfc08925 100644 --- a/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/Version.java +++ b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-commerceproducer:current} - static final String VERSION = "0.0.0-SNAPSHOT"; + static final String VERSION = "0.2.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-commerceproducer/grpc-google-cloud-commerceproducer-v1beta/pom.xml b/java-commerceproducer/grpc-google-cloud-commerceproducer-v1beta/pom.xml index 133830e94a71..9a1bf7e70308 100644 --- a/java-commerceproducer/grpc-google-cloud-commerceproducer-v1beta/pom.xml +++ b/java-commerceproducer/grpc-google-cloud-commerceproducer-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-commerceproducer-v1beta - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT grpc-google-cloud-commerceproducer-v1beta GRPC library for google-cloud-commerceproducer com.google.cloud google-cloud-commerceproducer-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-commerceproducer/pom.xml b/java-commerceproducer/pom.xml index ecfe0f54c01e..10d03a0c6e44 100644 --- a/java-commerceproducer/pom.xml +++ b/java-commerceproducer/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-commerceproducer-parent pom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT Google Cloud Commerce Producer Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-commerceproducer - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-commerceproducer-v1beta - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc proto-google-cloud-commerceproducer-v1beta - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/pom.xml b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/pom.xml index 8fb7154cf760..d8cadb5b1828 100644 --- a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/pom.xml +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-commerceproducer-v1beta - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT proto-google-cloud-commerceproducer-v1beta Proto library for google-cloud-commerceproducer com.google.cloud google-cloud-commerceproducer-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-common-protos/grpc-google-common-protos/pom.xml b/java-common-protos/grpc-google-common-protos/pom.xml index f3891904d3fa..0511a4312f88 100644 --- a/java-common-protos/grpc-google-common-protos/pom.xml +++ b/java-common-protos/grpc-google-common-protos/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-common-protos - 2.74.0-SNAPSHOT + 2.75.0-SNAPSHOT grpc-google-common-protos GRPC library for grpc-google-common-protos com.google.api.grpc google-common-protos-parent - 2.74.0-SNAPSHOT + 2.75.0-SNAPSHOT diff --git a/java-common-protos/pom.xml b/java-common-protos/pom.xml index 824768000f43..c394d6e0e109 100644 --- a/java-common-protos/pom.xml +++ b/java-common-protos/pom.xml @@ -4,7 +4,7 @@ com.google.api.grpc google-common-protos-parent pom - 2.74.0-SNAPSHOT + 2.75.0-SNAPSHOT Google Common Protos Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.api gapic-generator-java-pom-parent - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT ../sdk-platform-java/gapic-generator-java-pom-parent @@ -50,7 +50,7 @@ com.google.cloud third-party-dependencies - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT pom import @@ -64,7 +64,7 @@ com.google.api.grpc grpc-google-common-protos - 2.74.0-SNAPSHOT + 2.75.0-SNAPSHOT io.grpc @@ -76,7 +76,7 @@ com.google.api.grpc proto-google-common-protos - 2.74.0-SNAPSHOT + 2.75.0-SNAPSHOT com.google.guava diff --git a/java-common-protos/proto-google-common-protos/pom.xml b/java-common-protos/proto-google-common-protos/pom.xml index c46d7fd81df0..68962d7b711d 100644 --- a/java-common-protos/proto-google-common-protos/pom.xml +++ b/java-common-protos/proto-google-common-protos/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.api.grpc proto-google-common-protos - 2.74.0-SNAPSHOT + 2.75.0-SNAPSHOT proto-google-common-protos PROTO library for proto-google-common-protos com.google.api.grpc google-common-protos-parent - 2.74.0-SNAPSHOT + 2.75.0-SNAPSHOT diff --git a/java-compute/google-cloud-compute-bom/pom.xml b/java-compute/google-cloud-compute-bom/pom.xml index 5610d020abb0..88c231b9b41d 100644 --- a/java-compute/google-cloud-compute-bom/pom.xml +++ b/java-compute/google-cloud-compute-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-compute-bom - 1.105.0-SNAPSHOT + 1.106.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,12 +24,12 @@ com.google.cloud google-cloud-compute - 1.105.0-SNAPSHOT + 1.106.0-SNAPSHOT com.google.api.grpc proto-google-cloud-compute-v1 - 1.105.0-SNAPSHOT + 1.106.0-SNAPSHOT diff --git a/java-compute/google-cloud-compute/pom.xml b/java-compute/google-cloud-compute/pom.xml index 4149d5c8f29c..97b9b7c4b11e 100644 --- a/java-compute/google-cloud-compute/pom.xml +++ b/java-compute/google-cloud-compute/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-compute - 1.105.0-SNAPSHOT + 1.106.0-SNAPSHOT jar Google Compute Engine Compute Engine delivers configurable virtual machines running in @@ -12,7 +12,7 @@ com.google.cloud google-cloud-compute-parent - 1.105.0-SNAPSHOT + 1.106.0-SNAPSHOT google-cloud-compute @@ -97,7 +97,7 @@ com.google.cloud google-cloud-monitoring - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT test @@ -129,7 +129,7 @@ com.google.cloud google-cloud-trace - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT test diff --git a/java-compute/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/Version.java b/java-compute/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/Version.java index c8bbf80953ba..9dd7bc74e6bf 100644 --- a/java-compute/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/Version.java +++ b/java-compute/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-compute:current} - static final String VERSION = "1.105.0-SNAPSHOT"; + static final String VERSION = "1.106.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-compute/pom.xml b/java-compute/pom.xml index 2b7c2c89db4d..6190b5360571 100644 --- a/java-compute/pom.xml +++ b/java-compute/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-compute-parent pom - 1.105.0-SNAPSHOT + 1.106.0-SNAPSHOT Google Compute Engine Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,12 +30,12 @@ com.google.cloud google-cloud-compute - 1.105.0-SNAPSHOT + 1.106.0-SNAPSHOT com.google.api.grpc proto-google-cloud-compute-v1 - 1.105.0-SNAPSHOT + 1.106.0-SNAPSHOT diff --git a/java-compute/proto-google-cloud-compute-v1/pom.xml b/java-compute/proto-google-cloud-compute-v1/pom.xml index 58111a97d390..feaf94f09c0b 100644 --- a/java-compute/proto-google-cloud-compute-v1/pom.xml +++ b/java-compute/proto-google-cloud-compute-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-compute-v1 - 1.105.0-SNAPSHOT + 1.106.0-SNAPSHOT proto-google-cloud-compute-v1 Proto library for google-cloud-compute com.google.cloud google-cloud-compute-parent - 1.105.0-SNAPSHOT + 1.106.0-SNAPSHOT diff --git a/java-confidentialcomputing/google-cloud-confidentialcomputing-bom/pom.xml b/java-confidentialcomputing/google-cloud-confidentialcomputing-bom/pom.xml index 15c37724c416..0a75651b1f88 100644 --- a/java-confidentialcomputing/google-cloud-confidentialcomputing-bom/pom.xml +++ b/java-confidentialcomputing/google-cloud-confidentialcomputing-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-confidentialcomputing-bom - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-confidentialcomputing - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-confidentialcomputing-v1 - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-confidentialcomputing-v1alpha1 - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT com.google.api.grpc proto-google-cloud-confidentialcomputing-v1 - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT com.google.api.grpc proto-google-cloud-confidentialcomputing-v1alpha1 - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT diff --git a/java-confidentialcomputing/google-cloud-confidentialcomputing/pom.xml b/java-confidentialcomputing/google-cloud-confidentialcomputing/pom.xml index b656337e7ef9..6f6f958fabc7 100644 --- a/java-confidentialcomputing/google-cloud-confidentialcomputing/pom.xml +++ b/java-confidentialcomputing/google-cloud-confidentialcomputing/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-confidentialcomputing - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT jar Google Confidential Computing API Confidential Computing API Protect data in-use with Confidential VMs, Confidential GKE, Confidential Dataproc, and Confidential Space. com.google.cloud google-cloud-confidentialcomputing-parent - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT google-cloud-confidentialcomputing diff --git a/java-confidentialcomputing/google-cloud-confidentialcomputing/src/main/java/com/google/cloud/confidentialcomputing/v1/stub/Version.java b/java-confidentialcomputing/google-cloud-confidentialcomputing/src/main/java/com/google/cloud/confidentialcomputing/v1/stub/Version.java index bf064282555f..70443763dbfa 100644 --- a/java-confidentialcomputing/google-cloud-confidentialcomputing/src/main/java/com/google/cloud/confidentialcomputing/v1/stub/Version.java +++ b/java-confidentialcomputing/google-cloud-confidentialcomputing/src/main/java/com/google/cloud/confidentialcomputing/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-confidentialcomputing:current} - static final String VERSION = "0.81.0-SNAPSHOT"; + static final String VERSION = "0.82.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-confidentialcomputing/google-cloud-confidentialcomputing/src/main/java/com/google/cloud/confidentialcomputing/v1alpha1/stub/Version.java b/java-confidentialcomputing/google-cloud-confidentialcomputing/src/main/java/com/google/cloud/confidentialcomputing/v1alpha1/stub/Version.java index 7732270f0c87..21a9ff44ac69 100644 --- a/java-confidentialcomputing/google-cloud-confidentialcomputing/src/main/java/com/google/cloud/confidentialcomputing/v1alpha1/stub/Version.java +++ b/java-confidentialcomputing/google-cloud-confidentialcomputing/src/main/java/com/google/cloud/confidentialcomputing/v1alpha1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-confidentialcomputing:current} - static final String VERSION = "0.81.0-SNAPSHOT"; + static final String VERSION = "0.82.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-confidentialcomputing/grpc-google-cloud-confidentialcomputing-v1/pom.xml b/java-confidentialcomputing/grpc-google-cloud-confidentialcomputing-v1/pom.xml index 151d5aba4897..ce4916f3bb7a 100644 --- a/java-confidentialcomputing/grpc-google-cloud-confidentialcomputing-v1/pom.xml +++ b/java-confidentialcomputing/grpc-google-cloud-confidentialcomputing-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-confidentialcomputing-v1 - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT grpc-google-cloud-confidentialcomputing-v1 GRPC library for google-cloud-confidentialcomputing com.google.cloud google-cloud-confidentialcomputing-parent - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT diff --git a/java-confidentialcomputing/grpc-google-cloud-confidentialcomputing-v1alpha1/pom.xml b/java-confidentialcomputing/grpc-google-cloud-confidentialcomputing-v1alpha1/pom.xml index b655ea87e8a6..fc8cae308566 100644 --- a/java-confidentialcomputing/grpc-google-cloud-confidentialcomputing-v1alpha1/pom.xml +++ b/java-confidentialcomputing/grpc-google-cloud-confidentialcomputing-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-confidentialcomputing-v1alpha1 - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT grpc-google-cloud-confidentialcomputing-v1alpha1 GRPC library for google-cloud-confidentialcomputing com.google.cloud google-cloud-confidentialcomputing-parent - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT diff --git a/java-confidentialcomputing/pom.xml b/java-confidentialcomputing/pom.xml index 5287911402c1..4c43d2824d8d 100644 --- a/java-confidentialcomputing/pom.xml +++ b/java-confidentialcomputing/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-confidentialcomputing-parent pom - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT Google Confidential Computing API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-confidentialcomputing - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-confidentialcomputing-v1 - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-confidentialcomputing-v1alpha1 - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT com.google.api.grpc proto-google-cloud-confidentialcomputing-v1 - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT com.google.api.grpc proto-google-cloud-confidentialcomputing-v1alpha1 - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT diff --git a/java-confidentialcomputing/proto-google-cloud-confidentialcomputing-v1/pom.xml b/java-confidentialcomputing/proto-google-cloud-confidentialcomputing-v1/pom.xml index d2cd1ffaaaba..e31a2afcc72b 100644 --- a/java-confidentialcomputing/proto-google-cloud-confidentialcomputing-v1/pom.xml +++ b/java-confidentialcomputing/proto-google-cloud-confidentialcomputing-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-confidentialcomputing-v1 - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT proto-google-cloud-confidentialcomputing-v1 Proto library for google-cloud-confidentialcomputing com.google.cloud google-cloud-confidentialcomputing-parent - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT diff --git a/java-confidentialcomputing/proto-google-cloud-confidentialcomputing-v1alpha1/pom.xml b/java-confidentialcomputing/proto-google-cloud-confidentialcomputing-v1alpha1/pom.xml index d2149d77c307..f5998b47ff05 100644 --- a/java-confidentialcomputing/proto-google-cloud-confidentialcomputing-v1alpha1/pom.xml +++ b/java-confidentialcomputing/proto-google-cloud-confidentialcomputing-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-confidentialcomputing-v1alpha1 - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT proto-google-cloud-confidentialcomputing-v1alpha1 Proto library for google-cloud-confidentialcomputing com.google.cloud google-cloud-confidentialcomputing-parent - 0.81.0-SNAPSHOT + 0.82.0-SNAPSHOT diff --git a/java-configdelivery/google-cloud-configdelivery-bom/pom.xml b/java-configdelivery/google-cloud-configdelivery-bom/pom.xml index 6f05899719e3..87e3e963f8f5 100644 --- a/java-configdelivery/google-cloud-configdelivery-bom/pom.xml +++ b/java-configdelivery/google-cloud-configdelivery-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-configdelivery-bom - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.cloud google-cloud-configdelivery - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-configdelivery-v1beta - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-configdelivery-v1 - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc proto-google-cloud-configdelivery-v1beta - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc proto-google-cloud-configdelivery-v1 - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT diff --git a/java-configdelivery/google-cloud-configdelivery/pom.xml b/java-configdelivery/google-cloud-configdelivery/pom.xml index 7b8e361a83be..7c424434b5f1 100644 --- a/java-configdelivery/google-cloud-configdelivery/pom.xml +++ b/java-configdelivery/google-cloud-configdelivery/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-configdelivery - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT jar Google Config Delivery API Config Delivery API ConfigDelivery service manages the deployment of kubernetes configuration to a fleet of kubernetes clusters. com.google.cloud google-cloud-configdelivery-parent - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT google-cloud-configdelivery diff --git a/java-configdelivery/google-cloud-configdelivery/src/main/java/com/google/cloud/configdelivery/v1/stub/Version.java b/java-configdelivery/google-cloud-configdelivery/src/main/java/com/google/cloud/configdelivery/v1/stub/Version.java index 2a95754ce41c..2a8ab2da6dcd 100644 --- a/java-configdelivery/google-cloud-configdelivery/src/main/java/com/google/cloud/configdelivery/v1/stub/Version.java +++ b/java-configdelivery/google-cloud-configdelivery/src/main/java/com/google/cloud/configdelivery/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-configdelivery:current} - static final String VERSION = "0.29.0-SNAPSHOT"; + static final String VERSION = "0.30.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-configdelivery/google-cloud-configdelivery/src/main/java/com/google/cloud/configdelivery/v1beta/stub/Version.java b/java-configdelivery/google-cloud-configdelivery/src/main/java/com/google/cloud/configdelivery/v1beta/stub/Version.java index 76fea613a67d..68e9fe83d7e8 100644 --- a/java-configdelivery/google-cloud-configdelivery/src/main/java/com/google/cloud/configdelivery/v1beta/stub/Version.java +++ b/java-configdelivery/google-cloud-configdelivery/src/main/java/com/google/cloud/configdelivery/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-configdelivery:current} - static final String VERSION = "0.29.0-SNAPSHOT"; + static final String VERSION = "0.30.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-configdelivery/grpc-google-cloud-configdelivery-v1/pom.xml b/java-configdelivery/grpc-google-cloud-configdelivery-v1/pom.xml index 56ae80b00d56..ac4b14e9cded 100644 --- a/java-configdelivery/grpc-google-cloud-configdelivery-v1/pom.xml +++ b/java-configdelivery/grpc-google-cloud-configdelivery-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-configdelivery-v1 - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT grpc-google-cloud-configdelivery-v1 GRPC library for google-cloud-configdelivery com.google.cloud google-cloud-configdelivery-parent - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT diff --git a/java-configdelivery/grpc-google-cloud-configdelivery-v1beta/pom.xml b/java-configdelivery/grpc-google-cloud-configdelivery-v1beta/pom.xml index eed8f7a63d36..6bd243786c6b 100644 --- a/java-configdelivery/grpc-google-cloud-configdelivery-v1beta/pom.xml +++ b/java-configdelivery/grpc-google-cloud-configdelivery-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-configdelivery-v1beta - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT grpc-google-cloud-configdelivery-v1beta GRPC library for google-cloud-configdelivery com.google.cloud google-cloud-configdelivery-parent - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT diff --git a/java-configdelivery/pom.xml b/java-configdelivery/pom.xml index 458ddef30891..262bcb742485 100644 --- a/java-configdelivery/pom.xml +++ b/java-configdelivery/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-configdelivery-parent pom - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT Google Config Delivery API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-configdelivery - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc proto-google-cloud-configdelivery-v1 - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-configdelivery-v1 - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-configdelivery-v1beta - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc proto-google-cloud-configdelivery-v1beta - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT diff --git a/java-configdelivery/proto-google-cloud-configdelivery-v1/pom.xml b/java-configdelivery/proto-google-cloud-configdelivery-v1/pom.xml index 7c58e242d0b3..493fd246920a 100644 --- a/java-configdelivery/proto-google-cloud-configdelivery-v1/pom.xml +++ b/java-configdelivery/proto-google-cloud-configdelivery-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-configdelivery-v1 - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT proto-google-cloud-configdelivery-v1 Proto library for google-cloud-configdelivery com.google.cloud google-cloud-configdelivery-parent - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT diff --git a/java-configdelivery/proto-google-cloud-configdelivery-v1beta/pom.xml b/java-configdelivery/proto-google-cloud-configdelivery-v1beta/pom.xml index 6de2e1c6d3a5..559bde1300fb 100644 --- a/java-configdelivery/proto-google-cloud-configdelivery-v1beta/pom.xml +++ b/java-configdelivery/proto-google-cloud-configdelivery-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-configdelivery-v1beta - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT proto-google-cloud-configdelivery-v1beta Proto library for google-cloud-configdelivery com.google.cloud google-cloud-configdelivery-parent - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT diff --git a/java-connectgateway/google-cloud-connectgateway-bom/pom.xml b/java-connectgateway/google-cloud-connectgateway-bom/pom.xml index ea619d56d18b..3543c8c21eab 100644 --- a/java-connectgateway/google-cloud-connectgateway-bom/pom.xml +++ b/java-connectgateway/google-cloud-connectgateway-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-connectgateway-bom - 0.47.0-SNAPSHOT + 0.48.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,12 +27,12 @@ com.google.cloud google-cloud-connectgateway - 0.47.0-SNAPSHOT + 0.48.0-SNAPSHOT com.google.api.grpc proto-google-cloud-connectgateway-v1 - 0.47.0-SNAPSHOT + 0.48.0-SNAPSHOT diff --git a/java-connectgateway/google-cloud-connectgateway/pom.xml b/java-connectgateway/google-cloud-connectgateway/pom.xml index 1351b85cba4d..d01ace2aba83 100644 --- a/java-connectgateway/google-cloud-connectgateway/pom.xml +++ b/java-connectgateway/google-cloud-connectgateway/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-connectgateway - 0.47.0-SNAPSHOT + 0.48.0-SNAPSHOT jar Google Connect Gateway API Connect Gateway API The Connect Gateway service allows connectivity from external parties to connected Kubernetes clusters. com.google.cloud google-cloud-connectgateway-parent - 0.47.0-SNAPSHOT + 0.48.0-SNAPSHOT google-cloud-connectgateway diff --git a/java-connectgateway/google-cloud-connectgateway/src/main/java/com/google/cloud/gkeconnect/gateway/v1/stub/Version.java b/java-connectgateway/google-cloud-connectgateway/src/main/java/com/google/cloud/gkeconnect/gateway/v1/stub/Version.java index 5d2586856146..7ea4b425a48e 100644 --- a/java-connectgateway/google-cloud-connectgateway/src/main/java/com/google/cloud/gkeconnect/gateway/v1/stub/Version.java +++ b/java-connectgateway/google-cloud-connectgateway/src/main/java/com/google/cloud/gkeconnect/gateway/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-connectgateway:current} - static final String VERSION = "0.47.0-SNAPSHOT"; + static final String VERSION = "0.48.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-connectgateway/pom.xml b/java-connectgateway/pom.xml index 792e99592f88..ebe2e4aa157d 100644 --- a/java-connectgateway/pom.xml +++ b/java-connectgateway/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-connectgateway-parent pom - 0.47.0-SNAPSHOT + 0.48.0-SNAPSHOT Google Connect Gateway API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,12 +30,12 @@ com.google.cloud google-cloud-connectgateway - 0.47.0-SNAPSHOT + 0.48.0-SNAPSHOT com.google.api.grpc proto-google-cloud-connectgateway-v1 - 0.47.0-SNAPSHOT + 0.48.0-SNAPSHOT diff --git a/java-connectgateway/proto-google-cloud-connectgateway-v1/pom.xml b/java-connectgateway/proto-google-cloud-connectgateway-v1/pom.xml index 64fc54f83e2d..1743081ae8ff 100644 --- a/java-connectgateway/proto-google-cloud-connectgateway-v1/pom.xml +++ b/java-connectgateway/proto-google-cloud-connectgateway-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-connectgateway-v1 - 0.47.0-SNAPSHOT + 0.48.0-SNAPSHOT proto-google-cloud-connectgateway-v1 Proto library for google-cloud-connectgateway com.google.cloud google-cloud-connectgateway-parent - 0.47.0-SNAPSHOT + 0.48.0-SNAPSHOT diff --git a/java-contact-center-insights/google-cloud-contact-center-insights-bom/pom.xml b/java-contact-center-insights/google-cloud-contact-center-insights-bom/pom.xml index 74572a849cf3..9081d1a302f6 100644 --- a/java-contact-center-insights/google-cloud-contact-center-insights-bom/pom.xml +++ b/java-contact-center-insights/google-cloud-contact-center-insights-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-contact-center-insights-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-contact-center-insights - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-contact-center-insights-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-contact-center-insights-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-contact-center-insights/google-cloud-contact-center-insights/pom.xml b/java-contact-center-insights/google-cloud-contact-center-insights/pom.xml index 677d6ce22c0a..c77e5c989265 100644 --- a/java-contact-center-insights/google-cloud-contact-center-insights/pom.xml +++ b/java-contact-center-insights/google-cloud-contact-center-insights/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-contact-center-insights - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google CCAI Insights CCAI Insights helps users detect and visualize patterns in their contact center data. com.google.cloud google-cloud-contact-center-insights-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-contact-center-insights diff --git a/java-contact-center-insights/google-cloud-contact-center-insights/src/main/java/com/google/cloud/contactcenterinsights/v1/stub/Version.java b/java-contact-center-insights/google-cloud-contact-center-insights/src/main/java/com/google/cloud/contactcenterinsights/v1/stub/Version.java index 7ac22ecc1d2a..bd19ed38815c 100644 --- a/java-contact-center-insights/google-cloud-contact-center-insights/src/main/java/com/google/cloud/contactcenterinsights/v1/stub/Version.java +++ b/java-contact-center-insights/google-cloud-contact-center-insights/src/main/java/com/google/cloud/contactcenterinsights/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-contact-center-insights:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-contact-center-insights/grpc-google-cloud-contact-center-insights-v1/pom.xml b/java-contact-center-insights/grpc-google-cloud-contact-center-insights-v1/pom.xml index 2297a64c3bad..01dee11e29a1 100644 --- a/java-contact-center-insights/grpc-google-cloud-contact-center-insights-v1/pom.xml +++ b/java-contact-center-insights/grpc-google-cloud-contact-center-insights-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-contact-center-insights-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-contact-center-insights-v1 GRPC library for google-cloud-contact-center-insights com.google.cloud google-cloud-contact-center-insights-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-contact-center-insights/pom.xml b/java-contact-center-insights/pom.xml index 8b137fa8d5d2..2c76ff87da32 100644 --- a/java-contact-center-insights/pom.xml +++ b/java-contact-center-insights/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-contact-center-insights-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google CCAI Insights Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-contact-center-insights - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-contact-center-insights-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-contact-center-insights-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-contact-center-insights/proto-google-cloud-contact-center-insights-v1/pom.xml b/java-contact-center-insights/proto-google-cloud-contact-center-insights-v1/pom.xml index 75ba74a0ea63..0874b36842ff 100644 --- a/java-contact-center-insights/proto-google-cloud-contact-center-insights-v1/pom.xml +++ b/java-contact-center-insights/proto-google-cloud-contact-center-insights-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-contact-center-insights-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-contact-center-insights-v1 Proto library for google-cloud-contact-center-insights com.google.cloud google-cloud-contact-center-insights-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-container/google-cloud-container-bom/pom.xml b/java-container/google-cloud-container-bom/pom.xml index 3e61b517fa39..b00cef1ed362 100644 --- a/java-container/google-cloud-container-bom/pom.xml +++ b/java-container/google-cloud-container-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-container-bom - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-container - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-container-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-container-v1beta1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-container-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-container-v1beta1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-container/google-cloud-container/pom.xml b/java-container/google-cloud-container/pom.xml index d3637f341450..87b7297ce3d3 100644 --- a/java-container/google-cloud-container/pom.xml +++ b/java-container/google-cloud-container/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-container - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT jar Google Cloud Container Java idiomatic client for Google Cloud Container com.google.cloud google-cloud-container-parent - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT google-cloud-container diff --git a/java-container/google-cloud-container/src/main/java/com/google/cloud/container/v1/stub/Version.java b/java-container/google-cloud-container/src/main/java/com/google/cloud/container/v1/stub/Version.java index b30600f2b16c..b86cac985ff9 100644 --- a/java-container/google-cloud-container/src/main/java/com/google/cloud/container/v1/stub/Version.java +++ b/java-container/google-cloud-container/src/main/java/com/google/cloud/container/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-container:current} - static final String VERSION = "2.98.0-SNAPSHOT"; + static final String VERSION = "2.99.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-container/google-cloud-container/src/main/java/com/google/cloud/container/v1beta1/stub/Version.java b/java-container/google-cloud-container/src/main/java/com/google/cloud/container/v1beta1/stub/Version.java index 3523a1ce433a..ad96fd95063b 100644 --- a/java-container/google-cloud-container/src/main/java/com/google/cloud/container/v1beta1/stub/Version.java +++ b/java-container/google-cloud-container/src/main/java/com/google/cloud/container/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-container:current} - static final String VERSION = "2.98.0-SNAPSHOT"; + static final String VERSION = "2.99.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-container/grpc-google-cloud-container-v1/pom.xml b/java-container/grpc-google-cloud-container-v1/pom.xml index cf085c19bd99..7602075bdf64 100644 --- a/java-container/grpc-google-cloud-container-v1/pom.xml +++ b/java-container/grpc-google-cloud-container-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-container-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT grpc-google-cloud-container-v1 GRPC library for grpc-google-cloud-container-v1 com.google.cloud google-cloud-container-parent - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-container/grpc-google-cloud-container-v1beta1/pom.xml b/java-container/grpc-google-cloud-container-v1beta1/pom.xml index e61427189d50..a77f88940193 100644 --- a/java-container/grpc-google-cloud-container-v1beta1/pom.xml +++ b/java-container/grpc-google-cloud-container-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-container-v1beta1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT grpc-google-cloud-container-v1beta1 GRPC library for google-cloud-container com.google.cloud google-cloud-container-parent - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-container/pom.xml b/java-container/pom.xml index 667831238354..c12e0269229b 100644 --- a/java-container/pom.xml +++ b/java-container/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-container-parent pom - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT Google Cloud Container Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-container-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-container-v1beta1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-container-v1beta1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-container-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.cloud google-cloud-container - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-container/proto-google-cloud-container-v1/pom.xml b/java-container/proto-google-cloud-container-v1/pom.xml index 54422495eb1c..2eb7a1634c2d 100644 --- a/java-container/proto-google-cloud-container-v1/pom.xml +++ b/java-container/proto-google-cloud-container-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-container-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT proto-google-cloud-container-v1 PROTO library for proto-google-cloud-container-v1 com.google.cloud google-cloud-container-parent - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-container/proto-google-cloud-container-v1beta1/pom.xml b/java-container/proto-google-cloud-container-v1beta1/pom.xml index 1540df6ffd86..4ecfa865ea96 100644 --- a/java-container/proto-google-cloud-container-v1beta1/pom.xml +++ b/java-container/proto-google-cloud-container-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-container-v1beta1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT proto-google-cloud-container-v1beta1 Proto library for google-cloud-container com.google.cloud google-cloud-container-parent - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-containeranalysis/google-cloud-containeranalysis-bom/pom.xml b/java-containeranalysis/google-cloud-containeranalysis-bom/pom.xml index 3ae9355a9493..e63efe182ed2 100644 --- a/java-containeranalysis/google-cloud-containeranalysis-bom/pom.xml +++ b/java-containeranalysis/google-cloud-containeranalysis-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-containeranalysis-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-containeranalysis - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-containeranalysis-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-containeranalysis-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-containeranalysis-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-containeranalysis-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-containeranalysis/google-cloud-containeranalysis/pom.xml b/java-containeranalysis/google-cloud-containeranalysis/pom.xml index c03702a0aaaf..702057de3ce6 100644 --- a/java-containeranalysis/google-cloud-containeranalysis/pom.xml +++ b/java-containeranalysis/google-cloud-containeranalysis/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-containeranalysis - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT jar Google Cloud Container Analysis Java idiomatic client for Google Cloud Container Analysis com.google.cloud google-cloud-containeranalysis-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT google-cloud-containeranalysis diff --git a/java-containeranalysis/google-cloud-containeranalysis/src/main/java/com/google/cloud/devtools/containeranalysis/v1/stub/Version.java b/java-containeranalysis/google-cloud-containeranalysis/src/main/java/com/google/cloud/devtools/containeranalysis/v1/stub/Version.java index 3871d4ecddf6..cbbc74db2f2a 100644 --- a/java-containeranalysis/google-cloud-containeranalysis/src/main/java/com/google/cloud/devtools/containeranalysis/v1/stub/Version.java +++ b/java-containeranalysis/google-cloud-containeranalysis/src/main/java/com/google/cloud/devtools/containeranalysis/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-containeranalysis:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-containeranalysis/google-cloud-containeranalysis/src/main/java/com/google/cloud/devtools/containeranalysis/v1beta1/stub/Version.java b/java-containeranalysis/google-cloud-containeranalysis/src/main/java/com/google/cloud/devtools/containeranalysis/v1beta1/stub/Version.java index 266fa0557ed7..1489c61a9cfa 100644 --- a/java-containeranalysis/google-cloud-containeranalysis/src/main/java/com/google/cloud/devtools/containeranalysis/v1beta1/stub/Version.java +++ b/java-containeranalysis/google-cloud-containeranalysis/src/main/java/com/google/cloud/devtools/containeranalysis/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-containeranalysis:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-containeranalysis/grpc-google-cloud-containeranalysis-v1/pom.xml b/java-containeranalysis/grpc-google-cloud-containeranalysis-v1/pom.xml index 4ec91346769e..dd7a4002d93d 100644 --- a/java-containeranalysis/grpc-google-cloud-containeranalysis-v1/pom.xml +++ b/java-containeranalysis/grpc-google-cloud-containeranalysis-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-containeranalysis-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-containeranalysis-v1 GRPC library for grpc-google-cloud-containeranalysis-v1 com.google.cloud google-cloud-containeranalysis-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-containeranalysis/grpc-google-cloud-containeranalysis-v1beta1/pom.xml b/java-containeranalysis/grpc-google-cloud-containeranalysis-v1beta1/pom.xml index 2ea3a4bce190..5ff471f2aee4 100644 --- a/java-containeranalysis/grpc-google-cloud-containeranalysis-v1beta1/pom.xml +++ b/java-containeranalysis/grpc-google-cloud-containeranalysis-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-containeranalysis-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-containeranalysis-v1beta1 GRPC library for grpc-google-cloud-containeranalysis-v1beta1 com.google.cloud google-cloud-containeranalysis-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-containeranalysis/pom.xml b/java-containeranalysis/pom.xml index 89eb9f288c1b..639c56dcf3d0 100644 --- a/java-containeranalysis/pom.xml +++ b/java-containeranalysis/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-containeranalysis-parent pom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT Google Cloud Container Analysis Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,34 +30,34 @@ com.google.api.grpc proto-google-cloud-containeranalysis-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-containeranalysis-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-containeranalysis-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-containeranalysis-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.cloud google-cloud-containeranalysis - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT io.grafeas grafeas - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-containeranalysis/proto-google-cloud-containeranalysis-v1/pom.xml b/java-containeranalysis/proto-google-cloud-containeranalysis-v1/pom.xml index 010958debf32..df63df1dc063 100644 --- a/java-containeranalysis/proto-google-cloud-containeranalysis-v1/pom.xml +++ b/java-containeranalysis/proto-google-cloud-containeranalysis-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-containeranalysis-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-containeranalysis-v1 PROTO library for proto-google-cloud-containeranalysis-v1 com.google.cloud google-cloud-containeranalysis-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-containeranalysis/proto-google-cloud-containeranalysis-v1beta1/pom.xml b/java-containeranalysis/proto-google-cloud-containeranalysis-v1beta1/pom.xml index 04df2cafa010..3e7dc87924e5 100644 --- a/java-containeranalysis/proto-google-cloud-containeranalysis-v1beta1/pom.xml +++ b/java-containeranalysis/proto-google-cloud-containeranalysis-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-containeranalysis-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-containeranalysis-v1beta1 PROTO library for proto-google-cloud-containeranalysis-v1beta1 com.google.cloud google-cloud-containeranalysis-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-contentwarehouse/google-cloud-contentwarehouse-bom/pom.xml b/java-contentwarehouse/google-cloud-contentwarehouse-bom/pom.xml index d396b095dc27..c3a599da2b1a 100644 --- a/java-contentwarehouse/google-cloud-contentwarehouse-bom/pom.xml +++ b/java-contentwarehouse/google-cloud-contentwarehouse-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-contentwarehouse-bom - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-contentwarehouse - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-contentwarehouse-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc proto-google-cloud-contentwarehouse-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT diff --git a/java-contentwarehouse/google-cloud-contentwarehouse/pom.xml b/java-contentwarehouse/google-cloud-contentwarehouse/pom.xml index 328f5a76c0ef..1ce7ea54dc21 100644 --- a/java-contentwarehouse/google-cloud-contentwarehouse/pom.xml +++ b/java-contentwarehouse/google-cloud-contentwarehouse/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-contentwarehouse - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT jar Google Document AI Warehouse Document AI Warehouse Document AI Warehouse is an integrated cloud-native GCP platform to store, search, organize, govern and analyze documents and their structured metadata. com.google.cloud google-cloud-contentwarehouse-parent - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT google-cloud-contentwarehouse diff --git a/java-contentwarehouse/google-cloud-contentwarehouse/src/main/java/com/google/cloud/contentwarehouse/v1/stub/Version.java b/java-contentwarehouse/google-cloud-contentwarehouse/src/main/java/com/google/cloud/contentwarehouse/v1/stub/Version.java index 69b65fd9f898..00d778abc808 100644 --- a/java-contentwarehouse/google-cloud-contentwarehouse/src/main/java/com/google/cloud/contentwarehouse/v1/stub/Version.java +++ b/java-contentwarehouse/google-cloud-contentwarehouse/src/main/java/com/google/cloud/contentwarehouse/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-contentwarehouse:current} - static final String VERSION = "0.91.0-SNAPSHOT"; + static final String VERSION = "0.92.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-contentwarehouse/grpc-google-cloud-contentwarehouse-v1/pom.xml b/java-contentwarehouse/grpc-google-cloud-contentwarehouse-v1/pom.xml index 679c2ef2067f..de1b08a444e7 100644 --- a/java-contentwarehouse/grpc-google-cloud-contentwarehouse-v1/pom.xml +++ b/java-contentwarehouse/grpc-google-cloud-contentwarehouse-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-contentwarehouse-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT grpc-google-cloud-contentwarehouse-v1 GRPC library for google-cloud-contentwarehouse com.google.cloud google-cloud-contentwarehouse-parent - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT diff --git a/java-contentwarehouse/pom.xml b/java-contentwarehouse/pom.xml index 921ac13306b8..543aba7dbf92 100644 --- a/java-contentwarehouse/pom.xml +++ b/java-contentwarehouse/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-contentwarehouse-parent pom - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT Google Document AI Warehouse Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-contentwarehouse - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-contentwarehouse-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc proto-google-cloud-contentwarehouse-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT @@ -50,7 +50,7 @@ com.google.cloud google-cloud-document-ai - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT diff --git a/java-contentwarehouse/proto-google-cloud-contentwarehouse-v1/pom.xml b/java-contentwarehouse/proto-google-cloud-contentwarehouse-v1/pom.xml index 4ac8d16c6454..3e46cd4d5710 100644 --- a/java-contentwarehouse/proto-google-cloud-contentwarehouse-v1/pom.xml +++ b/java-contentwarehouse/proto-google-cloud-contentwarehouse-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-contentwarehouse-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT proto-google-cloud-contentwarehouse-v1 Proto library for google-cloud-contentwarehouse com.google.cloud google-cloud-contentwarehouse-parent - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT diff --git a/java-data-fusion/google-cloud-data-fusion-bom/pom.xml b/java-data-fusion/google-cloud-data-fusion-bom/pom.xml index acc2c672ea37..413713577403 100644 --- a/java-data-fusion/google-cloud-data-fusion-bom/pom.xml +++ b/java-data-fusion/google-cloud-data-fusion-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-data-fusion-bom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-data-fusion - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-data-fusion-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-data-fusion-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-data-fusion-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-data-fusion-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-data-fusion/google-cloud-data-fusion/pom.xml b/java-data-fusion/google-cloud-data-fusion/pom.xml index 1fb7e4245be9..6d5da1e694f3 100644 --- a/java-data-fusion/google-cloud-data-fusion/pom.xml +++ b/java-data-fusion/google-cloud-data-fusion/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-data-fusion - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT jar Google Cloud Data Fusion Cloud Data Fusion is a fully managed, cloud-native, enterprise data integration service for quickly building and managing data pipelines. com.google.cloud google-cloud-data-fusion-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT google-cloud-data-fusion diff --git a/java-data-fusion/google-cloud-data-fusion/src/main/java/com/google/cloud/datafusion/v1/stub/Version.java b/java-data-fusion/google-cloud-data-fusion/src/main/java/com/google/cloud/datafusion/v1/stub/Version.java index 8d0ee363036f..e626779a2fe3 100644 --- a/java-data-fusion/google-cloud-data-fusion/src/main/java/com/google/cloud/datafusion/v1/stub/Version.java +++ b/java-data-fusion/google-cloud-data-fusion/src/main/java/com/google/cloud/datafusion/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-data-fusion:current} - static final String VERSION = "1.95.0-SNAPSHOT"; + static final String VERSION = "1.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-data-fusion/google-cloud-data-fusion/src/main/java/com/google/cloud/datafusion/v1beta1/stub/Version.java b/java-data-fusion/google-cloud-data-fusion/src/main/java/com/google/cloud/datafusion/v1beta1/stub/Version.java index 09ca87b54394..15b18c60cde2 100644 --- a/java-data-fusion/google-cloud-data-fusion/src/main/java/com/google/cloud/datafusion/v1beta1/stub/Version.java +++ b/java-data-fusion/google-cloud-data-fusion/src/main/java/com/google/cloud/datafusion/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-data-fusion:current} - static final String VERSION = "1.95.0-SNAPSHOT"; + static final String VERSION = "1.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-data-fusion/grpc-google-cloud-data-fusion-v1/pom.xml b/java-data-fusion/grpc-google-cloud-data-fusion-v1/pom.xml index cffde428b58d..36e87968a783 100644 --- a/java-data-fusion/grpc-google-cloud-data-fusion-v1/pom.xml +++ b/java-data-fusion/grpc-google-cloud-data-fusion-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-data-fusion-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT grpc-google-cloud-data-fusion-v1 GRPC library for google-cloud-data-fusion com.google.cloud google-cloud-data-fusion-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-data-fusion/grpc-google-cloud-data-fusion-v1beta1/pom.xml b/java-data-fusion/grpc-google-cloud-data-fusion-v1beta1/pom.xml index dab268e54435..661b39e54606 100644 --- a/java-data-fusion/grpc-google-cloud-data-fusion-v1beta1/pom.xml +++ b/java-data-fusion/grpc-google-cloud-data-fusion-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-data-fusion-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT grpc-google-cloud-data-fusion-v1beta1 GRPC library for google-cloud-data-fusion com.google.cloud google-cloud-data-fusion-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-data-fusion/pom.xml b/java-data-fusion/pom.xml index 99a54c132e20..8a9f347fc0d9 100644 --- a/java-data-fusion/pom.xml +++ b/java-data-fusion/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-data-fusion-parent pom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT Google Cloud Data Fusion Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-data-fusion - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-data-fusion-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-data-fusion-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-data-fusion-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-data-fusion-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-data-fusion/proto-google-cloud-data-fusion-v1/pom.xml b/java-data-fusion/proto-google-cloud-data-fusion-v1/pom.xml index bf2072a2e2a0..73b0c5a75565 100644 --- a/java-data-fusion/proto-google-cloud-data-fusion-v1/pom.xml +++ b/java-data-fusion/proto-google-cloud-data-fusion-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-data-fusion-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT proto-google-cloud-data-fusion-v1 Proto library for google-cloud-data-fusion com.google.cloud google-cloud-data-fusion-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-data-fusion/proto-google-cloud-data-fusion-v1beta1/pom.xml b/java-data-fusion/proto-google-cloud-data-fusion-v1beta1/pom.xml index 096dc2fe1baa..2f62855521f2 100644 --- a/java-data-fusion/proto-google-cloud-data-fusion-v1beta1/pom.xml +++ b/java-data-fusion/proto-google-cloud-data-fusion-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-data-fusion-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT proto-google-cloud-data-fusion-v1beta1 Proto library for google-cloud-data-fusion com.google.cloud google-cloud-data-fusion-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-databasecenter/google-cloud-databasecenter-bom/pom.xml b/java-databasecenter/google-cloud-databasecenter-bom/pom.xml index 3719edb5585e..11b52dd57b18 100644 --- a/java-databasecenter/google-cloud-databasecenter-bom/pom.xml +++ b/java-databasecenter/google-cloud-databasecenter-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-databasecenter-bom - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-databasecenter - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-databasecenter-v1beta - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT com.google.api.grpc proto-google-cloud-databasecenter-v1beta - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT diff --git a/java-databasecenter/google-cloud-databasecenter/pom.xml b/java-databasecenter/google-cloud-databasecenter/pom.xml index 45a4e591eee0..59767df8e0cb 100644 --- a/java-databasecenter/google-cloud-databasecenter/pom.xml +++ b/java-databasecenter/google-cloud-databasecenter/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-databasecenter - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT jar Google Database Center API Database Center API Database Center provides an organization-wide, cross-product fleet health platform to eliminate the overhead, complexity, and risk associated with aggregating and summarizing health signals through custom dashboards. Through Database Center’s fleet health dashboard and API, database platform teams that are responsible for reliability, compliance, security, cost, and administration of database fleets will now have a single pane of glass that pinpoints issues relevant to each team. com.google.cloud google-cloud-databasecenter-parent - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT google-cloud-databasecenter diff --git a/java-databasecenter/google-cloud-databasecenter/src/main/java/com/google/cloud/databasecenter/v1beta/stub/Version.java b/java-databasecenter/google-cloud-databasecenter/src/main/java/com/google/cloud/databasecenter/v1beta/stub/Version.java index 5d69cc42465d..9207e907d12e 100644 --- a/java-databasecenter/google-cloud-databasecenter/src/main/java/com/google/cloud/databasecenter/v1beta/stub/Version.java +++ b/java-databasecenter/google-cloud-databasecenter/src/main/java/com/google/cloud/databasecenter/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-databasecenter:current} - static final String VERSION = "0.16.0-SNAPSHOT"; + static final String VERSION = "0.17.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-databasecenter/grpc-google-cloud-databasecenter-v1beta/pom.xml b/java-databasecenter/grpc-google-cloud-databasecenter-v1beta/pom.xml index 9a99bf395f20..9f0e157107ab 100644 --- a/java-databasecenter/grpc-google-cloud-databasecenter-v1beta/pom.xml +++ b/java-databasecenter/grpc-google-cloud-databasecenter-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-databasecenter-v1beta - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT grpc-google-cloud-databasecenter-v1beta GRPC library for google-cloud-databasecenter com.google.cloud google-cloud-databasecenter-parent - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT diff --git a/java-databasecenter/pom.xml b/java-databasecenter/pom.xml index 4ed89d452241..1da2399291b2 100644 --- a/java-databasecenter/pom.xml +++ b/java-databasecenter/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-databasecenter-parent pom - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT Google Database Center API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-databasecenter - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-databasecenter-v1beta - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT com.google.api.grpc proto-google-cloud-databasecenter-v1beta - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT diff --git a/java-databasecenter/proto-google-cloud-databasecenter-v1beta/pom.xml b/java-databasecenter/proto-google-cloud-databasecenter-v1beta/pom.xml index 40eee394d22f..22a08bbfef19 100644 --- a/java-databasecenter/proto-google-cloud-databasecenter-v1beta/pom.xml +++ b/java-databasecenter/proto-google-cloud-databasecenter-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-databasecenter-v1beta - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT proto-google-cloud-databasecenter-v1beta Proto library for google-cloud-databasecenter com.google.cloud google-cloud-databasecenter-parent - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT diff --git a/java-datacatalog/google-cloud-datacatalog-bom/pom.xml b/java-datacatalog/google-cloud-datacatalog-bom/pom.xml index 96b4a604f5eb..b898e1668200 100644 --- a/java-datacatalog/google-cloud-datacatalog-bom/pom.xml +++ b/java-datacatalog/google-cloud-datacatalog-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-datacatalog-bom - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-datacatalog - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datacatalog-v1 - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datacatalog-v1beta1 - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT com.google.api.grpc proto-google-cloud-datacatalog-v1 - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT com.google.api.grpc proto-google-cloud-datacatalog-v1beta1 - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT diff --git a/java-datacatalog/google-cloud-datacatalog/pom.xml b/java-datacatalog/google-cloud-datacatalog/pom.xml index fc17570bb6fb..19e64434e1ed 100644 --- a/java-datacatalog/google-cloud-datacatalog/pom.xml +++ b/java-datacatalog/google-cloud-datacatalog/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-datacatalog - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT jar Google Cloud Data Catalog Java idiomatic client for Google Cloud Data Catalog com.google.cloud google-cloud-datacatalog-parent - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT google-cloud-datacatalog diff --git a/java-datacatalog/google-cloud-datacatalog/src/main/java/com/google/cloud/datacatalog/v1/stub/Version.java b/java-datacatalog/google-cloud-datacatalog/src/main/java/com/google/cloud/datacatalog/v1/stub/Version.java index 907e8715508c..1cca302f3a0d 100644 --- a/java-datacatalog/google-cloud-datacatalog/src/main/java/com/google/cloud/datacatalog/v1/stub/Version.java +++ b/java-datacatalog/google-cloud-datacatalog/src/main/java/com/google/cloud/datacatalog/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-datacatalog:current} - static final String VERSION = "1.101.0-SNAPSHOT"; + static final String VERSION = "1.102.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-datacatalog/google-cloud-datacatalog/src/main/java/com/google/cloud/datacatalog/v1beta1/stub/Version.java b/java-datacatalog/google-cloud-datacatalog/src/main/java/com/google/cloud/datacatalog/v1beta1/stub/Version.java index 5e84d6b580fe..e087e3feaa20 100644 --- a/java-datacatalog/google-cloud-datacatalog/src/main/java/com/google/cloud/datacatalog/v1beta1/stub/Version.java +++ b/java-datacatalog/google-cloud-datacatalog/src/main/java/com/google/cloud/datacatalog/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-datacatalog:current} - static final String VERSION = "1.101.0-SNAPSHOT"; + static final String VERSION = "1.102.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-datacatalog/grpc-google-cloud-datacatalog-v1/pom.xml b/java-datacatalog/grpc-google-cloud-datacatalog-v1/pom.xml index e2a6be2ec774..f765340d2b44 100644 --- a/java-datacatalog/grpc-google-cloud-datacatalog-v1/pom.xml +++ b/java-datacatalog/grpc-google-cloud-datacatalog-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-datacatalog-v1 - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT grpc-google-cloud-datacatalog-v1 GRPC library for grpc-google-cloud-datacatalog-v1 com.google.cloud google-cloud-datacatalog-parent - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT diff --git a/java-datacatalog/grpc-google-cloud-datacatalog-v1beta1/pom.xml b/java-datacatalog/grpc-google-cloud-datacatalog-v1beta1/pom.xml index 49b6a2b71510..f7391ab31bd5 100644 --- a/java-datacatalog/grpc-google-cloud-datacatalog-v1beta1/pom.xml +++ b/java-datacatalog/grpc-google-cloud-datacatalog-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-datacatalog-v1beta1 - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT grpc-google-cloud-datacatalog-v1beta1 GRPC library for grpc-google-cloud-datacatalog-v1beta1 com.google.cloud google-cloud-datacatalog-parent - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT diff --git a/java-datacatalog/pom.xml b/java-datacatalog/pom.xml index b7fb6fdc130e..0bf685b9d931 100644 --- a/java-datacatalog/pom.xml +++ b/java-datacatalog/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-datacatalog-parent pom - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT Google Cloud Data Catalog Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-datacatalog-v1 - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT com.google.api.grpc proto-google-cloud-datacatalog-v1beta1 - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datacatalog-v1 - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datacatalog-v1beta1 - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT com.google.cloud google-cloud-datacatalog - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT diff --git a/java-datacatalog/proto-google-cloud-datacatalog-v1/pom.xml b/java-datacatalog/proto-google-cloud-datacatalog-v1/pom.xml index 4f24b89c5322..84a4fbd21caf 100644 --- a/java-datacatalog/proto-google-cloud-datacatalog-v1/pom.xml +++ b/java-datacatalog/proto-google-cloud-datacatalog-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-datacatalog-v1 - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT proto-google-cloud-datacatalog-v1 PROTO library for proto-google-cloud-datacatalog-v1 com.google.cloud google-cloud-datacatalog-parent - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT diff --git a/java-datacatalog/proto-google-cloud-datacatalog-v1beta1/pom.xml b/java-datacatalog/proto-google-cloud-datacatalog-v1beta1/pom.xml index c1f924eef533..b565951da88a 100644 --- a/java-datacatalog/proto-google-cloud-datacatalog-v1beta1/pom.xml +++ b/java-datacatalog/proto-google-cloud-datacatalog-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-datacatalog-v1beta1 - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT proto-google-cloud-datacatalog-v1beta1 PROTO library for proto-google-cloud-datacatalog-v1beta1 com.google.cloud google-cloud-datacatalog-parent - 1.101.0-SNAPSHOT + 1.102.0-SNAPSHOT diff --git a/java-dataflow/google-cloud-dataflow-bom/pom.xml b/java-dataflow/google-cloud-dataflow-bom/pom.xml index ffbeee1ce504..b990a99a732b 100644 --- a/java-dataflow/google-cloud-dataflow-bom/pom.xml +++ b/java-dataflow/google-cloud-dataflow-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-dataflow-bom - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-dataflow - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataflow-v1beta3 - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dataflow-v1beta3 - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT diff --git a/java-dataflow/google-cloud-dataflow/pom.xml b/java-dataflow/google-cloud-dataflow/pom.xml index 107d9095ec58..05851a55055b 100644 --- a/java-dataflow/google-cloud-dataflow/pom.xml +++ b/java-dataflow/google-cloud-dataflow/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-dataflow - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT jar Google Dataflow Dataflow is a managed service for executing a wide variety of data processing patterns. com.google.cloud google-cloud-dataflow-parent - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT google-cloud-dataflow diff --git a/java-dataflow/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/Version.java b/java-dataflow/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/Version.java index 1581a5445e30..d1412dc71fcd 100644 --- a/java-dataflow/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/Version.java +++ b/java-dataflow/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-dataflow:current} - static final String VERSION = "0.99.0-SNAPSHOT"; + static final String VERSION = "0.100.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-dataflow/grpc-google-cloud-dataflow-v1beta3/pom.xml b/java-dataflow/grpc-google-cloud-dataflow-v1beta3/pom.xml index 336ac1c4d49b..95e655a999a6 100644 --- a/java-dataflow/grpc-google-cloud-dataflow-v1beta3/pom.xml +++ b/java-dataflow/grpc-google-cloud-dataflow-v1beta3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-dataflow-v1beta3 - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT grpc-google-cloud-dataflow-v1beta3 GRPC library for google-cloud-dataflow com.google.cloud google-cloud-dataflow-parent - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT diff --git a/java-dataflow/pom.xml b/java-dataflow/pom.xml index 59309191b7fa..b3c77596a25a 100644 --- a/java-dataflow/pom.xml +++ b/java-dataflow/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-dataflow-parent pom - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT Google Dataflow Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-dataflow - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataflow-v1beta3 - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dataflow-v1beta3 - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT diff --git a/java-dataflow/proto-google-cloud-dataflow-v1beta3/pom.xml b/java-dataflow/proto-google-cloud-dataflow-v1beta3/pom.xml index 76fede3166f2..017a02db56dc 100644 --- a/java-dataflow/proto-google-cloud-dataflow-v1beta3/pom.xml +++ b/java-dataflow/proto-google-cloud-dataflow-v1beta3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-dataflow-v1beta3 - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT proto-google-cloud-dataflow-v1beta3 Proto library for google-cloud-dataflow com.google.cloud google-cloud-dataflow-parent - 0.99.0-SNAPSHOT + 0.100.0-SNAPSHOT diff --git a/java-dataform/google-cloud-dataform-bom/pom.xml b/java-dataform/google-cloud-dataform-bom/pom.xml index 04b0eb587d98..2814fdc669d8 100644 --- a/java-dataform/google-cloud-dataform-bom/pom.xml +++ b/java-dataform/google-cloud-dataform-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-dataform-bom - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-dataform - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataform-v1beta1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataform-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dataform-v1beta1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dataform-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT diff --git a/java-dataform/google-cloud-dataform/pom.xml b/java-dataform/google-cloud-dataform/pom.xml index c2df6394d41c..5cb53fac2c05 100644 --- a/java-dataform/google-cloud-dataform/pom.xml +++ b/java-dataform/google-cloud-dataform/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-dataform - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT jar Google Cloud Dataform Cloud Dataform Help analytics teams manage data inside BigQuery using SQL. com.google.cloud google-cloud-dataform-parent - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT google-cloud-dataform diff --git a/java-dataform/google-cloud-dataform/src/main/java/com/google/cloud/dataform/v1/stub/Version.java b/java-dataform/google-cloud-dataform/src/main/java/com/google/cloud/dataform/v1/stub/Version.java index 85bc85f09e8c..02bc987790c4 100644 --- a/java-dataform/google-cloud-dataform/src/main/java/com/google/cloud/dataform/v1/stub/Version.java +++ b/java-dataform/google-cloud-dataform/src/main/java/com/google/cloud/dataform/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-dataform:current} - static final String VERSION = "0.94.0-SNAPSHOT"; + static final String VERSION = "0.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-dataform/google-cloud-dataform/src/main/java/com/google/cloud/dataform/v1beta1/stub/Version.java b/java-dataform/google-cloud-dataform/src/main/java/com/google/cloud/dataform/v1beta1/stub/Version.java index e9ab4a1e1caa..525f9966f263 100644 --- a/java-dataform/google-cloud-dataform/src/main/java/com/google/cloud/dataform/v1beta1/stub/Version.java +++ b/java-dataform/google-cloud-dataform/src/main/java/com/google/cloud/dataform/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-dataform:current} - static final String VERSION = "0.94.0-SNAPSHOT"; + static final String VERSION = "0.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-dataform/grpc-google-cloud-dataform-v1/pom.xml b/java-dataform/grpc-google-cloud-dataform-v1/pom.xml index 4009667f3626..d312e7ca1427 100644 --- a/java-dataform/grpc-google-cloud-dataform-v1/pom.xml +++ b/java-dataform/grpc-google-cloud-dataform-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-dataform-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT grpc-google-cloud-dataform-v1 GRPC library for google-cloud-dataform com.google.cloud google-cloud-dataform-parent - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT diff --git a/java-dataform/grpc-google-cloud-dataform-v1beta1/pom.xml b/java-dataform/grpc-google-cloud-dataform-v1beta1/pom.xml index 189ba9e04462..34c2472eafd9 100644 --- a/java-dataform/grpc-google-cloud-dataform-v1beta1/pom.xml +++ b/java-dataform/grpc-google-cloud-dataform-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-dataform-v1beta1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT grpc-google-cloud-dataform-v1beta1 GRPC library for google-cloud-dataform com.google.cloud google-cloud-dataform-parent - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT diff --git a/java-dataform/pom.xml b/java-dataform/pom.xml index 5d894145633e..ffea1ca10d42 100644 --- a/java-dataform/pom.xml +++ b/java-dataform/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-dataform-parent pom - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT Google Cloud Dataform Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-dataform - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dataform-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataform-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dataform-v1beta1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataform-v1beta1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT diff --git a/java-dataform/proto-google-cloud-dataform-v1/pom.xml b/java-dataform/proto-google-cloud-dataform-v1/pom.xml index bb13298e4357..27c59f6ee56d 100644 --- a/java-dataform/proto-google-cloud-dataform-v1/pom.xml +++ b/java-dataform/proto-google-cloud-dataform-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-dataform-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT proto-google-cloud-dataform-v1 Proto library for google-cloud-dataform com.google.cloud google-cloud-dataform-parent - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT diff --git a/java-dataform/proto-google-cloud-dataform-v1beta1/pom.xml b/java-dataform/proto-google-cloud-dataform-v1beta1/pom.xml index 54aa22dc3070..e12e6f0d48c8 100644 --- a/java-dataform/proto-google-cloud-dataform-v1beta1/pom.xml +++ b/java-dataform/proto-google-cloud-dataform-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-dataform-v1beta1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT proto-google-cloud-dataform-v1beta1 Proto library for google-cloud-dataform com.google.cloud google-cloud-dataform-parent - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT diff --git a/java-datalabeling/google-cloud-datalabeling-bom/pom.xml b/java-datalabeling/google-cloud-datalabeling-bom/pom.xml index 207ee5dd621b..5db8da788b6b 100644 --- a/java-datalabeling/google-cloud-datalabeling-bom/pom.xml +++ b/java-datalabeling/google-cloud-datalabeling-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-datalabeling-bom - 0.215.0-SNAPSHOT + 0.216.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-datalabeling - 0.215.0-SNAPSHOT + 0.216.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datalabeling-v1beta1 - 0.215.0-SNAPSHOT + 0.216.0-SNAPSHOT com.google.api.grpc proto-google-cloud-datalabeling-v1beta1 - 0.215.0-SNAPSHOT + 0.216.0-SNAPSHOT diff --git a/java-datalabeling/google-cloud-datalabeling/pom.xml b/java-datalabeling/google-cloud-datalabeling/pom.xml index e67845d0a22a..0c6e506114e9 100644 --- a/java-datalabeling/google-cloud-datalabeling/pom.xml +++ b/java-datalabeling/google-cloud-datalabeling/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-datalabeling - 0.215.0-SNAPSHOT + 0.216.0-SNAPSHOT jar Google Cloud Data Labeling Java idiomatic client for Google Cloud Data Labeling com.google.cloud google-cloud-datalabeling-parent - 0.215.0-SNAPSHOT + 0.216.0-SNAPSHOT google-cloud-datalabeling diff --git a/java-datalabeling/google-cloud-datalabeling/src/main/java/com/google/cloud/datalabeling/v1beta1/stub/Version.java b/java-datalabeling/google-cloud-datalabeling/src/main/java/com/google/cloud/datalabeling/v1beta1/stub/Version.java index 3aa98207d163..4e7ffd6f61ac 100644 --- a/java-datalabeling/google-cloud-datalabeling/src/main/java/com/google/cloud/datalabeling/v1beta1/stub/Version.java +++ b/java-datalabeling/google-cloud-datalabeling/src/main/java/com/google/cloud/datalabeling/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-datalabeling:current} - static final String VERSION = "0.215.0-SNAPSHOT"; + static final String VERSION = "0.216.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-datalabeling/grpc-google-cloud-datalabeling-v1beta1/pom.xml b/java-datalabeling/grpc-google-cloud-datalabeling-v1beta1/pom.xml index b091c3c20923..b9f2a8b6976b 100644 --- a/java-datalabeling/grpc-google-cloud-datalabeling-v1beta1/pom.xml +++ b/java-datalabeling/grpc-google-cloud-datalabeling-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-datalabeling-v1beta1 - 0.215.0-SNAPSHOT + 0.216.0-SNAPSHOT grpc-google-cloud-datalabeling-v1beta1 GRPC library for grpc-google-cloud-datalabeling-v1beta1 com.google.cloud google-cloud-datalabeling-parent - 0.215.0-SNAPSHOT + 0.216.0-SNAPSHOT diff --git a/java-datalabeling/pom.xml b/java-datalabeling/pom.xml index 142391421dda..fbba8aea1a23 100644 --- a/java-datalabeling/pom.xml +++ b/java-datalabeling/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-datalabeling-parent pom - 0.215.0-SNAPSHOT + 0.216.0-SNAPSHOT Google Cloud Data Labeling Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.api.grpc proto-google-cloud-datalabeling-v1beta1 - 0.215.0-SNAPSHOT + 0.216.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datalabeling-v1beta1 - 0.215.0-SNAPSHOT + 0.216.0-SNAPSHOT com.google.cloud google-cloud-datalabeling - 0.215.0-SNAPSHOT + 0.216.0-SNAPSHOT diff --git a/java-datalabeling/proto-google-cloud-datalabeling-v1beta1/pom.xml b/java-datalabeling/proto-google-cloud-datalabeling-v1beta1/pom.xml index 49fa374023af..3ee7ecccaedd 100644 --- a/java-datalabeling/proto-google-cloud-datalabeling-v1beta1/pom.xml +++ b/java-datalabeling/proto-google-cloud-datalabeling-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-datalabeling-v1beta1 - 0.215.0-SNAPSHOT + 0.216.0-SNAPSHOT proto-google-cloud-datalabeling-v1beta1 PROTO library for proto-google-cloud-datalabeling-v1beta1 com.google.cloud google-cloud-datalabeling-parent - 0.215.0-SNAPSHOT + 0.216.0-SNAPSHOT diff --git a/java-datalineage/google-cloud-datalineage-bom/pom.xml b/java-datalineage/google-cloud-datalineage-bom/pom.xml index 939e3b77bbaf..c48798e6af27 100644 --- a/java-datalineage/google-cloud-datalineage-bom/pom.xml +++ b/java-datalineage/google-cloud-datalineage-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-datalineage-bom - 0.87.0-SNAPSHOT + 0.88.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-datalineage - 0.87.0-SNAPSHOT + 0.88.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datalineage-v1 - 0.87.0-SNAPSHOT + 0.88.0-SNAPSHOT com.google.api.grpc proto-google-cloud-datalineage-v1 - 0.87.0-SNAPSHOT + 0.88.0-SNAPSHOT diff --git a/java-datalineage/google-cloud-datalineage/pom.xml b/java-datalineage/google-cloud-datalineage/pom.xml index 716271526ebf..72a8cfd62ebc 100644 --- a/java-datalineage/google-cloud-datalineage/pom.xml +++ b/java-datalineage/google-cloud-datalineage/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-datalineage - 0.87.0-SNAPSHOT + 0.88.0-SNAPSHOT jar Google Data Lineage Data Lineage Lineage is used to track data flows between assets over time. com.google.cloud google-cloud-datalineage-parent - 0.87.0-SNAPSHOT + 0.88.0-SNAPSHOT google-cloud-datalineage diff --git a/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/Version.java b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/Version.java index 5aac155bc879..9dcff632f60a 100644 --- a/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/Version.java +++ b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-datalineage:current} - static final String VERSION = "0.87.0-SNAPSHOT"; + static final String VERSION = "0.88.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/v1/stub/Version.java b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/v1/stub/Version.java index b79c1c220d01..10ec7dc666a0 100644 --- a/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/v1/stub/Version.java +++ b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-datalineage:current} - static final String VERSION = "0.87.0-SNAPSHOT"; + static final String VERSION = "0.88.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-datalineage/grpc-google-cloud-datalineage-v1/pom.xml b/java-datalineage/grpc-google-cloud-datalineage-v1/pom.xml index 46ad6b13f886..461d61bf6052 100644 --- a/java-datalineage/grpc-google-cloud-datalineage-v1/pom.xml +++ b/java-datalineage/grpc-google-cloud-datalineage-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-datalineage-v1 - 0.87.0-SNAPSHOT + 0.88.0-SNAPSHOT grpc-google-cloud-datalineage-v1 GRPC library for google-cloud-datalineage com.google.cloud google-cloud-datalineage-parent - 0.87.0-SNAPSHOT + 0.88.0-SNAPSHOT diff --git a/java-datalineage/pom.xml b/java-datalineage/pom.xml index 3e4c15f4889b..7c7e02638054 100644 --- a/java-datalineage/pom.xml +++ b/java-datalineage/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-datalineage-parent pom - 0.87.0-SNAPSHOT + 0.88.0-SNAPSHOT Google Data Lineage Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-datalineage - 0.87.0-SNAPSHOT + 0.88.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datalineage-v1 - 0.87.0-SNAPSHOT + 0.88.0-SNAPSHOT com.google.api.grpc proto-google-cloud-datalineage-v1 - 0.87.0-SNAPSHOT + 0.88.0-SNAPSHOT diff --git a/java-datalineage/proto-google-cloud-datalineage-v1/pom.xml b/java-datalineage/proto-google-cloud-datalineage-v1/pom.xml index 1c1fa2a66875..f8dbcdd207c3 100644 --- a/java-datalineage/proto-google-cloud-datalineage-v1/pom.xml +++ b/java-datalineage/proto-google-cloud-datalineage-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-datalineage-v1 - 0.87.0-SNAPSHOT + 0.88.0-SNAPSHOT proto-google-cloud-datalineage-v1 Proto library for google-cloud-datalineage com.google.cloud google-cloud-datalineage-parent - 0.87.0-SNAPSHOT + 0.88.0-SNAPSHOT diff --git a/java-datamanager/data-manager-bom/pom.xml b/java-datamanager/data-manager-bom/pom.xml index 6ceea94b28fd..c27f634abe5f 100644 --- a/java-datamanager/data-manager-bom/pom.xml +++ b/java-datamanager/data-manager-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.api-ads data-manager-bom - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.api-ads data-manager - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT com.google.api-ads.api.grpc grpc-data-manager-v1 - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT com.google.api-ads.api.grpc proto-data-manager-v1 - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT diff --git a/java-datamanager/data-manager/pom.xml b/java-datamanager/data-manager/pom.xml index 6a64a7f5b08f..8f1a3086ee64 100644 --- a/java-datamanager/data-manager/pom.xml +++ b/java-datamanager/data-manager/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.api-ads data-manager - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT jar Google Data Manager API Data Manager API A unified ingestion API for data partners, agencies and advertisers to connect first-party data across Google advertising products. com.google.api-ads data-manager-parent - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT data-manager diff --git a/java-datamanager/data-manager/src/main/java/com/google/ads/datamanager/v1/stub/Version.java b/java-datamanager/data-manager/src/main/java/com/google/ads/datamanager/v1/stub/Version.java index 36307d31d1db..6d33314fbabc 100644 --- a/java-datamanager/data-manager/src/main/java/com/google/ads/datamanager/v1/stub/Version.java +++ b/java-datamanager/data-manager/src/main/java/com/google/ads/datamanager/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:data-manager:current} - static final String VERSION = "0.16.0-SNAPSHOT"; + static final String VERSION = "0.17.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-datamanager/grpc-data-manager-v1/pom.xml b/java-datamanager/grpc-data-manager-v1/pom.xml index 0cabcb434987..f5c7f58445cf 100644 --- a/java-datamanager/grpc-data-manager-v1/pom.xml +++ b/java-datamanager/grpc-data-manager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api-ads.api.grpc grpc-data-manager-v1 - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT grpc-data-manager-v1 GRPC library for data-manager com.google.api-ads data-manager-parent - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT diff --git a/java-datamanager/pom.xml b/java-datamanager/pom.xml index 87988f0338ca..e9b90cba12aa 100644 --- a/java-datamanager/pom.xml +++ b/java-datamanager/pom.xml @@ -4,7 +4,7 @@ com.google.api-ads data-manager-parent pom - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT Google Data Manager API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.api-ads data-manager - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT com.google.api-ads.api.grpc grpc-data-manager-v1 - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT com.google.api-ads.api.grpc proto-data-manager-v1 - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT diff --git a/java-datamanager/proto-data-manager-v1/pom.xml b/java-datamanager/proto-data-manager-v1/pom.xml index dbb14e985588..bfef473f90ae 100644 --- a/java-datamanager/proto-data-manager-v1/pom.xml +++ b/java-datamanager/proto-data-manager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api-ads.api.grpc proto-data-manager-v1 - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT proto-data-manager-v1 Proto library for data-manager com.google.api-ads data-manager-parent - 0.16.0-SNAPSHOT + 0.17.0-SNAPSHOT diff --git a/java-dataplex/google-cloud-dataplex-bom/pom.xml b/java-dataplex/google-cloud-dataplex-bom/pom.xml index a5ccc148967a..dc27a2da96b8 100644 --- a/java-dataplex/google-cloud-dataplex-bom/pom.xml +++ b/java-dataplex/google-cloud-dataplex-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-dataplex-bom - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-dataplex - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataplex-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dataplex-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-dataplex/google-cloud-dataplex/pom.xml b/java-dataplex/google-cloud-dataplex/pom.xml index bf44534ab9ca..6a835163247f 100644 --- a/java-dataplex/google-cloud-dataplex/pom.xml +++ b/java-dataplex/google-cloud-dataplex/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-dataplex - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT jar Google Cloud Dataplex Cloud Dataplex provides intelligent data fabric that enables organizations to centrally manage, monitor, and govern their data across data lakes, data warehouses, and data marts with consistent controls, providing access to trusted data and powering analytics at scale. com.google.cloud google-cloud-dataplex-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT google-cloud-dataplex diff --git a/java-dataplex/google-cloud-dataplex/src/main/java/com/google/cloud/dataplex/v1/stub/Version.java b/java-dataplex/google-cloud-dataplex/src/main/java/com/google/cloud/dataplex/v1/stub/Version.java index 27b30774b7b6..9b2b5ee8fd4a 100644 --- a/java-dataplex/google-cloud-dataplex/src/main/java/com/google/cloud/dataplex/v1/stub/Version.java +++ b/java-dataplex/google-cloud-dataplex/src/main/java/com/google/cloud/dataplex/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-dataplex:current} - static final String VERSION = "1.93.0-SNAPSHOT"; + static final String VERSION = "1.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-dataplex/grpc-google-cloud-dataplex-v1/pom.xml b/java-dataplex/grpc-google-cloud-dataplex-v1/pom.xml index d0e22576cbc4..2588eedfc9aa 100644 --- a/java-dataplex/grpc-google-cloud-dataplex-v1/pom.xml +++ b/java-dataplex/grpc-google-cloud-dataplex-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-dataplex-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT grpc-google-cloud-dataplex-v1 GRPC library for google-cloud-dataplex com.google.cloud google-cloud-dataplex-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-dataplex/pom.xml b/java-dataplex/pom.xml index 49e742f58123..a8c12877516f 100644 --- a/java-dataplex/pom.xml +++ b/java-dataplex/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-dataplex-parent pom - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT Google Cloud Dataplex Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-dataplex - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataplex-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dataplex-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-dataplex/proto-google-cloud-dataplex-v1/pom.xml b/java-dataplex/proto-google-cloud-dataplex-v1/pom.xml index a66e20fedd59..7752da15a874 100644 --- a/java-dataplex/proto-google-cloud-dataplex-v1/pom.xml +++ b/java-dataplex/proto-google-cloud-dataplex-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-dataplex-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT proto-google-cloud-dataplex-v1 Proto library for google-cloud-dataplex com.google.cloud google-cloud-dataplex-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-dataproc-metastore/google-cloud-dataproc-metastore-bom/pom.xml b/java-dataproc-metastore/google-cloud-dataproc-metastore-bom/pom.xml index 1eaa56f852a1..3e03ced1013d 100644 --- a/java-dataproc-metastore/google-cloud-dataproc-metastore-bom/pom.xml +++ b/java-dataproc-metastore/google-cloud-dataproc-metastore-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-dataproc-metastore-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,37 +28,37 @@ com.google.cloud google-cloud-dataproc-metastore - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataproc-metastore-v1beta - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataproc-metastore-v1alpha - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataproc-metastore-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dataproc-metastore-v1beta - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dataproc-metastore-v1alpha - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dataproc-metastore-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-dataproc-metastore/google-cloud-dataproc-metastore/pom.xml b/java-dataproc-metastore/google-cloud-dataproc-metastore/pom.xml index 5da02aeea530..a6faf24316cd 100644 --- a/java-dataproc-metastore/google-cloud-dataproc-metastore/pom.xml +++ b/java-dataproc-metastore/google-cloud-dataproc-metastore/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-dataproc-metastore - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT jar Google Dataproc Metastore is a fully managed, highly available, autoscaled, autohealing, OSS-native metastore service that greatly simplifies technical metadata management. Dataproc Metastore service is based on Apache Hive metastore and serves as a critical component towards enterprise data lakes. com.google.cloud google-cloud-dataproc-metastore-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT google-cloud-dataproc-metastore diff --git a/java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1/stub/Version.java b/java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1/stub/Version.java index 4abb21d95580..231a806077a9 100644 --- a/java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1/stub/Version.java +++ b/java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-dataproc-metastore:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1alpha/stub/Version.java b/java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1alpha/stub/Version.java index fad1a15281cc..d1947990e628 100644 --- a/java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1alpha/stub/Version.java +++ b/java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-dataproc-metastore:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1beta/stub/Version.java b/java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1beta/stub/Version.java index bbb746bd40d0..c0e0f8db91d5 100644 --- a/java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1beta/stub/Version.java +++ b/java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-dataproc-metastore:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-dataproc-metastore/grpc-google-cloud-dataproc-metastore-v1/pom.xml b/java-dataproc-metastore/grpc-google-cloud-dataproc-metastore-v1/pom.xml index e0df7ee2b783..1e51858e6a6c 100644 --- a/java-dataproc-metastore/grpc-google-cloud-dataproc-metastore-v1/pom.xml +++ b/java-dataproc-metastore/grpc-google-cloud-dataproc-metastore-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-dataproc-metastore-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-dataproc-metastore-v1 GRPC library for google-cloud-dataproc-metastore com.google.cloud google-cloud-dataproc-metastore-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-dataproc-metastore/grpc-google-cloud-dataproc-metastore-v1alpha/pom.xml b/java-dataproc-metastore/grpc-google-cloud-dataproc-metastore-v1alpha/pom.xml index 88a2f52cea96..de63c48906de 100644 --- a/java-dataproc-metastore/grpc-google-cloud-dataproc-metastore-v1alpha/pom.xml +++ b/java-dataproc-metastore/grpc-google-cloud-dataproc-metastore-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-dataproc-metastore-v1alpha - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-dataproc-metastore-v1alpha GRPC library for google-cloud-dataproc-metastore com.google.cloud google-cloud-dataproc-metastore-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-dataproc-metastore/grpc-google-cloud-dataproc-metastore-v1beta/pom.xml b/java-dataproc-metastore/grpc-google-cloud-dataproc-metastore-v1beta/pom.xml index 1cf2c07d0f94..63502d071ffa 100644 --- a/java-dataproc-metastore/grpc-google-cloud-dataproc-metastore-v1beta/pom.xml +++ b/java-dataproc-metastore/grpc-google-cloud-dataproc-metastore-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-dataproc-metastore-v1beta - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-dataproc-metastore-v1beta GRPC library for google-cloud-dataproc-metastore com.google.cloud google-cloud-dataproc-metastore-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-dataproc-metastore/pom.xml b/java-dataproc-metastore/pom.xml index 79cbb0b4bc4a..0eff08adae01 100644 --- a/java-dataproc-metastore/pom.xml +++ b/java-dataproc-metastore/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-dataproc-metastore-parent pom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT Google Dataproc Metastore Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.cloud google-cloud-dataproc-metastore - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataproc-metastore-v1beta - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataproc-metastore-v1alpha - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataproc-metastore-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dataproc-metastore-v1beta - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dataproc-metastore-v1alpha - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dataproc-metastore-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-dataproc-metastore/proto-google-cloud-dataproc-metastore-v1/pom.xml b/java-dataproc-metastore/proto-google-cloud-dataproc-metastore-v1/pom.xml index 512e7f78a833..7aa114dd0ffe 100644 --- a/java-dataproc-metastore/proto-google-cloud-dataproc-metastore-v1/pom.xml +++ b/java-dataproc-metastore/proto-google-cloud-dataproc-metastore-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-dataproc-metastore-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-dataproc-metastore-v1 Proto library for google-cloud-dataproc-metastore com.google.cloud google-cloud-dataproc-metastore-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-dataproc-metastore/proto-google-cloud-dataproc-metastore-v1alpha/pom.xml b/java-dataproc-metastore/proto-google-cloud-dataproc-metastore-v1alpha/pom.xml index 809571e7e6a7..e3225414d09c 100644 --- a/java-dataproc-metastore/proto-google-cloud-dataproc-metastore-v1alpha/pom.xml +++ b/java-dataproc-metastore/proto-google-cloud-dataproc-metastore-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-dataproc-metastore-v1alpha - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-dataproc-metastore-v1alpha Proto library for google-cloud-dataproc-metastore com.google.cloud google-cloud-dataproc-metastore-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-dataproc-metastore/proto-google-cloud-dataproc-metastore-v1beta/pom.xml b/java-dataproc-metastore/proto-google-cloud-dataproc-metastore-v1beta/pom.xml index 834f70b5d57c..570bef672a48 100644 --- a/java-dataproc-metastore/proto-google-cloud-dataproc-metastore-v1beta/pom.xml +++ b/java-dataproc-metastore/proto-google-cloud-dataproc-metastore-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-dataproc-metastore-v1beta - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-dataproc-metastore-v1beta Proto library for google-cloud-dataproc-metastore com.google.cloud google-cloud-dataproc-metastore-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-dataproc/google-cloud-dataproc-bom/pom.xml b/java-dataproc/google-cloud-dataproc-bom/pom.xml index 7c815f617019..b8cf8d649d5f 100644 --- a/java-dataproc/google-cloud-dataproc-bom/pom.xml +++ b/java-dataproc/google-cloud-dataproc-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-dataproc-bom - 4.92.0-SNAPSHOT + 4.93.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-dataproc - 4.92.0-SNAPSHOT + 4.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataproc-v1 - 4.92.0-SNAPSHOT + 4.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dataproc-v1 - 4.92.0-SNAPSHOT + 4.93.0-SNAPSHOT diff --git a/java-dataproc/google-cloud-dataproc/pom.xml b/java-dataproc/google-cloud-dataproc/pom.xml index d9b1804277d2..591fd400dea0 100644 --- a/java-dataproc/google-cloud-dataproc/pom.xml +++ b/java-dataproc/google-cloud-dataproc/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-dataproc - 4.92.0-SNAPSHOT + 4.93.0-SNAPSHOT jar Google Cloud Dataproc Java idiomatic client for Google Cloud Dataproc com.google.cloud google-cloud-dataproc-parent - 4.92.0-SNAPSHOT + 4.93.0-SNAPSHOT google-cloud-dataproc diff --git a/java-dataproc/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/stub/Version.java b/java-dataproc/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/stub/Version.java index fb7431cadc2f..edc5c8e25bd8 100644 --- a/java-dataproc/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/stub/Version.java +++ b/java-dataproc/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-dataproc:current} - static final String VERSION = "4.92.0-SNAPSHOT"; + static final String VERSION = "4.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-dataproc/grpc-google-cloud-dataproc-v1/pom.xml b/java-dataproc/grpc-google-cloud-dataproc-v1/pom.xml index 608a06c22416..c483c4b83cac 100644 --- a/java-dataproc/grpc-google-cloud-dataproc-v1/pom.xml +++ b/java-dataproc/grpc-google-cloud-dataproc-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-dataproc-v1 - 4.92.0-SNAPSHOT + 4.93.0-SNAPSHOT grpc-google-cloud-dataproc-v1 GRPC library for grpc-google-cloud-dataproc-v1 com.google.cloud google-cloud-dataproc-parent - 4.92.0-SNAPSHOT + 4.93.0-SNAPSHOT diff --git a/java-dataproc/pom.xml b/java-dataproc/pom.xml index 7ad5aa331d35..21ea5ac81a1a 100644 --- a/java-dataproc/pom.xml +++ b/java-dataproc/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-dataproc-parent pom - 4.92.0-SNAPSHOT + 4.93.0-SNAPSHOT Google Cloud Dataproc Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.api.grpc proto-google-cloud-dataproc-v1 - 4.92.0-SNAPSHOT + 4.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dataproc-v1 - 4.92.0-SNAPSHOT + 4.93.0-SNAPSHOT com.google.cloud google-cloud-dataproc - 4.92.0-SNAPSHOT + 4.93.0-SNAPSHOT diff --git a/java-dataproc/proto-google-cloud-dataproc-v1/pom.xml b/java-dataproc/proto-google-cloud-dataproc-v1/pom.xml index e3819c3f97ec..a8fd5c133b77 100644 --- a/java-dataproc/proto-google-cloud-dataproc-v1/pom.xml +++ b/java-dataproc/proto-google-cloud-dataproc-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-dataproc-v1 - 4.92.0-SNAPSHOT + 4.93.0-SNAPSHOT proto-google-cloud-dataproc-v1 PROTO library for proto-google-cloud-dataproc-v1 com.google.cloud google-cloud-dataproc-parent - 4.92.0-SNAPSHOT + 4.93.0-SNAPSHOT diff --git a/java-datastore/datastore-v1-proto-client/pom.xml b/java-datastore/datastore-v1-proto-client/pom.xml index 37df2894af15..f3a6d0f5eab6 100644 --- a/java-datastore/datastore-v1-proto-client/pom.xml +++ b/java-datastore/datastore-v1-proto-client/pom.xml @@ -19,12 +19,12 @@ 4.0.0 com.google.cloud.datastore datastore-v1-proto-client - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT com.google.cloud google-cloud-datastore-parent - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT jar diff --git a/java-datastore/google-cloud-datastore-bom/pom.xml b/java-datastore/google-cloud-datastore-bom/pom.xml index 5cd01ce21a6e..f20cde237def 100644 --- a/java-datastore/google-cloud-datastore-bom/pom.xml +++ b/java-datastore/google-cloud-datastore-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-datastore-bom - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -54,27 +54,27 @@ com.google.cloud google-cloud-datastore - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datastore-admin-v1 - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datastore-v1 - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT com.google.api.grpc proto-google-cloud-datastore-v1 - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT com.google.api.grpc proto-google-cloud-datastore-admin-v1 - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT diff --git a/java-datastore/google-cloud-datastore-utils/pom.xml b/java-datastore/google-cloud-datastore-utils/pom.xml index f34bdbcde30b..a7ce19abd424 100644 --- a/java-datastore/google-cloud-datastore-utils/pom.xml +++ b/java-datastore/google-cloud-datastore-utils/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-datastore-utils - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT jar Google Cloud Datastore Utilities https://github.com/googleapis/google-cloud-java @@ -13,7 +13,7 @@ com.google.cloud google-cloud-datastore-parent - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT google-cloud-datastore-utils diff --git a/java-datastore/google-cloud-datastore/pom.xml b/java-datastore/google-cloud-datastore/pom.xml index 7ac7903511ff..c2d34dd6a16e 100644 --- a/java-datastore/google-cloud-datastore/pom.xml +++ b/java-datastore/google-cloud-datastore/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-datastore - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT jar Google Cloud Datastore https://github.com/googleapis/google-cloud-java @@ -13,7 +13,7 @@ com.google.cloud google-cloud-datastore-parent - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT google-cloud-datastore @@ -212,12 +212,12 @@ com.google.cloud google-cloud-monitoring - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-monitoring-v3 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT io.opentelemetry @@ -254,13 +254,13 @@ com.google.cloud google-cloud-trace test - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-trace-v1 test - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/admin/v1/stub/Version.java b/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/admin/v1/stub/Version.java index e51ae1cf2a90..a204e46b1ed2 100644 --- a/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/admin/v1/stub/Version.java +++ b/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/admin/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-datastore:current} - static final String VERSION = "3.3.0-SNAPSHOT"; + static final String VERSION = "3.4.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/v1/stub/Version.java b/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/v1/stub/Version.java index 4c8ffb0073ff..e107ea1408d0 100644 --- a/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/v1/stub/Version.java +++ b/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-datastore:current} - static final String VERSION = "3.3.0-SNAPSHOT"; + static final String VERSION = "3.4.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-datastore/grpc-google-cloud-datastore-admin-v1/pom.xml b/java-datastore/grpc-google-cloud-datastore-admin-v1/pom.xml index 995b58fe9ec5..4f06b5c19600 100644 --- a/java-datastore/grpc-google-cloud-datastore-admin-v1/pom.xml +++ b/java-datastore/grpc-google-cloud-datastore-admin-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-datastore-admin-v1 - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT grpc-google-cloud-datastore-admin-v1 GRPC library for google-cloud-datastore com.google.cloud google-cloud-datastore-parent - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT diff --git a/java-datastore/grpc-google-cloud-datastore-v1/pom.xml b/java-datastore/grpc-google-cloud-datastore-v1/pom.xml index 7748d371d925..074496add568 100644 --- a/java-datastore/grpc-google-cloud-datastore-v1/pom.xml +++ b/java-datastore/grpc-google-cloud-datastore-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-datastore-v1 - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT grpc-google-cloud-datastore-v1 GRPC library for google-cloud-datastore com.google.cloud google-cloud-datastore-parent - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT diff --git a/java-datastore/pom.xml b/java-datastore/pom.xml index 0f179079830b..674bdac579f4 100644 --- a/java-datastore/pom.xml +++ b/java-datastore/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-datastore-parent pom - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT Google Cloud Datastore Parent https://github.com/googleapis/google-cloud-java @@ -14,7 +14,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -155,32 +155,32 @@ com.google.api.grpc proto-google-cloud-datastore-admin-v1 - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datastore-admin-v1 - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT com.google.cloud google-cloud-datastore - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT com.google.api.grpc proto-google-cloud-datastore-v1 - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datastore-v1 - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT com.google.cloud.datastore datastore-v1-proto-client - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT com.google.api.grpc @@ -192,7 +192,7 @@ com.google.cloud google-cloud-datastore-utils - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT org.easymock diff --git a/java-datastore/proto-google-cloud-datastore-admin-v1/pom.xml b/java-datastore/proto-google-cloud-datastore-admin-v1/pom.xml index ea2e59d85888..6382d0b9ce2c 100644 --- a/java-datastore/proto-google-cloud-datastore-admin-v1/pom.xml +++ b/java-datastore/proto-google-cloud-datastore-admin-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-datastore-admin-v1 - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT proto-google-cloud-datastore-admin-v1 Proto library for google-cloud-datastore com.google.cloud google-cloud-datastore-parent - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT diff --git a/java-datastore/proto-google-cloud-datastore-v1/pom.xml b/java-datastore/proto-google-cloud-datastore-v1/pom.xml index b93a952be217..bf50f68bfc29 100644 --- a/java-datastore/proto-google-cloud-datastore-v1/pom.xml +++ b/java-datastore/proto-google-cloud-datastore-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-datastore-v1 - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT proto-google-cloud-datastore-v1 PROTO library for proto-google-cloud-datastore-v1 com.google.cloud google-cloud-datastore-parent - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT diff --git a/java-datastore/samples/snapshot/pom.xml b/java-datastore/samples/snapshot/pom.xml index 40ac86ed92c2..1a424a9c9d38 100644 --- a/java-datastore/samples/snapshot/pom.xml +++ b/java-datastore/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-datastore - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT diff --git a/java-datastore/samples/snippets/pom.xml b/java-datastore/samples/snippets/pom.xml index 395c2bcbaf96..5801d0c57d46 100644 --- a/java-datastore/samples/snippets/pom.xml +++ b/java-datastore/samples/snippets/pom.xml @@ -41,7 +41,7 @@ com.google.cloud google-cloud-datastore - 3.3.0-SNAPSHOT + 3.4.0-SNAPSHOT diff --git a/java-datastream/google-cloud-datastream-bom/pom.xml b/java-datastream/google-cloud-datastream-bom/pom.xml index e554f9c3803f..3ad77804cd07 100644 --- a/java-datastream/google-cloud-datastream-bom/pom.xml +++ b/java-datastream/google-cloud-datastream-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-datastream-bom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-datastream - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datastream-v1alpha1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datastream-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-datastream-v1alpha1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-datastream-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-datastream/google-cloud-datastream/pom.xml b/java-datastream/google-cloud-datastream/pom.xml index c58a549ef214..4315ee676357 100644 --- a/java-datastream/google-cloud-datastream/pom.xml +++ b/java-datastream/google-cloud-datastream/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-datastream - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT jar Google Datastream Datastream is a serverless and easy-to-use change data capture (CDC) and replication service. It allows you to synchronize data across heterogeneous databases and applications reliably, and with minimal latency and downtime. com.google.cloud google-cloud-datastream-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT google-cloud-datastream diff --git a/java-datastream/google-cloud-datastream/src/main/java/com/google/cloud/datastream/v1/stub/Version.java b/java-datastream/google-cloud-datastream/src/main/java/com/google/cloud/datastream/v1/stub/Version.java index 46c97644a44e..66bad65d8289 100644 --- a/java-datastream/google-cloud-datastream/src/main/java/com/google/cloud/datastream/v1/stub/Version.java +++ b/java-datastream/google-cloud-datastream/src/main/java/com/google/cloud/datastream/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-datastream:current} - static final String VERSION = "1.94.0-SNAPSHOT"; + static final String VERSION = "1.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-datastream/google-cloud-datastream/src/main/java/com/google/cloud/datastream/v1alpha1/stub/Version.java b/java-datastream/google-cloud-datastream/src/main/java/com/google/cloud/datastream/v1alpha1/stub/Version.java index 7a3e3d3576a5..d2780af18836 100644 --- a/java-datastream/google-cloud-datastream/src/main/java/com/google/cloud/datastream/v1alpha1/stub/Version.java +++ b/java-datastream/google-cloud-datastream/src/main/java/com/google/cloud/datastream/v1alpha1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-datastream:current} - static final String VERSION = "1.94.0-SNAPSHOT"; + static final String VERSION = "1.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-datastream/grpc-google-cloud-datastream-v1/pom.xml b/java-datastream/grpc-google-cloud-datastream-v1/pom.xml index 163e76813b4b..13ae92e8ffeb 100644 --- a/java-datastream/grpc-google-cloud-datastream-v1/pom.xml +++ b/java-datastream/grpc-google-cloud-datastream-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-datastream-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT grpc-google-cloud-datastream-v1 GRPC library for google-cloud-datastream com.google.cloud google-cloud-datastream-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-datastream/grpc-google-cloud-datastream-v1alpha1/pom.xml b/java-datastream/grpc-google-cloud-datastream-v1alpha1/pom.xml index e6b3522cea03..85ea634047de 100644 --- a/java-datastream/grpc-google-cloud-datastream-v1alpha1/pom.xml +++ b/java-datastream/grpc-google-cloud-datastream-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-datastream-v1alpha1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT grpc-google-cloud-datastream-v1alpha1 GRPC library for google-cloud-datastream com.google.cloud google-cloud-datastream-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-datastream/pom.xml b/java-datastream/pom.xml index dd83f08d622d..c58bcb3dc8d7 100644 --- a/java-datastream/pom.xml +++ b/java-datastream/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-datastream-parent pom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT Google Datastream Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-datastream - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-datastream-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datastream-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-datastream-v1alpha1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-datastream-v1alpha1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-datastream/proto-google-cloud-datastream-v1/pom.xml b/java-datastream/proto-google-cloud-datastream-v1/pom.xml index 764368b91d3d..ff0a54bc662d 100644 --- a/java-datastream/proto-google-cloud-datastream-v1/pom.xml +++ b/java-datastream/proto-google-cloud-datastream-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-datastream-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT proto-google-cloud-datastream-v1 Proto library for google-cloud-datastream com.google.cloud google-cloud-datastream-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-datastream/proto-google-cloud-datastream-v1alpha1/pom.xml b/java-datastream/proto-google-cloud-datastream-v1alpha1/pom.xml index f189861267c0..3a57ce9c8d49 100644 --- a/java-datastream/proto-google-cloud-datastream-v1alpha1/pom.xml +++ b/java-datastream/proto-google-cloud-datastream-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-datastream-v1alpha1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT proto-google-cloud-datastream-v1alpha1 Proto library for google-cloud-datastream com.google.cloud google-cloud-datastream-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-deploy/google-cloud-deploy-bom/pom.xml b/java-deploy/google-cloud-deploy-bom/pom.xml index 279479fdca02..fca3e61f783e 100644 --- a/java-deploy/google-cloud-deploy-bom/pom.xml +++ b/java-deploy/google-cloud-deploy-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-deploy-bom - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-deploy - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-deploy-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-deploy-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-deploy/google-cloud-deploy/pom.xml b/java-deploy/google-cloud-deploy/pom.xml index 394183644b2f..77401ed64df5 100644 --- a/java-deploy/google-cloud-deploy/pom.xml +++ b/java-deploy/google-cloud-deploy/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-deploy - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT jar Google Google CLoud Deploy Google CLoud Deploy is a service that automates delivery of your applications to a series of target environments in a defined sequence com.google.cloud google-cloud-deploy-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT google-cloud-deploy diff --git a/java-deploy/google-cloud-deploy/src/main/java/com/google/cloud/deploy/v1/stub/Version.java b/java-deploy/google-cloud-deploy/src/main/java/com/google/cloud/deploy/v1/stub/Version.java index 232ad86a771f..ef8fc0ccdcf8 100644 --- a/java-deploy/google-cloud-deploy/src/main/java/com/google/cloud/deploy/v1/stub/Version.java +++ b/java-deploy/google-cloud-deploy/src/main/java/com/google/cloud/deploy/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-deploy:current} - static final String VERSION = "1.93.0-SNAPSHOT"; + static final String VERSION = "1.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-deploy/grpc-google-cloud-deploy-v1/pom.xml b/java-deploy/grpc-google-cloud-deploy-v1/pom.xml index 98b4acf1a9f5..a4ba0059547d 100644 --- a/java-deploy/grpc-google-cloud-deploy-v1/pom.xml +++ b/java-deploy/grpc-google-cloud-deploy-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-deploy-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT grpc-google-cloud-deploy-v1 GRPC library for google-cloud-deploy com.google.cloud google-cloud-deploy-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-deploy/pom.xml b/java-deploy/pom.xml index 295a75414cee..3acea6bd2206 100644 --- a/java-deploy/pom.xml +++ b/java-deploy/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-deploy-parent pom - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT Google Google CLoud Deploy Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-deploy - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-deploy-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-deploy-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-deploy/proto-google-cloud-deploy-v1/pom.xml b/java-deploy/proto-google-cloud-deploy-v1/pom.xml index bb0e9275cbc2..14fd6edef972 100644 --- a/java-deploy/proto-google-cloud-deploy-v1/pom.xml +++ b/java-deploy/proto-google-cloud-deploy-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-deploy-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT proto-google-cloud-deploy-v1 Proto library for google-cloud-deploy com.google.cloud google-cloud-deploy-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-developerconnect/google-cloud-developerconnect-bom/pom.xml b/java-developerconnect/google-cloud-developerconnect-bom/pom.xml index e620de4d9fdb..e660b9563832 100644 --- a/java-developerconnect/google-cloud-developerconnect-bom/pom.xml +++ b/java-developerconnect/google-cloud-developerconnect-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-developerconnect-bom - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-developerconnect - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-developerconnect-v1 - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT com.google.api.grpc proto-google-cloud-developerconnect-v1 - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT diff --git a/java-developerconnect/google-cloud-developerconnect/pom.xml b/java-developerconnect/google-cloud-developerconnect/pom.xml index 17f0751ecb41..00ddc3836d62 100644 --- a/java-developerconnect/google-cloud-developerconnect/pom.xml +++ b/java-developerconnect/google-cloud-developerconnect/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-developerconnect - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT jar Google Developer Connect API Developer Connect API Connect third-party source code management to Google com.google.cloud google-cloud-developerconnect-parent - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT google-cloud-developerconnect diff --git a/java-developerconnect/google-cloud-developerconnect/src/main/java/com/google/cloud/developerconnect/v1/stub/Version.java b/java-developerconnect/google-cloud-developerconnect/src/main/java/com/google/cloud/developerconnect/v1/stub/Version.java index 40a8b9c0dfb4..604cbdcb7c41 100644 --- a/java-developerconnect/google-cloud-developerconnect/src/main/java/com/google/cloud/developerconnect/v1/stub/Version.java +++ b/java-developerconnect/google-cloud-developerconnect/src/main/java/com/google/cloud/developerconnect/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-developerconnect:current} - static final String VERSION = "0.52.0-SNAPSHOT"; + static final String VERSION = "0.53.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-developerconnect/grpc-google-cloud-developerconnect-v1/pom.xml b/java-developerconnect/grpc-google-cloud-developerconnect-v1/pom.xml index ba951a42fc79..5dcd1fb1dc80 100644 --- a/java-developerconnect/grpc-google-cloud-developerconnect-v1/pom.xml +++ b/java-developerconnect/grpc-google-cloud-developerconnect-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-developerconnect-v1 - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT grpc-google-cloud-developerconnect-v1 GRPC library for google-cloud-developerconnect com.google.cloud google-cloud-developerconnect-parent - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT diff --git a/java-developerconnect/pom.xml b/java-developerconnect/pom.xml index db4cfa3ee535..5d1be6129cf2 100644 --- a/java-developerconnect/pom.xml +++ b/java-developerconnect/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-developerconnect-parent pom - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT Google Developer Connect API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-developerconnect - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-developerconnect-v1 - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT com.google.api.grpc proto-google-cloud-developerconnect-v1 - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT diff --git a/java-developerconnect/proto-google-cloud-developerconnect-v1/pom.xml b/java-developerconnect/proto-google-cloud-developerconnect-v1/pom.xml index abd84a00ecde..720e794012d4 100644 --- a/java-developerconnect/proto-google-cloud-developerconnect-v1/pom.xml +++ b/java-developerconnect/proto-google-cloud-developerconnect-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-developerconnect-v1 - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT proto-google-cloud-developerconnect-v1 Proto library for google-cloud-developerconnect com.google.cloud google-cloud-developerconnect-parent - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT diff --git a/java-developerknowledge/google-cloud-developer-knowledge-bom/pom.xml b/java-developerknowledge/google-cloud-developer-knowledge-bom/pom.xml index 0d0875a237a1..7fd63b9627d0 100644 --- a/java-developerknowledge/google-cloud-developer-knowledge-bom/pom.xml +++ b/java-developerknowledge/google-cloud-developer-knowledge-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-developer-knowledge-bom - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-developer-knowledge - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-developer-knowledge-v1 - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT com.google.api.grpc proto-google-cloud-developer-knowledge-v1 - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT diff --git a/java-developerknowledge/google-cloud-developer-knowledge/pom.xml b/java-developerknowledge/google-cloud-developer-knowledge/pom.xml index a500a1e285b0..e6c5e343af0e 100644 --- a/java-developerknowledge/google-cloud-developer-knowledge/pom.xml +++ b/java-developerknowledge/google-cloud-developer-knowledge/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-developer-knowledge - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT jar Google Developer Knowledge API Developer Knowledge API The Developer Knowledge API provides access to Google's developer knowledge com.google.cloud google-cloud-developer-knowledge-parent - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT google-cloud-developer-knowledge diff --git a/java-developerknowledge/google-cloud-developer-knowledge/src/main/java/com/google/developers/knowledge/v1/stub/Version.java b/java-developerknowledge/google-cloud-developer-knowledge/src/main/java/com/google/developers/knowledge/v1/stub/Version.java index 13be680fdf21..0076120d1acf 100644 --- a/java-developerknowledge/google-cloud-developer-knowledge/src/main/java/com/google/developers/knowledge/v1/stub/Version.java +++ b/java-developerknowledge/google-cloud-developer-knowledge/src/main/java/com/google/developers/knowledge/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-developer-knowledge:current} - static final String VERSION = "0.3.0-SNAPSHOT"; + static final String VERSION = "0.4.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-developerknowledge/grpc-google-cloud-developer-knowledge-v1/pom.xml b/java-developerknowledge/grpc-google-cloud-developer-knowledge-v1/pom.xml index 45b8c4937e25..9820773130bb 100644 --- a/java-developerknowledge/grpc-google-cloud-developer-knowledge-v1/pom.xml +++ b/java-developerknowledge/grpc-google-cloud-developer-knowledge-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-developer-knowledge-v1 - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT grpc-google-cloud-developer-knowledge-v1 GRPC library for google-cloud-developer-knowledge com.google.cloud google-cloud-developer-knowledge-parent - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT diff --git a/java-developerknowledge/pom.xml b/java-developerknowledge/pom.xml index 36566d644e53..3e7ec0033ccb 100644 --- a/java-developerknowledge/pom.xml +++ b/java-developerknowledge/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-developer-knowledge-parent pom - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT Google Developer Knowledge API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-developer-knowledge - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-developer-knowledge-v1 - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT com.google.api.grpc proto-google-cloud-developer-knowledge-v1 - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT diff --git a/java-developerknowledge/proto-google-cloud-developer-knowledge-v1/pom.xml b/java-developerknowledge/proto-google-cloud-developer-knowledge-v1/pom.xml index 9b2dd95f5378..13c93cd5657d 100644 --- a/java-developerknowledge/proto-google-cloud-developer-knowledge-v1/pom.xml +++ b/java-developerknowledge/proto-google-cloud-developer-knowledge-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-developer-knowledge-v1 - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT proto-google-cloud-developer-knowledge-v1 Proto library for google-cloud-developer-knowledge com.google.cloud google-cloud-developer-knowledge-parent - 0.3.0-SNAPSHOT + 0.4.0-SNAPSHOT diff --git a/java-devicestreaming/google-cloud-devicestreaming-bom/pom.xml b/java-devicestreaming/google-cloud-devicestreaming-bom/pom.xml index 884efb056156..6a637cbc26de 100644 --- a/java-devicestreaming/google-cloud-devicestreaming-bom/pom.xml +++ b/java-devicestreaming/google-cloud-devicestreaming-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-devicestreaming-bom - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-devicestreaming - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-devicestreaming-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.api.grpc proto-google-cloud-devicestreaming-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-devicestreaming/google-cloud-devicestreaming/pom.xml b/java-devicestreaming/google-cloud-devicestreaming/pom.xml index 1ef6cd6fdd23..5c48a78c2393 100644 --- a/java-devicestreaming/google-cloud-devicestreaming/pom.xml +++ b/java-devicestreaming/google-cloud-devicestreaming/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-devicestreaming - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT jar Google Device Streaming API Device Streaming API The Cloud API for device streaming usage. com.google.cloud google-cloud-devicestreaming-parent - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT google-cloud-devicestreaming diff --git a/java-devicestreaming/google-cloud-devicestreaming/src/main/java/com/google/cloud/devicestreaming/v1/stub/Version.java b/java-devicestreaming/google-cloud-devicestreaming/src/main/java/com/google/cloud/devicestreaming/v1/stub/Version.java index 924a76ea27b5..23b8e722e71c 100644 --- a/java-devicestreaming/google-cloud-devicestreaming/src/main/java/com/google/cloud/devicestreaming/v1/stub/Version.java +++ b/java-devicestreaming/google-cloud-devicestreaming/src/main/java/com/google/cloud/devicestreaming/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-devicestreaming:current} - static final String VERSION = "0.35.0-SNAPSHOT"; + static final String VERSION = "0.36.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-devicestreaming/grpc-google-cloud-devicestreaming-v1/pom.xml b/java-devicestreaming/grpc-google-cloud-devicestreaming-v1/pom.xml index 7a116040dd7e..e12f7d571ec8 100644 --- a/java-devicestreaming/grpc-google-cloud-devicestreaming-v1/pom.xml +++ b/java-devicestreaming/grpc-google-cloud-devicestreaming-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-devicestreaming-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT grpc-google-cloud-devicestreaming-v1 GRPC library for google-cloud-devicestreaming com.google.cloud google-cloud-devicestreaming-parent - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-devicestreaming/pom.xml b/java-devicestreaming/pom.xml index cfe0baab0879..863249c44dc9 100644 --- a/java-devicestreaming/pom.xml +++ b/java-devicestreaming/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-devicestreaming-parent pom - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT Google Device Streaming API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-devicestreaming - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-devicestreaming-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.api.grpc proto-google-cloud-devicestreaming-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-devicestreaming/proto-google-cloud-devicestreaming-v1/pom.xml b/java-devicestreaming/proto-google-cloud-devicestreaming-v1/pom.xml index 912b76345752..20babe571af9 100644 --- a/java-devicestreaming/proto-google-cloud-devicestreaming-v1/pom.xml +++ b/java-devicestreaming/proto-google-cloud-devicestreaming-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-devicestreaming-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT proto-google-cloud-devicestreaming-v1 Proto library for google-cloud-devicestreaming com.google.cloud google-cloud-devicestreaming-parent - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-dialogflow-cx/google-cloud-dialogflow-cx-bom/pom.xml b/java-dialogflow-cx/google-cloud-dialogflow-cx-bom/pom.xml index 938c4a71fc83..04df8a0ceae1 100644 --- a/java-dialogflow-cx/google-cloud-dialogflow-cx-bom/pom.xml +++ b/java-dialogflow-cx/google-cloud-dialogflow-cx-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-dialogflow-cx-bom - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-dialogflow-cx - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dialogflow-cx-v3beta1 - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dialogflow-cx-v3 - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dialogflow-cx-v3beta1 - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dialogflow-cx-v3 - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT diff --git a/java-dialogflow-cx/google-cloud-dialogflow-cx/pom.xml b/java-dialogflow-cx/google-cloud-dialogflow-cx/pom.xml index 3f7ff439944e..1006dcf8049c 100644 --- a/java-dialogflow-cx/google-cloud-dialogflow-cx/pom.xml +++ b/java-dialogflow-cx/google-cloud-dialogflow-cx/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-dialogflow-cx - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT jar Google Dialogflow CX provides a new way of designing agents, taking a state machine approach to agent design. This gives you clear and explicit control over a conversation, a better end-user experience, and a better development workflow. com.google.cloud google-cloud-dialogflow-cx-parent - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT google-cloud-dialogflow-cx diff --git a/java-dialogflow-cx/google-cloud-dialogflow-cx/src/main/java/com/google/cloud/dialogflow/cx/v3/stub/Version.java b/java-dialogflow-cx/google-cloud-dialogflow-cx/src/main/java/com/google/cloud/dialogflow/cx/v3/stub/Version.java index fbefcf64b50e..d7ae08387212 100644 --- a/java-dialogflow-cx/google-cloud-dialogflow-cx/src/main/java/com/google/cloud/dialogflow/cx/v3/stub/Version.java +++ b/java-dialogflow-cx/google-cloud-dialogflow-cx/src/main/java/com/google/cloud/dialogflow/cx/v3/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-dialogflow-cx:current} - static final String VERSION = "0.106.0-SNAPSHOT"; + static final String VERSION = "0.107.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-dialogflow-cx/google-cloud-dialogflow-cx/src/main/java/com/google/cloud/dialogflow/cx/v3beta1/stub/Version.java b/java-dialogflow-cx/google-cloud-dialogflow-cx/src/main/java/com/google/cloud/dialogflow/cx/v3beta1/stub/Version.java index 773fd0837da3..6eb6b4d50b5d 100644 --- a/java-dialogflow-cx/google-cloud-dialogflow-cx/src/main/java/com/google/cloud/dialogflow/cx/v3beta1/stub/Version.java +++ b/java-dialogflow-cx/google-cloud-dialogflow-cx/src/main/java/com/google/cloud/dialogflow/cx/v3beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-dialogflow-cx:current} - static final String VERSION = "0.106.0-SNAPSHOT"; + static final String VERSION = "0.107.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-dialogflow-cx/grpc-google-cloud-dialogflow-cx-v3/pom.xml b/java-dialogflow-cx/grpc-google-cloud-dialogflow-cx-v3/pom.xml index fde7c8bb59cb..11ab4b5e69d2 100644 --- a/java-dialogflow-cx/grpc-google-cloud-dialogflow-cx-v3/pom.xml +++ b/java-dialogflow-cx/grpc-google-cloud-dialogflow-cx-v3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-dialogflow-cx-v3 - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT grpc-google-cloud-dialogflow-cx-v3 GRPC library for grpc-google-cloud-dialogflow-cx-v3 com.google.cloud google-cloud-dialogflow-cx-parent - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT diff --git a/java-dialogflow-cx/grpc-google-cloud-dialogflow-cx-v3beta1/pom.xml b/java-dialogflow-cx/grpc-google-cloud-dialogflow-cx-v3beta1/pom.xml index 9fbf761af804..970c0493a202 100644 --- a/java-dialogflow-cx/grpc-google-cloud-dialogflow-cx-v3beta1/pom.xml +++ b/java-dialogflow-cx/grpc-google-cloud-dialogflow-cx-v3beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-dialogflow-cx-v3beta1 - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT grpc-google-cloud-dialogflow-cx-v3beta1 GRPC library for grpc-google-cloud-dialogflow-cx-v3beta1 com.google.cloud google-cloud-dialogflow-cx-parent - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT diff --git a/java-dialogflow-cx/pom.xml b/java-dialogflow-cx/pom.xml index 9cbf9b0e2667..9f68f5174119 100644 --- a/java-dialogflow-cx/pom.xml +++ b/java-dialogflow-cx/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-dialogflow-cx-parent pom - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT Google Dialogflow CX Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-dialogflow-cx - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dialogflow-cx-v3beta1 - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dialogflow-cx-v3 - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dialogflow-cx-v3beta1 - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dialogflow-cx-v3 - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT diff --git a/java-dialogflow-cx/proto-google-cloud-dialogflow-cx-v3/pom.xml b/java-dialogflow-cx/proto-google-cloud-dialogflow-cx-v3/pom.xml index 8af2b107eec9..5ce8cbcd9a91 100644 --- a/java-dialogflow-cx/proto-google-cloud-dialogflow-cx-v3/pom.xml +++ b/java-dialogflow-cx/proto-google-cloud-dialogflow-cx-v3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-dialogflow-cx-v3 - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT proto-google-cloud-dialogflow-cx-v3 PROTO library for proto-google-cloud-dialogflow-cx-v3 com.google.cloud google-cloud-dialogflow-cx-parent - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT diff --git a/java-dialogflow-cx/proto-google-cloud-dialogflow-cx-v3beta1/pom.xml b/java-dialogflow-cx/proto-google-cloud-dialogflow-cx-v3beta1/pom.xml index 1e61a38aea7a..fe464be14342 100644 --- a/java-dialogflow-cx/proto-google-cloud-dialogflow-cx-v3beta1/pom.xml +++ b/java-dialogflow-cx/proto-google-cloud-dialogflow-cx-v3beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-dialogflow-cx-v3beta1 - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT proto-google-cloud-dialogflow-cx-v3beta1 PROTO library for proto-google-cloud-dialogflow-cx-v3beta1 com.google.cloud google-cloud-dialogflow-cx-parent - 0.106.0-SNAPSHOT + 0.107.0-SNAPSHOT diff --git a/java-dialogflow/google-cloud-dialogflow-bom/pom.xml b/java-dialogflow/google-cloud-dialogflow-bom/pom.xml index 834bebc37e23..5b8213426969 100644 --- a/java-dialogflow/google-cloud-dialogflow-bom/pom.xml +++ b/java-dialogflow/google-cloud-dialogflow-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-dialogflow-bom - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-dialogflow - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dialogflow-v2beta1 - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dialogflow-v2 - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dialogflow-v2 - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dialogflow-v2beta1 - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT diff --git a/java-dialogflow/google-cloud-dialogflow/pom.xml b/java-dialogflow/google-cloud-dialogflow/pom.xml index 394c0ddddf1e..422d3b615bd3 100644 --- a/java-dialogflow/google-cloud-dialogflow/pom.xml +++ b/java-dialogflow/google-cloud-dialogflow/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-dialogflow - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT jar Google Cloud Dialog Flow API Java idiomatic client for Google Cloud Dialog Flow API com.google.cloud google-cloud-dialogflow-parent - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT google-cloud-dialogflow @@ -87,6 +87,11 @@ google-cloud-core test + + org.awaitility + awaitility + test + com.google.api.grpc diff --git a/java-dialogflow/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2/stub/Version.java b/java-dialogflow/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2/stub/Version.java index c4688aac12b7..0b6acdf92e16 100644 --- a/java-dialogflow/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2/stub/Version.java +++ b/java-dialogflow/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-dialogflow:current} - static final String VERSION = "4.101.0-SNAPSHOT"; + static final String VERSION = "4.102.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-dialogflow/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/Version.java b/java-dialogflow/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/Version.java index 9b666ab2ba15..003cf525178c 100644 --- a/java-dialogflow/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/Version.java +++ b/java-dialogflow/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-dialogflow:current} - static final String VERSION = "4.101.0-SNAPSHOT"; + static final String VERSION = "4.102.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-dialogflow/google-cloud-dialogflow/src/test/java/com/google/cloud/dialogflow/v2/it/ITSystemTest.java b/java-dialogflow/google-cloud-dialogflow/src/test/java/com/google/cloud/dialogflow/v2/it/ITSystemTest.java index 0f5d52d84320..70a3949dbf83 100644 --- a/java-dialogflow/google-cloud-dialogflow/src/test/java/com/google/cloud/dialogflow/v2/it/ITSystemTest.java +++ b/java-dialogflow/google-cloud-dialogflow/src/test/java/com/google/cloud/dialogflow/v2/it/ITSystemTest.java @@ -15,7 +15,10 @@ */ package com.google.cloud.dialogflow.v2.it; +import static com.google.common.collect.Streams.stream; +import static org.awaitility.Awaitility.await; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; import com.google.cloud.ServiceOptions; import com.google.cloud.dialogflow.v2.Agent; @@ -54,10 +57,10 @@ import com.google.protobuf.Struct; import com.google.protobuf.Value; import java.io.IOException; +import java.time.Duration; import java.util.UUID; import org.junit.AfterClass; import org.junit.BeforeClass; -import org.junit.Ignore; import org.junit.Test; public class ITSystemTest { @@ -259,7 +262,6 @@ public void getIntentTest() { } @Test - @Ignore("b/423958346") public void detectIntentTest() { QueryInput queryInput = QueryInput.newBuilder() @@ -279,22 +281,28 @@ public void detectIntentTest() { .setSession(SESSION_NAME.toString()) .setQueryInput(queryInput) .build(); - DetectIntentResponse response = sessionsClient.detectIntent(request); - QueryResult result = response.getQueryResult(); - assertEquals(EVENT_NAME, result.getQueryText()); - assertEquals(ACTION_NAME, result.getAction()); - assertEquals(DEFAULT_LANGUAGE_CODE, result.getLanguageCode()); - assertEquals(intent.getDisplayName(), result.getIntent().getDisplayName()); + await() + .atMost(Duration.ofSeconds(30)) + .pollInterval(Duration.ofSeconds(2)) + .untilAsserted( + () -> { + DetectIntentResponse response = sessionsClient.detectIntent(request); + QueryResult result = response.getQueryResult(); + assertEquals(EVENT_NAME, result.getQueryText()); + assertEquals(ACTION_NAME, result.getAction()); + assertEquals(DEFAULT_LANGUAGE_CODE, result.getLanguageCode()); + assertEquals(intent.getDisplayName(), result.getIntent().getDisplayName()); + }); } @Test - @Ignore("b/423958346") public void listContextsTest() { ListContextsRequest request = ListContextsRequest.newBuilder().setParent(SESSION_NAME.toString()).build(); - for (Context actualContext : contextsClient.listContexts(request).iterateAll()) { - assertEquals(context.getName(), actualContext.getName()); - } + boolean contextNameInActualContext = + stream(contextsClient.listContexts(request).iterateAll()) + .anyMatch(actualContext -> context.getName().equals(actualContext.getName())); + assertTrue(contextNameInActualContext); } @Test diff --git a/java-dialogflow/grpc-google-cloud-dialogflow-v2/pom.xml b/java-dialogflow/grpc-google-cloud-dialogflow-v2/pom.xml index 8bf073a7415c..88e429be0f70 100644 --- a/java-dialogflow/grpc-google-cloud-dialogflow-v2/pom.xml +++ b/java-dialogflow/grpc-google-cloud-dialogflow-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-dialogflow-v2 - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT grpc-google-cloud-dialogflow-v2 GRPC library for grpc-google-cloud-dialogflow-v2 com.google.cloud google-cloud-dialogflow-parent - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT diff --git a/java-dialogflow/grpc-google-cloud-dialogflow-v2beta1/pom.xml b/java-dialogflow/grpc-google-cloud-dialogflow-v2beta1/pom.xml index cdeff12e0278..ad986bae6e38 100644 --- a/java-dialogflow/grpc-google-cloud-dialogflow-v2beta1/pom.xml +++ b/java-dialogflow/grpc-google-cloud-dialogflow-v2beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-dialogflow-v2beta1 - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT grpc-google-cloud-dialogflow-v2beta1 GRPC library for grpc-google-cloud-dialogflow-v2beta1 com.google.cloud google-cloud-dialogflow-parent - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT diff --git a/java-dialogflow/pom.xml b/java-dialogflow/pom.xml index 6bff940363a9..03eb9b519c8b 100644 --- a/java-dialogflow/pom.xml +++ b/java-dialogflow/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-dialogflow-parent pom - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT Google Cloud Dialog Flow API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-dialogflow-v2 - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dialogflow-v2beta1 - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dialogflow-v2beta1 - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dialogflow-v2 - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT com.google.cloud google-cloud-dialogflow - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT diff --git a/java-dialogflow/proto-google-cloud-dialogflow-v2/pom.xml b/java-dialogflow/proto-google-cloud-dialogflow-v2/pom.xml index ce63cad13938..5a1824c48226 100644 --- a/java-dialogflow/proto-google-cloud-dialogflow-v2/pom.xml +++ b/java-dialogflow/proto-google-cloud-dialogflow-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-dialogflow-v2 - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT proto-google-cloud-dialogflow-v2 PROTO library for proto-google-cloud-dialogflow-v2 com.google.cloud google-cloud-dialogflow-parent - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT diff --git a/java-dialogflow/proto-google-cloud-dialogflow-v2beta1/pom.xml b/java-dialogflow/proto-google-cloud-dialogflow-v2beta1/pom.xml index a8d4524cb5e5..a9b600210743 100644 --- a/java-dialogflow/proto-google-cloud-dialogflow-v2beta1/pom.xml +++ b/java-dialogflow/proto-google-cloud-dialogflow-v2beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-dialogflow-v2beta1 - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT proto-google-cloud-dialogflow-v2beta1 PROTO library for proto-google-cloud-dialogflow-v2beta1 com.google.cloud google-cloud-dialogflow-parent - 4.101.0-SNAPSHOT + 4.102.0-SNAPSHOT diff --git a/java-discoveryengine/google-cloud-discoveryengine-bom/pom.xml b/java-discoveryengine/google-cloud-discoveryengine-bom/pom.xml index 9c9440cb8eee..dd70248fed34 100644 --- a/java-discoveryengine/google-cloud-discoveryengine-bom/pom.xml +++ b/java-discoveryengine/google-cloud-discoveryengine-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-discoveryengine-bom - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,37 +28,37 @@ com.google.cloud google-cloud-discoveryengine - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-discoveryengine-v1beta - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-discoveryengine-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-discoveryengine-v1alpha - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc proto-google-cloud-discoveryengine-v1beta - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc proto-google-cloud-discoveryengine-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc proto-google-cloud-discoveryengine-v1alpha - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT diff --git a/java-discoveryengine/google-cloud-discoveryengine/pom.xml b/java-discoveryengine/google-cloud-discoveryengine/pom.xml index d2b1b045f081..7dc710d82855 100644 --- a/java-discoveryengine/google-cloud-discoveryengine/pom.xml +++ b/java-discoveryengine/google-cloud-discoveryengine/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-discoveryengine - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT jar Google Discovery Engine API Discovery Engine API A Cloud API that offers search and recommendation discoverability for documents from different industry verticals (e.g. media, retail, etc.). com.google.cloud google-cloud-discoveryengine-parent - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT google-cloud-discoveryengine diff --git a/java-discoveryengine/google-cloud-discoveryengine/src/main/java/com/google/cloud/discoveryengine/v1/stub/Version.java b/java-discoveryengine/google-cloud-discoveryengine/src/main/java/com/google/cloud/discoveryengine/v1/stub/Version.java index 109a0865f740..b2de681016be 100644 --- a/java-discoveryengine/google-cloud-discoveryengine/src/main/java/com/google/cloud/discoveryengine/v1/stub/Version.java +++ b/java-discoveryengine/google-cloud-discoveryengine/src/main/java/com/google/cloud/discoveryengine/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-discoveryengine:current} - static final String VERSION = "0.91.0-SNAPSHOT"; + static final String VERSION = "0.92.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-discoveryengine/google-cloud-discoveryengine/src/main/java/com/google/cloud/discoveryengine/v1alpha/stub/Version.java b/java-discoveryengine/google-cloud-discoveryengine/src/main/java/com/google/cloud/discoveryengine/v1alpha/stub/Version.java index 169ad0cdb5b5..4e73018b57d6 100644 --- a/java-discoveryengine/google-cloud-discoveryengine/src/main/java/com/google/cloud/discoveryengine/v1alpha/stub/Version.java +++ b/java-discoveryengine/google-cloud-discoveryengine/src/main/java/com/google/cloud/discoveryengine/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-discoveryengine:current} - static final String VERSION = "0.91.0-SNAPSHOT"; + static final String VERSION = "0.92.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-discoveryengine/google-cloud-discoveryengine/src/main/java/com/google/cloud/discoveryengine/v1beta/stub/Version.java b/java-discoveryengine/google-cloud-discoveryengine/src/main/java/com/google/cloud/discoveryengine/v1beta/stub/Version.java index 38edf75dadb8..849d460ea1d3 100644 --- a/java-discoveryengine/google-cloud-discoveryengine/src/main/java/com/google/cloud/discoveryengine/v1beta/stub/Version.java +++ b/java-discoveryengine/google-cloud-discoveryengine/src/main/java/com/google/cloud/discoveryengine/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-discoveryengine:current} - static final String VERSION = "0.91.0-SNAPSHOT"; + static final String VERSION = "0.92.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-discoveryengine/grpc-google-cloud-discoveryengine-v1/pom.xml b/java-discoveryengine/grpc-google-cloud-discoveryengine-v1/pom.xml index a5c633c3d625..3e810eae6273 100644 --- a/java-discoveryengine/grpc-google-cloud-discoveryengine-v1/pom.xml +++ b/java-discoveryengine/grpc-google-cloud-discoveryengine-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-discoveryengine-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT grpc-google-cloud-discoveryengine-v1 GRPC library for google-cloud-discoveryengine com.google.cloud google-cloud-discoveryengine-parent - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT diff --git a/java-discoveryengine/grpc-google-cloud-discoveryengine-v1alpha/pom.xml b/java-discoveryengine/grpc-google-cloud-discoveryengine-v1alpha/pom.xml index 3009fd6bcb46..ecf815d5e08f 100644 --- a/java-discoveryengine/grpc-google-cloud-discoveryengine-v1alpha/pom.xml +++ b/java-discoveryengine/grpc-google-cloud-discoveryengine-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-discoveryengine-v1alpha - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT grpc-google-cloud-discoveryengine-v1alpha GRPC library for google-cloud-discoveryengine com.google.cloud google-cloud-discoveryengine-parent - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT diff --git a/java-discoveryengine/grpc-google-cloud-discoveryengine-v1beta/pom.xml b/java-discoveryengine/grpc-google-cloud-discoveryengine-v1beta/pom.xml index 6dea0fe65c3b..f054babb3bd4 100644 --- a/java-discoveryengine/grpc-google-cloud-discoveryengine-v1beta/pom.xml +++ b/java-discoveryengine/grpc-google-cloud-discoveryengine-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-discoveryengine-v1beta - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT grpc-google-cloud-discoveryengine-v1beta GRPC library for google-cloud-discoveryengine com.google.cloud google-cloud-discoveryengine-parent - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT diff --git a/java-discoveryengine/pom.xml b/java-discoveryengine/pom.xml index 89640ffc3e49..7d405d0c2f72 100644 --- a/java-discoveryengine/pom.xml +++ b/java-discoveryengine/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-discoveryengine-parent pom - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT Google Discovery Engine API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.cloud google-cloud-discoveryengine - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc proto-google-cloud-discoveryengine-v1alpha - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-discoveryengine-v1alpha - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc proto-google-cloud-discoveryengine-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-discoveryengine-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-discoveryengine-v1beta - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc proto-google-cloud-discoveryengine-v1beta - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT diff --git a/java-discoveryengine/proto-google-cloud-discoveryengine-v1/pom.xml b/java-discoveryengine/proto-google-cloud-discoveryengine-v1/pom.xml index 2a0c43ff6a74..cc903c36b8ea 100644 --- a/java-discoveryengine/proto-google-cloud-discoveryengine-v1/pom.xml +++ b/java-discoveryengine/proto-google-cloud-discoveryengine-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-discoveryengine-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT proto-google-cloud-discoveryengine-v1 Proto library for google-cloud-discoveryengine com.google.cloud google-cloud-discoveryengine-parent - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT diff --git a/java-discoveryengine/proto-google-cloud-discoveryengine-v1alpha/pom.xml b/java-discoveryengine/proto-google-cloud-discoveryengine-v1alpha/pom.xml index 149e98e51928..9e936a9ae039 100644 --- a/java-discoveryengine/proto-google-cloud-discoveryengine-v1alpha/pom.xml +++ b/java-discoveryengine/proto-google-cloud-discoveryengine-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-discoveryengine-v1alpha - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT proto-google-cloud-discoveryengine-v1alpha Proto library for google-cloud-discoveryengine com.google.cloud google-cloud-discoveryengine-parent - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT diff --git a/java-discoveryengine/proto-google-cloud-discoveryengine-v1beta/pom.xml b/java-discoveryengine/proto-google-cloud-discoveryengine-v1beta/pom.xml index 25dfd97e804e..f8b58ec3b230 100644 --- a/java-discoveryengine/proto-google-cloud-discoveryengine-v1beta/pom.xml +++ b/java-discoveryengine/proto-google-cloud-discoveryengine-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-discoveryengine-v1beta - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT proto-google-cloud-discoveryengine-v1beta Proto library for google-cloud-discoveryengine com.google.cloud google-cloud-discoveryengine-parent - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT diff --git a/java-distributedcloudedge/google-cloud-distributedcloudedge-bom/pom.xml b/java-distributedcloudedge/google-cloud-distributedcloudedge-bom/pom.xml index 9b49d6f67606..762027a591ed 100644 --- a/java-distributedcloudedge/google-cloud-distributedcloudedge-bom/pom.xml +++ b/java-distributedcloudedge/google-cloud-distributedcloudedge-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-distributedcloudedge-bom - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-distributedcloudedge - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-distributedcloudedge-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-distributedcloudedge-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-distributedcloudedge/google-cloud-distributedcloudedge/pom.xml b/java-distributedcloudedge/google-cloud-distributedcloudedge/pom.xml index 9546f1a8a04d..911895527773 100644 --- a/java-distributedcloudedge/google-cloud-distributedcloudedge/pom.xml +++ b/java-distributedcloudedge/google-cloud-distributedcloudedge/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-distributedcloudedge - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT jar Google Google Distributed Cloud Edge Google Distributed Cloud Edge Google Distributed Cloud Edge allows you to run Kubernetes clusters on dedicated hardware provided and maintained by Google that is separate from the Google Cloud data center. com.google.cloud google-cloud-distributedcloudedge-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT google-cloud-distributedcloudedge diff --git a/java-distributedcloudedge/google-cloud-distributedcloudedge/src/main/java/com/google/cloud/edgecontainer/v1/stub/Version.java b/java-distributedcloudedge/google-cloud-distributedcloudedge/src/main/java/com/google/cloud/edgecontainer/v1/stub/Version.java index 14690f2d1192..54a8dbf06880 100644 --- a/java-distributedcloudedge/google-cloud-distributedcloudedge/src/main/java/com/google/cloud/edgecontainer/v1/stub/Version.java +++ b/java-distributedcloudedge/google-cloud-distributedcloudedge/src/main/java/com/google/cloud/edgecontainer/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-distributedcloudedge:current} - static final String VERSION = "0.92.0-SNAPSHOT"; + static final String VERSION = "0.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-distributedcloudedge/grpc-google-cloud-distributedcloudedge-v1/pom.xml b/java-distributedcloudedge/grpc-google-cloud-distributedcloudedge-v1/pom.xml index ce292b4d3871..8016fac1a5ca 100644 --- a/java-distributedcloudedge/grpc-google-cloud-distributedcloudedge-v1/pom.xml +++ b/java-distributedcloudedge/grpc-google-cloud-distributedcloudedge-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-distributedcloudedge-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT grpc-google-cloud-distributedcloudedge-v1 GRPC library for google-cloud-distributedcloudedge com.google.cloud google-cloud-distributedcloudedge-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-distributedcloudedge/pom.xml b/java-distributedcloudedge/pom.xml index efeee75aea3f..fe8d3fca7073 100644 --- a/java-distributedcloudedge/pom.xml +++ b/java-distributedcloudedge/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-distributedcloudedge-parent pom - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT Google Google Distributed Cloud Edge Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-distributedcloudedge - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-distributedcloudedge-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-distributedcloudedge-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-distributedcloudedge/proto-google-cloud-distributedcloudedge-v1/pom.xml b/java-distributedcloudedge/proto-google-cloud-distributedcloudedge-v1/pom.xml index 1a68e7ef9b25..cc0f195d9831 100644 --- a/java-distributedcloudedge/proto-google-cloud-distributedcloudedge-v1/pom.xml +++ b/java-distributedcloudedge/proto-google-cloud-distributedcloudedge-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-distributedcloudedge-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT proto-google-cloud-distributedcloudedge-v1 Proto library for google-cloud-distributedcloudedge com.google.cloud google-cloud-distributedcloudedge-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-dlp/google-cloud-dlp-bom/pom.xml b/java-dlp/google-cloud-dlp-bom/pom.xml index 13aab488ebfd..331f4e09d412 100644 --- a/java-dlp/google-cloud-dlp-bom/pom.xml +++ b/java-dlp/google-cloud-dlp-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-dlp-bom - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-dlp - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dlp-v2 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dlp-v2 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-dlp/google-cloud-dlp/pom.xml b/java-dlp/google-cloud-dlp/pom.xml index 8f6dbcdd3e6e..470012b77f54 100644 --- a/java-dlp/google-cloud-dlp/pom.xml +++ b/java-dlp/google-cloud-dlp/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-dlp - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT jar Google Cloud DLP Java idiomatic client for Google Cloud DLP com.google.cloud google-cloud-dlp-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT google-cloud-dlp diff --git a/java-dlp/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/stub/Version.java b/java-dlp/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/stub/Version.java index 7e700f48a9ed..ecc76f7d61d8 100644 --- a/java-dlp/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/stub/Version.java +++ b/java-dlp/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-dlp:current} - static final String VERSION = "3.99.0-SNAPSHOT"; + static final String VERSION = "3.100.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-dlp/grpc-google-cloud-dlp-v2/pom.xml b/java-dlp/grpc-google-cloud-dlp-v2/pom.xml index dc87cd7270be..392ff6dacf21 100644 --- a/java-dlp/grpc-google-cloud-dlp-v2/pom.xml +++ b/java-dlp/grpc-google-cloud-dlp-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-dlp-v2 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT grpc-google-cloud-dlp-v2 GRPC library for grpc-google-cloud-dlp-v2 com.google.cloud google-cloud-dlp-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-dlp/pom.xml b/java-dlp/pom.xml index 62767ea4381f..59c118449fba 100644 --- a/java-dlp/pom.xml +++ b/java-dlp/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-dlp-parent pom - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT Google Cloud DLP Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.api.grpc proto-google-cloud-dlp-v2 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dlp-v2 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT com.google.cloud google-cloud-dlp - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-dlp/proto-google-cloud-dlp-v2/pom.xml b/java-dlp/proto-google-cloud-dlp-v2/pom.xml index d1d0290b9a05..c6a149d1f8c2 100644 --- a/java-dlp/proto-google-cloud-dlp-v2/pom.xml +++ b/java-dlp/proto-google-cloud-dlp-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-dlp-v2 - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT proto-google-cloud-dlp-v2 PROTO library for proto-google-cloud-dlp-v2 com.google.cloud google-cloud-dlp-parent - 3.99.0-SNAPSHOT + 3.100.0-SNAPSHOT diff --git a/java-dms/google-cloud-dms-bom/pom.xml b/java-dms/google-cloud-dms-bom/pom.xml index 406087321996..152a51758381 100644 --- a/java-dms/google-cloud-dms-bom/pom.xml +++ b/java-dms/google-cloud-dms-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-dms-bom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-dms - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dms-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dms-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-dms/google-cloud-dms/pom.xml b/java-dms/google-cloud-dms/pom.xml index 26797a425228..95772336b6a9 100644 --- a/java-dms/google-cloud-dms/pom.xml +++ b/java-dms/google-cloud-dms/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-dms - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT jar Google Database Migration Service Database Migration Service makes it easier for you to migrate your data to Google Cloud. This service helps you lift and shift your MySQL and PostgreSQL workloads into Cloud SQL. com.google.cloud google-cloud-dms-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT google-cloud-dms diff --git a/java-dms/google-cloud-dms/src/main/java/com/google/cloud/clouddms/v1/stub/Version.java b/java-dms/google-cloud-dms/src/main/java/com/google/cloud/clouddms/v1/stub/Version.java index fe382181d20d..f0eb2a289247 100644 --- a/java-dms/google-cloud-dms/src/main/java/com/google/cloud/clouddms/v1/stub/Version.java +++ b/java-dms/google-cloud-dms/src/main/java/com/google/cloud/clouddms/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-dms:current} - static final String VERSION = "2.94.0-SNAPSHOT"; + static final String VERSION = "2.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-dms/grpc-google-cloud-dms-v1/pom.xml b/java-dms/grpc-google-cloud-dms-v1/pom.xml index 60d589a4ad62..78dcc981d6e5 100644 --- a/java-dms/grpc-google-cloud-dms-v1/pom.xml +++ b/java-dms/grpc-google-cloud-dms-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-dms-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT grpc-google-cloud-dms-v1 GRPC library for google-cloud-dms com.google.cloud google-cloud-dms-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-dms/pom.xml b/java-dms/pom.xml index acc500da48ae..54434e9024cb 100644 --- a/java-dms/pom.xml +++ b/java-dms/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-dms-parent pom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT Google Database Migration Service Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-dms - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-dms-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-dms-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-dms/proto-google-cloud-dms-v1/pom.xml b/java-dms/proto-google-cloud-dms-v1/pom.xml index 44f17ac4fe40..44dc3df25519 100644 --- a/java-dms/proto-google-cloud-dms-v1/pom.xml +++ b/java-dms/proto-google-cloud-dms-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-dms-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT proto-google-cloud-dms-v1 Proto library for google-cloud-dms com.google.cloud google-cloud-dms-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-dns/README.md b/java-dns/README.md index 3eaa99673e36..ebf8e4d48c55 100644 --- a/java-dns/README.md +++ b/java-dns/README.md @@ -42,20 +42,20 @@ If you are using Maven without the BOM, add this to your dependencies: com.google.cloud google-cloud-dns - 2.92.0 + 2.93.0 ``` If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-dns:2.92.0' +implementation 'com.google.cloud:google-cloud-dns:2.93.0' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-dns" % "2.92.0" +libraryDependencies += "com.google.cloud" % "google-cloud-dns" % "2.93.0" ``` diff --git a/java-dns/pom.xml b/java-dns/pom.xml index daee4d1487d2..128eacde4b6a 100644 --- a/java-dns/pom.xml +++ b/java-dns/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-dns jar - 2.93.0-SNAPSHOT + 2.94.0-SNAPSHOT Google Cloud DNS Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml diff --git a/java-document-ai/google-cloud-document-ai-bom/pom.xml b/java-document-ai/google-cloud-document-ai-bom/pom.xml index f1ed5c174924..7fe253c38530 100644 --- a/java-document-ai/google-cloud-document-ai-bom/pom.xml +++ b/java-document-ai/google-cloud-document-ai-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-document-ai-bom - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -22,27 +22,27 @@ com.google.cloud google-cloud-document-ai - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-document-ai-v1beta3 - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-document-ai-v1 - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-document-ai-v1beta3 - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-document-ai-v1 - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT diff --git a/java-document-ai/google-cloud-document-ai/pom.xml b/java-document-ai/google-cloud-document-ai/pom.xml index 6fd7661a0740..65dc5c2f40d0 100644 --- a/java-document-ai/google-cloud-document-ai/pom.xml +++ b/java-document-ai/google-cloud-document-ai/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-document-ai - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT jar Google Cloud Document AI Java idiomatic client for Google Cloud Document AI com.google.cloud google-cloud-document-ai-parent - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT google-cloud-document-ai diff --git a/java-document-ai/google-cloud-document-ai/src/main/java/com/google/cloud/documentai/v1/stub/Version.java b/java-document-ai/google-cloud-document-ai/src/main/java/com/google/cloud/documentai/v1/stub/Version.java index 1a263ef2bec6..cd169838343d 100644 --- a/java-document-ai/google-cloud-document-ai/src/main/java/com/google/cloud/documentai/v1/stub/Version.java +++ b/java-document-ai/google-cloud-document-ai/src/main/java/com/google/cloud/documentai/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-document-ai:current} - static final String VERSION = "2.99.0-SNAPSHOT"; + static final String VERSION = "2.100.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-document-ai/google-cloud-document-ai/src/main/java/com/google/cloud/documentai/v1beta3/stub/Version.java b/java-document-ai/google-cloud-document-ai/src/main/java/com/google/cloud/documentai/v1beta3/stub/Version.java index 8a656578c4a2..4f8a733f5ac1 100644 --- a/java-document-ai/google-cloud-document-ai/src/main/java/com/google/cloud/documentai/v1beta3/stub/Version.java +++ b/java-document-ai/google-cloud-document-ai/src/main/java/com/google/cloud/documentai/v1beta3/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-document-ai:current} - static final String VERSION = "2.99.0-SNAPSHOT"; + static final String VERSION = "2.100.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-document-ai/grpc-google-cloud-document-ai-v1/pom.xml b/java-document-ai/grpc-google-cloud-document-ai-v1/pom.xml index 64caadc8af43..016fa3184852 100644 --- a/java-document-ai/grpc-google-cloud-document-ai-v1/pom.xml +++ b/java-document-ai/grpc-google-cloud-document-ai-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-document-ai-v1 - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT grpc-google-cloud-document-ai-v1 GRPC library for google-cloud-document-ai com.google.cloud google-cloud-document-ai-parent - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT diff --git a/java-document-ai/grpc-google-cloud-document-ai-v1beta3/pom.xml b/java-document-ai/grpc-google-cloud-document-ai-v1beta3/pom.xml index 9286b967197c..1e85747e9b0d 100644 --- a/java-document-ai/grpc-google-cloud-document-ai-v1beta3/pom.xml +++ b/java-document-ai/grpc-google-cloud-document-ai-v1beta3/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-document-ai-v1beta3 - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT grpc-google-cloud-document-ai-v1beta3 GRPC library for grpc-google-cloud-document-ai-v1beta3 com.google.cloud google-cloud-document-ai-parent - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT diff --git a/java-document-ai/pom.xml b/java-document-ai/pom.xml index 37b60957e539..6f3fbd4f2aed 100644 --- a/java-document-ai/pom.xml +++ b/java-document-ai/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-document-ai-parent pom - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT Google Cloud Document AI Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-document-ai-v1 - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-document-ai-v1 - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT com.google.cloud google-cloud-document-ai - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-document-ai-v1beta3 - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT com.google.api.grpc proto-google-cloud-document-ai-v1beta3 - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT diff --git a/java-document-ai/proto-google-cloud-document-ai-v1/pom.xml b/java-document-ai/proto-google-cloud-document-ai-v1/pom.xml index 7d4ba7c428c6..3c2ec6f4221b 100644 --- a/java-document-ai/proto-google-cloud-document-ai-v1/pom.xml +++ b/java-document-ai/proto-google-cloud-document-ai-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-document-ai-v1 - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT proto-google-cloud-document-ai-v1 Proto library for google-cloud-document-ai com.google.cloud google-cloud-document-ai-parent - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT diff --git a/java-document-ai/proto-google-cloud-document-ai-v1beta3/pom.xml b/java-document-ai/proto-google-cloud-document-ai-v1beta3/pom.xml index aa48dda05330..01242333d565 100644 --- a/java-document-ai/proto-google-cloud-document-ai-v1beta3/pom.xml +++ b/java-document-ai/proto-google-cloud-document-ai-v1beta3/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-document-ai-v1beta3 - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT proto-google-cloud-document-ai-v1beta3 PROTO library for proto-google-cloud-document-ai-v1beta3 com.google.cloud google-cloud-document-ai-parent - 2.99.0-SNAPSHOT + 2.100.0-SNAPSHOT diff --git a/java-domains/google-cloud-domains-bom/pom.xml b/java-domains/google-cloud-domains-bom/pom.xml index 40eff05d2804..36d35831c6da 100644 --- a/java-domains/google-cloud-domains-bom/pom.xml +++ b/java-domains/google-cloud-domains-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-domains-bom - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,37 +28,37 @@ com.google.cloud google-cloud-domains - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-domains-v1beta1 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-domains-v1alpha2 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-domains-v1 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-domains-v1beta1 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-domains-v1alpha2 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-domains-v1 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT diff --git a/java-domains/google-cloud-domains/pom.xml b/java-domains/google-cloud-domains/pom.xml index ef0cdd524b92..6bc8f1d9ce65 100644 --- a/java-domains/google-cloud-domains/pom.xml +++ b/java-domains/google-cloud-domains/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-domains - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT jar Google Cloud Domains allows you to register and manage domains by using Cloud Domains. com.google.cloud google-cloud-domains-parent - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT google-cloud-domains diff --git a/java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1/stub/Version.java b/java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1/stub/Version.java index b9e33df8ec63..395db2b07763 100644 --- a/java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1/stub/Version.java +++ b/java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-domains:current} - static final String VERSION = "1.92.0-SNAPSHOT"; + static final String VERSION = "1.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1alpha2/stub/Version.java b/java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1alpha2/stub/Version.java index 4e8f1a1a97ef..6b933b66b3fe 100644 --- a/java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1alpha2/stub/Version.java +++ b/java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1alpha2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-domains:current} - static final String VERSION = "1.92.0-SNAPSHOT"; + static final String VERSION = "1.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1beta1/stub/Version.java b/java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1beta1/stub/Version.java index 1dcee83da34e..bc6192bcda66 100644 --- a/java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1beta1/stub/Version.java +++ b/java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-domains:current} - static final String VERSION = "1.92.0-SNAPSHOT"; + static final String VERSION = "1.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-domains/grpc-google-cloud-domains-v1/pom.xml b/java-domains/grpc-google-cloud-domains-v1/pom.xml index c39bfdfec7be..ab9f7c60906e 100644 --- a/java-domains/grpc-google-cloud-domains-v1/pom.xml +++ b/java-domains/grpc-google-cloud-domains-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-domains-v1 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT grpc-google-cloud-domains-v1 GRPC library for google-cloud-domains com.google.cloud google-cloud-domains-parent - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT diff --git a/java-domains/grpc-google-cloud-domains-v1alpha2/pom.xml b/java-domains/grpc-google-cloud-domains-v1alpha2/pom.xml index 67d71c742d08..261512c0b12e 100644 --- a/java-domains/grpc-google-cloud-domains-v1alpha2/pom.xml +++ b/java-domains/grpc-google-cloud-domains-v1alpha2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-domains-v1alpha2 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT grpc-google-cloud-domains-v1alpha2 GRPC library for google-cloud-domains com.google.cloud google-cloud-domains-parent - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT diff --git a/java-domains/grpc-google-cloud-domains-v1beta1/pom.xml b/java-domains/grpc-google-cloud-domains-v1beta1/pom.xml index 48ea921bdec9..c5ab5cf23a77 100644 --- a/java-domains/grpc-google-cloud-domains-v1beta1/pom.xml +++ b/java-domains/grpc-google-cloud-domains-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-domains-v1beta1 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT grpc-google-cloud-domains-v1beta1 GRPC library for google-cloud-domains com.google.cloud google-cloud-domains-parent - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT diff --git a/java-domains/pom.xml b/java-domains/pom.xml index a8fc341a6a9a..c3c3cb003c89 100644 --- a/java-domains/pom.xml +++ b/java-domains/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-domains-parent pom - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT Google Cloud Domains Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.cloud google-cloud-domains - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-domains-v1 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-domains-v1 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-domains-v1alpha2 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-domains-v1alpha2 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-domains-v1beta1 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-domains-v1beta1 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT diff --git a/java-domains/proto-google-cloud-domains-v1/pom.xml b/java-domains/proto-google-cloud-domains-v1/pom.xml index 1b73d4ef2f71..7957bbe92b26 100644 --- a/java-domains/proto-google-cloud-domains-v1/pom.xml +++ b/java-domains/proto-google-cloud-domains-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-domains-v1 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT proto-google-cloud-domains-v1 Proto library for google-cloud-domains com.google.cloud google-cloud-domains-parent - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT diff --git a/java-domains/proto-google-cloud-domains-v1alpha2/pom.xml b/java-domains/proto-google-cloud-domains-v1alpha2/pom.xml index 51ea6152e760..c9eb3a167e41 100644 --- a/java-domains/proto-google-cloud-domains-v1alpha2/pom.xml +++ b/java-domains/proto-google-cloud-domains-v1alpha2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-domains-v1alpha2 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT proto-google-cloud-domains-v1alpha2 Proto library for google-cloud-domains com.google.cloud google-cloud-domains-parent - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT diff --git a/java-domains/proto-google-cloud-domains-v1beta1/pom.xml b/java-domains/proto-google-cloud-domains-v1beta1/pom.xml index 950e53bbf8fd..8cdcb59cffff 100644 --- a/java-domains/proto-google-cloud-domains-v1beta1/pom.xml +++ b/java-domains/proto-google-cloud-domains-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-domains-v1beta1 - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT proto-google-cloud-domains-v1beta1 Proto library for google-cloud-domains com.google.cloud google-cloud-domains-parent - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT diff --git a/java-edgenetwork/google-cloud-edgenetwork-bom/pom.xml b/java-edgenetwork/google-cloud-edgenetwork-bom/pom.xml index 620942ed047d..4050d21d3040 100644 --- a/java-edgenetwork/google-cloud-edgenetwork-bom/pom.xml +++ b/java-edgenetwork/google-cloud-edgenetwork-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-edgenetwork-bom - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-edgenetwork - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-edgenetwork-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc proto-google-cloud-edgenetwork-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-edgenetwork/google-cloud-edgenetwork/pom.xml b/java-edgenetwork/google-cloud-edgenetwork/pom.xml index 30addc9938df..1dc16e1d9524 100644 --- a/java-edgenetwork/google-cloud-edgenetwork/pom.xml +++ b/java-edgenetwork/google-cloud-edgenetwork/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-edgenetwork - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT jar Google Distributed Cloud Edge Network API Distributed Cloud Edge Network API Network management API for Distributed Cloud Edge. com.google.cloud google-cloud-edgenetwork-parent - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT google-cloud-edgenetwork diff --git a/java-edgenetwork/google-cloud-edgenetwork/src/main/java/com/google/cloud/edgenetwork/v1/stub/Version.java b/java-edgenetwork/google-cloud-edgenetwork/src/main/java/com/google/cloud/edgenetwork/v1/stub/Version.java index 74d4a35f3889..776b16fa17c4 100644 --- a/java-edgenetwork/google-cloud-edgenetwork/src/main/java/com/google/cloud/edgenetwork/v1/stub/Version.java +++ b/java-edgenetwork/google-cloud-edgenetwork/src/main/java/com/google/cloud/edgenetwork/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-edgenetwork:current} - static final String VERSION = "0.63.0-SNAPSHOT"; + static final String VERSION = "0.64.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-edgenetwork/grpc-google-cloud-edgenetwork-v1/pom.xml b/java-edgenetwork/grpc-google-cloud-edgenetwork-v1/pom.xml index e79b5c191e31..3a92e97c3f64 100644 --- a/java-edgenetwork/grpc-google-cloud-edgenetwork-v1/pom.xml +++ b/java-edgenetwork/grpc-google-cloud-edgenetwork-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-edgenetwork-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT grpc-google-cloud-edgenetwork-v1 GRPC library for google-cloud-edgenetwork com.google.cloud google-cloud-edgenetwork-parent - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-edgenetwork/pom.xml b/java-edgenetwork/pom.xml index 86aa6626d724..9d24beba03e8 100644 --- a/java-edgenetwork/pom.xml +++ b/java-edgenetwork/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-edgenetwork-parent pom - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT Google Distributed Cloud Edge Network API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-edgenetwork - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-edgenetwork-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc proto-google-cloud-edgenetwork-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-edgenetwork/proto-google-cloud-edgenetwork-v1/pom.xml b/java-edgenetwork/proto-google-cloud-edgenetwork-v1/pom.xml index 16e44f0a43c7..7c745af5710d 100644 --- a/java-edgenetwork/proto-google-cloud-edgenetwork-v1/pom.xml +++ b/java-edgenetwork/proto-google-cloud-edgenetwork-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-edgenetwork-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT proto-google-cloud-edgenetwork-v1 Proto library for google-cloud-edgenetwork com.google.cloud google-cloud-edgenetwork-parent - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-enterpriseknowledgegraph/google-cloud-enterpriseknowledgegraph-bom/pom.xml b/java-enterpriseknowledgegraph/google-cloud-enterpriseknowledgegraph-bom/pom.xml index a27868a1d7a8..5e63123146af 100644 --- a/java-enterpriseknowledgegraph/google-cloud-enterpriseknowledgegraph-bom/pom.xml +++ b/java-enterpriseknowledgegraph/google-cloud-enterpriseknowledgegraph-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-enterpriseknowledgegraph-bom - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-enterpriseknowledgegraph - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-enterpriseknowledgegraph-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc proto-google-cloud-enterpriseknowledgegraph-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT diff --git a/java-enterpriseknowledgegraph/google-cloud-enterpriseknowledgegraph/pom.xml b/java-enterpriseknowledgegraph/google-cloud-enterpriseknowledgegraph/pom.xml index 8a256b07696a..dbb105e35b23 100644 --- a/java-enterpriseknowledgegraph/google-cloud-enterpriseknowledgegraph/pom.xml +++ b/java-enterpriseknowledgegraph/google-cloud-enterpriseknowledgegraph/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-enterpriseknowledgegraph - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT jar Google Enterprise Knowledge Graph Enterprise Knowledge Graph Enterprise Knowledge Graph organizes siloed information into organizational knowledge, which involves consolidating, standardizing, and reconciling data in an efficient and useful way. com.google.cloud google-cloud-enterpriseknowledgegraph-parent - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT google-cloud-enterpriseknowledgegraph diff --git a/java-enterpriseknowledgegraph/google-cloud-enterpriseknowledgegraph/src/main/java/com/google/cloud/enterpriseknowledgegraph/v1/stub/Version.java b/java-enterpriseknowledgegraph/google-cloud-enterpriseknowledgegraph/src/main/java/com/google/cloud/enterpriseknowledgegraph/v1/stub/Version.java index 01c45d5944f0..c2d93508e154 100644 --- a/java-enterpriseknowledgegraph/google-cloud-enterpriseknowledgegraph/src/main/java/com/google/cloud/enterpriseknowledgegraph/v1/stub/Version.java +++ b/java-enterpriseknowledgegraph/google-cloud-enterpriseknowledgegraph/src/main/java/com/google/cloud/enterpriseknowledgegraph/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-enterpriseknowledgegraph:current} - static final String VERSION = "0.91.0-SNAPSHOT"; + static final String VERSION = "0.92.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-enterpriseknowledgegraph/grpc-google-cloud-enterpriseknowledgegraph-v1/pom.xml b/java-enterpriseknowledgegraph/grpc-google-cloud-enterpriseknowledgegraph-v1/pom.xml index 089ab294bb22..20e87333a5d1 100644 --- a/java-enterpriseknowledgegraph/grpc-google-cloud-enterpriseknowledgegraph-v1/pom.xml +++ b/java-enterpriseknowledgegraph/grpc-google-cloud-enterpriseknowledgegraph-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-enterpriseknowledgegraph-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT grpc-google-cloud-enterpriseknowledgegraph-v1 GRPC library for google-cloud-enterpriseknowledgegraph com.google.cloud google-cloud-enterpriseknowledgegraph-parent - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT diff --git a/java-enterpriseknowledgegraph/pom.xml b/java-enterpriseknowledgegraph/pom.xml index d169a6f18a29..446cecfa4bde 100644 --- a/java-enterpriseknowledgegraph/pom.xml +++ b/java-enterpriseknowledgegraph/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-enterpriseknowledgegraph-parent pom - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT Google Enterprise Knowledge Graph Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-enterpriseknowledgegraph - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-enterpriseknowledgegraph-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT com.google.api.grpc proto-google-cloud-enterpriseknowledgegraph-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT diff --git a/java-enterpriseknowledgegraph/proto-google-cloud-enterpriseknowledgegraph-v1/pom.xml b/java-enterpriseknowledgegraph/proto-google-cloud-enterpriseknowledgegraph-v1/pom.xml index 148026b688b0..ab359548064e 100644 --- a/java-enterpriseknowledgegraph/proto-google-cloud-enterpriseknowledgegraph-v1/pom.xml +++ b/java-enterpriseknowledgegraph/proto-google-cloud-enterpriseknowledgegraph-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-enterpriseknowledgegraph-v1 - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT proto-google-cloud-enterpriseknowledgegraph-v1 Proto library for google-cloud-enterpriseknowledgegraph com.google.cloud google-cloud-enterpriseknowledgegraph-parent - 0.91.0-SNAPSHOT + 0.92.0-SNAPSHOT diff --git a/java-errorreporting/google-cloud-errorreporting-bom/pom.xml b/java-errorreporting/google-cloud-errorreporting-bom/pom.xml index cb83633cfa02..e9eb3b6fb93e 100644 --- a/java-errorreporting/google-cloud-errorreporting-bom/pom.xml +++ b/java-errorreporting/google-cloud-errorreporting-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-errorreporting-bom - 0.216.0-beta-SNAPSHOT + 0.217.0-beta-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-errorreporting - 0.216.0-beta-SNAPSHOT + 0.217.0-beta-SNAPSHOT com.google.api.grpc grpc-google-cloud-error-reporting-v1beta1 - 0.216.0-beta-SNAPSHOT + 0.217.0-beta-SNAPSHOT com.google.api.grpc proto-google-cloud-error-reporting-v1beta1 - 0.216.0-beta-SNAPSHOT + 0.217.0-beta-SNAPSHOT diff --git a/java-errorreporting/google-cloud-errorreporting/pom.xml b/java-errorreporting/google-cloud-errorreporting/pom.xml index e84af0a338fb..0c96fdbcc8ac 100644 --- a/java-errorreporting/google-cloud-errorreporting/pom.xml +++ b/java-errorreporting/google-cloud-errorreporting/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-errorreporting - 0.216.0-beta-SNAPSHOT + 0.217.0-beta-SNAPSHOT jar Google Cloud Error Reporting Java idiomatic client for Google Cloud Error Reporting com.google.cloud google-cloud-errorreporting-parent - 0.216.0-beta-SNAPSHOT + 0.217.0-beta-SNAPSHOT google-cloud-errorreporting diff --git a/java-errorreporting/google-cloud-errorreporting/src/main/java/com/google/devtools/clouderrorreporting/v1beta1/stub/Version.java b/java-errorreporting/google-cloud-errorreporting/src/main/java/com/google/devtools/clouderrorreporting/v1beta1/stub/Version.java index 9c4e42ea4334..932ccef37855 100644 --- a/java-errorreporting/google-cloud-errorreporting/src/main/java/com/google/devtools/clouderrorreporting/v1beta1/stub/Version.java +++ b/java-errorreporting/google-cloud-errorreporting/src/main/java/com/google/devtools/clouderrorreporting/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-errorreporting:current} - static final String VERSION = "0.216.0-beta-SNAPSHOT"; + static final String VERSION = "0.217.0-beta-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-errorreporting/grpc-google-cloud-error-reporting-v1beta1/pom.xml b/java-errorreporting/grpc-google-cloud-error-reporting-v1beta1/pom.xml index 7cab53cb4e08..eabe1a3d348f 100644 --- a/java-errorreporting/grpc-google-cloud-error-reporting-v1beta1/pom.xml +++ b/java-errorreporting/grpc-google-cloud-error-reporting-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-error-reporting-v1beta1 - 0.216.0-beta-SNAPSHOT + 0.217.0-beta-SNAPSHOT grpc-google-cloud-error-reporting-v1beta1 GRPC library for grpc-google-cloud-error-reporting-v1beta1 com.google.cloud google-cloud-errorreporting-parent - 0.216.0-beta-SNAPSHOT + 0.217.0-beta-SNAPSHOT diff --git a/java-errorreporting/pom.xml b/java-errorreporting/pom.xml index 26c9e54c05b7..df42248c0f09 100644 --- a/java-errorreporting/pom.xml +++ b/java-errorreporting/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-errorreporting-parent pom - 0.216.0-beta-SNAPSHOT + 0.217.0-beta-SNAPSHOT Google Cloud Error Reporting Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-errorreporting - 0.216.0-beta-SNAPSHOT + 0.217.0-beta-SNAPSHOT com.google.api.grpc proto-google-cloud-error-reporting-v1beta1 - 0.216.0-beta-SNAPSHOT + 0.217.0-beta-SNAPSHOT com.google.api.grpc grpc-google-cloud-error-reporting-v1beta1 - 0.216.0-beta-SNAPSHOT + 0.217.0-beta-SNAPSHOT diff --git a/java-errorreporting/proto-google-cloud-error-reporting-v1beta1/pom.xml b/java-errorreporting/proto-google-cloud-error-reporting-v1beta1/pom.xml index 263235f6ac93..08be3d2fb65b 100644 --- a/java-errorreporting/proto-google-cloud-error-reporting-v1beta1/pom.xml +++ b/java-errorreporting/proto-google-cloud-error-reporting-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-error-reporting-v1beta1 - 0.216.0-beta-SNAPSHOT + 0.217.0-beta-SNAPSHOT proto-google-cloud-error-reporting-v1beta1 PROTO library for proto-google-cloud-error-reporting-v1beta1 com.google.cloud google-cloud-errorreporting-parent - 0.216.0-beta-SNAPSHOT + 0.217.0-beta-SNAPSHOT diff --git a/java-essential-contacts/google-cloud-essential-contacts-bom/pom.xml b/java-essential-contacts/google-cloud-essential-contacts-bom/pom.xml index 8011f5ad4f84..391e81147bae 100644 --- a/java-essential-contacts/google-cloud-essential-contacts-bom/pom.xml +++ b/java-essential-contacts/google-cloud-essential-contacts-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-essential-contacts-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-essential-contacts - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-essential-contacts-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-essential-contacts-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-essential-contacts/google-cloud-essential-contacts/pom.xml b/java-essential-contacts/google-cloud-essential-contacts/pom.xml index 0634df2d10a2..289465e3d450 100644 --- a/java-essential-contacts/google-cloud-essential-contacts/pom.xml +++ b/java-essential-contacts/google-cloud-essential-contacts/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-essential-contacts - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Essential Contacts API Essential Contacts API helps you customize who receives notifications by providing your own list of contacts in many Google Cloud services. com.google.cloud google-cloud-essential-contacts-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-essential-contacts diff --git a/java-essential-contacts/google-cloud-essential-contacts/src/main/java/com/google/cloud/essentialcontacts/v1/stub/Version.java b/java-essential-contacts/google-cloud-essential-contacts/src/main/java/com/google/cloud/essentialcontacts/v1/stub/Version.java index 9b2e6d9108dc..6859cbad98ac 100644 --- a/java-essential-contacts/google-cloud-essential-contacts/src/main/java/com/google/cloud/essentialcontacts/v1/stub/Version.java +++ b/java-essential-contacts/google-cloud-essential-contacts/src/main/java/com/google/cloud/essentialcontacts/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-essential-contacts:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-essential-contacts/grpc-google-cloud-essential-contacts-v1/pom.xml b/java-essential-contacts/grpc-google-cloud-essential-contacts-v1/pom.xml index 1458c14951f2..2855bac18b71 100644 --- a/java-essential-contacts/grpc-google-cloud-essential-contacts-v1/pom.xml +++ b/java-essential-contacts/grpc-google-cloud-essential-contacts-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-essential-contacts-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-essential-contacts-v1 GRPC library for google-cloud-essential-contacts com.google.cloud google-cloud-essential-contacts-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-essential-contacts/pom.xml b/java-essential-contacts/pom.xml index 64be9f214fea..e3494ba05903 100644 --- a/java-essential-contacts/pom.xml +++ b/java-essential-contacts/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-essential-contacts-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Essential Contacts API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-essential-contacts - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-essential-contacts-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-essential-contacts-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-essential-contacts/proto-google-cloud-essential-contacts-v1/pom.xml b/java-essential-contacts/proto-google-cloud-essential-contacts-v1/pom.xml index e73500a78826..9eca44118dff 100644 --- a/java-essential-contacts/proto-google-cloud-essential-contacts-v1/pom.xml +++ b/java-essential-contacts/proto-google-cloud-essential-contacts-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-essential-contacts-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-essential-contacts-v1 Proto library for google-cloud-essential-contacts com.google.cloud google-cloud-essential-contacts-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-eventarc-publishing/google-cloud-eventarc-publishing-bom/pom.xml b/java-eventarc-publishing/google-cloud-eventarc-publishing-bom/pom.xml index ce25c5f1f4f2..2eacb326853d 100644 --- a/java-eventarc-publishing/google-cloud-eventarc-publishing-bom/pom.xml +++ b/java-eventarc-publishing/google-cloud-eventarc-publishing-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-eventarc-publishing-bom - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-eventarc-publishing - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-eventarc-publishing-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-eventarc-publishing-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-eventarc-publishing/google-cloud-eventarc-publishing/pom.xml b/java-eventarc-publishing/google-cloud-eventarc-publishing/pom.xml index e0c9f9a97ac4..962a391fefe6 100644 --- a/java-eventarc-publishing/google-cloud-eventarc-publishing/pom.xml +++ b/java-eventarc-publishing/google-cloud-eventarc-publishing/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-eventarc-publishing - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT jar Google Eventarc Publishing Eventarc Publishing lets you asynchronously deliver events from Google services, SaaS, and your own apps using loosely coupled services that react to state changes. com.google.cloud google-cloud-eventarc-publishing-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT google-cloud-eventarc-publishing diff --git a/java-eventarc-publishing/google-cloud-eventarc-publishing/src/main/java/com/google/cloud/eventarc/publishing/v1/stub/Version.java b/java-eventarc-publishing/google-cloud-eventarc-publishing/src/main/java/com/google/cloud/eventarc/publishing/v1/stub/Version.java index 7bd6c2208003..9f859b3e6fa2 100644 --- a/java-eventarc-publishing/google-cloud-eventarc-publishing/src/main/java/com/google/cloud/eventarc/publishing/v1/stub/Version.java +++ b/java-eventarc-publishing/google-cloud-eventarc-publishing/src/main/java/com/google/cloud/eventarc/publishing/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-eventarc-publishing:current} - static final String VERSION = "0.95.0-SNAPSHOT"; + static final String VERSION = "0.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-eventarc-publishing/grpc-google-cloud-eventarc-publishing-v1/pom.xml b/java-eventarc-publishing/grpc-google-cloud-eventarc-publishing-v1/pom.xml index 33f5f05ebdf9..ec978505c4d0 100644 --- a/java-eventarc-publishing/grpc-google-cloud-eventarc-publishing-v1/pom.xml +++ b/java-eventarc-publishing/grpc-google-cloud-eventarc-publishing-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-eventarc-publishing-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT grpc-google-cloud-eventarc-publishing-v1 GRPC library for google-cloud-eventarc-publishing com.google.cloud google-cloud-eventarc-publishing-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-eventarc-publishing/pom.xml b/java-eventarc-publishing/pom.xml index f02f517527ae..473133a2980b 100644 --- a/java-eventarc-publishing/pom.xml +++ b/java-eventarc-publishing/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-eventarc-publishing-parent pom - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT Google Eventarc Publishing Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-eventarc-publishing - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-eventarc-publishing-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-eventarc-publishing-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-eventarc-publishing/proto-google-cloud-eventarc-publishing-v1/pom.xml b/java-eventarc-publishing/proto-google-cloud-eventarc-publishing-v1/pom.xml index cbd33fb9fc4b..075bd01935e6 100644 --- a/java-eventarc-publishing/proto-google-cloud-eventarc-publishing-v1/pom.xml +++ b/java-eventarc-publishing/proto-google-cloud-eventarc-publishing-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-eventarc-publishing-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT proto-google-cloud-eventarc-publishing-v1 Proto library for google-cloud-eventarc-publishing com.google.cloud google-cloud-eventarc-publishing-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-eventarc/google-cloud-eventarc-bom/pom.xml b/java-eventarc/google-cloud-eventarc-bom/pom.xml index 6a40c8d15e12..67aa41eda648 100644 --- a/java-eventarc/google-cloud-eventarc-bom/pom.xml +++ b/java-eventarc/google-cloud-eventarc-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-eventarc-bom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-eventarc - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-eventarc-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-eventarc-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-eventarc/google-cloud-eventarc/pom.xml b/java-eventarc/google-cloud-eventarc/pom.xml index b1b59fa158e2..052f9b522cb4 100644 --- a/java-eventarc/google-cloud-eventarc/pom.xml +++ b/java-eventarc/google-cloud-eventarc/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-eventarc - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT jar Google Eventarc Eventarc lets you asynchronously deliver events from Google services, SaaS, and your own apps using loosely coupled services that react to state changes. com.google.cloud google-cloud-eventarc-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT google-cloud-eventarc diff --git a/java-eventarc/google-cloud-eventarc/src/main/java/com/google/cloud/eventarc/v1/stub/Version.java b/java-eventarc/google-cloud-eventarc/src/main/java/com/google/cloud/eventarc/v1/stub/Version.java index 9e102a135e73..804714bb8571 100644 --- a/java-eventarc/google-cloud-eventarc/src/main/java/com/google/cloud/eventarc/v1/stub/Version.java +++ b/java-eventarc/google-cloud-eventarc/src/main/java/com/google/cloud/eventarc/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-eventarc:current} - static final String VERSION = "1.95.0-SNAPSHOT"; + static final String VERSION = "1.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-eventarc/grpc-google-cloud-eventarc-v1/pom.xml b/java-eventarc/grpc-google-cloud-eventarc-v1/pom.xml index 783508582675..470a7640ff03 100644 --- a/java-eventarc/grpc-google-cloud-eventarc-v1/pom.xml +++ b/java-eventarc/grpc-google-cloud-eventarc-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-eventarc-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT grpc-google-cloud-eventarc-v1 GRPC library for google-cloud-eventarc com.google.cloud google-cloud-eventarc-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-eventarc/pom.xml b/java-eventarc/pom.xml index ed3b30ed27ae..f3eae93a1cf5 100644 --- a/java-eventarc/pom.xml +++ b/java-eventarc/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-eventarc-parent pom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT Google Eventarc Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-eventarc - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-eventarc-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-eventarc-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-eventarc/proto-google-cloud-eventarc-v1/pom.xml b/java-eventarc/proto-google-cloud-eventarc-v1/pom.xml index eff37d16e8f6..39c0b8a379cc 100644 --- a/java-eventarc/proto-google-cloud-eventarc-v1/pom.xml +++ b/java-eventarc/proto-google-cloud-eventarc-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-eventarc-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT proto-google-cloud-eventarc-v1 Proto library for google-cloud-eventarc com.google.cloud google-cloud-eventarc-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-filestore/google-cloud-filestore-bom/pom.xml b/java-filestore/google-cloud-filestore-bom/pom.xml index 7fa1f3d5f704..6cc6f5ed2822 100644 --- a/java-filestore/google-cloud-filestore-bom/pom.xml +++ b/java-filestore/google-cloud-filestore-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-filestore-bom - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-filestore - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-filestore-v1beta1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-filestore-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-filestore-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-filestore-v1beta1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-filestore/google-cloud-filestore/pom.xml b/java-filestore/google-cloud-filestore/pom.xml index bcf5c1165e03..2ab1d1bdc76c 100644 --- a/java-filestore/google-cloud-filestore/pom.xml +++ b/java-filestore/google-cloud-filestore/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-filestore - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT jar Google Cloud Filestore API Cloud Filestore API instances are fully managed NFS file servers on Google Cloud for use with applications running on Compute Engine virtual machines (VMs) instances or Google Kubernetes Engine clusters. com.google.cloud google-cloud-filestore-parent - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT google-cloud-filestore diff --git a/java-filestore/google-cloud-filestore/src/main/java/com/google/cloud/filestore/v1/stub/Version.java b/java-filestore/google-cloud-filestore/src/main/java/com/google/cloud/filestore/v1/stub/Version.java index 9a80b7d27752..552493239b5f 100644 --- a/java-filestore/google-cloud-filestore/src/main/java/com/google/cloud/filestore/v1/stub/Version.java +++ b/java-filestore/google-cloud-filestore/src/main/java/com/google/cloud/filestore/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-filestore:current} - static final String VERSION = "1.96.0-SNAPSHOT"; + static final String VERSION = "1.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-filestore/google-cloud-filestore/src/main/java/com/google/cloud/filestore/v1beta1/stub/Version.java b/java-filestore/google-cloud-filestore/src/main/java/com/google/cloud/filestore/v1beta1/stub/Version.java index 6b0e1e6c8c70..ef077509ea98 100644 --- a/java-filestore/google-cloud-filestore/src/main/java/com/google/cloud/filestore/v1beta1/stub/Version.java +++ b/java-filestore/google-cloud-filestore/src/main/java/com/google/cloud/filestore/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-filestore:current} - static final String VERSION = "1.96.0-SNAPSHOT"; + static final String VERSION = "1.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-filestore/grpc-google-cloud-filestore-v1/pom.xml b/java-filestore/grpc-google-cloud-filestore-v1/pom.xml index 6d6cf00c42b0..4d2c09612a51 100644 --- a/java-filestore/grpc-google-cloud-filestore-v1/pom.xml +++ b/java-filestore/grpc-google-cloud-filestore-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-filestore-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT grpc-google-cloud-filestore-v1 GRPC library for google-cloud-filestore com.google.cloud google-cloud-filestore-parent - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-filestore/grpc-google-cloud-filestore-v1beta1/pom.xml b/java-filestore/grpc-google-cloud-filestore-v1beta1/pom.xml index cb7118efecea..fb6d8e09d971 100644 --- a/java-filestore/grpc-google-cloud-filestore-v1beta1/pom.xml +++ b/java-filestore/grpc-google-cloud-filestore-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-filestore-v1beta1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT grpc-google-cloud-filestore-v1beta1 GRPC library for google-cloud-filestore com.google.cloud google-cloud-filestore-parent - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-filestore/pom.xml b/java-filestore/pom.xml index 432087478268..3710fa711b20 100644 --- a/java-filestore/pom.xml +++ b/java-filestore/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-filestore-parent pom - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT Google Cloud Filestore API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-filestore - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-filestore-v1beta1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-filestore-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-filestore-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-filestore-v1beta1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-filestore/proto-google-cloud-filestore-v1/pom.xml b/java-filestore/proto-google-cloud-filestore-v1/pom.xml index 9135d4e27582..be4bfe22366f 100644 --- a/java-filestore/proto-google-cloud-filestore-v1/pom.xml +++ b/java-filestore/proto-google-cloud-filestore-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-filestore-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT proto-google-cloud-filestore-v1 Proto library for google-cloud-filestore com.google.cloud google-cloud-filestore-parent - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-filestore/proto-google-cloud-filestore-v1beta1/pom.xml b/java-filestore/proto-google-cloud-filestore-v1beta1/pom.xml index 1701753b6141..d9585a544594 100644 --- a/java-filestore/proto-google-cloud-filestore-v1beta1/pom.xml +++ b/java-filestore/proto-google-cloud-filestore-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-filestore-v1beta1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT proto-google-cloud-filestore-v1beta1 Proto library for google-cloud-filestore com.google.cloud google-cloud-filestore-parent - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-financialservices/google-cloud-financialservices-bom/pom.xml b/java-financialservices/google-cloud-financialservices-bom/pom.xml index 3ef8da4cae3f..bb8ffec0ef90 100644 --- a/java-financialservices/google-cloud-financialservices-bom/pom.xml +++ b/java-financialservices/google-cloud-financialservices-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-financialservices-bom - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-financialservices - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-financialservices-v1 - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT com.google.api.grpc proto-google-cloud-financialservices-v1 - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT diff --git a/java-financialservices/google-cloud-financialservices/pom.xml b/java-financialservices/google-cloud-financialservices/pom.xml index 267953e27739..8c951d1330f3 100644 --- a/java-financialservices/google-cloud-financialservices/pom.xml +++ b/java-financialservices/google-cloud-financialservices/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-financialservices - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT jar Google Financial Services API Financial Services API Google Cloud's Anti Money Laundering AI (AML AI) product is an API that scores AML risk. Use it to identify more risk, more defensibly, with fewer false positives and reduced time per review. com.google.cloud google-cloud-financialservices-parent - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT google-cloud-financialservices diff --git a/java-financialservices/google-cloud-financialservices/src/main/java/com/google/cloud/financialservices/v1/stub/Version.java b/java-financialservices/google-cloud-financialservices/src/main/java/com/google/cloud/financialservices/v1/stub/Version.java index 8143d8a6598b..2400d8cc593f 100644 --- a/java-financialservices/google-cloud-financialservices/src/main/java/com/google/cloud/financialservices/v1/stub/Version.java +++ b/java-financialservices/google-cloud-financialservices/src/main/java/com/google/cloud/financialservices/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-financialservices:current} - static final String VERSION = "0.36.0-SNAPSHOT"; + static final String VERSION = "0.37.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-financialservices/grpc-google-cloud-financialservices-v1/pom.xml b/java-financialservices/grpc-google-cloud-financialservices-v1/pom.xml index 5ad6c98e5a4f..132da28a4e1d 100644 --- a/java-financialservices/grpc-google-cloud-financialservices-v1/pom.xml +++ b/java-financialservices/grpc-google-cloud-financialservices-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-financialservices-v1 - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT grpc-google-cloud-financialservices-v1 GRPC library for google-cloud-financialservices com.google.cloud google-cloud-financialservices-parent - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT diff --git a/java-financialservices/pom.xml b/java-financialservices/pom.xml index 9b2022f2f875..4353d0e960bb 100644 --- a/java-financialservices/pom.xml +++ b/java-financialservices/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-financialservices-parent pom - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT Google Financial Services API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-financialservices - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-financialservices-v1 - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT com.google.api.grpc proto-google-cloud-financialservices-v1 - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT diff --git a/java-financialservices/proto-google-cloud-financialservices-v1/pom.xml b/java-financialservices/proto-google-cloud-financialservices-v1/pom.xml index b9850ebb9211..5764107524e5 100644 --- a/java-financialservices/proto-google-cloud-financialservices-v1/pom.xml +++ b/java-financialservices/proto-google-cloud-financialservices-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-financialservices-v1 - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT proto-google-cloud-financialservices-v1 Proto library for google-cloud-financialservices com.google.cloud google-cloud-financialservices-parent - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT diff --git a/java-firestore/google-cloud-firestore-admin/pom.xml b/java-firestore/google-cloud-firestore-admin/pom.xml index 44ececc238f2..74f2bcbb25f2 100644 --- a/java-firestore/google-cloud-firestore-admin/pom.xml +++ b/java-firestore/google-cloud-firestore-admin/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 google-cloud-firestore-admin - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT jar Google Cloud Firestore Admin Client @@ -13,7 +13,7 @@ com.google.cloud google-cloud-firestore-parent - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT diff --git a/java-firestore/google-cloud-firestore-bom/pom.xml b/java-firestore/google-cloud-firestore-bom/pom.xml index facb17e628bc..6e74de1cf474 100644 --- a/java-firestore/google-cloud-firestore-bom/pom.xml +++ b/java-firestore/google-cloud-firestore-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-firestore-bom - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -53,37 +53,37 @@ com.google.cloud google-cloud-firestore - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT com.google.cloud google-cloud-firestore-admin - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-firestore-admin-v1 - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-firestore-v1 - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT com.google.api.grpc proto-google-cloud-firestore-admin-v1 - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT com.google.api.grpc proto-google-cloud-firestore-v1 - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT com.google.cloud proto-google-cloud-firestore-bundle-v1 - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT diff --git a/java-firestore/google-cloud-firestore/pom.xml b/java-firestore/google-cloud-firestore/pom.xml index d854cc121121..b2f22a14467f 100644 --- a/java-firestore/google-cloud-firestore/pom.xml +++ b/java-firestore/google-cloud-firestore/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-firestore - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT jar Google Cloud Firestore @@ -11,7 +11,7 @@ com.google.cloud google-cloud-firestore-parent - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT google-cloud-firestore diff --git a/java-firestore/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1/stub/Version.java b/java-firestore/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1/stub/Version.java index 224b4963a9bd..fede10896edc 100644 --- a/java-firestore/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1/stub/Version.java +++ b/java-firestore/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-firestore:current} - static final String VERSION = "3.45.0-SNAPSHOT"; + static final String VERSION = "3.46.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-firestore/grpc-google-cloud-firestore-admin-v1/pom.xml b/java-firestore/grpc-google-cloud-firestore-admin-v1/pom.xml index 28837a44cb96..a6149f2bbc97 100644 --- a/java-firestore/grpc-google-cloud-firestore-admin-v1/pom.xml +++ b/java-firestore/grpc-google-cloud-firestore-admin-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-firestore-admin-v1 - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT grpc-google-cloud-firestore-admin-v1 GRPC library for grpc-google-cloud-firestore-admin-v1 com.google.cloud google-cloud-firestore-parent - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT diff --git a/java-firestore/grpc-google-cloud-firestore-v1/pom.xml b/java-firestore/grpc-google-cloud-firestore-v1/pom.xml index a4c512e22402..46de2ce5ba4c 100644 --- a/java-firestore/grpc-google-cloud-firestore-v1/pom.xml +++ b/java-firestore/grpc-google-cloud-firestore-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-firestore-v1 - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT grpc-google-cloud-firestore-v1 GRPC library for grpc-google-cloud-firestore-v1 com.google.cloud google-cloud-firestore-parent - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT diff --git a/java-firestore/pom.xml b/java-firestore/pom.xml index 5d45821383a8..04b20ffa9e6a 100644 --- a/java-firestore/pom.xml +++ b/java-firestore/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-firestore-parent pom - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT Google Cloud Firestore Parent https://github.com/googleapis/google-cloud-java @@ -14,7 +14,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -151,32 +151,32 @@ com.google.api.grpc proto-google-cloud-firestore-admin-v1 - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT com.google.cloud google-cloud-firestore - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT com.google.cloud proto-google-cloud-firestore-bundle-v1 - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT com.google.api.grpc proto-google-cloud-firestore-v1 - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-firestore-admin-v1 - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-firestore-v1 - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT diff --git a/java-firestore/proto-google-cloud-firestore-admin-v1/pom.xml b/java-firestore/proto-google-cloud-firestore-admin-v1/pom.xml index da2bcb9acd0d..c3ea108584f4 100644 --- a/java-firestore/proto-google-cloud-firestore-admin-v1/pom.xml +++ b/java-firestore/proto-google-cloud-firestore-admin-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-firestore-admin-v1 - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT proto-google-cloud-firestore-admin-v1 PROTO library for proto-google-cloud-firestore-admin-v1 com.google.cloud google-cloud-firestore-parent - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT diff --git a/java-firestore/proto-google-cloud-firestore-bundle-v1/pom.xml b/java-firestore/proto-google-cloud-firestore-bundle-v1/pom.xml index 318a35e6de82..eb363e2d9c76 100644 --- a/java-firestore/proto-google-cloud-firestore-bundle-v1/pom.xml +++ b/java-firestore/proto-google-cloud-firestore-bundle-v1/pom.xml @@ -5,14 +5,14 @@ 4.0.0 proto-google-cloud-firestore-bundle-v1 - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT proto-google-cloud-firestore-bundle-v1 PROTO library for proto-google-cloud-firestore-bundle-v1 com.google.cloud google-cloud-firestore-parent - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT diff --git a/java-firestore/proto-google-cloud-firestore-v1/pom.xml b/java-firestore/proto-google-cloud-firestore-v1/pom.xml index 7b7761b2c5e1..7a769d8e7c0d 100644 --- a/java-firestore/proto-google-cloud-firestore-v1/pom.xml +++ b/java-firestore/proto-google-cloud-firestore-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-firestore-v1 - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT proto-google-cloud-firestore-v1 PROTO library for proto-google-cloud-firestore-v1 com.google.cloud google-cloud-firestore-parent - 3.45.0-SNAPSHOT + 3.46.0-SNAPSHOT diff --git a/java-functions/google-cloud-functions-bom/pom.xml b/java-functions/google-cloud-functions-bom/pom.xml index acb051e0104b..c1ecacf12ee7 100644 --- a/java-functions/google-cloud-functions-bom/pom.xml +++ b/java-functions/google-cloud-functions-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-functions-bom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,47 +28,47 @@ com.google.cloud google-cloud-functions - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-functions-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-functions-v2beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-functions-v2alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-functions-v2 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-functions-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-functions-v2beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-functions-v2alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-functions-v2 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-functions/google-cloud-functions/pom.xml b/java-functions/google-cloud-functions/pom.xml index e27cebeb8122..cebf5d13c0e3 100644 --- a/java-functions/google-cloud-functions/pom.xml +++ b/java-functions/google-cloud-functions/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-functions - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT jar Google Cloud Functions is a scalable pay as you go Functions-as-a-Service (FaaS) to run your code with zero server management. com.google.cloud google-cloud-functions-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT google-cloud-functions diff --git a/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v1/stub/Version.java b/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v1/stub/Version.java index 1d596da2dd37..4a5336168405 100644 --- a/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v1/stub/Version.java +++ b/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-functions:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v2/stub/Version.java b/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v2/stub/Version.java index 0d0e80ab8a9d..bde4081b7643 100644 --- a/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v2/stub/Version.java +++ b/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-functions:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v2alpha/stub/Version.java b/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v2alpha/stub/Version.java index aba4e5e30c26..9e4d1c5209c6 100644 --- a/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v2alpha/stub/Version.java +++ b/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v2alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-functions:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v2beta/stub/Version.java b/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v2beta/stub/Version.java index a28eecdb4644..cd9498a79341 100644 --- a/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v2beta/stub/Version.java +++ b/java-functions/google-cloud-functions/src/main/java/com/google/cloud/functions/v2beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-functions:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-functions/grpc-google-cloud-functions-v1/pom.xml b/java-functions/grpc-google-cloud-functions-v1/pom.xml index d33a6cf917ed..aaf9e1ca7b00 100644 --- a/java-functions/grpc-google-cloud-functions-v1/pom.xml +++ b/java-functions/grpc-google-cloud-functions-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-functions-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-functions-v1 GRPC library for grpc-google-cloud-functions-v1 com.google.cloud google-cloud-functions-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-functions/grpc-google-cloud-functions-v2/pom.xml b/java-functions/grpc-google-cloud-functions-v2/pom.xml index dba6766a5e2a..1bc67ce5d589 100644 --- a/java-functions/grpc-google-cloud-functions-v2/pom.xml +++ b/java-functions/grpc-google-cloud-functions-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-functions-v2 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-functions-v2 GRPC library for google-cloud-functions com.google.cloud google-cloud-functions-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-functions/grpc-google-cloud-functions-v2alpha/pom.xml b/java-functions/grpc-google-cloud-functions-v2alpha/pom.xml index 48cc34b938e4..0f41f449b822 100644 --- a/java-functions/grpc-google-cloud-functions-v2alpha/pom.xml +++ b/java-functions/grpc-google-cloud-functions-v2alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-functions-v2alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-functions-v2alpha GRPC library for google-cloud-functions com.google.cloud google-cloud-functions-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-functions/grpc-google-cloud-functions-v2beta/pom.xml b/java-functions/grpc-google-cloud-functions-v2beta/pom.xml index 7d7f9df6c3ad..626ae455d1db 100644 --- a/java-functions/grpc-google-cloud-functions-v2beta/pom.xml +++ b/java-functions/grpc-google-cloud-functions-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-functions-v2beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-functions-v2beta GRPC library for google-cloud-functions com.google.cloud google-cloud-functions-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-functions/pom.xml b/java-functions/pom.xml index bb68dc2f85fb..07e51d68303d 100644 --- a/java-functions/pom.xml +++ b/java-functions/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-functions-parent pom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT Google Cloud Functions Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,47 +30,47 @@ com.google.cloud google-cloud-functions - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-functions-v2 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-functions-v2 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-functions-v2alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-functions-v2beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-functions-v2alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-functions-v2beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-functions-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-functions-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-functions/proto-google-cloud-functions-v1/pom.xml b/java-functions/proto-google-cloud-functions-v1/pom.xml index 8fe0daa2951a..951e651090a2 100644 --- a/java-functions/proto-google-cloud-functions-v1/pom.xml +++ b/java-functions/proto-google-cloud-functions-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-functions-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-functions-v1 PROTO library for proto-google-cloud-functions-v1 com.google.cloud google-cloud-functions-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-functions/proto-google-cloud-functions-v2/pom.xml b/java-functions/proto-google-cloud-functions-v2/pom.xml index 97fb9a7773f8..f2f3a3cb09ee 100644 --- a/java-functions/proto-google-cloud-functions-v2/pom.xml +++ b/java-functions/proto-google-cloud-functions-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-functions-v2 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-functions-v2 Proto library for google-cloud-functions com.google.cloud google-cloud-functions-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-functions/proto-google-cloud-functions-v2alpha/pom.xml b/java-functions/proto-google-cloud-functions-v2alpha/pom.xml index e4fce318bf81..8687e478dd1e 100644 --- a/java-functions/proto-google-cloud-functions-v2alpha/pom.xml +++ b/java-functions/proto-google-cloud-functions-v2alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-functions-v2alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-functions-v2alpha Proto library for google-cloud-functions com.google.cloud google-cloud-functions-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-functions/proto-google-cloud-functions-v2beta/pom.xml b/java-functions/proto-google-cloud-functions-v2beta/pom.xml index c1d32e893158..3d73872976c1 100644 --- a/java-functions/proto-google-cloud-functions-v2beta/pom.xml +++ b/java-functions/proto-google-cloud-functions-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-functions-v2beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-functions-v2beta Proto library for google-cloud-functions com.google.cloud google-cloud-functions-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-gdchardwaremanagement/google-cloud-gdchardwaremanagement-bom/pom.xml b/java-gdchardwaremanagement/google-cloud-gdchardwaremanagement-bom/pom.xml index cc00053f4229..ae68034dc168 100644 --- a/java-gdchardwaremanagement/google-cloud-gdchardwaremanagement-bom/pom.xml +++ b/java-gdchardwaremanagement/google-cloud-gdchardwaremanagement-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-gdchardwaremanagement-bom - 0.50.0-SNAPSHOT + 0.51.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-gdchardwaremanagement - 0.50.0-SNAPSHOT + 0.51.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gdchardwaremanagement-v1alpha - 0.50.0-SNAPSHOT + 0.51.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gdchardwaremanagement-v1alpha - 0.50.0-SNAPSHOT + 0.51.0-SNAPSHOT diff --git a/java-gdchardwaremanagement/google-cloud-gdchardwaremanagement/pom.xml b/java-gdchardwaremanagement/google-cloud-gdchardwaremanagement/pom.xml index ae1ddf46280d..48c76557b55c 100644 --- a/java-gdchardwaremanagement/google-cloud-gdchardwaremanagement/pom.xml +++ b/java-gdchardwaremanagement/google-cloud-gdchardwaremanagement/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-gdchardwaremanagement - 0.50.0-SNAPSHOT + 0.51.0-SNAPSHOT jar Google GDC Hardware Management API GDC Hardware Management API Google Distributed Cloud connected allows you to run Kubernetes clusters on dedicated hardware provided and maintained by Google that is separate from the Google Cloud data center. com.google.cloud google-cloud-gdchardwaremanagement-parent - 0.50.0-SNAPSHOT + 0.51.0-SNAPSHOT google-cloud-gdchardwaremanagement diff --git a/java-gdchardwaremanagement/google-cloud-gdchardwaremanagement/src/main/java/com/google/cloud/gdchardwaremanagement/v1alpha/stub/Version.java b/java-gdchardwaremanagement/google-cloud-gdchardwaremanagement/src/main/java/com/google/cloud/gdchardwaremanagement/v1alpha/stub/Version.java index 451c451c6e90..f0f40b9366a5 100644 --- a/java-gdchardwaremanagement/google-cloud-gdchardwaremanagement/src/main/java/com/google/cloud/gdchardwaremanagement/v1alpha/stub/Version.java +++ b/java-gdchardwaremanagement/google-cloud-gdchardwaremanagement/src/main/java/com/google/cloud/gdchardwaremanagement/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-gdchardwaremanagement:current} - static final String VERSION = "0.50.0-SNAPSHOT"; + static final String VERSION = "0.51.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-gdchardwaremanagement/grpc-google-cloud-gdchardwaremanagement-v1alpha/pom.xml b/java-gdchardwaremanagement/grpc-google-cloud-gdchardwaremanagement-v1alpha/pom.xml index b2bcc0a7a9c4..cb35531a67d7 100644 --- a/java-gdchardwaremanagement/grpc-google-cloud-gdchardwaremanagement-v1alpha/pom.xml +++ b/java-gdchardwaremanagement/grpc-google-cloud-gdchardwaremanagement-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-gdchardwaremanagement-v1alpha - 0.50.0-SNAPSHOT + 0.51.0-SNAPSHOT grpc-google-cloud-gdchardwaremanagement-v1alpha GRPC library for google-cloud-gdchardwaremanagement com.google.cloud google-cloud-gdchardwaremanagement-parent - 0.50.0-SNAPSHOT + 0.51.0-SNAPSHOT diff --git a/java-gdchardwaremanagement/pom.xml b/java-gdchardwaremanagement/pom.xml index 0c9a5aa02c14..9524217e1710 100644 --- a/java-gdchardwaremanagement/pom.xml +++ b/java-gdchardwaremanagement/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-gdchardwaremanagement-parent pom - 0.50.0-SNAPSHOT + 0.51.0-SNAPSHOT Google GDC Hardware Management API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-gdchardwaremanagement - 0.50.0-SNAPSHOT + 0.51.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gdchardwaremanagement-v1alpha - 0.50.0-SNAPSHOT + 0.51.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gdchardwaremanagement-v1alpha - 0.50.0-SNAPSHOT + 0.51.0-SNAPSHOT diff --git a/java-gdchardwaremanagement/proto-google-cloud-gdchardwaremanagement-v1alpha/pom.xml b/java-gdchardwaremanagement/proto-google-cloud-gdchardwaremanagement-v1alpha/pom.xml index e3ddb9d0237c..e60543f23d9f 100644 --- a/java-gdchardwaremanagement/proto-google-cloud-gdchardwaremanagement-v1alpha/pom.xml +++ b/java-gdchardwaremanagement/proto-google-cloud-gdchardwaremanagement-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-gdchardwaremanagement-v1alpha - 0.50.0-SNAPSHOT + 0.51.0-SNAPSHOT proto-google-cloud-gdchardwaremanagement-v1alpha Proto library for google-cloud-gdchardwaremanagement com.google.cloud google-cloud-gdchardwaremanagement-parent - 0.50.0-SNAPSHOT + 0.51.0-SNAPSHOT diff --git a/java-geminidataanalytics/google-cloud-geminidataanalytics-bom/pom.xml b/java-geminidataanalytics/google-cloud-geminidataanalytics-bom/pom.xml index 6dd3b6cf6867..367ca7a65c56 100644 --- a/java-geminidataanalytics/google-cloud-geminidataanalytics-bom/pom.xml +++ b/java-geminidataanalytics/google-cloud-geminidataanalytics-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-geminidataanalytics-bom - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.cloud google-cloud-geminidataanalytics - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-geminidataanalytics-v1beta - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-geminidataanalytics-v1 - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT com.google.api.grpc proto-google-cloud-geminidataanalytics-v1beta - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT com.google.api.grpc proto-google-cloud-geminidataanalytics-v1 - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT diff --git a/java-geminidataanalytics/google-cloud-geminidataanalytics/pom.xml b/java-geminidataanalytics/google-cloud-geminidataanalytics/pom.xml index 85545ae1c236..66b3c387d99e 100644 --- a/java-geminidataanalytics/google-cloud-geminidataanalytics/pom.xml +++ b/java-geminidataanalytics/google-cloud-geminidataanalytics/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-geminidataanalytics - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT jar Google Data Analytics API with Gemini Data Analytics API with Gemini Use Conversational Analytics API to build an artificial intelligence (AI)-powered chat interface, or data agent, that answers questions about structured data using natural language. com.google.cloud google-cloud-geminidataanalytics-parent - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT google-cloud-geminidataanalytics diff --git a/java-geminidataanalytics/google-cloud-geminidataanalytics/src/main/java/com/google/cloud/geminidataanalytics/v1/stub/Version.java b/java-geminidataanalytics/google-cloud-geminidataanalytics/src/main/java/com/google/cloud/geminidataanalytics/v1/stub/Version.java index 8400e9e1edc5..a38b1ec79048 100644 --- a/java-geminidataanalytics/google-cloud-geminidataanalytics/src/main/java/com/google/cloud/geminidataanalytics/v1/stub/Version.java +++ b/java-geminidataanalytics/google-cloud-geminidataanalytics/src/main/java/com/google/cloud/geminidataanalytics/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-geminidataanalytics:current} - static final String VERSION = "0.23.0-SNAPSHOT"; + static final String VERSION = "0.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-geminidataanalytics/google-cloud-geminidataanalytics/src/main/java/com/google/cloud/geminidataanalytics/v1beta/stub/Version.java b/java-geminidataanalytics/google-cloud-geminidataanalytics/src/main/java/com/google/cloud/geminidataanalytics/v1beta/stub/Version.java index beff87a32031..64cb5dc4d66c 100644 --- a/java-geminidataanalytics/google-cloud-geminidataanalytics/src/main/java/com/google/cloud/geminidataanalytics/v1beta/stub/Version.java +++ b/java-geminidataanalytics/google-cloud-geminidataanalytics/src/main/java/com/google/cloud/geminidataanalytics/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-geminidataanalytics:current} - static final String VERSION = "0.23.0-SNAPSHOT"; + static final String VERSION = "0.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-geminidataanalytics/grpc-google-cloud-geminidataanalytics-v1/pom.xml b/java-geminidataanalytics/grpc-google-cloud-geminidataanalytics-v1/pom.xml index e93172e53d10..566063a25236 100644 --- a/java-geminidataanalytics/grpc-google-cloud-geminidataanalytics-v1/pom.xml +++ b/java-geminidataanalytics/grpc-google-cloud-geminidataanalytics-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-geminidataanalytics-v1 - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT grpc-google-cloud-geminidataanalytics-v1 GRPC library for google-cloud-geminidataanalytics com.google.cloud google-cloud-geminidataanalytics-parent - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT diff --git a/java-geminidataanalytics/grpc-google-cloud-geminidataanalytics-v1beta/pom.xml b/java-geminidataanalytics/grpc-google-cloud-geminidataanalytics-v1beta/pom.xml index b82027ad622c..b0a60d6fa6d5 100644 --- a/java-geminidataanalytics/grpc-google-cloud-geminidataanalytics-v1beta/pom.xml +++ b/java-geminidataanalytics/grpc-google-cloud-geminidataanalytics-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-geminidataanalytics-v1beta - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT grpc-google-cloud-geminidataanalytics-v1beta GRPC library for google-cloud-geminidataanalytics com.google.cloud google-cloud-geminidataanalytics-parent - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT diff --git a/java-geminidataanalytics/pom.xml b/java-geminidataanalytics/pom.xml index 3db845c70afd..fc5e82933bc5 100644 --- a/java-geminidataanalytics/pom.xml +++ b/java-geminidataanalytics/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-geminidataanalytics-parent pom - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT Google Data Analytics API with Gemini Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-geminidataanalytics - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT com.google.api.grpc proto-google-cloud-geminidataanalytics-v1 - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-geminidataanalytics-v1 - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-geminidataanalytics-v1beta - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT com.google.api.grpc proto-google-cloud-geminidataanalytics-v1beta - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT diff --git a/java-geminidataanalytics/proto-google-cloud-geminidataanalytics-v1/pom.xml b/java-geminidataanalytics/proto-google-cloud-geminidataanalytics-v1/pom.xml index 65eec22e52d5..37496e0eeec6 100644 --- a/java-geminidataanalytics/proto-google-cloud-geminidataanalytics-v1/pom.xml +++ b/java-geminidataanalytics/proto-google-cloud-geminidataanalytics-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-geminidataanalytics-v1 - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT proto-google-cloud-geminidataanalytics-v1 Proto library for google-cloud-geminidataanalytics com.google.cloud google-cloud-geminidataanalytics-parent - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT diff --git a/java-geminidataanalytics/proto-google-cloud-geminidataanalytics-v1beta/pom.xml b/java-geminidataanalytics/proto-google-cloud-geminidataanalytics-v1beta/pom.xml index 37c979d037d0..84674676c651 100644 --- a/java-geminidataanalytics/proto-google-cloud-geminidataanalytics-v1beta/pom.xml +++ b/java-geminidataanalytics/proto-google-cloud-geminidataanalytics-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-geminidataanalytics-v1beta - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT proto-google-cloud-geminidataanalytics-v1beta Proto library for google-cloud-geminidataanalytics com.google.cloud google-cloud-geminidataanalytics-parent - 0.23.0-SNAPSHOT + 0.24.0-SNAPSHOT diff --git a/java-gke-backup/google-cloud-gke-backup-bom/pom.xml b/java-gke-backup/google-cloud-gke-backup-bom/pom.xml index a0f35ff9805d..dbfac4897f06 100644 --- a/java-gke-backup/google-cloud-gke-backup-bom/pom.xml +++ b/java-gke-backup/google-cloud-gke-backup-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-gke-backup-bom - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-gke-backup - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gke-backup-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gke-backup-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT diff --git a/java-gke-backup/google-cloud-gke-backup/pom.xml b/java-gke-backup/google-cloud-gke-backup/pom.xml index fcf054d141a7..1626ca61b143 100644 --- a/java-gke-backup/google-cloud-gke-backup/pom.xml +++ b/java-gke-backup/google-cloud-gke-backup/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-gke-backup - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT jar Google Backup for GKE Backup for GKE is a service for backing up and restoring workloads in GKE. com.google.cloud google-cloud-gke-backup-parent - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT google-cloud-gke-backup diff --git a/java-gke-backup/google-cloud-gke-backup/src/main/java/com/google/cloud/gkebackup/v1/stub/Version.java b/java-gke-backup/google-cloud-gke-backup/src/main/java/com/google/cloud/gkebackup/v1/stub/Version.java index 9055ffc9a439..cf7a566fb271 100644 --- a/java-gke-backup/google-cloud-gke-backup/src/main/java/com/google/cloud/gkebackup/v1/stub/Version.java +++ b/java-gke-backup/google-cloud-gke-backup/src/main/java/com/google/cloud/gkebackup/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-gke-backup:current} - static final String VERSION = "0.94.0-SNAPSHOT"; + static final String VERSION = "0.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-gke-backup/grpc-google-cloud-gke-backup-v1/pom.xml b/java-gke-backup/grpc-google-cloud-gke-backup-v1/pom.xml index c289e6a40809..e99c8ecd11e7 100644 --- a/java-gke-backup/grpc-google-cloud-gke-backup-v1/pom.xml +++ b/java-gke-backup/grpc-google-cloud-gke-backup-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-gke-backup-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT grpc-google-cloud-gke-backup-v1 GRPC library for google-cloud-gke-backup com.google.cloud google-cloud-gke-backup-parent - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT diff --git a/java-gke-backup/pom.xml b/java-gke-backup/pom.xml index 42d05e49da41..32e47152b8ca 100644 --- a/java-gke-backup/pom.xml +++ b/java-gke-backup/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-gke-backup-parent pom - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT Google Backup for GKE Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-gke-backup - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gke-backup-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gke-backup-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT diff --git a/java-gke-backup/proto-google-cloud-gke-backup-v1/pom.xml b/java-gke-backup/proto-google-cloud-gke-backup-v1/pom.xml index 290585235a02..ad972afdd106 100644 --- a/java-gke-backup/proto-google-cloud-gke-backup-v1/pom.xml +++ b/java-gke-backup/proto-google-cloud-gke-backup-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-gke-backup-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT proto-google-cloud-gke-backup-v1 Proto library for google-cloud-gke-backup com.google.cloud google-cloud-gke-backup-parent - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT diff --git a/java-gke-connect-gateway/google-cloud-gke-connect-gateway-bom/pom.xml b/java-gke-connect-gateway/google-cloud-gke-connect-gateway-bom/pom.xml index 3c7cad1c5467..b078ddb80496 100644 --- a/java-gke-connect-gateway/google-cloud-gke-connect-gateway-bom/pom.xml +++ b/java-gke-connect-gateway/google-cloud-gke-connect-gateway-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-gke-connect-gateway-bom - 0.96.0-SNAPSHOT + 0.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,12 +28,12 @@ com.google.cloud google-cloud-gke-connect-gateway - 0.96.0-SNAPSHOT + 0.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gke-connect-gateway-v1beta1 - 0.96.0-SNAPSHOT + 0.97.0-SNAPSHOT diff --git a/java-gke-connect-gateway/google-cloud-gke-connect-gateway/pom.xml b/java-gke-connect-gateway/google-cloud-gke-connect-gateway/pom.xml index 768f1b2a0253..4a82acd2c524 100644 --- a/java-gke-connect-gateway/google-cloud-gke-connect-gateway/pom.xml +++ b/java-gke-connect-gateway/google-cloud-gke-connect-gateway/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-gke-connect-gateway - 0.96.0-SNAPSHOT + 0.97.0-SNAPSHOT jar Google Connect Gateway API Connect Gateway API builds on the power of fleets to let Anthos users connect to and run commands against registered Anthos clusters in a simple, consistent, and secured way, whether the clusters are on Google Cloud, other public clouds, or on premises, and makes it easier to automate DevOps processes across all your clusters. com.google.cloud google-cloud-gke-connect-gateway-parent - 0.96.0-SNAPSHOT + 0.97.0-SNAPSHOT google-cloud-gke-connect-gateway diff --git a/java-gke-connect-gateway/google-cloud-gke-connect-gateway/src/main/java/com/google/cloud/gkeconnect/gateway/v1beta1/stub/Version.java b/java-gke-connect-gateway/google-cloud-gke-connect-gateway/src/main/java/com/google/cloud/gkeconnect/gateway/v1beta1/stub/Version.java index f5041a22cd9e..e88455c81815 100644 --- a/java-gke-connect-gateway/google-cloud-gke-connect-gateway/src/main/java/com/google/cloud/gkeconnect/gateway/v1beta1/stub/Version.java +++ b/java-gke-connect-gateway/google-cloud-gke-connect-gateway/src/main/java/com/google/cloud/gkeconnect/gateway/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-gke-connect-gateway:current} - static final String VERSION = "0.96.0-SNAPSHOT"; + static final String VERSION = "0.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-gke-connect-gateway/pom.xml b/java-gke-connect-gateway/pom.xml index d5185fea6485..d4b7c074da65 100644 --- a/java-gke-connect-gateway/pom.xml +++ b/java-gke-connect-gateway/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-gke-connect-gateway-parent pom - 0.96.0-SNAPSHOT + 0.97.0-SNAPSHOT Google Connect Gateway API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,12 +30,12 @@ com.google.cloud google-cloud-gke-connect-gateway - 0.96.0-SNAPSHOT + 0.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gke-connect-gateway-v1beta1 - 0.96.0-SNAPSHOT + 0.97.0-SNAPSHOT diff --git a/java-gke-connect-gateway/proto-google-cloud-gke-connect-gateway-v1beta1/pom.xml b/java-gke-connect-gateway/proto-google-cloud-gke-connect-gateway-v1beta1/pom.xml index 583373659ff7..5f7e77f0fdf0 100644 --- a/java-gke-connect-gateway/proto-google-cloud-gke-connect-gateway-v1beta1/pom.xml +++ b/java-gke-connect-gateway/proto-google-cloud-gke-connect-gateway-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-gke-connect-gateway-v1beta1 - 0.96.0-SNAPSHOT + 0.97.0-SNAPSHOT proto-google-cloud-gke-connect-gateway-v1beta1 Proto library for google-cloud-gke-connect-gateway com.google.cloud google-cloud-gke-connect-gateway-parent - 0.96.0-SNAPSHOT + 0.97.0-SNAPSHOT diff --git a/java-gke-multi-cloud/google-cloud-gke-multi-cloud-bom/pom.xml b/java-gke-multi-cloud/google-cloud-gke-multi-cloud-bom/pom.xml index dd346a2987c8..42bdf8c489d5 100644 --- a/java-gke-multi-cloud/google-cloud-gke-multi-cloud-bom/pom.xml +++ b/java-gke-multi-cloud/google-cloud-gke-multi-cloud-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-gke-multi-cloud-bom - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-gke-multi-cloud - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gke-multi-cloud-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gke-multi-cloud-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT diff --git a/java-gke-multi-cloud/google-cloud-gke-multi-cloud/pom.xml b/java-gke-multi-cloud/google-cloud-gke-multi-cloud/pom.xml index 7eec6e63edc6..b05738d1fd6e 100644 --- a/java-gke-multi-cloud/google-cloud-gke-multi-cloud/pom.xml +++ b/java-gke-multi-cloud/google-cloud-gke-multi-cloud/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-gke-multi-cloud - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT jar Google Anthos Multicloud Anthos Multicloud enables you to provision and manage GKE clusters running on AWS and Azure infrastructure through a centralized Google Cloud backed control plane. com.google.cloud google-cloud-gke-multi-cloud-parent - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT google-cloud-gke-multi-cloud diff --git a/java-gke-multi-cloud/google-cloud-gke-multi-cloud/src/main/java/com/google/cloud/gkemulticloud/v1/stub/Version.java b/java-gke-multi-cloud/google-cloud-gke-multi-cloud/src/main/java/com/google/cloud/gkemulticloud/v1/stub/Version.java index 2ae20fce350a..66205948c7de 100644 --- a/java-gke-multi-cloud/google-cloud-gke-multi-cloud/src/main/java/com/google/cloud/gkemulticloud/v1/stub/Version.java +++ b/java-gke-multi-cloud/google-cloud-gke-multi-cloud/src/main/java/com/google/cloud/gkemulticloud/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-gke-multi-cloud:current} - static final String VERSION = "0.94.0-SNAPSHOT"; + static final String VERSION = "0.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-gke-multi-cloud/grpc-google-cloud-gke-multi-cloud-v1/pom.xml b/java-gke-multi-cloud/grpc-google-cloud-gke-multi-cloud-v1/pom.xml index d096ad1aac5f..1c0b8e8ddc69 100644 --- a/java-gke-multi-cloud/grpc-google-cloud-gke-multi-cloud-v1/pom.xml +++ b/java-gke-multi-cloud/grpc-google-cloud-gke-multi-cloud-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-gke-multi-cloud-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT grpc-google-cloud-gke-multi-cloud-v1 GRPC library for google-cloud-gke-multi-cloud com.google.cloud google-cloud-gke-multi-cloud-parent - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT diff --git a/java-gke-multi-cloud/pom.xml b/java-gke-multi-cloud/pom.xml index 70223fb6c7ec..3083cc50eb74 100644 --- a/java-gke-multi-cloud/pom.xml +++ b/java-gke-multi-cloud/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-gke-multi-cloud-parent pom - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT Google Anthos Multicloud Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-gke-multi-cloud - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gke-multi-cloud-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gke-multi-cloud-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT diff --git a/java-gke-multi-cloud/proto-google-cloud-gke-multi-cloud-v1/pom.xml b/java-gke-multi-cloud/proto-google-cloud-gke-multi-cloud-v1/pom.xml index 8ec42ae9b08d..fed3bfc31a9a 100644 --- a/java-gke-multi-cloud/proto-google-cloud-gke-multi-cloud-v1/pom.xml +++ b/java-gke-multi-cloud/proto-google-cloud-gke-multi-cloud-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-gke-multi-cloud-v1 - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT proto-google-cloud-gke-multi-cloud-v1 Proto library for google-cloud-gke-multi-cloud com.google.cloud google-cloud-gke-multi-cloud-parent - 0.94.0-SNAPSHOT + 0.95.0-SNAPSHOT diff --git a/java-gkehub/google-cloud-gkehub-bom/pom.xml b/java-gkehub/google-cloud-gkehub-bom/pom.xml index 609bbb1aed15..86e4e3250e9f 100644 --- a/java-gkehub/google-cloud-gkehub-bom/pom.xml +++ b/java-gkehub/google-cloud-gkehub-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-gkehub-bom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,47 +28,47 @@ com.google.cloud google-cloud-gkehub - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gkehub-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gkehub-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gkehub-v1alpha - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gkehub-v1beta - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gkehub-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gkehub-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gkehub-v1alpha - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gkehub-v1beta - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-gkehub/google-cloud-gkehub/pom.xml b/java-gkehub/google-cloud-gkehub/pom.xml index 27e3fcdf037d..3e204040f8e7 100644 --- a/java-gkehub/google-cloud-gkehub/pom.xml +++ b/java-gkehub/google-cloud-gkehub/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-gkehub - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT jar Google GKE Hub API provides a unified way to work with Kubernetes clusters as part of Anthos, extending GKE to work in multiple environments. You have consistent, unified, and secure infrastructure, cluster, and container management, whether you're using Anthos on Google Cloud (with traditional GKE), hybrid cloud, or multiple public clouds. com.google.cloud google-cloud-gkehub-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT google-cloud-gkehub diff --git a/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/Version.java b/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/Version.java index 2a60ed6aff7a..6095c0e4951b 100644 --- a/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/Version.java +++ b/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-gkehub:current} - static final String VERSION = "1.95.0-SNAPSHOT"; + static final String VERSION = "1.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1alpha/stub/Version.java b/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1alpha/stub/Version.java index cfd0cb31aa79..25d083834a35 100644 --- a/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1alpha/stub/Version.java +++ b/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-gkehub:current} - static final String VERSION = "1.95.0-SNAPSHOT"; + static final String VERSION = "1.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1beta/stub/Version.java b/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1beta/stub/Version.java index 701f51ed2a9a..284d6e9ba23d 100644 --- a/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1beta/stub/Version.java +++ b/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-gkehub:current} - static final String VERSION = "1.95.0-SNAPSHOT"; + static final String VERSION = "1.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1beta1/stub/Version.java b/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1beta1/stub/Version.java index 17255f3c12e0..962c8c265785 100644 --- a/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1beta1/stub/Version.java +++ b/java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-gkehub:current} - static final String VERSION = "1.95.0-SNAPSHOT"; + static final String VERSION = "1.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-gkehub/grpc-google-cloud-gkehub-v1/pom.xml b/java-gkehub/grpc-google-cloud-gkehub-v1/pom.xml index b943a3df2c96..98a67f1d9b9c 100644 --- a/java-gkehub/grpc-google-cloud-gkehub-v1/pom.xml +++ b/java-gkehub/grpc-google-cloud-gkehub-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-gkehub-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT grpc-google-cloud-gkehub-v1 GRPC library for google-cloud-gkehub com.google.cloud google-cloud-gkehub-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-gkehub/grpc-google-cloud-gkehub-v1alpha/pom.xml b/java-gkehub/grpc-google-cloud-gkehub-v1alpha/pom.xml index ad63802ec46d..75dc18aeb5fd 100644 --- a/java-gkehub/grpc-google-cloud-gkehub-v1alpha/pom.xml +++ b/java-gkehub/grpc-google-cloud-gkehub-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-gkehub-v1alpha - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT grpc-google-cloud-gkehub-v1alpha GRPC library for google-cloud-gkehub com.google.cloud google-cloud-gkehub-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-gkehub/grpc-google-cloud-gkehub-v1beta/pom.xml b/java-gkehub/grpc-google-cloud-gkehub-v1beta/pom.xml index 58c01db2f072..57bf91e71590 100644 --- a/java-gkehub/grpc-google-cloud-gkehub-v1beta/pom.xml +++ b/java-gkehub/grpc-google-cloud-gkehub-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-gkehub-v1beta - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT grpc-google-cloud-gkehub-v1beta GRPC library for google-cloud-gkehub com.google.cloud google-cloud-gkehub-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-gkehub/grpc-google-cloud-gkehub-v1beta1/pom.xml b/java-gkehub/grpc-google-cloud-gkehub-v1beta1/pom.xml index 4b653d939ba5..8436dde35477 100644 --- a/java-gkehub/grpc-google-cloud-gkehub-v1beta1/pom.xml +++ b/java-gkehub/grpc-google-cloud-gkehub-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-gkehub-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT grpc-google-cloud-gkehub-v1beta1 GRPC library for google-cloud-gkehub com.google.cloud google-cloud-gkehub-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-gkehub/pom.xml b/java-gkehub/pom.xml index c1214073bce8..2cf66679c905 100644 --- a/java-gkehub/pom.xml +++ b/java-gkehub/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-gkehub-parent pom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT Google GKE Hub API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,47 +30,47 @@ com.google.cloud google-cloud-gkehub - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gkehub-v1beta - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gkehub-v1alpha - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gkehub-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gkehub-v1beta - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gkehub-v1alpha - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gkehub-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gkehub-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gkehub-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-gkehub/proto-google-cloud-gkehub-v1/pom.xml b/java-gkehub/proto-google-cloud-gkehub-v1/pom.xml index 639cbf7fac14..17c26e7a5e97 100644 --- a/java-gkehub/proto-google-cloud-gkehub-v1/pom.xml +++ b/java-gkehub/proto-google-cloud-gkehub-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-gkehub-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT proto-google-cloud-gkehub-v1 Proto library for google-cloud-gkehub com.google.cloud google-cloud-gkehub-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-gkehub/proto-google-cloud-gkehub-v1alpha/pom.xml b/java-gkehub/proto-google-cloud-gkehub-v1alpha/pom.xml index 35972756f56b..7e5def50f72d 100644 --- a/java-gkehub/proto-google-cloud-gkehub-v1alpha/pom.xml +++ b/java-gkehub/proto-google-cloud-gkehub-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-gkehub-v1alpha - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT proto-google-cloud-gkehub-v1alpha Proto library for google-cloud-gkehub com.google.cloud google-cloud-gkehub-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-gkehub/proto-google-cloud-gkehub-v1beta/pom.xml b/java-gkehub/proto-google-cloud-gkehub-v1beta/pom.xml index e2a0e5f11469..c40c8dc5d580 100644 --- a/java-gkehub/proto-google-cloud-gkehub-v1beta/pom.xml +++ b/java-gkehub/proto-google-cloud-gkehub-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-gkehub-v1beta - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT proto-google-cloud-gkehub-v1beta Proto library for google-cloud-gkehub com.google.cloud google-cloud-gkehub-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-gkehub/proto-google-cloud-gkehub-v1beta1/pom.xml b/java-gkehub/proto-google-cloud-gkehub-v1beta1/pom.xml index 8fd8e1bb0e9b..fc2b0d01125c 100644 --- a/java-gkehub/proto-google-cloud-gkehub-v1beta1/pom.xml +++ b/java-gkehub/proto-google-cloud-gkehub-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-gkehub-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT proto-google-cloud-gkehub-v1beta1 Proto library for google-cloud-gkehub com.google.cloud google-cloud-gkehub-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-gkerecommender/google-cloud-gkerecommender-bom/pom.xml b/java-gkerecommender/google-cloud-gkerecommender-bom/pom.xml index 0b7d3bc36539..ebc15384717a 100644 --- a/java-gkerecommender/google-cloud-gkerecommender-bom/pom.xml +++ b/java-gkerecommender/google-cloud-gkerecommender-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-gkerecommender-bom - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-gkerecommender - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gkerecommender-v1 - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gkerecommender-v1 - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT diff --git a/java-gkerecommender/google-cloud-gkerecommender/pom.xml b/java-gkerecommender/google-cloud-gkerecommender/pom.xml index bbd1ea64970c..d38a13b3fea8 100644 --- a/java-gkerecommender/google-cloud-gkerecommender/pom.xml +++ b/java-gkerecommender/google-cloud-gkerecommender/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-gkerecommender - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT jar Google GKE Recommender API GKE Recommender API lets you analyze the performance and cost-efficiency of your inference workloads, and make data-driven decisions about resource allocation and model deployment strategies. com.google.cloud google-cloud-gkerecommender-parent - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT google-cloud-gkerecommender diff --git a/java-gkerecommender/google-cloud-gkerecommender/src/main/java/com/google/cloud/gkerecommender/v1/stub/Version.java b/java-gkerecommender/google-cloud-gkerecommender/src/main/java/com/google/cloud/gkerecommender/v1/stub/Version.java index ff491780c184..4d3d3c4b875c 100644 --- a/java-gkerecommender/google-cloud-gkerecommender/src/main/java/com/google/cloud/gkerecommender/v1/stub/Version.java +++ b/java-gkerecommender/google-cloud-gkerecommender/src/main/java/com/google/cloud/gkerecommender/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-gkerecommender:current} - static final String VERSION = "0.15.0-SNAPSHOT"; + static final String VERSION = "0.16.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-gkerecommender/grpc-google-cloud-gkerecommender-v1/pom.xml b/java-gkerecommender/grpc-google-cloud-gkerecommender-v1/pom.xml index 43ac0d55cc55..cea42428ad4c 100644 --- a/java-gkerecommender/grpc-google-cloud-gkerecommender-v1/pom.xml +++ b/java-gkerecommender/grpc-google-cloud-gkerecommender-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-gkerecommender-v1 - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT grpc-google-cloud-gkerecommender-v1 GRPC library for google-cloud-gkerecommender com.google.cloud google-cloud-gkerecommender-parent - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT diff --git a/java-gkerecommender/pom.xml b/java-gkerecommender/pom.xml index c267735dfd63..3b442e79344d 100644 --- a/java-gkerecommender/pom.xml +++ b/java-gkerecommender/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-gkerecommender-parent pom - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT Google GKE Recommender API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-gkerecommender - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gkerecommender-v1 - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gkerecommender-v1 - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT diff --git a/java-gkerecommender/proto-google-cloud-gkerecommender-v1/pom.xml b/java-gkerecommender/proto-google-cloud-gkerecommender-v1/pom.xml index 3b7a335003fa..abe5ec13a53b 100644 --- a/java-gkerecommender/proto-google-cloud-gkerecommender-v1/pom.xml +++ b/java-gkerecommender/proto-google-cloud-gkerecommender-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-gkerecommender-v1 - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT proto-google-cloud-gkerecommender-v1 Proto library for google-cloud-gkerecommender com.google.cloud google-cloud-gkerecommender-parent - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT diff --git a/java-grafeas/pom.xml b/java-grafeas/pom.xml index f97aa919cd09..2bb48064998b 100644 --- a/java-grafeas/pom.xml +++ b/java-grafeas/pom.xml @@ -5,7 +5,7 @@ 4.0.0 io.grafeas grafeas - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT jar Grafeas Client @@ -15,7 +15,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml diff --git a/java-grafeas/src/main/java/io/grafeas/v1/stub/Version.java b/java-grafeas/src/main/java/io/grafeas/v1/stub/Version.java index 90f8fda142ba..818c6d0007e4 100644 --- a/java-grafeas/src/main/java/io/grafeas/v1/stub/Version.java +++ b/java-grafeas/src/main/java/io/grafeas/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:grafeas:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-gsuite-addons/google-cloud-gsuite-addons-bom/pom.xml b/java-gsuite-addons/google-cloud-gsuite-addons-bom/pom.xml index 272acdded3af..3727631758ab 100644 --- a/java-gsuite-addons/google-cloud-gsuite-addons-bom/pom.xml +++ b/java-gsuite-addons/google-cloud-gsuite-addons-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-gsuite-addons-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,22 +28,22 @@ com.google.cloud google-cloud-gsuite-addons - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gsuite-addons-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gsuite-addons-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-apps-script-type-protos - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-gsuite-addons/google-cloud-gsuite-addons/pom.xml b/java-gsuite-addons/google-cloud-gsuite-addons/pom.xml index 0c45c1860fde..63a1dddfa095 100644 --- a/java-gsuite-addons/google-cloud-gsuite-addons/pom.xml +++ b/java-gsuite-addons/google-cloud-gsuite-addons/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-gsuite-addons - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Google Workspace Add-ons API Google Workspace Add-ons API are customized applications that integrate with Google Workspace productivity applications. com.google.cloud google-cloud-gsuite-addons-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-gsuite-addons diff --git a/java-gsuite-addons/google-cloud-gsuite-addons/src/main/java/com/google/cloud/gsuiteaddons/v1/stub/Version.java b/java-gsuite-addons/google-cloud-gsuite-addons/src/main/java/com/google/cloud/gsuiteaddons/v1/stub/Version.java index 35276c641c77..efaee9f5b60f 100644 --- a/java-gsuite-addons/google-cloud-gsuite-addons/src/main/java/com/google/cloud/gsuiteaddons/v1/stub/Version.java +++ b/java-gsuite-addons/google-cloud-gsuite-addons/src/main/java/com/google/cloud/gsuiteaddons/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-gsuite-addons:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-gsuite-addons/grpc-google-cloud-gsuite-addons-v1/pom.xml b/java-gsuite-addons/grpc-google-cloud-gsuite-addons-v1/pom.xml index b61244820df4..d26e068e1ccd 100644 --- a/java-gsuite-addons/grpc-google-cloud-gsuite-addons-v1/pom.xml +++ b/java-gsuite-addons/grpc-google-cloud-gsuite-addons-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-gsuite-addons-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-gsuite-addons-v1 GRPC library for google-cloud-gsuite-addons com.google.cloud google-cloud-gsuite-addons-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-gsuite-addons/pom.xml b/java-gsuite-addons/pom.xml index 8234384dfff0..6ce926e779c7 100644 --- a/java-gsuite-addons/pom.xml +++ b/java-gsuite-addons/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-gsuite-addons-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Google Workspace Add-ons API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,22 +30,22 @@ com.google.cloud google-cloud-gsuite-addons - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-apps-script-type-protos - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-gsuite-addons-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-gsuite-addons-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-gsuite-addons/proto-google-apps-script-type-protos/pom.xml b/java-gsuite-addons/proto-google-apps-script-type-protos/pom.xml index 667460f4fbaf..f104e944e4f3 100644 --- a/java-gsuite-addons/proto-google-apps-script-type-protos/pom.xml +++ b/java-gsuite-addons/proto-google-apps-script-type-protos/pom.xml @@ -5,13 +5,13 @@ com.google.cloud google-cloud-gsuite-addons-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT 4.0.0 com.google.api.grpc proto-google-apps-script-type-protos proto-google-apps-script-type-protos - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-gsuite-addons/proto-google-cloud-gsuite-addons-v1/pom.xml b/java-gsuite-addons/proto-google-cloud-gsuite-addons-v1/pom.xml index 8a7749641af0..8ef090eb8ca2 100644 --- a/java-gsuite-addons/proto-google-cloud-gsuite-addons-v1/pom.xml +++ b/java-gsuite-addons/proto-google-cloud-gsuite-addons-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-gsuite-addons-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-gsuite-addons-v1 Proto library for google-cloud-gsuite-addons com.google.cloud google-cloud-gsuite-addons-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-health/google-cloud-health-bom/pom.xml b/java-health/google-cloud-health-bom/pom.xml index 6cb63edfe114..7b760171c6db 100644 --- a/java-health/google-cloud-health-bom/pom.xml +++ b/java-health/google-cloud-health-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-health-bom - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-health - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-health-v4 - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT com.google.api.grpc proto-google-cloud-health-v4 - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT diff --git a/java-health/google-cloud-health/pom.xml b/java-health/google-cloud-health/pom.xml index 83f269800260..2c13ec21af94 100644 --- a/java-health/google-cloud-health/pom.xml +++ b/java-health/google-cloud-health/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-health - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT jar Google Google Health API Google Health API The Google Health API lets you view and manage health and fitness metrics and measurement data. com.google.cloud google-cloud-health-parent - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT google-cloud-health diff --git a/java-health/google-cloud-health/src/main/java/com/google/devicesandservices/health/v4/stub/Version.java b/java-health/google-cloud-health/src/main/java/com/google/devicesandservices/health/v4/stub/Version.java index e747a7cee8da..d5e499faa74b 100644 --- a/java-health/google-cloud-health/src/main/java/com/google/devicesandservices/health/v4/stub/Version.java +++ b/java-health/google-cloud-health/src/main/java/com/google/devicesandservices/health/v4/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-health:current} - static final String VERSION = "0.4.0-SNAPSHOT"; + static final String VERSION = "0.5.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-health/grpc-google-cloud-health-v4/pom.xml b/java-health/grpc-google-cloud-health-v4/pom.xml index f5838550c847..216894f3ad22 100644 --- a/java-health/grpc-google-cloud-health-v4/pom.xml +++ b/java-health/grpc-google-cloud-health-v4/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-health-v4 - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT grpc-google-cloud-health-v4 GRPC library for google-cloud-health com.google.cloud google-cloud-health-parent - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT diff --git a/java-health/pom.xml b/java-health/pom.xml index 2145c05ae32f..0a9258c6f923 100644 --- a/java-health/pom.xml +++ b/java-health/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-health-parent pom - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT Google Google Health API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-health - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-health-v4 - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT com.google.api.grpc proto-google-cloud-health-v4 - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT diff --git a/java-health/proto-google-cloud-health-v4/pom.xml b/java-health/proto-google-cloud-health-v4/pom.xml index 8b736ec1edbc..fdbb0644763f 100644 --- a/java-health/proto-google-cloud-health-v4/pom.xml +++ b/java-health/proto-google-cloud-health-v4/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-health-v4 - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT proto-google-cloud-health-v4 Proto library for google-cloud-health com.google.cloud google-cloud-health-parent - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT diff --git a/java-hypercomputecluster/google-cloud-hypercomputecluster-bom/pom.xml b/java-hypercomputecluster/google-cloud-hypercomputecluster-bom/pom.xml index 4e40fbdf0198..82c065e1b322 100644 --- a/java-hypercomputecluster/google-cloud-hypercomputecluster-bom/pom.xml +++ b/java-hypercomputecluster/google-cloud-hypercomputecluster-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-hypercomputecluster-bom - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.cloud google-cloud-hypercomputecluster - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-hypercomputecluster-v1beta - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-hypercomputecluster-v1 - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT com.google.api.grpc proto-google-cloud-hypercomputecluster-v1beta - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT com.google.api.grpc proto-google-cloud-hypercomputecluster-v1 - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT diff --git a/java-hypercomputecluster/google-cloud-hypercomputecluster/pom.xml b/java-hypercomputecluster/google-cloud-hypercomputecluster/pom.xml index c92e9b909486..85267048b000 100644 --- a/java-hypercomputecluster/google-cloud-hypercomputecluster/pom.xml +++ b/java-hypercomputecluster/google-cloud-hypercomputecluster/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-hypercomputecluster - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT jar Google Cluster Director API Cluster Director API simplifies cluster management across compute, network, and storage com.google.cloud google-cloud-hypercomputecluster-parent - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT google-cloud-hypercomputecluster diff --git a/java-hypercomputecluster/google-cloud-hypercomputecluster/src/main/java/com/google/cloud/hypercomputecluster/v1/stub/Version.java b/java-hypercomputecluster/google-cloud-hypercomputecluster/src/main/java/com/google/cloud/hypercomputecluster/v1/stub/Version.java index 1ae276934fca..0e08d722a957 100644 --- a/java-hypercomputecluster/google-cloud-hypercomputecluster/src/main/java/com/google/cloud/hypercomputecluster/v1/stub/Version.java +++ b/java-hypercomputecluster/google-cloud-hypercomputecluster/src/main/java/com/google/cloud/hypercomputecluster/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-hypercomputecluster:current} - static final String VERSION = "0.15.0-SNAPSHOT"; + static final String VERSION = "0.16.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-hypercomputecluster/google-cloud-hypercomputecluster/src/main/java/com/google/cloud/hypercomputecluster/v1beta/stub/Version.java b/java-hypercomputecluster/google-cloud-hypercomputecluster/src/main/java/com/google/cloud/hypercomputecluster/v1beta/stub/Version.java index b74b6ac57888..30731cf2df6c 100644 --- a/java-hypercomputecluster/google-cloud-hypercomputecluster/src/main/java/com/google/cloud/hypercomputecluster/v1beta/stub/Version.java +++ b/java-hypercomputecluster/google-cloud-hypercomputecluster/src/main/java/com/google/cloud/hypercomputecluster/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-hypercomputecluster:current} - static final String VERSION = "0.15.0-SNAPSHOT"; + static final String VERSION = "0.16.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-hypercomputecluster/grpc-google-cloud-hypercomputecluster-v1/pom.xml b/java-hypercomputecluster/grpc-google-cloud-hypercomputecluster-v1/pom.xml index a08d69c57912..c02c30efe690 100644 --- a/java-hypercomputecluster/grpc-google-cloud-hypercomputecluster-v1/pom.xml +++ b/java-hypercomputecluster/grpc-google-cloud-hypercomputecluster-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-hypercomputecluster-v1 - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT grpc-google-cloud-hypercomputecluster-v1 GRPC library for google-cloud-hypercomputecluster com.google.cloud google-cloud-hypercomputecluster-parent - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT diff --git a/java-hypercomputecluster/grpc-google-cloud-hypercomputecluster-v1beta/pom.xml b/java-hypercomputecluster/grpc-google-cloud-hypercomputecluster-v1beta/pom.xml index 113a8054fb5f..51af215f8a6f 100644 --- a/java-hypercomputecluster/grpc-google-cloud-hypercomputecluster-v1beta/pom.xml +++ b/java-hypercomputecluster/grpc-google-cloud-hypercomputecluster-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-hypercomputecluster-v1beta - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT grpc-google-cloud-hypercomputecluster-v1beta GRPC library for google-cloud-hypercomputecluster com.google.cloud google-cloud-hypercomputecluster-parent - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT diff --git a/java-hypercomputecluster/pom.xml b/java-hypercomputecluster/pom.xml index 423cce0abac8..8087ccff165d 100644 --- a/java-hypercomputecluster/pom.xml +++ b/java-hypercomputecluster/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-hypercomputecluster-parent pom - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT Google Cluster Director API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-hypercomputecluster - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT com.google.api.grpc proto-google-cloud-hypercomputecluster-v1 - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-hypercomputecluster-v1 - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-hypercomputecluster-v1beta - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT com.google.api.grpc proto-google-cloud-hypercomputecluster-v1beta - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT diff --git a/java-hypercomputecluster/proto-google-cloud-hypercomputecluster-v1/pom.xml b/java-hypercomputecluster/proto-google-cloud-hypercomputecluster-v1/pom.xml index a84eb1bce004..1915544caedd 100644 --- a/java-hypercomputecluster/proto-google-cloud-hypercomputecluster-v1/pom.xml +++ b/java-hypercomputecluster/proto-google-cloud-hypercomputecluster-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-hypercomputecluster-v1 - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT proto-google-cloud-hypercomputecluster-v1 Proto library for google-cloud-hypercomputecluster com.google.cloud google-cloud-hypercomputecluster-parent - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT diff --git a/java-hypercomputecluster/proto-google-cloud-hypercomputecluster-v1beta/pom.xml b/java-hypercomputecluster/proto-google-cloud-hypercomputecluster-v1beta/pom.xml index b5c291f8a456..e02eef6e461e 100644 --- a/java-hypercomputecluster/proto-google-cloud-hypercomputecluster-v1beta/pom.xml +++ b/java-hypercomputecluster/proto-google-cloud-hypercomputecluster-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-hypercomputecluster-v1beta - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT proto-google-cloud-hypercomputecluster-v1beta Proto library for google-cloud-hypercomputecluster com.google.cloud google-cloud-hypercomputecluster-parent - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT diff --git a/java-iam-admin/google-iam-admin-bom/pom.xml b/java-iam-admin/google-iam-admin-bom/pom.xml index 1cf7c3aedecc..5304bd83193e 100644 --- a/java-iam-admin/google-iam-admin-bom/pom.xml +++ b/java-iam-admin/google-iam-admin-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-iam-admin-bom - 3.90.0-SNAPSHOT + 3.91.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-iam-admin - 3.90.0-SNAPSHOT + 3.91.0-SNAPSHOT com.google.api.grpc grpc-google-iam-admin-v1 - 3.90.0-SNAPSHOT + 3.91.0-SNAPSHOT com.google.api.grpc proto-google-iam-admin-v1 - 3.90.0-SNAPSHOT + 3.91.0-SNAPSHOT diff --git a/java-iam-admin/google-iam-admin/pom.xml b/java-iam-admin/google-iam-admin/pom.xml index 0633e83cf92d..5a7cffda83c6 100644 --- a/java-iam-admin/google-iam-admin/pom.xml +++ b/java-iam-admin/google-iam-admin/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-iam-admin - 3.90.0-SNAPSHOT + 3.91.0-SNAPSHOT jar Google IAM Admin API IAM Admin API you to manage your Service Accounts and IAM bindings. com.google.cloud google-iam-admin-parent - 3.90.0-SNAPSHOT + 3.91.0-SNAPSHOT google-iam-admin diff --git a/java-iam-admin/google-iam-admin/src/main/java/com/google/cloud/iam/admin/v1/stub/Version.java b/java-iam-admin/google-iam-admin/src/main/java/com/google/cloud/iam/admin/v1/stub/Version.java index a7cb39769f80..862b2f3a1f16 100644 --- a/java-iam-admin/google-iam-admin/src/main/java/com/google/cloud/iam/admin/v1/stub/Version.java +++ b/java-iam-admin/google-iam-admin/src/main/java/com/google/cloud/iam/admin/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-iam-admin:current} - static final String VERSION = "3.90.0-SNAPSHOT"; + static final String VERSION = "3.91.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-iam-admin/grpc-google-iam-admin-v1/pom.xml b/java-iam-admin/grpc-google-iam-admin-v1/pom.xml index ff485e48da5a..b0ee39a1e1d8 100644 --- a/java-iam-admin/grpc-google-iam-admin-v1/pom.xml +++ b/java-iam-admin/grpc-google-iam-admin-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-iam-admin-v1 - 3.90.0-SNAPSHOT + 3.91.0-SNAPSHOT grpc-google-iam-admin-v1 GRPC library for google-iam-admin com.google.cloud google-iam-admin-parent - 3.90.0-SNAPSHOT + 3.91.0-SNAPSHOT diff --git a/java-iam-admin/pom.xml b/java-iam-admin/pom.xml index 7382f029a690..5bb51773ef46 100644 --- a/java-iam-admin/pom.xml +++ b/java-iam-admin/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-iam-admin-parent pom - 3.90.0-SNAPSHOT + 3.91.0-SNAPSHOT Google IAM Admin API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-iam-admin - 3.90.0-SNAPSHOT + 3.91.0-SNAPSHOT com.google.api.grpc grpc-google-iam-admin-v1 - 3.90.0-SNAPSHOT + 3.91.0-SNAPSHOT com.google.api.grpc proto-google-iam-admin-v1 - 3.90.0-SNAPSHOT + 3.91.0-SNAPSHOT diff --git a/java-iam-admin/proto-google-iam-admin-v1/pom.xml b/java-iam-admin/proto-google-iam-admin-v1/pom.xml index 1fe0b574dd2b..47ddb66da63e 100644 --- a/java-iam-admin/proto-google-iam-admin-v1/pom.xml +++ b/java-iam-admin/proto-google-iam-admin-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-iam-admin-v1 - 3.90.0-SNAPSHOT + 3.91.0-SNAPSHOT proto-google-iam-admin-v1 Proto library for google-iam-admin com.google.cloud google-iam-admin-parent - 3.90.0-SNAPSHOT + 3.91.0-SNAPSHOT diff --git a/java-iam-policy/google-iam-policy-bom/pom.xml b/java-iam-policy/google-iam-policy-bom/pom.xml index e19e49f65080..a4a324b7ad49 100644 --- a/java-iam-policy/google-iam-policy-bom/pom.xml +++ b/java-iam-policy/google-iam-policy-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-iam-policy-bom - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-iam-policy - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT diff --git a/java-iam-policy/google-iam-policy/pom.xml b/java-iam-policy/google-iam-policy/pom.xml index 2f190f2d59ef..b3e0a1837e6a 100644 --- a/java-iam-policy/google-iam-policy/pom.xml +++ b/java-iam-policy/google-iam-policy/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-iam-policy - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT jar Google IAM Policy Eventarc lets you asynchronously deliver events from Google services, SaaS, and your own apps using loosely coupled services that react to state changes. com.google.cloud google-iam-policy-parent - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT google-iam-policy diff --git a/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v2/stub/Version.java b/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v2/stub/Version.java index 897cbfbd674a..8e40874d41d2 100644 --- a/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v2/stub/Version.java +++ b/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-iam-policy:current} - static final String VERSION = "1.92.0-SNAPSHOT"; + static final String VERSION = "1.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v2beta/stub/Version.java b/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v2beta/stub/Version.java index 8893b1e673a3..da8e7ffd1d2b 100644 --- a/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v2beta/stub/Version.java +++ b/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v2beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-iam-policy:current} - static final String VERSION = "1.92.0-SNAPSHOT"; + static final String VERSION = "1.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v3/stub/Version.java b/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v3/stub/Version.java index 7ecf5cf0cda9..283bae0549f7 100644 --- a/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v3/stub/Version.java +++ b/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v3/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-iam-policy:current} - static final String VERSION = "1.92.0-SNAPSHOT"; + static final String VERSION = "1.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v3beta/stub/Version.java b/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v3beta/stub/Version.java index 0664e673d908..59fd038569bd 100644 --- a/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v3beta/stub/Version.java +++ b/java-iam-policy/google-iam-policy/src/main/java/com/google/iam/v3beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-iam-policy:current} - static final String VERSION = "1.92.0-SNAPSHOT"; + static final String VERSION = "1.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-iam-policy/pom.xml b/java-iam-policy/pom.xml index b76f3ebd03e0..9e989442f7f9 100644 --- a/java-iam-policy/pom.xml +++ b/java-iam-policy/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-iam-policy-parent pom - 1.92.0-SNAPSHOT + 1.93.0-SNAPSHOT Google IAM Policy Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml diff --git a/java-iam/grpc-google-iam-v1/pom.xml b/java-iam/grpc-google-iam-v1/pom.xml index 5ab22386651c..79d60e0e02d3 100644 --- a/java-iam/grpc-google-iam-v1/pom.xml +++ b/java-iam/grpc-google-iam-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-iam-v1 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT grpc-google-iam-v1 GRPC library for grpc-google-iam-v1 com.google.cloud google-iam-parent - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT diff --git a/java-iam/grpc-google-iam-v2/pom.xml b/java-iam/grpc-google-iam-v2/pom.xml index 96d3fe66e73d..cd1c3def7151 100644 --- a/java-iam/grpc-google-iam-v2/pom.xml +++ b/java-iam/grpc-google-iam-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-iam-v2 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT grpc-google-iam-v2 GRPC library for proto-google-iam-v2 com.google.cloud google-iam-parent - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT diff --git a/java-iam/grpc-google-iam-v2beta/pom.xml b/java-iam/grpc-google-iam-v2beta/pom.xml index fec89f2dd00a..01b3847f5260 100644 --- a/java-iam/grpc-google-iam-v2beta/pom.xml +++ b/java-iam/grpc-google-iam-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-iam-v2beta - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT grpc-google-iam-v2beta GRPC library for proto-google-iam-v1 com.google.cloud google-iam-parent - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT diff --git a/java-iam/grpc-google-iam-v3/pom.xml b/java-iam/grpc-google-iam-v3/pom.xml index ad9eb5c3d54f..9c7be72a264c 100644 --- a/java-iam/grpc-google-iam-v3/pom.xml +++ b/java-iam/grpc-google-iam-v3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-iam-v3 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT grpc-google-iam-v3 GRPC library for proto-google-iam-v3 com.google.cloud google-iam-parent - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT diff --git a/java-iam/grpc-google-iam-v3beta/pom.xml b/java-iam/grpc-google-iam-v3beta/pom.xml index 98cc98b2b457..6dc58ce1f359 100644 --- a/java-iam/grpc-google-iam-v3beta/pom.xml +++ b/java-iam/grpc-google-iam-v3beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-iam-v3beta - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT grpc-google-iam-v3beta GRPC library for proto-google-iam-v3beta com.google.cloud google-iam-parent - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT diff --git a/java-iam/pom.xml b/java-iam/pom.xml index 78b8f9f6fb05..38e68f14a1f7 100644 --- a/java-iam/pom.xml +++ b/java-iam/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-iam-parent pom - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT Google IAM Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.api gapic-generator-java-pom-parent - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT ../sdk-platform-java/gapic-generator-java-pom-parent @@ -50,7 +50,7 @@ com.google.cloud third-party-dependencies - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT pom import @@ -58,52 +58,52 @@ com.google.api.grpc proto-google-iam-v3beta - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc grpc-google-iam-v3beta - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc proto-google-iam-v2 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc grpc-google-iam-v2 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc proto-google-iam-v2beta - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc grpc-google-iam-v1 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc grpc-google-iam-v2beta - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc proto-google-iam-v1 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc proto-google-iam-v3 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc grpc-google-iam-v3 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT @@ -130,19 +130,19 @@ com.google.api gax-bom - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT pom import com.google.api api-common - 2.66.0-SNAPSHOT + 2.67.0-SNAPSHOT com.google.api.grpc proto-google-common-protos - 2.74.0-SNAPSHOT + 2.75.0-SNAPSHOT javax.annotation diff --git a/java-iam/proto-google-iam-v1/pom.xml b/java-iam/proto-google-iam-v1/pom.xml index d7555cdc180e..722c72a9b2ae 100644 --- a/java-iam/proto-google-iam-v1/pom.xml +++ b/java-iam/proto-google-iam-v1/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.api.grpc proto-google-iam-v1 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT proto-google-iam-v1 PROTO library for proto-google-iam-v1 com.google.cloud google-iam-parent - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT diff --git a/java-iam/proto-google-iam-v2/pom.xml b/java-iam/proto-google-iam-v2/pom.xml index 9f61ea27d6a9..07fd9c8e0322 100644 --- a/java-iam/proto-google-iam-v2/pom.xml +++ b/java-iam/proto-google-iam-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-iam-v2 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT proto-google-iam-v2 Proto library for proto-google-iam-v1 com.google.cloud google-iam-parent - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT diff --git a/java-iam/proto-google-iam-v2beta/pom.xml b/java-iam/proto-google-iam-v2beta/pom.xml index fc4def7cfa3d..791918a3bd31 100644 --- a/java-iam/proto-google-iam-v2beta/pom.xml +++ b/java-iam/proto-google-iam-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-iam-v2beta - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT proto-google-iam-v2beta Proto library for proto-google-iam-v1 com.google.cloud google-iam-parent - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT diff --git a/java-iam/proto-google-iam-v3/pom.xml b/java-iam/proto-google-iam-v3/pom.xml index 7a6230cd5d3d..ef991ab9e952 100644 --- a/java-iam/proto-google-iam-v3/pom.xml +++ b/java-iam/proto-google-iam-v3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-iam-v3 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT proto-google-iam-v3 Proto library for proto-google-iam-v3 com.google.cloud google-iam-parent - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT diff --git a/java-iam/proto-google-iam-v3beta/pom.xml b/java-iam/proto-google-iam-v3beta/pom.xml index 38c168da185b..cbc96b7256c9 100644 --- a/java-iam/proto-google-iam-v3beta/pom.xml +++ b/java-iam/proto-google-iam-v3beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-iam-v3beta - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT proto-google-iam-v3beta Proto library for proto-google-iam-v3beta com.google.cloud google-iam-parent - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT diff --git a/java-iamcredentials/google-cloud-iamcredentials-bom/pom.xml b/java-iamcredentials/google-cloud-iamcredentials-bom/pom.xml index 779e1fc6eebb..f88bc317add1 100644 --- a/java-iamcredentials/google-cloud-iamcredentials-bom/pom.xml +++ b/java-iamcredentials/google-cloud-iamcredentials-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-iamcredentials-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-iamcredentials - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-iamcredentials-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-iamcredentials-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-iamcredentials/google-cloud-iamcredentials/pom.xml b/java-iamcredentials/google-cloud-iamcredentials/pom.xml index b6b68f735df1..dfcd6641cd9e 100644 --- a/java-iamcredentials/google-cloud-iamcredentials/pom.xml +++ b/java-iamcredentials/google-cloud-iamcredentials/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-iamcredentials - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Cloud IAM Service Account Credentials Java idiomatic client for Google Cloud IAM Service Account Credentials com.google.cloud google-cloud-iamcredentials-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-iamcredentials diff --git a/java-iamcredentials/google-cloud-iamcredentials/src/main/java/com/google/cloud/iam/credentials/v1/stub/Version.java b/java-iamcredentials/google-cloud-iamcredentials/src/main/java/com/google/cloud/iam/credentials/v1/stub/Version.java index f2875b8101bf..dda19e5c4b36 100644 --- a/java-iamcredentials/google-cloud-iamcredentials/src/main/java/com/google/cloud/iam/credentials/v1/stub/Version.java +++ b/java-iamcredentials/google-cloud-iamcredentials/src/main/java/com/google/cloud/iam/credentials/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-iamcredentials:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-iamcredentials/grpc-google-cloud-iamcredentials-v1/pom.xml b/java-iamcredentials/grpc-google-cloud-iamcredentials-v1/pom.xml index 2c1670ccfd49..083d25a19b4e 100644 --- a/java-iamcredentials/grpc-google-cloud-iamcredentials-v1/pom.xml +++ b/java-iamcredentials/grpc-google-cloud-iamcredentials-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-iamcredentials-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-iamcredentials-v1 GRPC library for grpc-google-cloud-iamcredentials-v1 com.google.cloud google-cloud-iamcredentials-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-iamcredentials/pom.xml b/java-iamcredentials/pom.xml index 278f24376537..ee9b82ad41f7 100644 --- a/java-iamcredentials/pom.xml +++ b/java-iamcredentials/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-iamcredentials-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud IAM Service Account Credentials Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.api.grpc proto-google-cloud-iamcredentials-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-iamcredentials-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.cloud google-cloud-iamcredentials - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-iamcredentials/proto-google-cloud-iamcredentials-v1/pom.xml b/java-iamcredentials/proto-google-cloud-iamcredentials-v1/pom.xml index 7ef6e2695df7..f2eef3dde2e6 100644 --- a/java-iamcredentials/proto-google-cloud-iamcredentials-v1/pom.xml +++ b/java-iamcredentials/proto-google-cloud-iamcredentials-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-iamcredentials-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-iamcredentials-v1 PROTO library for proto-google-cloud-iamcredentials-v1 com.google.cloud google-cloud-iamcredentials-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-iap/google-cloud-iap-bom/pom.xml b/java-iap/google-cloud-iap-bom/pom.xml index 08953d00c219..442c06c808fe 100644 --- a/java-iap/google-cloud-iap-bom/pom.xml +++ b/java-iap/google-cloud-iap-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-iap-bom - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-iap - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-iap-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT com.google.api.grpc proto-google-cloud-iap-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT diff --git a/java-iap/google-cloud-iap/pom.xml b/java-iap/google-cloud-iap/pom.xml index 666be78d24cb..d14d30d27a08 100644 --- a/java-iap/google-cloud-iap/pom.xml +++ b/java-iap/google-cloud-iap/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-iap - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT jar Google Cloud Identity-Aware Proxy API Cloud Identity-Aware Proxy API Controls access to cloud applications running on Google Cloud Platform. com.google.cloud google-cloud-iap-parent - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT google-cloud-iap diff --git a/java-iap/google-cloud-iap/src/main/java/com/google/cloud/iap/v1/stub/Version.java b/java-iap/google-cloud-iap/src/main/java/com/google/cloud/iap/v1/stub/Version.java index 5c07d6acdff3..e5a19efc7c7d 100644 --- a/java-iap/google-cloud-iap/src/main/java/com/google/cloud/iap/v1/stub/Version.java +++ b/java-iap/google-cloud-iap/src/main/java/com/google/cloud/iap/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-iap:current} - static final String VERSION = "0.51.0-SNAPSHOT"; + static final String VERSION = "0.52.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-iap/grpc-google-cloud-iap-v1/pom.xml b/java-iap/grpc-google-cloud-iap-v1/pom.xml index 7a2f68c45a98..248e87dbd996 100644 --- a/java-iap/grpc-google-cloud-iap-v1/pom.xml +++ b/java-iap/grpc-google-cloud-iap-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-iap-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT grpc-google-cloud-iap-v1 GRPC library for google-cloud-iap com.google.cloud google-cloud-iap-parent - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT diff --git a/java-iap/pom.xml b/java-iap/pom.xml index 1a578ee3fb32..43d79836f74b 100644 --- a/java-iap/pom.xml +++ b/java-iap/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-iap-parent pom - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT Google Cloud Identity-Aware Proxy API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-iap - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-iap-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT com.google.api.grpc proto-google-cloud-iap-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT diff --git a/java-iap/proto-google-cloud-iap-v1/pom.xml b/java-iap/proto-google-cloud-iap-v1/pom.xml index d32eae327e03..a30af520d69b 100644 --- a/java-iap/proto-google-cloud-iap-v1/pom.xml +++ b/java-iap/proto-google-cloud-iap-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-iap-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT proto-google-cloud-iap-v1 Proto library for google-cloud-iap com.google.cloud google-cloud-iap-parent - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT diff --git a/java-ids/google-cloud-ids-bom/pom.xml b/java-ids/google-cloud-ids-bom/pom.xml index baf41c798664..17a0a1824f18 100644 --- a/java-ids/google-cloud-ids-bom/pom.xml +++ b/java-ids/google-cloud-ids-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-ids-bom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-ids - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-ids-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-ids-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-ids/google-cloud-ids/pom.xml b/java-ids/google-cloud-ids/pom.xml index 5ed2a1146cef..91652db0041e 100644 --- a/java-ids/google-cloud-ids/pom.xml +++ b/java-ids/google-cloud-ids/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-ids - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT jar Google Intrusion Detection System Intrusion Detection System monitors your networks, and it alerts you when it detects malicious activity. Cloud IDS is powered by Palo Alto Networks. com.google.cloud google-cloud-ids-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT google-cloud-ids diff --git a/java-ids/google-cloud-ids/src/main/java/com/google/cloud/ids/v1/stub/Version.java b/java-ids/google-cloud-ids/src/main/java/com/google/cloud/ids/v1/stub/Version.java index 6271c17ced34..d22122368504 100644 --- a/java-ids/google-cloud-ids/src/main/java/com/google/cloud/ids/v1/stub/Version.java +++ b/java-ids/google-cloud-ids/src/main/java/com/google/cloud/ids/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-ids:current} - static final String VERSION = "1.94.0-SNAPSHOT"; + static final String VERSION = "1.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-ids/grpc-google-cloud-ids-v1/pom.xml b/java-ids/grpc-google-cloud-ids-v1/pom.xml index b20a9e8063c2..98cbd7332aa7 100644 --- a/java-ids/grpc-google-cloud-ids-v1/pom.xml +++ b/java-ids/grpc-google-cloud-ids-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-ids-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT grpc-google-cloud-ids-v1 GRPC library for google-cloud-ids com.google.cloud google-cloud-ids-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-ids/pom.xml b/java-ids/pom.xml index a09fab0d8def..7b9ac72f4355 100644 --- a/java-ids/pom.xml +++ b/java-ids/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-ids-parent pom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT Google Intrusion Detection System Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-ids - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-ids-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-ids-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-ids/proto-google-cloud-ids-v1/pom.xml b/java-ids/proto-google-cloud-ids-v1/pom.xml index 85c8bf398cb8..1d41728115a9 100644 --- a/java-ids/proto-google-cloud-ids-v1/pom.xml +++ b/java-ids/proto-google-cloud-ids-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-ids-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT proto-google-cloud-ids-v1 Proto library for google-cloud-ids com.google.cloud google-cloud-ids-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-infra-manager/google-cloud-infra-manager-bom/pom.xml b/java-infra-manager/google-cloud-infra-manager-bom/pom.xml index b8e7638186e4..5ce95de85f33 100644 --- a/java-infra-manager/google-cloud-infra-manager-bom/pom.xml +++ b/java-infra-manager/google-cloud-infra-manager-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-infra-manager-bom - 0.72.0-SNAPSHOT + 0.73.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-infra-manager - 0.72.0-SNAPSHOT + 0.73.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-infra-manager-v1 - 0.72.0-SNAPSHOT + 0.73.0-SNAPSHOT com.google.api.grpc proto-google-cloud-infra-manager-v1 - 0.72.0-SNAPSHOT + 0.73.0-SNAPSHOT diff --git a/java-infra-manager/google-cloud-infra-manager/pom.xml b/java-infra-manager/google-cloud-infra-manager/pom.xml index a8d58344a40f..e6fc91b27ee7 100644 --- a/java-infra-manager/google-cloud-infra-manager/pom.xml +++ b/java-infra-manager/google-cloud-infra-manager/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-infra-manager - 0.72.0-SNAPSHOT + 0.73.0-SNAPSHOT jar Google Infrastructure Manager API Infrastructure Manager API Creates and manages Google Cloud Platform resources and infrastructure. com.google.cloud google-cloud-infra-manager-parent - 0.72.0-SNAPSHOT + 0.73.0-SNAPSHOT google-cloud-infra-manager diff --git a/java-infra-manager/google-cloud-infra-manager/src/main/java/com/google/cloud/config/v1/stub/Version.java b/java-infra-manager/google-cloud-infra-manager/src/main/java/com/google/cloud/config/v1/stub/Version.java index d98d40b5aae9..f07f41f2bc28 100644 --- a/java-infra-manager/google-cloud-infra-manager/src/main/java/com/google/cloud/config/v1/stub/Version.java +++ b/java-infra-manager/google-cloud-infra-manager/src/main/java/com/google/cloud/config/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-infra-manager:current} - static final String VERSION = "0.72.0-SNAPSHOT"; + static final String VERSION = "0.73.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-infra-manager/grpc-google-cloud-infra-manager-v1/pom.xml b/java-infra-manager/grpc-google-cloud-infra-manager-v1/pom.xml index 6ec2f4929287..a983fb3c649c 100644 --- a/java-infra-manager/grpc-google-cloud-infra-manager-v1/pom.xml +++ b/java-infra-manager/grpc-google-cloud-infra-manager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-infra-manager-v1 - 0.72.0-SNAPSHOT + 0.73.0-SNAPSHOT grpc-google-cloud-infra-manager-v1 GRPC library for google-cloud-infra-manager com.google.cloud google-cloud-infra-manager-parent - 0.72.0-SNAPSHOT + 0.73.0-SNAPSHOT diff --git a/java-infra-manager/pom.xml b/java-infra-manager/pom.xml index 9d76748b4979..57d9f767d5cc 100644 --- a/java-infra-manager/pom.xml +++ b/java-infra-manager/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-infra-manager-parent pom - 0.72.0-SNAPSHOT + 0.73.0-SNAPSHOT Google Infrastructure Manager API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-infra-manager - 0.72.0-SNAPSHOT + 0.73.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-infra-manager-v1 - 0.72.0-SNAPSHOT + 0.73.0-SNAPSHOT com.google.api.grpc proto-google-cloud-infra-manager-v1 - 0.72.0-SNAPSHOT + 0.73.0-SNAPSHOT diff --git a/java-infra-manager/proto-google-cloud-infra-manager-v1/pom.xml b/java-infra-manager/proto-google-cloud-infra-manager-v1/pom.xml index cc62b048d412..81c48fd3a992 100644 --- a/java-infra-manager/proto-google-cloud-infra-manager-v1/pom.xml +++ b/java-infra-manager/proto-google-cloud-infra-manager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-infra-manager-v1 - 0.72.0-SNAPSHOT + 0.73.0-SNAPSHOT proto-google-cloud-infra-manager-v1 Proto library for google-cloud-infra-manager com.google.cloud google-cloud-infra-manager-parent - 0.72.0-SNAPSHOT + 0.73.0-SNAPSHOT diff --git a/java-iot/google-cloud-iot-bom/pom.xml b/java-iot/google-cloud-iot-bom/pom.xml index 765e2c298bad..eed0444abf87 100644 --- a/java-iot/google-cloud-iot-bom/pom.xml +++ b/java-iot/google-cloud-iot-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-iot-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-iot - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-iot-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-iot-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-iot/google-cloud-iot/pom.xml b/java-iot/google-cloud-iot/pom.xml index 3a08c057f400..99ec8cad6e4f 100644 --- a/java-iot/google-cloud-iot/pom.xml +++ b/java-iot/google-cloud-iot/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-iot - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Cloud IoT Core Java idiomatic client for Google Cloud IoT Core com.google.cloud google-cloud-iot-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-iot diff --git a/java-iot/google-cloud-iot/src/main/java/com/google/cloud/iot/v1/stub/Version.java b/java-iot/google-cloud-iot/src/main/java/com/google/cloud/iot/v1/stub/Version.java index d2ee7ec963ee..b9a184310f29 100644 --- a/java-iot/google-cloud-iot/src/main/java/com/google/cloud/iot/v1/stub/Version.java +++ b/java-iot/google-cloud-iot/src/main/java/com/google/cloud/iot/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-iot:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-iot/grpc-google-cloud-iot-v1/pom.xml b/java-iot/grpc-google-cloud-iot-v1/pom.xml index b3345fc03ca1..fdc2e3274b03 100644 --- a/java-iot/grpc-google-cloud-iot-v1/pom.xml +++ b/java-iot/grpc-google-cloud-iot-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-iot-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-iot-v1 GRPC library for grpc-google-cloud-iot-v1 com.google.cloud google-cloud-iot-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-iot/pom.xml b/java-iot/pom.xml index 863c45e81d70..1e338c1413fe 100644 --- a/java-iot/pom.xml +++ b/java-iot/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-iot-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud IoT Core Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.api.grpc proto-google-cloud-iot-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-iot-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.cloud google-cloud-iot - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-iot/proto-google-cloud-iot-v1/pom.xml b/java-iot/proto-google-cloud-iot-v1/pom.xml index 498b5d0573e5..2f803740a32f 100644 --- a/java-iot/proto-google-cloud-iot-v1/pom.xml +++ b/java-iot/proto-google-cloud-iot-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-iot-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-iot-v1 PROTO library for proto-google-cloud-iot-v1 com.google.cloud google-cloud-iot-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution-bom/pom.xml b/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution-bom/pom.xml index 6cb5aaf37c57..bede214a4535 100644 --- a/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution-bom/pom.xml +++ b/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.shopping google-shopping-merchant-issue-resolution-bom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.shopping google-shopping-merchant-issue-resolution - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-issue-resolution-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-issue-resolution-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-issue-resolution-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-issue-resolution-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution/pom.xml b/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution/pom.xml index 5fd3031cbdf0..ed887577b391 100644 --- a/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution/pom.xml +++ b/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.shopping google-shopping-merchant-issue-resolution - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT jar Google Merchant Issue Resolution API Merchant Issue Resolution API Programatically manage your Merchant Issues com.google.shopping google-shopping-merchant-issue-resolution-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT google-shopping-merchant-issue-resolution diff --git a/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution/src/main/java/com/google/shopping/merchant/issueresolution/v1/stub/Version.java b/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution/src/main/java/com/google/shopping/merchant/issueresolution/v1/stub/Version.java index de0835e67b2e..455ebc11857b 100644 --- a/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution/src/main/java/com/google/shopping/merchant/issueresolution/v1/stub/Version.java +++ b/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution/src/main/java/com/google/shopping/merchant/issueresolution/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-issue-resolution:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution/src/main/java/com/google/shopping/merchant/issueresolution/v1beta/stub/Version.java b/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution/src/main/java/com/google/shopping/merchant/issueresolution/v1beta/stub/Version.java index d15dacb5e2af..62fc03b706e6 100644 --- a/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution/src/main/java/com/google/shopping/merchant/issueresolution/v1beta/stub/Version.java +++ b/java-java-shopping-merchant-issue-resolution/google-shopping-merchant-issue-resolution/src/main/java/com/google/shopping/merchant/issueresolution/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-issue-resolution:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-java-shopping-merchant-issue-resolution/grpc-google-shopping-merchant-issue-resolution-v1/pom.xml b/java-java-shopping-merchant-issue-resolution/grpc-google-shopping-merchant-issue-resolution-v1/pom.xml index 00dc7be14196..00504259569b 100644 --- a/java-java-shopping-merchant-issue-resolution/grpc-google-shopping-merchant-issue-resolution-v1/pom.xml +++ b/java-java-shopping-merchant-issue-resolution/grpc-google-shopping-merchant-issue-resolution-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-issue-resolution-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-issue-resolution-v1 GRPC library for google-shopping-merchant-issue-resolution com.google.shopping google-shopping-merchant-issue-resolution-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-java-shopping-merchant-issue-resolution/grpc-google-shopping-merchant-issue-resolution-v1beta/pom.xml b/java-java-shopping-merchant-issue-resolution/grpc-google-shopping-merchant-issue-resolution-v1beta/pom.xml index f9483a33dd6c..c70b95098b4f 100644 --- a/java-java-shopping-merchant-issue-resolution/grpc-google-shopping-merchant-issue-resolution-v1beta/pom.xml +++ b/java-java-shopping-merchant-issue-resolution/grpc-google-shopping-merchant-issue-resolution-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-issue-resolution-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-issue-resolution-v1beta GRPC library for google-shopping-merchant-issue-resolution com.google.shopping google-shopping-merchant-issue-resolution-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-java-shopping-merchant-issue-resolution/pom.xml b/java-java-shopping-merchant-issue-resolution/pom.xml index 0b5c00e08e1d..dfe3d4e2863e 100644 --- a/java-java-shopping-merchant-issue-resolution/pom.xml +++ b/java-java-shopping-merchant-issue-resolution/pom.xml @@ -4,7 +4,7 @@ com.google.shopping google-shopping-merchant-issue-resolution-parent pom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT Google Merchant Issue Resolution API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.shopping google-shopping-merchant-issue-resolution - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-issue-resolution-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-issue-resolution-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-issue-resolution-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-issue-resolution-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-java-shopping-merchant-issue-resolution/proto-google-shopping-merchant-issue-resolution-v1/pom.xml b/java-java-shopping-merchant-issue-resolution/proto-google-shopping-merchant-issue-resolution-v1/pom.xml index 55eb7e50c5fe..a4529f46ee2b 100644 --- a/java-java-shopping-merchant-issue-resolution/proto-google-shopping-merchant-issue-resolution-v1/pom.xml +++ b/java-java-shopping-merchant-issue-resolution/proto-google-shopping-merchant-issue-resolution-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-issue-resolution-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-issue-resolution-v1 Proto library for google-shopping-merchant-issue-resolution com.google.shopping google-shopping-merchant-issue-resolution-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-java-shopping-merchant-issue-resolution/proto-google-shopping-merchant-issue-resolution-v1beta/pom.xml b/java-java-shopping-merchant-issue-resolution/proto-google-shopping-merchant-issue-resolution-v1beta/pom.xml index c9053477691a..6ffc57b0ec61 100644 --- a/java-java-shopping-merchant-issue-resolution/proto-google-shopping-merchant-issue-resolution-v1beta/pom.xml +++ b/java-java-shopping-merchant-issue-resolution/proto-google-shopping-merchant-issue-resolution-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-issue-resolution-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-issue-resolution-v1beta Proto library for google-shopping-merchant-issue-resolution com.google.shopping google-shopping-merchant-issue-resolution-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking-bom/pom.xml b/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking-bom/pom.xml index 9ffaca32adf8..91270c81e928 100644 --- a/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking-bom/pom.xml +++ b/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.shopping google-shopping-merchant-order-tracking-bom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.shopping google-shopping-merchant-order-tracking - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-order-tracking-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-order-tracking-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-order-tracking-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-order-tracking-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking/pom.xml b/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking/pom.xml index 107132ceb8a4..e8a9f64b634c 100644 --- a/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking/pom.xml +++ b/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.shopping google-shopping-merchant-order-tracking - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT jar Google Merchant Order Tracking API Merchant Order Tracking API Programmatically manage your Merchant Center Accounts com.google.shopping google-shopping-merchant-order-tracking-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT google-shopping-merchant-order-tracking diff --git a/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking/src/main/java/com/google/shopping/merchant/ordertracking/v1/stub/Version.java b/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking/src/main/java/com/google/shopping/merchant/ordertracking/v1/stub/Version.java index f929278334ec..e56aff7471cf 100644 --- a/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking/src/main/java/com/google/shopping/merchant/ordertracking/v1/stub/Version.java +++ b/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking/src/main/java/com/google/shopping/merchant/ordertracking/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-order-tracking:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking/src/main/java/com/google/shopping/merchant/ordertracking/v1beta/stub/Version.java b/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking/src/main/java/com/google/shopping/merchant/ordertracking/v1beta/stub/Version.java index 27ea4ca903df..09351a479ed2 100644 --- a/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking/src/main/java/com/google/shopping/merchant/ordertracking/v1beta/stub/Version.java +++ b/java-java-shopping-merchant-order-tracking/google-shopping-merchant-order-tracking/src/main/java/com/google/shopping/merchant/ordertracking/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-order-tracking:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-java-shopping-merchant-order-tracking/grpc-google-shopping-merchant-order-tracking-v1/pom.xml b/java-java-shopping-merchant-order-tracking/grpc-google-shopping-merchant-order-tracking-v1/pom.xml index e675ce81466e..af133f3bf4f8 100644 --- a/java-java-shopping-merchant-order-tracking/grpc-google-shopping-merchant-order-tracking-v1/pom.xml +++ b/java-java-shopping-merchant-order-tracking/grpc-google-shopping-merchant-order-tracking-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-order-tracking-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-order-tracking-v1 GRPC library for google-shopping-merchant-order-tracking com.google.shopping google-shopping-merchant-order-tracking-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-java-shopping-merchant-order-tracking/grpc-google-shopping-merchant-order-tracking-v1beta/pom.xml b/java-java-shopping-merchant-order-tracking/grpc-google-shopping-merchant-order-tracking-v1beta/pom.xml index fabe7d3d5d90..90fa9a28617d 100644 --- a/java-java-shopping-merchant-order-tracking/grpc-google-shopping-merchant-order-tracking-v1beta/pom.xml +++ b/java-java-shopping-merchant-order-tracking/grpc-google-shopping-merchant-order-tracking-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-order-tracking-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-order-tracking-v1beta GRPC library for google-shopping-merchant-order-tracking com.google.shopping google-shopping-merchant-order-tracking-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-java-shopping-merchant-order-tracking/pom.xml b/java-java-shopping-merchant-order-tracking/pom.xml index 9d9c9db2023a..d05015d693cd 100644 --- a/java-java-shopping-merchant-order-tracking/pom.xml +++ b/java-java-shopping-merchant-order-tracking/pom.xml @@ -4,7 +4,7 @@ com.google.shopping google-shopping-merchant-order-tracking-parent pom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT Google Merchant Order Tracking API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.shopping google-shopping-merchant-order-tracking - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-order-tracking-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-order-tracking-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-order-tracking-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-order-tracking-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-java-shopping-merchant-order-tracking/proto-google-shopping-merchant-order-tracking-v1/pom.xml b/java-java-shopping-merchant-order-tracking/proto-google-shopping-merchant-order-tracking-v1/pom.xml index c2ae6cd71b09..1761ab730c9e 100644 --- a/java-java-shopping-merchant-order-tracking/proto-google-shopping-merchant-order-tracking-v1/pom.xml +++ b/java-java-shopping-merchant-order-tracking/proto-google-shopping-merchant-order-tracking-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-order-tracking-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-order-tracking-v1 Proto library for google-shopping-merchant-order-tracking com.google.shopping google-shopping-merchant-order-tracking-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-java-shopping-merchant-order-tracking/proto-google-shopping-merchant-order-tracking-v1beta/pom.xml b/java-java-shopping-merchant-order-tracking/proto-google-shopping-merchant-order-tracking-v1beta/pom.xml index 26d060af35c5..d9176e40e0e5 100644 --- a/java-java-shopping-merchant-order-tracking/proto-google-shopping-merchant-order-tracking-v1beta/pom.xml +++ b/java-java-shopping-merchant-order-tracking/proto-google-shopping-merchant-order-tracking-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-order-tracking-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-order-tracking-v1beta Proto library for google-shopping-merchant-order-tracking com.google.shopping google-shopping-merchant-order-tracking-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-kms/google-cloud-kms-bom/pom.xml b/java-kms/google-cloud-kms-bom/pom.xml index d5a28741d002..c8a54dd60840 100644 --- a/java-kms/google-cloud-kms-bom/pom.xml +++ b/java-kms/google-cloud-kms-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-kms-bom - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-kms - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-kms-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-kms-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-kms/google-cloud-kms/pom.xml b/java-kms/google-cloud-kms/pom.xml index ae9f5265bad0..29b09c1087a9 100644 --- a/java-kms/google-cloud-kms/pom.xml +++ b/java-kms/google-cloud-kms/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-kms - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT jar Google Cloud KMS Java idiomatic client for Google Cloud KMS com.google.cloud google-cloud-kms-parent - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT google-cloud-kms diff --git a/java-kms/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/Version.java b/java-kms/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/Version.java index 4bf16c1ac444..91c1db5e4a31 100644 --- a/java-kms/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/Version.java +++ b/java-kms/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-kms:current} - static final String VERSION = "2.98.0-SNAPSHOT"; + static final String VERSION = "2.99.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-kms/grpc-google-cloud-kms-v1/pom.xml b/java-kms/grpc-google-cloud-kms-v1/pom.xml index 3130065ee3b4..89101a8a4863 100644 --- a/java-kms/grpc-google-cloud-kms-v1/pom.xml +++ b/java-kms/grpc-google-cloud-kms-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-kms-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT grpc-google-cloud-kms-v1 GRPC library for grpc-google-cloud-kms-v1 com.google.cloud google-cloud-kms-parent - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-kms/pom.xml b/java-kms/pom.xml index 8756ac3e6dc7..fc18033d2d90 100644 --- a/java-kms/pom.xml +++ b/java-kms/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-kms-parent pom - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT Google Cloud KMS Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,22 +30,22 @@ com.google.api.grpc proto-google-cloud-kms-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-kms-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.cloud google-cloud-kms - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.cloud google-cloud-kms-bom - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-kms/proto-google-cloud-kms-v1/pom.xml b/java-kms/proto-google-cloud-kms-v1/pom.xml index a23d5ea495ad..961bd46fd2af 100644 --- a/java-kms/proto-google-cloud-kms-v1/pom.xml +++ b/java-kms/proto-google-cloud-kms-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-kms-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT proto-google-cloud-kms-v1 PROTO library for proto-google-cloud-kms-v1 com.google.cloud google-cloud-kms-parent - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-kmsinventory/google-cloud-kmsinventory-bom/pom.xml b/java-kmsinventory/google-cloud-kmsinventory-bom/pom.xml index 4b1b47b8fd0e..092573b39d82 100644 --- a/java-kmsinventory/google-cloud-kmsinventory-bom/pom.xml +++ b/java-kmsinventory/google-cloud-kmsinventory-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-kmsinventory-bom - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-kmsinventory - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-kmsinventory-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc proto-google-cloud-kmsinventory-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-kmsinventory/google-cloud-kmsinventory/pom.xml b/java-kmsinventory/google-cloud-kmsinventory/pom.xml index 51f9d13eae0a..3bb1c93c5212 100644 --- a/java-kmsinventory/google-cloud-kmsinventory/pom.xml +++ b/java-kmsinventory/google-cloud-kmsinventory/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-kmsinventory - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT jar Google KMS Inventory API KMS Inventory API KMS Inventory API. com.google.cloud google-cloud-kmsinventory-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT google-cloud-kmsinventory diff --git a/java-kmsinventory/google-cloud-kmsinventory/src/main/java/com/google/cloud/kms/inventory/v1/stub/Version.java b/java-kmsinventory/google-cloud-kmsinventory/src/main/java/com/google/cloud/kms/inventory/v1/stub/Version.java index f986d25185c4..a98f14085150 100644 --- a/java-kmsinventory/google-cloud-kmsinventory/src/main/java/com/google/cloud/kms/inventory/v1/stub/Version.java +++ b/java-kmsinventory/google-cloud-kmsinventory/src/main/java/com/google/cloud/kms/inventory/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-kmsinventory:current} - static final String VERSION = "0.84.0-SNAPSHOT"; + static final String VERSION = "0.85.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-kmsinventory/grpc-google-cloud-kmsinventory-v1/pom.xml b/java-kmsinventory/grpc-google-cloud-kmsinventory-v1/pom.xml index bc4a623af058..4c3852a284e3 100644 --- a/java-kmsinventory/grpc-google-cloud-kmsinventory-v1/pom.xml +++ b/java-kmsinventory/grpc-google-cloud-kmsinventory-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-kmsinventory-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT grpc-google-cloud-kmsinventory-v1 GRPC library for google-cloud-kmsinventory com.google.cloud google-cloud-kmsinventory-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-kmsinventory/pom.xml b/java-kmsinventory/pom.xml index 7b5f78b0b67a..c7890757224e 100644 --- a/java-kmsinventory/pom.xml +++ b/java-kmsinventory/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-kmsinventory-parent pom - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT Google KMS Inventory API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,23 +30,23 @@ com.google.cloud google-cloud-kmsinventory - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-kmsinventory-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc proto-google-cloud-kmsinventory-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.api.grpc proto-google-cloud-kms-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-kmsinventory/proto-google-cloud-kmsinventory-v1/pom.xml b/java-kmsinventory/proto-google-cloud-kmsinventory-v1/pom.xml index f520be88fd61..b561ff36be25 100644 --- a/java-kmsinventory/proto-google-cloud-kmsinventory-v1/pom.xml +++ b/java-kmsinventory/proto-google-cloud-kmsinventory-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-kmsinventory-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT proto-google-cloud-kmsinventory-v1 Proto library for google-cloud-kmsinventory com.google.cloud google-cloud-kmsinventory-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-language/google-cloud-language-bom/pom.xml b/java-language/google-cloud-language-bom/pom.xml index 6ef8c0bca8a6..486868c9bbdc 100644 --- a/java-language/google-cloud-language-bom/pom.xml +++ b/java-language/google-cloud-language-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-language-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,37 +24,37 @@ com.google.cloud google-cloud-language - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-language-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-language-v1beta2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-language-v2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-language-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-language-v1beta2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-language-v2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-language/google-cloud-language/pom.xml b/java-language/google-cloud-language/pom.xml index b0af7ffb8cf7..7f2f40c43769 100644 --- a/java-language/google-cloud-language/pom.xml +++ b/java-language/google-cloud-language/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-language - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT jar Google Cloud Natural Language Java idiomatic client for Google Clould Natural Language com.google.cloud google-cloud-language-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT google-cloud-language diff --git a/java-language/google-cloud-language/src/main/java/com/google/cloud/language/v1/stub/Version.java b/java-language/google-cloud-language/src/main/java/com/google/cloud/language/v1/stub/Version.java index 508e3880f604..651228364196 100644 --- a/java-language/google-cloud-language/src/main/java/com/google/cloud/language/v1/stub/Version.java +++ b/java-language/google-cloud-language/src/main/java/com/google/cloud/language/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-language:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-language/google-cloud-language/src/main/java/com/google/cloud/language/v1beta2/stub/Version.java b/java-language/google-cloud-language/src/main/java/com/google/cloud/language/v1beta2/stub/Version.java index 481fca2351c8..60615a345e66 100644 --- a/java-language/google-cloud-language/src/main/java/com/google/cloud/language/v1beta2/stub/Version.java +++ b/java-language/google-cloud-language/src/main/java/com/google/cloud/language/v1beta2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-language:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-language/google-cloud-language/src/main/java/com/google/cloud/language/v2/stub/Version.java b/java-language/google-cloud-language/src/main/java/com/google/cloud/language/v2/stub/Version.java index 16cd91aa8a59..3d083bf8c8e8 100644 --- a/java-language/google-cloud-language/src/main/java/com/google/cloud/language/v2/stub/Version.java +++ b/java-language/google-cloud-language/src/main/java/com/google/cloud/language/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-language:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-language/grpc-google-cloud-language-v1/pom.xml b/java-language/grpc-google-cloud-language-v1/pom.xml index d482bfefea7d..5c80c7ba0f9f 100644 --- a/java-language/grpc-google-cloud-language-v1/pom.xml +++ b/java-language/grpc-google-cloud-language-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-language-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-language-v1 GRPC library for grpc-google-cloud-language-v1 com.google.cloud google-cloud-language-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-language/grpc-google-cloud-language-v1beta2/pom.xml b/java-language/grpc-google-cloud-language-v1beta2/pom.xml index 9ada52cd8688..ab4d689568db 100644 --- a/java-language/grpc-google-cloud-language-v1beta2/pom.xml +++ b/java-language/grpc-google-cloud-language-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-language-v1beta2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-language-v1beta2 GRPC library for grpc-google-cloud-language-v1beta2 com.google.cloud google-cloud-language-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-language/grpc-google-cloud-language-v2/pom.xml b/java-language/grpc-google-cloud-language-v2/pom.xml index 450a19a05bb6..c98a0aebe1a9 100644 --- a/java-language/grpc-google-cloud-language-v2/pom.xml +++ b/java-language/grpc-google-cloud-language-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-language-v2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-language-v2 GRPC library for google-cloud-language com.google.cloud google-cloud-language-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-language/pom.xml b/java-language/pom.xml index 321ac1f4f47b..3a60ec1e1601 100644 --- a/java-language/pom.xml +++ b/java-language/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-language-parent pom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT Google Cloud Natural Language Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.api.grpc proto-google-cloud-language-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-language-v2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-language-v2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-language-v1beta2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-language-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-language-v1beta2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.cloud google-cloud-language - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-language/proto-google-cloud-language-v1/pom.xml b/java-language/proto-google-cloud-language-v1/pom.xml index e6d164d18ace..a5eaafef3342 100644 --- a/java-language/proto-google-cloud-language-v1/pom.xml +++ b/java-language/proto-google-cloud-language-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-language-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-language-v1 PROTO library for proto-google-cloud-language-v1 com.google.cloud google-cloud-language-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-language/proto-google-cloud-language-v1beta2/pom.xml b/java-language/proto-google-cloud-language-v1beta2/pom.xml index 2fea1fa2619c..ea004354a29a 100644 --- a/java-language/proto-google-cloud-language-v1beta2/pom.xml +++ b/java-language/proto-google-cloud-language-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-language-v1beta2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-language-v1beta2 PROTO library for proto-google-cloud-language-v1beta2 com.google.cloud google-cloud-language-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-language/proto-google-cloud-language-v2/pom.xml b/java-language/proto-google-cloud-language-v2/pom.xml index 495feaa38bc4..dabbca0aa80e 100644 --- a/java-language/proto-google-cloud-language-v2/pom.xml +++ b/java-language/proto-google-cloud-language-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-language-v2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-language-v2 Proto library for google-cloud-language com.google.cloud google-cloud-language-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-licensemanager/google-cloud-licensemanager-bom/pom.xml b/java-licensemanager/google-cloud-licensemanager-bom/pom.xml index 5c9d8a098a19..d3c80bfff6ce 100644 --- a/java-licensemanager/google-cloud-licensemanager-bom/pom.xml +++ b/java-licensemanager/google-cloud-licensemanager-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-licensemanager-bom - 0.28.0-SNAPSHOT + 0.29.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-licensemanager - 0.28.0-SNAPSHOT + 0.29.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-licensemanager-v1 - 0.28.0-SNAPSHOT + 0.29.0-SNAPSHOT com.google.api.grpc proto-google-cloud-licensemanager-v1 - 0.28.0-SNAPSHOT + 0.29.0-SNAPSHOT diff --git a/java-licensemanager/google-cloud-licensemanager/pom.xml b/java-licensemanager/google-cloud-licensemanager/pom.xml index 7c28302dc5e0..47faa8ae2d19 100644 --- a/java-licensemanager/google-cloud-licensemanager/pom.xml +++ b/java-licensemanager/google-cloud-licensemanager/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-licensemanager - 0.28.0-SNAPSHOT + 0.29.0-SNAPSHOT jar Google License Manager API License Manager API License Manager is a tool to manage and track third-party licenses on Google Cloud. com.google.cloud google-cloud-licensemanager-parent - 0.28.0-SNAPSHOT + 0.29.0-SNAPSHOT google-cloud-licensemanager diff --git a/java-licensemanager/google-cloud-licensemanager/src/main/java/com/google/cloud/licensemanager/v1/stub/Version.java b/java-licensemanager/google-cloud-licensemanager/src/main/java/com/google/cloud/licensemanager/v1/stub/Version.java index 1e53352b1a97..a2040ec4aedf 100644 --- a/java-licensemanager/google-cloud-licensemanager/src/main/java/com/google/cloud/licensemanager/v1/stub/Version.java +++ b/java-licensemanager/google-cloud-licensemanager/src/main/java/com/google/cloud/licensemanager/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-licensemanager:current} - static final String VERSION = "0.28.0-SNAPSHOT"; + static final String VERSION = "0.29.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-licensemanager/grpc-google-cloud-licensemanager-v1/pom.xml b/java-licensemanager/grpc-google-cloud-licensemanager-v1/pom.xml index cbbe76018232..c37d51a21177 100644 --- a/java-licensemanager/grpc-google-cloud-licensemanager-v1/pom.xml +++ b/java-licensemanager/grpc-google-cloud-licensemanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-licensemanager-v1 - 0.28.0-SNAPSHOT + 0.29.0-SNAPSHOT grpc-google-cloud-licensemanager-v1 GRPC library for google-cloud-licensemanager com.google.cloud google-cloud-licensemanager-parent - 0.28.0-SNAPSHOT + 0.29.0-SNAPSHOT diff --git a/java-licensemanager/pom.xml b/java-licensemanager/pom.xml index 0051ae391323..97b3c7f5b399 100644 --- a/java-licensemanager/pom.xml +++ b/java-licensemanager/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-licensemanager-parent pom - 0.28.0-SNAPSHOT + 0.29.0-SNAPSHOT Google License Manager API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-licensemanager - 0.28.0-SNAPSHOT + 0.29.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-licensemanager-v1 - 0.28.0-SNAPSHOT + 0.29.0-SNAPSHOT com.google.api.grpc proto-google-cloud-licensemanager-v1 - 0.28.0-SNAPSHOT + 0.29.0-SNAPSHOT diff --git a/java-licensemanager/proto-google-cloud-licensemanager-v1/pom.xml b/java-licensemanager/proto-google-cloud-licensemanager-v1/pom.xml index 0cd5559d6bf6..63edb04b926c 100644 --- a/java-licensemanager/proto-google-cloud-licensemanager-v1/pom.xml +++ b/java-licensemanager/proto-google-cloud-licensemanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-licensemanager-v1 - 0.28.0-SNAPSHOT + 0.29.0-SNAPSHOT proto-google-cloud-licensemanager-v1 Proto library for google-cloud-licensemanager com.google.cloud google-cloud-licensemanager-parent - 0.28.0-SNAPSHOT + 0.29.0-SNAPSHOT diff --git a/java-life-sciences/google-cloud-life-sciences-bom/pom.xml b/java-life-sciences/google-cloud-life-sciences-bom/pom.xml index 58dd3429197c..37ba97739e14 100644 --- a/java-life-sciences/google-cloud-life-sciences-bom/pom.xml +++ b/java-life-sciences/google-cloud-life-sciences-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-life-sciences-bom - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-life-sciences - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-life-sciences-v2beta - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-life-sciences-v2beta - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT diff --git a/java-life-sciences/google-cloud-life-sciences/pom.xml b/java-life-sciences/google-cloud-life-sciences/pom.xml index 874c81cf5aaa..517d7d81e9b8 100644 --- a/java-life-sciences/google-cloud-life-sciences/pom.xml +++ b/java-life-sciences/google-cloud-life-sciences/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-life-sciences - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT jar Google Cloud Life Sciences Cloud Life Sciences is a suite of services and tools for managing, processing, and transforming life sciences data. com.google.cloud google-cloud-life-sciences-parent - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT google-cloud-life-sciences diff --git a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/Version.java b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/Version.java index 6c19a60ed47e..150889f0c89b 100644 --- a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/Version.java +++ b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-life-sciences:current} - static final String VERSION = "0.97.0-SNAPSHOT"; + static final String VERSION = "0.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-life-sciences/grpc-google-cloud-life-sciences-v2beta/pom.xml b/java-life-sciences/grpc-google-cloud-life-sciences-v2beta/pom.xml index e55ef054035e..c24561862a1e 100644 --- a/java-life-sciences/grpc-google-cloud-life-sciences-v2beta/pom.xml +++ b/java-life-sciences/grpc-google-cloud-life-sciences-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-life-sciences-v2beta - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT grpc-google-cloud-life-sciences-v2beta GRPC library for google-cloud-life-sciences com.google.cloud google-cloud-life-sciences-parent - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT diff --git a/java-life-sciences/pom.xml b/java-life-sciences/pom.xml index 6e03b26d007e..47707da4ad3d 100644 --- a/java-life-sciences/pom.xml +++ b/java-life-sciences/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-life-sciences-parent pom - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT Google Cloud Life Sciences Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-life-sciences - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-life-sciences-v2beta - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-life-sciences-v2beta - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT diff --git a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/pom.xml b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/pom.xml index dfbb5daea060..0a9df16e203f 100644 --- a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/pom.xml +++ b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-life-sciences-v2beta - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT proto-google-cloud-life-sciences-v2beta Proto library for google-cloud-life-sciences com.google.cloud google-cloud-life-sciences-parent - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT diff --git a/java-locationfinder/google-cloud-locationfinder-bom/pom.xml b/java-locationfinder/google-cloud-locationfinder-bom/pom.xml index 96b577a74311..329fc3f1be9e 100644 --- a/java-locationfinder/google-cloud-locationfinder-bom/pom.xml +++ b/java-locationfinder/google-cloud-locationfinder-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-locationfinder-bom - 0.20.0-SNAPSHOT + 0.21.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-locationfinder - 0.20.0-SNAPSHOT + 0.21.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-locationfinder-v1 - 0.20.0-SNAPSHOT + 0.21.0-SNAPSHOT com.google.api.grpc proto-google-cloud-locationfinder-v1 - 0.20.0-SNAPSHOT + 0.21.0-SNAPSHOT diff --git a/java-locationfinder/google-cloud-locationfinder/pom.xml b/java-locationfinder/google-cloud-locationfinder/pom.xml index ff8d6053aed7..23bd62cf994d 100644 --- a/java-locationfinder/google-cloud-locationfinder/pom.xml +++ b/java-locationfinder/google-cloud-locationfinder/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-locationfinder - 0.20.0-SNAPSHOT + 0.21.0-SNAPSHOT jar Google Cloud Location Finder API Cloud Location Finder API Cloud Location Finder is a public API that offers a repository of all Google Cloud and Google Distributed Cloud locations, as well as cloud locations for other cloud providers. com.google.cloud google-cloud-locationfinder-parent - 0.20.0-SNAPSHOT + 0.21.0-SNAPSHOT google-cloud-locationfinder diff --git a/java-locationfinder/google-cloud-locationfinder/src/main/java/com/google/cloud/locationfinder/v1/stub/Version.java b/java-locationfinder/google-cloud-locationfinder/src/main/java/com/google/cloud/locationfinder/v1/stub/Version.java index 6f830268c4c5..6579ecd19157 100644 --- a/java-locationfinder/google-cloud-locationfinder/src/main/java/com/google/cloud/locationfinder/v1/stub/Version.java +++ b/java-locationfinder/google-cloud-locationfinder/src/main/java/com/google/cloud/locationfinder/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-locationfinder:current} - static final String VERSION = "0.20.0-SNAPSHOT"; + static final String VERSION = "0.21.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-locationfinder/grpc-google-cloud-locationfinder-v1/pom.xml b/java-locationfinder/grpc-google-cloud-locationfinder-v1/pom.xml index 0c73db8d2e42..451fc8742e58 100644 --- a/java-locationfinder/grpc-google-cloud-locationfinder-v1/pom.xml +++ b/java-locationfinder/grpc-google-cloud-locationfinder-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-locationfinder-v1 - 0.20.0-SNAPSHOT + 0.21.0-SNAPSHOT grpc-google-cloud-locationfinder-v1 GRPC library for google-cloud-locationfinder com.google.cloud google-cloud-locationfinder-parent - 0.20.0-SNAPSHOT + 0.21.0-SNAPSHOT diff --git a/java-locationfinder/pom.xml b/java-locationfinder/pom.xml index d80f11c9dba0..4688fbfbbdf9 100644 --- a/java-locationfinder/pom.xml +++ b/java-locationfinder/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-locationfinder-parent pom - 0.20.0-SNAPSHOT + 0.21.0-SNAPSHOT Google Cloud Location Finder API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-locationfinder - 0.20.0-SNAPSHOT + 0.21.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-locationfinder-v1 - 0.20.0-SNAPSHOT + 0.21.0-SNAPSHOT com.google.api.grpc proto-google-cloud-locationfinder-v1 - 0.20.0-SNAPSHOT + 0.21.0-SNAPSHOT diff --git a/java-locationfinder/proto-google-cloud-locationfinder-v1/pom.xml b/java-locationfinder/proto-google-cloud-locationfinder-v1/pom.xml index bf6378e85421..675a838237e1 100644 --- a/java-locationfinder/proto-google-cloud-locationfinder-v1/pom.xml +++ b/java-locationfinder/proto-google-cloud-locationfinder-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-locationfinder-v1 - 0.20.0-SNAPSHOT + 0.21.0-SNAPSHOT proto-google-cloud-locationfinder-v1 Proto library for google-cloud-locationfinder com.google.cloud google-cloud-locationfinder-parent - 0.20.0-SNAPSHOT + 0.21.0-SNAPSHOT diff --git a/java-logging-logback/README.md b/java-logging-logback/README.md index 27dd69934b54..f166113650bd 100644 --- a/java-logging-logback/README.md +++ b/java-logging-logback/README.md @@ -23,20 +23,20 @@ If you are using Maven, add this to your pom.xml file: com.google.cloud google-cloud-logging-logback - 0.143.0-alpha + 0.144.0-alpha ``` If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-logging-logback:0.143.0-alpha' +implementation 'com.google.cloud:google-cloud-logging-logback:0.144.0-alpha' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-logging-logback" % "0.143.0-alpha" +libraryDependencies += "com.google.cloud" % "google-cloud-logging-logback" % "0.144.0-alpha" ``` diff --git a/java-logging-logback/pom.xml b/java-logging-logback/pom.xml index 1e36cdf89973..daf8f4b9d831 100644 --- a/java-logging-logback/pom.xml +++ b/java-logging-logback/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.google.cloud google-cloud-logging-logback - 0.144.0-alpha-SNAPSHOT + 0.145.0-alpha-SNAPSHOT jar Google Cloud Logging Logback Appender https://github.com/googleapis/google-cloud-java @@ -25,7 +25,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -81,7 +81,7 @@ com.google.cloud google-cloud-logging - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT org.slf4j diff --git a/java-logging-logback/samples/snapshot/pom.xml b/java-logging-logback/samples/snapshot/pom.xml index 586f15c86065..c86eeaba9fcb 100644 --- a/java-logging-logback/samples/snapshot/pom.xml +++ b/java-logging-logback/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-logging-logback - 0.144.0-alpha-SNAPSHOT + 0.145.0-alpha-SNAPSHOT diff --git a/java-logging/google-cloud-logging-bom/pom.xml b/java-logging/google-cloud-logging-bom/pom.xml index dfb0f8c0d7d5..b9b20219d01d 100644 --- a/java-logging/google-cloud-logging-bom/pom.xml +++ b/java-logging/google-cloud-logging-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-logging-bom - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -54,17 +54,17 @@ com.google.cloud google-cloud-logging - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-logging-v2 - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT com.google.api.grpc proto-google-cloud-logging-v2 - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT diff --git a/java-logging/google-cloud-logging/pom.xml b/java-logging/google-cloud-logging/pom.xml index cfe8e2a2701c..e1acffb0dfb0 100644 --- a/java-logging/google-cloud-logging/pom.xml +++ b/java-logging/google-cloud-logging/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-logging - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT jar Google Cloud Logging Java idiomatic client for Cloud Logging com.google.cloud google-cloud-logging-parent - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT google-cloud-logging diff --git a/java-logging/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/Version.java b/java-logging/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/Version.java index f9f9605dd23b..9a157091d134 100644 --- a/java-logging/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/Version.java +++ b/java-logging/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-logging:current} - static final String VERSION = "3.36.0-SNAPSHOT"; + static final String VERSION = "3.37.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-logging/grpc-google-cloud-logging-v2/pom.xml b/java-logging/grpc-google-cloud-logging-v2/pom.xml index c268915cd5c3..390ab3392f88 100644 --- a/java-logging/grpc-google-cloud-logging-v2/pom.xml +++ b/java-logging/grpc-google-cloud-logging-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-logging-v2 - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT grpc-google-cloud-logging-v2 GRPC library for grpc-google-cloud-logging-v2 com.google.cloud google-cloud-logging-parent - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT diff --git a/java-logging/pom.xml b/java-logging/pom.xml index 3fec5ba8f610..a1d584eb2611 100644 --- a/java-logging/pom.xml +++ b/java-logging/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-logging-parent pom - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT Google Cloud Logging Parent https://github.com/googleapis/google-cloud-java @@ -14,7 +14,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -63,17 +63,17 @@ com.google.api.grpc proto-google-cloud-logging-v2 - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-logging-v2 - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT com.google.cloud google-cloud-logging - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT diff --git a/java-logging/proto-google-cloud-logging-v2/pom.xml b/java-logging/proto-google-cloud-logging-v2/pom.xml index 7aa6556a2ed9..7eddbaa8ff6b 100644 --- a/java-logging/proto-google-cloud-logging-v2/pom.xml +++ b/java-logging/proto-google-cloud-logging-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-logging-v2 - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT proto-google-cloud-logging-v2 PROTO library for proto-google-cloud-logging-v2 com.google.cloud google-cloud-logging-parent - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT diff --git a/java-logging/samples/snapshot/pom.xml b/java-logging/samples/snapshot/pom.xml index 130c0d1ae341..033c47869128 100644 --- a/java-logging/samples/snapshot/pom.xml +++ b/java-logging/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-logging - 3.36.0-SNAPSHOT + 3.37.0-SNAPSHOT diff --git a/java-lustre/google-cloud-lustre-bom/pom.xml b/java-lustre/google-cloud-lustre-bom/pom.xml index 7efcd2261c30..1374efa0636b 100644 --- a/java-lustre/google-cloud-lustre-bom/pom.xml +++ b/java-lustre/google-cloud-lustre-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-lustre-bom - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-lustre - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-lustre-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.api.grpc proto-google-cloud-lustre-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-lustre/google-cloud-lustre/pom.xml b/java-lustre/google-cloud-lustre/pom.xml index 82fea9c3b8a0..92a0777cd67c 100644 --- a/java-lustre/google-cloud-lustre/pom.xml +++ b/java-lustre/google-cloud-lustre/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-lustre - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT jar Google Google Cloud Managed Lustre API Google Cloud Managed Lustre API Google Cloud Managed Lustre delivers a high-performance, fully managed parallel file system optimized for AI and HPC applications. com.google.cloud google-cloud-lustre-parent - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT google-cloud-lustre diff --git a/java-lustre/google-cloud-lustre/src/main/java/com/google/cloud/lustre/v1/stub/Version.java b/java-lustre/google-cloud-lustre/src/main/java/com/google/cloud/lustre/v1/stub/Version.java index b561d9fce545..27c2ef1d1efb 100644 --- a/java-lustre/google-cloud-lustre/src/main/java/com/google/cloud/lustre/v1/stub/Version.java +++ b/java-lustre/google-cloud-lustre/src/main/java/com/google/cloud/lustre/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-lustre:current} - static final String VERSION = "0.35.0-SNAPSHOT"; + static final String VERSION = "0.36.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-lustre/grpc-google-cloud-lustre-v1/pom.xml b/java-lustre/grpc-google-cloud-lustre-v1/pom.xml index 3cc8d6ad83f4..6f603a4726fe 100644 --- a/java-lustre/grpc-google-cloud-lustre-v1/pom.xml +++ b/java-lustre/grpc-google-cloud-lustre-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-lustre-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT grpc-google-cloud-lustre-v1 GRPC library for google-cloud-lustre com.google.cloud google-cloud-lustre-parent - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-lustre/pom.xml b/java-lustre/pom.xml index d0ebf0ea673b..17fb92d86461 100644 --- a/java-lustre/pom.xml +++ b/java-lustre/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-lustre-parent pom - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT Google Google Cloud Managed Lustre API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-lustre - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-lustre-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.api.grpc proto-google-cloud-lustre-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-lustre/proto-google-cloud-lustre-v1/pom.xml b/java-lustre/proto-google-cloud-lustre-v1/pom.xml index 43eb02c060c1..df36f0ed0140 100644 --- a/java-lustre/proto-google-cloud-lustre-v1/pom.xml +++ b/java-lustre/proto-google-cloud-lustre-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-lustre-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT proto-google-cloud-lustre-v1 Proto library for google-cloud-lustre com.google.cloud google-cloud-lustre-parent - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-maintenance/google-cloud-maintenance-bom/pom.xml b/java-maintenance/google-cloud-maintenance-bom/pom.xml index 2a1548c7fbe9..384dc529a136 100644 --- a/java-maintenance/google-cloud-maintenance-bom/pom.xml +++ b/java-maintenance/google-cloud-maintenance-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-maintenance-bom - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.cloud google-cloud-maintenance - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-maintenance-v1beta - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-maintenance-v1 - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc proto-google-cloud-maintenance-v1beta - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc proto-google-cloud-maintenance-v1 - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT diff --git a/java-maintenance/google-cloud-maintenance/pom.xml b/java-maintenance/google-cloud-maintenance/pom.xml index ebe8be21a920..c1bbc15324d8 100644 --- a/java-maintenance/google-cloud-maintenance/pom.xml +++ b/java-maintenance/google-cloud-maintenance/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-maintenance - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT jar Google Maintenance API Maintenance API The Maintenance API provides a centralized view of planned disruptive maintenance events across supported Google Cloud products. com.google.cloud google-cloud-maintenance-parent - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT google-cloud-maintenance diff --git a/java-maintenance/google-cloud-maintenance/src/main/java/com/google/cloud/maintenance/api/v1/stub/Version.java b/java-maintenance/google-cloud-maintenance/src/main/java/com/google/cloud/maintenance/api/v1/stub/Version.java index 458659871756..3a14fe710574 100644 --- a/java-maintenance/google-cloud-maintenance/src/main/java/com/google/cloud/maintenance/api/v1/stub/Version.java +++ b/java-maintenance/google-cloud-maintenance/src/main/java/com/google/cloud/maintenance/api/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-maintenance:current} - static final String VERSION = "0.29.0-SNAPSHOT"; + static final String VERSION = "0.30.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-maintenance/google-cloud-maintenance/src/main/java/com/google/cloud/maintenance/api/v1beta/stub/Version.java b/java-maintenance/google-cloud-maintenance/src/main/java/com/google/cloud/maintenance/api/v1beta/stub/Version.java index bcef1238ff08..98dc229735a4 100644 --- a/java-maintenance/google-cloud-maintenance/src/main/java/com/google/cloud/maintenance/api/v1beta/stub/Version.java +++ b/java-maintenance/google-cloud-maintenance/src/main/java/com/google/cloud/maintenance/api/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-maintenance:current} - static final String VERSION = "0.29.0-SNAPSHOT"; + static final String VERSION = "0.30.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-maintenance/grpc-google-cloud-maintenance-v1/pom.xml b/java-maintenance/grpc-google-cloud-maintenance-v1/pom.xml index 68850283b28d..b21019586fd4 100644 --- a/java-maintenance/grpc-google-cloud-maintenance-v1/pom.xml +++ b/java-maintenance/grpc-google-cloud-maintenance-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-maintenance-v1 - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT grpc-google-cloud-maintenance-v1 GRPC library for google-cloud-maintenance com.google.cloud google-cloud-maintenance-parent - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT diff --git a/java-maintenance/grpc-google-cloud-maintenance-v1beta/pom.xml b/java-maintenance/grpc-google-cloud-maintenance-v1beta/pom.xml index 34aee80b1fbd..29e08b2ba150 100644 --- a/java-maintenance/grpc-google-cloud-maintenance-v1beta/pom.xml +++ b/java-maintenance/grpc-google-cloud-maintenance-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-maintenance-v1beta - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT grpc-google-cloud-maintenance-v1beta GRPC library for google-cloud-maintenance com.google.cloud google-cloud-maintenance-parent - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT diff --git a/java-maintenance/pom.xml b/java-maintenance/pom.xml index b0678cd61627..caa52a394024 100644 --- a/java-maintenance/pom.xml +++ b/java-maintenance/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-maintenance-parent pom - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT Google Maintenance API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-maintenance - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc proto-google-cloud-maintenance-v1 - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-maintenance-v1 - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-maintenance-v1beta - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT com.google.api.grpc proto-google-cloud-maintenance-v1beta - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT diff --git a/java-maintenance/proto-google-cloud-maintenance-v1/pom.xml b/java-maintenance/proto-google-cloud-maintenance-v1/pom.xml index 07c71fb6283d..7c9b0f07907b 100644 --- a/java-maintenance/proto-google-cloud-maintenance-v1/pom.xml +++ b/java-maintenance/proto-google-cloud-maintenance-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-maintenance-v1 - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT proto-google-cloud-maintenance-v1 Proto library for google-cloud-maintenance com.google.cloud google-cloud-maintenance-parent - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT diff --git a/java-maintenance/proto-google-cloud-maintenance-v1beta/pom.xml b/java-maintenance/proto-google-cloud-maintenance-v1beta/pom.xml index 000c81462df3..7661e464d614 100644 --- a/java-maintenance/proto-google-cloud-maintenance-v1beta/pom.xml +++ b/java-maintenance/proto-google-cloud-maintenance-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-maintenance-v1beta - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT proto-google-cloud-maintenance-v1beta Proto library for google-cloud-maintenance com.google.cloud google-cloud-maintenance-parent - 0.29.0-SNAPSHOT + 0.30.0-SNAPSHOT diff --git a/java-managed-identities/google-cloud-managed-identities-bom/pom.xml b/java-managed-identities/google-cloud-managed-identities-bom/pom.xml index 6ebec184652b..3b03e0677457 100644 --- a/java-managed-identities/google-cloud-managed-identities-bom/pom.xml +++ b/java-managed-identities/google-cloud-managed-identities-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-managed-identities-bom - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-managed-identities - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-managed-identities-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-managed-identities-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-managed-identities/google-cloud-managed-identities/pom.xml b/java-managed-identities/google-cloud-managed-identities/pom.xml index 897fa54c41bf..35b49bf4c0aa 100644 --- a/java-managed-identities/google-cloud-managed-identities/pom.xml +++ b/java-managed-identities/google-cloud-managed-identities/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-managed-identities - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT jar Google Managed Service for Microsoft Active Directory is a highly available, hardened Google Cloud service running actual Microsoft AD that enables you to manage authentication and authorization for your AD-dependent workloads, automate AD server maintenance and security configuration, and connect your on-premises AD domain to the cloud. com.google.cloud google-cloud-managed-identities-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT google-cloud-managed-identities diff --git a/java-managed-identities/google-cloud-managed-identities/src/main/java/com/google/cloud/managedidentities/v1/stub/Version.java b/java-managed-identities/google-cloud-managed-identities/src/main/java/com/google/cloud/managedidentities/v1/stub/Version.java index db7eae2c2b88..9a445cc3ba5e 100644 --- a/java-managed-identities/google-cloud-managed-identities/src/main/java/com/google/cloud/managedidentities/v1/stub/Version.java +++ b/java-managed-identities/google-cloud-managed-identities/src/main/java/com/google/cloud/managedidentities/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-managed-identities:current} - static final String VERSION = "1.93.0-SNAPSHOT"; + static final String VERSION = "1.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-managed-identities/grpc-google-cloud-managed-identities-v1/pom.xml b/java-managed-identities/grpc-google-cloud-managed-identities-v1/pom.xml index 0370a5885823..adb263b0c0f8 100644 --- a/java-managed-identities/grpc-google-cloud-managed-identities-v1/pom.xml +++ b/java-managed-identities/grpc-google-cloud-managed-identities-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-managed-identities-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT grpc-google-cloud-managed-identities-v1 GRPC library for google-cloud-managed-identities com.google.cloud google-cloud-managed-identities-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-managed-identities/pom.xml b/java-managed-identities/pom.xml index fce9648cc51d..cff18dc0c95f 100644 --- a/java-managed-identities/pom.xml +++ b/java-managed-identities/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-managed-identities-parent pom - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT Google Managed Service for Microsoft Active Directory Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-managed-identities - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-managed-identities-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-managed-identities-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-managed-identities/proto-google-cloud-managed-identities-v1/pom.xml b/java-managed-identities/proto-google-cloud-managed-identities-v1/pom.xml index f05b65b08e29..2f7d08eba8d0 100644 --- a/java-managed-identities/proto-google-cloud-managed-identities-v1/pom.xml +++ b/java-managed-identities/proto-google-cloud-managed-identities-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-managed-identities-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT proto-google-cloud-managed-identities-v1 Proto library for google-cloud-managed-identities com.google.cloud google-cloud-managed-identities-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-managedkafka/google-cloud-managedkafka-bom/pom.xml b/java-managedkafka/google-cloud-managedkafka-bom/pom.xml index 14adae252899..c491663cc52e 100644 --- a/java-managedkafka/google-cloud-managedkafka-bom/pom.xml +++ b/java-managedkafka/google-cloud-managedkafka-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-managedkafka-bom - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-managedkafka - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-managedkafka-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT com.google.api.grpc proto-google-cloud-managedkafka-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT diff --git a/java-managedkafka/google-cloud-managedkafka/pom.xml b/java-managedkafka/google-cloud-managedkafka/pom.xml index 5e6b86db5557..2edc54644a8c 100644 --- a/java-managedkafka/google-cloud-managedkafka/pom.xml +++ b/java-managedkafka/google-cloud-managedkafka/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-managedkafka - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT jar Google Managed Service for Apache Kafka API Managed Service for Apache Kafka API Manage Apache Kafka clusters and resources. com.google.cloud google-cloud-managedkafka-parent - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT google-cloud-managedkafka diff --git a/java-managedkafka/google-cloud-managedkafka/src/main/java/com/google/cloud/managedkafka/v1/stub/Version.java b/java-managedkafka/google-cloud-managedkafka/src/main/java/com/google/cloud/managedkafka/v1/stub/Version.java index 41f47d7a8dec..76cc86cd347f 100644 --- a/java-managedkafka/google-cloud-managedkafka/src/main/java/com/google/cloud/managedkafka/v1/stub/Version.java +++ b/java-managedkafka/google-cloud-managedkafka/src/main/java/com/google/cloud/managedkafka/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-managedkafka:current} - static final String VERSION = "0.51.0-SNAPSHOT"; + static final String VERSION = "0.52.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-managedkafka/grpc-google-cloud-managedkafka-v1/pom.xml b/java-managedkafka/grpc-google-cloud-managedkafka-v1/pom.xml index c89599eec9ea..581ee983fd03 100644 --- a/java-managedkafka/grpc-google-cloud-managedkafka-v1/pom.xml +++ b/java-managedkafka/grpc-google-cloud-managedkafka-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-managedkafka-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT grpc-google-cloud-managedkafka-v1 GRPC library for google-cloud-managedkafka com.google.cloud google-cloud-managedkafka-parent - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT diff --git a/java-managedkafka/pom.xml b/java-managedkafka/pom.xml index 36288d75f338..dd9b9e672fbd 100644 --- a/java-managedkafka/pom.xml +++ b/java-managedkafka/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-managedkafka-parent pom - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT Google Managed Service for Apache Kafka API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-managedkafka - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-managedkafka-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT com.google.api.grpc proto-google-cloud-managedkafka-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT diff --git a/java-managedkafka/proto-google-cloud-managedkafka-v1/pom.xml b/java-managedkafka/proto-google-cloud-managedkafka-v1/pom.xml index 3e8716d34256..bad8f5ea043d 100644 --- a/java-managedkafka/proto-google-cloud-managedkafka-v1/pom.xml +++ b/java-managedkafka/proto-google-cloud-managedkafka-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-managedkafka-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT proto-google-cloud-managedkafka-v1 Proto library for google-cloud-managedkafka com.google.cloud google-cloud-managedkafka-parent - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT diff --git a/java-maps-addressvalidation/google-maps-addressvalidation-bom/pom.xml b/java-maps-addressvalidation/google-maps-addressvalidation-bom/pom.xml index 18596bcbe9b8..fbe30a1b4111 100644 --- a/java-maps-addressvalidation/google-maps-addressvalidation-bom/pom.xml +++ b/java-maps-addressvalidation/google-maps-addressvalidation-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.maps google-maps-addressvalidation-bom - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.maps google-maps-addressvalidation - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-addressvalidation-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-addressvalidation-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT diff --git a/java-maps-addressvalidation/google-maps-addressvalidation/pom.xml b/java-maps-addressvalidation/google-maps-addressvalidation/pom.xml index 47af5d15b1c9..c8b95ac5bcc4 100644 --- a/java-maps-addressvalidation/google-maps-addressvalidation/pom.xml +++ b/java-maps-addressvalidation/google-maps-addressvalidation/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.maps google-maps-addressvalidation - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT jar Google Address Validation API Address Validation API The Address Validation API allows developers to verify the accuracy of addresses. Given an address, it returns information about the correctness of the components of the parsed address, a geocode, and a verdict on the deliverability of the parsed address. com.google.maps google-maps-addressvalidation-parent - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT google-maps-addressvalidation diff --git a/java-maps-addressvalidation/google-maps-addressvalidation/src/main/java/com/google/maps/addressvalidation/v1/stub/Version.java b/java-maps-addressvalidation/google-maps-addressvalidation/src/main/java/com/google/maps/addressvalidation/v1/stub/Version.java index 30e2b1bb39b2..c973618a437f 100644 --- a/java-maps-addressvalidation/google-maps-addressvalidation/src/main/java/com/google/maps/addressvalidation/v1/stub/Version.java +++ b/java-maps-addressvalidation/google-maps-addressvalidation/src/main/java/com/google/maps/addressvalidation/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-maps-addressvalidation:current} - static final String VERSION = "0.89.0-SNAPSHOT"; + static final String VERSION = "0.90.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-maps-addressvalidation/grpc-google-maps-addressvalidation-v1/pom.xml b/java-maps-addressvalidation/grpc-google-maps-addressvalidation-v1/pom.xml index 63d12e4e4061..6aa704ec2672 100644 --- a/java-maps-addressvalidation/grpc-google-maps-addressvalidation-v1/pom.xml +++ b/java-maps-addressvalidation/grpc-google-maps-addressvalidation-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc grpc-google-maps-addressvalidation-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT grpc-google-maps-addressvalidation-v1 GRPC library for google-maps-addressvalidation com.google.maps google-maps-addressvalidation-parent - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT diff --git a/java-maps-addressvalidation/pom.xml b/java-maps-addressvalidation/pom.xml index 58128cc6d8a4..cb61c01a4e83 100644 --- a/java-maps-addressvalidation/pom.xml +++ b/java-maps-addressvalidation/pom.xml @@ -4,7 +4,7 @@ com.google.maps google-maps-addressvalidation-parent pom - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT Google Address Validation API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.maps google-maps-addressvalidation - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-addressvalidation-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-addressvalidation-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT diff --git a/java-maps-addressvalidation/proto-google-maps-addressvalidation-v1/pom.xml b/java-maps-addressvalidation/proto-google-maps-addressvalidation-v1/pom.xml index 053b51510128..67eef953473e 100644 --- a/java-maps-addressvalidation/proto-google-maps-addressvalidation-v1/pom.xml +++ b/java-maps-addressvalidation/proto-google-maps-addressvalidation-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc proto-google-maps-addressvalidation-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT proto-google-maps-addressvalidation-v1 Proto library for google-maps-addressvalidation com.google.maps google-maps-addressvalidation-parent - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT diff --git a/java-maps-area-insights/google-maps-area-insights-bom/pom.xml b/java-maps-area-insights/google-maps-area-insights-bom/pom.xml index b9dd63c01496..a473bf3f95d6 100644 --- a/java-maps-area-insights/google-maps-area-insights-bom/pom.xml +++ b/java-maps-area-insights/google-maps-area-insights-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.maps google-maps-area-insights-bom - 0.46.0-SNAPSHOT + 0.47.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.maps google-maps-area-insights - 0.46.0-SNAPSHOT + 0.47.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-area-insights-v1 - 0.46.0-SNAPSHOT + 0.47.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-area-insights-v1 - 0.46.0-SNAPSHOT + 0.47.0-SNAPSHOT diff --git a/java-maps-area-insights/google-maps-area-insights/pom.xml b/java-maps-area-insights/google-maps-area-insights/pom.xml index 5d150678bde7..76b49537cda2 100644 --- a/java-maps-area-insights/google-maps-area-insights/pom.xml +++ b/java-maps-area-insights/google-maps-area-insights/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.maps google-maps-area-insights - 0.46.0-SNAPSHOT + 0.47.0-SNAPSHOT jar Google Places Insights API Places Insights API Places Insights API. com.google.maps google-maps-area-insights-parent - 0.46.0-SNAPSHOT + 0.47.0-SNAPSHOT google-maps-area-insights diff --git a/java-maps-area-insights/google-maps-area-insights/src/main/java/com/google/maps/areainsights/v1/stub/Version.java b/java-maps-area-insights/google-maps-area-insights/src/main/java/com/google/maps/areainsights/v1/stub/Version.java index 6eeb50798f48..48edb76a0a66 100644 --- a/java-maps-area-insights/google-maps-area-insights/src/main/java/com/google/maps/areainsights/v1/stub/Version.java +++ b/java-maps-area-insights/google-maps-area-insights/src/main/java/com/google/maps/areainsights/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-maps-area-insights:current} - static final String VERSION = "0.46.0-SNAPSHOT"; + static final String VERSION = "0.47.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-maps-area-insights/grpc-google-maps-area-insights-v1/pom.xml b/java-maps-area-insights/grpc-google-maps-area-insights-v1/pom.xml index f9613ab6f3a8..2394ac870db1 100644 --- a/java-maps-area-insights/grpc-google-maps-area-insights-v1/pom.xml +++ b/java-maps-area-insights/grpc-google-maps-area-insights-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc grpc-google-maps-area-insights-v1 - 0.46.0-SNAPSHOT + 0.47.0-SNAPSHOT grpc-google-maps-area-insights-v1 GRPC library for google-maps-area-insights com.google.maps google-maps-area-insights-parent - 0.46.0-SNAPSHOT + 0.47.0-SNAPSHOT diff --git a/java-maps-area-insights/pom.xml b/java-maps-area-insights/pom.xml index c2dc49387856..2765903ad7b6 100644 --- a/java-maps-area-insights/pom.xml +++ b/java-maps-area-insights/pom.xml @@ -4,7 +4,7 @@ com.google.maps google-maps-area-insights-parent pom - 0.46.0-SNAPSHOT + 0.47.0-SNAPSHOT Google Places Insights API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.maps google-maps-area-insights - 0.46.0-SNAPSHOT + 0.47.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-area-insights-v1 - 0.46.0-SNAPSHOT + 0.47.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-area-insights-v1 - 0.46.0-SNAPSHOT + 0.47.0-SNAPSHOT diff --git a/java-maps-area-insights/proto-google-maps-area-insights-v1/pom.xml b/java-maps-area-insights/proto-google-maps-area-insights-v1/pom.xml index ea8445c2615d..6d8b05469114 100644 --- a/java-maps-area-insights/proto-google-maps-area-insights-v1/pom.xml +++ b/java-maps-area-insights/proto-google-maps-area-insights-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc proto-google-maps-area-insights-v1 - 0.46.0-SNAPSHOT + 0.47.0-SNAPSHOT proto-google-maps-area-insights-v1 Proto library for google-maps-area-insights com.google.maps google-maps-area-insights-parent - 0.46.0-SNAPSHOT + 0.47.0-SNAPSHOT diff --git a/java-maps-fleetengine-delivery/google-maps-fleetengine-delivery-bom/pom.xml b/java-maps-fleetengine-delivery/google-maps-fleetengine-delivery-bom/pom.xml index bb93453aa2d2..bea78fd0a951 100644 --- a/java-maps-fleetengine-delivery/google-maps-fleetengine-delivery-bom/pom.xml +++ b/java-maps-fleetengine-delivery/google-maps-fleetengine-delivery-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.maps google-maps-fleetengine-delivery-bom - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.maps google-maps-fleetengine-delivery - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-fleetengine-delivery-v1 - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-fleetengine-delivery-v1 - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT diff --git a/java-maps-fleetengine-delivery/google-maps-fleetengine-delivery/pom.xml b/java-maps-fleetengine-delivery/google-maps-fleetengine-delivery/pom.xml index 22cd1447b764..ca2d96a045c7 100644 --- a/java-maps-fleetengine-delivery/google-maps-fleetengine-delivery/pom.xml +++ b/java-maps-fleetengine-delivery/google-maps-fleetengine-delivery/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.maps google-maps-fleetengine-delivery - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT jar Google Last Mile Fleet Solution Delivery API Last Mile Fleet Solution Delivery API Enables Fleet Engine for access to the On Demand Rides and Deliveries and Last Mile Fleet Solution APIs. Customer's use of Google Maps Content in the Cloud Logging Services is subject to the Google Maps Platform Terms of Service located at https://cloud.google.com/maps-platform/terms. com.google.maps google-maps-fleetengine-delivery-parent - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT google-maps-fleetengine-delivery diff --git a/java-maps-fleetengine-delivery/google-maps-fleetengine-delivery/src/main/java/com/google/maps/fleetengine/delivery/v1/stub/Version.java b/java-maps-fleetengine-delivery/google-maps-fleetengine-delivery/src/main/java/com/google/maps/fleetengine/delivery/v1/stub/Version.java index e8e2021d121c..bd6826eae30d 100644 --- a/java-maps-fleetengine-delivery/google-maps-fleetengine-delivery/src/main/java/com/google/maps/fleetengine/delivery/v1/stub/Version.java +++ b/java-maps-fleetengine-delivery/google-maps-fleetengine-delivery/src/main/java/com/google/maps/fleetengine/delivery/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-maps-fleetengine-delivery:current} - static final String VERSION = "0.42.0-SNAPSHOT"; + static final String VERSION = "0.43.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-maps-fleetengine-delivery/grpc-google-maps-fleetengine-delivery-v1/pom.xml b/java-maps-fleetengine-delivery/grpc-google-maps-fleetengine-delivery-v1/pom.xml index e09cb92f0329..15ce34edceed 100644 --- a/java-maps-fleetengine-delivery/grpc-google-maps-fleetengine-delivery-v1/pom.xml +++ b/java-maps-fleetengine-delivery/grpc-google-maps-fleetengine-delivery-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc grpc-google-maps-fleetengine-delivery-v1 - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT grpc-google-maps-fleetengine-delivery-v1 GRPC library for google-maps-fleetengine-delivery com.google.maps google-maps-fleetengine-delivery-parent - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT diff --git a/java-maps-fleetengine-delivery/pom.xml b/java-maps-fleetengine-delivery/pom.xml index f00492628a73..1738e47df508 100644 --- a/java-maps-fleetengine-delivery/pom.xml +++ b/java-maps-fleetengine-delivery/pom.xml @@ -4,7 +4,7 @@ com.google.maps google-maps-fleetengine-delivery-parent pom - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT Google Last Mile Fleet Solution Delivery API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.maps google-maps-fleetengine-delivery - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-fleetengine-delivery-v1 - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-fleetengine-delivery-v1 - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT diff --git a/java-maps-fleetengine-delivery/proto-google-maps-fleetengine-delivery-v1/pom.xml b/java-maps-fleetengine-delivery/proto-google-maps-fleetengine-delivery-v1/pom.xml index 3daa4cdc7f3c..fb64e6667c9f 100644 --- a/java-maps-fleetengine-delivery/proto-google-maps-fleetengine-delivery-v1/pom.xml +++ b/java-maps-fleetengine-delivery/proto-google-maps-fleetengine-delivery-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc proto-google-maps-fleetengine-delivery-v1 - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT proto-google-maps-fleetengine-delivery-v1 Proto library for google-maps-fleetengine-delivery com.google.maps google-maps-fleetengine-delivery-parent - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT diff --git a/java-maps-fleetengine/google-maps-fleetengine-bom/pom.xml b/java-maps-fleetengine/google-maps-fleetengine-bom/pom.xml index b3dceb2e7f97..f0cd01217543 100644 --- a/java-maps-fleetengine/google-maps-fleetengine-bom/pom.xml +++ b/java-maps-fleetengine/google-maps-fleetengine-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.maps google-maps-fleetengine-bom - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.maps google-maps-fleetengine - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-fleetengine-v1 - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-fleetengine-v1 - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT diff --git a/java-maps-fleetengine/google-maps-fleetengine/pom.xml b/java-maps-fleetengine/google-maps-fleetengine/pom.xml index 3072443694e3..fbedc7791474 100644 --- a/java-maps-fleetengine/google-maps-fleetengine/pom.xml +++ b/java-maps-fleetengine/google-maps-fleetengine/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.maps google-maps-fleetengine - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT jar Google Local Rides and Deliveries API Local Rides and Deliveries API Enables Fleet Engine for access to the On Demand Rides and Deliveries and Last Mile Fleet Solution APIs. Customer's use of Google Maps Content in the Cloud Logging Services is subject to the Google Maps Platform Terms of Service located at https://cloud.google.com/maps-platform/terms. com.google.maps google-maps-fleetengine-parent - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT google-maps-fleetengine diff --git a/java-maps-fleetengine/google-maps-fleetengine/src/main/java/com/google/maps/fleetengine/v1/stub/Version.java b/java-maps-fleetengine/google-maps-fleetengine/src/main/java/com/google/maps/fleetengine/v1/stub/Version.java index 03204fca4080..e8f2d5f3351a 100644 --- a/java-maps-fleetengine/google-maps-fleetengine/src/main/java/com/google/maps/fleetengine/v1/stub/Version.java +++ b/java-maps-fleetengine/google-maps-fleetengine/src/main/java/com/google/maps/fleetengine/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-maps-fleetengine:current} - static final String VERSION = "0.42.0-SNAPSHOT"; + static final String VERSION = "0.43.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-maps-fleetengine/grpc-google-maps-fleetengine-v1/pom.xml b/java-maps-fleetengine/grpc-google-maps-fleetengine-v1/pom.xml index 7362dc1145b5..78504328fd7a 100644 --- a/java-maps-fleetengine/grpc-google-maps-fleetengine-v1/pom.xml +++ b/java-maps-fleetengine/grpc-google-maps-fleetengine-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc grpc-google-maps-fleetengine-v1 - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT grpc-google-maps-fleetengine-v1 GRPC library for google-maps-fleetengine com.google.maps google-maps-fleetengine-parent - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT diff --git a/java-maps-fleetengine/pom.xml b/java-maps-fleetengine/pom.xml index eb40238bdb6b..b477cf5baec2 100644 --- a/java-maps-fleetengine/pom.xml +++ b/java-maps-fleetengine/pom.xml @@ -4,7 +4,7 @@ com.google.maps google-maps-fleetengine-parent pom - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT Google Local Rides and Deliveries API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.maps google-maps-fleetengine - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-fleetengine-v1 - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-fleetengine-v1 - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT diff --git a/java-maps-fleetengine/proto-google-maps-fleetengine-v1/pom.xml b/java-maps-fleetengine/proto-google-maps-fleetengine-v1/pom.xml index 950bfac32622..e8ae2d1473c0 100644 --- a/java-maps-fleetengine/proto-google-maps-fleetengine-v1/pom.xml +++ b/java-maps-fleetengine/proto-google-maps-fleetengine-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc proto-google-maps-fleetengine-v1 - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT proto-google-maps-fleetengine-v1 Proto library for google-maps-fleetengine com.google.maps google-maps-fleetengine-parent - 0.42.0-SNAPSHOT + 0.43.0-SNAPSHOT diff --git a/java-maps-geocode/google-maps-geocode-bom/pom.xml b/java-maps-geocode/google-maps-geocode-bom/pom.xml index 4dbd9f141734..b8f9fc92ee83 100644 --- a/java-maps-geocode/google-maps-geocode-bom/pom.xml +++ b/java-maps-geocode/google-maps-geocode-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.maps google-maps-geocode-bom - 0.7.0-SNAPSHOT + 0.8.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.maps google-maps-geocode - 0.7.0-SNAPSHOT + 0.8.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-geocode-v4 - 0.7.0-SNAPSHOT + 0.8.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-geocode-v4 - 0.7.0-SNAPSHOT + 0.8.0-SNAPSHOT diff --git a/java-maps-geocode/google-maps-geocode/pom.xml b/java-maps-geocode/google-maps-geocode/pom.xml index ad2e58af8664..3d8a1ab5d1b9 100644 --- a/java-maps-geocode/google-maps-geocode/pom.xml +++ b/java-maps-geocode/google-maps-geocode/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.maps google-maps-geocode - 0.7.0-SNAPSHOT + 0.8.0-SNAPSHOT jar Google Geocoding API Geocoding API The Geocoding API is a service that accepts a place as an address, latitude and longitude coordinates, or Place ID. com.google.maps google-maps-geocode-parent - 0.7.0-SNAPSHOT + 0.8.0-SNAPSHOT google-maps-geocode diff --git a/java-maps-geocode/google-maps-geocode/src/main/java/com/google/maps/geocode/v4/stub/Version.java b/java-maps-geocode/google-maps-geocode/src/main/java/com/google/maps/geocode/v4/stub/Version.java index 81465d85927e..d1a93bde7615 100644 --- a/java-maps-geocode/google-maps-geocode/src/main/java/com/google/maps/geocode/v4/stub/Version.java +++ b/java-maps-geocode/google-maps-geocode/src/main/java/com/google/maps/geocode/v4/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-maps-geocode:current} - static final String VERSION = "0.7.0-SNAPSHOT"; + static final String VERSION = "0.8.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-maps-geocode/grpc-google-maps-geocode-v4/pom.xml b/java-maps-geocode/grpc-google-maps-geocode-v4/pom.xml index d9567f22c2e0..4f6a4bdb2f56 100644 --- a/java-maps-geocode/grpc-google-maps-geocode-v4/pom.xml +++ b/java-maps-geocode/grpc-google-maps-geocode-v4/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc grpc-google-maps-geocode-v4 - 0.7.0-SNAPSHOT + 0.8.0-SNAPSHOT grpc-google-maps-geocode-v4 GRPC library for google-maps-geocode com.google.maps google-maps-geocode-parent - 0.7.0-SNAPSHOT + 0.8.0-SNAPSHOT diff --git a/java-maps-geocode/pom.xml b/java-maps-geocode/pom.xml index ee0dd555e7c0..7338ac8ae031 100644 --- a/java-maps-geocode/pom.xml +++ b/java-maps-geocode/pom.xml @@ -4,7 +4,7 @@ com.google.maps google-maps-geocode-parent pom - 0.7.0-SNAPSHOT + 0.8.0-SNAPSHOT Google Geocoding API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.maps google-maps-geocode - 0.7.0-SNAPSHOT + 0.8.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-geocode-v4 - 0.7.0-SNAPSHOT + 0.8.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-geocode-v4 - 0.7.0-SNAPSHOT + 0.8.0-SNAPSHOT diff --git a/java-maps-geocode/proto-google-maps-geocode-v4/pom.xml b/java-maps-geocode/proto-google-maps-geocode-v4/pom.xml index 47d1c4166991..f06b4db5ce49 100644 --- a/java-maps-geocode/proto-google-maps-geocode-v4/pom.xml +++ b/java-maps-geocode/proto-google-maps-geocode-v4/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc proto-google-maps-geocode-v4 - 0.7.0-SNAPSHOT + 0.8.0-SNAPSHOT proto-google-maps-geocode-v4 Proto library for google-maps-geocode com.google.maps google-maps-geocode-parent - 0.7.0-SNAPSHOT + 0.8.0-SNAPSHOT diff --git a/java-maps-isochrones/google-maps-isochrones-bom/pom.xml b/java-maps-isochrones/google-maps-isochrones-bom/pom.xml index b33ad494f198..ae53c444c795 100644 --- a/java-maps-isochrones/google-maps-isochrones-bom/pom.xml +++ b/java-maps-isochrones/google-maps-isochrones-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.maps google-maps-isochrones-bom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.maps google-maps-isochrones - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-isochrones-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-isochrones-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-maps-isochrones/google-maps-isochrones/pom.xml b/java-maps-isochrones/google-maps-isochrones/pom.xml index 45027b39039d..1ebc36992bfa 100644 --- a/java-maps-isochrones/google-maps-isochrones/pom.xml +++ b/java-maps-isochrones/google-maps-isochrones/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.maps google-maps-isochrones - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT jar Google Isochrones Isochrones isochrones.googleapis.com API. com.google.maps google-maps-isochrones-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT google-maps-isochrones diff --git a/java-maps-isochrones/google-maps-isochrones/src/main/java/com/google/maps/isochrones/v1/stub/Version.java b/java-maps-isochrones/google-maps-isochrones/src/main/java/com/google/maps/isochrones/v1/stub/Version.java index 68f42c97d8df..6825fb072601 100644 --- a/java-maps-isochrones/google-maps-isochrones/src/main/java/com/google/maps/isochrones/v1/stub/Version.java +++ b/java-maps-isochrones/google-maps-isochrones/src/main/java/com/google/maps/isochrones/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-maps-isochrones:current} - static final String VERSION = "0.0.0-SNAPSHOT"; + static final String VERSION = "0.2.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-maps-isochrones/grpc-google-maps-isochrones-v1/pom.xml b/java-maps-isochrones/grpc-google-maps-isochrones-v1/pom.xml index cd7fb7457dd2..63bdcbf19457 100644 --- a/java-maps-isochrones/grpc-google-maps-isochrones-v1/pom.xml +++ b/java-maps-isochrones/grpc-google-maps-isochrones-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc grpc-google-maps-isochrones-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT grpc-google-maps-isochrones-v1 GRPC library for google-maps-isochrones com.google.maps google-maps-isochrones-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-maps-isochrones/pom.xml b/java-maps-isochrones/pom.xml index e9f5b02d08ae..91b3fa8ad123 100644 --- a/java-maps-isochrones/pom.xml +++ b/java-maps-isochrones/pom.xml @@ -4,7 +4,7 @@ com.google.maps google-maps-isochrones-parent pom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT Google Isochrones Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.maps google-maps-isochrones - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-isochrones-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-isochrones-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-maps-isochrones/proto-google-maps-isochrones-v1/pom.xml b/java-maps-isochrones/proto-google-maps-isochrones-v1/pom.xml index 54a2157e22af..40243bda6bc9 100644 --- a/java-maps-isochrones/proto-google-maps-isochrones-v1/pom.xml +++ b/java-maps-isochrones/proto-google-maps-isochrones-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc proto-google-maps-isochrones-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT proto-google-maps-isochrones-v1 Proto library for google-maps-isochrones com.google.maps google-maps-isochrones-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-maps-mapmanagement/google-maps-mapmanagement-bom/pom.xml b/java-maps-mapmanagement/google-maps-mapmanagement-bom/pom.xml index c49f0e55f5ce..080e67f494ec 100644 --- a/java-maps-mapmanagement/google-maps-mapmanagement-bom/pom.xml +++ b/java-maps-mapmanagement/google-maps-mapmanagement-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.maps google-maps-mapmanagement-bom - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.maps google-maps-mapmanagement - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-mapmanagement-v2beta - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-mapmanagement-v2beta - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT diff --git a/java-maps-mapmanagement/google-maps-mapmanagement/pom.xml b/java-maps-mapmanagement/google-maps-mapmanagement/pom.xml index e459c84d98e1..2f7dbf51c8a5 100644 --- a/java-maps-mapmanagement/google-maps-mapmanagement/pom.xml +++ b/java-maps-mapmanagement/google-maps-mapmanagement/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.maps google-maps-mapmanagement - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT jar Google Map Management API Map Management API The Map Management API is a RESTful service that accepts HTTP requests for map styling data through a variety of methods. It returns formatted configuration data about map styling resources so that you can programmatically manage your Cloud-based map styles. com.google.maps google-maps-mapmanagement-parent - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT google-maps-mapmanagement diff --git a/java-maps-mapmanagement/google-maps-mapmanagement/src/main/java/com/google/maps/mapmanagement/v2beta/stub/Version.java b/java-maps-mapmanagement/google-maps-mapmanagement/src/main/java/com/google/maps/mapmanagement/v2beta/stub/Version.java index f5690d3c0b80..584e540a12b7 100644 --- a/java-maps-mapmanagement/google-maps-mapmanagement/src/main/java/com/google/maps/mapmanagement/v2beta/stub/Version.java +++ b/java-maps-mapmanagement/google-maps-mapmanagement/src/main/java/com/google/maps/mapmanagement/v2beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-maps-mapmanagement:current} - static final String VERSION = "0.4.0-SNAPSHOT"; + static final String VERSION = "0.5.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-maps-mapmanagement/grpc-google-maps-mapmanagement-v2beta/pom.xml b/java-maps-mapmanagement/grpc-google-maps-mapmanagement-v2beta/pom.xml index 6190bb715f98..ecdd07187613 100644 --- a/java-maps-mapmanagement/grpc-google-maps-mapmanagement-v2beta/pom.xml +++ b/java-maps-mapmanagement/grpc-google-maps-mapmanagement-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc grpc-google-maps-mapmanagement-v2beta - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT grpc-google-maps-mapmanagement-v2beta GRPC library for google-maps-mapmanagement com.google.maps google-maps-mapmanagement-parent - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT diff --git a/java-maps-mapmanagement/pom.xml b/java-maps-mapmanagement/pom.xml index 25f7a768f218..7bccfbfe4b41 100644 --- a/java-maps-mapmanagement/pom.xml +++ b/java-maps-mapmanagement/pom.xml @@ -4,7 +4,7 @@ com.google.maps google-maps-mapmanagement-parent pom - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT Google Map Management API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.maps google-maps-mapmanagement - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-mapmanagement-v2beta - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-mapmanagement-v2beta - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT diff --git a/java-maps-mapmanagement/proto-google-maps-mapmanagement-v2beta/pom.xml b/java-maps-mapmanagement/proto-google-maps-mapmanagement-v2beta/pom.xml index c463d6a54033..aefff3d590d8 100644 --- a/java-maps-mapmanagement/proto-google-maps-mapmanagement-v2beta/pom.xml +++ b/java-maps-mapmanagement/proto-google-maps-mapmanagement-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc proto-google-maps-mapmanagement-v2beta - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT proto-google-maps-mapmanagement-v2beta Proto library for google-maps-mapmanagement com.google.maps google-maps-mapmanagement-parent - 0.4.0-SNAPSHOT + 0.5.0-SNAPSHOT diff --git a/java-maps-mapsplatformdatasets/google-maps-mapsplatformdatasets-bom/pom.xml b/java-maps-mapsplatformdatasets/google-maps-mapsplatformdatasets-bom/pom.xml index d2ba66b63161..498c3381e931 100644 --- a/java-maps-mapsplatformdatasets/google-maps-mapsplatformdatasets-bom/pom.xml +++ b/java-maps-mapsplatformdatasets/google-maps-mapsplatformdatasets-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.maps google-maps-mapsplatformdatasets-bom - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.maps google-maps-mapsplatformdatasets - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-mapsplatformdatasets-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-mapsplatformdatasets-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-maps-mapsplatformdatasets/google-maps-mapsplatformdatasets/pom.xml b/java-maps-mapsplatformdatasets/google-maps-mapsplatformdatasets/pom.xml index 55fe059411cb..d2c09a37115e 100644 --- a/java-maps-mapsplatformdatasets/google-maps-mapsplatformdatasets/pom.xml +++ b/java-maps-mapsplatformdatasets/google-maps-mapsplatformdatasets/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.maps google-maps-mapsplatformdatasets - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT jar Google Maps Platform Datasets API Maps Platform Datasets API The Maps Platform Datasets API enables developers to ingest geospatially-tied datasets @@ -11,7 +11,7 @@ com.google.maps google-maps-mapsplatformdatasets-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT google-maps-mapsplatformdatasets diff --git a/java-maps-mapsplatformdatasets/google-maps-mapsplatformdatasets/src/main/java/com/google/maps/mapsplatformdatasets/v1/stub/Version.java b/java-maps-mapsplatformdatasets/google-maps-mapsplatformdatasets/src/main/java/com/google/maps/mapsplatformdatasets/v1/stub/Version.java index 78ba53911bde..d5f256a6755e 100644 --- a/java-maps-mapsplatformdatasets/google-maps-mapsplatformdatasets/src/main/java/com/google/maps/mapsplatformdatasets/v1/stub/Version.java +++ b/java-maps-mapsplatformdatasets/google-maps-mapsplatformdatasets/src/main/java/com/google/maps/mapsplatformdatasets/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-maps-mapsplatformdatasets:current} - static final String VERSION = "0.84.0-SNAPSHOT"; + static final String VERSION = "0.85.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-maps-mapsplatformdatasets/grpc-google-maps-mapsplatformdatasets-v1/pom.xml b/java-maps-mapsplatformdatasets/grpc-google-maps-mapsplatformdatasets-v1/pom.xml index 81ec989bba58..de0e520713ae 100644 --- a/java-maps-mapsplatformdatasets/grpc-google-maps-mapsplatformdatasets-v1/pom.xml +++ b/java-maps-mapsplatformdatasets/grpc-google-maps-mapsplatformdatasets-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc grpc-google-maps-mapsplatformdatasets-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT grpc-google-maps-mapsplatformdatasets-v1 GRPC library for google-maps-mapsplatformdatasets com.google.maps google-maps-mapsplatformdatasets-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-maps-mapsplatformdatasets/pom.xml b/java-maps-mapsplatformdatasets/pom.xml index 7f6d04be80f2..54e9a918e908 100644 --- a/java-maps-mapsplatformdatasets/pom.xml +++ b/java-maps-mapsplatformdatasets/pom.xml @@ -4,7 +4,7 @@ com.google.maps google-maps-mapsplatformdatasets-parent pom - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT Google Maps Platform Datasets API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.maps google-maps-mapsplatformdatasets - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-mapsplatformdatasets-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-mapsplatformdatasets-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-maps-mapsplatformdatasets/proto-google-maps-mapsplatformdatasets-v1/pom.xml b/java-maps-mapsplatformdatasets/proto-google-maps-mapsplatformdatasets-v1/pom.xml index 0fa2f9ffb1c6..c00e014b4588 100644 --- a/java-maps-mapsplatformdatasets/proto-google-maps-mapsplatformdatasets-v1/pom.xml +++ b/java-maps-mapsplatformdatasets/proto-google-maps-mapsplatformdatasets-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc proto-google-maps-mapsplatformdatasets-v1 - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT proto-google-maps-mapsplatformdatasets-v1 Proto library for google-maps-mapsplatformdatasets com.google.maps google-maps-mapsplatformdatasets-parent - 0.84.0-SNAPSHOT + 0.85.0-SNAPSHOT diff --git a/java-maps-navconnect/google-maps-navconnect-bom/pom.xml b/java-maps-navconnect/google-maps-navconnect-bom/pom.xml index 6907ef45e437..d6854ca13653 100644 --- a/java-maps-navconnect/google-maps-navconnect-bom/pom.xml +++ b/java-maps-navconnect/google-maps-navconnect-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.maps google-maps-navconnect-bom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.maps google-maps-navconnect - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-navconnect-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-navconnect-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-maps-navconnect/google-maps-navconnect/pom.xml b/java-maps-navconnect/google-maps-navconnect/pom.xml index 0e8d662c15bb..507327be158c 100644 --- a/java-maps-navconnect/google-maps-navconnect/pom.xml +++ b/java-maps-navconnect/google-maps-navconnect/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.maps google-maps-navconnect - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT jar Google Navigation Connect Navigation Connect Navigation Connect API. com.google.maps google-maps-navconnect-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT google-maps-navconnect diff --git a/java-maps-navconnect/google-maps-navconnect/src/main/java/com/google/maps/navconnect/v1/stub/Version.java b/java-maps-navconnect/google-maps-navconnect/src/main/java/com/google/maps/navconnect/v1/stub/Version.java index 158fb32fb490..bcd5d6b2d98d 100644 --- a/java-maps-navconnect/google-maps-navconnect/src/main/java/com/google/maps/navconnect/v1/stub/Version.java +++ b/java-maps-navconnect/google-maps-navconnect/src/main/java/com/google/maps/navconnect/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-maps-navconnect:current} - static final String VERSION = "0.0.0-SNAPSHOT"; + static final String VERSION = "0.2.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-maps-navconnect/grpc-google-maps-navconnect-v1/pom.xml b/java-maps-navconnect/grpc-google-maps-navconnect-v1/pom.xml index 2496e1929468..81e01d7c14a4 100644 --- a/java-maps-navconnect/grpc-google-maps-navconnect-v1/pom.xml +++ b/java-maps-navconnect/grpc-google-maps-navconnect-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc grpc-google-maps-navconnect-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT grpc-google-maps-navconnect-v1 GRPC library for google-maps-navconnect com.google.maps google-maps-navconnect-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-maps-navconnect/pom.xml b/java-maps-navconnect/pom.xml index 57292744fc13..9a0cf043ac35 100644 --- a/java-maps-navconnect/pom.xml +++ b/java-maps-navconnect/pom.xml @@ -4,7 +4,7 @@ com.google.maps google-maps-navconnect-parent pom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT Google Navigation Connect Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.maps google-maps-navconnect - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-navconnect-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-navconnect-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-maps-navconnect/proto-google-maps-navconnect-v1/pom.xml b/java-maps-navconnect/proto-google-maps-navconnect-v1/pom.xml index 87a6d749b352..69cbca065ce8 100644 --- a/java-maps-navconnect/proto-google-maps-navconnect-v1/pom.xml +++ b/java-maps-navconnect/proto-google-maps-navconnect-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc proto-google-maps-navconnect-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT proto-google-maps-navconnect-v1 Proto library for google-maps-navconnect com.google.maps google-maps-navconnect-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-maps-places/google-maps-places-bom/pom.xml b/java-maps-places/google-maps-places-bom/pom.xml index a9a96968a9bd..453e43c53a44 100644 --- a/java-maps-places/google-maps-places-bom/pom.xml +++ b/java-maps-places/google-maps-places-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.maps google-maps-places-bom - 0.66.0-SNAPSHOT + 0.67.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.maps google-maps-places - 0.66.0-SNAPSHOT + 0.67.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-places-v1 - 0.66.0-SNAPSHOT + 0.67.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-places-v1 - 0.66.0-SNAPSHOT + 0.67.0-SNAPSHOT diff --git a/java-maps-places/google-maps-places/pom.xml b/java-maps-places/google-maps-places/pom.xml index b34206361d58..e6d74888f819 100644 --- a/java-maps-places/google-maps-places/pom.xml +++ b/java-maps-places/google-maps-places/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.maps google-maps-places - 0.66.0-SNAPSHOT + 0.67.0-SNAPSHOT jar Google Places API (New) Places API (New) The Places API allows developers to access a variety of search and @@ -11,7 +11,7 @@ com.google.maps google-maps-places-parent - 0.66.0-SNAPSHOT + 0.67.0-SNAPSHOT google-maps-places diff --git a/java-maps-places/google-maps-places/src/main/java/com/google/maps/places/v1/stub/Version.java b/java-maps-places/google-maps-places/src/main/java/com/google/maps/places/v1/stub/Version.java index 3cc04026b0f7..9f2b9ae3df91 100644 --- a/java-maps-places/google-maps-places/src/main/java/com/google/maps/places/v1/stub/Version.java +++ b/java-maps-places/google-maps-places/src/main/java/com/google/maps/places/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-maps-places:current} - static final String VERSION = "0.66.0-SNAPSHOT"; + static final String VERSION = "0.67.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-maps-places/grpc-google-maps-places-v1/pom.xml b/java-maps-places/grpc-google-maps-places-v1/pom.xml index 67e26728dec2..861149dedb1c 100644 --- a/java-maps-places/grpc-google-maps-places-v1/pom.xml +++ b/java-maps-places/grpc-google-maps-places-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc grpc-google-maps-places-v1 - 0.66.0-SNAPSHOT + 0.67.0-SNAPSHOT grpc-google-maps-places-v1 GRPC library for google-maps-places com.google.maps google-maps-places-parent - 0.66.0-SNAPSHOT + 0.67.0-SNAPSHOT diff --git a/java-maps-places/pom.xml b/java-maps-places/pom.xml index 20cda002f829..c94df0d69786 100644 --- a/java-maps-places/pom.xml +++ b/java-maps-places/pom.xml @@ -4,7 +4,7 @@ com.google.maps google-maps-places-parent pom - 0.66.0-SNAPSHOT + 0.67.0-SNAPSHOT Google Places API (New) Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.maps google-maps-places - 0.66.0-SNAPSHOT + 0.67.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-places-v1 - 0.66.0-SNAPSHOT + 0.67.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-places-v1 - 0.66.0-SNAPSHOT + 0.67.0-SNAPSHOT diff --git a/java-maps-places/proto-google-maps-places-v1/pom.xml b/java-maps-places/proto-google-maps-places-v1/pom.xml index fd846059e509..dbfe710fc92a 100644 --- a/java-maps-places/proto-google-maps-places-v1/pom.xml +++ b/java-maps-places/proto-google-maps-places-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc proto-google-maps-places-v1 - 0.66.0-SNAPSHOT + 0.67.0-SNAPSHOT proto-google-maps-places-v1 Proto library for google-maps-places com.google.maps google-maps-places-parent - 0.66.0-SNAPSHOT + 0.67.0-SNAPSHOT diff --git a/java-maps-routeoptimization/google-maps-routeoptimization-bom/pom.xml b/java-maps-routeoptimization/google-maps-routeoptimization-bom/pom.xml index 91728c5b82e1..a4b20c0f6546 100644 --- a/java-maps-routeoptimization/google-maps-routeoptimization-bom/pom.xml +++ b/java-maps-routeoptimization/google-maps-routeoptimization-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.maps google-maps-routeoptimization-bom - 0.53.0-SNAPSHOT + 0.54.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.maps google-maps-routeoptimization - 0.53.0-SNAPSHOT + 0.54.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-routeoptimization-v1 - 0.53.0-SNAPSHOT + 0.54.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-routeoptimization-v1 - 0.53.0-SNAPSHOT + 0.54.0-SNAPSHOT diff --git a/java-maps-routeoptimization/google-maps-routeoptimization/pom.xml b/java-maps-routeoptimization/google-maps-routeoptimization/pom.xml index 5eef2c580233..996159fff21a 100644 --- a/java-maps-routeoptimization/google-maps-routeoptimization/pom.xml +++ b/java-maps-routeoptimization/google-maps-routeoptimization/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.maps google-maps-routeoptimization - 0.53.0-SNAPSHOT + 0.54.0-SNAPSHOT jar Google Route Optimization API Route Optimization API The Route Optimization API assigns tasks and routes to a vehicle fleet, optimizing against the objectives and constraints that you supply for your transportation goals. com.google.maps google-maps-routeoptimization-parent - 0.53.0-SNAPSHOT + 0.54.0-SNAPSHOT google-maps-routeoptimization diff --git a/java-maps-routeoptimization/google-maps-routeoptimization/src/main/java/com/google/maps/routeoptimization/v1/stub/Version.java b/java-maps-routeoptimization/google-maps-routeoptimization/src/main/java/com/google/maps/routeoptimization/v1/stub/Version.java index e13757928969..29817a071989 100644 --- a/java-maps-routeoptimization/google-maps-routeoptimization/src/main/java/com/google/maps/routeoptimization/v1/stub/Version.java +++ b/java-maps-routeoptimization/google-maps-routeoptimization/src/main/java/com/google/maps/routeoptimization/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-maps-routeoptimization:current} - static final String VERSION = "0.53.0-SNAPSHOT"; + static final String VERSION = "0.54.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-maps-routeoptimization/grpc-google-maps-routeoptimization-v1/pom.xml b/java-maps-routeoptimization/grpc-google-maps-routeoptimization-v1/pom.xml index f2150ad30ae4..3e7b62636f98 100644 --- a/java-maps-routeoptimization/grpc-google-maps-routeoptimization-v1/pom.xml +++ b/java-maps-routeoptimization/grpc-google-maps-routeoptimization-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc grpc-google-maps-routeoptimization-v1 - 0.53.0-SNAPSHOT + 0.54.0-SNAPSHOT grpc-google-maps-routeoptimization-v1 GRPC library for google-maps-routeoptimization com.google.maps google-maps-routeoptimization-parent - 0.53.0-SNAPSHOT + 0.54.0-SNAPSHOT diff --git a/java-maps-routeoptimization/pom.xml b/java-maps-routeoptimization/pom.xml index 1472617fd014..520844c6a0ae 100644 --- a/java-maps-routeoptimization/pom.xml +++ b/java-maps-routeoptimization/pom.xml @@ -4,7 +4,7 @@ com.google.maps google-maps-routeoptimization-parent pom - 0.53.0-SNAPSHOT + 0.54.0-SNAPSHOT Google Route Optimization API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.maps google-maps-routeoptimization - 0.53.0-SNAPSHOT + 0.54.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-routeoptimization-v1 - 0.53.0-SNAPSHOT + 0.54.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-routeoptimization-v1 - 0.53.0-SNAPSHOT + 0.54.0-SNAPSHOT diff --git a/java-maps-routeoptimization/proto-google-maps-routeoptimization-v1/pom.xml b/java-maps-routeoptimization/proto-google-maps-routeoptimization-v1/pom.xml index 7453ff0180c7..4cd3da1711e4 100644 --- a/java-maps-routeoptimization/proto-google-maps-routeoptimization-v1/pom.xml +++ b/java-maps-routeoptimization/proto-google-maps-routeoptimization-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc proto-google-maps-routeoptimization-v1 - 0.53.0-SNAPSHOT + 0.54.0-SNAPSHOT proto-google-maps-routeoptimization-v1 Proto library for google-maps-routeoptimization com.google.maps google-maps-routeoptimization-parent - 0.53.0-SNAPSHOT + 0.54.0-SNAPSHOT diff --git a/java-maps-routing/google-maps-routing-bom/pom.xml b/java-maps-routing/google-maps-routing-bom/pom.xml index 4d049314de94..10612271683a 100644 --- a/java-maps-routing/google-maps-routing-bom/pom.xml +++ b/java-maps-routing/google-maps-routing-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.maps google-maps-routing-bom - 1.80.0-SNAPSHOT + 1.81.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.maps google-maps-routing - 1.80.0-SNAPSHOT + 1.81.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-routing-v2 - 1.80.0-SNAPSHOT + 1.81.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-routing-v2 - 1.80.0-SNAPSHOT + 1.81.0-SNAPSHOT diff --git a/java-maps-routing/google-maps-routing/pom.xml b/java-maps-routing/google-maps-routing/pom.xml index a9cd1e04f643..9f06340c3be3 100644 --- a/java-maps-routing/google-maps-routing/pom.xml +++ b/java-maps-routing/google-maps-routing/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.maps google-maps-routing - 1.80.0-SNAPSHOT + 1.81.0-SNAPSHOT jar Google Routes API Routes API Routes API is the next generation, performance optimized version of the existing Directions API and Distance Matrix API. It helps you find the ideal route from A to Z, calculates ETAs and distances for matrices of origin and destination locations, and also offers new features. com.google.maps google-maps-routing-parent - 1.80.0-SNAPSHOT + 1.81.0-SNAPSHOT google-maps-routing diff --git a/java-maps-routing/google-maps-routing/src/main/java/com/google/maps/routing/v2/stub/Version.java b/java-maps-routing/google-maps-routing/src/main/java/com/google/maps/routing/v2/stub/Version.java index 62685a2d3793..2970b13d8824 100644 --- a/java-maps-routing/google-maps-routing/src/main/java/com/google/maps/routing/v2/stub/Version.java +++ b/java-maps-routing/google-maps-routing/src/main/java/com/google/maps/routing/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-maps-routing:current} - static final String VERSION = "1.80.0-SNAPSHOT"; + static final String VERSION = "1.81.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-maps-routing/grpc-google-maps-routing-v2/pom.xml b/java-maps-routing/grpc-google-maps-routing-v2/pom.xml index b7b3aa4ab06f..6ab672872adb 100644 --- a/java-maps-routing/grpc-google-maps-routing-v2/pom.xml +++ b/java-maps-routing/grpc-google-maps-routing-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc grpc-google-maps-routing-v2 - 1.80.0-SNAPSHOT + 1.81.0-SNAPSHOT grpc-google-maps-routing-v2 GRPC library for google-maps-routing com.google.maps google-maps-routing-parent - 1.80.0-SNAPSHOT + 1.81.0-SNAPSHOT diff --git a/java-maps-routing/pom.xml b/java-maps-routing/pom.xml index 33806d74be30..1c55ec2dac08 100644 --- a/java-maps-routing/pom.xml +++ b/java-maps-routing/pom.xml @@ -4,7 +4,7 @@ com.google.maps google-maps-routing-parent pom - 1.80.0-SNAPSHOT + 1.81.0-SNAPSHOT Google Routes API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.maps google-maps-routing - 1.80.0-SNAPSHOT + 1.81.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-routing-v2 - 1.80.0-SNAPSHOT + 1.81.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-routing-v2 - 1.80.0-SNAPSHOT + 1.81.0-SNAPSHOT diff --git a/java-maps-routing/proto-google-maps-routing-v2/pom.xml b/java-maps-routing/proto-google-maps-routing-v2/pom.xml index 57bda005d335..ff9caa18e3eb 100644 --- a/java-maps-routing/proto-google-maps-routing-v2/pom.xml +++ b/java-maps-routing/proto-google-maps-routing-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc proto-google-maps-routing-v2 - 1.80.0-SNAPSHOT + 1.81.0-SNAPSHOT proto-google-maps-routing-v2 Proto library for google-maps-routing com.google.maps google-maps-routing-parent - 1.80.0-SNAPSHOT + 1.81.0-SNAPSHOT diff --git a/java-maps-solar/google-maps-solar-bom/pom.xml b/java-maps-solar/google-maps-solar-bom/pom.xml index 8b9c8baf7d75..5bf1afe56546 100644 --- a/java-maps-solar/google-maps-solar-bom/pom.xml +++ b/java-maps-solar/google-maps-solar-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.maps google-maps-solar-bom - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.maps google-maps-solar - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-solar-v1 - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-solar-v1 - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT diff --git a/java-maps-solar/google-maps-solar/pom.xml b/java-maps-solar/google-maps-solar/pom.xml index aa63a64b3b4b..458899192929 100644 --- a/java-maps-solar/google-maps-solar/pom.xml +++ b/java-maps-solar/google-maps-solar/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.maps google-maps-solar - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT jar Google Solar API Solar API The Solar API allows users to read details about the solar potential of over 60 million buildings. This includes measurements of the building's roof (e.g., size and tilt/azimuth), energy production for a range of sizes of solar installations, and financial costs and benefits. com.google.maps google-maps-solar-parent - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT google-maps-solar diff --git a/java-maps-solar/google-maps-solar/src/main/java/com/google/maps/solar/v1/stub/Version.java b/java-maps-solar/google-maps-solar/src/main/java/com/google/maps/solar/v1/stub/Version.java index 356706ab4341..f7eefe4d6112 100644 --- a/java-maps-solar/google-maps-solar/src/main/java/com/google/maps/solar/v1/stub/Version.java +++ b/java-maps-solar/google-maps-solar/src/main/java/com/google/maps/solar/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-maps-solar:current} - static final String VERSION = "0.54.0-SNAPSHOT"; + static final String VERSION = "0.55.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-maps-solar/grpc-google-maps-solar-v1/pom.xml b/java-maps-solar/grpc-google-maps-solar-v1/pom.xml index c6056037a36b..250fd5d9235c 100644 --- a/java-maps-solar/grpc-google-maps-solar-v1/pom.xml +++ b/java-maps-solar/grpc-google-maps-solar-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc grpc-google-maps-solar-v1 - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT grpc-google-maps-solar-v1 GRPC library for google-maps-solar com.google.maps google-maps-solar-parent - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT diff --git a/java-maps-solar/pom.xml b/java-maps-solar/pom.xml index f7a7f471584c..3396aa7606c0 100644 --- a/java-maps-solar/pom.xml +++ b/java-maps-solar/pom.xml @@ -4,7 +4,7 @@ com.google.maps google-maps-solar-parent pom - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT Google Solar API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.maps google-maps-solar - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT com.google.maps.api.grpc grpc-google-maps-solar-v1 - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT com.google.maps.api.grpc proto-google-maps-solar-v1 - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT diff --git a/java-maps-solar/proto-google-maps-solar-v1/pom.xml b/java-maps-solar/proto-google-maps-solar-v1/pom.xml index d1119fe84304..b69cd4cf8de3 100644 --- a/java-maps-solar/proto-google-maps-solar-v1/pom.xml +++ b/java-maps-solar/proto-google-maps-solar-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.maps.api.grpc proto-google-maps-solar-v1 - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT proto-google-maps-solar-v1 Proto library for google-maps-solar com.google.maps google-maps-solar-parent - 0.54.0-SNAPSHOT + 0.55.0-SNAPSHOT diff --git a/java-marketingplatformadminapi/admin-bom/pom.xml b/java-marketingplatformadminapi/admin-bom/pom.xml index bcc8cbe1af32..1303e6557f66 100644 --- a/java-marketingplatformadminapi/admin-bom/pom.xml +++ b/java-marketingplatformadminapi/admin-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.ads-marketingplatform admin-bom - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.ads-marketingplatform admin - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT com.google.ads-marketingplatform.api.grpc grpc-admin-v1alpha - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT com.google.ads-marketingplatform.api.grpc proto-admin-v1alpha - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT diff --git a/java-marketingplatformadminapi/admin/pom.xml b/java-marketingplatformadminapi/admin/pom.xml index 0d430c8e9348..ca4df5e23f65 100644 --- a/java-marketingplatformadminapi/admin/pom.xml +++ b/java-marketingplatformadminapi/admin/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.ads-marketingplatform admin - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT jar Google Google Marketing Platform Admin API Google Marketing Platform Admin API The Google Marketing Platform Admin API allows for programmatic access to the Google Marketing Platform configuration data. You can use the Google Marketing Platform Admin API to manage links between your Google Marketing Platform organization and Google Analytics accounts, and to set the service level of your GA4 properties. com.google.ads-marketingplatform admin-parent - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT admin diff --git a/java-marketingplatformadminapi/admin/src/main/java/com/google/ads/marketingplatform/admin/v1alpha/stub/Version.java b/java-marketingplatformadminapi/admin/src/main/java/com/google/ads/marketingplatform/admin/v1alpha/stub/Version.java index 41b7cdea9447..d266035fbd38 100644 --- a/java-marketingplatformadminapi/admin/src/main/java/com/google/ads/marketingplatform/admin/v1alpha/stub/Version.java +++ b/java-marketingplatformadminapi/admin/src/main/java/com/google/ads/marketingplatform/admin/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:admin:current} - static final String VERSION = "0.44.0-SNAPSHOT"; + static final String VERSION = "0.45.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-marketingplatformadminapi/grpc-admin-v1alpha/pom.xml b/java-marketingplatformadminapi/grpc-admin-v1alpha/pom.xml index 4671cd8ed117..fc4c1f33e3ca 100644 --- a/java-marketingplatformadminapi/grpc-admin-v1alpha/pom.xml +++ b/java-marketingplatformadminapi/grpc-admin-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.ads-marketingplatform.api.grpc grpc-admin-v1alpha - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT grpc-admin-v1alpha GRPC library for admin com.google.ads-marketingplatform admin-parent - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT diff --git a/java-marketingplatformadminapi/pom.xml b/java-marketingplatformadminapi/pom.xml index 8a98189ce407..a9e0ffd00ce1 100644 --- a/java-marketingplatformadminapi/pom.xml +++ b/java-marketingplatformadminapi/pom.xml @@ -4,7 +4,7 @@ com.google.ads-marketingplatform admin-parent pom - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT Google Google Marketing Platform Admin API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.ads-marketingplatform admin - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT com.google.ads-marketingplatform.api.grpc grpc-admin-v1alpha - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT com.google.ads-marketingplatform.api.grpc proto-admin-v1alpha - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT diff --git a/java-marketingplatformadminapi/proto-admin-v1alpha/pom.xml b/java-marketingplatformadminapi/proto-admin-v1alpha/pom.xml index 297e6ef17eee..07b2ef4e3ede 100644 --- a/java-marketingplatformadminapi/proto-admin-v1alpha/pom.xml +++ b/java-marketingplatformadminapi/proto-admin-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.ads-marketingplatform.api.grpc proto-admin-v1alpha - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT proto-admin-v1alpha Proto library for admin com.google.ads-marketingplatform admin-parent - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT diff --git a/java-mediatranslation/google-cloud-mediatranslation-bom/pom.xml b/java-mediatranslation/google-cloud-mediatranslation-bom/pom.xml index 6f79528fe598..f83f7bab8c25 100644 --- a/java-mediatranslation/google-cloud-mediatranslation-bom/pom.xml +++ b/java-mediatranslation/google-cloud-mediatranslation-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-mediatranslation-bom - 0.101.0-SNAPSHOT + 0.102.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-mediatranslation - 0.101.0-SNAPSHOT + 0.102.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-mediatranslation-v1beta1 - 0.101.0-SNAPSHOT + 0.102.0-SNAPSHOT com.google.api.grpc proto-google-cloud-mediatranslation-v1beta1 - 0.101.0-SNAPSHOT + 0.102.0-SNAPSHOT diff --git a/java-mediatranslation/google-cloud-mediatranslation/pom.xml b/java-mediatranslation/google-cloud-mediatranslation/pom.xml index 899ac29e7ef4..0164ee039ecd 100644 --- a/java-mediatranslation/google-cloud-mediatranslation/pom.xml +++ b/java-mediatranslation/google-cloud-mediatranslation/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-mediatranslation - 0.101.0-SNAPSHOT + 0.102.0-SNAPSHOT jar Google Media Translation API provides enterprise quality translation from/to various media types. com.google.cloud google-cloud-mediatranslation-parent - 0.101.0-SNAPSHOT + 0.102.0-SNAPSHOT google-cloud-mediatranslation diff --git a/java-mediatranslation/google-cloud-mediatranslation/src/main/java/com/google/cloud/mediatranslation/v1beta1/stub/Version.java b/java-mediatranslation/google-cloud-mediatranslation/src/main/java/com/google/cloud/mediatranslation/v1beta1/stub/Version.java index 24619742f8fb..97b8df80578b 100644 --- a/java-mediatranslation/google-cloud-mediatranslation/src/main/java/com/google/cloud/mediatranslation/v1beta1/stub/Version.java +++ b/java-mediatranslation/google-cloud-mediatranslation/src/main/java/com/google/cloud/mediatranslation/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-mediatranslation:current} - static final String VERSION = "0.101.0-SNAPSHOT"; + static final String VERSION = "0.102.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-mediatranslation/grpc-google-cloud-mediatranslation-v1beta1/pom.xml b/java-mediatranslation/grpc-google-cloud-mediatranslation-v1beta1/pom.xml index edc2d6d62b3a..3cf27f359c55 100644 --- a/java-mediatranslation/grpc-google-cloud-mediatranslation-v1beta1/pom.xml +++ b/java-mediatranslation/grpc-google-cloud-mediatranslation-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-mediatranslation-v1beta1 - 0.101.0-SNAPSHOT + 0.102.0-SNAPSHOT grpc-google-cloud-mediatranslation-v1beta1 GRPC library for grpc-google-cloud-mediatranslation-v1beta1 com.google.cloud google-cloud-mediatranslation-parent - 0.101.0-SNAPSHOT + 0.102.0-SNAPSHOT diff --git a/java-mediatranslation/pom.xml b/java-mediatranslation/pom.xml index e9c9a0e225d7..f0b612e681e2 100644 --- a/java-mediatranslation/pom.xml +++ b/java-mediatranslation/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-mediatranslation-parent pom - 0.101.0-SNAPSHOT + 0.102.0-SNAPSHOT Google Media Translation API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-mediatranslation - 0.101.0-SNAPSHOT + 0.102.0-SNAPSHOT com.google.api.grpc proto-google-cloud-mediatranslation-v1beta1 - 0.101.0-SNAPSHOT + 0.102.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-mediatranslation-v1beta1 - 0.101.0-SNAPSHOT + 0.102.0-SNAPSHOT diff --git a/java-mediatranslation/proto-google-cloud-mediatranslation-v1beta1/pom.xml b/java-mediatranslation/proto-google-cloud-mediatranslation-v1beta1/pom.xml index 3182a6e9fa2a..f29af324b527 100644 --- a/java-mediatranslation/proto-google-cloud-mediatranslation-v1beta1/pom.xml +++ b/java-mediatranslation/proto-google-cloud-mediatranslation-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-mediatranslation-v1beta1 - 0.101.0-SNAPSHOT + 0.102.0-SNAPSHOT proto-google-cloud-mediatranslation-v1beta1 PROTO library for proto-google-cloud-mediatranslation-v1beta1 com.google.cloud google-cloud-mediatranslation-parent - 0.101.0-SNAPSHOT + 0.102.0-SNAPSHOT diff --git a/java-meet/google-cloud-meet-bom/pom.xml b/java-meet/google-cloud-meet-bom/pom.xml index c0e7e46fb5ba..17cef7a37176 100644 --- a/java-meet/google-cloud-meet-bom/pom.xml +++ b/java-meet/google-cloud-meet-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-meet-bom - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-meet - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-meet-v2beta - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-meet-v2 - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT com.google.api.grpc proto-google-cloud-meet-v2beta - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT com.google.api.grpc proto-google-cloud-meet-v2 - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT diff --git a/java-meet/google-cloud-meet/pom.xml b/java-meet/google-cloud-meet/pom.xml index ddcb2729a02d..7ede21638b36 100644 --- a/java-meet/google-cloud-meet/pom.xml +++ b/java-meet/google-cloud-meet/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-meet - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT jar Google Google Meet API Google Meet API The Google Meet REST API lets you create and manage meetings for Google Meet and offers entry points to your users directly from your app com.google.cloud google-cloud-meet-parent - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT google-cloud-meet diff --git a/java-meet/google-cloud-meet/src/main/java/com/google/apps/meet/v2/stub/Version.java b/java-meet/google-cloud-meet/src/main/java/com/google/apps/meet/v2/stub/Version.java index 4e7f4675a663..b265f73a4b88 100644 --- a/java-meet/google-cloud-meet/src/main/java/com/google/apps/meet/v2/stub/Version.java +++ b/java-meet/google-cloud-meet/src/main/java/com/google/apps/meet/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-meet:current} - static final String VERSION = "0.62.0-SNAPSHOT"; + static final String VERSION = "0.63.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-meet/google-cloud-meet/src/main/java/com/google/apps/meet/v2beta/stub/Version.java b/java-meet/google-cloud-meet/src/main/java/com/google/apps/meet/v2beta/stub/Version.java index 31e6ccdddf96..752da22e63fb 100644 --- a/java-meet/google-cloud-meet/src/main/java/com/google/apps/meet/v2beta/stub/Version.java +++ b/java-meet/google-cloud-meet/src/main/java/com/google/apps/meet/v2beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-meet:current} - static final String VERSION = "0.62.0-SNAPSHOT"; + static final String VERSION = "0.63.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-meet/grpc-google-cloud-meet-v2/pom.xml b/java-meet/grpc-google-cloud-meet-v2/pom.xml index ee3377cfa3dc..63f4429805f4 100644 --- a/java-meet/grpc-google-cloud-meet-v2/pom.xml +++ b/java-meet/grpc-google-cloud-meet-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-meet-v2 - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT grpc-google-cloud-meet-v2 GRPC library for google-cloud-meet com.google.cloud google-cloud-meet-parent - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT diff --git a/java-meet/grpc-google-cloud-meet-v2beta/pom.xml b/java-meet/grpc-google-cloud-meet-v2beta/pom.xml index 8cad35d404fd..ce51bd8642bd 100644 --- a/java-meet/grpc-google-cloud-meet-v2beta/pom.xml +++ b/java-meet/grpc-google-cloud-meet-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-meet-v2beta - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT grpc-google-cloud-meet-v2beta GRPC library for google-cloud-meet com.google.cloud google-cloud-meet-parent - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT diff --git a/java-meet/pom.xml b/java-meet/pom.xml index 5cb9c955d01b..14a7c2c67236 100644 --- a/java-meet/pom.xml +++ b/java-meet/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-meet-parent pom - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT Google Google Meet API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-meet - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT com.google.api.grpc proto-google-cloud-meet-v2 - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-meet-v2 - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-meet-v2beta - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT com.google.api.grpc proto-google-cloud-meet-v2beta - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT diff --git a/java-meet/proto-google-cloud-meet-v2/pom.xml b/java-meet/proto-google-cloud-meet-v2/pom.xml index 37d12eb6a3bb..17c66382f2da 100644 --- a/java-meet/proto-google-cloud-meet-v2/pom.xml +++ b/java-meet/proto-google-cloud-meet-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-meet-v2 - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT proto-google-cloud-meet-v2 Proto library for google-cloud-meet com.google.cloud google-cloud-meet-parent - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT diff --git a/java-meet/proto-google-cloud-meet-v2beta/pom.xml b/java-meet/proto-google-cloud-meet-v2beta/pom.xml index 9f23e54a3f50..ee968f44eae2 100644 --- a/java-meet/proto-google-cloud-meet-v2beta/pom.xml +++ b/java-meet/proto-google-cloud-meet-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-meet-v2beta - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT proto-google-cloud-meet-v2beta Proto library for google-cloud-meet com.google.cloud google-cloud-meet-parent - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT diff --git a/java-memcache/google-cloud-memcache-bom/pom.xml b/java-memcache/google-cloud-memcache-bom/pom.xml index 0b6c32506ef3..a2db7739e83f 100644 --- a/java-memcache/google-cloud-memcache-bom/pom.xml +++ b/java-memcache/google-cloud-memcache-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-memcache-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-memcache - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-memcache-v1beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-memcache-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-memcache-v1beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-memcache-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-memcache/google-cloud-memcache/pom.xml b/java-memcache/google-cloud-memcache/pom.xml index 3b795a3533a2..2c694fcd5265 100644 --- a/java-memcache/google-cloud-memcache/pom.xml +++ b/java-memcache/google-cloud-memcache/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-memcache - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Cloud Memcache Java idiomatic client for Google Cloud memcache com.google.cloud google-cloud-memcache-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-memcache diff --git a/java-memcache/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/Version.java b/java-memcache/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/Version.java index 020025f0a9ad..0e4bc63567a6 100644 --- a/java-memcache/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/Version.java +++ b/java-memcache/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-memcache:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-memcache/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/Version.java b/java-memcache/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/Version.java index c249652076bd..65a517abd5fd 100644 --- a/java-memcache/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/Version.java +++ b/java-memcache/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-memcache:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-memcache/grpc-google-cloud-memcache-v1/pom.xml b/java-memcache/grpc-google-cloud-memcache-v1/pom.xml index 422053548ecb..b6aff6ee0e27 100644 --- a/java-memcache/grpc-google-cloud-memcache-v1/pom.xml +++ b/java-memcache/grpc-google-cloud-memcache-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-memcache-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-memcache-v1 GRPC library for grpc-google-cloud-memcache-v1 com.google.cloud google-cloud-memcache-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-memcache/grpc-google-cloud-memcache-v1beta2/pom.xml b/java-memcache/grpc-google-cloud-memcache-v1beta2/pom.xml index aa4508063785..6b15eeedad38 100644 --- a/java-memcache/grpc-google-cloud-memcache-v1beta2/pom.xml +++ b/java-memcache/grpc-google-cloud-memcache-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-memcache-v1beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-memcache-v1beta2 GRPC library for grpc-google-cloud-memcache-v1beta2 com.google.cloud google-cloud-memcache-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-memcache/pom.xml b/java-memcache/pom.xml index ac2a6c34cfc1..e6703030531c 100644 --- a/java-memcache/pom.xml +++ b/java-memcache/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-memcache-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud Memcache Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-memcache-v1beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-memcache-v1beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-memcache-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-memcache-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.cloud google-cloud-memcache - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-memcache/proto-google-cloud-memcache-v1/pom.xml b/java-memcache/proto-google-cloud-memcache-v1/pom.xml index 029145569b2d..e5064cd260be 100644 --- a/java-memcache/proto-google-cloud-memcache-v1/pom.xml +++ b/java-memcache/proto-google-cloud-memcache-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-memcache-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-memcache-v1 PROTO library for proto-google-cloud-memcache-v1 com.google.cloud google-cloud-memcache-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-memcache/proto-google-cloud-memcache-v1beta2/pom.xml b/java-memcache/proto-google-cloud-memcache-v1beta2/pom.xml index b2752f690ae8..14b6efd761cf 100644 --- a/java-memcache/proto-google-cloud-memcache-v1beta2/pom.xml +++ b/java-memcache/proto-google-cloud-memcache-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-memcache-v1beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-memcache-v1beta2 PROTO library for proto-google-cloud-memcache-v1beta2 com.google.cloud google-cloud-memcache-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-migrationcenter/google-cloud-migrationcenter-bom/pom.xml b/java-migrationcenter/google-cloud-migrationcenter-bom/pom.xml index a6ebd6e3e9e2..c0c29de9d4bb 100644 --- a/java-migrationcenter/google-cloud-migrationcenter-bom/pom.xml +++ b/java-migrationcenter/google-cloud-migrationcenter-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-migrationcenter-bom - 0.77.0-SNAPSHOT + 0.78.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-migrationcenter - 0.77.0-SNAPSHOT + 0.78.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-migrationcenter-v1 - 0.77.0-SNAPSHOT + 0.78.0-SNAPSHOT com.google.api.grpc proto-google-cloud-migrationcenter-v1 - 0.77.0-SNAPSHOT + 0.78.0-SNAPSHOT diff --git a/java-migrationcenter/google-cloud-migrationcenter/pom.xml b/java-migrationcenter/google-cloud-migrationcenter/pom.xml index c69d66e257cb..2184d72d5fc0 100644 --- a/java-migrationcenter/google-cloud-migrationcenter/pom.xml +++ b/java-migrationcenter/google-cloud-migrationcenter/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-migrationcenter - 0.77.0-SNAPSHOT + 0.78.0-SNAPSHOT jar Google Migration Center API Migration Center API Google Cloud Migration Center is a unified platform that helps you accelerate your end-to-end cloud journey from your current on-premises or cloud environments to Google Cloud com.google.cloud google-cloud-migrationcenter-parent - 0.77.0-SNAPSHOT + 0.78.0-SNAPSHOT google-cloud-migrationcenter diff --git a/java-migrationcenter/google-cloud-migrationcenter/src/main/java/com/google/cloud/migrationcenter/v1/stub/Version.java b/java-migrationcenter/google-cloud-migrationcenter/src/main/java/com/google/cloud/migrationcenter/v1/stub/Version.java index fef894595d04..3fc158ff2efd 100644 --- a/java-migrationcenter/google-cloud-migrationcenter/src/main/java/com/google/cloud/migrationcenter/v1/stub/Version.java +++ b/java-migrationcenter/google-cloud-migrationcenter/src/main/java/com/google/cloud/migrationcenter/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-migrationcenter:current} - static final String VERSION = "0.77.0-SNAPSHOT"; + static final String VERSION = "0.78.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-migrationcenter/grpc-google-cloud-migrationcenter-v1/pom.xml b/java-migrationcenter/grpc-google-cloud-migrationcenter-v1/pom.xml index bc9b54573ca5..5dd11192f4b1 100644 --- a/java-migrationcenter/grpc-google-cloud-migrationcenter-v1/pom.xml +++ b/java-migrationcenter/grpc-google-cloud-migrationcenter-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-migrationcenter-v1 - 0.77.0-SNAPSHOT + 0.78.0-SNAPSHOT grpc-google-cloud-migrationcenter-v1 GRPC library for google-cloud-migrationcenter com.google.cloud google-cloud-migrationcenter-parent - 0.77.0-SNAPSHOT + 0.78.0-SNAPSHOT diff --git a/java-migrationcenter/pom.xml b/java-migrationcenter/pom.xml index d8cf72c7cb9e..a3edb3b524ad 100644 --- a/java-migrationcenter/pom.xml +++ b/java-migrationcenter/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-migrationcenter-parent pom - 0.77.0-SNAPSHOT + 0.78.0-SNAPSHOT Google Migration Center API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-migrationcenter - 0.77.0-SNAPSHOT + 0.78.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-migrationcenter-v1 - 0.77.0-SNAPSHOT + 0.78.0-SNAPSHOT com.google.api.grpc proto-google-cloud-migrationcenter-v1 - 0.77.0-SNAPSHOT + 0.78.0-SNAPSHOT diff --git a/java-migrationcenter/proto-google-cloud-migrationcenter-v1/pom.xml b/java-migrationcenter/proto-google-cloud-migrationcenter-v1/pom.xml index fe3c215e0c87..e671f77de9c6 100644 --- a/java-migrationcenter/proto-google-cloud-migrationcenter-v1/pom.xml +++ b/java-migrationcenter/proto-google-cloud-migrationcenter-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-migrationcenter-v1 - 0.77.0-SNAPSHOT + 0.78.0-SNAPSHOT proto-google-cloud-migrationcenter-v1 Proto library for google-cloud-migrationcenter com.google.cloud google-cloud-migrationcenter-parent - 0.77.0-SNAPSHOT + 0.78.0-SNAPSHOT diff --git a/java-modelarmor/google-cloud-modelarmor-bom/pom.xml b/java-modelarmor/google-cloud-modelarmor-bom/pom.xml index 936872ebd6d1..6ca7caca6b2f 100644 --- a/java-modelarmor/google-cloud-modelarmor-bom/pom.xml +++ b/java-modelarmor/google-cloud-modelarmor-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-modelarmor-bom - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.cloud google-cloud-modelarmor - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-modelarmor-v1 - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-modelarmor-v1beta - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT com.google.api.grpc proto-google-cloud-modelarmor-v1 - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT com.google.api.grpc proto-google-cloud-modelarmor-v1beta - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT diff --git a/java-modelarmor/google-cloud-modelarmor/pom.xml b/java-modelarmor/google-cloud-modelarmor/pom.xml index f04a7a728629..f7323f40ea82 100644 --- a/java-modelarmor/google-cloud-modelarmor/pom.xml +++ b/java-modelarmor/google-cloud-modelarmor/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-modelarmor - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT jar Google Model Armor API Model Armor API Model Armor helps you protect against risks like prompt injection, harmful content, and data leakage in generative AI applications by letting you define policies that filter user prompts and model responses. com.google.cloud google-cloud-modelarmor-parent - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT google-cloud-modelarmor diff --git a/java-modelarmor/google-cloud-modelarmor/src/main/java/com/google/cloud/modelarmor/v1/stub/Version.java b/java-modelarmor/google-cloud-modelarmor/src/main/java/com/google/cloud/modelarmor/v1/stub/Version.java index afa81b0028ea..87ea13906a67 100644 --- a/java-modelarmor/google-cloud-modelarmor/src/main/java/com/google/cloud/modelarmor/v1/stub/Version.java +++ b/java-modelarmor/google-cloud-modelarmor/src/main/java/com/google/cloud/modelarmor/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-modelarmor:current} - static final String VERSION = "0.36.0-SNAPSHOT"; + static final String VERSION = "0.37.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-modelarmor/google-cloud-modelarmor/src/main/java/com/google/cloud/modelarmor/v1beta/stub/Version.java b/java-modelarmor/google-cloud-modelarmor/src/main/java/com/google/cloud/modelarmor/v1beta/stub/Version.java index acacb9f35863..ef8c64b8a019 100644 --- a/java-modelarmor/google-cloud-modelarmor/src/main/java/com/google/cloud/modelarmor/v1beta/stub/Version.java +++ b/java-modelarmor/google-cloud-modelarmor/src/main/java/com/google/cloud/modelarmor/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-modelarmor:current} - static final String VERSION = "0.36.0-SNAPSHOT"; + static final String VERSION = "0.37.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-modelarmor/grpc-google-cloud-modelarmor-v1/pom.xml b/java-modelarmor/grpc-google-cloud-modelarmor-v1/pom.xml index a8c6f1183655..bc81a01e31e7 100644 --- a/java-modelarmor/grpc-google-cloud-modelarmor-v1/pom.xml +++ b/java-modelarmor/grpc-google-cloud-modelarmor-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-modelarmor-v1 - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT grpc-google-cloud-modelarmor-v1 GRPC library for google-cloud-modelarmor com.google.cloud google-cloud-modelarmor-parent - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT diff --git a/java-modelarmor/grpc-google-cloud-modelarmor-v1beta/pom.xml b/java-modelarmor/grpc-google-cloud-modelarmor-v1beta/pom.xml index df951175f074..fed3b1f665f8 100644 --- a/java-modelarmor/grpc-google-cloud-modelarmor-v1beta/pom.xml +++ b/java-modelarmor/grpc-google-cloud-modelarmor-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-modelarmor-v1beta - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT grpc-google-cloud-modelarmor-v1beta GRPC library for google-cloud-modelarmor com.google.cloud google-cloud-modelarmor-parent - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT diff --git a/java-modelarmor/pom.xml b/java-modelarmor/pom.xml index 5579bec9503a..282fe7bbed2f 100644 --- a/java-modelarmor/pom.xml +++ b/java-modelarmor/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-modelarmor-parent pom - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT Google Model Armor API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-modelarmor - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT com.google.api.grpc proto-google-cloud-modelarmor-v1beta - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-modelarmor-v1beta - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-modelarmor-v1 - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT com.google.api.grpc proto-google-cloud-modelarmor-v1 - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT diff --git a/java-modelarmor/proto-google-cloud-modelarmor-v1/pom.xml b/java-modelarmor/proto-google-cloud-modelarmor-v1/pom.xml index 7966f8729f44..b58393dcde1f 100644 --- a/java-modelarmor/proto-google-cloud-modelarmor-v1/pom.xml +++ b/java-modelarmor/proto-google-cloud-modelarmor-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-modelarmor-v1 - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT proto-google-cloud-modelarmor-v1 Proto library for google-cloud-modelarmor com.google.cloud google-cloud-modelarmor-parent - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT diff --git a/java-modelarmor/proto-google-cloud-modelarmor-v1beta/pom.xml b/java-modelarmor/proto-google-cloud-modelarmor-v1beta/pom.xml index df8438704c0c..05aa4e38677c 100644 --- a/java-modelarmor/proto-google-cloud-modelarmor-v1beta/pom.xml +++ b/java-modelarmor/proto-google-cloud-modelarmor-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-modelarmor-v1beta - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT proto-google-cloud-modelarmor-v1beta Proto library for google-cloud-modelarmor com.google.cloud google-cloud-modelarmor-parent - 0.36.0-SNAPSHOT + 0.37.0-SNAPSHOT diff --git a/java-monitoring-dashboards/google-cloud-monitoring-dashboard-bom/pom.xml b/java-monitoring-dashboards/google-cloud-monitoring-dashboard-bom/pom.xml index 0da5d5536027..6925bbb18693 100644 --- a/java-monitoring-dashboards/google-cloud-monitoring-dashboard-bom/pom.xml +++ b/java-monitoring-dashboards/google-cloud-monitoring-dashboard-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-monitoring-dashboard-bom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-monitoring-dashboard - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-monitoring-dashboard-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-monitoring-dashboard-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-monitoring-dashboards/google-cloud-monitoring-dashboard/pom.xml b/java-monitoring-dashboards/google-cloud-monitoring-dashboard/pom.xml index afa338be1ba4..470cabe7d19e 100644 --- a/java-monitoring-dashboards/google-cloud-monitoring-dashboard/pom.xml +++ b/java-monitoring-dashboards/google-cloud-monitoring-dashboard/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-monitoring-dashboard - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT jar Google Cloud Monitoring Dashboard Java idiomatic client for Google Cloud Monitoring Dashboard com.google.cloud google-cloud-monitoring-dashboard-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT google-cloud-monitoring-dashboard diff --git a/java-monitoring-dashboards/google-cloud-monitoring-dashboard/src/main/java/com/google/cloud/monitoring/dashboard/v1/stub/Version.java b/java-monitoring-dashboards/google-cloud-monitoring-dashboard/src/main/java/com/google/cloud/monitoring/dashboard/v1/stub/Version.java index b2a24fa9748b..2005c3f78aa0 100644 --- a/java-monitoring-dashboards/google-cloud-monitoring-dashboard/src/main/java/com/google/cloud/monitoring/dashboard/v1/stub/Version.java +++ b/java-monitoring-dashboards/google-cloud-monitoring-dashboard/src/main/java/com/google/cloud/monitoring/dashboard/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-monitoring-dashboard:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-monitoring-dashboards/grpc-google-cloud-monitoring-dashboard-v1/pom.xml b/java-monitoring-dashboards/grpc-google-cloud-monitoring-dashboard-v1/pom.xml index a09193cf3045..9b5f75d3b1b4 100644 --- a/java-monitoring-dashboards/grpc-google-cloud-monitoring-dashboard-v1/pom.xml +++ b/java-monitoring-dashboards/grpc-google-cloud-monitoring-dashboard-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-monitoring-dashboard-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-monitoring-dashboard-v1 GRPC library for grpc-google-cloud-monitoring-dashboard-v1 com.google.cloud google-cloud-monitoring-dashboard-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-monitoring-dashboards/pom.xml b/java-monitoring-dashboards/pom.xml index dc60f4b55a31..e41f35bc2f59 100644 --- a/java-monitoring-dashboards/pom.xml +++ b/java-monitoring-dashboards/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-monitoring-dashboard-parent pom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT Google Cloud Monitoring Dashboard Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.api.grpc proto-google-cloud-monitoring-dashboard-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-monitoring-dashboard-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.cloud google-cloud-monitoring-dashboard - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-monitoring-dashboards/proto-google-cloud-monitoring-dashboard-v1/pom.xml b/java-monitoring-dashboards/proto-google-cloud-monitoring-dashboard-v1/pom.xml index 101b886e8e82..4c92ace597db 100644 --- a/java-monitoring-dashboards/proto-google-cloud-monitoring-dashboard-v1/pom.xml +++ b/java-monitoring-dashboards/proto-google-cloud-monitoring-dashboard-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-monitoring-dashboard-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-monitoring-dashboard-v1 PROTO library for proto-google-cloud-monitoring-dashboard-v1 com.google.cloud google-cloud-monitoring-dashboard-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-monitoring-metricsscope/google-cloud-monitoring-metricsscope-bom/pom.xml b/java-monitoring-metricsscope/google-cloud-monitoring-metricsscope-bom/pom.xml index def09dee0ffe..0fff879d9f9e 100644 --- a/java-monitoring-metricsscope/google-cloud-monitoring-metricsscope-bom/pom.xml +++ b/java-monitoring-metricsscope/google-cloud-monitoring-metricsscope-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-monitoring-metricsscope-bom - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-monitoring-metricsscope - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-monitoring-metricsscope-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT com.google.api.grpc proto-google-cloud-monitoring-metricsscope-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT diff --git a/java-monitoring-metricsscope/google-cloud-monitoring-metricsscope/pom.xml b/java-monitoring-metricsscope/google-cloud-monitoring-metricsscope/pom.xml index 2950733a01f9..07ab69679a78 100644 --- a/java-monitoring-metricsscope/google-cloud-monitoring-metricsscope/pom.xml +++ b/java-monitoring-metricsscope/google-cloud-monitoring-metricsscope/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-monitoring-metricsscope - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT jar Google Monitoring Metrics Scopes Monitoring Metrics Scopes The metrics scope defines the set of Google Cloud projects whose metrics the current Google Cloud project can access. com.google.cloud google-cloud-monitoring-metricsscope-parent - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT google-cloud-monitoring-metricsscope diff --git a/java-monitoring-metricsscope/google-cloud-monitoring-metricsscope/src/main/java/com/google/monitoring/metricsscope/v1/stub/Version.java b/java-monitoring-metricsscope/google-cloud-monitoring-metricsscope/src/main/java/com/google/monitoring/metricsscope/v1/stub/Version.java index 3c23abf8d976..cfcd252da5de 100644 --- a/java-monitoring-metricsscope/google-cloud-monitoring-metricsscope/src/main/java/com/google/monitoring/metricsscope/v1/stub/Version.java +++ b/java-monitoring-metricsscope/google-cloud-monitoring-metricsscope/src/main/java/com/google/monitoring/metricsscope/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-monitoring-metricsscope:current} - static final String VERSION = "0.89.0-SNAPSHOT"; + static final String VERSION = "0.90.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-monitoring-metricsscope/grpc-google-cloud-monitoring-metricsscope-v1/pom.xml b/java-monitoring-metricsscope/grpc-google-cloud-monitoring-metricsscope-v1/pom.xml index 94e378482871..c78b9198e1df 100644 --- a/java-monitoring-metricsscope/grpc-google-cloud-monitoring-metricsscope-v1/pom.xml +++ b/java-monitoring-metricsscope/grpc-google-cloud-monitoring-metricsscope-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-monitoring-metricsscope-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT grpc-google-cloud-monitoring-metricsscope-v1 GRPC library for google-cloud-monitoring-metricsscope com.google.cloud google-cloud-monitoring-metricsscope-parent - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT diff --git a/java-monitoring-metricsscope/pom.xml b/java-monitoring-metricsscope/pom.xml index 5695a475ab0c..dfaab9d80ee8 100644 --- a/java-monitoring-metricsscope/pom.xml +++ b/java-monitoring-metricsscope/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-monitoring-metricsscope-parent pom - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT Google Monitoring Metrics Scopes Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-monitoring-metricsscope - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-monitoring-metricsscope-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT com.google.api.grpc proto-google-cloud-monitoring-metricsscope-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT diff --git a/java-monitoring-metricsscope/proto-google-cloud-monitoring-metricsscope-v1/pom.xml b/java-monitoring-metricsscope/proto-google-cloud-monitoring-metricsscope-v1/pom.xml index 6d60080404da..41a591132534 100644 --- a/java-monitoring-metricsscope/proto-google-cloud-monitoring-metricsscope-v1/pom.xml +++ b/java-monitoring-metricsscope/proto-google-cloud-monitoring-metricsscope-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-monitoring-metricsscope-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT proto-google-cloud-monitoring-metricsscope-v1 Proto library for google-cloud-monitoring-metricsscope com.google.cloud google-cloud-monitoring-metricsscope-parent - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT diff --git a/java-monitoring/google-cloud-monitoring-bom/pom.xml b/java-monitoring/google-cloud-monitoring-bom/pom.xml index 16d89d85a7af..3dff49c126f7 100644 --- a/java-monitoring/google-cloud-monitoring-bom/pom.xml +++ b/java-monitoring/google-cloud-monitoring-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-monitoring-bom - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-monitoring - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-monitoring-v3 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-monitoring-v3 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT diff --git a/java-monitoring/google-cloud-monitoring/pom.xml b/java-monitoring/google-cloud-monitoring/pom.xml index c0556f2cb1c0..5721aaf7b7b0 100644 --- a/java-monitoring/google-cloud-monitoring/pom.xml +++ b/java-monitoring/google-cloud-monitoring/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-monitoring - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT jar Google Cloud Monitoring Java idiomatic client for Stackdriver Monitoring com.google.cloud google-cloud-monitoring-parent - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT google-cloud-monitoring diff --git a/java-monitoring/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/Version.java b/java-monitoring/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/Version.java index 94bad32f1019..c2aad27f23c3 100644 --- a/java-monitoring/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/Version.java +++ b/java-monitoring/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-monitoring:current} - static final String VERSION = "3.96.0-SNAPSHOT"; + static final String VERSION = "3.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-monitoring/grpc-google-cloud-monitoring-v3/pom.xml b/java-monitoring/grpc-google-cloud-monitoring-v3/pom.xml index 02302882488e..0dae34461347 100644 --- a/java-monitoring/grpc-google-cloud-monitoring-v3/pom.xml +++ b/java-monitoring/grpc-google-cloud-monitoring-v3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-monitoring-v3 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT grpc-google-cloud-monitoring-v3 GRPC library for grpc-google-cloud-monitoring-v3 com.google.cloud google-cloud-monitoring-parent - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT diff --git a/java-monitoring/pom.xml b/java-monitoring/pom.xml index 10b72e5d34f2..90e94d2e81e3 100644 --- a/java-monitoring/pom.xml +++ b/java-monitoring/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-monitoring-parent pom - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT Google Cloud Monitoring Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.api.grpc proto-google-cloud-monitoring-v3 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-monitoring-v3 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT com.google.cloud google-cloud-monitoring - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT diff --git a/java-monitoring/proto-google-cloud-monitoring-v3/pom.xml b/java-monitoring/proto-google-cloud-monitoring-v3/pom.xml index c3b687251fd1..0fcba0a4addb 100644 --- a/java-monitoring/proto-google-cloud-monitoring-v3/pom.xml +++ b/java-monitoring/proto-google-cloud-monitoring-v3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-monitoring-v3 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT proto-google-cloud-monitoring-v3 PROTO library for proto-google-cloud-monitoring-v3 com.google.cloud google-cloud-monitoring-parent - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT diff --git a/java-netapp/google-cloud-netapp-bom/pom.xml b/java-netapp/google-cloud-netapp-bom/pom.xml index bcafaf4cee4a..667eee47f4a9 100644 --- a/java-netapp/google-cloud-netapp-bom/pom.xml +++ b/java-netapp/google-cloud-netapp-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-netapp-bom - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-netapp - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-netapp-v1 - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT com.google.api.grpc proto-google-cloud-netapp-v1 - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT diff --git a/java-netapp/google-cloud-netapp/pom.xml b/java-netapp/google-cloud-netapp/pom.xml index 4a75786ea76b..409d610be1d7 100644 --- a/java-netapp/google-cloud-netapp/pom.xml +++ b/java-netapp/google-cloud-netapp/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-netapp - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT jar Google NetApp API NetApp API Google Cloud NetApp Volumes is a fully-managed, cloud-based data storage service that provides advanced data management capabilities and highly scalable performance with global availability. com.google.cloud google-cloud-netapp-parent - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT google-cloud-netapp diff --git a/java-netapp/google-cloud-netapp/src/main/java/com/google/cloud/netapp/v1/stub/Version.java b/java-netapp/google-cloud-netapp/src/main/java/com/google/cloud/netapp/v1/stub/Version.java index cd3776201cb9..22e87415b8bf 100644 --- a/java-netapp/google-cloud-netapp/src/main/java/com/google/cloud/netapp/v1/stub/Version.java +++ b/java-netapp/google-cloud-netapp/src/main/java/com/google/cloud/netapp/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-netapp:current} - static final String VERSION = "0.74.0-SNAPSHOT"; + static final String VERSION = "0.75.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-netapp/grpc-google-cloud-netapp-v1/pom.xml b/java-netapp/grpc-google-cloud-netapp-v1/pom.xml index 742e907df859..935af86f04bb 100644 --- a/java-netapp/grpc-google-cloud-netapp-v1/pom.xml +++ b/java-netapp/grpc-google-cloud-netapp-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-netapp-v1 - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT grpc-google-cloud-netapp-v1 GRPC library for google-cloud-netapp com.google.cloud google-cloud-netapp-parent - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT diff --git a/java-netapp/pom.xml b/java-netapp/pom.xml index 5f1b90912083..ac588bd4870e 100644 --- a/java-netapp/pom.xml +++ b/java-netapp/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-netapp-parent pom - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT Google NetApp API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-netapp - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT com.google.api.grpc proto-google-cloud-netapp-v1 - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-netapp-v1 - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT diff --git a/java-netapp/proto-google-cloud-netapp-v1/pom.xml b/java-netapp/proto-google-cloud-netapp-v1/pom.xml index b50e1ec7e302..55fcebe94673 100644 --- a/java-netapp/proto-google-cloud-netapp-v1/pom.xml +++ b/java-netapp/proto-google-cloud-netapp-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-netapp-v1 - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT proto-google-cloud-netapp-v1 Proto library for google-cloud-netapp com.google.cloud google-cloud-netapp-parent - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT diff --git a/java-network-management/google-cloud-network-management-bom/pom.xml b/java-network-management/google-cloud-network-management-bom/pom.xml index d6cca06e7a07..8d8f952d8d80 100644 --- a/java-network-management/google-cloud-network-management-bom/pom.xml +++ b/java-network-management/google-cloud-network-management-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-network-management-bom - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-network-management - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-network-management-v1beta1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-network-management-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-network-management-v1beta1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-network-management-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-network-management/google-cloud-network-management/pom.xml b/java-network-management/google-cloud-network-management/pom.xml index 00eb04cc498d..297f93212c43 100644 --- a/java-network-management/google-cloud-network-management/pom.xml +++ b/java-network-management/google-cloud-network-management/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-network-management - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT jar Google Network Management API Network Management API provides a collection of network performance monitoring and diagnostic capabilities. com.google.cloud google-cloud-network-management-parent - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT google-cloud-network-management diff --git a/java-network-management/google-cloud-network-management/src/main/java/com/google/cloud/networkmanagement/v1/stub/Version.java b/java-network-management/google-cloud-network-management/src/main/java/com/google/cloud/networkmanagement/v1/stub/Version.java index 4679972d9f19..0bc1a9771b89 100644 --- a/java-network-management/google-cloud-network-management/src/main/java/com/google/cloud/networkmanagement/v1/stub/Version.java +++ b/java-network-management/google-cloud-network-management/src/main/java/com/google/cloud/networkmanagement/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-network-management:current} - static final String VERSION = "1.96.0-SNAPSHOT"; + static final String VERSION = "1.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-network-management/google-cloud-network-management/src/main/java/com/google/cloud/networkmanagement/v1beta1/stub/Version.java b/java-network-management/google-cloud-network-management/src/main/java/com/google/cloud/networkmanagement/v1beta1/stub/Version.java index b2840d2bd9b3..88df8640f7ee 100644 --- a/java-network-management/google-cloud-network-management/src/main/java/com/google/cloud/networkmanagement/v1beta1/stub/Version.java +++ b/java-network-management/google-cloud-network-management/src/main/java/com/google/cloud/networkmanagement/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-network-management:current} - static final String VERSION = "1.96.0-SNAPSHOT"; + static final String VERSION = "1.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-network-management/grpc-google-cloud-network-management-v1/pom.xml b/java-network-management/grpc-google-cloud-network-management-v1/pom.xml index 23c90b181d3e..369cd24ee822 100644 --- a/java-network-management/grpc-google-cloud-network-management-v1/pom.xml +++ b/java-network-management/grpc-google-cloud-network-management-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-network-management-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT grpc-google-cloud-network-management-v1 GRPC library for google-cloud-network-management com.google.cloud google-cloud-network-management-parent - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-network-management/grpc-google-cloud-network-management-v1beta1/pom.xml b/java-network-management/grpc-google-cloud-network-management-v1beta1/pom.xml index 846754fefa24..925380cc2033 100644 --- a/java-network-management/grpc-google-cloud-network-management-v1beta1/pom.xml +++ b/java-network-management/grpc-google-cloud-network-management-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-network-management-v1beta1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT grpc-google-cloud-network-management-v1beta1 GRPC library for google-cloud-network-management com.google.cloud google-cloud-network-management-parent - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-network-management/pom.xml b/java-network-management/pom.xml index 8981a37c449f..660462ebcace 100644 --- a/java-network-management/pom.xml +++ b/java-network-management/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-network-management-parent pom - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT Google Network Management API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-network-management - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-network-management-v1beta1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-network-management-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-network-management-v1beta1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-network-management-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-network-management/proto-google-cloud-network-management-v1/pom.xml b/java-network-management/proto-google-cloud-network-management-v1/pom.xml index e0f892f803b0..8ba500584ade 100644 --- a/java-network-management/proto-google-cloud-network-management-v1/pom.xml +++ b/java-network-management/proto-google-cloud-network-management-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-network-management-v1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT proto-google-cloud-network-management-v1 Proto library for google-cloud-network-management com.google.cloud google-cloud-network-management-parent - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-network-management/proto-google-cloud-network-management-v1beta1/pom.xml b/java-network-management/proto-google-cloud-network-management-v1beta1/pom.xml index 3e2c766902d1..170392c7b709 100644 --- a/java-network-management/proto-google-cloud-network-management-v1beta1/pom.xml +++ b/java-network-management/proto-google-cloud-network-management-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-network-management-v1beta1 - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT proto-google-cloud-network-management-v1beta1 Proto library for google-cloud-network-management com.google.cloud google-cloud-network-management-parent - 1.96.0-SNAPSHOT + 1.97.0-SNAPSHOT diff --git a/java-network-security/google-cloud-network-security-bom/pom.xml b/java-network-security/google-cloud-network-security-bom/pom.xml index 3d5b4b916838..9305373d9a31 100644 --- a/java-network-security/google-cloud-network-security-bom/pom.xml +++ b/java-network-security/google-cloud-network-security-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-network-security-bom - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-network-security - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-network-security-v1beta1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-network-security-v1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-network-security-v1beta1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-network-security-v1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-network-security/google-cloud-network-security/pom.xml b/java-network-security/google-cloud-network-security/pom.xml index 88772f335033..e355d02387c8 100644 --- a/java-network-security/google-cloud-network-security/pom.xml +++ b/java-network-security/google-cloud-network-security/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-network-security - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT jar Google Network Security API Network Security API n/a com.google.cloud google-cloud-network-security-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT google-cloud-network-security diff --git a/java-network-security/google-cloud-network-security/src/main/java/com/google/cloud/networksecurity/v1/stub/Version.java b/java-network-security/google-cloud-network-security/src/main/java/com/google/cloud/networksecurity/v1/stub/Version.java index 5de622da2dad..7bb72ccbacbf 100644 --- a/java-network-security/google-cloud-network-security/src/main/java/com/google/cloud/networksecurity/v1/stub/Version.java +++ b/java-network-security/google-cloud-network-security/src/main/java/com/google/cloud/networksecurity/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-network-security:current} - static final String VERSION = "0.98.0-SNAPSHOT"; + static final String VERSION = "0.99.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-network-security/google-cloud-network-security/src/main/java/com/google/cloud/networksecurity/v1beta1/stub/Version.java b/java-network-security/google-cloud-network-security/src/main/java/com/google/cloud/networksecurity/v1beta1/stub/Version.java index 6f09fcc59598..afc0bd1fa384 100644 --- a/java-network-security/google-cloud-network-security/src/main/java/com/google/cloud/networksecurity/v1beta1/stub/Version.java +++ b/java-network-security/google-cloud-network-security/src/main/java/com/google/cloud/networksecurity/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-network-security:current} - static final String VERSION = "0.98.0-SNAPSHOT"; + static final String VERSION = "0.99.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-network-security/grpc-google-cloud-network-security-v1/pom.xml b/java-network-security/grpc-google-cloud-network-security-v1/pom.xml index 7e1548b08cdd..eb2b3b3925a4 100644 --- a/java-network-security/grpc-google-cloud-network-security-v1/pom.xml +++ b/java-network-security/grpc-google-cloud-network-security-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-network-security-v1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT grpc-google-cloud-network-security-v1 GRPC library for google-cloud-network-security com.google.cloud google-cloud-network-security-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-network-security/grpc-google-cloud-network-security-v1beta1/pom.xml b/java-network-security/grpc-google-cloud-network-security-v1beta1/pom.xml index 2c608305d55f..e52a1fefca86 100644 --- a/java-network-security/grpc-google-cloud-network-security-v1beta1/pom.xml +++ b/java-network-security/grpc-google-cloud-network-security-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-network-security-v1beta1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT grpc-google-cloud-network-security-v1beta1 GRPC library for google-cloud-network-security com.google.cloud google-cloud-network-security-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-network-security/pom.xml b/java-network-security/pom.xml index d73deb447782..85843053f381 100644 --- a/java-network-security/pom.xml +++ b/java-network-security/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-network-security-parent pom - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT Google Network Security API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-network-security - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-network-security-v1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-network-security-v1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-network-security-v1beta1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-network-security-v1beta1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-network-security/proto-google-cloud-network-security-v1/pom.xml b/java-network-security/proto-google-cloud-network-security-v1/pom.xml index 38269c86568f..237a311808a9 100644 --- a/java-network-security/proto-google-cloud-network-security-v1/pom.xml +++ b/java-network-security/proto-google-cloud-network-security-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-network-security-v1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT proto-google-cloud-network-security-v1 Proto library for google-cloud-network-security com.google.cloud google-cloud-network-security-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-network-security/proto-google-cloud-network-security-v1beta1/pom.xml b/java-network-security/proto-google-cloud-network-security-v1beta1/pom.xml index 5e6af6339f93..3afacc376fd9 100644 --- a/java-network-security/proto-google-cloud-network-security-v1beta1/pom.xml +++ b/java-network-security/proto-google-cloud-network-security-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-network-security-v1beta1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT proto-google-cloud-network-security-v1beta1 Proto library for google-cloud-network-security com.google.cloud google-cloud-network-security-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-networkconnectivity/google-cloud-networkconnectivity-bom/pom.xml b/java-networkconnectivity/google-cloud-networkconnectivity-bom/pom.xml index 322c7afe3dd4..9928a4d3368a 100644 --- a/java-networkconnectivity/google-cloud-networkconnectivity-bom/pom.xml +++ b/java-networkconnectivity/google-cloud-networkconnectivity-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-networkconnectivity-bom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,37 +28,37 @@ com.google.cloud google-cloud-networkconnectivity - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-networkconnectivity-v1alpha1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-networkconnectivity-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-networkconnectivity-v1beta - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-networkconnectivity-v1alpha1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-networkconnectivity-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-networkconnectivity-v1beta - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-networkconnectivity/google-cloud-networkconnectivity/pom.xml b/java-networkconnectivity/google-cloud-networkconnectivity/pom.xml index 03249c6a0c3f..6848049ef586 100644 --- a/java-networkconnectivity/google-cloud-networkconnectivity/pom.xml +++ b/java-networkconnectivity/google-cloud-networkconnectivity/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-networkconnectivity - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT jar Google Network Connectivity Center Google's suite of products that provide enterprise connectivity from your on-premises network or from another cloud provider to your Virtual Private Cloud (VPC) network com.google.cloud google-cloud-networkconnectivity-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT google-cloud-networkconnectivity diff --git a/java-networkconnectivity/google-cloud-networkconnectivity/src/main/java/com/google/cloud/networkconnectivity/v1/stub/Version.java b/java-networkconnectivity/google-cloud-networkconnectivity/src/main/java/com/google/cloud/networkconnectivity/v1/stub/Version.java index e6a37a3a38d2..e1c26a5947d5 100644 --- a/java-networkconnectivity/google-cloud-networkconnectivity/src/main/java/com/google/cloud/networkconnectivity/v1/stub/Version.java +++ b/java-networkconnectivity/google-cloud-networkconnectivity/src/main/java/com/google/cloud/networkconnectivity/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-networkconnectivity:current} - static final String VERSION = "1.94.0-SNAPSHOT"; + static final String VERSION = "1.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-networkconnectivity/google-cloud-networkconnectivity/src/main/java/com/google/cloud/networkconnectivity/v1alpha1/stub/Version.java b/java-networkconnectivity/google-cloud-networkconnectivity/src/main/java/com/google/cloud/networkconnectivity/v1alpha1/stub/Version.java index 3de097dde0a7..adfeaa51c5bf 100644 --- a/java-networkconnectivity/google-cloud-networkconnectivity/src/main/java/com/google/cloud/networkconnectivity/v1alpha1/stub/Version.java +++ b/java-networkconnectivity/google-cloud-networkconnectivity/src/main/java/com/google/cloud/networkconnectivity/v1alpha1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-networkconnectivity:current} - static final String VERSION = "1.94.0-SNAPSHOT"; + static final String VERSION = "1.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-networkconnectivity/google-cloud-networkconnectivity/src/main/java/com/google/cloud/networkconnectivity/v1beta/stub/Version.java b/java-networkconnectivity/google-cloud-networkconnectivity/src/main/java/com/google/cloud/networkconnectivity/v1beta/stub/Version.java index d72de25829d4..c594342b9fab 100644 --- a/java-networkconnectivity/google-cloud-networkconnectivity/src/main/java/com/google/cloud/networkconnectivity/v1beta/stub/Version.java +++ b/java-networkconnectivity/google-cloud-networkconnectivity/src/main/java/com/google/cloud/networkconnectivity/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-networkconnectivity:current} - static final String VERSION = "1.94.0-SNAPSHOT"; + static final String VERSION = "1.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-networkconnectivity/grpc-google-cloud-networkconnectivity-v1/pom.xml b/java-networkconnectivity/grpc-google-cloud-networkconnectivity-v1/pom.xml index 6ac38a38120b..f51badfaaea6 100644 --- a/java-networkconnectivity/grpc-google-cloud-networkconnectivity-v1/pom.xml +++ b/java-networkconnectivity/grpc-google-cloud-networkconnectivity-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-networkconnectivity-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT grpc-google-cloud-networkconnectivity-v1 GRPC library for google-cloud-networkconnectivity com.google.cloud google-cloud-networkconnectivity-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-networkconnectivity/grpc-google-cloud-networkconnectivity-v1alpha1/pom.xml b/java-networkconnectivity/grpc-google-cloud-networkconnectivity-v1alpha1/pom.xml index 1520dfd1c9da..96fe851e796f 100644 --- a/java-networkconnectivity/grpc-google-cloud-networkconnectivity-v1alpha1/pom.xml +++ b/java-networkconnectivity/grpc-google-cloud-networkconnectivity-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-networkconnectivity-v1alpha1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT grpc-google-cloud-networkconnectivity-v1alpha1 GRPC library for google-cloud-networkconnectivity com.google.cloud google-cloud-networkconnectivity-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-networkconnectivity/grpc-google-cloud-networkconnectivity-v1beta/pom.xml b/java-networkconnectivity/grpc-google-cloud-networkconnectivity-v1beta/pom.xml index 0539baaebd9b..95f4536a6842 100644 --- a/java-networkconnectivity/grpc-google-cloud-networkconnectivity-v1beta/pom.xml +++ b/java-networkconnectivity/grpc-google-cloud-networkconnectivity-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-networkconnectivity-v1beta - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT grpc-google-cloud-networkconnectivity-v1beta GRPC library for google-cloud-networkconnectivity com.google.cloud google-cloud-networkconnectivity-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-networkconnectivity/pom.xml b/java-networkconnectivity/pom.xml index c14fa00f6169..a3246d973e66 100644 --- a/java-networkconnectivity/pom.xml +++ b/java-networkconnectivity/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-networkconnectivity-parent pom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT Google Network Connectivity Center Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.cloud google-cloud-networkconnectivity - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-networkconnectivity-v1beta - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-networkconnectivity-v1beta - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-networkconnectivity-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-networkconnectivity-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-networkconnectivity-v1alpha1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-networkconnectivity-v1alpha1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-networkconnectivity/proto-google-cloud-networkconnectivity-v1/pom.xml b/java-networkconnectivity/proto-google-cloud-networkconnectivity-v1/pom.xml index 5ad611f49c60..6a28c0fdc4eb 100644 --- a/java-networkconnectivity/proto-google-cloud-networkconnectivity-v1/pom.xml +++ b/java-networkconnectivity/proto-google-cloud-networkconnectivity-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-networkconnectivity-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT proto-google-cloud-networkconnectivity-v1 Proto library for google-cloud-networkconnectivity com.google.cloud google-cloud-networkconnectivity-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-networkconnectivity/proto-google-cloud-networkconnectivity-v1alpha1/pom.xml b/java-networkconnectivity/proto-google-cloud-networkconnectivity-v1alpha1/pom.xml index 3ba6574d8208..e297783dfbd8 100644 --- a/java-networkconnectivity/proto-google-cloud-networkconnectivity-v1alpha1/pom.xml +++ b/java-networkconnectivity/proto-google-cloud-networkconnectivity-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-networkconnectivity-v1alpha1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT proto-google-cloud-networkconnectivity-v1alpha1 Proto library for google-cloud-networkconnectivity com.google.cloud google-cloud-networkconnectivity-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-networkconnectivity/proto-google-cloud-networkconnectivity-v1beta/pom.xml b/java-networkconnectivity/proto-google-cloud-networkconnectivity-v1beta/pom.xml index 787cc376236e..56c295642204 100644 --- a/java-networkconnectivity/proto-google-cloud-networkconnectivity-v1beta/pom.xml +++ b/java-networkconnectivity/proto-google-cloud-networkconnectivity-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-networkconnectivity-v1beta - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT proto-google-cloud-networkconnectivity-v1beta Proto library for google-cloud-networkconnectivity com.google.cloud google-cloud-networkconnectivity-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-networkservices/google-cloud-networkservices-bom/pom.xml b/java-networkservices/google-cloud-networkservices-bom/pom.xml index 1a47ebc5955f..837aa9667439 100644 --- a/java-networkservices/google-cloud-networkservices-bom/pom.xml +++ b/java-networkservices/google-cloud-networkservices-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-networkservices-bom - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-networkservices - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-networkservices-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT com.google.api.grpc proto-google-cloud-networkservices-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT diff --git a/java-networkservices/google-cloud-networkservices/pom.xml b/java-networkservices/google-cloud-networkservices/pom.xml index d71bb8e7c679..022306725092 100644 --- a/java-networkservices/google-cloud-networkservices/pom.xml +++ b/java-networkservices/google-cloud-networkservices/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-networkservices - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT jar Google Network Services API Network Services API Google Cloud offers a broad portfolio of networking services built on top of planet-scale infrastructure that leverages automation, advanced AI, and programmability, enabling enterprises to connect, scale, secure, modernize and optimize their infrastructure. com.google.cloud google-cloud-networkservices-parent - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT google-cloud-networkservices diff --git a/java-networkservices/google-cloud-networkservices/src/main/java/com/google/cloud/networkservices/v1/stub/Version.java b/java-networkservices/google-cloud-networkservices/src/main/java/com/google/cloud/networkservices/v1/stub/Version.java index ad7f5677387f..2b5d28c8f22c 100644 --- a/java-networkservices/google-cloud-networkservices/src/main/java/com/google/cloud/networkservices/v1/stub/Version.java +++ b/java-networkservices/google-cloud-networkservices/src/main/java/com/google/cloud/networkservices/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-networkservices:current} - static final String VERSION = "0.51.0-SNAPSHOT"; + static final String VERSION = "0.52.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-networkservices/grpc-google-cloud-networkservices-v1/pom.xml b/java-networkservices/grpc-google-cloud-networkservices-v1/pom.xml index c3c42b4d79aa..f48066268cc1 100644 --- a/java-networkservices/grpc-google-cloud-networkservices-v1/pom.xml +++ b/java-networkservices/grpc-google-cloud-networkservices-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-networkservices-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT grpc-google-cloud-networkservices-v1 GRPC library for google-cloud-networkservices com.google.cloud google-cloud-networkservices-parent - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT diff --git a/java-networkservices/pom.xml b/java-networkservices/pom.xml index 0156b1e297ff..d3b722a57509 100644 --- a/java-networkservices/pom.xml +++ b/java-networkservices/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-networkservices-parent pom - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT Google Network Services API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-networkservices - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-networkservices-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT com.google.api.grpc proto-google-cloud-networkservices-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT diff --git a/java-networkservices/proto-google-cloud-networkservices-v1/pom.xml b/java-networkservices/proto-google-cloud-networkservices-v1/pom.xml index dd9f637cf303..4c8f1e12e51b 100644 --- a/java-networkservices/proto-google-cloud-networkservices-v1/pom.xml +++ b/java-networkservices/proto-google-cloud-networkservices-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-networkservices-v1 - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT proto-google-cloud-networkservices-v1 Proto library for google-cloud-networkservices com.google.cloud google-cloud-networkservices-parent - 0.51.0-SNAPSHOT + 0.52.0-SNAPSHOT diff --git a/java-notebooks/google-cloud-notebooks-bom/pom.xml b/java-notebooks/google-cloud-notebooks-bom/pom.xml index bd4a49838daf..2be3939eb01d 100644 --- a/java-notebooks/google-cloud-notebooks-bom/pom.xml +++ b/java-notebooks/google-cloud-notebooks-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-notebooks-bom - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,37 +28,37 @@ com.google.cloud google-cloud-notebooks - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-notebooks-v1beta1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-notebooks-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-notebooks-v2 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-notebooks-v1beta1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-notebooks-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-notebooks-v2 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-notebooks/google-cloud-notebooks/pom.xml b/java-notebooks/google-cloud-notebooks/pom.xml index e417b0e8c23c..ef8674e6672e 100644 --- a/java-notebooks/google-cloud-notebooks/pom.xml +++ b/java-notebooks/google-cloud-notebooks/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-notebooks - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT jar Google AI Platform Notebooks is a managed service that offers an integrated and secure JupyterLab environment for data scientists and machine learning developers to experiment, develop, and deploy models into production. Users can create instances running JupyterLab that come pre-installed with the latest data science and machine learning frameworks in a single click. com.google.cloud google-cloud-notebooks-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT google-cloud-notebooks diff --git a/java-notebooks/google-cloud-notebooks/src/main/java/com/google/cloud/notebooks/v1/stub/Version.java b/java-notebooks/google-cloud-notebooks/src/main/java/com/google/cloud/notebooks/v1/stub/Version.java index 775e8dc86df4..1efbf62a0680 100644 --- a/java-notebooks/google-cloud-notebooks/src/main/java/com/google/cloud/notebooks/v1/stub/Version.java +++ b/java-notebooks/google-cloud-notebooks/src/main/java/com/google/cloud/notebooks/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-notebooks:current} - static final String VERSION = "1.93.0-SNAPSHOT"; + static final String VERSION = "1.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-notebooks/google-cloud-notebooks/src/main/java/com/google/cloud/notebooks/v1beta1/stub/Version.java b/java-notebooks/google-cloud-notebooks/src/main/java/com/google/cloud/notebooks/v1beta1/stub/Version.java index b75341e86873..e8b7078e9748 100644 --- a/java-notebooks/google-cloud-notebooks/src/main/java/com/google/cloud/notebooks/v1beta1/stub/Version.java +++ b/java-notebooks/google-cloud-notebooks/src/main/java/com/google/cloud/notebooks/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-notebooks:current} - static final String VERSION = "1.93.0-SNAPSHOT"; + static final String VERSION = "1.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-notebooks/google-cloud-notebooks/src/main/java/com/google/cloud/notebooks/v2/stub/Version.java b/java-notebooks/google-cloud-notebooks/src/main/java/com/google/cloud/notebooks/v2/stub/Version.java index ec1dc2974fa4..6757176079af 100644 --- a/java-notebooks/google-cloud-notebooks/src/main/java/com/google/cloud/notebooks/v2/stub/Version.java +++ b/java-notebooks/google-cloud-notebooks/src/main/java/com/google/cloud/notebooks/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-notebooks:current} - static final String VERSION = "1.93.0-SNAPSHOT"; + static final String VERSION = "1.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-notebooks/grpc-google-cloud-notebooks-v1/pom.xml b/java-notebooks/grpc-google-cloud-notebooks-v1/pom.xml index 8bf635aa993b..2b7f99c993c5 100644 --- a/java-notebooks/grpc-google-cloud-notebooks-v1/pom.xml +++ b/java-notebooks/grpc-google-cloud-notebooks-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-notebooks-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT grpc-google-cloud-notebooks-v1 GRPC library for google-cloud-notebooks com.google.cloud google-cloud-notebooks-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-notebooks/grpc-google-cloud-notebooks-v1beta1/pom.xml b/java-notebooks/grpc-google-cloud-notebooks-v1beta1/pom.xml index 34c944ec5461..1184f2675a09 100644 --- a/java-notebooks/grpc-google-cloud-notebooks-v1beta1/pom.xml +++ b/java-notebooks/grpc-google-cloud-notebooks-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-notebooks-v1beta1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT grpc-google-cloud-notebooks-v1beta1 GRPC library for grpc-google-cloud-notebooks-v1beta1 com.google.cloud google-cloud-notebooks-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-notebooks/grpc-google-cloud-notebooks-v2/pom.xml b/java-notebooks/grpc-google-cloud-notebooks-v2/pom.xml index 908695070d6b..b18d2f54ac15 100644 --- a/java-notebooks/grpc-google-cloud-notebooks-v2/pom.xml +++ b/java-notebooks/grpc-google-cloud-notebooks-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-notebooks-v2 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT grpc-google-cloud-notebooks-v2 GRPC library for google-cloud-notebooks com.google.cloud google-cloud-notebooks-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-notebooks/pom.xml b/java-notebooks/pom.xml index 182939471b2b..0b89b68caab0 100644 --- a/java-notebooks/pom.xml +++ b/java-notebooks/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-notebooks-parent pom - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT Google AI Platform Notebooks Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.cloud google-cloud-notebooks - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-notebooks-v2 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-notebooks-v2 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-notebooks-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-notebooks-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-notebooks-v1beta1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-notebooks-v1beta1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-notebooks/proto-google-cloud-notebooks-v1/pom.xml b/java-notebooks/proto-google-cloud-notebooks-v1/pom.xml index 067602822f59..430d73a0766a 100644 --- a/java-notebooks/proto-google-cloud-notebooks-v1/pom.xml +++ b/java-notebooks/proto-google-cloud-notebooks-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-notebooks-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT proto-google-cloud-notebooks-v1 Proto library for google-cloud-notebooks com.google.cloud google-cloud-notebooks-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-notebooks/proto-google-cloud-notebooks-v1beta1/pom.xml b/java-notebooks/proto-google-cloud-notebooks-v1beta1/pom.xml index 931d4b6187d4..6922f2710efb 100644 --- a/java-notebooks/proto-google-cloud-notebooks-v1beta1/pom.xml +++ b/java-notebooks/proto-google-cloud-notebooks-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-notebooks-v1beta1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT proto-google-cloud-notebooks-v1beta1 PROTO library for proto-google-cloud-notebooks-v1beta1 com.google.cloud google-cloud-notebooks-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-notebooks/proto-google-cloud-notebooks-v2/pom.xml b/java-notebooks/proto-google-cloud-notebooks-v2/pom.xml index 1429605d4823..cc53c4c0b25a 100644 --- a/java-notebooks/proto-google-cloud-notebooks-v2/pom.xml +++ b/java-notebooks/proto-google-cloud-notebooks-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-notebooks-v2 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT proto-google-cloud-notebooks-v2 Proto library for google-cloud-notebooks com.google.cloud google-cloud-notebooks-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-notification/README.md b/java-notification/README.md index ddff31ea0925..f8410ba57b36 100644 --- a/java-notification/README.md +++ b/java-notification/README.md @@ -45,20 +45,20 @@ If you are using Maven without the BOM, add this to your dependencies: com.google.cloud google-cloud-notification - 0.212.0-beta + 0.213.0-beta ``` If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-notification:0.212.0-beta' +implementation 'com.google.cloud:google-cloud-notification:0.213.0-beta' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-notification" % "0.212.0-beta" +libraryDependencies += "com.google.cloud" % "google-cloud-notification" % "0.213.0-beta" ``` diff --git a/java-notification/pom.xml b/java-notification/pom.xml index 3a548181a121..ac93556a90a7 100644 --- a/java-notification/pom.xml +++ b/java-notification/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.google.cloud google-cloud-notification - 0.213.0-beta-SNAPSHOT + 0.214.0-beta-SNAPSHOT jar Google Cloud Pub/Sub Notifications for GCS @@ -15,7 +15,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml diff --git a/java-optimization/google-cloud-optimization-bom/pom.xml b/java-optimization/google-cloud-optimization-bom/pom.xml index 58c4589b774f..e3a139b7cf80 100644 --- a/java-optimization/google-cloud-optimization-bom/pom.xml +++ b/java-optimization/google-cloud-optimization-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-optimization-bom - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-optimization - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-optimization-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-optimization-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-optimization/google-cloud-optimization/pom.xml b/java-optimization/google-cloud-optimization/pom.xml index b5ceb059a5ef..35f847706586 100644 --- a/java-optimization/google-cloud-optimization/pom.xml +++ b/java-optimization/google-cloud-optimization/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-optimization - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT jar Google Cloud Fleet Routing Cloud Fleet Routing is a managed routing service that takes your list of orders, vehicles, constraints, and objectives and returns the most efficient plan for your entire fleet in near real-time. com.google.cloud google-cloud-optimization-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT google-cloud-optimization diff --git a/java-optimization/google-cloud-optimization/src/main/java/com/google/cloud/optimization/v1/stub/Version.java b/java-optimization/google-cloud-optimization/src/main/java/com/google/cloud/optimization/v1/stub/Version.java index 828ad6492128..e5ee69cfd917 100644 --- a/java-optimization/google-cloud-optimization/src/main/java/com/google/cloud/optimization/v1/stub/Version.java +++ b/java-optimization/google-cloud-optimization/src/main/java/com/google/cloud/optimization/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-optimization:current} - static final String VERSION = "1.93.0-SNAPSHOT"; + static final String VERSION = "1.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-optimization/grpc-google-cloud-optimization-v1/pom.xml b/java-optimization/grpc-google-cloud-optimization-v1/pom.xml index a4497664e1c9..3b279efbde69 100644 --- a/java-optimization/grpc-google-cloud-optimization-v1/pom.xml +++ b/java-optimization/grpc-google-cloud-optimization-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-optimization-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT grpc-google-cloud-optimization-v1 GRPC library for google-cloud-optimization com.google.cloud google-cloud-optimization-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-optimization/pom.xml b/java-optimization/pom.xml index c20506281c95..ce540308344b 100644 --- a/java-optimization/pom.xml +++ b/java-optimization/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-optimization-parent pom - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT Google Cloud Fleet Routing Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-optimization - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-optimization-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-optimization-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-optimization/proto-google-cloud-optimization-v1/pom.xml b/java-optimization/proto-google-cloud-optimization-v1/pom.xml index c8bf6d26e2c2..4b22a84a6b0b 100644 --- a/java-optimization/proto-google-cloud-optimization-v1/pom.xml +++ b/java-optimization/proto-google-cloud-optimization-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-optimization-v1 - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT proto-google-cloud-optimization-v1 Proto library for google-cloud-optimization com.google.cloud google-cloud-optimization-parent - 1.93.0-SNAPSHOT + 1.94.0-SNAPSHOT diff --git a/java-oracledatabase/google-cloud-oracledatabase-bom/pom.xml b/java-oracledatabase/google-cloud-oracledatabase-bom/pom.xml index 506ad188d58d..9c5b672bfe4f 100644 --- a/java-oracledatabase/google-cloud-oracledatabase-bom/pom.xml +++ b/java-oracledatabase/google-cloud-oracledatabase-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-oracledatabase-bom - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-oracledatabase - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-oracledatabase-v1 - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT com.google.api.grpc proto-google-cloud-oracledatabase-v1 - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT diff --git a/java-oracledatabase/google-cloud-oracledatabase/pom.xml b/java-oracledatabase/google-cloud-oracledatabase/pom.xml index a57ac5be7fe6..bb9525dbab77 100644 --- a/java-oracledatabase/google-cloud-oracledatabase/pom.xml +++ b/java-oracledatabase/google-cloud-oracledatabase/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-oracledatabase - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT jar Google Oracle Database@Google Cloud API Oracle Database@Google Cloud API The Oracle Database@Google Cloud API provides a set of APIs to manage Oracle database services, such as Exadata and Autonomous Databases. com.google.cloud google-cloud-oracledatabase-parent - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT google-cloud-oracledatabase diff --git a/java-oracledatabase/google-cloud-oracledatabase/src/main/java/com/google/cloud/oracledatabase/v1/stub/Version.java b/java-oracledatabase/google-cloud-oracledatabase/src/main/java/com/google/cloud/oracledatabase/v1/stub/Version.java index 678db5f4a928..65aeed10fd83 100644 --- a/java-oracledatabase/google-cloud-oracledatabase/src/main/java/com/google/cloud/oracledatabase/v1/stub/Version.java +++ b/java-oracledatabase/google-cloud-oracledatabase/src/main/java/com/google/cloud/oracledatabase/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-oracledatabase:current} - static final String VERSION = "0.44.0-SNAPSHOT"; + static final String VERSION = "0.45.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-oracledatabase/grpc-google-cloud-oracledatabase-v1/pom.xml b/java-oracledatabase/grpc-google-cloud-oracledatabase-v1/pom.xml index 47c27e7beefc..69b06d50e490 100644 --- a/java-oracledatabase/grpc-google-cloud-oracledatabase-v1/pom.xml +++ b/java-oracledatabase/grpc-google-cloud-oracledatabase-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-oracledatabase-v1 - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT grpc-google-cloud-oracledatabase-v1 GRPC library for google-cloud-oracledatabase com.google.cloud google-cloud-oracledatabase-parent - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT diff --git a/java-oracledatabase/pom.xml b/java-oracledatabase/pom.xml index 5729c9ff19b4..5ac57b702911 100644 --- a/java-oracledatabase/pom.xml +++ b/java-oracledatabase/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-oracledatabase-parent pom - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT Google Oracle Database@Google Cloud API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-oracledatabase - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-oracledatabase-v1 - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT com.google.api.grpc proto-google-cloud-oracledatabase-v1 - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT diff --git a/java-oracledatabase/proto-google-cloud-oracledatabase-v1/pom.xml b/java-oracledatabase/proto-google-cloud-oracledatabase-v1/pom.xml index 0504526cad83..884d2c714e78 100644 --- a/java-oracledatabase/proto-google-cloud-oracledatabase-v1/pom.xml +++ b/java-oracledatabase/proto-google-cloud-oracledatabase-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-oracledatabase-v1 - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT proto-google-cloud-oracledatabase-v1 Proto library for google-cloud-oracledatabase com.google.cloud google-cloud-oracledatabase-parent - 0.44.0-SNAPSHOT + 0.45.0-SNAPSHOT diff --git a/java-orchestration-airflow/google-cloud-orchestration-airflow-bom/pom.xml b/java-orchestration-airflow/google-cloud-orchestration-airflow-bom/pom.xml index 4dc994798464..ccd0e08a5d0e 100644 --- a/java-orchestration-airflow/google-cloud-orchestration-airflow-bom/pom.xml +++ b/java-orchestration-airflow/google-cloud-orchestration-airflow-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-orchestration-airflow-bom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-orchestration-airflow - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-orchestration-airflow-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-orchestration-airflow-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-orchestration-airflow-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-orchestration-airflow-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-orchestration-airflow/google-cloud-orchestration-airflow/pom.xml b/java-orchestration-airflow/google-cloud-orchestration-airflow/pom.xml index 206c379b5aac..5d9015765781 100644 --- a/java-orchestration-airflow/google-cloud-orchestration-airflow/pom.xml +++ b/java-orchestration-airflow/google-cloud-orchestration-airflow/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-orchestration-airflow - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT jar Google Cloud Composer Cloud Composer is a managed Apache Airflow service that helps you create, schedule, monitor and manage workflows. Cloud Composer automation helps you create Airflow environments quickly and use Airflow-native tools, such as the powerful Airflow web interface and command line tools, so you can focus on your workflows and not your infrastructure. com.google.cloud google-cloud-orchestration-airflow-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT google-cloud-orchestration-airflow diff --git a/java-orchestration-airflow/google-cloud-orchestration-airflow/src/main/java/com/google/cloud/orchestration/airflow/service/v1/stub/Version.java b/java-orchestration-airflow/google-cloud-orchestration-airflow/src/main/java/com/google/cloud/orchestration/airflow/service/v1/stub/Version.java index 8721dc295b87..4fcd8add83ee 100644 --- a/java-orchestration-airflow/google-cloud-orchestration-airflow/src/main/java/com/google/cloud/orchestration/airflow/service/v1/stub/Version.java +++ b/java-orchestration-airflow/google-cloud-orchestration-airflow/src/main/java/com/google/cloud/orchestration/airflow/service/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-orchestration-airflow:current} - static final String VERSION = "1.95.0-SNAPSHOT"; + static final String VERSION = "1.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-orchestration-airflow/google-cloud-orchestration-airflow/src/main/java/com/google/cloud/orchestration/airflow/service/v1beta1/stub/Version.java b/java-orchestration-airflow/google-cloud-orchestration-airflow/src/main/java/com/google/cloud/orchestration/airflow/service/v1beta1/stub/Version.java index 779757cde074..28c5396aac2c 100644 --- a/java-orchestration-airflow/google-cloud-orchestration-airflow/src/main/java/com/google/cloud/orchestration/airflow/service/v1beta1/stub/Version.java +++ b/java-orchestration-airflow/google-cloud-orchestration-airflow/src/main/java/com/google/cloud/orchestration/airflow/service/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-orchestration-airflow:current} - static final String VERSION = "1.95.0-SNAPSHOT"; + static final String VERSION = "1.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-orchestration-airflow/grpc-google-cloud-orchestration-airflow-v1/pom.xml b/java-orchestration-airflow/grpc-google-cloud-orchestration-airflow-v1/pom.xml index 1054d29a2bfc..b911b03c3e52 100644 --- a/java-orchestration-airflow/grpc-google-cloud-orchestration-airflow-v1/pom.xml +++ b/java-orchestration-airflow/grpc-google-cloud-orchestration-airflow-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-orchestration-airflow-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT grpc-google-cloud-orchestration-airflow-v1 GRPC library for google-cloud-orchestration-airflow com.google.cloud google-cloud-orchestration-airflow-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-orchestration-airflow/grpc-google-cloud-orchestration-airflow-v1beta1/pom.xml b/java-orchestration-airflow/grpc-google-cloud-orchestration-airflow-v1beta1/pom.xml index b1f30157ec4f..d756bb565a75 100644 --- a/java-orchestration-airflow/grpc-google-cloud-orchestration-airflow-v1beta1/pom.xml +++ b/java-orchestration-airflow/grpc-google-cloud-orchestration-airflow-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-orchestration-airflow-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT grpc-google-cloud-orchestration-airflow-v1beta1 GRPC library for google-cloud-orchestration-airflow com.google.cloud google-cloud-orchestration-airflow-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-orchestration-airflow/pom.xml b/java-orchestration-airflow/pom.xml index a2ca20dd3649..a801cb28bb11 100644 --- a/java-orchestration-airflow/pom.xml +++ b/java-orchestration-airflow/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-orchestration-airflow-parent pom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT Google Cloud Composer Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-orchestration-airflow - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-orchestration-airflow-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-orchestration-airflow-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-orchestration-airflow-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-orchestration-airflow-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-orchestration-airflow/proto-google-cloud-orchestration-airflow-v1/pom.xml b/java-orchestration-airflow/proto-google-cloud-orchestration-airflow-v1/pom.xml index f4995ca81fc5..af312768608f 100644 --- a/java-orchestration-airflow/proto-google-cloud-orchestration-airflow-v1/pom.xml +++ b/java-orchestration-airflow/proto-google-cloud-orchestration-airflow-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-orchestration-airflow-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT proto-google-cloud-orchestration-airflow-v1 Proto library for google-cloud-orchestration-airflow com.google.cloud google-cloud-orchestration-airflow-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-orchestration-airflow/proto-google-cloud-orchestration-airflow-v1beta1/pom.xml b/java-orchestration-airflow/proto-google-cloud-orchestration-airflow-v1beta1/pom.xml index 1f2e12977e11..a107b867c71b 100644 --- a/java-orchestration-airflow/proto-google-cloud-orchestration-airflow-v1beta1/pom.xml +++ b/java-orchestration-airflow/proto-google-cloud-orchestration-airflow-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-orchestration-airflow-v1beta1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT proto-google-cloud-orchestration-airflow-v1beta1 Proto library for google-cloud-orchestration-airflow com.google.cloud google-cloud-orchestration-airflow-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-orgpolicy/google-cloud-orgpolicy-bom/pom.xml b/java-orgpolicy/google-cloud-orgpolicy-bom/pom.xml index cf6bdf95229c..952407d2b6ef 100644 --- a/java-orgpolicy/google-cloud-orgpolicy-bom/pom.xml +++ b/java-orgpolicy/google-cloud-orgpolicy-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-orgpolicy-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,22 +27,22 @@ com.google.cloud google-cloud-orgpolicy - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-orgpolicy-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-orgpolicy-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-orgpolicy-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-orgpolicy/google-cloud-orgpolicy/pom.xml b/java-orgpolicy/google-cloud-orgpolicy/pom.xml index 9cc5e0b84db2..abcaf10c87e9 100644 --- a/java-orgpolicy/google-cloud-orgpolicy/pom.xml +++ b/java-orgpolicy/google-cloud-orgpolicy/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-orgpolicy - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud Org Policy The Org Policy API allows users to configure governance rules on their GCP resources across the Cloud Resource Hierarchy. @@ -11,7 +11,7 @@ com.google.cloud google-cloud-orgpolicy-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-orgpolicy diff --git a/java-orgpolicy/google-cloud-orgpolicy/src/main/java/com/google/cloud/orgpolicy/v2/stub/Version.java b/java-orgpolicy/google-cloud-orgpolicy/src/main/java/com/google/cloud/orgpolicy/v2/stub/Version.java index 8c5c02522a2c..097d58ff7048 100644 --- a/java-orgpolicy/google-cloud-orgpolicy/src/main/java/com/google/cloud/orgpolicy/v2/stub/Version.java +++ b/java-orgpolicy/google-cloud-orgpolicy/src/main/java/com/google/cloud/orgpolicy/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-orgpolicy:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-orgpolicy/grpc-google-cloud-orgpolicy-v2/pom.xml b/java-orgpolicy/grpc-google-cloud-orgpolicy-v2/pom.xml index 23b824244346..20ec228a3abd 100644 --- a/java-orgpolicy/grpc-google-cloud-orgpolicy-v2/pom.xml +++ b/java-orgpolicy/grpc-google-cloud-orgpolicy-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-orgpolicy-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-orgpolicy-v2 GRPC library for grpc-google-cloud-orgpolicy-v2 com.google.cloud google-cloud-orgpolicy-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-orgpolicy/pom.xml b/java-orgpolicy/pom.xml index 9df190042263..0844cf5ad78a 100644 --- a/java-orgpolicy/pom.xml +++ b/java-orgpolicy/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-orgpolicy-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud Org Policy Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,22 +30,22 @@ com.google.api.grpc google-cloud-orgpolicy - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-orgpolicy-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-orgpolicy-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-orgpolicy-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-orgpolicy/proto-google-cloud-orgpolicy-v1/pom.xml b/java-orgpolicy/proto-google-cloud-orgpolicy-v1/pom.xml index c7ae596ed502..4ec4201a384d 100644 --- a/java-orgpolicy/proto-google-cloud-orgpolicy-v1/pom.xml +++ b/java-orgpolicy/proto-google-cloud-orgpolicy-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-orgpolicy-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-orgpolicy-v1 PROTO library for proto-google-cloud-orgpolicy-v1 com.google.cloud google-cloud-orgpolicy-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-orgpolicy/proto-google-cloud-orgpolicy-v2/pom.xml b/java-orgpolicy/proto-google-cloud-orgpolicy-v2/pom.xml index fc03311c6e46..5154148fc52d 100644 --- a/java-orgpolicy/proto-google-cloud-orgpolicy-v2/pom.xml +++ b/java-orgpolicy/proto-google-cloud-orgpolicy-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-orgpolicy-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-orgpolicy-v2 PROTO library for proto-google-cloud-orgpolicy-v2 com.google.cloud google-cloud-orgpolicy-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-os-config/google-cloud-os-config-bom/pom.xml b/java-os-config/google-cloud-os-config-bom/pom.xml index 09171b7fc03f..cf04742e911d 100644 --- a/java-os-config/google-cloud-os-config-bom/pom.xml +++ b/java-os-config/google-cloud-os-config-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-os-config-bom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,37 +24,37 @@ com.google.cloud google-cloud-os-config - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-os-config-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-os-config-v1beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-os-config-v1alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-os-config-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-os-config-v1alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-os-config-v1beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-os-config/google-cloud-os-config/pom.xml b/java-os-config/google-cloud-os-config/pom.xml index 1faf6c7bd16f..ad95495d5d1c 100644 --- a/java-os-config/google-cloud-os-config/pom.xml +++ b/java-os-config/google-cloud-os-config/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-os-config - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT jar Google OS Config API provides OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances. com.google.cloud google-cloud-os-config-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT google-cloud-os-config diff --git a/java-os-config/google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1/stub/Version.java b/java-os-config/google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1/stub/Version.java index 514ecef74c34..1d1641cde1ae 100644 --- a/java-os-config/google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1/stub/Version.java +++ b/java-os-config/google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-os-config:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-os-config/google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1alpha/stub/Version.java b/java-os-config/google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1alpha/stub/Version.java index 9776033c6565..6ec537c751df 100644 --- a/java-os-config/google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1alpha/stub/Version.java +++ b/java-os-config/google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-os-config:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-os-config/google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1beta/stub/Version.java b/java-os-config/google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1beta/stub/Version.java index 1b4599c64941..d18ae5a02ad3 100644 --- a/java-os-config/google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1beta/stub/Version.java +++ b/java-os-config/google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-os-config:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-os-config/grpc-google-cloud-os-config-v1/pom.xml b/java-os-config/grpc-google-cloud-os-config-v1/pom.xml index 23416caa452c..e05d9d7927c6 100644 --- a/java-os-config/grpc-google-cloud-os-config-v1/pom.xml +++ b/java-os-config/grpc-google-cloud-os-config-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-os-config-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-os-config-v1 GRPC library for grpc-google-cloud-os-config-v1 com.google.cloud google-cloud-os-config-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-os-config/grpc-google-cloud-os-config-v1alpha/pom.xml b/java-os-config/grpc-google-cloud-os-config-v1alpha/pom.xml index c37277fbca07..7ef4c8636af7 100644 --- a/java-os-config/grpc-google-cloud-os-config-v1alpha/pom.xml +++ b/java-os-config/grpc-google-cloud-os-config-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-os-config-v1alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-os-config-v1alpha GRPC library for google-cloud-os-config com.google.cloud google-cloud-os-config-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-os-config/grpc-google-cloud-os-config-v1beta/pom.xml b/java-os-config/grpc-google-cloud-os-config-v1beta/pom.xml index 6f58ce82240e..0c239688eb82 100644 --- a/java-os-config/grpc-google-cloud-os-config-v1beta/pom.xml +++ b/java-os-config/grpc-google-cloud-os-config-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-os-config-v1beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-os-config-v1beta GRPC library for google-cloud-os-config com.google.cloud google-cloud-os-config-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-os-config/pom.xml b/java-os-config/pom.xml index 6d7e69a16e1d..fef63f57ab43 100644 --- a/java-os-config/pom.xml +++ b/java-os-config/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-os-config-parent pom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT Google OS Config API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.cloud google-cloud-os-config - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-os-config-v1beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-os-config-v1alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-os-config-v1alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-os-config-v1beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-os-config-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-os-config-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-os-config/proto-google-cloud-os-config-v1/pom.xml b/java-os-config/proto-google-cloud-os-config-v1/pom.xml index 3106864db351..51e6b851fd25 100644 --- a/java-os-config/proto-google-cloud-os-config-v1/pom.xml +++ b/java-os-config/proto-google-cloud-os-config-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-os-config-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-os-config-v1 PROTO library for proto-google-cloud-os-config-v1 com.google.cloud google-cloud-os-config-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-os-config/proto-google-cloud-os-config-v1alpha/pom.xml b/java-os-config/proto-google-cloud-os-config-v1alpha/pom.xml index 22ce0842b732..8bfe83cef149 100644 --- a/java-os-config/proto-google-cloud-os-config-v1alpha/pom.xml +++ b/java-os-config/proto-google-cloud-os-config-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-os-config-v1alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-os-config-v1alpha Proto library for google-cloud-os-config com.google.cloud google-cloud-os-config-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-os-config/proto-google-cloud-os-config-v1beta/pom.xml b/java-os-config/proto-google-cloud-os-config-v1beta/pom.xml index 726b4e0fa749..6b1ff3b768ef 100644 --- a/java-os-config/proto-google-cloud-os-config-v1beta/pom.xml +++ b/java-os-config/proto-google-cloud-os-config-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-os-config-v1beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-os-config-v1beta Proto library for google-cloud-os-config com.google.cloud google-cloud-os-config-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-os-login/google-cloud-os-login-bom/pom.xml b/java-os-login/google-cloud-os-login-bom/pom.xml index 75e0302a695d..03ef557258ca 100644 --- a/java-os-login/google-cloud-os-login-bom/pom.xml +++ b/java-os-login/google-cloud-os-login-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-os-login-bom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-os-login - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-os-login-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-os-login-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-os-login/google-cloud-os-login/pom.xml b/java-os-login/google-cloud-os-login/pom.xml index fb115886cc11..fd85d586f400 100644 --- a/java-os-login/google-cloud-os-login/pom.xml +++ b/java-os-login/google-cloud-os-login/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-os-login - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT jar Google Cloud OS Login Java idiomatic client for Google Cloud OS Login com.google.cloud google-cloud-os-login-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT google-cloud-os-login diff --git a/java-os-login/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/stub/Version.java b/java-os-login/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/stub/Version.java index c36f25f0aa9f..bbf0aa6cc72b 100644 --- a/java-os-login/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/stub/Version.java +++ b/java-os-login/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-os-login:current} - static final String VERSION = "2.94.0-SNAPSHOT"; + static final String VERSION = "2.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-os-login/grpc-google-cloud-os-login-v1/pom.xml b/java-os-login/grpc-google-cloud-os-login-v1/pom.xml index 30b49033fb2d..7237e5e0ab51 100644 --- a/java-os-login/grpc-google-cloud-os-login-v1/pom.xml +++ b/java-os-login/grpc-google-cloud-os-login-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-os-login-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT grpc-google-cloud-os-login-v1 GRPC library for grpc-google-cloud-os-login-v1 com.google.cloud google-cloud-os-login-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-os-login/pom.xml b/java-os-login/pom.xml index bd799ba553b5..13cddc39979a 100644 --- a/java-os-login/pom.xml +++ b/java-os-login/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-os-login-parent pom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT Google Cloud OS Login Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.api.grpc proto-google-cloud-os-login-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-os-login-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.cloud google-cloud-os-login - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-os-login/proto-google-cloud-os-login-v1/pom.xml b/java-os-login/proto-google-cloud-os-login-v1/pom.xml index 693f8c86be73..ed987b4d2f90 100644 --- a/java-os-login/proto-google-cloud-os-login-v1/pom.xml +++ b/java-os-login/proto-google-cloud-os-login-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-os-login-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT proto-google-cloud-os-login-v1 PROTO library for proto-google-cloud-os-login-v1 com.google.cloud google-cloud-os-login-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-parallelstore/google-cloud-parallelstore-bom/pom.xml b/java-parallelstore/google-cloud-parallelstore-bom/pom.xml index 45bb3f27d1e2..f68ffb131864 100644 --- a/java-parallelstore/google-cloud-parallelstore-bom/pom.xml +++ b/java-parallelstore/google-cloud-parallelstore-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-parallelstore-bom - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.cloud google-cloud-parallelstore - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-parallelstore-v1beta - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-parallelstore-v1 - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT com.google.api.grpc proto-google-cloud-parallelstore-v1beta - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT com.google.api.grpc proto-google-cloud-parallelstore-v1 - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT diff --git a/java-parallelstore/google-cloud-parallelstore/pom.xml b/java-parallelstore/google-cloud-parallelstore/pom.xml index 9bd5528be33d..e166f877dbaf 100644 --- a/java-parallelstore/google-cloud-parallelstore/pom.xml +++ b/java-parallelstore/google-cloud-parallelstore/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-parallelstore - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT jar Google Parallelstore API Parallelstore API Parallelstore is based on Intel DAOS and delivers up to 6.3x greater read throughput performance compared to competitive Lustre scratch offerings. com.google.cloud google-cloud-parallelstore-parent - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT google-cloud-parallelstore diff --git a/java-parallelstore/google-cloud-parallelstore/src/main/java/com/google/cloud/parallelstore/v1/stub/Version.java b/java-parallelstore/google-cloud-parallelstore/src/main/java/com/google/cloud/parallelstore/v1/stub/Version.java index fcabaf7e1fcb..478b1d0dc1ab 100644 --- a/java-parallelstore/google-cloud-parallelstore/src/main/java/com/google/cloud/parallelstore/v1/stub/Version.java +++ b/java-parallelstore/google-cloud-parallelstore/src/main/java/com/google/cloud/parallelstore/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-parallelstore:current} - static final String VERSION = "0.58.0-SNAPSHOT"; + static final String VERSION = "0.59.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-parallelstore/google-cloud-parallelstore/src/main/java/com/google/cloud/parallelstore/v1beta/stub/Version.java b/java-parallelstore/google-cloud-parallelstore/src/main/java/com/google/cloud/parallelstore/v1beta/stub/Version.java index ad94e1fbd76b..de2eea2da08e 100644 --- a/java-parallelstore/google-cloud-parallelstore/src/main/java/com/google/cloud/parallelstore/v1beta/stub/Version.java +++ b/java-parallelstore/google-cloud-parallelstore/src/main/java/com/google/cloud/parallelstore/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-parallelstore:current} - static final String VERSION = "0.58.0-SNAPSHOT"; + static final String VERSION = "0.59.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-parallelstore/grpc-google-cloud-parallelstore-v1/pom.xml b/java-parallelstore/grpc-google-cloud-parallelstore-v1/pom.xml index b1fb48a456dd..57776a2f1d3e 100644 --- a/java-parallelstore/grpc-google-cloud-parallelstore-v1/pom.xml +++ b/java-parallelstore/grpc-google-cloud-parallelstore-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-parallelstore-v1 - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT grpc-google-cloud-parallelstore-v1 GRPC library for google-cloud-parallelstore com.google.cloud google-cloud-parallelstore-parent - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT diff --git a/java-parallelstore/grpc-google-cloud-parallelstore-v1beta/pom.xml b/java-parallelstore/grpc-google-cloud-parallelstore-v1beta/pom.xml index 7f118798eae6..9bb2053128b6 100644 --- a/java-parallelstore/grpc-google-cloud-parallelstore-v1beta/pom.xml +++ b/java-parallelstore/grpc-google-cloud-parallelstore-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-parallelstore-v1beta - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT grpc-google-cloud-parallelstore-v1beta GRPC library for google-cloud-parallelstore com.google.cloud google-cloud-parallelstore-parent - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT diff --git a/java-parallelstore/pom.xml b/java-parallelstore/pom.xml index 23a7e4e51bae..d9dfd088c3ae 100644 --- a/java-parallelstore/pom.xml +++ b/java-parallelstore/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-parallelstore-parent pom - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT Google Parallelstore API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-parallelstore - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT com.google.api.grpc proto-google-cloud-parallelstore-v1 - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-parallelstore-v1 - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-parallelstore-v1beta - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT com.google.api.grpc proto-google-cloud-parallelstore-v1beta - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT diff --git a/java-parallelstore/proto-google-cloud-parallelstore-v1/pom.xml b/java-parallelstore/proto-google-cloud-parallelstore-v1/pom.xml index 748e51372cfd..80da25ebc130 100644 --- a/java-parallelstore/proto-google-cloud-parallelstore-v1/pom.xml +++ b/java-parallelstore/proto-google-cloud-parallelstore-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-parallelstore-v1 - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT proto-google-cloud-parallelstore-v1 Proto library for google-cloud-parallelstore com.google.cloud google-cloud-parallelstore-parent - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT diff --git a/java-parallelstore/proto-google-cloud-parallelstore-v1beta/pom.xml b/java-parallelstore/proto-google-cloud-parallelstore-v1beta/pom.xml index 83ba37f1ca2a..f3e7bbf318d9 100644 --- a/java-parallelstore/proto-google-cloud-parallelstore-v1beta/pom.xml +++ b/java-parallelstore/proto-google-cloud-parallelstore-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-parallelstore-v1beta - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT proto-google-cloud-parallelstore-v1beta Proto library for google-cloud-parallelstore com.google.cloud google-cloud-parallelstore-parent - 0.58.0-SNAPSHOT + 0.59.0-SNAPSHOT diff --git a/java-parametermanager/google-cloud-parametermanager-bom/pom.xml b/java-parametermanager/google-cloud-parametermanager-bom/pom.xml index 33c4d936a247..1e5c47f5882c 100644 --- a/java-parametermanager/google-cloud-parametermanager-bom/pom.xml +++ b/java-parametermanager/google-cloud-parametermanager-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-parametermanager-bom - 0.39.0-SNAPSHOT + 0.40.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-parametermanager - 0.39.0-SNAPSHOT + 0.40.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-parametermanager-v1 - 0.39.0-SNAPSHOT + 0.40.0-SNAPSHOT com.google.api.grpc proto-google-cloud-parametermanager-v1 - 0.39.0-SNAPSHOT + 0.40.0-SNAPSHOT diff --git a/java-parametermanager/google-cloud-parametermanager/pom.xml b/java-parametermanager/google-cloud-parametermanager/pom.xml index 4eec95726dc1..d71683a67370 100644 --- a/java-parametermanager/google-cloud-parametermanager/pom.xml +++ b/java-parametermanager/google-cloud-parametermanager/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-parametermanager - 0.39.0-SNAPSHOT + 0.40.0-SNAPSHOT jar Google Parameter Manager API Parameter Manager API (Public Preview) Parameter Manager is a single source of truth to store, access and manage the lifecycle of your workload parameters. Parameter Manager aims to make management of sensitive application parameters effortless for customers without diminishing focus on security. com.google.cloud google-cloud-parametermanager-parent - 0.39.0-SNAPSHOT + 0.40.0-SNAPSHOT google-cloud-parametermanager diff --git a/java-parametermanager/google-cloud-parametermanager/src/main/java/com/google/cloud/parametermanager/v1/stub/Version.java b/java-parametermanager/google-cloud-parametermanager/src/main/java/com/google/cloud/parametermanager/v1/stub/Version.java index a3fc0f9ed46f..21c494c9087b 100644 --- a/java-parametermanager/google-cloud-parametermanager/src/main/java/com/google/cloud/parametermanager/v1/stub/Version.java +++ b/java-parametermanager/google-cloud-parametermanager/src/main/java/com/google/cloud/parametermanager/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-parametermanager:current} - static final String VERSION = "0.39.0-SNAPSHOT"; + static final String VERSION = "0.40.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-parametermanager/grpc-google-cloud-parametermanager-v1/pom.xml b/java-parametermanager/grpc-google-cloud-parametermanager-v1/pom.xml index 30934a8ca830..e8bbb99483a1 100644 --- a/java-parametermanager/grpc-google-cloud-parametermanager-v1/pom.xml +++ b/java-parametermanager/grpc-google-cloud-parametermanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-parametermanager-v1 - 0.39.0-SNAPSHOT + 0.40.0-SNAPSHOT grpc-google-cloud-parametermanager-v1 GRPC library for google-cloud-parametermanager com.google.cloud google-cloud-parametermanager-parent - 0.39.0-SNAPSHOT + 0.40.0-SNAPSHOT diff --git a/java-parametermanager/pom.xml b/java-parametermanager/pom.xml index 51e7b0cb1f47..673fde65ed4f 100644 --- a/java-parametermanager/pom.xml +++ b/java-parametermanager/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-parametermanager-parent pom - 0.39.0-SNAPSHOT + 0.40.0-SNAPSHOT Google Parameter Manager API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-parametermanager - 0.39.0-SNAPSHOT + 0.40.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-parametermanager-v1 - 0.39.0-SNAPSHOT + 0.40.0-SNAPSHOT com.google.api.grpc proto-google-cloud-parametermanager-v1 - 0.39.0-SNAPSHOT + 0.40.0-SNAPSHOT diff --git a/java-parametermanager/proto-google-cloud-parametermanager-v1/pom.xml b/java-parametermanager/proto-google-cloud-parametermanager-v1/pom.xml index 0558953a0a45..1d70b05610ad 100644 --- a/java-parametermanager/proto-google-cloud-parametermanager-v1/pom.xml +++ b/java-parametermanager/proto-google-cloud-parametermanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-parametermanager-v1 - 0.39.0-SNAPSHOT + 0.40.0-SNAPSHOT proto-google-cloud-parametermanager-v1 Proto library for google-cloud-parametermanager com.google.cloud google-cloud-parametermanager-parent - 0.39.0-SNAPSHOT + 0.40.0-SNAPSHOT diff --git a/java-phishingprotection/google-cloud-phishingprotection-bom/pom.xml b/java-phishingprotection/google-cloud-phishingprotection-bom/pom.xml index ee92eb7d78e0..a99e66a19bf1 100644 --- a/java-phishingprotection/google-cloud-phishingprotection-bom/pom.xml +++ b/java-phishingprotection/google-cloud-phishingprotection-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-phishingprotection-bom - 0.126.0-SNAPSHOT + 0.127.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-phishingprotection - 0.126.0-SNAPSHOT + 0.127.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-phishingprotection-v1beta1 - 0.126.0-SNAPSHOT + 0.127.0-SNAPSHOT com.google.api.grpc proto-google-cloud-phishingprotection-v1beta1 - 0.126.0-SNAPSHOT + 0.127.0-SNAPSHOT diff --git a/java-phishingprotection/google-cloud-phishingprotection/pom.xml b/java-phishingprotection/google-cloud-phishingprotection/pom.xml index bcd7477c2edf..5a9e997a4ccb 100644 --- a/java-phishingprotection/google-cloud-phishingprotection/pom.xml +++ b/java-phishingprotection/google-cloud-phishingprotection/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-phishingprotection - 0.126.0-SNAPSHOT + 0.127.0-SNAPSHOT jar Google Cloud Phishing Protection Java idiomatic client for Google Cloud Phishing Protection com.google.cloud google-cloud-phishingprotection-parent - 0.126.0-SNAPSHOT + 0.127.0-SNAPSHOT google-cloud-phishingprotection diff --git a/java-phishingprotection/google-cloud-phishingprotection/src/main/java/com/google/cloud/phishingprotection/v1beta1/stub/Version.java b/java-phishingprotection/google-cloud-phishingprotection/src/main/java/com/google/cloud/phishingprotection/v1beta1/stub/Version.java index 3e409050f628..0b8e33665cae 100644 --- a/java-phishingprotection/google-cloud-phishingprotection/src/main/java/com/google/cloud/phishingprotection/v1beta1/stub/Version.java +++ b/java-phishingprotection/google-cloud-phishingprotection/src/main/java/com/google/cloud/phishingprotection/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-phishingprotection:current} - static final String VERSION = "0.126.0-SNAPSHOT"; + static final String VERSION = "0.127.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-phishingprotection/grpc-google-cloud-phishingprotection-v1beta1/pom.xml b/java-phishingprotection/grpc-google-cloud-phishingprotection-v1beta1/pom.xml index 4cdf328f301a..438252242c02 100644 --- a/java-phishingprotection/grpc-google-cloud-phishingprotection-v1beta1/pom.xml +++ b/java-phishingprotection/grpc-google-cloud-phishingprotection-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-phishingprotection-v1beta1 - 0.126.0-SNAPSHOT + 0.127.0-SNAPSHOT grpc-google-cloud-phishingprotection-v1beta1 GRPC library for grpc-google-cloud-phishingprotection-v1beta1 com.google.cloud google-cloud-phishingprotection-parent - 0.126.0-SNAPSHOT + 0.127.0-SNAPSHOT diff --git a/java-phishingprotection/pom.xml b/java-phishingprotection/pom.xml index aca366588d54..e732f94c3aed 100644 --- a/java-phishingprotection/pom.xml +++ b/java-phishingprotection/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-phishingprotection-parent pom - 0.126.0-SNAPSHOT + 0.127.0-SNAPSHOT Google Cloud Phishing Protection Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.api.grpc proto-google-cloud-phishingprotection-v1beta1 - 0.126.0-SNAPSHOT + 0.127.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-phishingprotection-v1beta1 - 0.126.0-SNAPSHOT + 0.127.0-SNAPSHOT com.google.cloud google-cloud-phishingprotection - 0.126.0-SNAPSHOT + 0.127.0-SNAPSHOT diff --git a/java-phishingprotection/proto-google-cloud-phishingprotection-v1beta1/pom.xml b/java-phishingprotection/proto-google-cloud-phishingprotection-v1beta1/pom.xml index c310307fe85b..7a5026ab66a5 100644 --- a/java-phishingprotection/proto-google-cloud-phishingprotection-v1beta1/pom.xml +++ b/java-phishingprotection/proto-google-cloud-phishingprotection-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-phishingprotection-v1beta1 - 0.126.0-SNAPSHOT + 0.127.0-SNAPSHOT proto-google-cloud-phishingprotection-v1beta1 PROTO library for proto-google-cloud-phishingprotection-v1beta1 com.google.cloud google-cloud-phishingprotection-parent - 0.126.0-SNAPSHOT + 0.127.0-SNAPSHOT diff --git a/java-policy-troubleshooter/google-cloud-policy-troubleshooter-bom/pom.xml b/java-policy-troubleshooter/google-cloud-policy-troubleshooter-bom/pom.xml index 606dd2ae5aad..998eb49c59f3 100644 --- a/java-policy-troubleshooter/google-cloud-policy-troubleshooter-bom/pom.xml +++ b/java-policy-troubleshooter/google-cloud-policy-troubleshooter-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-policy-troubleshooter-bom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-policy-troubleshooter - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-policy-troubleshooter-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-policy-troubleshooter-v3 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-policy-troubleshooter-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-policy-troubleshooter-v3 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-policy-troubleshooter/google-cloud-policy-troubleshooter/pom.xml b/java-policy-troubleshooter/google-cloud-policy-troubleshooter/pom.xml index 02d3f940a197..383b735ae6d9 100644 --- a/java-policy-troubleshooter/google-cloud-policy-troubleshooter/pom.xml +++ b/java-policy-troubleshooter/google-cloud-policy-troubleshooter/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-policy-troubleshooter - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT jar Google IAM Policy Troubleshooter API makes it easier to understand why a user has access to a resource or doesn't have permission to call an API. Given an email, resource, and permission, Policy Troubleshooter examines all Identity and Access Management (IAM) policies that apply to the resource. It then reveals whether the member's roles include the permission on that resource and, if so, which policies bind the member to those roles. com.google.cloud google-cloud-policy-troubleshooter-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT google-cloud-policy-troubleshooter diff --git a/java-policy-troubleshooter/google-cloud-policy-troubleshooter/src/main/java/com/google/cloud/policytroubleshooter/iam/v3/stub/Version.java b/java-policy-troubleshooter/google-cloud-policy-troubleshooter/src/main/java/com/google/cloud/policytroubleshooter/iam/v3/stub/Version.java index 36aaa99f9f72..1a31b5478c01 100644 --- a/java-policy-troubleshooter/google-cloud-policy-troubleshooter/src/main/java/com/google/cloud/policytroubleshooter/iam/v3/stub/Version.java +++ b/java-policy-troubleshooter/google-cloud-policy-troubleshooter/src/main/java/com/google/cloud/policytroubleshooter/iam/v3/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-policy-troubleshooter:current} - static final String VERSION = "1.94.0-SNAPSHOT"; + static final String VERSION = "1.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-policy-troubleshooter/google-cloud-policy-troubleshooter/src/main/java/com/google/cloud/policytroubleshooter/v1/stub/Version.java b/java-policy-troubleshooter/google-cloud-policy-troubleshooter/src/main/java/com/google/cloud/policytroubleshooter/v1/stub/Version.java index 47f958ad9e77..5758f24ed143 100644 --- a/java-policy-troubleshooter/google-cloud-policy-troubleshooter/src/main/java/com/google/cloud/policytroubleshooter/v1/stub/Version.java +++ b/java-policy-troubleshooter/google-cloud-policy-troubleshooter/src/main/java/com/google/cloud/policytroubleshooter/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-policy-troubleshooter:current} - static final String VERSION = "1.94.0-SNAPSHOT"; + static final String VERSION = "1.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-policy-troubleshooter/grpc-google-cloud-policy-troubleshooter-v1/pom.xml b/java-policy-troubleshooter/grpc-google-cloud-policy-troubleshooter-v1/pom.xml index f3e904910d54..2ea92cacc84f 100644 --- a/java-policy-troubleshooter/grpc-google-cloud-policy-troubleshooter-v1/pom.xml +++ b/java-policy-troubleshooter/grpc-google-cloud-policy-troubleshooter-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-policy-troubleshooter-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT grpc-google-cloud-policy-troubleshooter-v1 GRPC library for google-cloud-policy-troubleshooter com.google.cloud google-cloud-policy-troubleshooter-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-policy-troubleshooter/grpc-google-cloud-policy-troubleshooter-v3/pom.xml b/java-policy-troubleshooter/grpc-google-cloud-policy-troubleshooter-v3/pom.xml index 925986a54328..ad63fdae1b1b 100644 --- a/java-policy-troubleshooter/grpc-google-cloud-policy-troubleshooter-v3/pom.xml +++ b/java-policy-troubleshooter/grpc-google-cloud-policy-troubleshooter-v3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-policy-troubleshooter-v3 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT grpc-google-cloud-policy-troubleshooter-v3 GRPC library for google-cloud-policy-troubleshooter com.google.cloud google-cloud-policy-troubleshooter-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-policy-troubleshooter/pom.xml b/java-policy-troubleshooter/pom.xml index 091bfce7d62d..78914ff206a7 100644 --- a/java-policy-troubleshooter/pom.xml +++ b/java-policy-troubleshooter/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-policy-troubleshooter-parent pom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT Google IAM Policy Troubleshooter API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-policy-troubleshooter - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-policy-troubleshooter-v3 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-policy-troubleshooter-v3 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-policy-troubleshooter-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-policy-troubleshooter-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-policy-troubleshooter/proto-google-cloud-policy-troubleshooter-v1/pom.xml b/java-policy-troubleshooter/proto-google-cloud-policy-troubleshooter-v1/pom.xml index ecf1cf751c79..a4b981cc6e04 100644 --- a/java-policy-troubleshooter/proto-google-cloud-policy-troubleshooter-v1/pom.xml +++ b/java-policy-troubleshooter/proto-google-cloud-policy-troubleshooter-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-policy-troubleshooter-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT proto-google-cloud-policy-troubleshooter-v1 Proto library for google-cloud-policy-troubleshooter com.google.cloud google-cloud-policy-troubleshooter-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-policy-troubleshooter/proto-google-cloud-policy-troubleshooter-v3/pom.xml b/java-policy-troubleshooter/proto-google-cloud-policy-troubleshooter-v3/pom.xml index 8134b0a39279..d4c1dca0d740 100644 --- a/java-policy-troubleshooter/proto-google-cloud-policy-troubleshooter-v3/pom.xml +++ b/java-policy-troubleshooter/proto-google-cloud-policy-troubleshooter-v3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-policy-troubleshooter-v3 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT proto-google-cloud-policy-troubleshooter-v3 Proto library for google-cloud-policy-troubleshooter com.google.cloud google-cloud-policy-troubleshooter-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-policysimulator/google-cloud-policysimulator-bom/pom.xml b/java-policysimulator/google-cloud-policysimulator-bom/pom.xml index 18b8867cb119..2da7368e2208 100644 --- a/java-policysimulator/google-cloud-policysimulator-bom/pom.xml +++ b/java-policysimulator/google-cloud-policysimulator-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-policysimulator-bom - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-policysimulator - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-policysimulator-v1 - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT com.google.api.grpc proto-google-cloud-policysimulator-v1 - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT diff --git a/java-policysimulator/google-cloud-policysimulator/pom.xml b/java-policysimulator/google-cloud-policysimulator/pom.xml index c3fe5021dd65..751326fe98b2 100644 --- a/java-policysimulator/google-cloud-policysimulator/pom.xml +++ b/java-policysimulator/google-cloud-policysimulator/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-policysimulator - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT jar Google Policy Simulator API Policy Simulator API Policy Simulator is a collection of endpoints for creating, running, and viewing a Replay. com.google.cloud google-cloud-policysimulator-parent - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT google-cloud-policysimulator diff --git a/java-policysimulator/google-cloud-policysimulator/src/main/java/com/google/cloud/policysimulator/v1/stub/Version.java b/java-policysimulator/google-cloud-policysimulator/src/main/java/com/google/cloud/policysimulator/v1/stub/Version.java index d4f5915ce075..e6c709c68f47 100644 --- a/java-policysimulator/google-cloud-policysimulator/src/main/java/com/google/cloud/policysimulator/v1/stub/Version.java +++ b/java-policysimulator/google-cloud-policysimulator/src/main/java/com/google/cloud/policysimulator/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-policysimulator:current} - static final String VERSION = "0.74.0-SNAPSHOT"; + static final String VERSION = "0.75.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-policysimulator/grpc-google-cloud-policysimulator-v1/pom.xml b/java-policysimulator/grpc-google-cloud-policysimulator-v1/pom.xml index c9498fcb5b0d..179929a984fe 100644 --- a/java-policysimulator/grpc-google-cloud-policysimulator-v1/pom.xml +++ b/java-policysimulator/grpc-google-cloud-policysimulator-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-policysimulator-v1 - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT grpc-google-cloud-policysimulator-v1 GRPC library for google-cloud-policysimulator com.google.cloud google-cloud-policysimulator-parent - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT diff --git a/java-policysimulator/pom.xml b/java-policysimulator/pom.xml index 799e9d71d2ec..056a4ee018b9 100644 --- a/java-policysimulator/pom.xml +++ b/java-policysimulator/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-policysimulator-parent pom - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT Google Policy Simulator API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,23 +30,23 @@ com.google.cloud google-cloud-policysimulator - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-policysimulator-v1 - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT com.google.api.grpc proto-google-cloud-policysimulator-v1 - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT com.google.api.grpc proto-google-cloud-orgpolicy-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-policysimulator/proto-google-cloud-policysimulator-v1/pom.xml b/java-policysimulator/proto-google-cloud-policysimulator-v1/pom.xml index 16226ccd015a..1f79ef096c77 100644 --- a/java-policysimulator/proto-google-cloud-policysimulator-v1/pom.xml +++ b/java-policysimulator/proto-google-cloud-policysimulator-v1/pom.xml @@ -4,19 +4,19 @@ 4.0.0 com.google.api.grpc proto-google-cloud-policysimulator-v1 - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT proto-google-cloud-policysimulator-v1 Proto library for google-cloud-policysimulator com.google.cloud google-cloud-policysimulator-parent - 0.74.0-SNAPSHOT + 0.75.0-SNAPSHOT com.google.api.grpc proto-google-cloud-orgpolicy-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.protobuf diff --git a/java-private-catalog/google-cloud-private-catalog-bom/pom.xml b/java-private-catalog/google-cloud-private-catalog-bom/pom.xml index ba5d352331a3..4b9ce3caff18 100644 --- a/java-private-catalog/google-cloud-private-catalog-bom/pom.xml +++ b/java-private-catalog/google-cloud-private-catalog-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-private-catalog-bom - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-private-catalog - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-private-catalog-v1beta1 - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-private-catalog-v1beta1 - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT diff --git a/java-private-catalog/google-cloud-private-catalog/pom.xml b/java-private-catalog/google-cloud-private-catalog/pom.xml index 88341de07dd2..acadfaadb67f 100644 --- a/java-private-catalog/google-cloud-private-catalog/pom.xml +++ b/java-private-catalog/google-cloud-private-catalog/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-private-catalog - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT jar Google Private Catalog Private Catalog allows developers and cloud admins to make their solutions discoverable to their internal enterprise users. Cloud admins can manage their solutions and ensure their users are always launching the latest versions. com.google.cloud google-cloud-private-catalog-parent - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT google-cloud-private-catalog diff --git a/java-private-catalog/google-cloud-private-catalog/src/main/java/com/google/cloud/privatecatalog/v1beta1/stub/Version.java b/java-private-catalog/google-cloud-private-catalog/src/main/java/com/google/cloud/privatecatalog/v1beta1/stub/Version.java index 376ba3d52713..84901d7cb061 100644 --- a/java-private-catalog/google-cloud-private-catalog/src/main/java/com/google/cloud/privatecatalog/v1beta1/stub/Version.java +++ b/java-private-catalog/google-cloud-private-catalog/src/main/java/com/google/cloud/privatecatalog/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-private-catalog:current} - static final String VERSION = "0.97.0-SNAPSHOT"; + static final String VERSION = "0.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-private-catalog/grpc-google-cloud-private-catalog-v1beta1/pom.xml b/java-private-catalog/grpc-google-cloud-private-catalog-v1beta1/pom.xml index f912fee5c411..2ad82ae78cac 100644 --- a/java-private-catalog/grpc-google-cloud-private-catalog-v1beta1/pom.xml +++ b/java-private-catalog/grpc-google-cloud-private-catalog-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-private-catalog-v1beta1 - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT grpc-google-cloud-private-catalog-v1beta1 GRPC library for google-cloud-private-catalog com.google.cloud google-cloud-private-catalog-parent - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT diff --git a/java-private-catalog/pom.xml b/java-private-catalog/pom.xml index ffa96cdd92c9..a6fe1f26d3d4 100644 --- a/java-private-catalog/pom.xml +++ b/java-private-catalog/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-private-catalog-parent pom - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT Google Private Catalog Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-private-catalog - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-private-catalog-v1beta1 - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-private-catalog-v1beta1 - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT diff --git a/java-private-catalog/proto-google-cloud-private-catalog-v1beta1/pom.xml b/java-private-catalog/proto-google-cloud-private-catalog-v1beta1/pom.xml index 57844403adbf..eeef46ea827e 100644 --- a/java-private-catalog/proto-google-cloud-private-catalog-v1beta1/pom.xml +++ b/java-private-catalog/proto-google-cloud-private-catalog-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-private-catalog-v1beta1 - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT proto-google-cloud-private-catalog-v1beta1 Proto library for google-cloud-private-catalog com.google.cloud google-cloud-private-catalog-parent - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT diff --git a/java-privilegedaccessmanager/google-cloud-privilegedaccessmanager-bom/pom.xml b/java-privilegedaccessmanager/google-cloud-privilegedaccessmanager-bom/pom.xml index 19aed1afe4d5..31bf30338bda 100644 --- a/java-privilegedaccessmanager/google-cloud-privilegedaccessmanager-bom/pom.xml +++ b/java-privilegedaccessmanager/google-cloud-privilegedaccessmanager-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-privilegedaccessmanager-bom - 0.49.0-SNAPSHOT + 0.50.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-privilegedaccessmanager - 0.49.0-SNAPSHOT + 0.50.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-privilegedaccessmanager-v1 - 0.49.0-SNAPSHOT + 0.50.0-SNAPSHOT com.google.api.grpc proto-google-cloud-privilegedaccessmanager-v1 - 0.49.0-SNAPSHOT + 0.50.0-SNAPSHOT diff --git a/java-privilegedaccessmanager/google-cloud-privilegedaccessmanager/pom.xml b/java-privilegedaccessmanager/google-cloud-privilegedaccessmanager/pom.xml index 60249caca6ad..bf7ffd8bc55b 100644 --- a/java-privilegedaccessmanager/google-cloud-privilegedaccessmanager/pom.xml +++ b/java-privilegedaccessmanager/google-cloud-privilegedaccessmanager/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-privilegedaccessmanager - 0.49.0-SNAPSHOT + 0.50.0-SNAPSHOT jar Google Privileged Access Manager API Privileged Access Manager API Privileged Access Manager (PAM) helps you on your journey towards least privilege and helps mitigate risks tied to privileged access misuse or abuse. com.google.cloud google-cloud-privilegedaccessmanager-parent - 0.49.0-SNAPSHOT + 0.50.0-SNAPSHOT google-cloud-privilegedaccessmanager diff --git a/java-privilegedaccessmanager/google-cloud-privilegedaccessmanager/src/main/java/com/google/cloud/privilegedaccessmanager/v1/stub/Version.java b/java-privilegedaccessmanager/google-cloud-privilegedaccessmanager/src/main/java/com/google/cloud/privilegedaccessmanager/v1/stub/Version.java index a4e79c92a689..8daa49a5e961 100644 --- a/java-privilegedaccessmanager/google-cloud-privilegedaccessmanager/src/main/java/com/google/cloud/privilegedaccessmanager/v1/stub/Version.java +++ b/java-privilegedaccessmanager/google-cloud-privilegedaccessmanager/src/main/java/com/google/cloud/privilegedaccessmanager/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-privilegedaccessmanager:current} - static final String VERSION = "0.49.0-SNAPSHOT"; + static final String VERSION = "0.50.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-privilegedaccessmanager/grpc-google-cloud-privilegedaccessmanager-v1/pom.xml b/java-privilegedaccessmanager/grpc-google-cloud-privilegedaccessmanager-v1/pom.xml index cb522c2c8c47..96be3c93485e 100644 --- a/java-privilegedaccessmanager/grpc-google-cloud-privilegedaccessmanager-v1/pom.xml +++ b/java-privilegedaccessmanager/grpc-google-cloud-privilegedaccessmanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-privilegedaccessmanager-v1 - 0.49.0-SNAPSHOT + 0.50.0-SNAPSHOT grpc-google-cloud-privilegedaccessmanager-v1 GRPC library for google-cloud-privilegedaccessmanager com.google.cloud google-cloud-privilegedaccessmanager-parent - 0.49.0-SNAPSHOT + 0.50.0-SNAPSHOT diff --git a/java-privilegedaccessmanager/pom.xml b/java-privilegedaccessmanager/pom.xml index 68515ab338c2..9c3c1cd3305f 100644 --- a/java-privilegedaccessmanager/pom.xml +++ b/java-privilegedaccessmanager/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-privilegedaccessmanager-parent pom - 0.49.0-SNAPSHOT + 0.50.0-SNAPSHOT Google Privileged Access Manager API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-privilegedaccessmanager - 0.49.0-SNAPSHOT + 0.50.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-privilegedaccessmanager-v1 - 0.49.0-SNAPSHOT + 0.50.0-SNAPSHOT com.google.api.grpc proto-google-cloud-privilegedaccessmanager-v1 - 0.49.0-SNAPSHOT + 0.50.0-SNAPSHOT diff --git a/java-privilegedaccessmanager/proto-google-cloud-privilegedaccessmanager-v1/pom.xml b/java-privilegedaccessmanager/proto-google-cloud-privilegedaccessmanager-v1/pom.xml index 45e3ddf3379a..ac11663fb026 100644 --- a/java-privilegedaccessmanager/proto-google-cloud-privilegedaccessmanager-v1/pom.xml +++ b/java-privilegedaccessmanager/proto-google-cloud-privilegedaccessmanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-privilegedaccessmanager-v1 - 0.49.0-SNAPSHOT + 0.50.0-SNAPSHOT proto-google-cloud-privilegedaccessmanager-v1 Proto library for google-cloud-privilegedaccessmanager com.google.cloud google-cloud-privilegedaccessmanager-parent - 0.49.0-SNAPSHOT + 0.50.0-SNAPSHOT diff --git a/java-productregistry/google-cloud-productregistry-bom/pom.xml b/java-productregistry/google-cloud-productregistry-bom/pom.xml index 5695ea1e8a66..63ccd2adeb69 100644 --- a/java-productregistry/google-cloud-productregistry-bom/pom.xml +++ b/java-productregistry/google-cloud-productregistry-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-productregistry-bom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-productregistry - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-productregistry-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc proto-google-cloud-productregistry-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-productregistry/google-cloud-productregistry/pom.xml b/java-productregistry/google-cloud-productregistry/pom.xml index 97519ea36aa7..ad9610713627 100644 --- a/java-productregistry/google-cloud-productregistry/pom.xml +++ b/java-productregistry/google-cloud-productregistry/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-productregistry - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT jar Google Cloud Product Registry Cloud Product Registry cloudproductregistry.googleapis.com API. com.google.cloud google-cloud-productregistry-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT google-cloud-productregistry diff --git a/java-productregistry/google-cloud-productregistry/src/main/java/com/google/cloud/productregistry/v1/stub/Version.java b/java-productregistry/google-cloud-productregistry/src/main/java/com/google/cloud/productregistry/v1/stub/Version.java index 5a9ec7776a10..f1a06c1d02b3 100644 --- a/java-productregistry/google-cloud-productregistry/src/main/java/com/google/cloud/productregistry/v1/stub/Version.java +++ b/java-productregistry/google-cloud-productregistry/src/main/java/com/google/cloud/productregistry/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-productregistry:current} - static final String VERSION = "0.0.0-SNAPSHOT"; + static final String VERSION = "0.2.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-productregistry/grpc-google-cloud-productregistry-v1/pom.xml b/java-productregistry/grpc-google-cloud-productregistry-v1/pom.xml index 4f33ddda4be0..b7fb8b2b3923 100644 --- a/java-productregistry/grpc-google-cloud-productregistry-v1/pom.xml +++ b/java-productregistry/grpc-google-cloud-productregistry-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-productregistry-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT grpc-google-cloud-productregistry-v1 GRPC library for google-cloud-productregistry com.google.cloud google-cloud-productregistry-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-productregistry/pom.xml b/java-productregistry/pom.xml index 45ce62b7fab2..d0fe6ecca22a 100644 --- a/java-productregistry/pom.xml +++ b/java-productregistry/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-productregistry-parent pom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT Google Cloud Product Registry Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-productregistry - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-productregistry-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc proto-google-cloud-productregistry-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-productregistry/proto-google-cloud-productregistry-v1/pom.xml b/java-productregistry/proto-google-cloud-productregistry-v1/pom.xml index 076690edffab..979a7ee891c4 100644 --- a/java-productregistry/proto-google-cloud-productregistry-v1/pom.xml +++ b/java-productregistry/proto-google-cloud-productregistry-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-productregistry-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT proto-google-cloud-productregistry-v1 Proto library for google-cloud-productregistry com.google.cloud google-cloud-productregistry-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-profiler/google-cloud-profiler-bom/pom.xml b/java-profiler/google-cloud-profiler-bom/pom.xml index 900960aad51d..b1a4cb2b89a2 100644 --- a/java-profiler/google-cloud-profiler-bom/pom.xml +++ b/java-profiler/google-cloud-profiler-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-profiler-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-profiler - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-profiler-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-profiler-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-profiler/google-cloud-profiler/pom.xml b/java-profiler/google-cloud-profiler/pom.xml index 787d37a6dbc9..2917ece7d791 100644 --- a/java-profiler/google-cloud-profiler/pom.xml +++ b/java-profiler/google-cloud-profiler/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-profiler - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Cloud Profiler is a statistical, low-overhead profiler that continuously gathers CPU usage and memory-allocation information from your production applications. It attributes that information to the application's source code, helping you identify the parts of the application consuming the most resources, and otherwise illuminating the performance characteristics of the code. com.google.cloud google-cloud-profiler-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-profiler diff --git a/java-profiler/google-cloud-profiler/src/main/java/com/google/devtools/cloudprofiler/v2/stub/Version.java b/java-profiler/google-cloud-profiler/src/main/java/com/google/devtools/cloudprofiler/v2/stub/Version.java index 6740cb2254f2..fb40ad55e4c8 100644 --- a/java-profiler/google-cloud-profiler/src/main/java/com/google/devtools/cloudprofiler/v2/stub/Version.java +++ b/java-profiler/google-cloud-profiler/src/main/java/com/google/devtools/cloudprofiler/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-profiler:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-profiler/grpc-google-cloud-profiler-v2/pom.xml b/java-profiler/grpc-google-cloud-profiler-v2/pom.xml index 56b7db52f5e6..6522bd5303ea 100644 --- a/java-profiler/grpc-google-cloud-profiler-v2/pom.xml +++ b/java-profiler/grpc-google-cloud-profiler-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-profiler-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-profiler-v2 GRPC library for google-cloud-profiler com.google.cloud google-cloud-profiler-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-profiler/pom.xml b/java-profiler/pom.xml index 4d3892620d3a..5d13c1a853b1 100644 --- a/java-profiler/pom.xml +++ b/java-profiler/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-profiler-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud Profiler Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-profiler - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-profiler-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-profiler-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-profiler/proto-google-cloud-profiler-v2/pom.xml b/java-profiler/proto-google-cloud-profiler-v2/pom.xml index f2aaa21cda40..77d2cfabed7a 100644 --- a/java-profiler/proto-google-cloud-profiler-v2/pom.xml +++ b/java-profiler/proto-google-cloud-profiler-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-profiler-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-profiler-v2 Proto library for google-cloud-profiler com.google.cloud google-cloud-profiler-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-publicca/google-cloud-publicca-bom/pom.xml b/java-publicca/google-cloud-publicca-bom/pom.xml index f7af19e7ed29..9b513e60f94b 100644 --- a/java-publicca/google-cloud-publicca-bom/pom.xml +++ b/java-publicca/google-cloud-publicca-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-publicca-bom - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-publicca - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-publicca-v1beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-publicca-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-publicca-v1beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-publicca-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-publicca/google-cloud-publicca/pom.xml b/java-publicca/google-cloud-publicca/pom.xml index 8ab6bfcef791..702ec851adc6 100644 --- a/java-publicca/google-cloud-publicca/pom.xml +++ b/java-publicca/google-cloud-publicca/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-publicca - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT jar Google Public Certificate Authority Public Certificate Authority Certificate Manager's Public Certificate Authority (CA) functionality allows you to provision and deploy widely trusted X.509 certificates after validating that the certificate requester controls the domains. com.google.cloud google-cloud-publicca-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT google-cloud-publicca diff --git a/java-publicca/google-cloud-publicca/src/main/java/com/google/cloud/security/publicca/v1/stub/Version.java b/java-publicca/google-cloud-publicca/src/main/java/com/google/cloud/security/publicca/v1/stub/Version.java index 3fdac08a38da..aefcbb534d93 100644 --- a/java-publicca/google-cloud-publicca/src/main/java/com/google/cloud/security/publicca/v1/stub/Version.java +++ b/java-publicca/google-cloud-publicca/src/main/java/com/google/cloud/security/publicca/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-publicca:current} - static final String VERSION = "0.92.0-SNAPSHOT"; + static final String VERSION = "0.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-publicca/google-cloud-publicca/src/main/java/com/google/cloud/security/publicca/v1beta1/stub/Version.java b/java-publicca/google-cloud-publicca/src/main/java/com/google/cloud/security/publicca/v1beta1/stub/Version.java index 272c5dc62fcf..f7085d3406bc 100644 --- a/java-publicca/google-cloud-publicca/src/main/java/com/google/cloud/security/publicca/v1beta1/stub/Version.java +++ b/java-publicca/google-cloud-publicca/src/main/java/com/google/cloud/security/publicca/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-publicca:current} - static final String VERSION = "0.92.0-SNAPSHOT"; + static final String VERSION = "0.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-publicca/grpc-google-cloud-publicca-v1/pom.xml b/java-publicca/grpc-google-cloud-publicca-v1/pom.xml index d5b4845d6287..2de5270f394c 100644 --- a/java-publicca/grpc-google-cloud-publicca-v1/pom.xml +++ b/java-publicca/grpc-google-cloud-publicca-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-publicca-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT grpc-google-cloud-publicca-v1 GRPC library for google-cloud-publicca com.google.cloud google-cloud-publicca-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-publicca/grpc-google-cloud-publicca-v1beta1/pom.xml b/java-publicca/grpc-google-cloud-publicca-v1beta1/pom.xml index 763eae34399e..139a15a86363 100644 --- a/java-publicca/grpc-google-cloud-publicca-v1beta1/pom.xml +++ b/java-publicca/grpc-google-cloud-publicca-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-publicca-v1beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT grpc-google-cloud-publicca-v1beta1 GRPC library for google-cloud-publicca com.google.cloud google-cloud-publicca-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-publicca/pom.xml b/java-publicca/pom.xml index 1f88765e21d6..adac31ac3628 100644 --- a/java-publicca/pom.xml +++ b/java-publicca/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-publicca-parent pom - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT Google Public Certificate Authority Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-publicca - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-publicca-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-publicca-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-publicca-v1beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-publicca-v1beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-publicca/proto-google-cloud-publicca-v1/pom.xml b/java-publicca/proto-google-cloud-publicca-v1/pom.xml index 7af58608ac80..6f42851efa21 100644 --- a/java-publicca/proto-google-cloud-publicca-v1/pom.xml +++ b/java-publicca/proto-google-cloud-publicca-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-publicca-v1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT proto-google-cloud-publicca-v1 Proto library for google-cloud-publicca com.google.cloud google-cloud-publicca-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-publicca/proto-google-cloud-publicca-v1beta1/pom.xml b/java-publicca/proto-google-cloud-publicca-v1beta1/pom.xml index 6f44207953eb..c4c7019d1808 100644 --- a/java-publicca/proto-google-cloud-publicca-v1beta1/pom.xml +++ b/java-publicca/proto-google-cloud-publicca-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-publicca-v1beta1 - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT proto-google-cloud-publicca-v1beta1 Proto library for google-cloud-publicca com.google.cloud google-cloud-publicca-parent - 0.92.0-SNAPSHOT + 0.93.0-SNAPSHOT diff --git a/java-pubsub/google-cloud-pubsub-bom/pom.xml b/java-pubsub/google-cloud-pubsub-bom/pom.xml index 6f2f9469e573..d68a31e898a2 100644 --- a/java-pubsub/google-cloud-pubsub-bom/pom.xml +++ b/java-pubsub/google-cloud-pubsub-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-pubsub-bom - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -54,17 +54,17 @@ com.google.cloud google-cloud-pubsub - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-pubsub-v1 - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT com.google.api.grpc proto-google-cloud-pubsub-v1 - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT diff --git a/java-pubsub/google-cloud-pubsub/pom.xml b/java-pubsub/google-cloud-pubsub/pom.xml index 05584b039eed..bb21d8195281 100644 --- a/java-pubsub/google-cloud-pubsub/pom.xml +++ b/java-pubsub/google-cloud-pubsub/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-pubsub - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT jar Google Cloud Pub/Sub Java idiomatic client for Google Cloud Pub/Sub com.google.cloud google-cloud-pubsub-parent - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT google-cloud-pubsub diff --git a/java-pubsub/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/stub/Version.java b/java-pubsub/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/stub/Version.java index 00c70af85db2..e3f8c705feb7 100644 --- a/java-pubsub/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/stub/Version.java +++ b/java-pubsub/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-pubsub:current} - static final String VERSION = "1.153.0-SNAPSHOT"; + static final String VERSION = "1.154.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-pubsub/grpc-google-cloud-pubsub-v1/pom.xml b/java-pubsub/grpc-google-cloud-pubsub-v1/pom.xml index 27d0eaf61603..b4471bb87200 100644 --- a/java-pubsub/grpc-google-cloud-pubsub-v1/pom.xml +++ b/java-pubsub/grpc-google-cloud-pubsub-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-pubsub-v1 - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT grpc-google-cloud-pubsub-v1 GRPC library for grpc-google-cloud-pubsub-v1 com.google.cloud google-cloud-pubsub-parent - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT diff --git a/java-pubsub/pom.xml b/java-pubsub/pom.xml index b7d9e4e84bf5..21d3534d373d 100644 --- a/java-pubsub/pom.xml +++ b/java-pubsub/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-pubsub-parent pom - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT Google Cloud Pub/Sub Parent https://github.com/googleapis/google-cloud-java @@ -14,7 +14,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -64,17 +64,17 @@ com.google.api.grpc proto-google-cloud-pubsub-v1 - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-pubsub-v1 - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT com.google.cloud google-cloud-pubsub - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT diff --git a/java-pubsub/proto-google-cloud-pubsub-v1/pom.xml b/java-pubsub/proto-google-cloud-pubsub-v1/pom.xml index f890696fc34b..3b79ebfaf540 100644 --- a/java-pubsub/proto-google-cloud-pubsub-v1/pom.xml +++ b/java-pubsub/proto-google-cloud-pubsub-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-pubsub-v1 - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT proto-google-cloud-pubsub-v1 PROTO library for proto-google-cloud-pubsub-v1 com.google.cloud google-cloud-pubsub-parent - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT diff --git a/java-pubsub/samples/snapshot/pom.xml b/java-pubsub/samples/snapshot/pom.xml index d7821e23e115..e01338073880 100644 --- a/java-pubsub/samples/snapshot/pom.xml +++ b/java-pubsub/samples/snapshot/pom.xml @@ -43,7 +43,7 @@ com.google.cloud google-cloud-pubsub - 1.153.0-SNAPSHOT + 1.154.0-SNAPSHOT diff --git a/java-rapidmigrationassessment/google-cloud-rapidmigrationassessment-bom/pom.xml b/java-rapidmigrationassessment/google-cloud-rapidmigrationassessment-bom/pom.xml index c557506418fd..9a8a33567d92 100644 --- a/java-rapidmigrationassessment/google-cloud-rapidmigrationassessment-bom/pom.xml +++ b/java-rapidmigrationassessment/google-cloud-rapidmigrationassessment-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-rapidmigrationassessment-bom - 0.78.0-SNAPSHOT + 0.79.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-rapidmigrationassessment - 0.78.0-SNAPSHOT + 0.79.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-rapidmigrationassessment-v1 - 0.78.0-SNAPSHOT + 0.79.0-SNAPSHOT com.google.api.grpc proto-google-cloud-rapidmigrationassessment-v1 - 0.78.0-SNAPSHOT + 0.79.0-SNAPSHOT diff --git a/java-rapidmigrationassessment/google-cloud-rapidmigrationassessment/pom.xml b/java-rapidmigrationassessment/google-cloud-rapidmigrationassessment/pom.xml index 05ee758236a6..ef55f86f28c8 100644 --- a/java-rapidmigrationassessment/google-cloud-rapidmigrationassessment/pom.xml +++ b/java-rapidmigrationassessment/google-cloud-rapidmigrationassessment/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-rapidmigrationassessment - 0.78.0-SNAPSHOT + 0.79.0-SNAPSHOT jar Google Rapid Migration Assessment API Rapid Migration Assessment API Rapid Migration Assessment API com.google.cloud google-cloud-rapidmigrationassessment-parent - 0.78.0-SNAPSHOT + 0.79.0-SNAPSHOT google-cloud-rapidmigrationassessment diff --git a/java-rapidmigrationassessment/google-cloud-rapidmigrationassessment/src/main/java/com/google/cloud/rapidmigrationassessment/v1/stub/Version.java b/java-rapidmigrationassessment/google-cloud-rapidmigrationassessment/src/main/java/com/google/cloud/rapidmigrationassessment/v1/stub/Version.java index 16dec1328dd9..0c1841bb2bb4 100644 --- a/java-rapidmigrationassessment/google-cloud-rapidmigrationassessment/src/main/java/com/google/cloud/rapidmigrationassessment/v1/stub/Version.java +++ b/java-rapidmigrationassessment/google-cloud-rapidmigrationassessment/src/main/java/com/google/cloud/rapidmigrationassessment/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-rapidmigrationassessment:current} - static final String VERSION = "0.78.0-SNAPSHOT"; + static final String VERSION = "0.79.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-rapidmigrationassessment/grpc-google-cloud-rapidmigrationassessment-v1/pom.xml b/java-rapidmigrationassessment/grpc-google-cloud-rapidmigrationassessment-v1/pom.xml index a580c44e1ca4..50e84641bfcc 100644 --- a/java-rapidmigrationassessment/grpc-google-cloud-rapidmigrationassessment-v1/pom.xml +++ b/java-rapidmigrationassessment/grpc-google-cloud-rapidmigrationassessment-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-rapidmigrationassessment-v1 - 0.78.0-SNAPSHOT + 0.79.0-SNAPSHOT grpc-google-cloud-rapidmigrationassessment-v1 GRPC library for google-cloud-rapidmigrationassessment com.google.cloud google-cloud-rapidmigrationassessment-parent - 0.78.0-SNAPSHOT + 0.79.0-SNAPSHOT diff --git a/java-rapidmigrationassessment/pom.xml b/java-rapidmigrationassessment/pom.xml index 209b354f26f2..e41d99a8c013 100644 --- a/java-rapidmigrationassessment/pom.xml +++ b/java-rapidmigrationassessment/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-rapidmigrationassessment-parent pom - 0.78.0-SNAPSHOT + 0.79.0-SNAPSHOT Google Rapid Migration Assessment API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-rapidmigrationassessment - 0.78.0-SNAPSHOT + 0.79.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-rapidmigrationassessment-v1 - 0.78.0-SNAPSHOT + 0.79.0-SNAPSHOT com.google.api.grpc proto-google-cloud-rapidmigrationassessment-v1 - 0.78.0-SNAPSHOT + 0.79.0-SNAPSHOT diff --git a/java-rapidmigrationassessment/proto-google-cloud-rapidmigrationassessment-v1/pom.xml b/java-rapidmigrationassessment/proto-google-cloud-rapidmigrationassessment-v1/pom.xml index d51411496b6a..36c6348c69bd 100644 --- a/java-rapidmigrationassessment/proto-google-cloud-rapidmigrationassessment-v1/pom.xml +++ b/java-rapidmigrationassessment/proto-google-cloud-rapidmigrationassessment-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-rapidmigrationassessment-v1 - 0.78.0-SNAPSHOT + 0.79.0-SNAPSHOT proto-google-cloud-rapidmigrationassessment-v1 Proto library for google-cloud-rapidmigrationassessment com.google.cloud google-cloud-rapidmigrationassessment-parent - 0.78.0-SNAPSHOT + 0.79.0-SNAPSHOT diff --git a/java-recaptchaenterprise/google-cloud-recaptchaenterprise-bom/pom.xml b/java-recaptchaenterprise/google-cloud-recaptchaenterprise-bom/pom.xml index 03a4eb18da0f..c959c8418704 100644 --- a/java-recaptchaenterprise/google-cloud-recaptchaenterprise-bom/pom.xml +++ b/java-recaptchaenterprise/google-cloud-recaptchaenterprise-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-recaptchaenterprise-bom - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-recaptchaenterprise - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-recaptchaenterprise-v1 - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-recaptchaenterprise-v1beta1 - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-recaptchaenterprise-v1 - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-recaptchaenterprise-v1beta1 - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT diff --git a/java-recaptchaenterprise/google-cloud-recaptchaenterprise/pom.xml b/java-recaptchaenterprise/google-cloud-recaptchaenterprise/pom.xml index 8f620327d6fe..7194af1262d8 100644 --- a/java-recaptchaenterprise/google-cloud-recaptchaenterprise/pom.xml +++ b/java-recaptchaenterprise/google-cloud-recaptchaenterprise/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-recaptchaenterprise - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT jar reCAPTCHA Enterprise Help protect your website from fraudulent activity, spam, and abuse. com.google.cloud google-cloud-recaptchaenterprise-parent - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT google-cloud-recaptchaenterprise diff --git a/java-recaptchaenterprise/google-cloud-recaptchaenterprise/src/main/java/com/google/cloud/recaptchaenterprise/v1/stub/Version.java b/java-recaptchaenterprise/google-cloud-recaptchaenterprise/src/main/java/com/google/cloud/recaptchaenterprise/v1/stub/Version.java index d1220b6d0e14..fdd5d93d8038 100644 --- a/java-recaptchaenterprise/google-cloud-recaptchaenterprise/src/main/java/com/google/cloud/recaptchaenterprise/v1/stub/Version.java +++ b/java-recaptchaenterprise/google-cloud-recaptchaenterprise/src/main/java/com/google/cloud/recaptchaenterprise/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-recaptchaenterprise:current} - static final String VERSION = "3.92.0-SNAPSHOT"; + static final String VERSION = "3.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-recaptchaenterprise/google-cloud-recaptchaenterprise/src/main/java/com/google/cloud/recaptchaenterprise/v1beta1/stub/Version.java b/java-recaptchaenterprise/google-cloud-recaptchaenterprise/src/main/java/com/google/cloud/recaptchaenterprise/v1beta1/stub/Version.java index 3c417f31f722..88cad04c348b 100644 --- a/java-recaptchaenterprise/google-cloud-recaptchaenterprise/src/main/java/com/google/cloud/recaptchaenterprise/v1beta1/stub/Version.java +++ b/java-recaptchaenterprise/google-cloud-recaptchaenterprise/src/main/java/com/google/cloud/recaptchaenterprise/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-recaptchaenterprise:current} - static final String VERSION = "3.92.0-SNAPSHOT"; + static final String VERSION = "3.93.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-recaptchaenterprise/grpc-google-cloud-recaptchaenterprise-v1/pom.xml b/java-recaptchaenterprise/grpc-google-cloud-recaptchaenterprise-v1/pom.xml index b6050af340f9..ed30337d97f6 100644 --- a/java-recaptchaenterprise/grpc-google-cloud-recaptchaenterprise-v1/pom.xml +++ b/java-recaptchaenterprise/grpc-google-cloud-recaptchaenterprise-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-recaptchaenterprise-v1 - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT grpc-google-cloud-recaptchaenterprise-v1 GRPC library for grpc-google-cloud-recaptchaenterprise-v1 com.google.cloud google-cloud-recaptchaenterprise-parent - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT diff --git a/java-recaptchaenterprise/grpc-google-cloud-recaptchaenterprise-v1beta1/pom.xml b/java-recaptchaenterprise/grpc-google-cloud-recaptchaenterprise-v1beta1/pom.xml index e447ce1495c5..58cb0830e4d8 100644 --- a/java-recaptchaenterprise/grpc-google-cloud-recaptchaenterprise-v1beta1/pom.xml +++ b/java-recaptchaenterprise/grpc-google-cloud-recaptchaenterprise-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-recaptchaenterprise-v1beta1 - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT grpc-google-cloud-recaptchaenterprise-v1beta1 GRPC library for grpc-google-cloud-recaptchaenterprise-v1beta1 com.google.cloud google-cloud-recaptchaenterprise-parent - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT diff --git a/java-recaptchaenterprise/pom.xml b/java-recaptchaenterprise/pom.xml index 152adcdf1fd2..8341bbad1cb1 100644 --- a/java-recaptchaenterprise/pom.xml +++ b/java-recaptchaenterprise/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-recaptchaenterprise-parent pom - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT reCAPTCHA Enterprise Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-recaptchaenterprise-v1 - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT com.google.api.grpc proto-google-cloud-recaptchaenterprise-v1beta1 - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-recaptchaenterprise-v1 - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-recaptchaenterprise-v1beta1 - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT com.google.cloud google-cloud-recaptchaenterprise - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT diff --git a/java-recaptchaenterprise/proto-google-cloud-recaptchaenterprise-v1/pom.xml b/java-recaptchaenterprise/proto-google-cloud-recaptchaenterprise-v1/pom.xml index b3ed441cddb7..939848b8f008 100644 --- a/java-recaptchaenterprise/proto-google-cloud-recaptchaenterprise-v1/pom.xml +++ b/java-recaptchaenterprise/proto-google-cloud-recaptchaenterprise-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-recaptchaenterprise-v1 - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT proto-google-cloud-recaptchaenterprise-v1 PROTO library for proto-google-cloud-recaptchaenterprise-v1 com.google.cloud google-cloud-recaptchaenterprise-parent - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT diff --git a/java-recaptchaenterprise/proto-google-cloud-recaptchaenterprise-v1beta1/pom.xml b/java-recaptchaenterprise/proto-google-cloud-recaptchaenterprise-v1beta1/pom.xml index c694eb42b774..d07e19af25d4 100644 --- a/java-recaptchaenterprise/proto-google-cloud-recaptchaenterprise-v1beta1/pom.xml +++ b/java-recaptchaenterprise/proto-google-cloud-recaptchaenterprise-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-recaptchaenterprise-v1beta1 - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT proto-google-cloud-recaptchaenterprise-v1beta1 PROTO library for proto-google-cloud-recaptchaenterprise-v1beta1 com.google.cloud google-cloud-recaptchaenterprise-parent - 3.92.0-SNAPSHOT + 3.93.0-SNAPSHOT diff --git a/java-recommendations-ai/google-cloud-recommendations-ai-bom/pom.xml b/java-recommendations-ai/google-cloud-recommendations-ai-bom/pom.xml index 01bac1e4c582..a0f479aaba5e 100644 --- a/java-recommendations-ai/google-cloud-recommendations-ai-bom/pom.xml +++ b/java-recommendations-ai/google-cloud-recommendations-ai-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-recommendations-ai-bom - 0.102.0-SNAPSHOT + 0.103.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-recommendations-ai - 0.102.0-SNAPSHOT + 0.103.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-recommendations-ai-v1beta1 - 0.102.0-SNAPSHOT + 0.103.0-SNAPSHOT com.google.api.grpc proto-google-cloud-recommendations-ai-v1beta1 - 0.102.0-SNAPSHOT + 0.103.0-SNAPSHOT diff --git a/java-recommendations-ai/google-cloud-recommendations-ai/pom.xml b/java-recommendations-ai/google-cloud-recommendations-ai/pom.xml index 760248a9f391..3ac30d504a7f 100644 --- a/java-recommendations-ai/google-cloud-recommendations-ai/pom.xml +++ b/java-recommendations-ai/google-cloud-recommendations-ai/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-recommendations-ai - 0.102.0-SNAPSHOT + 0.103.0-SNAPSHOT jar Google Recommendations AI delivers highly personalized product recommendations at scale. com.google.cloud google-cloud-recommendations-ai-parent - 0.102.0-SNAPSHOT + 0.103.0-SNAPSHOT google-cloud-recommendations-ai diff --git a/java-recommendations-ai/google-cloud-recommendations-ai/src/main/java/com/google/cloud/recommendationengine/v1beta1/stub/Version.java b/java-recommendations-ai/google-cloud-recommendations-ai/src/main/java/com/google/cloud/recommendationengine/v1beta1/stub/Version.java index 4e5853bf9319..785d4fc464ea 100644 --- a/java-recommendations-ai/google-cloud-recommendations-ai/src/main/java/com/google/cloud/recommendationengine/v1beta1/stub/Version.java +++ b/java-recommendations-ai/google-cloud-recommendations-ai/src/main/java/com/google/cloud/recommendationengine/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-recommendations-ai:current} - static final String VERSION = "0.102.0-SNAPSHOT"; + static final String VERSION = "0.103.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-recommendations-ai/grpc-google-cloud-recommendations-ai-v1beta1/pom.xml b/java-recommendations-ai/grpc-google-cloud-recommendations-ai-v1beta1/pom.xml index e27e82c39c51..a1769d969004 100644 --- a/java-recommendations-ai/grpc-google-cloud-recommendations-ai-v1beta1/pom.xml +++ b/java-recommendations-ai/grpc-google-cloud-recommendations-ai-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-recommendations-ai-v1beta1 - 0.102.0-SNAPSHOT + 0.103.0-SNAPSHOT grpc-google-cloud-recommendations-ai-v1beta1 GRPC library for grpc-google-cloud-recommendations-ai-v1beta1 com.google.cloud google-cloud-recommendations-ai-parent - 0.102.0-SNAPSHOT + 0.103.0-SNAPSHOT diff --git a/java-recommendations-ai/pom.xml b/java-recommendations-ai/pom.xml index 7e16db232955..de7453c121a8 100644 --- a/java-recommendations-ai/pom.xml +++ b/java-recommendations-ai/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-recommendations-ai-parent pom - 0.102.0-SNAPSHOT + 0.103.0-SNAPSHOT Google Recommendations AI Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-recommendations-ai - 0.102.0-SNAPSHOT + 0.103.0-SNAPSHOT com.google.api.grpc proto-google-cloud-recommendations-ai-v1beta1 - 0.102.0-SNAPSHOT + 0.103.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-recommendations-ai-v1beta1 - 0.102.0-SNAPSHOT + 0.103.0-SNAPSHOT diff --git a/java-recommendations-ai/proto-google-cloud-recommendations-ai-v1beta1/pom.xml b/java-recommendations-ai/proto-google-cloud-recommendations-ai-v1beta1/pom.xml index af1485b37002..bdc93c6edf92 100644 --- a/java-recommendations-ai/proto-google-cloud-recommendations-ai-v1beta1/pom.xml +++ b/java-recommendations-ai/proto-google-cloud-recommendations-ai-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-recommendations-ai-v1beta1 - 0.102.0-SNAPSHOT + 0.103.0-SNAPSHOT proto-google-cloud-recommendations-ai-v1beta1 PROTO library for proto-google-cloud-recommendations-ai-v1beta1 com.google.cloud google-cloud-recommendations-ai-parent - 0.102.0-SNAPSHOT + 0.103.0-SNAPSHOT diff --git a/java-recommender/google-cloud-recommender-bom/pom.xml b/java-recommender/google-cloud-recommender-bom/pom.xml index b7e8a7716662..e9e07f1ed040 100644 --- a/java-recommender/google-cloud-recommender-bom/pom.xml +++ b/java-recommender/google-cloud-recommender-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-recommender-bom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-recommender - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-recommender-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-recommender-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-recommender-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-recommender-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-recommender/google-cloud-recommender/pom.xml b/java-recommender/google-cloud-recommender/pom.xml index fffa630c95ed..7deec9f3a549 100644 --- a/java-recommender/google-cloud-recommender/pom.xml +++ b/java-recommender/google-cloud-recommender/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-recommender - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT jar Google Cloud Recommender @@ -12,7 +12,7 @@ com.google.cloud google-cloud-recommender-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT google-cloud-recommender diff --git a/java-recommender/google-cloud-recommender/src/main/java/com/google/cloud/recommender/v1/stub/Version.java b/java-recommender/google-cloud-recommender/src/main/java/com/google/cloud/recommender/v1/stub/Version.java index 50657054e5e3..1bbf9ca795c5 100644 --- a/java-recommender/google-cloud-recommender/src/main/java/com/google/cloud/recommender/v1/stub/Version.java +++ b/java-recommender/google-cloud-recommender/src/main/java/com/google/cloud/recommender/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-recommender:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-recommender/google-cloud-recommender/src/main/java/com/google/cloud/recommender/v1beta1/stub/Version.java b/java-recommender/google-cloud-recommender/src/main/java/com/google/cloud/recommender/v1beta1/stub/Version.java index 6fd7469485ff..004d5a87a8c2 100644 --- a/java-recommender/google-cloud-recommender/src/main/java/com/google/cloud/recommender/v1beta1/stub/Version.java +++ b/java-recommender/google-cloud-recommender/src/main/java/com/google/cloud/recommender/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-recommender:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-recommender/grpc-google-cloud-recommender-v1/pom.xml b/java-recommender/grpc-google-cloud-recommender-v1/pom.xml index 423803bfe65e..6a22f5e7fa35 100644 --- a/java-recommender/grpc-google-cloud-recommender-v1/pom.xml +++ b/java-recommender/grpc-google-cloud-recommender-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-recommender-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-recommender-v1 GRPC library for grpc-google-cloud-recommender-v1 com.google.cloud google-cloud-recommender-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-recommender/grpc-google-cloud-recommender-v1beta1/pom.xml b/java-recommender/grpc-google-cloud-recommender-v1beta1/pom.xml index 778836b2989d..816f81d0adc4 100644 --- a/java-recommender/grpc-google-cloud-recommender-v1beta1/pom.xml +++ b/java-recommender/grpc-google-cloud-recommender-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-recommender-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-recommender-v1beta1 GRPC library for grpc-google-cloud-recommender-v1beta1 com.google.cloud google-cloud-recommender-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-recommender/pom.xml b/java-recommender/pom.xml index 8f0949672a4e..5d3e09ce5df8 100644 --- a/java-recommender/pom.xml +++ b/java-recommender/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-recommender-parent pom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT Google Cloud recommender Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-recommender-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.cloud google-cloud-recommender - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-recommender-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-recommender-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-recommender-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-recommender/proto-google-cloud-recommender-v1/pom.xml b/java-recommender/proto-google-cloud-recommender-v1/pom.xml index 2d7acb4b5664..e36533ce2e7c 100644 --- a/java-recommender/proto-google-cloud-recommender-v1/pom.xml +++ b/java-recommender/proto-google-cloud-recommender-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-recommender-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-recommender-v1 PROTO library for proto-google-cloud-recommender-v1 com.google.cloud google-cloud-recommender-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-recommender/proto-google-cloud-recommender-v1beta1/pom.xml b/java-recommender/proto-google-cloud-recommender-v1beta1/pom.xml index 8532ae6fc3c6..0d2161482460 100644 --- a/java-recommender/proto-google-cloud-recommender-v1beta1/pom.xml +++ b/java-recommender/proto-google-cloud-recommender-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-recommender-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-recommender-v1beta1 PROTO library for proto-google-cloud-recommender-v1beta1 com.google.cloud google-cloud-recommender-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-redis-cluster/google-cloud-redis-cluster-bom/pom.xml b/java-redis-cluster/google-cloud-redis-cluster-bom/pom.xml index a87228b7e4d6..d4afeca35a49 100644 --- a/java-redis-cluster/google-cloud-redis-cluster-bom/pom.xml +++ b/java-redis-cluster/google-cloud-redis-cluster-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-redis-cluster-bom - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-redis-cluster - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-redis-cluster-v1 - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-redis-cluster-v1beta1 - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT com.google.api.grpc proto-google-cloud-redis-cluster-v1beta1 - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT com.google.api.grpc proto-google-cloud-redis-cluster-v1 - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT diff --git a/java-redis-cluster/google-cloud-redis-cluster/pom.xml b/java-redis-cluster/google-cloud-redis-cluster/pom.xml index 6d2dea2b0424..6eaad49f94ba 100644 --- a/java-redis-cluster/google-cloud-redis-cluster/pom.xml +++ b/java-redis-cluster/google-cloud-redis-cluster/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-redis-cluster - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT jar Google Google Cloud Memorystore for Redis API Google Cloud Memorystore for Redis API Creates and manages Redis instances on the Google Cloud Platform. com.google.cloud google-cloud-redis-cluster-parent - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT google-cloud-redis-cluster diff --git a/java-redis-cluster/google-cloud-redis-cluster/src/main/java/com/google/cloud/redis/cluster/v1/stub/Version.java b/java-redis-cluster/google-cloud-redis-cluster/src/main/java/com/google/cloud/redis/cluster/v1/stub/Version.java index 1d946035e1d2..8c406a1c0cbd 100644 --- a/java-redis-cluster/google-cloud-redis-cluster/src/main/java/com/google/cloud/redis/cluster/v1/stub/Version.java +++ b/java-redis-cluster/google-cloud-redis-cluster/src/main/java/com/google/cloud/redis/cluster/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-redis-cluster:current} - static final String VERSION = "0.67.0-SNAPSHOT"; + static final String VERSION = "0.68.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-redis-cluster/google-cloud-redis-cluster/src/main/java/com/google/cloud/redis/cluster/v1beta1/stub/Version.java b/java-redis-cluster/google-cloud-redis-cluster/src/main/java/com/google/cloud/redis/cluster/v1beta1/stub/Version.java index 33d9e2e89229..51bd3122bbbc 100644 --- a/java-redis-cluster/google-cloud-redis-cluster/src/main/java/com/google/cloud/redis/cluster/v1beta1/stub/Version.java +++ b/java-redis-cluster/google-cloud-redis-cluster/src/main/java/com/google/cloud/redis/cluster/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-redis-cluster:current} - static final String VERSION = "0.67.0-SNAPSHOT"; + static final String VERSION = "0.68.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-redis-cluster/grpc-google-cloud-redis-cluster-v1/pom.xml b/java-redis-cluster/grpc-google-cloud-redis-cluster-v1/pom.xml index 876735200f78..68c24e895ab5 100644 --- a/java-redis-cluster/grpc-google-cloud-redis-cluster-v1/pom.xml +++ b/java-redis-cluster/grpc-google-cloud-redis-cluster-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-redis-cluster-v1 - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT grpc-google-cloud-redis-cluster-v1 GRPC library for google-cloud-redis-cluster com.google.cloud google-cloud-redis-cluster-parent - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT diff --git a/java-redis-cluster/grpc-google-cloud-redis-cluster-v1beta1/pom.xml b/java-redis-cluster/grpc-google-cloud-redis-cluster-v1beta1/pom.xml index 26e913e6bb08..1cb3774492ca 100644 --- a/java-redis-cluster/grpc-google-cloud-redis-cluster-v1beta1/pom.xml +++ b/java-redis-cluster/grpc-google-cloud-redis-cluster-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-redis-cluster-v1beta1 - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT grpc-google-cloud-redis-cluster-v1beta1 GRPC library for google-cloud-redis-cluster com.google.cloud google-cloud-redis-cluster-parent - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT diff --git a/java-redis-cluster/pom.xml b/java-redis-cluster/pom.xml index 4136bb917f8c..f57aee83e6e8 100644 --- a/java-redis-cluster/pom.xml +++ b/java-redis-cluster/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-redis-cluster-parent pom - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT Google Google Cloud Memorystore for Redis API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-redis-cluster - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-redis-cluster-v1 - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-redis-cluster-v1beta1 - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT com.google.api.grpc proto-google-cloud-redis-cluster-v1beta1 - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT com.google.api.grpc proto-google-cloud-redis-cluster-v1 - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT diff --git a/java-redis-cluster/proto-google-cloud-redis-cluster-v1/pom.xml b/java-redis-cluster/proto-google-cloud-redis-cluster-v1/pom.xml index 5cf66b961d81..ec6a7ca976f4 100644 --- a/java-redis-cluster/proto-google-cloud-redis-cluster-v1/pom.xml +++ b/java-redis-cluster/proto-google-cloud-redis-cluster-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-redis-cluster-v1 - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT proto-google-cloud-redis-cluster-v1 Proto library for google-cloud-redis-cluster com.google.cloud google-cloud-redis-cluster-parent - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT diff --git a/java-redis-cluster/proto-google-cloud-redis-cluster-v1beta1/pom.xml b/java-redis-cluster/proto-google-cloud-redis-cluster-v1beta1/pom.xml index 8b9a1d45d860..83527195f2fe 100644 --- a/java-redis-cluster/proto-google-cloud-redis-cluster-v1beta1/pom.xml +++ b/java-redis-cluster/proto-google-cloud-redis-cluster-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-redis-cluster-v1beta1 - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT proto-google-cloud-redis-cluster-v1beta1 Proto library for google-cloud-redis-cluster com.google.cloud google-cloud-redis-cluster-parent - 0.67.0-SNAPSHOT + 0.68.0-SNAPSHOT diff --git a/java-redis/google-cloud-redis-bom/pom.xml b/java-redis/google-cloud-redis-bom/pom.xml index c6a7d5b60247..da7245a69da8 100644 --- a/java-redis/google-cloud-redis-bom/pom.xml +++ b/java-redis/google-cloud-redis-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-redis-bom - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-redis - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-redis-v1beta1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-redis-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-redis-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-redis-v1beta1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-redis/google-cloud-redis/pom.xml b/java-redis/google-cloud-redis/pom.xml index b70ed5c48d32..cb50a795f28e 100644 --- a/java-redis/google-cloud-redis/pom.xml +++ b/java-redis/google-cloud-redis/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-redis - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT jar Google Cloud Redis Java idiomatic client for Google Cloud Redis com.google.cloud google-cloud-redis-parent - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT google-cloud-redis diff --git a/java-redis/google-cloud-redis/src/main/java/com/google/cloud/redis/v1/stub/Version.java b/java-redis/google-cloud-redis/src/main/java/com/google/cloud/redis/v1/stub/Version.java index 4c17fbba6683..cbdb20c55c5f 100644 --- a/java-redis/google-cloud-redis/src/main/java/com/google/cloud/redis/v1/stub/Version.java +++ b/java-redis/google-cloud-redis/src/main/java/com/google/cloud/redis/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-redis:current} - static final String VERSION = "2.98.0-SNAPSHOT"; + static final String VERSION = "2.99.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-redis/google-cloud-redis/src/main/java/com/google/cloud/redis/v1beta1/stub/Version.java b/java-redis/google-cloud-redis/src/main/java/com/google/cloud/redis/v1beta1/stub/Version.java index ade333e32d97..aa8ae3602d75 100644 --- a/java-redis/google-cloud-redis/src/main/java/com/google/cloud/redis/v1beta1/stub/Version.java +++ b/java-redis/google-cloud-redis/src/main/java/com/google/cloud/redis/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-redis:current} - static final String VERSION = "2.98.0-SNAPSHOT"; + static final String VERSION = "2.99.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-redis/grpc-google-cloud-redis-v1/pom.xml b/java-redis/grpc-google-cloud-redis-v1/pom.xml index 15f478c87ad7..d8a14642d9c1 100644 --- a/java-redis/grpc-google-cloud-redis-v1/pom.xml +++ b/java-redis/grpc-google-cloud-redis-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-redis-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT grpc-google-cloud-redis-v1 GRPC library for grpc-google-cloud-redis-v1 com.google.cloud google-cloud-redis-parent - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-redis/grpc-google-cloud-redis-v1beta1/pom.xml b/java-redis/grpc-google-cloud-redis-v1beta1/pom.xml index a205e55523a7..9cc4de3b2658 100644 --- a/java-redis/grpc-google-cloud-redis-v1beta1/pom.xml +++ b/java-redis/grpc-google-cloud-redis-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-redis-v1beta1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT grpc-google-cloud-redis-v1beta1 GRPC library for grpc-google-cloud-redis-v1beta1 com.google.cloud google-cloud-redis-parent - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-redis/pom.xml b/java-redis/pom.xml index 4a7f3248454e..4e2d27cbca5d 100644 --- a/java-redis/pom.xml +++ b/java-redis/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-redis-parent pom - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT Google Cloud Redis Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-redis-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-redis-v1beta1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-redis-v1beta1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-redis-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT com.google.cloud google-cloud-redis - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-redis/proto-google-cloud-redis-v1/pom.xml b/java-redis/proto-google-cloud-redis-v1/pom.xml index d02c396a7d49..a2a140e431c3 100644 --- a/java-redis/proto-google-cloud-redis-v1/pom.xml +++ b/java-redis/proto-google-cloud-redis-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-redis-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT proto-google-cloud-redis-v1 PROTO library for proto-google-cloud-redis-v1 com.google.cloud google-cloud-redis-parent - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-redis/proto-google-cloud-redis-v1beta1/pom.xml b/java-redis/proto-google-cloud-redis-v1beta1/pom.xml index a8cde3c695c7..27bb7f003439 100644 --- a/java-redis/proto-google-cloud-redis-v1beta1/pom.xml +++ b/java-redis/proto-google-cloud-redis-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-redis-v1beta1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT proto-google-cloud-redis-v1beta1 PROTO library for proto-google-cloud-redis-v1beta1 com.google.cloud google-cloud-redis-parent - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT diff --git a/java-resourcemanager/google-cloud-resourcemanager-bom/pom.xml b/java-resourcemanager/google-cloud-resourcemanager-bom/pom.xml index 0086f31c5378..0c2f89236885 100644 --- a/java-resourcemanager/google-cloud-resourcemanager-bom/pom.xml +++ b/java-resourcemanager/google-cloud-resourcemanager-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-resourcemanager-bom - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-resourcemanager - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-resourcemanager-v3 - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-resourcemanager-v3 - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT diff --git a/java-resourcemanager/google-cloud-resourcemanager/pom.xml b/java-resourcemanager/google-cloud-resourcemanager/pom.xml index 5e42cb758c80..45f1d2d33263 100644 --- a/java-resourcemanager/google-cloud-resourcemanager/pom.xml +++ b/java-resourcemanager/google-cloud-resourcemanager/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-resourcemanager jar - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT Google Cloud Resource Manager Java idiomatic client for Google Cloud Resource Manager @@ -13,7 +13,7 @@ com.google.cloud google-cloud-resourcemanager-parent - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT diff --git a/java-resourcemanager/google-cloud-resourcemanager/src/main/java/com/google/cloud/resourcemanager/v3/stub/Version.java b/java-resourcemanager/google-cloud-resourcemanager/src/main/java/com/google/cloud/resourcemanager/v3/stub/Version.java index a020f6b2146c..c9d5c7a9202c 100644 --- a/java-resourcemanager/google-cloud-resourcemanager/src/main/java/com/google/cloud/resourcemanager/v3/stub/Version.java +++ b/java-resourcemanager/google-cloud-resourcemanager/src/main/java/com/google/cloud/resourcemanager/v3/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-resourcemanager:current} - static final String VERSION = "1.97.0-SNAPSHOT"; + static final String VERSION = "1.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-resourcemanager/grpc-google-cloud-resourcemanager-v3/pom.xml b/java-resourcemanager/grpc-google-cloud-resourcemanager-v3/pom.xml index 76c18e737444..3acfd34de52d 100644 --- a/java-resourcemanager/grpc-google-cloud-resourcemanager-v3/pom.xml +++ b/java-resourcemanager/grpc-google-cloud-resourcemanager-v3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-resourcemanager-v3 - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT grpc-google-cloud-resourcemanager-v3 GRPC library for google-cloud-resourcemanager com.google.cloud google-cloud-resourcemanager-parent - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT diff --git a/java-resourcemanager/pom.xml b/java-resourcemanager/pom.xml index 9758e1622537..72980623dd51 100644 --- a/java-resourcemanager/pom.xml +++ b/java-resourcemanager/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-resourcemanager-parent pom - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT Google Resource Manager API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-resourcemanager - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-resourcemanager-v3 - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-resourcemanager-v3 - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT diff --git a/java-resourcemanager/proto-google-cloud-resourcemanager-v3/pom.xml b/java-resourcemanager/proto-google-cloud-resourcemanager-v3/pom.xml index 5ced5072cc24..2e6f8daabba7 100644 --- a/java-resourcemanager/proto-google-cloud-resourcemanager-v3/pom.xml +++ b/java-resourcemanager/proto-google-cloud-resourcemanager-v3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-resourcemanager-v3 - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT proto-google-cloud-resourcemanager-v3 Proto library for google-cloud-resourcemanager com.google.cloud google-cloud-resourcemanager-parent - 1.97.0-SNAPSHOT + 1.98.0-SNAPSHOT diff --git a/java-retail/google-cloud-retail-bom/pom.xml b/java-retail/google-cloud-retail-bom/pom.xml index aa2122bb4dfd..1dfbc73d3da6 100644 --- a/java-retail/google-cloud-retail-bom/pom.xml +++ b/java-retail/google-cloud-retail-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-retail-bom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,37 +28,37 @@ com.google.cloud google-cloud-retail - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-retail-v2 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-retail-v2alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-retail-v2beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-retail-v2 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-retail-v2alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-retail-v2beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-retail/google-cloud-retail/pom.xml b/java-retail/google-cloud-retail/pom.xml index 270fc1c34722..acb3105cbbc8 100644 --- a/java-retail/google-cloud-retail/pom.xml +++ b/java-retail/google-cloud-retail/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-retail - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT jar Google Cloud Retail Retail solutions API. com.google.cloud google-cloud-retail-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT google-cloud-retail diff --git a/java-retail/google-cloud-retail/src/main/java/com/google/cloud/retail/v2/stub/Version.java b/java-retail/google-cloud-retail/src/main/java/com/google/cloud/retail/v2/stub/Version.java index fc6f311528b0..de8020502803 100644 --- a/java-retail/google-cloud-retail/src/main/java/com/google/cloud/retail/v2/stub/Version.java +++ b/java-retail/google-cloud-retail/src/main/java/com/google/cloud/retail/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-retail:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-retail/google-cloud-retail/src/main/java/com/google/cloud/retail/v2alpha/stub/Version.java b/java-retail/google-cloud-retail/src/main/java/com/google/cloud/retail/v2alpha/stub/Version.java index 3a3c0b4688c1..7d787ad34db5 100644 --- a/java-retail/google-cloud-retail/src/main/java/com/google/cloud/retail/v2alpha/stub/Version.java +++ b/java-retail/google-cloud-retail/src/main/java/com/google/cloud/retail/v2alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-retail:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-retail/google-cloud-retail/src/main/java/com/google/cloud/retail/v2beta/stub/Version.java b/java-retail/google-cloud-retail/src/main/java/com/google/cloud/retail/v2beta/stub/Version.java index 5f0fe8771382..3f6e0e88f144 100644 --- a/java-retail/google-cloud-retail/src/main/java/com/google/cloud/retail/v2beta/stub/Version.java +++ b/java-retail/google-cloud-retail/src/main/java/com/google/cloud/retail/v2beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-retail:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-retail/grpc-google-cloud-retail-v2/pom.xml b/java-retail/grpc-google-cloud-retail-v2/pom.xml index c0ab0987857a..fba4eeb2a7b6 100644 --- a/java-retail/grpc-google-cloud-retail-v2/pom.xml +++ b/java-retail/grpc-google-cloud-retail-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-retail-v2 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-retail-v2 GRPC library for google-cloud-retail com.google.cloud google-cloud-retail-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-retail/grpc-google-cloud-retail-v2alpha/pom.xml b/java-retail/grpc-google-cloud-retail-v2alpha/pom.xml index 4e6e54b6c672..f592a4a70928 100644 --- a/java-retail/grpc-google-cloud-retail-v2alpha/pom.xml +++ b/java-retail/grpc-google-cloud-retail-v2alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-retail-v2alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-retail-v2alpha GRPC library for google-cloud-retail com.google.cloud google-cloud-retail-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-retail/grpc-google-cloud-retail-v2beta/pom.xml b/java-retail/grpc-google-cloud-retail-v2beta/pom.xml index 0eeb96d81b30..49f6526a9c10 100644 --- a/java-retail/grpc-google-cloud-retail-v2beta/pom.xml +++ b/java-retail/grpc-google-cloud-retail-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-retail-v2beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-retail-v2beta GRPC library for google-cloud-retail com.google.cloud google-cloud-retail-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-retail/pom.xml b/java-retail/pom.xml index 34533d451dcb..8996b2a03cce 100644 --- a/java-retail/pom.xml +++ b/java-retail/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-retail-parent pom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT Google Cloud Retail Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.cloud google-cloud-retail - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-retail-v2beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-retail-v2alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-retail-v2beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-retail-v2alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-retail-v2 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-retail-v2 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-retail/proto-google-cloud-retail-v2/pom.xml b/java-retail/proto-google-cloud-retail-v2/pom.xml index 6bdb41242e88..ecdd21fd67f6 100644 --- a/java-retail/proto-google-cloud-retail-v2/pom.xml +++ b/java-retail/proto-google-cloud-retail-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-retail-v2 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-retail-v2 Proto library for google-cloud-retail com.google.cloud google-cloud-retail-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-retail/proto-google-cloud-retail-v2alpha/pom.xml b/java-retail/proto-google-cloud-retail-v2alpha/pom.xml index 9dc23530389e..a3937cc87d1b 100644 --- a/java-retail/proto-google-cloud-retail-v2alpha/pom.xml +++ b/java-retail/proto-google-cloud-retail-v2alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-retail-v2alpha - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-retail-v2alpha Proto library for google-cloud-retail com.google.cloud google-cloud-retail-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-retail/proto-google-cloud-retail-v2beta/pom.xml b/java-retail/proto-google-cloud-retail-v2beta/pom.xml index 2015feb73d08..5c4bb7ddd486 100644 --- a/java-retail/proto-google-cloud-retail-v2beta/pom.xml +++ b/java-retail/proto-google-cloud-retail-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-retail-v2beta - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-retail-v2beta Proto library for google-cloud-retail com.google.cloud google-cloud-retail-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-run/google-cloud-run-bom/pom.xml b/java-run/google-cloud-run-bom/pom.xml index 3d3455bccf98..3b5c4e3115a9 100644 --- a/java-run/google-cloud-run-bom/pom.xml +++ b/java-run/google-cloud-run-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-run-bom - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-run - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-run-v2 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-run-v2 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-run/google-cloud-run/pom.xml b/java-run/google-cloud-run/pom.xml index dcde76399323..7a24de9614c9 100644 --- a/java-run/google-cloud-run/pom.xml +++ b/java-run/google-cloud-run/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-run - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT jar Google Cloud Run Cloud Run is a managed compute platform that enables you to run containers that are invocable via requests or events. com.google.cloud google-cloud-run-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT google-cloud-run diff --git a/java-run/google-cloud-run/src/main/java/com/google/cloud/run/v2/stub/Version.java b/java-run/google-cloud-run/src/main/java/com/google/cloud/run/v2/stub/Version.java index 09f9d332e089..839685234221 100644 --- a/java-run/google-cloud-run/src/main/java/com/google/cloud/run/v2/stub/Version.java +++ b/java-run/google-cloud-run/src/main/java/com/google/cloud/run/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-run:current} - static final String VERSION = "0.95.0-SNAPSHOT"; + static final String VERSION = "0.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-run/grpc-google-cloud-run-v2/pom.xml b/java-run/grpc-google-cloud-run-v2/pom.xml index 27cce65884c3..22f04dee2c9c 100644 --- a/java-run/grpc-google-cloud-run-v2/pom.xml +++ b/java-run/grpc-google-cloud-run-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-run-v2 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT grpc-google-cloud-run-v2 GRPC library for google-cloud-run com.google.cloud google-cloud-run-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-run/pom.xml b/java-run/pom.xml index bed8607b711d..03116fec68cd 100644 --- a/java-run/pom.xml +++ b/java-run/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-run-parent pom - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT Google Cloud Run Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-run - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-run-v2 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-run-v2 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-run/proto-google-cloud-run-v2/pom.xml b/java-run/proto-google-cloud-run-v2/pom.xml index 537de73eb05a..10996c8fd837 100644 --- a/java-run/proto-google-cloud-run-v2/pom.xml +++ b/java-run/proto-google-cloud-run-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-run-v2 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT proto-google-cloud-run-v2 Proto library for google-cloud-run com.google.cloud google-cloud-run-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-saasservicemgmt/google-cloud-saasservicemgmt-bom/pom.xml b/java-saasservicemgmt/google-cloud-saasservicemgmt-bom/pom.xml index 32b60509c033..6d29107251b4 100644 --- a/java-saasservicemgmt/google-cloud-saasservicemgmt-bom/pom.xml +++ b/java-saasservicemgmt/google-cloud-saasservicemgmt-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-saasservicemgmt-bom - 0.25.0-SNAPSHOT + 0.26.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-saasservicemgmt - 0.25.0-SNAPSHOT + 0.26.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-saasservicemgmt-v1beta1 - 0.25.0-SNAPSHOT + 0.26.0-SNAPSHOT com.google.api.grpc proto-google-cloud-saasservicemgmt-v1beta1 - 0.25.0-SNAPSHOT + 0.26.0-SNAPSHOT diff --git a/java-saasservicemgmt/google-cloud-saasservicemgmt/pom.xml b/java-saasservicemgmt/google-cloud-saasservicemgmt/pom.xml index 9f13e21e3880..f3f27bbcdc68 100644 --- a/java-saasservicemgmt/google-cloud-saasservicemgmt/pom.xml +++ b/java-saasservicemgmt/google-cloud-saasservicemgmt/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-saasservicemgmt - 0.25.0-SNAPSHOT + 0.26.0-SNAPSHOT jar Google SaaS Runtime API SaaS Runtime API Model, deploy, and operate your SaaS at scale. com.google.cloud google-cloud-saasservicemgmt-parent - 0.25.0-SNAPSHOT + 0.26.0-SNAPSHOT google-cloud-saasservicemgmt diff --git a/java-saasservicemgmt/google-cloud-saasservicemgmt/src/main/java/com/google/cloud/saasplatform/saasservicemgmt/v1beta1/stub/Version.java b/java-saasservicemgmt/google-cloud-saasservicemgmt/src/main/java/com/google/cloud/saasplatform/saasservicemgmt/v1beta1/stub/Version.java index c4e4847bdedf..8491bd6ca97c 100644 --- a/java-saasservicemgmt/google-cloud-saasservicemgmt/src/main/java/com/google/cloud/saasplatform/saasservicemgmt/v1beta1/stub/Version.java +++ b/java-saasservicemgmt/google-cloud-saasservicemgmt/src/main/java/com/google/cloud/saasplatform/saasservicemgmt/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-saasservicemgmt:current} - static final String VERSION = "0.25.0-SNAPSHOT"; + static final String VERSION = "0.26.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-saasservicemgmt/grpc-google-cloud-saasservicemgmt-v1beta1/pom.xml b/java-saasservicemgmt/grpc-google-cloud-saasservicemgmt-v1beta1/pom.xml index 78487b556841..59627cf56210 100644 --- a/java-saasservicemgmt/grpc-google-cloud-saasservicemgmt-v1beta1/pom.xml +++ b/java-saasservicemgmt/grpc-google-cloud-saasservicemgmt-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-saasservicemgmt-v1beta1 - 0.25.0-SNAPSHOT + 0.26.0-SNAPSHOT grpc-google-cloud-saasservicemgmt-v1beta1 GRPC library for google-cloud-saasservicemgmt com.google.cloud google-cloud-saasservicemgmt-parent - 0.25.0-SNAPSHOT + 0.26.0-SNAPSHOT diff --git a/java-saasservicemgmt/pom.xml b/java-saasservicemgmt/pom.xml index 04cabb288cfd..26dfffa5626d 100644 --- a/java-saasservicemgmt/pom.xml +++ b/java-saasservicemgmt/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-saasservicemgmt-parent pom - 0.25.0-SNAPSHOT + 0.26.0-SNAPSHOT Google SaaS Runtime API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-saasservicemgmt - 0.25.0-SNAPSHOT + 0.26.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-saasservicemgmt-v1beta1 - 0.25.0-SNAPSHOT + 0.26.0-SNAPSHOT com.google.api.grpc proto-google-cloud-saasservicemgmt-v1beta1 - 0.25.0-SNAPSHOT + 0.26.0-SNAPSHOT diff --git a/java-saasservicemgmt/proto-google-cloud-saasservicemgmt-v1beta1/pom.xml b/java-saasservicemgmt/proto-google-cloud-saasservicemgmt-v1beta1/pom.xml index da651b64de52..eac4a130eaf2 100644 --- a/java-saasservicemgmt/proto-google-cloud-saasservicemgmt-v1beta1/pom.xml +++ b/java-saasservicemgmt/proto-google-cloud-saasservicemgmt-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-saasservicemgmt-v1beta1 - 0.25.0-SNAPSHOT + 0.26.0-SNAPSHOT proto-google-cloud-saasservicemgmt-v1beta1 Proto library for google-cloud-saasservicemgmt com.google.cloud google-cloud-saasservicemgmt-parent - 0.25.0-SNAPSHOT + 0.26.0-SNAPSHOT diff --git a/java-samples/pom.xml b/java-samples/pom.xml index 326681b07056..5aa6ff8902ba 100644 --- a/java-samples/pom.xml +++ b/java-samples/pom.xml @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml diff --git a/java-scheduler/google-cloud-scheduler-bom/pom.xml b/java-scheduler/google-cloud-scheduler-bom/pom.xml index cc00ca363e7a..d2ed1c890b47 100644 --- a/java-scheduler/google-cloud-scheduler-bom/pom.xml +++ b/java-scheduler/google-cloud-scheduler-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-scheduler-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-scheduler - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-scheduler-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-scheduler-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-scheduler-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-scheduler-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-scheduler/google-cloud-scheduler/pom.xml b/java-scheduler/google-cloud-scheduler/pom.xml index 659f7316d919..326c14740c43 100644 --- a/java-scheduler/google-cloud-scheduler/pom.xml +++ b/java-scheduler/google-cloud-scheduler/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-scheduler - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Cloud Scheduler Fully managed cron job service com.google.cloud google-cloud-scheduler-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-scheduler diff --git a/java-scheduler/google-cloud-scheduler/src/main/java/com/google/cloud/scheduler/v1/stub/Version.java b/java-scheduler/google-cloud-scheduler/src/main/java/com/google/cloud/scheduler/v1/stub/Version.java index dfc62d549c90..491363b8f5a0 100644 --- a/java-scheduler/google-cloud-scheduler/src/main/java/com/google/cloud/scheduler/v1/stub/Version.java +++ b/java-scheduler/google-cloud-scheduler/src/main/java/com/google/cloud/scheduler/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-scheduler:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-scheduler/google-cloud-scheduler/src/main/java/com/google/cloud/scheduler/v1beta1/stub/Version.java b/java-scheduler/google-cloud-scheduler/src/main/java/com/google/cloud/scheduler/v1beta1/stub/Version.java index 33d9479d3c5f..f1d1b6f29489 100644 --- a/java-scheduler/google-cloud-scheduler/src/main/java/com/google/cloud/scheduler/v1beta1/stub/Version.java +++ b/java-scheduler/google-cloud-scheduler/src/main/java/com/google/cloud/scheduler/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-scheduler:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-scheduler/grpc-google-cloud-scheduler-v1/pom.xml b/java-scheduler/grpc-google-cloud-scheduler-v1/pom.xml index 75dc4791c9eb..fde9256891e0 100644 --- a/java-scheduler/grpc-google-cloud-scheduler-v1/pom.xml +++ b/java-scheduler/grpc-google-cloud-scheduler-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-scheduler-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-scheduler-v1 GRPC library for grpc-google-cloud-scheduler-v1 com.google.cloud google-cloud-scheduler-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-scheduler/grpc-google-cloud-scheduler-v1beta1/pom.xml b/java-scheduler/grpc-google-cloud-scheduler-v1beta1/pom.xml index 996140f4164f..e0ba3cd8195a 100644 --- a/java-scheduler/grpc-google-cloud-scheduler-v1beta1/pom.xml +++ b/java-scheduler/grpc-google-cloud-scheduler-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-scheduler-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-scheduler-v1beta1 GRPC library for grpc-google-cloud-scheduler-v1beta1 com.google.cloud google-cloud-scheduler-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-scheduler/pom.xml b/java-scheduler/pom.xml index c28584d2ea9c..16a4d51160d2 100644 --- a/java-scheduler/pom.xml +++ b/java-scheduler/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-scheduler-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud Scheduler Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-scheduler-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-scheduler-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-scheduler-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-scheduler-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.cloud google-cloud-scheduler - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-scheduler/proto-google-cloud-scheduler-v1/pom.xml b/java-scheduler/proto-google-cloud-scheduler-v1/pom.xml index 7a208d35b74d..9542725d028d 100644 --- a/java-scheduler/proto-google-cloud-scheduler-v1/pom.xml +++ b/java-scheduler/proto-google-cloud-scheduler-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-scheduler-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-scheduler-v1 PROTO library for proto-google-cloud-scheduler-v1 com.google.cloud google-cloud-scheduler-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-scheduler/proto-google-cloud-scheduler-v1beta1/pom.xml b/java-scheduler/proto-google-cloud-scheduler-v1beta1/pom.xml index 1284fd704462..4336cad1fce6 100644 --- a/java-scheduler/proto-google-cloud-scheduler-v1beta1/pom.xml +++ b/java-scheduler/proto-google-cloud-scheduler-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-scheduler-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-scheduler-v1beta1 PROTO library for proto-google-cloud-scheduler-v1beta1 com.google.cloud google-cloud-scheduler-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-secretmanager/google-cloud-secretmanager-bom/pom.xml b/java-secretmanager/google-cloud-secretmanager-bom/pom.xml index 707c26748e1b..02225a386ff4 100644 --- a/java-secretmanager/google-cloud-secretmanager-bom/pom.xml +++ b/java-secretmanager/google-cloud-secretmanager-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-secretmanager-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,37 +24,37 @@ com.google.cloud google-cloud-secretmanager - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-secretmanager-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-secretmanager-v1beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-secretmanager-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-secretmanager-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-secretmanager-v1beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-secretmanager-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-secretmanager/google-cloud-secretmanager/pom.xml b/java-secretmanager/google-cloud-secretmanager/pom.xml index 6a3cca74d60f..f070b386c0fc 100644 --- a/java-secretmanager/google-cloud-secretmanager/pom.xml +++ b/java-secretmanager/google-cloud-secretmanager/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-secretmanager - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Cloud Secret Manager Java idiomatic client for Google Cloud Secret Manager com.google.cloud google-cloud-secretmanager-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-secretmanager diff --git a/java-secretmanager/google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1/stub/Version.java b/java-secretmanager/google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1/stub/Version.java index 24744ad4d1c9..aecf20ab4546 100644 --- a/java-secretmanager/google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1/stub/Version.java +++ b/java-secretmanager/google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-secretmanager:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-secretmanager/google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1beta1/stub/Version.java b/java-secretmanager/google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1beta1/stub/Version.java index 5922c999a2dd..e0399e5db95e 100644 --- a/java-secretmanager/google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1beta1/stub/Version.java +++ b/java-secretmanager/google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-secretmanager:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-secretmanager/google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1beta2/stub/Version.java b/java-secretmanager/google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1beta2/stub/Version.java index 11e5cde0fdf4..bd2452ed0c55 100644 --- a/java-secretmanager/google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1beta2/stub/Version.java +++ b/java-secretmanager/google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1beta2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-secretmanager:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-secretmanager/grpc-google-cloud-secretmanager-v1/pom.xml b/java-secretmanager/grpc-google-cloud-secretmanager-v1/pom.xml index 4c207229401c..c39ec875f0af 100644 --- a/java-secretmanager/grpc-google-cloud-secretmanager-v1/pom.xml +++ b/java-secretmanager/grpc-google-cloud-secretmanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-secretmanager-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-secretmanager-v1 GRPC library for grpc-google-cloud-secretmanager-v1 com.google.cloud google-cloud-secretmanager-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-secretmanager/grpc-google-cloud-secretmanager-v1beta1/pom.xml b/java-secretmanager/grpc-google-cloud-secretmanager-v1beta1/pom.xml index ab848b35b9c4..993a3de7aadf 100644 --- a/java-secretmanager/grpc-google-cloud-secretmanager-v1beta1/pom.xml +++ b/java-secretmanager/grpc-google-cloud-secretmanager-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-secretmanager-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-secretmanager-v1beta1 GRPC library for google-cloud-secretmanager com.google.cloud google-cloud-secretmanager-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-secretmanager/grpc-google-cloud-secretmanager-v1beta2/pom.xml b/java-secretmanager/grpc-google-cloud-secretmanager-v1beta2/pom.xml index 6e4d9ad1ecea..21b547ff286c 100644 --- a/java-secretmanager/grpc-google-cloud-secretmanager-v1beta2/pom.xml +++ b/java-secretmanager/grpc-google-cloud-secretmanager-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-secretmanager-v1beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-secretmanager-v1beta2 GRPC library for google-cloud-secretmanager com.google.cloud google-cloud-secretmanager-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-secretmanager/pom.xml b/java-secretmanager/pom.xml index e2ed7972fe7f..0787a3b64ed4 100644 --- a/java-secretmanager/pom.xml +++ b/java-secretmanager/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-secretmanager-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud secretmanager Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.api.grpc proto-google-cloud-secretmanager-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-secretmanager-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-secretmanager-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-secretmanager-v1beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-secretmanager-v1beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-secretmanager-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.cloud google-cloud-secretmanager - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-secretmanager/proto-google-cloud-secretmanager-v1/pom.xml b/java-secretmanager/proto-google-cloud-secretmanager-v1/pom.xml index 1ac4537f347f..969648cdeff5 100644 --- a/java-secretmanager/proto-google-cloud-secretmanager-v1/pom.xml +++ b/java-secretmanager/proto-google-cloud-secretmanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-secretmanager-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-secretmanager-v1 PROTO library for proto-google-cloud-secretmanager-v1 com.google.cloud google-cloud-secretmanager-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-secretmanager/proto-google-cloud-secretmanager-v1beta1/pom.xml b/java-secretmanager/proto-google-cloud-secretmanager-v1beta1/pom.xml index e5966fed9849..6044e50f77ff 100644 --- a/java-secretmanager/proto-google-cloud-secretmanager-v1beta1/pom.xml +++ b/java-secretmanager/proto-google-cloud-secretmanager-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-secretmanager-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-secretmanager-v1beta1 Proto library for google-cloud-secretmanager com.google.cloud google-cloud-secretmanager-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-secretmanager/proto-google-cloud-secretmanager-v1beta2/pom.xml b/java-secretmanager/proto-google-cloud-secretmanager-v1beta2/pom.xml index 5ce6ed6d3233..ba0256e0760f 100644 --- a/java-secretmanager/proto-google-cloud-secretmanager-v1beta2/pom.xml +++ b/java-secretmanager/proto-google-cloud-secretmanager-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-secretmanager-v1beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-secretmanager-v1beta2 Proto library for google-cloud-secretmanager com.google.cloud google-cloud-secretmanager-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-securesourcemanager/google-cloud-securesourcemanager-bom/pom.xml b/java-securesourcemanager/google-cloud-securesourcemanager-bom/pom.xml index 7c2caa530803..9bdaa2a1cea3 100644 --- a/java-securesourcemanager/google-cloud-securesourcemanager-bom/pom.xml +++ b/java-securesourcemanager/google-cloud-securesourcemanager-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-securesourcemanager-bom - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-securesourcemanager - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securesourcemanager-v1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT com.google.api.grpc proto-google-cloud-securesourcemanager-v1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT diff --git a/java-securesourcemanager/google-cloud-securesourcemanager/pom.xml b/java-securesourcemanager/google-cloud-securesourcemanager/pom.xml index 70212468c046..1162f9b6b658 100644 --- a/java-securesourcemanager/google-cloud-securesourcemanager/pom.xml +++ b/java-securesourcemanager/google-cloud-securesourcemanager/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-securesourcemanager - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT jar Google Secure Source Manager API Secure Source Manager API Regionally deployed, single-tenant managed source code repository hosted on @@ -11,7 +11,7 @@ com.google.cloud google-cloud-securesourcemanager-parent - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT google-cloud-securesourcemanager diff --git a/java-securesourcemanager/google-cloud-securesourcemanager/src/main/java/com/google/cloud/securesourcemanager/v1/stub/Version.java b/java-securesourcemanager/google-cloud-securesourcemanager/src/main/java/com/google/cloud/securesourcemanager/v1/stub/Version.java index 5814b49d9910..0a3f63dc9d77 100644 --- a/java-securesourcemanager/google-cloud-securesourcemanager/src/main/java/com/google/cloud/securesourcemanager/v1/stub/Version.java +++ b/java-securesourcemanager/google-cloud-securesourcemanager/src/main/java/com/google/cloud/securesourcemanager/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-securesourcemanager:current} - static final String VERSION = "0.65.0-SNAPSHOT"; + static final String VERSION = "0.66.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-securesourcemanager/grpc-google-cloud-securesourcemanager-v1/pom.xml b/java-securesourcemanager/grpc-google-cloud-securesourcemanager-v1/pom.xml index 6c85ac7a6e35..064f3cc6e13d 100644 --- a/java-securesourcemanager/grpc-google-cloud-securesourcemanager-v1/pom.xml +++ b/java-securesourcemanager/grpc-google-cloud-securesourcemanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-securesourcemanager-v1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT grpc-google-cloud-securesourcemanager-v1 GRPC library for google-cloud-securesourcemanager com.google.cloud google-cloud-securesourcemanager-parent - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT diff --git a/java-securesourcemanager/pom.xml b/java-securesourcemanager/pom.xml index c54966b567c9..c2318ef89169 100644 --- a/java-securesourcemanager/pom.xml +++ b/java-securesourcemanager/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-securesourcemanager-parent pom - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT Google Secure Source Manager API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-securesourcemanager - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securesourcemanager-v1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT com.google.api.grpc proto-google-cloud-securesourcemanager-v1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT diff --git a/java-securesourcemanager/proto-google-cloud-securesourcemanager-v1/pom.xml b/java-securesourcemanager/proto-google-cloud-securesourcemanager-v1/pom.xml index d36c5079014d..231865384dde 100644 --- a/java-securesourcemanager/proto-google-cloud-securesourcemanager-v1/pom.xml +++ b/java-securesourcemanager/proto-google-cloud-securesourcemanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-securesourcemanager-v1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT proto-google-cloud-securesourcemanager-v1 Proto library for google-cloud-securesourcemanager com.google.cloud google-cloud-securesourcemanager-parent - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT diff --git a/java-security-private-ca/google-cloud-security-private-ca-bom/pom.xml b/java-security-private-ca/google-cloud-security-private-ca-bom/pom.xml index 1f13ebe7e356..7a686be0600f 100644 --- a/java-security-private-ca/google-cloud-security-private-ca-bom/pom.xml +++ b/java-security-private-ca/google-cloud-security-private-ca-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-security-private-ca-bom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-security-private-ca - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-security-private-ca-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-security-private-ca-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-security-private-ca-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-security-private-ca-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-security-private-ca/google-cloud-security-private-ca/pom.xml b/java-security-private-ca/google-cloud-security-private-ca/pom.xml index 453fd959c275..0756348c184a 100644 --- a/java-security-private-ca/google-cloud-security-private-ca/pom.xml +++ b/java-security-private-ca/google-cloud-security-private-ca/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-security-private-ca - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT jar Google Certificate Authority Service simplifies the deployment and management of private CAs without managing infrastructure. com.google.cloud google-cloud-security-private-ca-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT google-cloud-security-private-ca diff --git a/java-security-private-ca/google-cloud-security-private-ca/src/main/java/com/google/cloud/security/privateca/v1/stub/Version.java b/java-security-private-ca/google-cloud-security-private-ca/src/main/java/com/google/cloud/security/privateca/v1/stub/Version.java index 60b370e02a27..18c42a09a612 100644 --- a/java-security-private-ca/google-cloud-security-private-ca/src/main/java/com/google/cloud/security/privateca/v1/stub/Version.java +++ b/java-security-private-ca/google-cloud-security-private-ca/src/main/java/com/google/cloud/security/privateca/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-security-private-ca:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-security-private-ca/google-cloud-security-private-ca/src/main/java/com/google/cloud/security/privateca/v1beta1/stub/Version.java b/java-security-private-ca/google-cloud-security-private-ca/src/main/java/com/google/cloud/security/privateca/v1beta1/stub/Version.java index 8427e9d66aea..877abe8aaca7 100644 --- a/java-security-private-ca/google-cloud-security-private-ca/src/main/java/com/google/cloud/security/privateca/v1beta1/stub/Version.java +++ b/java-security-private-ca/google-cloud-security-private-ca/src/main/java/com/google/cloud/security/privateca/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-security-private-ca:current} - static final String VERSION = "2.97.0-SNAPSHOT"; + static final String VERSION = "2.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-security-private-ca/grpc-google-cloud-security-private-ca-v1/pom.xml b/java-security-private-ca/grpc-google-cloud-security-private-ca-v1/pom.xml index f71e424ffc99..e091c230f4de 100644 --- a/java-security-private-ca/grpc-google-cloud-security-private-ca-v1/pom.xml +++ b/java-security-private-ca/grpc-google-cloud-security-private-ca-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-security-private-ca-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-security-private-ca-v1 GRPC library for google-cloud-security-private-ca com.google.cloud google-cloud-security-private-ca-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-security-private-ca/grpc-google-cloud-security-private-ca-v1beta1/pom.xml b/java-security-private-ca/grpc-google-cloud-security-private-ca-v1beta1/pom.xml index 8b0a07736a87..6211b0c751f1 100644 --- a/java-security-private-ca/grpc-google-cloud-security-private-ca-v1beta1/pom.xml +++ b/java-security-private-ca/grpc-google-cloud-security-private-ca-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-security-private-ca-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT grpc-google-cloud-security-private-ca-v1beta1 GRPC library for google-cloud-security-private-ca com.google.cloud google-cloud-security-private-ca-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-security-private-ca/pom.xml b/java-security-private-ca/pom.xml index a571f2e8ed7f..f28f999fb45b 100644 --- a/java-security-private-ca/pom.xml +++ b/java-security-private-ca/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-security-private-ca-parent pom - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT Google Certificate Authority Service Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-security-private-ca - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-security-private-ca-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-security-private-ca-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-security-private-ca-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-security-private-ca-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-security-private-ca/proto-google-cloud-security-private-ca-v1/pom.xml b/java-security-private-ca/proto-google-cloud-security-private-ca-v1/pom.xml index 00080809a92e..d3a4494e3687 100644 --- a/java-security-private-ca/proto-google-cloud-security-private-ca-v1/pom.xml +++ b/java-security-private-ca/proto-google-cloud-security-private-ca-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-security-private-ca-v1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-security-private-ca-v1 Proto library for google-cloud-security-private-ca com.google.cloud google-cloud-security-private-ca-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-security-private-ca/proto-google-cloud-security-private-ca-v1beta1/pom.xml b/java-security-private-ca/proto-google-cloud-security-private-ca-v1beta1/pom.xml index 9d5573e56dfd..936b90141752 100644 --- a/java-security-private-ca/proto-google-cloud-security-private-ca-v1beta1/pom.xml +++ b/java-security-private-ca/proto-google-cloud-security-private-ca-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-security-private-ca-v1beta1 - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT proto-google-cloud-security-private-ca-v1beta1 Proto library for google-cloud-security-private-ca com.google.cloud google-cloud-security-private-ca-parent - 2.97.0-SNAPSHOT + 2.98.0-SNAPSHOT diff --git a/java-securitycenter-settings/google-cloud-securitycenter-settings-bom/pom.xml b/java-securitycenter-settings/google-cloud-securitycenter-settings-bom/pom.xml index e0bb3b33d8ac..dde4750ff49a 100644 --- a/java-securitycenter-settings/google-cloud-securitycenter-settings-bom/pom.xml +++ b/java-securitycenter-settings/google-cloud-securitycenter-settings-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-securitycenter-settings-bom - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-securitycenter-settings - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securitycenter-settings-v1beta1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-securitycenter-settings-v1beta1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-securitycenter-settings/google-cloud-securitycenter-settings/pom.xml b/java-securitycenter-settings/google-cloud-securitycenter-settings/pom.xml index fec10ec6208b..f2f11b654eae 100644 --- a/java-securitycenter-settings/google-cloud-securitycenter-settings/pom.xml +++ b/java-securitycenter-settings/google-cloud-securitycenter-settings/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-securitycenter-settings - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT jar Google Security Command Center Settings API is the canonical security and data risk database for Google Cloud. Security Command Center enables you to understand your security and data attack surface by providing asset inventory, discovery, search, and management. com.google.cloud google-cloud-securitycenter-settings-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT google-cloud-securitycenter-settings diff --git a/java-securitycenter-settings/google-cloud-securitycenter-settings/src/main/java/com/google/cloud/securitycenter/settings/v1beta1/stub/Version.java b/java-securitycenter-settings/google-cloud-securitycenter-settings/src/main/java/com/google/cloud/securitycenter/settings/v1beta1/stub/Version.java index ad82ceac6a9e..f9f9a0166d36 100644 --- a/java-securitycenter-settings/google-cloud-securitycenter-settings/src/main/java/com/google/cloud/securitycenter/settings/v1beta1/stub/Version.java +++ b/java-securitycenter-settings/google-cloud-securitycenter-settings/src/main/java/com/google/cloud/securitycenter/settings/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-securitycenter-settings:current} - static final String VERSION = "0.98.0-SNAPSHOT"; + static final String VERSION = "0.99.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-securitycenter-settings/grpc-google-cloud-securitycenter-settings-v1beta1/pom.xml b/java-securitycenter-settings/grpc-google-cloud-securitycenter-settings-v1beta1/pom.xml index 70174ad75e97..aba71d4040ec 100644 --- a/java-securitycenter-settings/grpc-google-cloud-securitycenter-settings-v1beta1/pom.xml +++ b/java-securitycenter-settings/grpc-google-cloud-securitycenter-settings-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-securitycenter-settings-v1beta1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT grpc-google-cloud-securitycenter-settings-v1beta1 GRPC library for grpc-google-cloud-securitycenter-settings-v1beta1 com.google.cloud google-cloud-securitycenter-settings-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-securitycenter-settings/pom.xml b/java-securitycenter-settings/pom.xml index d8e1597ddce1..00447105b09f 100644 --- a/java-securitycenter-settings/pom.xml +++ b/java-securitycenter-settings/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-securitycenter-settings-parent pom - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT Google Security Command Center Settings API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-securitycenter-settings - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc proto-google-cloud-securitycenter-settings-v1beta1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securitycenter-settings-v1beta1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-securitycenter-settings/proto-google-cloud-securitycenter-settings-v1beta1/pom.xml b/java-securitycenter-settings/proto-google-cloud-securitycenter-settings-v1beta1/pom.xml index 5c0a670d6df3..69825de08e1d 100644 --- a/java-securitycenter-settings/proto-google-cloud-securitycenter-settings-v1beta1/pom.xml +++ b/java-securitycenter-settings/proto-google-cloud-securitycenter-settings-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-securitycenter-settings-v1beta1 - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT proto-google-cloud-securitycenter-settings-v1beta1 PROTO library for proto-google-cloud-securitycenter-settings-v1beta1 com.google.cloud google-cloud-securitycenter-settings-parent - 0.98.0-SNAPSHOT + 0.99.0-SNAPSHOT diff --git a/java-securitycenter/google-cloud-securitycenter-bom/pom.xml b/java-securitycenter/google-cloud-securitycenter-bom/pom.xml index 74d51fcf33c7..df1953168717 100644 --- a/java-securitycenter/google-cloud-securitycenter-bom/pom.xml +++ b/java-securitycenter/google-cloud-securitycenter-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-securitycenter-bom - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,47 +24,47 @@ com.google.cloud google-cloud-securitycenter - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securitycenter-v1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securitycenter-v1beta1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securitycenter-v1p1beta1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securitycenter-v2 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.api.grpc proto-google-cloud-securitycenter-v1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.api.grpc proto-google-cloud-securitycenter-v1beta1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.api.grpc proto-google-cloud-securitycenter-v1p1beta1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.api.grpc proto-google-cloud-securitycenter-v2 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT diff --git a/java-securitycenter/google-cloud-securitycenter/pom.xml b/java-securitycenter/google-cloud-securitycenter/pom.xml index 37f3e63d857c..81effb0779b8 100644 --- a/java-securitycenter/google-cloud-securitycenter/pom.xml +++ b/java-securitycenter/google-cloud-securitycenter/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-securitycenter - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT jar Google Cloud Security Command Center Java idiomatic client for Google Cloud Security Command Center com.google.cloud google-cloud-securitycenter-parent - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT google-cloud-securitycenter diff --git a/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v1/stub/Version.java b/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v1/stub/Version.java index fee7eb8b38e3..ef93f8b52482 100644 --- a/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v1/stub/Version.java +++ b/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-securitycenter:current} - static final String VERSION = "2.103.0-SNAPSHOT"; + static final String VERSION = "2.104.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v1beta1/stub/Version.java b/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v1beta1/stub/Version.java index 1d46d1f61cf5..971343d7f5a6 100644 --- a/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v1beta1/stub/Version.java +++ b/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-securitycenter:current} - static final String VERSION = "2.103.0-SNAPSHOT"; + static final String VERSION = "2.104.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v1p1beta1/stub/Version.java b/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v1p1beta1/stub/Version.java index dbb2845936b1..e952f36fe48c 100644 --- a/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v1p1beta1/stub/Version.java +++ b/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v1p1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-securitycenter:current} - static final String VERSION = "2.103.0-SNAPSHOT"; + static final String VERSION = "2.104.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v2/stub/Version.java b/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v2/stub/Version.java index 08336369dcca..2ec1db4429cc 100644 --- a/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v2/stub/Version.java +++ b/java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-securitycenter:current} - static final String VERSION = "2.103.0-SNAPSHOT"; + static final String VERSION = "2.104.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-securitycenter/grpc-google-cloud-securitycenter-v1/pom.xml b/java-securitycenter/grpc-google-cloud-securitycenter-v1/pom.xml index 0dbf638006f6..5cf1ce3f3485 100644 --- a/java-securitycenter/grpc-google-cloud-securitycenter-v1/pom.xml +++ b/java-securitycenter/grpc-google-cloud-securitycenter-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-securitycenter-v1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT grpc-google-cloud-securitycenter-v1 GRPC library for grpc-google-cloud-securitycenter-v1 com.google.cloud google-cloud-securitycenter-parent - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT diff --git a/java-securitycenter/grpc-google-cloud-securitycenter-v1beta1/pom.xml b/java-securitycenter/grpc-google-cloud-securitycenter-v1beta1/pom.xml index a4f5e67652c0..0e810785e8ac 100644 --- a/java-securitycenter/grpc-google-cloud-securitycenter-v1beta1/pom.xml +++ b/java-securitycenter/grpc-google-cloud-securitycenter-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-securitycenter-v1beta1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT grpc-google-cloud-securitycenter-v1beta1 GRPC library for grpc-google-cloud-securitycenter-v1beta1 com.google.cloud google-cloud-securitycenter-parent - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT diff --git a/java-securitycenter/grpc-google-cloud-securitycenter-v1p1beta1/pom.xml b/java-securitycenter/grpc-google-cloud-securitycenter-v1p1beta1/pom.xml index aa662f2c0d80..dae379f8a520 100644 --- a/java-securitycenter/grpc-google-cloud-securitycenter-v1p1beta1/pom.xml +++ b/java-securitycenter/grpc-google-cloud-securitycenter-v1p1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-securitycenter-v1p1beta1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT grpc-google-cloud-securitycenter-v1p1beta1 GRPC library for grpc-google-cloud-securitycenter-v1p1beta1 com.google.cloud google-cloud-securitycenter-parent - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT diff --git a/java-securitycenter/grpc-google-cloud-securitycenter-v2/pom.xml b/java-securitycenter/grpc-google-cloud-securitycenter-v2/pom.xml index 344c296451bb..4e260ab97348 100644 --- a/java-securitycenter/grpc-google-cloud-securitycenter-v2/pom.xml +++ b/java-securitycenter/grpc-google-cloud-securitycenter-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-securitycenter-v2 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT grpc-google-cloud-securitycenter-v2 GRPC library for google-cloud-securitycenter com.google.cloud google-cloud-securitycenter-parent - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT diff --git a/java-securitycenter/pom.xml b/java-securitycenter/pom.xml index 50a0b6cad720..e7f5b219b140 100644 --- a/java-securitycenter/pom.xml +++ b/java-securitycenter/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-securitycenter-parent pom - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT Google Cloud Security Command Center Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,47 +30,47 @@ com.google.api.grpc proto-google-cloud-securitycenter-v1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.api.grpc proto-google-cloud-securitycenter-v2 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securitycenter-v2 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.api.grpc proto-google-cloud-securitycenter-v1beta1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.api.grpc proto-google-cloud-securitycenter-v1p1beta1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securitycenter-v1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securitycenter-v1beta1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securitycenter-v1p1beta1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT com.google.cloud google-cloud-securitycenter - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT diff --git a/java-securitycenter/proto-google-cloud-securitycenter-v1/pom.xml b/java-securitycenter/proto-google-cloud-securitycenter-v1/pom.xml index 5bbc4221d0aa..e07a37558b0d 100644 --- a/java-securitycenter/proto-google-cloud-securitycenter-v1/pom.xml +++ b/java-securitycenter/proto-google-cloud-securitycenter-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-securitycenter-v1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT proto-google-cloud-securitycenter-v1 PROTO library for proto-google-cloud-securitycenter-v1 com.google.cloud google-cloud-securitycenter-parent - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT diff --git a/java-securitycenter/proto-google-cloud-securitycenter-v1beta1/pom.xml b/java-securitycenter/proto-google-cloud-securitycenter-v1beta1/pom.xml index a51f3c134638..77bf9ca57a63 100644 --- a/java-securitycenter/proto-google-cloud-securitycenter-v1beta1/pom.xml +++ b/java-securitycenter/proto-google-cloud-securitycenter-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-securitycenter-v1beta1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT proto-google-cloud-securitycenter-v1beta1 PROTO library for proto-google-cloud-securitycenter-v1beta1 com.google.cloud google-cloud-securitycenter-parent - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT diff --git a/java-securitycenter/proto-google-cloud-securitycenter-v1p1beta1/pom.xml b/java-securitycenter/proto-google-cloud-securitycenter-v1p1beta1/pom.xml index a93a5ee73807..ed706e776c5a 100644 --- a/java-securitycenter/proto-google-cloud-securitycenter-v1p1beta1/pom.xml +++ b/java-securitycenter/proto-google-cloud-securitycenter-v1p1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-securitycenter-v1p1beta1 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT proto-google-cloud-securitycenter-v1p1beta1 PROTO library for proto-google-cloud-securitycenter-v1p1beta1 com.google.cloud google-cloud-securitycenter-parent - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT diff --git a/java-securitycenter/proto-google-cloud-securitycenter-v2/pom.xml b/java-securitycenter/proto-google-cloud-securitycenter-v2/pom.xml index 9d91137de89c..a4d8774c46a6 100644 --- a/java-securitycenter/proto-google-cloud-securitycenter-v2/pom.xml +++ b/java-securitycenter/proto-google-cloud-securitycenter-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-securitycenter-v2 - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT proto-google-cloud-securitycenter-v2 Proto library for google-cloud-securitycenter com.google.cloud google-cloud-securitycenter-parent - 2.103.0-SNAPSHOT + 2.104.0-SNAPSHOT diff --git a/java-securitycentermanagement/google-cloud-securitycentermanagement-bom/pom.xml b/java-securitycentermanagement/google-cloud-securitycentermanagement-bom/pom.xml index dcb4b54c5c33..7f6836dd6e2a 100644 --- a/java-securitycentermanagement/google-cloud-securitycentermanagement-bom/pom.xml +++ b/java-securitycentermanagement/google-cloud-securitycentermanagement-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-securitycentermanagement-bom - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-securitycentermanagement - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securitycentermanagement-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc proto-google-cloud-securitycentermanagement-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-securitycentermanagement/google-cloud-securitycentermanagement/pom.xml b/java-securitycentermanagement/google-cloud-securitycentermanagement/pom.xml index c3fdb2fd8803..678839d6dbfc 100644 --- a/java-securitycentermanagement/google-cloud-securitycentermanagement/pom.xml +++ b/java-securitycentermanagement/google-cloud-securitycentermanagement/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-securitycentermanagement - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT jar Google Security Center Management API Security Center Management API Security Center Management API com.google.cloud google-cloud-securitycentermanagement-parent - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT google-cloud-securitycentermanagement diff --git a/java-securitycentermanagement/google-cloud-securitycentermanagement/src/main/java/com/google/cloud/securitycentermanagement/v1/stub/Version.java b/java-securitycentermanagement/google-cloud-securitycentermanagement/src/main/java/com/google/cloud/securitycentermanagement/v1/stub/Version.java index 410465fd4cde..12a8b0b0a0fc 100644 --- a/java-securitycentermanagement/google-cloud-securitycentermanagement/src/main/java/com/google/cloud/securitycentermanagement/v1/stub/Version.java +++ b/java-securitycentermanagement/google-cloud-securitycentermanagement/src/main/java/com/google/cloud/securitycentermanagement/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-securitycentermanagement:current} - static final String VERSION = "0.63.0-SNAPSHOT"; + static final String VERSION = "0.64.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-securitycentermanagement/grpc-google-cloud-securitycentermanagement-v1/pom.xml b/java-securitycentermanagement/grpc-google-cloud-securitycentermanagement-v1/pom.xml index 581cb3d4ce70..70c8b9f159ed 100644 --- a/java-securitycentermanagement/grpc-google-cloud-securitycentermanagement-v1/pom.xml +++ b/java-securitycentermanagement/grpc-google-cloud-securitycentermanagement-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-securitycentermanagement-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT grpc-google-cloud-securitycentermanagement-v1 GRPC library for google-cloud-securitycentermanagement com.google.cloud google-cloud-securitycentermanagement-parent - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-securitycentermanagement/pom.xml b/java-securitycentermanagement/pom.xml index 09b86471c561..3da0a4f33600 100644 --- a/java-securitycentermanagement/pom.xml +++ b/java-securitycentermanagement/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-securitycentermanagement-parent pom - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT Google Security Center Management API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-securitycentermanagement - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securitycentermanagement-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.api.grpc proto-google-cloud-securitycentermanagement-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-securitycentermanagement/proto-google-cloud-securitycentermanagement-v1/pom.xml b/java-securitycentermanagement/proto-google-cloud-securitycentermanagement-v1/pom.xml index e64e72e2899f..6db46c035048 100644 --- a/java-securitycentermanagement/proto-google-cloud-securitycentermanagement-v1/pom.xml +++ b/java-securitycentermanagement/proto-google-cloud-securitycentermanagement-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-securitycentermanagement-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT proto-google-cloud-securitycentermanagement-v1 Proto library for google-cloud-securitycentermanagement com.google.cloud google-cloud-securitycentermanagement-parent - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-securityposture/google-cloud-securityposture-bom/pom.xml b/java-securityposture/google-cloud-securityposture-bom/pom.xml index 03327cbde994..f8c573f7db8b 100644 --- a/java-securityposture/google-cloud-securityposture-bom/pom.xml +++ b/java-securityposture/google-cloud-securityposture-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-securityposture-bom - 0.60.0-SNAPSHOT + 0.61.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-securityposture - 0.60.0-SNAPSHOT + 0.61.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securityposture-v1 - 0.60.0-SNAPSHOT + 0.61.0-SNAPSHOT com.google.api.grpc proto-google-cloud-securityposture-v1 - 0.60.0-SNAPSHOT + 0.61.0-SNAPSHOT diff --git a/java-securityposture/google-cloud-securityposture/pom.xml b/java-securityposture/google-cloud-securityposture/pom.xml index 0dc87c9c7a42..8bf25d0cc6fe 100644 --- a/java-securityposture/google-cloud-securityposture/pom.xml +++ b/java-securityposture/google-cloud-securityposture/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-securityposture - 0.60.0-SNAPSHOT + 0.61.0-SNAPSHOT jar Google Security Posture API Security Posture API Security Posture is a comprehensive framework of policy sets that empowers organizations to define, assess early, deploy, and monitor their security measures in a unified way and helps simplify governance and reduces administrative toil. com.google.cloud google-cloud-securityposture-parent - 0.60.0-SNAPSHOT + 0.61.0-SNAPSHOT google-cloud-securityposture diff --git a/java-securityposture/google-cloud-securityposture/src/main/java/com/google/cloud/securityposture/v1/stub/Version.java b/java-securityposture/google-cloud-securityposture/src/main/java/com/google/cloud/securityposture/v1/stub/Version.java index ec3620e9deeb..993fe5e9125b 100644 --- a/java-securityposture/google-cloud-securityposture/src/main/java/com/google/cloud/securityposture/v1/stub/Version.java +++ b/java-securityposture/google-cloud-securityposture/src/main/java/com/google/cloud/securityposture/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-securityposture:current} - static final String VERSION = "0.60.0-SNAPSHOT"; + static final String VERSION = "0.61.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-securityposture/grpc-google-cloud-securityposture-v1/pom.xml b/java-securityposture/grpc-google-cloud-securityposture-v1/pom.xml index 66ffb054aec0..474034326dc3 100644 --- a/java-securityposture/grpc-google-cloud-securityposture-v1/pom.xml +++ b/java-securityposture/grpc-google-cloud-securityposture-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-securityposture-v1 - 0.60.0-SNAPSHOT + 0.61.0-SNAPSHOT grpc-google-cloud-securityposture-v1 GRPC library for google-cloud-securityposture com.google.cloud google-cloud-securityposture-parent - 0.60.0-SNAPSHOT + 0.61.0-SNAPSHOT diff --git a/java-securityposture/pom.xml b/java-securityposture/pom.xml index 6f23315ad853..0e8c65d8815d 100644 --- a/java-securityposture/pom.xml +++ b/java-securityposture/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-securityposture-parent pom - 0.60.0-SNAPSHOT + 0.61.0-SNAPSHOT Google Security Posture API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-securityposture - 0.60.0-SNAPSHOT + 0.61.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-securityposture-v1 - 0.60.0-SNAPSHOT + 0.61.0-SNAPSHOT com.google.api.grpc proto-google-cloud-securityposture-v1 - 0.60.0-SNAPSHOT + 0.61.0-SNAPSHOT diff --git a/java-securityposture/proto-google-cloud-securityposture-v1/pom.xml b/java-securityposture/proto-google-cloud-securityposture-v1/pom.xml index 5498b337e8fb..6551e3879343 100644 --- a/java-securityposture/proto-google-cloud-securityposture-v1/pom.xml +++ b/java-securityposture/proto-google-cloud-securityposture-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-securityposture-v1 - 0.60.0-SNAPSHOT + 0.61.0-SNAPSHOT proto-google-cloud-securityposture-v1 Proto library for google-cloud-securityposture com.google.cloud google-cloud-securityposture-parent - 0.60.0-SNAPSHOT + 0.61.0-SNAPSHOT diff --git a/java-service-control/google-cloud-service-control-bom/pom.xml b/java-service-control/google-cloud-service-control-bom/pom.xml index 8acff66bc527..41ed2432ae47 100644 --- a/java-service-control/google-cloud-service-control-bom/pom.xml +++ b/java-service-control/google-cloud-service-control-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-service-control-bom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-service-control - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-service-control-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-service-control-v2 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-service-control-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-service-control-v2 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-service-control/google-cloud-service-control/pom.xml b/java-service-control/google-cloud-service-control/pom.xml index 4364d7428268..89d6732ed69f 100644 --- a/java-service-control/google-cloud-service-control/pom.xml +++ b/java-service-control/google-cloud-service-control/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-service-control - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT jar Google Service Control API Service Control API is a foundational platform for creating, managing, securing, and consuming APIs and services across organizations. It is used by Google APIs, Cloud APIs, Cloud Endpoints, and API Gateway. com.google.cloud google-cloud-service-control-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT google-cloud-service-control diff --git a/java-service-control/google-cloud-service-control/src/main/java/com/google/api/servicecontrol/v1/stub/Version.java b/java-service-control/google-cloud-service-control/src/main/java/com/google/api/servicecontrol/v1/stub/Version.java index 97998eee444c..1a1b5875183d 100644 --- a/java-service-control/google-cloud-service-control/src/main/java/com/google/api/servicecontrol/v1/stub/Version.java +++ b/java-service-control/google-cloud-service-control/src/main/java/com/google/api/servicecontrol/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-service-control:current} - static final String VERSION = "1.95.0-SNAPSHOT"; + static final String VERSION = "1.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-service-control/google-cloud-service-control/src/main/java/com/google/api/servicecontrol/v2/stub/Version.java b/java-service-control/google-cloud-service-control/src/main/java/com/google/api/servicecontrol/v2/stub/Version.java index fff7967a2734..c7b1115ea2d3 100644 --- a/java-service-control/google-cloud-service-control/src/main/java/com/google/api/servicecontrol/v2/stub/Version.java +++ b/java-service-control/google-cloud-service-control/src/main/java/com/google/api/servicecontrol/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-service-control:current} - static final String VERSION = "1.95.0-SNAPSHOT"; + static final String VERSION = "1.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-service-control/grpc-google-cloud-service-control-v1/pom.xml b/java-service-control/grpc-google-cloud-service-control-v1/pom.xml index a2ed73b55a80..c06432375937 100644 --- a/java-service-control/grpc-google-cloud-service-control-v1/pom.xml +++ b/java-service-control/grpc-google-cloud-service-control-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-service-control-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT grpc-google-cloud-service-control-v1 GRPC library for google-cloud-service-control com.google.cloud google-cloud-service-control-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-service-control/grpc-google-cloud-service-control-v2/pom.xml b/java-service-control/grpc-google-cloud-service-control-v2/pom.xml index c2bba807391f..19098aef3457 100644 --- a/java-service-control/grpc-google-cloud-service-control-v2/pom.xml +++ b/java-service-control/grpc-google-cloud-service-control-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-service-control-v2 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT grpc-google-cloud-service-control-v2 GRPC library for google-cloud-service-control com.google.cloud google-cloud-service-control-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-service-control/pom.xml b/java-service-control/pom.xml index 9cf63baee408..05b2e830e106 100644 --- a/java-service-control/pom.xml +++ b/java-service-control/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-service-control-parent pom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT Google Service Control API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-service-control - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-service-control-v2 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-service-control-v2 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-service-control-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-service-control-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-service-control/proto-google-cloud-service-control-v1/pom.xml b/java-service-control/proto-google-cloud-service-control-v1/pom.xml index 5c16c16fe611..99031e31fdd0 100644 --- a/java-service-control/proto-google-cloud-service-control-v1/pom.xml +++ b/java-service-control/proto-google-cloud-service-control-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-service-control-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT proto-google-cloud-service-control-v1 Proto library for google-cloud-service-control com.google.cloud google-cloud-service-control-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-service-control/proto-google-cloud-service-control-v2/pom.xml b/java-service-control/proto-google-cloud-service-control-v2/pom.xml index 471c196afe1e..81a7efcecb71 100644 --- a/java-service-control/proto-google-cloud-service-control-v2/pom.xml +++ b/java-service-control/proto-google-cloud-service-control-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-service-control-v2 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT proto-google-cloud-service-control-v2 Proto library for google-cloud-service-control com.google.cloud google-cloud-service-control-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-service-management/google-cloud-service-management-bom/pom.xml b/java-service-management/google-cloud-service-management-bom/pom.xml index 21ed530c79d3..e8121826ad3e 100644 --- a/java-service-management/google-cloud-service-management-bom/pom.xml +++ b/java-service-management/google-cloud-service-management-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-service-management-bom - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-service-management - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-service-management-v1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-service-management-v1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-service-management/google-cloud-service-management/pom.xml b/java-service-management/google-cloud-service-management/pom.xml index 5cea1db5af0d..ad19c6c71fc6 100644 --- a/java-service-management/google-cloud-service-management/pom.xml +++ b/java-service-management/google-cloud-service-management/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-service-management - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT jar Google Service Management API is a foundational platform for creating, managing, securing, and consuming APIs and services across organizations. It is used by Google APIs, Cloud APIs, Cloud Endpoints, and API Gateway. Service Infrastructure provides a wide range of features to service consumers and service producers, including authentication, authorization, auditing, rate limiting, analytics, billing, logging, and monitoring. com.google.cloud google-cloud-service-management-parent - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT google-cloud-service-management diff --git a/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/Version.java b/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/Version.java index f814edfc3646..1a72a0919d02 100644 --- a/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/Version.java +++ b/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-service-management:current} - static final String VERSION = "3.93.0-SNAPSHOT"; + static final String VERSION = "3.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-service-management/grpc-google-cloud-service-management-v1/pom.xml b/java-service-management/grpc-google-cloud-service-management-v1/pom.xml index f6e5f2d8d2de..04f3d04422fc 100644 --- a/java-service-management/grpc-google-cloud-service-management-v1/pom.xml +++ b/java-service-management/grpc-google-cloud-service-management-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-service-management-v1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT grpc-google-cloud-service-management-v1 GRPC library for google-cloud-service-management com.google.cloud google-cloud-service-management-parent - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-service-management/pom.xml b/java-service-management/pom.xml index 58685c8151ab..cdf6335ca418 100644 --- a/java-service-management/pom.xml +++ b/java-service-management/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-service-management-parent pom - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT Google Service Management API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-service-management - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-service-management-v1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-service-management-v1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-service-management/proto-google-cloud-service-management-v1/pom.xml b/java-service-management/proto-google-cloud-service-management-v1/pom.xml index 295eed9d32e8..424d90e9d77b 100644 --- a/java-service-management/proto-google-cloud-service-management-v1/pom.xml +++ b/java-service-management/proto-google-cloud-service-management-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-service-management-v1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT proto-google-cloud-service-management-v1 Proto library for google-cloud-service-management com.google.cloud google-cloud-service-management-parent - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-service-usage/google-cloud-service-usage-bom/pom.xml b/java-service-usage/google-cloud-service-usage-bom/pom.xml index 9870c8124fe3..42966aa5c44f 100644 --- a/java-service-usage/google-cloud-service-usage-bom/pom.xml +++ b/java-service-usage/google-cloud-service-usage-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-service-usage-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-service-usage - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-service-usage-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-service-usage-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-service-usage-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-service-usage-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-service-usage/google-cloud-service-usage/pom.xml b/java-service-usage/google-cloud-service-usage/pom.xml index ffd32b9a35a3..0076df1ebf5f 100644 --- a/java-service-usage/google-cloud-service-usage/pom.xml +++ b/java-service-usage/google-cloud-service-usage/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-service-usage - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Service Usage Service Usage is an infrastructure service of Google Cloud that lets you list and manage other APIs and services in your Cloud projects. com.google.cloud google-cloud-service-usage-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-service-usage diff --git a/java-service-usage/google-cloud-service-usage/src/main/java/com/google/api/serviceusage/v1/stub/Version.java b/java-service-usage/google-cloud-service-usage/src/main/java/com/google/api/serviceusage/v1/stub/Version.java index a8549fbd0f38..59a7e61b1adc 100644 --- a/java-service-usage/google-cloud-service-usage/src/main/java/com/google/api/serviceusage/v1/stub/Version.java +++ b/java-service-usage/google-cloud-service-usage/src/main/java/com/google/api/serviceusage/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-service-usage:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-service-usage/google-cloud-service-usage/src/main/java/com/google/api/serviceusage/v1beta1/stub/Version.java b/java-service-usage/google-cloud-service-usage/src/main/java/com/google/api/serviceusage/v1beta1/stub/Version.java index 14d201969237..3b217d9dabf0 100644 --- a/java-service-usage/google-cloud-service-usage/src/main/java/com/google/api/serviceusage/v1beta1/stub/Version.java +++ b/java-service-usage/google-cloud-service-usage/src/main/java/com/google/api/serviceusage/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-service-usage:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-service-usage/grpc-google-cloud-service-usage-v1/pom.xml b/java-service-usage/grpc-google-cloud-service-usage-v1/pom.xml index b06e9b7d2665..a9f92a1c77f1 100644 --- a/java-service-usage/grpc-google-cloud-service-usage-v1/pom.xml +++ b/java-service-usage/grpc-google-cloud-service-usage-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-service-usage-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-service-usage-v1 GRPC library for google-cloud-service-usage com.google.cloud google-cloud-service-usage-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-service-usage/grpc-google-cloud-service-usage-v1beta1/pom.xml b/java-service-usage/grpc-google-cloud-service-usage-v1beta1/pom.xml index 0d3d5ddb5efc..c935aeed3104 100644 --- a/java-service-usage/grpc-google-cloud-service-usage-v1beta1/pom.xml +++ b/java-service-usage/grpc-google-cloud-service-usage-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-service-usage-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-service-usage-v1beta1 GRPC library for google-cloud-service-usage com.google.cloud google-cloud-service-usage-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-service-usage/pom.xml b/java-service-usage/pom.xml index 797fa17fcdbf..f5ed1af50d35 100644 --- a/java-service-usage/pom.xml +++ b/java-service-usage/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-service-usage-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Service Usage Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-service-usage - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-service-usage-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-service-usage-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-service-usage-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-service-usage-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-service-usage/proto-google-cloud-service-usage-v1/pom.xml b/java-service-usage/proto-google-cloud-service-usage-v1/pom.xml index 99eb41f9f36e..029caedd7d6e 100644 --- a/java-service-usage/proto-google-cloud-service-usage-v1/pom.xml +++ b/java-service-usage/proto-google-cloud-service-usage-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-service-usage-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-service-usage-v1 Proto library for google-cloud-service-usage com.google.cloud google-cloud-service-usage-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-service-usage/proto-google-cloud-service-usage-v1beta1/pom.xml b/java-service-usage/proto-google-cloud-service-usage-v1beta1/pom.xml index b466a4cf7344..7435fe60b8a7 100644 --- a/java-service-usage/proto-google-cloud-service-usage-v1beta1/pom.xml +++ b/java-service-usage/proto-google-cloud-service-usage-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-service-usage-v1beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-service-usage-v1beta1 Proto library for google-cloud-service-usage com.google.cloud google-cloud-service-usage-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-servicedirectory/google-cloud-servicedirectory-bom/pom.xml b/java-servicedirectory/google-cloud-servicedirectory-bom/pom.xml index ac55b6031ccc..1e79330da5d5 100644 --- a/java-servicedirectory/google-cloud-servicedirectory-bom/pom.xml +++ b/java-servicedirectory/google-cloud-servicedirectory-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-servicedirectory-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-servicedirectory - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-servicedirectory-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-servicedirectory-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-servicedirectory-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-servicedirectory-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-servicedirectory/google-cloud-servicedirectory/pom.xml b/java-servicedirectory/google-cloud-servicedirectory/pom.xml index a3948bdfeeba..e14875c4932b 100644 --- a/java-servicedirectory/google-cloud-servicedirectory/pom.xml +++ b/java-servicedirectory/google-cloud-servicedirectory/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-servicedirectory - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT jar Google Cloud Service Directory Java idiomatic client for Google Cloud Service Directory com.google.cloud google-cloud-servicedirectory-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT google-cloud-servicedirectory diff --git a/java-servicedirectory/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1/stub/Version.java b/java-servicedirectory/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1/stub/Version.java index f57153406d15..98656b50b038 100644 --- a/java-servicedirectory/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1/stub/Version.java +++ b/java-servicedirectory/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-servicedirectory:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-servicedirectory/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1beta1/stub/Version.java b/java-servicedirectory/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1beta1/stub/Version.java index bcbb4f4b8d0c..75b9bd1c378b 100644 --- a/java-servicedirectory/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1beta1/stub/Version.java +++ b/java-servicedirectory/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-servicedirectory:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-servicedirectory/grpc-google-cloud-servicedirectory-v1/pom.xml b/java-servicedirectory/grpc-google-cloud-servicedirectory-v1/pom.xml index 8911e8105051..d91bd26c2002 100644 --- a/java-servicedirectory/grpc-google-cloud-servicedirectory-v1/pom.xml +++ b/java-servicedirectory/grpc-google-cloud-servicedirectory-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-servicedirectory-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-servicedirectory-v1 GRPC library for grpc-google-cloud-servicedirectory-v1 com.google.cloud google-cloud-servicedirectory-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-servicedirectory/grpc-google-cloud-servicedirectory-v1beta1/pom.xml b/java-servicedirectory/grpc-google-cloud-servicedirectory-v1beta1/pom.xml index 1d19438215b9..66d1ad1f8aca 100644 --- a/java-servicedirectory/grpc-google-cloud-servicedirectory-v1beta1/pom.xml +++ b/java-servicedirectory/grpc-google-cloud-servicedirectory-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-servicedirectory-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-servicedirectory-v1beta1 GRPC library for grpc-google-cloud-servicedirectory-v1beta1 com.google.cloud google-cloud-servicedirectory-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-servicedirectory/pom.xml b/java-servicedirectory/pom.xml index cc315ba9d62a..1e54dd9ff09b 100644 --- a/java-servicedirectory/pom.xml +++ b/java-servicedirectory/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-servicedirectory-parent pom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT Google Cloud Service Directory Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-servicedirectory-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-servicedirectory-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-servicedirectory-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-servicedirectory-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.cloud google-cloud-servicedirectory - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-servicedirectory/proto-google-cloud-servicedirectory-v1/pom.xml b/java-servicedirectory/proto-google-cloud-servicedirectory-v1/pom.xml index 6ee25103d75d..e842f169b985 100644 --- a/java-servicedirectory/proto-google-cloud-servicedirectory-v1/pom.xml +++ b/java-servicedirectory/proto-google-cloud-servicedirectory-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-servicedirectory-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-servicedirectory-v1 PROTO library for proto-google-cloud-servicedirectory-v1 com.google.cloud google-cloud-servicedirectory-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-servicedirectory/proto-google-cloud-servicedirectory-v1beta1/pom.xml b/java-servicedirectory/proto-google-cloud-servicedirectory-v1beta1/pom.xml index 516ac48557ce..d24309adde4c 100644 --- a/java-servicedirectory/proto-google-cloud-servicedirectory-v1beta1/pom.xml +++ b/java-servicedirectory/proto-google-cloud-servicedirectory-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-servicedirectory-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-servicedirectory-v1beta1 PROTO library for proto-google-cloud-servicedirectory-v1beta1 com.google.cloud google-cloud-servicedirectory-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-servicehealth/google-cloud-servicehealth-bom/pom.xml b/java-servicehealth/google-cloud-servicehealth-bom/pom.xml index 56f0220e22e8..99121cc10574 100644 --- a/java-servicehealth/google-cloud-servicehealth-bom/pom.xml +++ b/java-servicehealth/google-cloud-servicehealth-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-servicehealth-bom - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-servicehealth - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-servicehealth-v1 - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT com.google.api.grpc proto-google-cloud-servicehealth-v1 - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT diff --git a/java-servicehealth/google-cloud-servicehealth/pom.xml b/java-servicehealth/google-cloud-servicehealth/pom.xml index 030471b87a2f..a06df6c5977d 100644 --- a/java-servicehealth/google-cloud-servicehealth/pom.xml +++ b/java-servicehealth/google-cloud-servicehealth/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-servicehealth - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT jar Google Service Health API Service Health API Personalized Service Health helps you gain visibility into disruptive events impacting Google Cloud products. com.google.cloud google-cloud-servicehealth-parent - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT google-cloud-servicehealth diff --git a/java-servicehealth/google-cloud-servicehealth/src/main/java/com/google/cloud/servicehealth/v1/stub/Version.java b/java-servicehealth/google-cloud-servicehealth/src/main/java/com/google/cloud/servicehealth/v1/stub/Version.java index 3aa90dabfd1c..4251be03a2b7 100644 --- a/java-servicehealth/google-cloud-servicehealth/src/main/java/com/google/cloud/servicehealth/v1/stub/Version.java +++ b/java-servicehealth/google-cloud-servicehealth/src/main/java/com/google/cloud/servicehealth/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-servicehealth:current} - static final String VERSION = "0.62.0-SNAPSHOT"; + static final String VERSION = "0.63.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-servicehealth/grpc-google-cloud-servicehealth-v1/pom.xml b/java-servicehealth/grpc-google-cloud-servicehealth-v1/pom.xml index 6c97ac47976d..f1c821949b09 100644 --- a/java-servicehealth/grpc-google-cloud-servicehealth-v1/pom.xml +++ b/java-servicehealth/grpc-google-cloud-servicehealth-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-servicehealth-v1 - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT grpc-google-cloud-servicehealth-v1 GRPC library for google-cloud-servicehealth com.google.cloud google-cloud-servicehealth-parent - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT diff --git a/java-servicehealth/pom.xml b/java-servicehealth/pom.xml index dc8e0cc6be05..cfcc55672ef1 100644 --- a/java-servicehealth/pom.xml +++ b/java-servicehealth/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-servicehealth-parent pom - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT Google Service Health API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-servicehealth - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-servicehealth-v1 - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT com.google.api.grpc proto-google-cloud-servicehealth-v1 - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT diff --git a/java-servicehealth/proto-google-cloud-servicehealth-v1/pom.xml b/java-servicehealth/proto-google-cloud-servicehealth-v1/pom.xml index 92a04e919396..61c6576bb88c 100644 --- a/java-servicehealth/proto-google-cloud-servicehealth-v1/pom.xml +++ b/java-servicehealth/proto-google-cloud-servicehealth-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-servicehealth-v1 - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT proto-google-cloud-servicehealth-v1 Proto library for google-cloud-servicehealth com.google.cloud google-cloud-servicehealth-parent - 0.62.0-SNAPSHOT + 0.63.0-SNAPSHOT diff --git a/java-shared-config/README.md b/java-shared-config/README.md index f69a37691716..d3fbc3ff2ad5 100644 --- a/java-shared-config/README.md +++ b/java-shared-config/README.md @@ -14,7 +14,7 @@ If you are using Maven, use this artifact as your project's parent. com.google.cloud google-cloud-shared-config - 1.18.0 + 1.19.0 ``` diff --git a/java-shared-config/java-shared-config/pom.xml b/java-shared-config/java-shared-config/pom.xml index 05801eabfe81..a1814e1016fc 100644 --- a/java-shared-config/java-shared-config/pom.xml +++ b/java-shared-config/java-shared-config/pom.xml @@ -6,7 +6,7 @@ com.google.cloud google-cloud-shared-config pom - 1.19.0-SNAPSHOT + 1.20.0-SNAPSHOT Google Cloud Shared Config https://github.com/googleapis/google-cloud-java @@ -16,7 +16,7 @@ com.google.cloud native-image-shared-config - 1.19.0-SNAPSHOT + 1.20.0-SNAPSHOT ../native-image-shared-config diff --git a/java-shared-config/native-image-shared-config/pom.xml b/java-shared-config/native-image-shared-config/pom.xml index 78372d80fe51..554e6bca9bd0 100644 --- a/java-shared-config/native-image-shared-config/pom.xml +++ b/java-shared-config/native-image-shared-config/pom.xml @@ -6,7 +6,7 @@ com.google.cloud native-image-shared-config pom - 1.19.0-SNAPSHOT + 1.20.0-SNAPSHOT Native Image Shared Config https://github.com/googleapis/google-cloud-java diff --git a/java-shell/google-cloud-shell-bom/pom.xml b/java-shell/google-cloud-shell-bom/pom.xml index 07a5f58d2708..bafa11367fe9 100644 --- a/java-shell/google-cloud-shell-bom/pom.xml +++ b/java-shell/google-cloud-shell-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-shell-bom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-shell - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-shell-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-shell-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-shell/google-cloud-shell/pom.xml b/java-shell/google-cloud-shell/pom.xml index 998be1a65486..c0cdaf558366 100644 --- a/java-shell/google-cloud-shell/pom.xml +++ b/java-shell/google-cloud-shell/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-shell - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT jar Google Cloud Shell Cloud Shell is an interactive shell environment for Google Cloud that makes it easy for you to learn and experiment with Google Cloud and manage your projects and resources from your web browser. com.google.cloud google-cloud-shell-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT google-cloud-shell diff --git a/java-shell/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/Version.java b/java-shell/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/Version.java index dd2fc561b25e..4108b3f48885 100644 --- a/java-shell/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/Version.java +++ b/java-shell/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-shell:current} - static final String VERSION = "2.94.0-SNAPSHOT"; + static final String VERSION = "2.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shell/grpc-google-cloud-shell-v1/pom.xml b/java-shell/grpc-google-cloud-shell-v1/pom.xml index 6e2d5d99618a..dca8acddebfb 100644 --- a/java-shell/grpc-google-cloud-shell-v1/pom.xml +++ b/java-shell/grpc-google-cloud-shell-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-shell-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT grpc-google-cloud-shell-v1 GRPC library for google-cloud-shell com.google.cloud google-cloud-shell-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-shell/pom.xml b/java-shell/pom.xml index 12dca0f6b912..a8c3b2ec2902 100644 --- a/java-shell/pom.xml +++ b/java-shell/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-shell-parent pom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT Google Cloud Shell Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-shell - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-shell-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-shell-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-shell/proto-google-cloud-shell-v1/pom.xml b/java-shell/proto-google-cloud-shell-v1/pom.xml index 84df89071e68..4f00a6395376 100644 --- a/java-shell/proto-google-cloud-shell-v1/pom.xml +++ b/java-shell/proto-google-cloud-shell-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-shell-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT proto-google-cloud-shell-v1 Proto library for google-cloud-shell com.google.cloud google-cloud-shell-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-shopping-css/google-shopping-css-bom/pom.xml b/java-shopping-css/google-shopping-css-bom/pom.xml index 78fba8f7f49b..9d377a999a62 100644 --- a/java-shopping-css/google-shopping-css-bom/pom.xml +++ b/java-shopping-css/google-shopping-css-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.shopping google-shopping-css-bom - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.shopping google-shopping-css - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-css-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-css-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-shopping-css/google-shopping-css/pom.xml b/java-shopping-css/google-shopping-css/pom.xml index 3221a15ede66..dab31af9fd75 100644 --- a/java-shopping-css/google-shopping-css/pom.xml +++ b/java-shopping-css/google-shopping-css/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.shopping google-shopping-css - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT jar Google CSS API CSS API The CSS API is used to manage your CSS and control your CSS Products portfolio com.google.shopping google-shopping-css-parent - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT google-shopping-css diff --git a/java-shopping-css/google-shopping-css/src/main/java/com/google/shopping/css/v1/stub/Version.java b/java-shopping-css/google-shopping-css/src/main/java/com/google/shopping/css/v1/stub/Version.java index 6bef4a9dfd49..f0d8b625c3fb 100644 --- a/java-shopping-css/google-shopping-css/src/main/java/com/google/shopping/css/v1/stub/Version.java +++ b/java-shopping-css/google-shopping-css/src/main/java/com/google/shopping/css/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-css:current} - static final String VERSION = "0.63.0-SNAPSHOT"; + static final String VERSION = "0.64.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-css/grpc-google-shopping-css-v1/pom.xml b/java-shopping-css/grpc-google-shopping-css-v1/pom.xml index 4b1967940a34..d159d7aa447a 100644 --- a/java-shopping-css/grpc-google-shopping-css-v1/pom.xml +++ b/java-shopping-css/grpc-google-shopping-css-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-css-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT grpc-google-shopping-css-v1 GRPC library for google-shopping-css com.google.shopping google-shopping-css-parent - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-shopping-css/pom.xml b/java-shopping-css/pom.xml index 60d36d0d547d..3a4c17bdfde3 100644 --- a/java-shopping-css/pom.xml +++ b/java-shopping-css/pom.xml @@ -4,7 +4,7 @@ com.google.shopping google-shopping-css-parent pom - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT Google CSS API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.shopping google-shopping-css - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-css-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-css-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-shopping-css/proto-google-shopping-css-v1/pom.xml b/java-shopping-css/proto-google-shopping-css-v1/pom.xml index 12b11674bb03..4db4d76b8ece 100644 --- a/java-shopping-css/proto-google-shopping-css-v1/pom.xml +++ b/java-shopping-css/proto-google-shopping-css-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-css-v1 - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT proto-google-shopping-css-v1 Proto library for google-shopping-css com.google.shopping google-shopping-css-parent - 0.63.0-SNAPSHOT + 0.64.0-SNAPSHOT diff --git a/java-shopping-merchant-accounts/google-shopping-merchant-accounts-bom/pom.xml b/java-shopping-merchant-accounts/google-shopping-merchant-accounts-bom/pom.xml index a3a5ceb30c4e..4b093b56ec6e 100644 --- a/java-shopping-merchant-accounts/google-shopping-merchant-accounts-bom/pom.xml +++ b/java-shopping-merchant-accounts/google-shopping-merchant-accounts-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.shopping google-shopping-merchant-accounts-bom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.shopping google-shopping-merchant-accounts - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-accounts-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-accounts-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-accounts-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-accounts-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-accounts/google-shopping-merchant-accounts/pom.xml b/java-shopping-merchant-accounts/google-shopping-merchant-accounts/pom.xml index 17df86447c24..32ad79e75d73 100644 --- a/java-shopping-merchant-accounts/google-shopping-merchant-accounts/pom.xml +++ b/java-shopping-merchant-accounts/google-shopping-merchant-accounts/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.shopping google-shopping-merchant-accounts - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT jar Google Merchant API Merchant API Programmatically manage your Merchant Center accounts. com.google.shopping google-shopping-merchant-accounts-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT google-shopping-merchant-accounts diff --git a/java-shopping-merchant-accounts/google-shopping-merchant-accounts/src/main/java/com/google/shopping/merchant/accounts/v1/stub/Version.java b/java-shopping-merchant-accounts/google-shopping-merchant-accounts/src/main/java/com/google/shopping/merchant/accounts/v1/stub/Version.java index b441b8e36b89..42e4bcf4a8d1 100644 --- a/java-shopping-merchant-accounts/google-shopping-merchant-accounts/src/main/java/com/google/shopping/merchant/accounts/v1/stub/Version.java +++ b/java-shopping-merchant-accounts/google-shopping-merchant-accounts/src/main/java/com/google/shopping/merchant/accounts/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-accounts:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-accounts/google-shopping-merchant-accounts/src/main/java/com/google/shopping/merchant/accounts/v1beta/stub/Version.java b/java-shopping-merchant-accounts/google-shopping-merchant-accounts/src/main/java/com/google/shopping/merchant/accounts/v1beta/stub/Version.java index 8f0933e09a7e..837f3f1c6303 100644 --- a/java-shopping-merchant-accounts/google-shopping-merchant-accounts/src/main/java/com/google/shopping/merchant/accounts/v1beta/stub/Version.java +++ b/java-shopping-merchant-accounts/google-shopping-merchant-accounts/src/main/java/com/google/shopping/merchant/accounts/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-accounts:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-accounts/grpc-google-shopping-merchant-accounts-v1/pom.xml b/java-shopping-merchant-accounts/grpc-google-shopping-merchant-accounts-v1/pom.xml index b505599ccffa..22c0a0ad2eee 100644 --- a/java-shopping-merchant-accounts/grpc-google-shopping-merchant-accounts-v1/pom.xml +++ b/java-shopping-merchant-accounts/grpc-google-shopping-merchant-accounts-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-accounts-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-accounts-v1 GRPC library for google-shopping-merchant-accounts com.google.shopping google-shopping-merchant-accounts-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-accounts/grpc-google-shopping-merchant-accounts-v1beta/pom.xml b/java-shopping-merchant-accounts/grpc-google-shopping-merchant-accounts-v1beta/pom.xml index 8b5bd0112c35..c1c23c5717e2 100644 --- a/java-shopping-merchant-accounts/grpc-google-shopping-merchant-accounts-v1beta/pom.xml +++ b/java-shopping-merchant-accounts/grpc-google-shopping-merchant-accounts-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-accounts-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-accounts-v1beta GRPC library for google-shopping-merchant-accounts com.google.shopping google-shopping-merchant-accounts-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-accounts/pom.xml b/java-shopping-merchant-accounts/pom.xml index 84f2306eeb64..17c27ef67234 100644 --- a/java-shopping-merchant-accounts/pom.xml +++ b/java-shopping-merchant-accounts/pom.xml @@ -4,7 +4,7 @@ com.google.shopping google-shopping-merchant-accounts-parent pom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT Google Merchant API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.shopping google-shopping-merchant-accounts - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-accounts-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-accounts-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-accounts-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-accounts-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-accounts/proto-google-shopping-merchant-accounts-v1/pom.xml b/java-shopping-merchant-accounts/proto-google-shopping-merchant-accounts-v1/pom.xml index 72331efbc9fe..fc194815cdf0 100644 --- a/java-shopping-merchant-accounts/proto-google-shopping-merchant-accounts-v1/pom.xml +++ b/java-shopping-merchant-accounts/proto-google-shopping-merchant-accounts-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-accounts-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-accounts-v1 Proto library for google-shopping-merchant-accounts com.google.shopping google-shopping-merchant-accounts-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-accounts/proto-google-shopping-merchant-accounts-v1beta/pom.xml b/java-shopping-merchant-accounts/proto-google-shopping-merchant-accounts-v1beta/pom.xml index aa2157ed5532..e7f9f2895009 100644 --- a/java-shopping-merchant-accounts/proto-google-shopping-merchant-accounts-v1beta/pom.xml +++ b/java-shopping-merchant-accounts/proto-google-shopping-merchant-accounts-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-accounts-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-accounts-v1beta Proto library for google-shopping-merchant-accounts com.google.shopping google-shopping-merchant-accounts-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-conversions/google-shopping-merchant-conversions-bom/pom.xml b/java-shopping-merchant-conversions/google-shopping-merchant-conversions-bom/pom.xml index 452e3f03ca56..0d07b7b08456 100644 --- a/java-shopping-merchant-conversions/google-shopping-merchant-conversions-bom/pom.xml +++ b/java-shopping-merchant-conversions/google-shopping-merchant-conversions-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.shopping google-shopping-merchant-conversions-bom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.shopping google-shopping-merchant-conversions - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-conversions-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-conversions-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-conversions-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-conversions-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-conversions/google-shopping-merchant-conversions/pom.xml b/java-shopping-merchant-conversions/google-shopping-merchant-conversions/pom.xml index d6f69e8bed6f..299475a08244 100644 --- a/java-shopping-merchant-conversions/google-shopping-merchant-conversions/pom.xml +++ b/java-shopping-merchant-conversions/google-shopping-merchant-conversions/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.shopping google-shopping-merchant-conversions - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT jar Google Merchant Conversions API Merchant Conversions API Programmatically manage your Merchant Center accounts. com.google.shopping google-shopping-merchant-conversions-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT google-shopping-merchant-conversions diff --git a/java-shopping-merchant-conversions/google-shopping-merchant-conversions/src/main/java/com/google/shopping/merchant/conversions/v1/stub/Version.java b/java-shopping-merchant-conversions/google-shopping-merchant-conversions/src/main/java/com/google/shopping/merchant/conversions/v1/stub/Version.java index ccb95d28b257..af530c94d3bd 100644 --- a/java-shopping-merchant-conversions/google-shopping-merchant-conversions/src/main/java/com/google/shopping/merchant/conversions/v1/stub/Version.java +++ b/java-shopping-merchant-conversions/google-shopping-merchant-conversions/src/main/java/com/google/shopping/merchant/conversions/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-conversions:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-conversions/google-shopping-merchant-conversions/src/main/java/com/google/shopping/merchant/conversions/v1beta/stub/Version.java b/java-shopping-merchant-conversions/google-shopping-merchant-conversions/src/main/java/com/google/shopping/merchant/conversions/v1beta/stub/Version.java index 714db278ec89..49ad837a8cbf 100644 --- a/java-shopping-merchant-conversions/google-shopping-merchant-conversions/src/main/java/com/google/shopping/merchant/conversions/v1beta/stub/Version.java +++ b/java-shopping-merchant-conversions/google-shopping-merchant-conversions/src/main/java/com/google/shopping/merchant/conversions/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-conversions:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-conversions/grpc-google-shopping-merchant-conversions-v1/pom.xml b/java-shopping-merchant-conversions/grpc-google-shopping-merchant-conversions-v1/pom.xml index d8f9f45caad8..4ba2920d0211 100644 --- a/java-shopping-merchant-conversions/grpc-google-shopping-merchant-conversions-v1/pom.xml +++ b/java-shopping-merchant-conversions/grpc-google-shopping-merchant-conversions-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-conversions-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-conversions-v1 GRPC library for google-shopping-merchant-conversions com.google.shopping google-shopping-merchant-conversions-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-conversions/grpc-google-shopping-merchant-conversions-v1beta/pom.xml b/java-shopping-merchant-conversions/grpc-google-shopping-merchant-conversions-v1beta/pom.xml index ea719805bc75..2fc3513f1de8 100644 --- a/java-shopping-merchant-conversions/grpc-google-shopping-merchant-conversions-v1beta/pom.xml +++ b/java-shopping-merchant-conversions/grpc-google-shopping-merchant-conversions-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-conversions-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-conversions-v1beta GRPC library for google-shopping-merchant-conversions com.google.shopping google-shopping-merchant-conversions-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-conversions/pom.xml b/java-shopping-merchant-conversions/pom.xml index 3eb9939a11ee..a095d354ec02 100644 --- a/java-shopping-merchant-conversions/pom.xml +++ b/java-shopping-merchant-conversions/pom.xml @@ -4,7 +4,7 @@ com.google.shopping google-shopping-merchant-conversions-parent pom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT Google Merchant Conversions API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.shopping google-shopping-merchant-conversions - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-conversions-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-conversions-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-conversions-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-conversions-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-conversions/proto-google-shopping-merchant-conversions-v1/pom.xml b/java-shopping-merchant-conversions/proto-google-shopping-merchant-conversions-v1/pom.xml index e3b447bce745..03e49a8b10a1 100644 --- a/java-shopping-merchant-conversions/proto-google-shopping-merchant-conversions-v1/pom.xml +++ b/java-shopping-merchant-conversions/proto-google-shopping-merchant-conversions-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-conversions-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-conversions-v1 Proto library for google-shopping-merchant-conversions com.google.shopping google-shopping-merchant-conversions-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-conversions/proto-google-shopping-merchant-conversions-v1beta/pom.xml b/java-shopping-merchant-conversions/proto-google-shopping-merchant-conversions-v1beta/pom.xml index 331e482772fb..fa6ef6d30b5c 100644 --- a/java-shopping-merchant-conversions/proto-google-shopping-merchant-conversions-v1beta/pom.xml +++ b/java-shopping-merchant-conversions/proto-google-shopping-merchant-conversions-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-conversions-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-conversions-v1beta Proto library for google-shopping-merchant-conversions com.google.shopping google-shopping-merchant-conversions-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-datasources/google-shopping-merchant-datasources-bom/pom.xml b/java-shopping-merchant-datasources/google-shopping-merchant-datasources-bom/pom.xml index 607e7d54b7da..16266556a775 100644 --- a/java-shopping-merchant-datasources/google-shopping-merchant-datasources-bom/pom.xml +++ b/java-shopping-merchant-datasources/google-shopping-merchant-datasources-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.shopping google-shopping-merchant-datasources-bom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.shopping google-shopping-merchant-datasources - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-datasources-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-datasources-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-datasources-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-datasources-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-datasources/google-shopping-merchant-datasources/pom.xml b/java-shopping-merchant-datasources/google-shopping-merchant-datasources/pom.xml index 29a74de4091f..28b3aa9928aa 100644 --- a/java-shopping-merchant-datasources/google-shopping-merchant-datasources/pom.xml +++ b/java-shopping-merchant-datasources/google-shopping-merchant-datasources/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.shopping google-shopping-merchant-datasources - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT jar Google Merchant API Merchant API Programmatically manage your Merchant Center accounts. com.google.shopping google-shopping-merchant-datasources-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT google-shopping-merchant-datasources diff --git a/java-shopping-merchant-datasources/google-shopping-merchant-datasources/src/main/java/com/google/shopping/merchant/datasources/v1/stub/Version.java b/java-shopping-merchant-datasources/google-shopping-merchant-datasources/src/main/java/com/google/shopping/merchant/datasources/v1/stub/Version.java index 77244182baf6..e76b6749055e 100644 --- a/java-shopping-merchant-datasources/google-shopping-merchant-datasources/src/main/java/com/google/shopping/merchant/datasources/v1/stub/Version.java +++ b/java-shopping-merchant-datasources/google-shopping-merchant-datasources/src/main/java/com/google/shopping/merchant/datasources/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-datasources:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-datasources/google-shopping-merchant-datasources/src/main/java/com/google/shopping/merchant/datasources/v1beta/stub/Version.java b/java-shopping-merchant-datasources/google-shopping-merchant-datasources/src/main/java/com/google/shopping/merchant/datasources/v1beta/stub/Version.java index 51ecb2c69c19..a2be554123cd 100644 --- a/java-shopping-merchant-datasources/google-shopping-merchant-datasources/src/main/java/com/google/shopping/merchant/datasources/v1beta/stub/Version.java +++ b/java-shopping-merchant-datasources/google-shopping-merchant-datasources/src/main/java/com/google/shopping/merchant/datasources/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-datasources:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-datasources/grpc-google-shopping-merchant-datasources-v1/pom.xml b/java-shopping-merchant-datasources/grpc-google-shopping-merchant-datasources-v1/pom.xml index ee70dd9373d8..bd1036008209 100644 --- a/java-shopping-merchant-datasources/grpc-google-shopping-merchant-datasources-v1/pom.xml +++ b/java-shopping-merchant-datasources/grpc-google-shopping-merchant-datasources-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-datasources-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-datasources-v1 GRPC library for google-shopping-merchant-datasources com.google.shopping google-shopping-merchant-datasources-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-datasources/grpc-google-shopping-merchant-datasources-v1beta/pom.xml b/java-shopping-merchant-datasources/grpc-google-shopping-merchant-datasources-v1beta/pom.xml index 47bb625f5b53..be7dcda9c111 100644 --- a/java-shopping-merchant-datasources/grpc-google-shopping-merchant-datasources-v1beta/pom.xml +++ b/java-shopping-merchant-datasources/grpc-google-shopping-merchant-datasources-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-datasources-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-datasources-v1beta GRPC library for google-shopping-merchant-datasources com.google.shopping google-shopping-merchant-datasources-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-datasources/pom.xml b/java-shopping-merchant-datasources/pom.xml index 606dceb480a9..c4309755c25e 100644 --- a/java-shopping-merchant-datasources/pom.xml +++ b/java-shopping-merchant-datasources/pom.xml @@ -4,7 +4,7 @@ com.google.shopping google-shopping-merchant-datasources-parent pom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT Google Merchant API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.shopping google-shopping-merchant-datasources - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-datasources-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-datasources-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-datasources-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-datasources-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-datasources/proto-google-shopping-merchant-datasources-v1/pom.xml b/java-shopping-merchant-datasources/proto-google-shopping-merchant-datasources-v1/pom.xml index fc21372dbc7f..158f957e1a5e 100644 --- a/java-shopping-merchant-datasources/proto-google-shopping-merchant-datasources-v1/pom.xml +++ b/java-shopping-merchant-datasources/proto-google-shopping-merchant-datasources-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-datasources-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-datasources-v1 Proto library for google-shopping-merchant-datasources com.google.shopping google-shopping-merchant-datasources-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-datasources/proto-google-shopping-merchant-datasources-v1beta/pom.xml b/java-shopping-merchant-datasources/proto-google-shopping-merchant-datasources-v1beta/pom.xml index 27864bf99213..25ac799cd864 100644 --- a/java-shopping-merchant-datasources/proto-google-shopping-merchant-datasources-v1beta/pom.xml +++ b/java-shopping-merchant-datasources/proto-google-shopping-merchant-datasources-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-datasources-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-datasources-v1beta Proto library for google-shopping-merchant-datasources com.google.shopping google-shopping-merchant-datasources-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-inventories/google-shopping-merchant-inventories-bom/pom.xml b/java-shopping-merchant-inventories/google-shopping-merchant-inventories-bom/pom.xml index cf985470151c..b07a2a6f932e 100644 --- a/java-shopping-merchant-inventories/google-shopping-merchant-inventories-bom/pom.xml +++ b/java-shopping-merchant-inventories/google-shopping-merchant-inventories-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.shopping google-shopping-merchant-inventories-bom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.shopping google-shopping-merchant-inventories - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-inventories-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-inventories-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-inventories-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-inventories-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-inventories/google-shopping-merchant-inventories/pom.xml b/java-shopping-merchant-inventories/google-shopping-merchant-inventories/pom.xml index df8dab4d7ee9..c59098091062 100644 --- a/java-shopping-merchant-inventories/google-shopping-merchant-inventories/pom.xml +++ b/java-shopping-merchant-inventories/google-shopping-merchant-inventories/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.shopping google-shopping-merchant-inventories - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT jar Google Merchant API Merchant API Programmatically manage your Merchant Center accounts. com.google.shopping google-shopping-merchant-inventories-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT google-shopping-merchant-inventories diff --git a/java-shopping-merchant-inventories/google-shopping-merchant-inventories/src/main/java/com/google/shopping/merchant/inventories/v1/stub/Version.java b/java-shopping-merchant-inventories/google-shopping-merchant-inventories/src/main/java/com/google/shopping/merchant/inventories/v1/stub/Version.java index 3a9ebf78cd6b..414c38ad351d 100644 --- a/java-shopping-merchant-inventories/google-shopping-merchant-inventories/src/main/java/com/google/shopping/merchant/inventories/v1/stub/Version.java +++ b/java-shopping-merchant-inventories/google-shopping-merchant-inventories/src/main/java/com/google/shopping/merchant/inventories/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-inventories:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-inventories/google-shopping-merchant-inventories/src/main/java/com/google/shopping/merchant/inventories/v1beta/stub/Version.java b/java-shopping-merchant-inventories/google-shopping-merchant-inventories/src/main/java/com/google/shopping/merchant/inventories/v1beta/stub/Version.java index 2061b423ffb7..50e8e2f8f9e0 100644 --- a/java-shopping-merchant-inventories/google-shopping-merchant-inventories/src/main/java/com/google/shopping/merchant/inventories/v1beta/stub/Version.java +++ b/java-shopping-merchant-inventories/google-shopping-merchant-inventories/src/main/java/com/google/shopping/merchant/inventories/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-inventories:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-inventories/grpc-google-shopping-merchant-inventories-v1/pom.xml b/java-shopping-merchant-inventories/grpc-google-shopping-merchant-inventories-v1/pom.xml index 147e3382d9c2..f0cbc1aa914f 100644 --- a/java-shopping-merchant-inventories/grpc-google-shopping-merchant-inventories-v1/pom.xml +++ b/java-shopping-merchant-inventories/grpc-google-shopping-merchant-inventories-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-inventories-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-inventories-v1 GRPC library for google-shopping-merchant-inventories com.google.shopping google-shopping-merchant-inventories-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-inventories/grpc-google-shopping-merchant-inventories-v1beta/pom.xml b/java-shopping-merchant-inventories/grpc-google-shopping-merchant-inventories-v1beta/pom.xml index f1a10566ec9b..a3592f170963 100644 --- a/java-shopping-merchant-inventories/grpc-google-shopping-merchant-inventories-v1beta/pom.xml +++ b/java-shopping-merchant-inventories/grpc-google-shopping-merchant-inventories-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-inventories-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-inventories-v1beta GRPC library for google-shopping-merchant-inventories com.google.shopping google-shopping-merchant-inventories-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-inventories/pom.xml b/java-shopping-merchant-inventories/pom.xml index d8b189babc4d..e17dcdd5ad5b 100644 --- a/java-shopping-merchant-inventories/pom.xml +++ b/java-shopping-merchant-inventories/pom.xml @@ -4,7 +4,7 @@ com.google.shopping google-shopping-merchant-inventories-parent pom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT Google Merchant API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.shopping google-shopping-merchant-inventories - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-inventories-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-inventories-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-inventories-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-inventories-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-inventories/proto-google-shopping-merchant-inventories-v1/pom.xml b/java-shopping-merchant-inventories/proto-google-shopping-merchant-inventories-v1/pom.xml index 24a64b9349a0..1986a070a7c5 100644 --- a/java-shopping-merchant-inventories/proto-google-shopping-merchant-inventories-v1/pom.xml +++ b/java-shopping-merchant-inventories/proto-google-shopping-merchant-inventories-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-inventories-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-inventories-v1 Proto library for google-shopping-merchant-inventories com.google.shopping google-shopping-merchant-inventories-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-inventories/proto-google-shopping-merchant-inventories-v1beta/pom.xml b/java-shopping-merchant-inventories/proto-google-shopping-merchant-inventories-v1beta/pom.xml index 1c9842024ebc..5ca93fb8c5cd 100644 --- a/java-shopping-merchant-inventories/proto-google-shopping-merchant-inventories-v1beta/pom.xml +++ b/java-shopping-merchant-inventories/proto-google-shopping-merchant-inventories-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-inventories-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-inventories-v1beta Proto library for google-shopping-merchant-inventories com.google.shopping google-shopping-merchant-inventories-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-lfp/google-shopping-merchant-lfp-bom/pom.xml b/java-shopping-merchant-lfp/google-shopping-merchant-lfp-bom/pom.xml index 672be89bc7ed..31a30b3274f7 100644 --- a/java-shopping-merchant-lfp/google-shopping-merchant-lfp-bom/pom.xml +++ b/java-shopping-merchant-lfp/google-shopping-merchant-lfp-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.shopping google-shopping-merchant-lfp-bom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.shopping google-shopping-merchant-lfp - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-lfp-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-lfp-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-lfp-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-lfp-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-lfp/google-shopping-merchant-lfp/pom.xml b/java-shopping-merchant-lfp/google-shopping-merchant-lfp/pom.xml index dd7971011fbd..35fbc6d593d3 100644 --- a/java-shopping-merchant-lfp/google-shopping-merchant-lfp/pom.xml +++ b/java-shopping-merchant-lfp/google-shopping-merchant-lfp/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.shopping google-shopping-merchant-lfp - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT jar Google Merchant LFP API Merchant LFP API Programmatically manage your Merchant Center accounts. com.google.shopping google-shopping-merchant-lfp-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT google-shopping-merchant-lfp diff --git a/java-shopping-merchant-lfp/google-shopping-merchant-lfp/src/main/java/com/google/shopping/merchant/lfp/v1/stub/Version.java b/java-shopping-merchant-lfp/google-shopping-merchant-lfp/src/main/java/com/google/shopping/merchant/lfp/v1/stub/Version.java index 4d1cd18532aa..8283eb0da1ac 100644 --- a/java-shopping-merchant-lfp/google-shopping-merchant-lfp/src/main/java/com/google/shopping/merchant/lfp/v1/stub/Version.java +++ b/java-shopping-merchant-lfp/google-shopping-merchant-lfp/src/main/java/com/google/shopping/merchant/lfp/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-lfp:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-lfp/google-shopping-merchant-lfp/src/main/java/com/google/shopping/merchant/lfp/v1beta/stub/Version.java b/java-shopping-merchant-lfp/google-shopping-merchant-lfp/src/main/java/com/google/shopping/merchant/lfp/v1beta/stub/Version.java index f79d47a3c6ae..1ac4beadcb80 100644 --- a/java-shopping-merchant-lfp/google-shopping-merchant-lfp/src/main/java/com/google/shopping/merchant/lfp/v1beta/stub/Version.java +++ b/java-shopping-merchant-lfp/google-shopping-merchant-lfp/src/main/java/com/google/shopping/merchant/lfp/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-lfp:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-lfp/grpc-google-shopping-merchant-lfp-v1/pom.xml b/java-shopping-merchant-lfp/grpc-google-shopping-merchant-lfp-v1/pom.xml index d7c0651ed915..0f459fc8357c 100644 --- a/java-shopping-merchant-lfp/grpc-google-shopping-merchant-lfp-v1/pom.xml +++ b/java-shopping-merchant-lfp/grpc-google-shopping-merchant-lfp-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-lfp-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-lfp-v1 GRPC library for google-shopping-merchant-lfp com.google.shopping google-shopping-merchant-lfp-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-lfp/grpc-google-shopping-merchant-lfp-v1beta/pom.xml b/java-shopping-merchant-lfp/grpc-google-shopping-merchant-lfp-v1beta/pom.xml index e94bc89e4de7..29ca5034b683 100644 --- a/java-shopping-merchant-lfp/grpc-google-shopping-merchant-lfp-v1beta/pom.xml +++ b/java-shopping-merchant-lfp/grpc-google-shopping-merchant-lfp-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-lfp-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-lfp-v1beta GRPC library for google-shopping-merchant-lfp com.google.shopping google-shopping-merchant-lfp-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-lfp/pom.xml b/java-shopping-merchant-lfp/pom.xml index 0206dadc925b..4d218b2d4e3d 100644 --- a/java-shopping-merchant-lfp/pom.xml +++ b/java-shopping-merchant-lfp/pom.xml @@ -4,7 +4,7 @@ com.google.shopping google-shopping-merchant-lfp-parent pom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT Google Merchant LFP API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.shopping google-shopping-merchant-lfp - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-lfp-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-lfp-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-lfp-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-lfp-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-lfp/proto-google-shopping-merchant-lfp-v1/pom.xml b/java-shopping-merchant-lfp/proto-google-shopping-merchant-lfp-v1/pom.xml index b4781f5a7c26..7264d891d6e4 100644 --- a/java-shopping-merchant-lfp/proto-google-shopping-merchant-lfp-v1/pom.xml +++ b/java-shopping-merchant-lfp/proto-google-shopping-merchant-lfp-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-lfp-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-lfp-v1 Proto library for google-shopping-merchant-lfp com.google.shopping google-shopping-merchant-lfp-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-lfp/proto-google-shopping-merchant-lfp-v1beta/pom.xml b/java-shopping-merchant-lfp/proto-google-shopping-merchant-lfp-v1beta/pom.xml index 6bc048dfef99..ed5135403f92 100644 --- a/java-shopping-merchant-lfp/proto-google-shopping-merchant-lfp-v1beta/pom.xml +++ b/java-shopping-merchant-lfp/proto-google-shopping-merchant-lfp-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-lfp-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-lfp-v1beta Proto library for google-shopping-merchant-lfp com.google.shopping google-shopping-merchant-lfp-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-notifications/google-shopping-merchant-notifications-bom/pom.xml b/java-shopping-merchant-notifications/google-shopping-merchant-notifications-bom/pom.xml index fce9fcb48d26..859ba800828c 100644 --- a/java-shopping-merchant-notifications/google-shopping-merchant-notifications-bom/pom.xml +++ b/java-shopping-merchant-notifications/google-shopping-merchant-notifications-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.shopping google-shopping-merchant-notifications-bom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.shopping google-shopping-merchant-notifications - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-notifications-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-notifications-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-notifications-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-notifications-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-notifications/google-shopping-merchant-notifications/pom.xml b/java-shopping-merchant-notifications/google-shopping-merchant-notifications/pom.xml index 359fcfbd45fb..db0d6c692117 100644 --- a/java-shopping-merchant-notifications/google-shopping-merchant-notifications/pom.xml +++ b/java-shopping-merchant-notifications/google-shopping-merchant-notifications/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.shopping google-shopping-merchant-notifications - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT jar Google Merchant Notifications API Merchant Notifications API Programmatically manage your Merchant Center accounts. com.google.shopping google-shopping-merchant-notifications-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT google-shopping-merchant-notifications diff --git a/java-shopping-merchant-notifications/google-shopping-merchant-notifications/src/main/java/com/google/shopping/merchant/notifications/v1/stub/Version.java b/java-shopping-merchant-notifications/google-shopping-merchant-notifications/src/main/java/com/google/shopping/merchant/notifications/v1/stub/Version.java index 896dd2c11af9..2ea8c4a54e93 100644 --- a/java-shopping-merchant-notifications/google-shopping-merchant-notifications/src/main/java/com/google/shopping/merchant/notifications/v1/stub/Version.java +++ b/java-shopping-merchant-notifications/google-shopping-merchant-notifications/src/main/java/com/google/shopping/merchant/notifications/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-notifications:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-notifications/google-shopping-merchant-notifications/src/main/java/com/google/shopping/merchant/notifications/v1beta/stub/Version.java b/java-shopping-merchant-notifications/google-shopping-merchant-notifications/src/main/java/com/google/shopping/merchant/notifications/v1beta/stub/Version.java index d2c16a9a5d24..8eab48676e95 100644 --- a/java-shopping-merchant-notifications/google-shopping-merchant-notifications/src/main/java/com/google/shopping/merchant/notifications/v1beta/stub/Version.java +++ b/java-shopping-merchant-notifications/google-shopping-merchant-notifications/src/main/java/com/google/shopping/merchant/notifications/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-notifications:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-notifications/grpc-google-shopping-merchant-notifications-v1/pom.xml b/java-shopping-merchant-notifications/grpc-google-shopping-merchant-notifications-v1/pom.xml index 75a932bee9ab..1fcfb967dbdc 100644 --- a/java-shopping-merchant-notifications/grpc-google-shopping-merchant-notifications-v1/pom.xml +++ b/java-shopping-merchant-notifications/grpc-google-shopping-merchant-notifications-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-notifications-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-notifications-v1 GRPC library for google-shopping-merchant-notifications com.google.shopping google-shopping-merchant-notifications-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-notifications/grpc-google-shopping-merchant-notifications-v1beta/pom.xml b/java-shopping-merchant-notifications/grpc-google-shopping-merchant-notifications-v1beta/pom.xml index c1a20bb0282b..ec588b705503 100644 --- a/java-shopping-merchant-notifications/grpc-google-shopping-merchant-notifications-v1beta/pom.xml +++ b/java-shopping-merchant-notifications/grpc-google-shopping-merchant-notifications-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-notifications-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-notifications-v1beta GRPC library for google-shopping-merchant-notifications com.google.shopping google-shopping-merchant-notifications-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-notifications/pom.xml b/java-shopping-merchant-notifications/pom.xml index 5a00a657163d..d5cdf9da15cc 100644 --- a/java-shopping-merchant-notifications/pom.xml +++ b/java-shopping-merchant-notifications/pom.xml @@ -4,7 +4,7 @@ com.google.shopping google-shopping-merchant-notifications-parent pom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT Google Merchant Notifications API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.shopping google-shopping-merchant-notifications - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-notifications-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-notifications-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-notifications-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-notifications-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-notifications/proto-google-shopping-merchant-notifications-v1/pom.xml b/java-shopping-merchant-notifications/proto-google-shopping-merchant-notifications-v1/pom.xml index ab073ba5ef31..e1341742c68d 100644 --- a/java-shopping-merchant-notifications/proto-google-shopping-merchant-notifications-v1/pom.xml +++ b/java-shopping-merchant-notifications/proto-google-shopping-merchant-notifications-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-notifications-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-notifications-v1 Proto library for google-shopping-merchant-notifications com.google.shopping google-shopping-merchant-notifications-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-notifications/proto-google-shopping-merchant-notifications-v1beta/pom.xml b/java-shopping-merchant-notifications/proto-google-shopping-merchant-notifications-v1beta/pom.xml index 13cd3abe9c66..5242caeab7b3 100644 --- a/java-shopping-merchant-notifications/proto-google-shopping-merchant-notifications-v1beta/pom.xml +++ b/java-shopping-merchant-notifications/proto-google-shopping-merchant-notifications-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-notifications-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-notifications-v1beta Proto library for google-shopping-merchant-notifications com.google.shopping google-shopping-merchant-notifications-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-product-studio/google-shopping-merchant-productstudio-bom/pom.xml b/java-shopping-merchant-product-studio/google-shopping-merchant-productstudio-bom/pom.xml index 89da6d1841d5..82ece33b54d0 100644 --- a/java-shopping-merchant-product-studio/google-shopping-merchant-productstudio-bom/pom.xml +++ b/java-shopping-merchant-product-studio/google-shopping-merchant-productstudio-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.shopping google-shopping-merchant-productstudio-bom - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.shopping google-shopping-merchant-productstudio - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-productstudio-v1alpha - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-productstudio-v1alpha - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-shopping-merchant-product-studio/google-shopping-merchant-productstudio/pom.xml b/java-shopping-merchant-product-studio/google-shopping-merchant-productstudio/pom.xml index 36813d472cde..42617804f53c 100644 --- a/java-shopping-merchant-product-studio/google-shopping-merchant-productstudio/pom.xml +++ b/java-shopping-merchant-product-studio/google-shopping-merchant-productstudio/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.shopping google-shopping-merchant-productstudio - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT jar Google Merchant API Merchant API Programmatically manage your products. com.google.shopping google-shopping-merchant-productstudio-parent - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT google-shopping-merchant-productstudio diff --git a/java-shopping-merchant-product-studio/google-shopping-merchant-productstudio/src/main/java/com/google/shopping/merchant/productstudio/v1alpha/stub/Version.java b/java-shopping-merchant-product-studio/google-shopping-merchant-productstudio/src/main/java/com/google/shopping/merchant/productstudio/v1alpha/stub/Version.java index 09b6a3957f29..b7b051da7436 100644 --- a/java-shopping-merchant-product-studio/google-shopping-merchant-productstudio/src/main/java/com/google/shopping/merchant/productstudio/v1alpha/stub/Version.java +++ b/java-shopping-merchant-product-studio/google-shopping-merchant-productstudio/src/main/java/com/google/shopping/merchant/productstudio/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-productstudio:current} - static final String VERSION = "0.35.0-SNAPSHOT"; + static final String VERSION = "0.36.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-product-studio/grpc-google-shopping-merchant-productstudio-v1alpha/pom.xml b/java-shopping-merchant-product-studio/grpc-google-shopping-merchant-productstudio-v1alpha/pom.xml index 1dd0e918ad99..bd58a7fd297e 100644 --- a/java-shopping-merchant-product-studio/grpc-google-shopping-merchant-productstudio-v1alpha/pom.xml +++ b/java-shopping-merchant-product-studio/grpc-google-shopping-merchant-productstudio-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-productstudio-v1alpha - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT grpc-google-shopping-merchant-productstudio-v1alpha GRPC library for google-shopping-merchant-productstudio com.google.shopping google-shopping-merchant-productstudio-parent - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-shopping-merchant-product-studio/pom.xml b/java-shopping-merchant-product-studio/pom.xml index d08f5698b76a..8682c78ca279 100644 --- a/java-shopping-merchant-product-studio/pom.xml +++ b/java-shopping-merchant-product-studio/pom.xml @@ -4,7 +4,7 @@ com.google.shopping google-shopping-merchant-productstudio-parent pom - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT Google Merchant API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.shopping google-shopping-merchant-productstudio - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-productstudio-v1alpha - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-productstudio-v1alpha - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-shopping-merchant-product-studio/proto-google-shopping-merchant-productstudio-v1alpha/pom.xml b/java-shopping-merchant-product-studio/proto-google-shopping-merchant-productstudio-v1alpha/pom.xml index f03ff5706630..311d9be14437 100644 --- a/java-shopping-merchant-product-studio/proto-google-shopping-merchant-productstudio-v1alpha/pom.xml +++ b/java-shopping-merchant-product-studio/proto-google-shopping-merchant-productstudio-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-productstudio-v1alpha - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT proto-google-shopping-merchant-productstudio-v1alpha Proto library for google-shopping-merchant-productstudio com.google.shopping google-shopping-merchant-productstudio-parent - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-shopping-merchant-products/google-shopping-merchant-products-bom/pom.xml b/java-shopping-merchant-products/google-shopping-merchant-products-bom/pom.xml index eedab0f74969..acf915f8428f 100644 --- a/java-shopping-merchant-products/google-shopping-merchant-products-bom/pom.xml +++ b/java-shopping-merchant-products/google-shopping-merchant-products-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.shopping google-shopping-merchant-products-bom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.shopping google-shopping-merchant-products - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-products-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-products-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-products-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-products-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-products/google-shopping-merchant-products/pom.xml b/java-shopping-merchant-products/google-shopping-merchant-products/pom.xml index b37c93ed28de..7516f90c49a6 100644 --- a/java-shopping-merchant-products/google-shopping-merchant-products/pom.xml +++ b/java-shopping-merchant-products/google-shopping-merchant-products/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.shopping google-shopping-merchant-products - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT jar Google Merchant API Merchant API Programmatically manage your Merchant Center accounts. com.google.shopping google-shopping-merchant-products-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT google-shopping-merchant-products diff --git a/java-shopping-merchant-products/google-shopping-merchant-products/src/main/java/com/google/shopping/merchant/products/v1/stub/Version.java b/java-shopping-merchant-products/google-shopping-merchant-products/src/main/java/com/google/shopping/merchant/products/v1/stub/Version.java index 698cad795d0b..d8e03b3ac9de 100644 --- a/java-shopping-merchant-products/google-shopping-merchant-products/src/main/java/com/google/shopping/merchant/products/v1/stub/Version.java +++ b/java-shopping-merchant-products/google-shopping-merchant-products/src/main/java/com/google/shopping/merchant/products/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-products:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-products/google-shopping-merchant-products/src/main/java/com/google/shopping/merchant/products/v1beta/stub/Version.java b/java-shopping-merchant-products/google-shopping-merchant-products/src/main/java/com/google/shopping/merchant/products/v1beta/stub/Version.java index e8cf06002f94..cac87e810877 100644 --- a/java-shopping-merchant-products/google-shopping-merchant-products/src/main/java/com/google/shopping/merchant/products/v1beta/stub/Version.java +++ b/java-shopping-merchant-products/google-shopping-merchant-products/src/main/java/com/google/shopping/merchant/products/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-products:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-products/grpc-google-shopping-merchant-products-v1/pom.xml b/java-shopping-merchant-products/grpc-google-shopping-merchant-products-v1/pom.xml index 70f16f01b8dc..923ceae5e9e8 100644 --- a/java-shopping-merchant-products/grpc-google-shopping-merchant-products-v1/pom.xml +++ b/java-shopping-merchant-products/grpc-google-shopping-merchant-products-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-products-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-products-v1 GRPC library for google-shopping-merchant-products com.google.shopping google-shopping-merchant-products-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-products/grpc-google-shopping-merchant-products-v1beta/pom.xml b/java-shopping-merchant-products/grpc-google-shopping-merchant-products-v1beta/pom.xml index b0bec8c68c35..df05341ef2f3 100644 --- a/java-shopping-merchant-products/grpc-google-shopping-merchant-products-v1beta/pom.xml +++ b/java-shopping-merchant-products/grpc-google-shopping-merchant-products-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-products-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-products-v1beta GRPC library for google-shopping-merchant-products com.google.shopping google-shopping-merchant-products-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-products/pom.xml b/java-shopping-merchant-products/pom.xml index caaefb9dc3fc..1c75df5c65a2 100644 --- a/java-shopping-merchant-products/pom.xml +++ b/java-shopping-merchant-products/pom.xml @@ -4,7 +4,7 @@ com.google.shopping google-shopping-merchant-products-parent pom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT Google Merchant API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.shopping google-shopping-merchant-products - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-products-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-products-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-products-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-products-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-products/proto-google-shopping-merchant-products-v1/pom.xml b/java-shopping-merchant-products/proto-google-shopping-merchant-products-v1/pom.xml index dee85c124e22..3b9faac9e97c 100644 --- a/java-shopping-merchant-products/proto-google-shopping-merchant-products-v1/pom.xml +++ b/java-shopping-merchant-products/proto-google-shopping-merchant-products-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-products-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-products-v1 Proto library for google-shopping-merchant-products com.google.shopping google-shopping-merchant-products-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-products/proto-google-shopping-merchant-products-v1beta/pom.xml b/java-shopping-merchant-products/proto-google-shopping-merchant-products-v1beta/pom.xml index c959a8ce07cd..5e2e3a65f39d 100644 --- a/java-shopping-merchant-products/proto-google-shopping-merchant-products-v1beta/pom.xml +++ b/java-shopping-merchant-products/proto-google-shopping-merchant-products-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-products-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-products-v1beta Proto library for google-shopping-merchant-products com.google.shopping google-shopping-merchant-products-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-promotions/google-shopping-merchant-promotions-bom/pom.xml b/java-shopping-merchant-promotions/google-shopping-merchant-promotions-bom/pom.xml index ddc42f5c5024..663f410677e7 100644 --- a/java-shopping-merchant-promotions/google-shopping-merchant-promotions-bom/pom.xml +++ b/java-shopping-merchant-promotions/google-shopping-merchant-promotions-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.shopping google-shopping-merchant-promotions-bom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.shopping google-shopping-merchant-promotions - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-promotions-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-promotions-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-promotions-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-promotions-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-promotions/google-shopping-merchant-promotions/pom.xml b/java-shopping-merchant-promotions/google-shopping-merchant-promotions/pom.xml index b023546c34b5..f4847f4c5fc5 100644 --- a/java-shopping-merchant-promotions/google-shopping-merchant-promotions/pom.xml +++ b/java-shopping-merchant-promotions/google-shopping-merchant-promotions/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.shopping google-shopping-merchant-promotions - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT jar Google Merchant API Merchant API Programmatically manage your Merchant Center accounts. com.google.shopping google-shopping-merchant-promotions-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT google-shopping-merchant-promotions diff --git a/java-shopping-merchant-promotions/google-shopping-merchant-promotions/src/main/java/com/google/shopping/merchant/promotions/v1/stub/Version.java b/java-shopping-merchant-promotions/google-shopping-merchant-promotions/src/main/java/com/google/shopping/merchant/promotions/v1/stub/Version.java index 415ae107dc57..ba26a339401d 100644 --- a/java-shopping-merchant-promotions/google-shopping-merchant-promotions/src/main/java/com/google/shopping/merchant/promotions/v1/stub/Version.java +++ b/java-shopping-merchant-promotions/google-shopping-merchant-promotions/src/main/java/com/google/shopping/merchant/promotions/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-promotions:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-promotions/google-shopping-merchant-promotions/src/main/java/com/google/shopping/merchant/promotions/v1beta/stub/Version.java b/java-shopping-merchant-promotions/google-shopping-merchant-promotions/src/main/java/com/google/shopping/merchant/promotions/v1beta/stub/Version.java index d116e3d3d97f..af2a7c0d37d0 100644 --- a/java-shopping-merchant-promotions/google-shopping-merchant-promotions/src/main/java/com/google/shopping/merchant/promotions/v1beta/stub/Version.java +++ b/java-shopping-merchant-promotions/google-shopping-merchant-promotions/src/main/java/com/google/shopping/merchant/promotions/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-promotions:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-promotions/grpc-google-shopping-merchant-promotions-v1/pom.xml b/java-shopping-merchant-promotions/grpc-google-shopping-merchant-promotions-v1/pom.xml index 6e41b0505718..dbfe8bdcbf7c 100644 --- a/java-shopping-merchant-promotions/grpc-google-shopping-merchant-promotions-v1/pom.xml +++ b/java-shopping-merchant-promotions/grpc-google-shopping-merchant-promotions-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-promotions-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-promotions-v1 GRPC library for google-shopping-merchant-promotions com.google.shopping google-shopping-merchant-promotions-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-promotions/grpc-google-shopping-merchant-promotions-v1beta/pom.xml b/java-shopping-merchant-promotions/grpc-google-shopping-merchant-promotions-v1beta/pom.xml index beb111a4e69c..5168c8ae651d 100644 --- a/java-shopping-merchant-promotions/grpc-google-shopping-merchant-promotions-v1beta/pom.xml +++ b/java-shopping-merchant-promotions/grpc-google-shopping-merchant-promotions-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-promotions-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-promotions-v1beta GRPC library for google-shopping-merchant-promotions com.google.shopping google-shopping-merchant-promotions-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-promotions/pom.xml b/java-shopping-merchant-promotions/pom.xml index 88c0df457715..802c925435dc 100644 --- a/java-shopping-merchant-promotions/pom.xml +++ b/java-shopping-merchant-promotions/pom.xml @@ -4,7 +4,7 @@ com.google.shopping google-shopping-merchant-promotions-parent pom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT Google Merchant API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.shopping google-shopping-merchant-promotions - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-promotions-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-promotions-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-promotions-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-promotions-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-promotions/proto-google-shopping-merchant-promotions-v1/pom.xml b/java-shopping-merchant-promotions/proto-google-shopping-merchant-promotions-v1/pom.xml index fda35df26087..3f9de469ed58 100644 --- a/java-shopping-merchant-promotions/proto-google-shopping-merchant-promotions-v1/pom.xml +++ b/java-shopping-merchant-promotions/proto-google-shopping-merchant-promotions-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-promotions-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-promotions-v1 Proto library for google-shopping-merchant-promotions com.google.shopping google-shopping-merchant-promotions-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-promotions/proto-google-shopping-merchant-promotions-v1beta/pom.xml b/java-shopping-merchant-promotions/proto-google-shopping-merchant-promotions-v1beta/pom.xml index 333e47732a54..926c0e8e28b2 100644 --- a/java-shopping-merchant-promotions/proto-google-shopping-merchant-promotions-v1beta/pom.xml +++ b/java-shopping-merchant-promotions/proto-google-shopping-merchant-promotions-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-promotions-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-promotions-v1beta Proto library for google-shopping-merchant-promotions com.google.shopping google-shopping-merchant-promotions-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-quota/google-shopping-merchant-quota-bom/pom.xml b/java-shopping-merchant-quota/google-shopping-merchant-quota-bom/pom.xml index e5e375c5f779..99557dbcf025 100644 --- a/java-shopping-merchant-quota/google-shopping-merchant-quota-bom/pom.xml +++ b/java-shopping-merchant-quota/google-shopping-merchant-quota-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.shopping google-shopping-merchant-quota-bom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.shopping google-shopping-merchant-quota - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-quota-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-quota-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-quota-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-quota-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-quota/google-shopping-merchant-quota/pom.xml b/java-shopping-merchant-quota/google-shopping-merchant-quota/pom.xml index cada336e0afd..d62a66490269 100644 --- a/java-shopping-merchant-quota/google-shopping-merchant-quota/pom.xml +++ b/java-shopping-merchant-quota/google-shopping-merchant-quota/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.shopping google-shopping-merchant-quota - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT jar Google Merchant Quota API Merchant Quota API Programmatically manage your Merchant Center accounts. com.google.shopping google-shopping-merchant-quota-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT google-shopping-merchant-quota diff --git a/java-shopping-merchant-quota/google-shopping-merchant-quota/src/main/java/com/google/shopping/merchant/quota/v1/stub/Version.java b/java-shopping-merchant-quota/google-shopping-merchant-quota/src/main/java/com/google/shopping/merchant/quota/v1/stub/Version.java index c7c1287180fe..6e921e1f95bf 100644 --- a/java-shopping-merchant-quota/google-shopping-merchant-quota/src/main/java/com/google/shopping/merchant/quota/v1/stub/Version.java +++ b/java-shopping-merchant-quota/google-shopping-merchant-quota/src/main/java/com/google/shopping/merchant/quota/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-quota:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-quota/google-shopping-merchant-quota/src/main/java/com/google/shopping/merchant/quota/v1beta/stub/Version.java b/java-shopping-merchant-quota/google-shopping-merchant-quota/src/main/java/com/google/shopping/merchant/quota/v1beta/stub/Version.java index ff3df2aa9001..e325406a018d 100644 --- a/java-shopping-merchant-quota/google-shopping-merchant-quota/src/main/java/com/google/shopping/merchant/quota/v1beta/stub/Version.java +++ b/java-shopping-merchant-quota/google-shopping-merchant-quota/src/main/java/com/google/shopping/merchant/quota/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-quota:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-quota/grpc-google-shopping-merchant-quota-v1/pom.xml b/java-shopping-merchant-quota/grpc-google-shopping-merchant-quota-v1/pom.xml index 544971d2d9f0..9801049f6750 100644 --- a/java-shopping-merchant-quota/grpc-google-shopping-merchant-quota-v1/pom.xml +++ b/java-shopping-merchant-quota/grpc-google-shopping-merchant-quota-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-quota-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-quota-v1 GRPC library for google-shopping-merchant-quota com.google.shopping google-shopping-merchant-quota-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-quota/grpc-google-shopping-merchant-quota-v1beta/pom.xml b/java-shopping-merchant-quota/grpc-google-shopping-merchant-quota-v1beta/pom.xml index 4ce27b2466fc..b9a374b53f22 100644 --- a/java-shopping-merchant-quota/grpc-google-shopping-merchant-quota-v1beta/pom.xml +++ b/java-shopping-merchant-quota/grpc-google-shopping-merchant-quota-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-quota-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-quota-v1beta GRPC library for google-shopping-merchant-quota com.google.shopping google-shopping-merchant-quota-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-quota/pom.xml b/java-shopping-merchant-quota/pom.xml index 0739101b3bf3..26c5d242e77e 100644 --- a/java-shopping-merchant-quota/pom.xml +++ b/java-shopping-merchant-quota/pom.xml @@ -4,7 +4,7 @@ com.google.shopping google-shopping-merchant-quota-parent pom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT Google Merchant Quota API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.shopping google-shopping-merchant-quota - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-quota-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-quota-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-quota-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-quota-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-quota/proto-google-shopping-merchant-quota-v1/pom.xml b/java-shopping-merchant-quota/proto-google-shopping-merchant-quota-v1/pom.xml index 3b7c9f5aecc8..51e455b2c73e 100644 --- a/java-shopping-merchant-quota/proto-google-shopping-merchant-quota-v1/pom.xml +++ b/java-shopping-merchant-quota/proto-google-shopping-merchant-quota-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-quota-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-quota-v1 Proto library for google-shopping-merchant-quota com.google.shopping google-shopping-merchant-quota-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-quota/proto-google-shopping-merchant-quota-v1beta/pom.xml b/java-shopping-merchant-quota/proto-google-shopping-merchant-quota-v1beta/pom.xml index 763d3ce0ecef..b81a267737ea 100644 --- a/java-shopping-merchant-quota/proto-google-shopping-merchant-quota-v1beta/pom.xml +++ b/java-shopping-merchant-quota/proto-google-shopping-merchant-quota-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-quota-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-quota-v1beta Proto library for google-shopping-merchant-quota com.google.shopping google-shopping-merchant-quota-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-reports/google-shopping-merchant-reports-bom/pom.xml b/java-shopping-merchant-reports/google-shopping-merchant-reports-bom/pom.xml index 78cc5195811b..0dc7edcd6d41 100644 --- a/java-shopping-merchant-reports/google-shopping-merchant-reports-bom/pom.xml +++ b/java-shopping-merchant-reports/google-shopping-merchant-reports-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.shopping google-shopping-merchant-reports-bom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,37 +28,37 @@ com.google.shopping google-shopping-merchant-reports - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-reports-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-reports-v1alpha - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-reports-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-reports-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-reports-v1alpha - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-reports-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-reports/google-shopping-merchant-reports/pom.xml b/java-shopping-merchant-reports/google-shopping-merchant-reports/pom.xml index 0c64c324967e..7276b3589615 100644 --- a/java-shopping-merchant-reports/google-shopping-merchant-reports/pom.xml +++ b/java-shopping-merchant-reports/google-shopping-merchant-reports/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.shopping google-shopping-merchant-reports - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT jar Google Merchant API Merchant API Programmatically manage your Merchant Center accounts. com.google.shopping google-shopping-merchant-reports-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT google-shopping-merchant-reports diff --git a/java-shopping-merchant-reports/google-shopping-merchant-reports/src/main/java/com/google/shopping/merchant/reports/v1/stub/Version.java b/java-shopping-merchant-reports/google-shopping-merchant-reports/src/main/java/com/google/shopping/merchant/reports/v1/stub/Version.java index c14914eb5429..46d2c9556e30 100644 --- a/java-shopping-merchant-reports/google-shopping-merchant-reports/src/main/java/com/google/shopping/merchant/reports/v1/stub/Version.java +++ b/java-shopping-merchant-reports/google-shopping-merchant-reports/src/main/java/com/google/shopping/merchant/reports/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-reports:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-reports/google-shopping-merchant-reports/src/main/java/com/google/shopping/merchant/reports/v1alpha/stub/Version.java b/java-shopping-merchant-reports/google-shopping-merchant-reports/src/main/java/com/google/shopping/merchant/reports/v1alpha/stub/Version.java index a6274c3a026c..1f4efadfc34b 100644 --- a/java-shopping-merchant-reports/google-shopping-merchant-reports/src/main/java/com/google/shopping/merchant/reports/v1alpha/stub/Version.java +++ b/java-shopping-merchant-reports/google-shopping-merchant-reports/src/main/java/com/google/shopping/merchant/reports/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-reports:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-reports/google-shopping-merchant-reports/src/main/java/com/google/shopping/merchant/reports/v1beta/stub/Version.java b/java-shopping-merchant-reports/google-shopping-merchant-reports/src/main/java/com/google/shopping/merchant/reports/v1beta/stub/Version.java index 8072b836ea68..83a5dc2a0231 100644 --- a/java-shopping-merchant-reports/google-shopping-merchant-reports/src/main/java/com/google/shopping/merchant/reports/v1beta/stub/Version.java +++ b/java-shopping-merchant-reports/google-shopping-merchant-reports/src/main/java/com/google/shopping/merchant/reports/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-reports:current} - static final String VERSION = "1.23.0-SNAPSHOT"; + static final String VERSION = "1.24.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-reports/grpc-google-shopping-merchant-reports-v1/pom.xml b/java-shopping-merchant-reports/grpc-google-shopping-merchant-reports-v1/pom.xml index 70713133ac9f..ad2b39375505 100644 --- a/java-shopping-merchant-reports/grpc-google-shopping-merchant-reports-v1/pom.xml +++ b/java-shopping-merchant-reports/grpc-google-shopping-merchant-reports-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-reports-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-reports-v1 GRPC library for google-shopping-merchant-reports com.google.shopping google-shopping-merchant-reports-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-reports/grpc-google-shopping-merchant-reports-v1alpha/pom.xml b/java-shopping-merchant-reports/grpc-google-shopping-merchant-reports-v1alpha/pom.xml index 650307cc427c..55e4eecb84f7 100644 --- a/java-shopping-merchant-reports/grpc-google-shopping-merchant-reports-v1alpha/pom.xml +++ b/java-shopping-merchant-reports/grpc-google-shopping-merchant-reports-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-reports-v1alpha - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-reports-v1alpha GRPC library for google-shopping-merchant-reports com.google.shopping google-shopping-merchant-reports-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-reports/grpc-google-shopping-merchant-reports-v1beta/pom.xml b/java-shopping-merchant-reports/grpc-google-shopping-merchant-reports-v1beta/pom.xml index f31a583303fb..8d0af0431b8f 100644 --- a/java-shopping-merchant-reports/grpc-google-shopping-merchant-reports-v1beta/pom.xml +++ b/java-shopping-merchant-reports/grpc-google-shopping-merchant-reports-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-reports-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT grpc-google-shopping-merchant-reports-v1beta GRPC library for google-shopping-merchant-reports com.google.shopping google-shopping-merchant-reports-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-reports/pom.xml b/java-shopping-merchant-reports/pom.xml index 6a7bc9d9f6dd..306108f838bc 100644 --- a/java-shopping-merchant-reports/pom.xml +++ b/java-shopping-merchant-reports/pom.xml @@ -4,7 +4,7 @@ com.google.shopping google-shopping-merchant-reports-parent pom - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT Google Merchant API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.shopping google-shopping-merchant-reports - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-reports-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-reports-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-reports-v1alpha - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-reports-v1alpha - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-reports-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-reports-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-reports/proto-google-shopping-merchant-reports-v1/pom.xml b/java-shopping-merchant-reports/proto-google-shopping-merchant-reports-v1/pom.xml index fb59e623608b..b13becf3a391 100644 --- a/java-shopping-merchant-reports/proto-google-shopping-merchant-reports-v1/pom.xml +++ b/java-shopping-merchant-reports/proto-google-shopping-merchant-reports-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-reports-v1 - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-reports-v1 Proto library for google-shopping-merchant-reports com.google.shopping google-shopping-merchant-reports-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-reports/proto-google-shopping-merchant-reports-v1alpha/pom.xml b/java-shopping-merchant-reports/proto-google-shopping-merchant-reports-v1alpha/pom.xml index fc671be132b7..dfad3f5781ca 100644 --- a/java-shopping-merchant-reports/proto-google-shopping-merchant-reports-v1alpha/pom.xml +++ b/java-shopping-merchant-reports/proto-google-shopping-merchant-reports-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-reports-v1alpha - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-reports-v1alpha Proto library for google-shopping-merchant-reports com.google.shopping google-shopping-merchant-reports-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-reports/proto-google-shopping-merchant-reports-v1beta/pom.xml b/java-shopping-merchant-reports/proto-google-shopping-merchant-reports-v1beta/pom.xml index 4c0c0d561acd..e4481f90a246 100644 --- a/java-shopping-merchant-reports/proto-google-shopping-merchant-reports-v1beta/pom.xml +++ b/java-shopping-merchant-reports/proto-google-shopping-merchant-reports-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-reports-v1beta - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT proto-google-shopping-merchant-reports-v1beta Proto library for google-shopping-merchant-reports com.google.shopping google-shopping-merchant-reports-parent - 1.23.0-SNAPSHOT + 1.24.0-SNAPSHOT diff --git a/java-shopping-merchant-reviews/google-shopping-merchant-reviews-bom/pom.xml b/java-shopping-merchant-reviews/google-shopping-merchant-reviews-bom/pom.xml index 62c349a1aac0..21ef19ff6780 100644 --- a/java-shopping-merchant-reviews/google-shopping-merchant-reviews-bom/pom.xml +++ b/java-shopping-merchant-reviews/google-shopping-merchant-reviews-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.shopping google-shopping-merchant-reviews-bom - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.shopping google-shopping-merchant-reviews - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-reviews-v1beta - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-reviews-v1beta - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT diff --git a/java-shopping-merchant-reviews/google-shopping-merchant-reviews/pom.xml b/java-shopping-merchant-reviews/google-shopping-merchant-reviews/pom.xml index 5f148780a44c..ad05b493a7cb 100644 --- a/java-shopping-merchant-reviews/google-shopping-merchant-reviews/pom.xml +++ b/java-shopping-merchant-reviews/google-shopping-merchant-reviews/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.shopping google-shopping-merchant-reviews - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT jar Google Merchant API Merchant API Programmatically manage your Merchant Center Accounts. com.google.shopping google-shopping-merchant-reviews-parent - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT google-shopping-merchant-reviews diff --git a/java-shopping-merchant-reviews/google-shopping-merchant-reviews/src/main/java/com/google/shopping/merchant/reviews/v1beta/stub/Version.java b/java-shopping-merchant-reviews/google-shopping-merchant-reviews/src/main/java/com/google/shopping/merchant/reviews/v1beta/stub/Version.java index caeed358d27d..2e3fe7eecd0b 100644 --- a/java-shopping-merchant-reviews/google-shopping-merchant-reviews/src/main/java/com/google/shopping/merchant/reviews/v1beta/stub/Version.java +++ b/java-shopping-merchant-reviews/google-shopping-merchant-reviews/src/main/java/com/google/shopping/merchant/reviews/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-shopping-merchant-reviews:current} - static final String VERSION = "0.41.0-SNAPSHOT"; + static final String VERSION = "0.42.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-shopping-merchant-reviews/grpc-google-shopping-merchant-reviews-v1beta/pom.xml b/java-shopping-merchant-reviews/grpc-google-shopping-merchant-reviews-v1beta/pom.xml index 738db0cdb6f5..a0a811b16246 100644 --- a/java-shopping-merchant-reviews/grpc-google-shopping-merchant-reviews-v1beta/pom.xml +++ b/java-shopping-merchant-reviews/grpc-google-shopping-merchant-reviews-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc grpc-google-shopping-merchant-reviews-v1beta - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT grpc-google-shopping-merchant-reviews-v1beta GRPC library for google-shopping-merchant-reviews com.google.shopping google-shopping-merchant-reviews-parent - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT diff --git a/java-shopping-merchant-reviews/pom.xml b/java-shopping-merchant-reviews/pom.xml index 9a69f47b0dd5..c8f7d0d944d9 100644 --- a/java-shopping-merchant-reviews/pom.xml +++ b/java-shopping-merchant-reviews/pom.xml @@ -4,7 +4,7 @@ com.google.shopping google-shopping-merchant-reviews-parent pom - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT Google Merchant API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.shopping google-shopping-merchant-reviews - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT com.google.shopping.api.grpc grpc-google-shopping-merchant-reviews-v1beta - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT com.google.shopping.api.grpc proto-google-shopping-merchant-reviews-v1beta - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT diff --git a/java-shopping-merchant-reviews/proto-google-shopping-merchant-reviews-v1beta/pom.xml b/java-shopping-merchant-reviews/proto-google-shopping-merchant-reviews-v1beta/pom.xml index 385eba073db5..f0768fba0667 100644 --- a/java-shopping-merchant-reviews/proto-google-shopping-merchant-reviews-v1beta/pom.xml +++ b/java-shopping-merchant-reviews/proto-google-shopping-merchant-reviews-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.shopping.api.grpc proto-google-shopping-merchant-reviews-v1beta - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT proto-google-shopping-merchant-reviews-v1beta Proto library for google-shopping-merchant-reviews com.google.shopping google-shopping-merchant-reviews-parent - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT diff --git a/java-showcase/gapic-showcase/src/test/java/com/google/showcase/v1beta1/it/ITPostQuantumCryptography.java b/java-showcase/gapic-showcase/src/test/java/com/google/showcase/v1beta1/it/ITPostQuantumCryptography.java new file mode 100644 index 000000000000..e1f2ed82560d --- /dev/null +++ b/java-showcase/gapic-showcase/src/test/java/com/google/showcase/v1beta1/it/ITPostQuantumCryptography.java @@ -0,0 +1,269 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.showcase.v1beta1.it; + +import static com.google.common.truth.Truth.assertThat; +import static com.google.common.truth.Truth.assertWithMessage; + +import com.google.api.client.http.javanet.NetHttpTransport; +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.httpjson.HttpJsonConscryptUtils; +import com.google.api.gax.httpjson.HttpJsonMetadata; +import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; +import com.google.showcase.v1beta1.EchoClient; +import com.google.showcase.v1beta1.EchoRequest; +import com.google.showcase.v1beta1.EchoResponse; +import com.google.showcase.v1beta1.EchoSettings; +import com.google.showcase.v1beta1.it.util.HttpJsonCapturingClientInterceptor; +import java.io.File; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.security.KeyStore; +import java.security.cert.Certificate; +import java.security.cert.CertificateFactory; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.conscrypt.Conscrypt; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +/** + * Integration tests to verify Post-Quantum Cryptography (PQC) TLS negotiation for HTTP/JSON (REST) + * clients. + * + *

These tests execute calls against a local secure (TLS-enabled) Showcase server. During the TLS + * handshake, the client and server negotiate cipher suites and key exchange groups. Showcase + * injects information about the negotiated TLS connection parameters into custom headers: + * + *

    + *
  • {@code x-showcase-tls-group}: The negotiated key exchange named group (e.g. + * X25519MLKEM768). + *
  • {@code x-showcase-tls-version}: The TLS version negotiated (e.g. TLS 1.3). + *
  • {@code x-showcase-tls-cipher}: The negotiated cipher suite (e.g. TLS_AES_128_GCM_SHA256). + *
  • {@code x-showcase-tls-client-supported-groups}: The list of groups offered by the client. + *
+ * + *

Verification cases: + * + *

    + *
  1. {@code testHttpJsonPqc}: Verifies that HTTP/JSON transport defaults to Conscrypt and + * negotiates the hybrid post-quantum group {@code X25519MLKEM768}. + *
  2. {@code testHttpJsonPqc_withExplicitNonPqcGroup}: Verifies that explicitly configuring + * classical non-PQC key exchange groups (e.g. {@code X25519}) forces classical key exchange. + * Explicitly setting the group ensures test compatibility across all JDK versions, including + * future JDK releases (such as JDK 27+) where PQC will be enabled by default. + *
+ */ +class ITPostQuantumCryptography { + + // TLS response header names from Showcase server + private static final String TLS_GROUP_HEADER = "x-showcase-tls-group"; + private static final String TLS_SUPPORTED_GROUPS_HEADER = + "x-showcase-tls-client-supported-groups"; + + // Expected TLS parameters + private static final String EXPECTED_PQC_GROUP = "X25519MLKEM768"; + private static final String CLASSICAL_X25519_GROUP = "X25519"; + private static final String[] EXPLICIT_NON_PQC_GROUPS = new String[] {CLASSICAL_X25519_GROUP}; + + private static final String DEFAULT_CA_CERT_PATH = getCaCertPath(); + + /** + * Resolves the absolute path to the Showcase server's CA certificate PEM file. + * + * @return absolute path to the CA certificate file + */ + private static String getCaCertPath() { + String prop = System.getProperty("showcase.ca.cert.path"); + if (prop != null) { + return prop; + } + if (new File("/tmp/showcase-ca.pem").isFile()) { + return "/tmp/showcase-ca.pem"; + } + return "target/showcase-ca.pem"; + } + + private static final String SECURE_ENDPOINT = + System.getProperty("showcase.secure.endpoint", "localhost:7470"); + + @BeforeAll + static void setUp() throws Exception { + File certFile = new File(DEFAULT_CA_CERT_PATH); + assertWithMessage("CA certificate file not found at " + DEFAULT_CA_CERT_PATH) + .that(certFile.isFile()) + .isTrue(); + } + + @Test + void testHttpJsonPqc() throws Exception { + HttpJsonCapturingClientInterceptor interceptor = new HttpJsonCapturingClientInterceptor(); + + // Construct a dedicated NetHttpTransport configured with Conscrypt security provider + // and explicitly trusted Showcase CA certificate. This avoids modifying the global JVM + // SSLContext (via SSLContext.setDefault) and ensures Conscrypt's TLS engine is used. + NetHttpTransport transport = + HttpJsonConscryptUtils.configureConscryptSecurityProvider(new NetHttpTransport.Builder()) + .trustCertificates(loadCaCert(DEFAULT_CA_CERT_PATH)) + .build(); + + InstantiatingHttpJsonChannelProvider transportChannelProvider = + EchoSettings.defaultHttpJsonTransportProviderBuilder() + .setHttpTransport(transport) + .setEndpoint("https://" + SECURE_ENDPOINT) + .setInterceptorProvider(() -> Collections.singletonList(interceptor)) + .build(); + + EchoSettings settings = + EchoSettings.newHttpJsonBuilder() + .setCredentialsProvider(NoCredentialsProvider.create()) + .setTransportChannelProvider(transportChannelProvider) + .build(); + + try (EchoClient client = EchoClient.create(settings)) { + EchoResponse response = + client.echo(EchoRequest.newBuilder().setContent("pqc-httpjson-test").build()); + assertThat(response.getContent()).isEqualTo("pqc-httpjson-test"); + + HttpJsonMetadata capturedHeaders = interceptor.metadata; + assertThat(capturedHeaders).isNotNull(); + + String negotiatedGroup = getSingleHeaderString(capturedHeaders, TLS_GROUP_HEADER); + assertThat(negotiatedGroup).isEqualTo(EXPECTED_PQC_GROUP); + + // Assert that supported groups offered by Conscrypt include the primary PQC group and + // classical fallback group. We use containsAtLeast instead of exact list equality because + // Go's crypto/tls library only recognizes standard Curve IDs (e.g. X25519MLKEM768 and + // X25519), which is not a 1:1 mapping with the full list of named groups that Conscrypt + // supports (see + // https://github.com/google/conscrypt/blob/2.6.0/CAPABILITIES.md#supported-named-groups). + // Draft/standalone groups like X25519Kyber768Draft00 and MLKEM1024 are formatted as + // "Unknown-Curve-25497" and "Unknown-Curve-514" by the Showcase server. + List supportedGroups = + getHeaderStringList(capturedHeaders, TLS_SUPPORTED_GROUPS_HEADER); + assertThat(supportedGroups).containsAtLeast(EXPECTED_PQC_GROUP, CLASSICAL_X25519_GROUP); + } + } + + @Test + void testHttpJsonPqc_withExplicitNonPqcGroup() throws Exception { + HttpJsonCapturingClientInterceptor interceptor = new HttpJsonCapturingClientInterceptor(); + + // Explicitly configure Conscrypt socket with classical X25519 group. This verifies that + // custom socket configurators can override default PQC groups with non-PQC groups. + // Explicitly passing a non-PQC curve ensures that the test deterministically verifies + // classical key exchange fallback across all JDK versions, including future JDK 27+ releases + // where PQC algorithms will be enabled by default in standard JDK security providers. + NetHttpTransport transport = + HttpJsonConscryptUtils.configureConscryptSecurityProvider(new NetHttpTransport.Builder()) + .setSslSocketConfigurator( + socket -> { + if (Conscrypt.isConscrypt(socket)) { + try { + Conscrypt.setNamedGroups(socket, EXPLICIT_NON_PQC_GROUPS); + } catch (Exception ignored) { + } + } + }) + .trustCertificates(loadCaCert(DEFAULT_CA_CERT_PATH)) + .build(); + + InstantiatingHttpJsonChannelProvider transportChannelProvider = + EchoSettings.defaultHttpJsonTransportProviderBuilder() + .setHttpTransport(transport) + .setEndpoint("https://" + SECURE_ENDPOINT) + .setInterceptorProvider(() -> Collections.singletonList(interceptor)) + .build(); + + EchoSettings settings = + EchoSettings.newHttpJsonBuilder() + .setCredentialsProvider(NoCredentialsProvider.create()) + .setTransportChannelProvider(transportChannelProvider) + .build(); + + try (EchoClient client = EchoClient.create(settings)) { + EchoResponse response = + client.echo(EchoRequest.newBuilder().setContent("pqc-httpjson-jsse-test").build()); + assertThat(response.getContent()).isEqualTo("pqc-httpjson-jsse-test"); + + HttpJsonMetadata capturedHeaders = interceptor.metadata; + assertThat(capturedHeaders).isNotNull(); + + String negotiatedGroup = getSingleHeaderString(capturedHeaders, TLS_GROUP_HEADER); + assertThat(negotiatedGroup).isEqualTo(CLASSICAL_X25519_GROUP); + + List supportedGroups = + getHeaderStringList(capturedHeaders, TLS_SUPPORTED_GROUPS_HEADER); + assertThat(supportedGroups).containsExactlyElementsIn(Arrays.asList(EXPLICIT_NON_PQC_GROUPS)); + } + } + + /** + * Extracts the first string value of a specified HTTP response header from metadata. + * + * @param metadata the HTTP metadata containing response headers + * @param name the case-insensitive header key name + * @return header value string, or {@code null} if not found + */ + private static String getSingleHeaderString(HttpJsonMetadata metadata, String name) { + Object valueObj = metadata.getHeaders().get(name); + if (valueObj instanceof List) { + List list = (List) valueObj; + if (!list.isEmpty()) { + return String.valueOf(list.get(0)); + } + } else if (valueObj != null) { + return String.valueOf(valueObj); + } + return null; + } + + /** + * Extracts a list of string values from a comma-separated HTTP response header. + * + * @param metadata the HTTP metadata containing response headers + * @param name the case-insensitive header key name + * @return list of header string tokens, or empty list if not found + */ + private static List getHeaderStringList(HttpJsonMetadata metadata, String name) { + String value = getSingleHeaderString(metadata, name); + if (value == null || value.trim().isEmpty()) { + return Collections.emptyList(); + } + return Arrays.asList(value.split(",")); + } + + /** + * Loads an X.509 CA certificate file from disk into a new KeyStore instance. + * + * @param certPath path to the X.509 certificate file + * @return initialized KeyStore containing the certificate entry + * @throws Exception if reading or parsing the certificate fails + */ + private static KeyStore loadCaCert(String certPath) throws Exception { + KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType()); + trustStore.load(null, null); + CertificateFactory cf = CertificateFactory.getInstance("X.509"); + try (InputStream is = Files.newInputStream(Paths.get(certPath))) { + Certificate cert = cf.generateCertificate(is); + trustStore.setCertificateEntry("showcase-ca", cert); + } + return trustStore; + } +} diff --git a/java-showcase/pom.xml b/java-showcase/pom.xml index c90fb72c78fb..d5e4704dd22f 100644 --- a/java-showcase/pom.xml +++ b/java-showcase/pom.xml @@ -34,7 +34,7 @@ com.google.cloud google-cloud-shared-dependencies - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT pom import diff --git a/java-showcase/scripts/generate_showcase.sh b/java-showcase/scripts/generate_showcase.sh index 6b3d962c79b4..7f99ad7ab1ea 100755 --- a/java-showcase/scripts/generate_showcase.sh +++ b/java-showcase/scripts/generate_showcase.sh @@ -5,9 +5,6 @@ set -ex echo "******** Generating Showcase ********" readonly ROOT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )/../.." -# Export PYTHONPATH so that owlbot.py scripts run by Librarian -# can resolve local synthtool under the hermetic build directory. -export PYTHONPATH="${ROOT_DIR}/sdk-platform-java/hermetic_build/library_generation/owlbot" cd "${ROOT_DIR}" readonly LIBRARIAN_VER=$(go run github.com/googleapis/librarian/cmd/librarian@latest config get version) diff --git a/java-spanner-jdbc/README.md b/java-spanner-jdbc/README.md index e8f6b35bbd68..449e24ad46b4 100644 --- a/java-spanner-jdbc/README.md +++ b/java-spanner-jdbc/README.md @@ -20,7 +20,7 @@ If you are using Maven, add this to your pom.xml file: com.google.cloud google-cloud-spanner-jdbc - 2.41.0 + 2.42.0 ``` @@ -30,7 +30,7 @@ If you are using Gradle without BOM, add this to your dependencies ```Groovy -implementation 'com.google.cloud:google-cloud-spanner-jdbc:2.41.0' +implementation 'com.google.cloud:google-cloud-spanner-jdbc:2.42.0' ``` @@ -38,7 +38,7 @@ If you are using SBT, add this to your dependencies ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-spanner-jdbc" % "2.41.0" +libraryDependencies += "com.google.cloud" % "google-cloud-spanner-jdbc" % "2.42.0" ``` diff --git a/java-spanner-jdbc/pom.xml b/java-spanner-jdbc/pom.xml index 15e481b89c61..e5ef2d1a4a46 100644 --- a/java-spanner-jdbc/pom.xml +++ b/java-spanner-jdbc/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 google-cloud-spanner-jdbc - 2.42.0-SNAPSHOT + 2.43.0-SNAPSHOT jar Google Cloud Spanner JDBC https://github.com/googleapis/google-cloud-java @@ -14,7 +14,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -96,7 +96,7 @@ com.google.cloud google-cloud-spanner - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT io.grpc @@ -137,7 +137,7 @@ com.google.api.grpc proto-google-cloud-spanner-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT io.opentelemetry @@ -147,7 +147,7 @@ com.google.cloud google-cloud-spanner - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT test-jar test @@ -203,13 +203,13 @@ com.google.cloud google-cloud-trace - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT test com.google.api.grpc proto-google-cloud-trace-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT test diff --git a/java-spanner-jdbc/samples/snapshot/pom.xml b/java-spanner-jdbc/samples/snapshot/pom.xml index 678350a48418..257ec7bd8300 100644 --- a/java-spanner-jdbc/samples/snapshot/pom.xml +++ b/java-spanner-jdbc/samples/snapshot/pom.xml @@ -29,7 +29,7 @@ com.google.cloud google-cloud-spanner-jdbc - 2.42.0-SNAPSHOT + 2.43.0-SNAPSHOT diff --git a/java-spanner/.readme-partials.yaml b/java-spanner/.readme-partials.yaml index 392f727e622a..c0fe9ba9617c 100644 --- a/java-spanner/.readme-partials.yaml +++ b/java-spanner/.readme-partials.yaml @@ -53,29 +53,69 @@ custom_content: | ## Metrics Cloud Spanner client supports [client-side metrics](https://cloud.google.com/spanner/docs/view-manage-client-side-metrics) that you can use along with server-side metrics to optimize performance and troubleshoot performance issues if they occur. - - Client-side metrics are measured from the time a request leaves your application to the time your application receives the response. + + Client-side metrics are measured from the time a request leaves your application to the time your application receives the response. In contrast, server-side metrics are measured from the time Spanner receives a request until the last byte of data is sent to the client. - - These metrics are enabled by default. You can opt out of using client-side metrics with the following code: - + + The default Cloud Monitoring export for these metrics is enabled by default. You can opt out of the default Cloud Monitoring export with the following code: + ``` SpannerOptions options = SpannerOptions.newBuilder() .setBuiltInMetricsEnabled(false) .build(); ``` - - You can also disable these metrics by setting `SPANNER_DISABLE_BUILTIN_METRICS` to `true`. - - > Note: Client-side metrics needs `monitoring.timeSeries.create` IAM permission to export metrics data. Ask your administrator to grant your service account the [Monitoring Metric Writer](https://cloud.google.com/iam/docs/roles-permissions/monitoring#monitoring.metricWriter) (roles/monitoring.metricWriter) IAM role on the project. + + You can also disable the default Cloud Monitoring export by setting `SPANNER_DISABLE_BUILTIN_METRICS` to `true`. These controls affect only the Cloud Monitoring export. They do not affect a caller-owned client-metrics export configured with `CustomOpenTelemetryMetricsProvider`. + + > Note: Client-side metrics needs `monitoring.timeSeries.create` IAM permission to export metrics data to Cloud Monitoring. Ask your administrator to grant your service account the [Monitoring Metric Writer](https://cloud.google.com/iam/docs/roles-permissions/monitoring#monitoring.metricWriter) (roles/monitoring.metricWriter) IAM role on the project. + + #### Exporting client metrics to OpenTelemetry + + Client metrics export to a caller-owned OpenTelemetry destination is controlled by a `MetricsProvider`, + set with `SpannerOptions.Builder.setClientMetricsProvider(MetricsProvider)`. The available + providers are: + + * `DefaultMetricsProvider` (the default): no caller-owned client-metrics destination is configured. + The built-in Cloud Monitoring export follows `setBuiltInMetricsEnabled` and the + `SPANNER_DISABLE_BUILTIN_METRICS` environment variable. On Spanner Omni, where the Cloud Monitoring + export is not available, the default provider results in no client-metrics export. + * `NoopMetricsProvider`: caller-owned client metrics are explicitly disabled. The Cloud Monitoring + export is controlled separately. + * `CustomOpenTelemetryMetricsProvider`: the same Spanner client instruments are additionally recorded + on an `OpenTelemetry` instance that you provide. You own the metrics pipeline (readers, exporters + and resource). This custom destination is independent of the built-in Cloud Monitoring export on all + instance types, including Spanner Omni (`InstanceType.OMNI`), for which Cloud Monitoring export is + not available. + + Client metrics are not recorded when the client runs against the Spanner emulator, regardless of the + configured `MetricsProvider`. gRPC-layer metrics are recorded on a custom destination only when the + provided `OpenTelemetry` instance is an `OpenTelemetrySdk`. + + When using `CustomOpenTelemetryMetricsProvider`, it is recommended to register the Spanner + client-metrics views on a dedicated `SdkMeterProviderBuilder` with + `SpannerMetrics.configureMeterProviderBuilder(SdkMeterProviderBuilder)` before creating the + `OpenTelemetry` instance. The views rename the raw instruments, apply the Spanner latency + histogram buckets and restrict the recorded attributes to the supported client-metric labels. + + ```java + SdkMeterProviderBuilder meterProviderBuilder = + SdkMeterProvider.builder().registerMetricReader(PeriodicMetricReader.create(myExporter)); + SpannerMetrics.configureMeterProviderBuilder(meterProviderBuilder); + OpenTelemetry openTelemetry = + OpenTelemetrySdk.builder().setMeterProvider(meterProviderBuilder.build()).build(); + SpannerOptions options = + SpannerOptions.newBuilder() + .setClientMetricsProvider(CustomOpenTelemetryMetricsProvider.create(openTelemetry)) + .build(); + ``` ## Traces - Cloud Spanner client supports OpenTelemetry Traces, which gives insight into the client internals and aids in debugging/troubleshooting production issues. + Cloud Spanner client supports OpenTelemetry Traces, which gives insight into the client internals and aids in debugging/troubleshooting production issues. By default, the functionality is disabled. You need to add OpenTelemetry dependencies, enable OpenTelemetry traces and must configure the OpenTelemetry with appropriate exporters at the startup of your application. See [Configure client-side tracing](https://cloud.google.com/spanner/docs/set-up-tracing#configure-client-side-tracing) for more details on configuring traces. - + #### OpenTelemetry Dependencies If you are using Maven, add this to your pom.xml file @@ -129,7 +169,7 @@ custom_content: | Spanner spanner = options.getService(); ``` - + #### OpenTelemetry SQL Statement Tracing The OpenTelemetry traces that are generated by the Java client include any request and transaction tags that have been set. The traces can also include the SQL statements that are executed and the @@ -149,42 +189,42 @@ custom_content: | #### OpenTelemetry API Tracing You can enable tracing of each API call that the Spanner client executes with the `enableApiTracing` option. These traces also include any retry attempts for an API call: - + ``` SpannerOptions options = SpannerOptions.newBuilder() .setOpenTelemetry(openTelemetry) .setEnableApiTracing(true) .build(); ``` - + This option can also be enabled by setting the environment variable `SPANNER_ENABLE_API_TRACING=true`. > Note: The attribute keys that are used for additional information about retry attempts and the number of requests might change in a future release. - - #### End-to-end Tracing - + + #### End-to-end Tracing + In addition to client-side tracing, you can opt in for [end-to-end tracing](https://cloud.google.com/spanner/docs/tracing-overview#end-to-end-side-tracing). End-to-end tracing helps you understand and debug latency issues that are specific to Spanner such as the following: * Identify whether the latency is due to network latency between your application and Spanner, or if the latency is occurring within Spanner. * Identify the Google Cloud regions that your application requests are being routed through and if there is a cross-region request. A cross-region request usually means higher latencies between your application and Spanner. - + ``` SpannerOptions options = SpannerOptions.newBuilder() .setOpenTelemetry(openTelemetry) .setEnableEndToEndTracing(true) .build(); ``` - + Refer to [Configure end-to-end tracing](https://cloud.google.com/spanner/docs/set-up-tracing#configure-end-to-end-tracing) to configure end-to-end tracing and to understand its attributes. - + > Note: End-to-end traces can only be exported to [Cloud Trace](https://cloud.google.com/trace/docs). - - + + ## Instrument with OpenCensus > Note: OpenCensus project is deprecated. See [Sunsetting OpenCensus](https://opentelemetry.io/blog/2023/sunsetting-opencensus/). We recommend migrating to OpenTelemetry, the successor project. - + ## Migrate from OpenCensus to OpenTelemetry > Using the [OpenTelemetry OpenCensus Bridge](https://mvnrepository.com/artifact/io.opentelemetry/opentelemetry-opencensus-shim), you can immediately begin exporting your metrics and traces with OpenTelemetry. @@ -214,4 +254,4 @@ custom_content: | Update your dashboards and alerts to reflect below changes * **Metrics name** : `cloud.google.com/java` prefix has been removed from OpenTelemery metrics and instead has been added as Instrumenation Scope. - * **Metrics namespace** : OpenTelmetry exporters uses `workload.googleapis.com` namespace opposed to `custom.googleapis.com` with OpenCensus. \ No newline at end of file + * **Metrics namespace** : OpenTelmetry exporters uses `workload.googleapis.com` namespace opposed to `custom.googleapis.com` with OpenCensus. diff --git a/java-spanner/CHANGELOG.md b/java-spanner/CHANGELOG.md index 63c8bf1e9de3..1efd8fb59adc 100644 --- a/java-spanner/CHANGELOG.md +++ b/java-spanner/CHANGELOG.md @@ -1,5 +1,61 @@ # Changelog +## [6.120.0](https://github.com/googleapis/google-cloud-java/compare/73c9a0342f9...c2ce8c17fda) (2026-07-30) + +### Bug Fixes + +* Prevent memory leak and thread blocking in transaction keep-alive ([#13897](https://github.com/googleapis/google-cloud-java/pull/13897)) ([51a75b](https://github.com/googleapis/google-cloud-java/commit/51a75b086f81782a6e89f24024eabd643a1d0f55)) +* Fix the start timestamp > end timestamp issue for change stream initial query. ([#13885](https://github.com/googleapis/google-cloud-java/pull/13885)) ([3f2c7d](https://github.com/googleapis/google-cloud-java/commit/3f2c7ddb5d05750c5d6bde6aa8781fede50834b2)) +* Prevent fastpath tablet routing flaps ([#13803](https://github.com/googleapis/google-cloud-java/pull/13803)) ([4dabda](https://github.com/googleapis/google-cloud-java/commit/4dabdac2bb81502530f30a108cef2ae701c70bd5)) +* Avoid data race on DIRECTPATH_CHANNEL_CREATED by using volatile ([#13727](https://github.com/googleapis/google-cloud-java/pull/13727)) ([1e05ea](https://github.com/googleapis/google-cloud-java/commit/1e05ea5ccaddee11639d5539f0274792872fe88e)) + +### Dependencies + +* Update Protobuf-Java to v4.33.6 ([#13876](https://github.com/googleapis/google-cloud-java/pull/13876)) ([5c6478](https://github.com/googleapis/google-cloud-java/commit/5c6478cfe19f0e6fed142f628f625a978a16f345)) + +## [6.119.0](https://github.com/googleapis/google-cloud-java/compare/6ce7a4941ef...73c9a0342f9) (2026-07-07) + +### Features + +* Add settings for gRCP keep-alive ([#13643](https://github.com/googleapis/google-cloud-java/pull/13643)) ([9d7830](https://github.com/googleapis/google-cloud-java/commit/9d783074a6d33fd8821cad4d130ad75e32501dde)) +* Auth login support for Spanner Omni endpoints ([#13470](https://github.com/googleapis/google-cloud-java/pull/13470)) ([55930b](https://github.com/googleapis/google-cloud-java/commit/55930b44ed3a4e9779a5f6fb0553b6642605d84a)) +* Use self-signed JWTs in Spanner MutableCredentials ([#13381](https://github.com/googleapis/google-cloud-java/pull/13381)) ([29543a](https://github.com/googleapis/google-cloud-java/commit/29543a23d7f80d908fc019fa39f612d5eba83b10)) + +### Bug Fixes + +* Update dynamic channel pool default configuration ([#13646](https://github.com/googleapis/google-cloud-java/pull/13646)) ([37b77c](https://github.com/googleapis/google-cloud-java/commit/37b77c3fbd509747ec10bd72e3227e4e7b2b22dc)) +* Remove explicit tink version to resolve dependency convergence conflict ([#13602](https://github.com/googleapis/google-cloud-java/pull/13602)) ([863c26](https://github.com/googleapis/google-cloud-java/commit/863c26e5dd90186899ae92c24024012d3d4492f6)) +* Pin inline read-write transactions to default endpoint ([#13562](https://github.com/googleapis/google-cloud-java/pull/13562)) ([6908de](https://github.com/googleapis/google-cloud-java/commit/6908deefbcb4f1e77b9a73b09a6ea96261a45846)) +* Fail fast when inline-begin DML returns no transaction id ([#13536](https://github.com/googleapis/google-cloud-java/pull/13536)) ([94315c](https://github.com/googleapis/google-cloud-java/commit/94315ce3d80eab06295cceabedb70077e65778da)) +* Fix edge cases with UTF-8 strings in ChecksumResultSet ([#13441](https://github.com/googleapis/google-cloud-java/pull/13441)) ([051aea](https://github.com/googleapis/google-cloud-java/commit/051aea7468c0492104c52f06f5537d6238284965)) + +## [6.118.0](https://github.com/googleapis/google-cloud-java/compare/4614cae94a1...6ce7a4941ef) (2026-06-03) + +### Features + +* Add option for inline begin with multi-use read only txn ([#13233](https://github.com/googleapis/google-cloud-java/pull/13233)) ([056abb](https://github.com/googleapis/google-cloud-java/commit/056abb639c87444d236cfe78275240db7f099617)) +* Add option for auto-tagging transactions ([#13214](https://github.com/googleapis/google-cloud-java/pull/13214)) ([c8234c](https://github.com/googleapis/google-cloud-java/commit/c8234cf81b3652e0410cc053dd92eed87c2f544b)) +* Enable SI relate feature in cloud client executor. ([#12790](https://github.com/googleapis/google-cloud-java/pull/12790)) ([e03efe](https://github.com/googleapis/google-cloud-java/commit/e03efe09ae599c50852eb665b80d5e090e5bfbd6)) +* Add getIsolationLevel and getReadLockMode methods to CommitResponse ([#13004](https://github.com/googleapis/google-cloud-java/pull/13004)) ([d5fc50](https://github.com/googleapis/google-cloud-java/commit/d5fc50451370cb058cc29be4221ce2777ac848c3)) + +### Bug Fixes + +* Derive built-in metrics project from database client ([#13262](https://github.com/googleapis/google-cloud-java/pull/13262)) ([a57793](https://github.com/googleapis/google-cloud-java/commit/a577934ff0b9784fdd89ff25e611d7f36e470559)) +* Cache auto-tagging options to avoid system property lock contention ([#13273](https://github.com/googleapis/google-cloud-java/pull/13273)) ([dc2fee](https://github.com/googleapis/google-cloud-java/commit/dc2feed3e4a933878b69336c441379dffe365a3b)) +* Avoid double grpc-gcp wrapping for directpath fallback ([#13155](https://github.com/googleapis/google-cloud-java/pull/13155)) ([fe608f](https://github.com/googleapis/google-cloud-java/commit/fe608fed0a0324b8c6e63e4f96e8a821bda99b6b)) + +### Dependencies + +* Upgrade opentelemetry to 1.62.0 to patch CVE-2026-45292 ([#13304](https://github.com/googleapis/google-cloud-java/pull/13304)) ([67fe72](https://github.com/googleapis/google-cloud-java/commit/67fe7228d1cdf0e3a34c52162e9c800fe348ba00)) + +## [6.117.0](https://github.com/googleapis/google-cloud-java/compare/cd6048171fc...4614cae94a1) (2026-05-05) + +### Features + +* Cleanup GcpFallbackChannel creation and enable by default ([#12707](https://github.com/googleapis/google-cloud-java/pull/12707)) ([525121](https://github.com/googleapis/google-cloud-java/commit/5251219a7780189b65dbb639d8d88899377c038c)) +* Add connection properties for min/max RPCs for DCP ([#12951](https://github.com/googleapis/google-cloud-java/pull/12951)) ([dc1216](https://github.com/googleapis/google-cloud-java/commit/dc1216ed25da0ec05f955343d45f7889fb9c7276)) +* Add connection property for enabling/disabling grpc-gcp ([#12898](https://github.com/googleapis/google-cloud-java/pull/12898)) ([1e633d](https://github.com/googleapis/google-cloud-java/commit/1e633d785f8bae4ef3f4eee4c15d3993a0560508)) + ## [6.116.1](https://github.com/googleapis/google-cloud-java/compare/966e8a4d99b...cd6048171fc) (2026-04-21) ### Features diff --git a/java-spanner/README.md b/java-spanner/README.md index 20b7c1dcc675..d3d5b7a8dabe 100644 --- a/java-spanner/README.md +++ b/java-spanner/README.md @@ -155,7 +155,7 @@ Cloud Spanner client supports [client-side metrics](https://cloud.google.com/spa Client-side metrics are measured from the time a request leaves your application to the time your application receives the response. In contrast, server-side metrics are measured from the time Spanner receives a request until the last byte of data is sent to the client. -These metrics are enabled by default. You can opt out of using client-side metrics with the following code: +The default Cloud Monitoring export for these metrics is enabled by default. You can opt out of the default Cloud Monitoring export with the following code: ``` SpannerOptions options = SpannerOptions.newBuilder() @@ -163,9 +163,49 @@ SpannerOptions options = SpannerOptions.newBuilder() .build(); ``` -You can also disable these metrics by setting `SPANNER_DISABLE_BUILTIN_METRICS` to `true`. +You can also disable the default Cloud Monitoring export by setting `SPANNER_DISABLE_BUILTIN_METRICS` to `true`. These controls affect only the Cloud Monitoring export. They do not affect a caller-owned client-metrics export configured with `CustomOpenTelemetryMetricsProvider`. -> Note: Client-side metrics needs `monitoring.timeSeries.create` IAM permission to export metrics data. Ask your administrator to grant your service account the [Monitoring Metric Writer](https://cloud.google.com/iam/docs/roles-permissions/monitoring#monitoring.metricWriter) (roles/monitoring.metricWriter) IAM role on the project. +> Note: Client-side metrics needs `monitoring.timeSeries.create` IAM permission to export metrics data to Cloud Monitoring. Ask your administrator to grant your service account the [Monitoring Metric Writer](https://cloud.google.com/iam/docs/roles-permissions/monitoring#monitoring.metricWriter) (roles/monitoring.metricWriter) IAM role on the project. + +#### Exporting client metrics to OpenTelemetry + +Client metrics export to a caller-owned OpenTelemetry destination is controlled by a `MetricsProvider`, +set with `SpannerOptions.Builder.setClientMetricsProvider(MetricsProvider)`. The available +providers are: + +* `DefaultMetricsProvider` (the default): no caller-owned client-metrics destination is configured. + The built-in Cloud Monitoring export follows `setBuiltInMetricsEnabled` and the + `SPANNER_DISABLE_BUILTIN_METRICS` environment variable. On Spanner Omni, where the Cloud Monitoring + export is not available, the default provider results in no client-metrics export. +* `NoopMetricsProvider`: caller-owned client metrics are explicitly disabled. The Cloud Monitoring + export is controlled separately. +* `CustomOpenTelemetryMetricsProvider`: the same Spanner client instruments are additionally recorded + on an `OpenTelemetry` instance that you provide. You own the metrics pipeline (readers, exporters + and resource). This custom destination is independent of the built-in Cloud Monitoring export on all + instance types, including Spanner Omni (`InstanceType.OMNI`), for which Cloud Monitoring export is + not available. + +Client metrics are not recorded when the client runs against the Spanner emulator, regardless of the +configured `MetricsProvider`. gRPC-layer metrics are recorded on a custom destination only when the +provided `OpenTelemetry` instance is an `OpenTelemetrySdk`. + +When using `CustomOpenTelemetryMetricsProvider`, it is recommended to register the Spanner +client-metrics views on a dedicated `SdkMeterProviderBuilder` with +`SpannerMetrics.configureMeterProviderBuilder(SdkMeterProviderBuilder)` before creating the +`OpenTelemetry` instance. The views rename the raw instruments, apply the Spanner latency +histogram buckets and restrict the recorded attributes to the supported client-metric labels. + +```java +SdkMeterProviderBuilder meterProviderBuilder = + SdkMeterProvider.builder().registerMetricReader(PeriodicMetricReader.create(myExporter)); +SpannerMetrics.configureMeterProviderBuilder(meterProviderBuilder); +OpenTelemetry openTelemetry = + OpenTelemetrySdk.builder().setMeterProvider(meterProviderBuilder.build()).build(); +SpannerOptions options = + SpannerOptions.newBuilder() + .setClientMetricsProvider(CustomOpenTelemetryMetricsProvider.create(openTelemetry)) + .build(); +``` ## Traces Cloud Spanner client supports OpenTelemetry Traces, which gives insight into the client internals and aids in debugging/troubleshooting production issues. diff --git a/java-spanner/benchmarks/pom.xml b/java-spanner/benchmarks/pom.xml index a68dc9a7f8a3..e0e665a902bb 100644 --- a/java-spanner/benchmarks/pom.xml +++ b/java-spanner/benchmarks/pom.xml @@ -24,7 +24,7 @@ com.google.cloud google-cloud-spanner-parent - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT @@ -59,7 +59,7 @@ com.google.cloud google-cloud-monitoring - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT io.opentelemetry diff --git a/java-spanner/google-cloud-spanner-bom/pom.xml b/java-spanner/google-cloud-spanner-bom/pom.xml index b10eaa88410e..a9e14b88f137 100644 --- a/java-spanner/google-cloud-spanner-bom/pom.xml +++ b/java-spanner/google-cloud-spanner-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-spanner-bom - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -53,43 +53,43 @@ com.google.cloud google-cloud-spanner - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT com.google.cloud google-cloud-spanner test-jar - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-admin-instance-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-admin-database-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-admin-instance-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-admin-database-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT
diff --git a/java-spanner/google-cloud-spanner-executor/pom.xml b/java-spanner/google-cloud-spanner-executor/pom.xml index 0eaaa8866537..100a01457789 100644 --- a/java-spanner/google-cloud-spanner-executor/pom.xml +++ b/java-spanner/google-cloud-spanner-executor/pom.xml @@ -5,14 +5,14 @@ 4.0.0 com.google.cloud google-cloud-spanner-executor - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT jar Google Cloud Spanner Executor com.google.cloud google-cloud-spanner-parent - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT diff --git a/java-spanner/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java b/java-spanner/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java index 4657149a7cf0..bd6b96219a1c 100644 --- a/java-spanner/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java +++ b/java-spanner/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java @@ -2462,14 +2462,10 @@ private Status executeExecuteChangeStreamQuery( // For initial partition query (no partition token) we simulate precision of the timestamp // in nanoseconds as that's closer inlined with the production client code. - String startTime = - timestampToString( - !action.hasPartitionToken(), Timestamps.toMicros(action.getStartTime())); + String startTime = timestampToString(false, Timestamps.toMicros(action.getStartTime())); String endTime = "null"; if (action.hasEndTime()) { - endTime = - timestampToString( - !action.hasPartitionToken(), Timestamps.toMicros(action.getEndTime())); + endTime = timestampToString(false, Timestamps.toMicros(action.getEndTime())); } String heartbeat = "null"; if (action.hasHeartbeatMilliseconds()) { diff --git a/java-spanner/google-cloud-spanner-executor/src/main/java/com/google/cloud/spanner/executor/v1/stub/Version.java b/java-spanner/google-cloud-spanner-executor/src/main/java/com/google/cloud/spanner/executor/v1/stub/Version.java index 213930ba072a..48a2ab0575e4 100644 --- a/java-spanner/google-cloud-spanner-executor/src/main/java/com/google/cloud/spanner/executor/v1/stub/Version.java +++ b/java-spanner/google-cloud-spanner-executor/src/main/java/com/google/cloud/spanner/executor/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-spanner:current} - static final String VERSION = "6.120.0-SNAPSHOT"; + static final String VERSION = "6.121.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-spanner/google-cloud-spanner/pom.xml b/java-spanner/google-cloud-spanner/pom.xml index 1a1077fbef78..ee616862dcd5 100644 --- a/java-spanner/google-cloud-spanner/pom.xml +++ b/java-spanner/google-cloud-spanner/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-spanner - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT jar Google Cloud Spanner https://github.com/googleapis/google-cloud-java @@ -11,7 +11,7 @@ com.google.cloud google-cloud-spanner-parent - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT google-cloud-spanner @@ -314,7 +314,7 @@ com.google.cloud google-cloud-monitoring - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT @@ -326,7 +326,7 @@ com.google.api.grpc proto-google-cloud-monitoring-v3 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT @@ -338,7 +338,7 @@ com.google.api.grpc grpc-google-cloud-monitoring-v3 - 3.96.0-SNAPSHOT + 3.97.0-SNAPSHOT test @@ -533,13 +533,13 @@ com.google.cloud google-cloud-trace - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT test com.google.api.grpc proto-google-cloud-trace-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT test diff --git a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/BuiltInMetricsConstant.java b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/BuiltInMetricsConstant.java index 76291a53458c..81461a508dda 100644 --- a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/BuiltInMetricsConstant.java +++ b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/BuiltInMetricsConstant.java @@ -25,6 +25,7 @@ import com.google.common.collect.ImmutableSet; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.sdk.metrics.Aggregation; +import io.opentelemetry.sdk.metrics.ExplicitBucketHistogramOptions; import io.opentelemetry.sdk.metrics.InstrumentSelector; import io.opentelemetry.sdk.metrics.InstrumentType; import io.opentelemetry.sdk.metrics.View; @@ -40,6 +41,16 @@ public class BuiltInMetricsConstant { public static final String METER_NAME = "spanner.googleapis.com/internal/client"; + + /** + * Instrument namespace used when client metrics are recorded on a caller-provided {@link + * io.opentelemetry.api.OpenTelemetry} via {@link CustomOpenTelemetryMetricsProvider}. This is + * deliberately distinct from the reserved {@code spanner.googleapis.com} namespace, so that + * re-exporting a caller-owned pipeline to Cloud Monitoring cannot conflict with the curated + * Spanner metric descriptors. + */ + public static final String CUSTOM_EXPORT_METER_NAME = "spanner/client"; + public static final String GAX_METER_NAME = OpenTelemetryMetricsRecorder.GAX_METER_NAME; public static final String GRPC_GCP_METER_NAME = "grpc-gcp"; static final String SPANNER_METER_NAME = "spanner-java"; @@ -168,6 +179,7 @@ public class BuiltInMetricsConstant { AttributeKey.stringKey("directpath_used"); public static final AttributeKey REQUEST_ID_KEY = AttributeKey.stringKey(REQUEST_ID_HEADER_NAME); + public static Set ALLOWED_EXEMPLARS_ATTRIBUTES = new HashSet<>(Arrays.asList(REQUEST_ID_HEADER_NAME)); @@ -197,7 +209,8 @@ public class BuiltInMetricsConstant { 200.0, 250.0, 300.0, 400.0, 500.0, 650.0, 800.0, 1000.0, 2000.0, 5000.0, 10000.0, 20000.0, 50000.0, 100000.0, 200000.0, 400000.0, 800000.0, 1600000.0, 3200000.0); static Aggregation AGGREGATION_WITH_MILLIS_HISTOGRAM = - Aggregation.explicitBucketHistogram(BUCKET_BOUNDARIES); + Aggregation.explicitBucketHistogram( + ExplicitBucketHistogramOptions.builder().setBucketBoundaries(BUCKET_BOUNDARIES).build()); static final Collection GRPC_METRICS_ENABLED_BY_DEFAULT = ImmutableList.of( @@ -208,8 +221,29 @@ public class BuiltInMetricsConstant { static Map getAllViews() { ImmutableMap.Builder views = ImmutableMap.builder(); + addViews(views, METER_NAME); + defineGrpcGcpView(views); + return views.build(); + } + + /** + * Views for client metrics recorded on a caller-provided OpenTelemetry via {@link + * CustomOpenTelemetryMetricsProvider}. The instruments live in the {@link + * #CUSTOM_EXPORT_METER_NAME} namespace. The grpc-gcp DirectPath-fallback views are deliberately + * excluded: those metrics are only recorded on the Cloud Monitoring path, so registering their + * views on a custom sink would be dead configuration. + */ + static Map getCustomExportViews() { + ImmutableMap.Builder views = ImmutableMap.builder(); + addViews(views, CUSTOM_EXPORT_METER_NAME); + return views.build(); + } + + private static void addViews( + ImmutableMap.Builder views, String metricPrefix) { defineView( views, + metricPrefix, BuiltInMetricsConstant.GAX_METER_NAME, BuiltInMetricsConstant.OPERATION_LATENCY_NAME, BuiltInMetricsConstant.OPERATION_LATENCIES_NAME, @@ -218,6 +252,7 @@ static Map getAllViews() { "ms"); defineView( views, + metricPrefix, BuiltInMetricsConstant.GAX_METER_NAME, BuiltInMetricsConstant.ATTEMPT_LATENCY_NAME, BuiltInMetricsConstant.ATTEMPT_LATENCIES_NAME, @@ -226,6 +261,7 @@ static Map getAllViews() { "ms"); defineView( views, + metricPrefix, BuiltInMetricsConstant.GAX_METER_NAME, BuiltInMetricsConstant.OPERATION_COUNT_NAME, BuiltInMetricsConstant.OPERATION_COUNT_NAME, @@ -234,6 +270,7 @@ static Map getAllViews() { "1"); defineView( views, + metricPrefix, BuiltInMetricsConstant.GAX_METER_NAME, BuiltInMetricsConstant.ATTEMPT_COUNT_NAME, BuiltInMetricsConstant.ATTEMPT_COUNT_NAME, @@ -241,13 +278,18 @@ static Map getAllViews() { InstrumentType.COUNTER, "1"); defineSpannerView(views); - defineGRPCView(views); - defineGrpcGcpView(views); - return views.build(); + defineGRPCView(views, metricPrefix); + } + + private static Set baseAttributesFilter() { + return BuiltInMetricsConstant.COMMON_ATTRIBUTES.stream() + .map(AttributeKey::getKey) + .collect(Collectors.toCollection(HashSet::new)); } private static void defineView( ImmutableMap.Builder viewMap, + String metricPrefix, String meterName, String metricName, String metricViewName, @@ -256,20 +298,16 @@ private static void defineView( String unit) { InstrumentSelector selector = InstrumentSelector.builder() - .setName(BuiltInMetricsConstant.METER_NAME + '/' + metricName) + .setName(metricPrefix + '/' + metricName) .setMeterName(meterName) .setType(type) .setUnit(unit) .build(); - Set attributesFilter = - BuiltInMetricsConstant.COMMON_ATTRIBUTES.stream() - .map(AttributeKey::getKey) - .collect(Collectors.toSet()); View view = View.builder() - .setName(BuiltInMetricsConstant.METER_NAME + '/' + metricViewName) + .setName(metricPrefix + '/' + metricViewName) .setAggregation(aggregation) - .setAttributeFilter(attributesFilter) + .setAttributeFilter(baseAttributesFilter()) .build(); viewMap.put(selector, view); } @@ -279,31 +317,25 @@ private static void defineSpannerView(ImmutableMap.Builder attributesFilter = - BuiltInMetricsConstant.COMMON_ATTRIBUTES.stream() - .map(AttributeKey::getKey) - .collect(Collectors.toSet()); - View view = View.builder().setAttributeFilter(attributesFilter).build(); + View view = View.builder().setAttributeFilter(baseAttributesFilter()).build(); viewMap.put(selector, view); } - private static void defineGRPCView(ImmutableMap.Builder viewMap) { + private static void defineGRPCView( + ImmutableMap.Builder viewMap, String metricPrefix) { for (String metric : BuiltInMetricsConstant.GRPC_METRICS_TO_ENABLE) { InstrumentSelector selector = InstrumentSelector.builder() .setName(metric) .setMeterName(BuiltInMetricsConstant.GRPC_METER_NAME) .build(); - Set attributesFilter = - BuiltInMetricsConstant.COMMON_ATTRIBUTES.stream() - .map(AttributeKey::getKey) - .collect(Collectors.toSet()); + Set attributesFilter = baseAttributesFilter(); attributesFilter.addAll( GRPC_METRIC_ADDITIONAL_ATTRIBUTES.getOrDefault(metric, ImmutableSet.of())); View view = View.builder() - .setName(BuiltInMetricsConstant.METER_NAME + '/' + metric.replace(".", "/")) + .setName(metricPrefix + '/' + metric.replace(".", "/")) .setAttributeFilter(attributesFilter) .build(); viewMap.put(selector, view); @@ -318,11 +350,7 @@ private static void defineGrpcGcpView(ImmutableMap.Builder attributesFilter = - BuiltInMetricsConstant.COMMON_ATTRIBUTES.stream() - .map(AttributeKey::getKey) - .collect(Collectors.toSet()); - + Set attributesFilter = baseAttributesFilter(); attributesFilter.addAll( GRPC_GCP_METRIC_ADDITIONAL_ATTRIBUTES.getOrDefault(metric, ImmutableSet.of())); diff --git a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/BuiltInMetricsProvider.java b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/BuiltInMetricsProvider.java index 8c73b0c1a813..e43d848671af 100644 --- a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/BuiltInMetricsProvider.java +++ b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/BuiltInMetricsProvider.java @@ -128,6 +128,16 @@ synchronized OpenTelemetry getOpenTelemetry() { return this.openTelemetry; } + /** + * Injects the Cloud Monitoring OpenTelemetry so that {@link #getOrCreateOpenTelemetry} returns it + * instead of building one backed by the live Cloud Monitoring exporter. Used to observe the + * reserved-namespace sink in-memory in tests. + */ + @VisibleForTesting + synchronized void setOpenTelemetry(OpenTelemetry openTelemetry) { + this.openTelemetry = openTelemetry; + } + synchronized String getProjectId() { return this.projectId; } @@ -186,11 +196,22 @@ void enableGrpcMetrics( @Nullable Credentials credentials, @Nullable String monitoringHost, String universeDomain) { + enableGrpcMetrics( + channelProviderBuilder, + this.getOrCreateOpenTelemetry(projectId, credentials, monitoringHost, universeDomain)); + } + + /** + * Wires gRPC-layer metrics into the channel builder using the given OpenTelemetry instance + * instead of the process-wide Cloud Monitoring one. Used for {@link + * CustomOpenTelemetryMetricsProvider}; does not touch any state of this singleton. + */ + void enableGrpcMetrics( + InstantiatingGrpcChannelProvider.Builder channelProviderBuilder, + OpenTelemetry openTelemetry) { GrpcOpenTelemetry grpcOpenTelemetry = GrpcOpenTelemetry.newBuilder() - .sdk( - this.getOrCreateOpenTelemetry( - projectId, credentials, monitoringHost, universeDomain)) + .sdk(openTelemetry) .enableMetrics(BuiltInMetricsConstant.GRPC_METRICS_TO_ENABLE) // Disable gRPCs default metrics as they are not needed for Spanner. .disableMetrics(BuiltInMetricsConstant.GRPC_METRICS_ENABLED_BY_DEFAULT) diff --git a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/BuiltInMetricsView.java b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/BuiltInMetricsView.java index e72eeb9425a4..73a3738e8dcc 100644 --- a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/BuiltInMetricsView.java +++ b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/BuiltInMetricsView.java @@ -24,7 +24,7 @@ class BuiltInMetricsView { private BuiltInMetricsView() {} - /** Register built-in metrics on the {@link SdkMeterProviderBuilder} with credentials. */ + /** Registers Cloud Monitoring built-in metrics views and exporter on the builder. */ static void registerBuiltinMetrics( MetricExporter metricExporter, SdkMeterProviderBuilder builder) { BuiltInMetricsConstant.getAllViews().forEach(builder::registerView); diff --git a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/CustomOpenTelemetryMetricsProvider.java b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/CustomOpenTelemetryMetricsProvider.java new file mode 100644 index 000000000000..3585b63262b5 --- /dev/null +++ b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/CustomOpenTelemetryMetricsProvider.java @@ -0,0 +1,93 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.spanner; + +import com.google.common.base.Preconditions; +import io.opentelemetry.api.OpenTelemetry; + +/** + * A {@link MetricsProvider} that records Spanner client metrics on a caller-provided {@link + * OpenTelemetry} instance. The caller owns the metrics pipeline (readers, exporters and resource); + * Spanner only records the client metric instruments on it. The caller-owned sink is never exported + * to Google Cloud Monitoring by the Spanner client and is independent of the built-in Cloud + * Monitoring export. + * + *

Metrics recorded through this provider use the {@code spanner/client/} instrument namespace + * instead of the reserved {@code spanner.googleapis.com/internal/client/} namespace that is used + * for the Cloud Monitoring export, so that re-exporting the caller-owned pipeline to Cloud + * Monitoring does not conflict with the curated Spanner metric descriptors. + * + *

It is recommended to register the Spanner client-metrics views on the {@link + * io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder} with {@link + * SpannerMetrics#configureMeterProviderBuilder(io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder)} + * before creating the {@link OpenTelemetry} instance. Without the views, metrics are still + * recorded, but with the raw instrument names, default histogram buckets and without attribute + * filtering. When registering the views, use a meter provider that is dedicated to Spanner client + * metrics; see {@link + * SpannerMetrics#configureMeterProviderBuilder(io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder)} + * for details. + * + *

gRPC-layer metrics are only recorded if the given {@link OpenTelemetry} instance is an + * instance of {@link io.opentelemetry.sdk.OpenTelemetrySdk}; for any other implementation they are + * skipped. All other client metrics work with any {@link OpenTelemetry} implementation. + * + *

Client metrics are not recorded when the client runs against the Spanner emulator, regardless + * of the configured {@link MetricsProvider}; the caller-owned sink is inactive in that mode. + * + *

This provider is independent of the default Cloud Monitoring export: the caller-owned + * destination recorded here keeps recording even when the Cloud Monitoring (GCM) sink is disabled + * via {@link SpannerOptions.Builder#setBuiltInMetricsEnabled(boolean)} or the {@code + * SPANNER_DISABLE_BUILTIN_METRICS} environment variable. On {@link + * SpannerOptions.InstanceType#OMNI} clients, where the GCM sink is never active, this provider is + * the way to export client metrics. + * + *

Example usage: + * + *

{@code
+ * SdkMeterProviderBuilder meterProviderBuilder =
+ *     SdkMeterProvider.builder().registerMetricReader(PeriodicMetricReader.create(myExporter));
+ * SpannerMetrics.configureMeterProviderBuilder(meterProviderBuilder);
+ * OpenTelemetry openTelemetry =
+ *     OpenTelemetrySdk.builder().setMeterProvider(meterProviderBuilder.build()).build();
+ * SpannerOptions options =
+ *     SpannerOptions.newBuilder()
+ *         .setClientMetricsProvider(CustomOpenTelemetryMetricsProvider.create(openTelemetry))
+ *         .build();
+ * }
+ */ +public final class CustomOpenTelemetryMetricsProvider implements MetricsProvider { + + private final OpenTelemetry openTelemetry; + + private CustomOpenTelemetryMetricsProvider(OpenTelemetry openTelemetry) { + this.openTelemetry = openTelemetry; + } + + /** + * Creates a provider that records Spanner client metrics on the given caller-owned {@link + * OpenTelemetry} instance. + */ + public static CustomOpenTelemetryMetricsProvider create(OpenTelemetry openTelemetry) { + Preconditions.checkNotNull(openTelemetry, "openTelemetry cannot be null"); + return new CustomOpenTelemetryMetricsProvider(openTelemetry); + } + + /** Returns the caller-owned {@link OpenTelemetry} instance used for client metrics. */ + public OpenTelemetry getOpenTelemetry() { + return openTelemetry; + } +} diff --git a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/DefaultMetricsProvider.java b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/DefaultMetricsProvider.java new file mode 100644 index 000000000000..f1b3c9d5bcb5 --- /dev/null +++ b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/DefaultMetricsProvider.java @@ -0,0 +1,30 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.spanner; + +/** + * The default {@link MetricsProvider}: no caller-owned client-metrics destination is configured. + * Built-in Cloud Monitoring export is controlled separately by {@link + * SpannerOptions.Builder#setBuiltInMetricsEnabled(boolean)} and the {@code + * SPANNER_DISABLE_BUILTIN_METRICS} environment variable. + */ +public final class DefaultMetricsProvider implements MetricsProvider { + + public static final DefaultMetricsProvider INSTANCE = new DefaultMetricsProvider(); + + private DefaultMetricsProvider() {} +} diff --git a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/MetricsProvider.java b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/MetricsProvider.java new file mode 100644 index 000000000000..c3cafd0881b2 --- /dev/null +++ b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/MetricsProvider.java @@ -0,0 +1,39 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.spanner; + +import com.google.api.core.InternalExtensionOnly; + +/** + * Provider for Spanner client metrics exported to a caller-owned OpenTelemetry destination. This is + * independent of the built-in Cloud Monitoring export controlled by {@link + * SpannerOptions.Builder#setBuiltInMetricsEnabled(boolean)}. + * + *

The available providers are: + * + *

    + *
  • {@link DefaultMetricsProvider}: No caller-owned client-metrics destination is configured. + * This is the default. On {@link SpannerOptions.InstanceType#OMNI}, where the Cloud + * Monitoring export is not available, this means no client metrics are exported. + *
  • {@link NoopMetricsProvider}: Caller-owned client metrics are explicitly disabled. The Cloud + * Monitoring export is controlled separately. + *
  • {@link CustomOpenTelemetryMetricsProvider}: The same Spanner client instruments are + * recorded on a caller-provided {@link io.opentelemetry.api.OpenTelemetry} instance. + *
+ */ +@InternalExtensionOnly +public interface MetricsProvider {} diff --git a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/NoopMetricsProvider.java b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/NoopMetricsProvider.java new file mode 100644 index 000000000000..d12c1caa48f5 --- /dev/null +++ b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/NoopMetricsProvider.java @@ -0,0 +1,29 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.spanner; + +/** + * A {@link MetricsProvider} that disables caller-owned client-metrics export. This does not affect + * the built-in Cloud Monitoring export controlled by {@link + * SpannerOptions.Builder#setBuiltInMetricsEnabled(boolean)}. + */ +public final class NoopMetricsProvider implements MetricsProvider { + + public static final NoopMetricsProvider INSTANCE = new NoopMetricsProvider(); + + private NoopMetricsProvider() {} +} diff --git a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerMetrics.java b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerMetrics.java new file mode 100644 index 000000000000..b39f840b2df3 --- /dev/null +++ b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerMetrics.java @@ -0,0 +1,47 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.spanner; + +import com.google.common.base.Preconditions; +import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder; + +/** Utility methods for configuring Spanner client metrics. */ +public final class SpannerMetrics { + private SpannerMetrics() {} + + /** + * Applies the Spanner client-metrics views to a caller-owned {@link SdkMeterProviderBuilder}. + * Recommended (but not required) when using {@link CustomOpenTelemetryMetricsProvider}: the views + * rename the raw instruments to the exported {@code spanner/client/...} metric names, apply the + * Spanner latency histogram bucket boundaries, and restrict the recorded attributes to the + * supported client-metric labels. Without the views, metrics are still recorded with the raw + * instrument names, default buckets and unfiltered attributes. + * + *

Use a dedicated {@link SdkMeterProviderBuilder} (and resulting meter provider) for the + * Spanner client metrics, not one that is shared with other instrumentation. Some of the + * registered views select generic gRPC instruments (for example {@code + * grpc.client.attempt.duration} on the {@code grpc-java} meter), so on a shared meter provider + * they would also rename metrics recorded by unrelated gRPC clients into the {@code + * spanner/client} namespace and filter their attributes down to the Spanner client-metric labels. + * + *

Register the views at most once per {@link SdkMeterProviderBuilder}. + */ + public static void configureMeterProviderBuilder(SdkMeterProviderBuilder meterProviderBuilder) { + Preconditions.checkNotNull(meterProviderBuilder, "meterProviderBuilder cannot be null"); + BuiltInMetricsConstant.getCustomExportViews().forEach(meterProviderBuilder::registerView); + } +} diff --git a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java index 0a9c619b763d..3dc14d44c8f6 100644 --- a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java +++ b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java @@ -89,6 +89,7 @@ import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.sdk.OpenTelemetrySdk; import java.io.File; import java.io.IOException; import java.net.MalformedURLException; @@ -110,12 +111,15 @@ import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; +import java.util.logging.Level; +import java.util.logging.Logger; import javax.annotation.Nonnull; import javax.annotation.Nullable; /** Options for the Cloud Spanner service. */ public class SpannerOptions extends ServiceOptions { private static final long serialVersionUID = 2789571558532701170L; + private static final Logger logger = Logger.getLogger(SpannerOptions.class.getName()); private static SpannerEnvironment environment = SpannerEnvironmentImpl.INSTANCE; private static boolean enableOpenCensusMetrics = true; private static boolean enableOpenTelemetryMetrics = false; @@ -299,6 +303,7 @@ static GcpChannelPoolOptions mergeWithDefaultChannelPoolOptions( private final CallCredentialsProvider callCredentialsProvider; private final CloseableExecutorProvider asyncExecutorProvider; private final String compressorName; + private final String emulatorHost; private final boolean leaderAwareRoutingEnabled; private final boolean enableDirectAccess; private final boolean enableGcpFallback; @@ -306,7 +311,10 @@ static GcpChannelPoolOptions mergeWithDefaultChannelPoolOptions( private final boolean useVirtualThreads; private final OpenTelemetry openTelemetry; private final boolean enableApiTracing; + private final boolean rawEnableBuiltInMetrics; private final boolean enableBuiltInMetrics; + private final MetricsProvider metricsProvider; + private final MetricsProvider resolvedMetricsProvider; private final boolean enableLocationApi; private final boolean enableExtendedTracing; private final boolean enableEndToEndTracing; @@ -993,6 +1001,7 @@ protected SpannerOptions(Builder builder) { callCredentialsProvider = builder.callCredentialsProvider; asyncExecutorProvider = builder.asyncExecutorProvider; compressorName = builder.compressorName; + emulatorHost = builder.emulatorHost; leaderAwareRoutingEnabled = builder.leaderAwareRoutingEnabled; enableDirectAccess = builder.enableDirectAccess; enableGcpFallback = builder.enableGcpFallback; @@ -1001,11 +1010,26 @@ protected SpannerOptions(Builder builder) { openTelemetry = builder.openTelemetry; enableApiTracing = builder.enableApiTracing; enableExtendedTracing = builder.enableExtendedTracing; + // Resolve the client-metrics provider and the Cloud Monitoring (GCM) built-in metrics flag + // independently. The built-in metrics flag/env controls only the GCM sink; the client-metrics + // provider controls only the caller-owned OpenTelemetry sink. + // - Non-OMNI: GCM is gated by enableBuiltInMetrics/env. A custom provider records the same + // client instruments to the caller-owned spanner/client namespace regardless of that flag. + // - OMNI: GCM is always off (the backend rejects reserved-namespace writes). The Default + // provider is coerced to Noop, while a custom provider records client metrics regardless of + // enableBuiltInMetrics/env. + rawEnableBuiltInMetrics = builder.enableBuiltInMetrics; + metricsProvider = builder.metricsProvider; + MetricsProvider resolved = builder.metricsProvider; if (builder.instanceType == InstanceType.OMNI) { + if (resolved instanceof DefaultMetricsProvider) { + resolved = NoopMetricsProvider.INSTANCE; + } enableBuiltInMetrics = false; } else { enableBuiltInMetrics = builder.enableBuiltInMetrics; } + resolvedMetricsProvider = resolved; // Enable location API when InstanceType is OMNI, unless explicitly disabled // via GOOGLE_SPANNER_EXPERIMENTAL_LOCATION_API=false. if (builder.instanceType == InstanceType.OMNI) { @@ -1337,6 +1361,7 @@ private static Builder prepareBuilder(Builder builder) { private boolean enableExtendedTracing = SpannerOptions.environment.isEnableExtendedTracing(); private boolean enableEndToEndTracing = SpannerOptions.environment.isEnableEndToEndTracing(); private boolean enableBuiltInMetrics = SpannerOptions.environment.isEnableBuiltInMetrics(); + private MetricsProvider metricsProvider = DefaultMetricsProvider.INSTANCE; private boolean enableLocationApi = SpannerOptions.environment.isEnableLocationApi(); private String monitoringHost = SpannerOptions.environment.getMonitoringHost(); private SslContext mTLSContext = null; @@ -1409,11 +1434,7 @@ protected Builder() { Builder(SpannerOptions options) { super(options); - if (options.getHost() != null - && this.emulatorHost != null - && !options.getHost().equals(this.emulatorHost)) { - this.emulatorHost = null; - } + this.emulatorHost = options.emulatorHost; this.numChannels = options.numChannels; this.transportChannelExecutorThreadNameFormat = options.transportChannelExecutorThreadNameFormat; @@ -1450,7 +1471,8 @@ protected Builder() { this.useVirtualThreads = options.useVirtualThreads; this.enableApiTracing = options.enableApiTracing; this.enableExtendedTracing = options.enableExtendedTracing; - this.enableBuiltInMetrics = options.enableBuiltInMetrics; + this.enableBuiltInMetrics = options.rawEnableBuiltInMetrics; + this.metricsProvider = options.metricsProvider; this.enableLocationApi = options.enableLocationApi; this.enableEndToEndTracing = options.enableEndToEndTracing; this.monitoringHost = options.monitoringHost; @@ -2180,14 +2202,46 @@ public Builder setEnableApiTracing(boolean enableApiTracing) { } /** - * Sets whether to enable or disable built in metrics for Data client operations. Built in - * metrics are enabled by default. + * Sets whether to enable or disable the Cloud Monitoring export destination for Spanner + * built-in client metrics. Built-in metrics are enabled by default. + * + *

This flag controls only the default Cloud Monitoring (GCM) export destination on non-Omni + * clients. It has no effect on a client-metrics provider configured with {@link + * #setClientMetricsProvider(MetricsProvider)}; that caller-owned OpenTelemetry destination is + * controlled separately by the configured provider. + * + *

On {@link InstanceType#OMNI} clients the GCM sink is unavailable, so this flag does not + * enable Cloud Monitoring export there. */ public Builder setBuiltInMetricsEnabled(boolean enableBuiltInMetrics) { this.enableBuiltInMetrics = enableBuiltInMetrics; return this; } + /** + * Sets the {@link MetricsProvider} that controls client-metrics export to a caller-owned + * OpenTelemetry destination. Defaults to {@link DefaultMetricsProvider#INSTANCE}, which does + * not configure a caller-owned destination. Use {@link NoopMetricsProvider#INSTANCE} to disable + * caller-owned client metrics explicitly, or {@link CustomOpenTelemetryMetricsProvider} to + * record the same Spanner client instruments on a caller-provided {@link OpenTelemetry} + * instance. + * + *

Client metrics are independent of the built-in Cloud Monitoring (GCM) export controlled by + * {@link #setBuiltInMetricsEnabled(boolean)} and the {@code SPANNER_DISABLE_BUILTIN_METRICS} + * environment variable. A custom client-metrics provider keeps recording when the GCM sink is + * disabled. On non-Omni clients, the GCM and client-metrics destinations can both be active. On + * {@link InstanceType#OMNI} clients, the GCM sink is unavailable and a custom provider is the + * way to export client metrics. + * + *

Client metrics are not recorded when the client runs against the Spanner emulator, + * regardless of the configured {@link MetricsProvider}. + */ + public Builder setClientMetricsProvider(MetricsProvider metricsProvider) { + this.metricsProvider = + Preconditions.checkNotNull(metricsProvider, "metricsProvider cannot be null"); + return this; + } + /** Sets the monitoring host to be used for Built-in client side metrics */ @Deprecated @ObsoleteApi( @@ -2323,7 +2377,8 @@ public SpannerOptions build() { if (!emulatorHost.startsWith("http")) { emulatorHost = "http://" + emulatorHost; } - this.setHost(emulatorHost); + this.host = emulatorHost; + super.setHost(this.host); // Channels are secure by default (via SSL/TLS). For the example we disable TLS to avoid // needing certificates. this.setChannelConfigurator(ManagedChannelBuilder::usePlaintext); @@ -2643,8 +2698,38 @@ public OpenTelemetry getBuiltInOpenTelemetry() { this.getProjectId(), getCredentials(), this.monitoringHost, getUniverseDomain()); } + /** + * Wires gRPC-layer built-in metrics into the given channel provider builder using the + * pre-emulator-aware behavior. + * + * @deprecated for internal callers only. Use {@link #enablegRPCMetrics( + * InstantiatingGrpcChannelProvider.Builder, boolean)}. + */ + @Deprecated + @InternalApi public void enablegRPCMetrics(InstantiatingGrpcChannelProvider.Builder channelProviderBuilder) { - if (isEnableBuiltInMetrics() && SpannerOptions.environment.isEnableGRPCBuiltInMetrics()) { + enablegRPCMetrics(channelProviderBuilder, /* isEmulatorEnabled= */ false); + } + + /** + * Wires gRPC-layer built-in metrics into the given channel provider builder for each active + * metrics sink: the Cloud Monitoring (GCM) sink when {@link #isEnableBuiltInMetrics()} is true, + * and the caller-owned OpenTelemetry sink when a {@link CustomOpenTelemetryMetricsProvider} is + * configured. Does nothing when {@code isEmulatorEnabled} is true or gRPC built-in metrics are + * disabled via the environment. + */ + @InternalApi + public void enablegRPCMetrics( + InstantiatingGrpcChannelProvider.Builder channelProviderBuilder, boolean isEmulatorEnabled) { + if (isEmulatorEnabled || !SpannerOptions.environment.isEnableGRPCBuiltInMetrics()) { + return; + } + // The GCM and client-metrics sinks are independent; wire each active sink onto the channel. + // grpc-java + // records each instrument once per GrpcOpenTelemetry instance, so wiring two instances onto one + // channel does not double-count attempt/operation metrics (verified by + // GrpcMetricsDualWireTest). + if (isEnableBuiltInMetrics()) { this.builtInMetricsProvider.enableGrpcMetrics( channelProviderBuilder, this.getProjectId(), @@ -2652,6 +2737,19 @@ public void enablegRPCMetrics(InstantiatingGrpcChannelProvider.Builder channelPr this.monitoringHost, getUniverseDomain()); } + if (usesCustomMetricsProvider()) { + OpenTelemetry customOpenTelemetry = + ((CustomOpenTelemetryMetricsProvider) resolvedMetricsProvider).getOpenTelemetry(); + // GrpcOpenTelemetry can only record metrics on an SDK instance. + if (customOpenTelemetry instanceof OpenTelemetrySdk) { + this.builtInMetricsProvider.enableGrpcMetrics(channelProviderBuilder, customOpenTelemetry); + } else { + logger.log( + Level.FINE, + "Skipping gRPC-layer built-in metrics: the OpenTelemetry instance of the" + + " CustomOpenTelemetryMetricsProvider is not an OpenTelemetrySdk."); + } + } } void initializeBuiltInMetrics(DatabaseId databaseId) { @@ -2671,12 +2769,22 @@ private ApiTracerFactory createApiTracerFactory( apiTracerFactories.add( MoreObjects.firstNonNull(super.getApiTracerFactory(), getDefaultApiTracerFactory())); - // Add Metrics Tracer factory if built in metrics are enabled and if the client is data client - // and if emulator is not enabled. - if (isEnableBuiltInMetrics() && !isAdminClient && !isEmulatorEnabled && !usesNoCredentials()) { - ApiTracerFactory metricsTracerFactory = createMetricsApiTracerFactory(); - if (metricsTracerFactory != null) { - apiTracerFactories.add(metricsTracerFactory); + // Add built-in metrics tracer factories for a data client (never admin/emulator). The Cloud + // Monitoring (GCM) sink and a caller-provided client-metrics sink are independent and may both + // be + // active, so each active sink gets its own tracer factory recording into its own OpenTelemetry + // and namespace. The credentials guard only applies to the GCM sink: a client-metrics sink + // needs no + // Google credentials to export (e.g. Spanner Omni clients). + if (!isAdminClient && !isEmulatorEnabled) { + if (isEnableBuiltInMetrics() && !usesNoCredentials()) { + ApiTracerFactory cloudMonitoringTracerFactory = createCloudMonitoringMetricsTracerFactory(); + if (cloudMonitoringTracerFactory != null) { + apiTracerFactories.add(cloudMonitoringTracerFactory); + } + } + if (usesCustomMetricsProvider()) { + apiTracerFactories.add(createCustomMetricsTracerFactory()); } } @@ -2699,7 +2807,31 @@ private ApiTracerFactory getDefaultApiTracerFactory() { return BaseApiTracerFactory.getInstance(); } - private ApiTracerFactory createMetricsApiTracerFactory() { + /** + * Records client metrics on the caller-provided OpenTelemetry with the custom-export namespace. + * This deliberately does not touch the process-wide BuiltInMetricsProvider singleton, so a client + * with a client-metrics sink can coexist with clients that export to Cloud Monitoring in the same + * JVM. + */ + private ApiTracerFactory createCustomMetricsTracerFactory() { + OpenTelemetry customOpenTelemetry = + ((CustomOpenTelemetryMetricsProvider) resolvedMetricsProvider).getOpenTelemetry(); + // The Cloud Monitoring exporter adds client_name/client_uid at export time; on the custom + // path they must be recorded as metric attributes instead. + Map clientAttributes = this.builtInMetricsProvider.createClientAttributes(); + return new BuiltInMetricsTracerFactory( + new BuiltInMetricsRecorder( + customOpenTelemetry, BuiltInMetricsConstant.CUSTOM_EXPORT_METER_NAME), + clientAttributes, + createTraceWrapper()); + } + + /** + * Records built-in metrics on the process-wide Cloud Monitoring OpenTelemetry with the reserved + * {@code spanner.googleapis.com} namespace. Returns {@code null} when the Cloud Monitoring + * OpenTelemetry could not be created. + */ + private ApiTracerFactory createCloudMonitoringMetricsTracerFactory() { OpenTelemetry openTelemetry = this.builtInMetricsProvider.getOrCreateOpenTelemetry( this.getProjectId(), getCredentials(), this.monitoringHost, getUniverseDomain()); @@ -2708,17 +2840,21 @@ private ApiTracerFactory createMetricsApiTracerFactory() { ? new BuiltInMetricsTracerFactory( new BuiltInMetricsRecorder(openTelemetry, BuiltInMetricsConstant.METER_NAME), new HashMap<>(), - new TraceWrapper( - Tracing.getTracer(), - // Using the OpenTelemetry object set in Spanner Options, will be NoOp if not set - this.getOpenTelemetry() - .getTracer( - MetricRegistryConstants.INSTRUMENTATION_SCOPE, - GaxProperties.getLibraryVersion(getClass())), - true)) + createTraceWrapper()) : null; } + private TraceWrapper createTraceWrapper() { + return new TraceWrapper( + Tracing.getTracer(), + // Using the OpenTelemetry object set in Spanner Options, will be NoOp if not set + this.getOpenTelemetry() + .getTracer( + MetricRegistryConstants.INSTRUMENTATION_SCOPE, + GaxProperties.getLibraryVersion(getClass())), + true); + } + /** * Returns true if an {@link com.google.api.gax.tracing.ApiTracer} should be created and set on * the Spanner client. Enabling this only has effect if an OpenTelemetry or OpenCensus trace @@ -2729,13 +2865,35 @@ public boolean isEnableApiTracing() { } /** - * Returns true if an {@link com.google.api.gax.tracing.MetricsTracer} should be created and set - * on the Spanner client. + * Returns true if built-in metrics are exported to the default Cloud Monitoring (GCM) + * destination. Always false for {@link InstanceType#OMNI} clients, where the GCM sink is + * unavailable. This flag does not affect a caller-owned client-metrics destination configured + * with {@link Builder#setClientMetricsProvider(MetricsProvider)}. */ public boolean isEnableBuiltInMetrics() { return enableBuiltInMetrics; } + /** + * Returns the effective {@link MetricsProvider} used for client metrics. This is the provider set + * with {@link Builder#setClientMetricsProvider(MetricsProvider)} after applying instance type + * rules: {@link NoopMetricsProvider} is returned when the {@link DefaultMetricsProvider} is used + * with an {@link InstanceType#OMNI} client. A {@link CustomOpenTelemetryMetricsProvider} records + * the same client instruments to an independent caller-owned OpenTelemetry destination on all + * instance types, including Omni, and is not affected by {@link + * Builder#setBuiltInMetricsEnabled(boolean)} or the {@code SPANNER_DISABLE_BUILTIN_METRICS} + * environment variable. {@link #toBuilder()} preserves the provider as originally set, so + * rebuilding the options re-applies these rules against the new configuration. + */ + public MetricsProvider getClientMetricsProvider() { + return resolvedMetricsProvider; + } + + /** Returns true if client metrics are recorded on a caller-provided OpenTelemetry. */ + private boolean usesCustomMetricsProvider() { + return resolvedMetricsProvider instanceof CustomOpenTelemetryMetricsProvider; + } + @InternalApi public boolean isEnableLocationApi() { return enableLocationApi; @@ -2889,4 +3047,24 @@ public String getEndpoint() { return String.format( "%s:%s", url.getHost(), url.getPort() < 0 ? url.getDefaultPort() : url.getPort()); } + + @InternalApi + public boolean isEmulatorEnabled() { + if (getChannelProvider() != null || emulatorHost == null || getHost() == null) { + return false; + } + // The builder prepends a scheme to the host when the emulator is configured, while the + // emulator host may have been set without one, so compare the two without their schemes. + return stripScheme(getHost()).equals(stripScheme(emulatorHost)); + } + + private static String stripScheme(String host) { + if (host.startsWith("http://")) { + return host.substring("http://".length()); + } + if (host.startsWith("https://")) { + return host.substring("https://".length()); + } + return host; + } } diff --git a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/Version.java b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/Version.java index c1e761b5cd6a..70193808a7f0 100644 --- a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/Version.java +++ b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-spanner:current} - static final String VERSION = "6.120.0-SNAPSHOT"; + static final String VERSION = "6.121.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/Version.java b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/Version.java index 406cbf490f53..6445892f0355 100644 --- a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/Version.java +++ b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-spanner:current} - static final String VERSION = "6.120.0-SNAPSHOT"; + static final String VERSION = "6.121.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java index ccb592e3f843..246c203c8674 100644 --- a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java +++ b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java @@ -65,15 +65,15 @@ import io.grpc.Deadline; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.context.Scope; +import java.lang.ref.WeakReference; import java.time.Duration; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Objects; import java.util.concurrent.Callable; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; @@ -100,8 +100,20 @@ class ReadWriteTransaction extends AbstractMultiUseTransaction { private static final ThreadFactory KEEP_ALIVE_THREAD_FACTORY = ThreadFactoryUtil.createVirtualOrPlatformDaemonThreadFactory( "read-write-transaction-keep-alive", true); - private static final ScheduledExecutorService KEEP_ALIVE_SERVICE = - Executors.newSingleThreadScheduledExecutor(KEEP_ALIVE_THREAD_FACTORY); + private static final ScheduledThreadPoolExecutor KEEP_ALIVE_SERVICE = createKeepAliveService(); + + private static ScheduledThreadPoolExecutor createKeepAliveService() { + ScheduledThreadPoolExecutor executor = + new ScheduledThreadPoolExecutor(1, KEEP_ALIVE_THREAD_FACTORY); + executor.setRemoveOnCancelPolicy(true); + return executor; + } + + @VisibleForTesting + static ScheduledThreadPoolExecutor getKeepAliveService() { + return KEEP_ALIVE_SERVICE; + } + private static final ParsedStatement SELECT1_STATEMENT = AbstractStatementParser.getInstance(Dialect.GOOGLE_STANDARD_SQL) .parse(Statement.of("SELECT 1")); @@ -146,7 +158,7 @@ class ReadWriteTransaction extends AbstractMultiUseTransaction { private Savepoint autoSavepoint; private final int maxInternalRetries; - private final ReentrantLock abortedLock = new ReentrantLock(); + @VisibleForTesting final ReentrantLock abortedLock = new ReentrantLock(); private final long transactionId; private final DatabaseClient dbClient; private final TransactionOption[] transactionOptions; @@ -468,14 +480,15 @@ private boolean shouldPing() { && rolledBackToSavepointException == null; } - private void maybeScheduleKeepAlivePing() { + @VisibleForTesting + void maybeScheduleKeepAlivePing() { if (shouldPing()) { keepAliveLock.lock(); try { - if (keepAliveFuture == null || keepAliveFuture.isDone()) { + if (shouldPing() && (keepAliveFuture == null || keepAliveFuture.isDone())) { keepAliveFuture = KEEP_ALIVE_SERVICE.schedule( - new KeepAliveRunnable(), + new KeepAliveRunnable(this), keepAliveIntervalMillis > 0 ? keepAliveIntervalMillis : DEFAULT_KEEP_ALIVE_INTERVAL_MILLIS, @@ -487,12 +500,26 @@ private void maybeScheduleKeepAlivePing() { } } + @VisibleForTesting + ScheduledFuture getKeepAliveFuture() { + if (keepAliveLock != null) { + keepAliveLock.lock(); + try { + return keepAliveFuture; + } finally { + keepAliveLock.unlock(); + } + } + return null; + } + private void cancelScheduledKeepAlivePing() { if (keepAliveLock != null) { keepAliveLock.lock(); try { if (keepAliveFuture != null) { keepAliveFuture.cancel(false); + keepAliveFuture = null; } } finally { keepAliveLock.unlock(); @@ -500,23 +527,49 @@ private void cancelScheduledKeepAlivePing() { } } - private class KeepAliveRunnable implements Runnable { + @VisibleForTesting + static class KeepAliveRunnable implements Runnable { + final WeakReference transactionRef; + + KeepAliveRunnable(ReadWriteTransaction transaction) { + this.transactionRef = new WeakReference<>(transaction); + } + @Override + @SuppressWarnings("FutureReturnValueIgnored") public void run() { - if (shouldPing()) { - // Do a shoot-and-forget ping and schedule a new ping over 8 seconds after this ping has - // finished. - ApiFuture future = - executeQueryAsync( - CallType.SYNC, - SELECT1_STATEMENT, - AnalyzeMode.NONE, - Options.tag( - System.getProperty( - "spanner.connection.keep_alive_query_tag", - "connection.transaction-keep-alive"))); - future.addListener( - ReadWriteTransaction.this::maybeScheduleKeepAlivePing, MoreExecutors.directExecutor()); + ReadWriteTransaction transaction = transactionRef.get(); + if (transaction != null && transaction.shouldPing()) { + transaction.keepAliveLock.lock(); + transaction.keepAliveFuture = null; + transaction.keepAliveLock.unlock(); + if (transaction.shouldPing()) { + boolean schedulePing = false; + if (transaction.abortedLock.tryLock()) { + try { + // Do a shoot-and-forget ping. + // Note: executeQueryAsync automatically adds StatementResultCallback, + // which calls maybeScheduleKeepAlivePing() upon completion. + transaction.executeQueryAsync( + CallType.SYNC, + SELECT1_STATEMENT, + AnalyzeMode.NONE, + Options.tag( + System.getProperty( + "spanner.connection.keep_alive_query_tag", + "connection.transaction-keep-alive"))); + } catch (Throwable t) { + schedulePing = true; + } finally { + transaction.abortedLock.unlock(); + } + } else { + schedulePing = true; + } + if (schedulePing) { + transaction.maybeScheduleKeepAlivePing(); + } + } } } } diff --git a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpc.java b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpc.java index 49b1cca60c43..8e2bb1c5ebdf 100644 --- a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpc.java +++ b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpc.java @@ -776,7 +776,9 @@ private InstantiatingGrpcChannelProvider.Builder createBaseChannelProviderBuilde defaultChannelProviderBuilder.setAttemptDirectPathXds(); } - options.enablegRPCMetrics(defaultChannelProviderBuilder); + options.enablegRPCMetrics( + defaultChannelProviderBuilder, + isEmulatorEnabled(options, System.getenv("SPANNER_EMULATOR_HOST"))); if (options.isUseVirtualThreads()) { ExecutorService executor = @@ -925,8 +927,8 @@ private static void checkEmulatorConnection( CredentialsProvider credentialsProvider, String emulatorHost) throws IOException { - // Only do the check if the emulator environment variable has been set to localhost. if (isEmulatorEnabled(options, emulatorHost)) { + String resolvedEmulatorHost = emulatorHost != null ? emulatorHost : options.getEndpoint(); // Do a quick check to see if the emulator is actually running. try { InstanceAdminStubSettings.Builder testEmulatorSettings = @@ -948,22 +950,22 @@ private static void checkEmulatorConnection( throw SpannerExceptionFactory.newSpannerException( ErrorCode.UNAVAILABLE, String.format( - "The environment variable SPANNER_EMULATOR_HOST has been set to %s, but no running" + "The Spanner emulator host has been set to %s, but no running" + " emulator could be found at that address.\n" + "Did you forget to start the emulator, or to unset the environment" - + " variable?", - emulatorHost)); + + " configuration?", + resolvedEmulatorHost)); } } } private static boolean isEmulatorEnabled(SpannerOptions options, String emulatorHost) { - // Only do the check if the emulator environment variable has been set to localhost. - return options.getChannelProvider() == null - && emulatorHost != null - && options.getHost() != null - && options.getHost().startsWith("http://localhost") - && options.getHost().endsWith(emulatorHost); + return options.isEmulatorEnabled() + || (options.getChannelProvider() == null + && emulatorHost != null + && options.getHost() != null + && options.getHost().startsWith("http://localhost") + && options.getHost().endsWith(emulatorHost)); } public static boolean isEnableAFEServerTiming() { diff --git a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/Version.java b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/Version.java index 26ce6909e4bc..a4bb0b5ba257 100644 --- a/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/Version.java +++ b/java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-spanner:current} - static final String VERSION = "6.120.0-SNAPSHOT"; + static final String VERSION = "6.121.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/BuiltInMetricsBothSinksTest.java b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/BuiltInMetricsBothSinksTest.java new file mode 100644 index 000000000000..efce731caf3d --- /dev/null +++ b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/BuiltInMetricsBothSinksTest.java @@ -0,0 +1,145 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.spanner; + +import static com.google.common.truth.Truth.assertThat; + +import com.google.cloud.NoCredentials; +import com.google.cloud.spanner.connection.AbstractMockServerTest; +import io.grpc.ManagedChannelBuilder; +import io.opentelemetry.api.OpenTelemetry; +import io.opentelemetry.sdk.OpenTelemetrySdk; +import io.opentelemetry.sdk.metrics.SdkMeterProvider; +import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder; +import io.opentelemetry.sdk.metrics.data.MetricData; +import io.opentelemetry.sdk.testing.exporter.InMemoryMetricReader; +import java.util.Collection; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +/** + * End-to-end proof of the additive dual-export semantics: a non-OMNI client with a custom sink AND + * the Cloud Monitoring (GCM) sink enabled records the app-layer built-in metrics into BOTH + * OpenTelemetry instances at once, each in its own namespace, with no cross-contamination. + * + *

The reserved-namespace GCM OpenTelemetry is injected in-memory (it is normally backed by the + * live Cloud Monitoring exporter), and {@code jmh.enabled} lifts the {@code NoCredentials} guard so + * the GCM app-layer tracer is created just as it would be with real credentials. + */ +@RunWith(JUnit4.class) +public class BuiltInMetricsBothSinksTest extends AbstractMockServerTest { + private static final Statement SELECT1 = Statement.of("SELECT 1"); + + private String previousJmhEnabled; + + @Before + public void enableCloudMonitoringGuard() { + // usesNoCredentials() returns false when jmh.enabled=true, so the GCM app-layer tracer is + // created even though the client uses NoCredentials against the mock server. + previousJmhEnabled = System.getProperty("jmh.enabled"); + System.setProperty("jmh.enabled", "true"); + BuiltInMetricsProvider.INSTANCE.reset(); + } + + @After + public void restore() { + BuiltInMetricsProvider.INSTANCE.reset(); + if (previousJmhEnabled == null) { + System.clearProperty("jmh.enabled"); + } else { + System.setProperty("jmh.enabled", previousJmhEnabled); + } + } + + private static OpenTelemetrySdk gcmOpenTelemetry(InMemoryMetricReader reader) { + SdkMeterProviderBuilder meterProviderBuilder = + SdkMeterProvider.builder().registerMetricReader(reader); + // Reserved-namespace views: rename raw instruments to spanner.googleapis.com/internal/client/*. + BuiltInMetricsConstant.getAllViews().forEach(meterProviderBuilder::registerView); + return OpenTelemetrySdk.builder().setMeterProvider(meterProviderBuilder.build()).build(); + } + + private static OpenTelemetrySdk customOpenTelemetry(InMemoryMetricReader reader) { + SdkMeterProviderBuilder meterProviderBuilder = + SdkMeterProvider.builder().registerMetricReader(reader); + // Custom-namespace views: rename raw instruments to spanner/client/*. + SpannerMetrics.configureMeterProviderBuilder(meterProviderBuilder); + return OpenTelemetrySdk.builder().setMeterProvider(meterProviderBuilder.build()).build(); + } + + private Spanner createSpanner(OpenTelemetry customSink) { + return SpannerOptions.newBuilder() + .setProjectId("my-project") + .setHost(String.format("http://localhost:%d", getPort())) + .setChannelConfigurator(ManagedChannelBuilder::usePlaintext) + .setCredentials(NoCredentials.getInstance()) + .setSessionPoolOption(SessionPoolOptions.newBuilder().setFailOnSessionLeak().build()) + .setClientMetricsProvider(CustomOpenTelemetryMetricsProvider.create(customSink)) + .build() + .getService(); + } + + private static void executeSelect1(Spanner spanner) { + DatabaseClient client = + spanner.getDatabaseClient(DatabaseId.of("my-project", "my-instance", "my-database")); + try (ResultSet resultSet = client.singleUse().executeQuery(SELECT1)) { + assertThat(resultSet.next()).isTrue(); + assertThat(resultSet.getLong(0)).isEqualTo(1L); + } + } + + private static MetricData getMetric(InMemoryMetricReader reader, String name) { + Collection metrics = reader.collectAllMetrics(); + return metrics.stream().filter(m -> m.getName().equals(name)).findFirst().orElse(null); + } + + private static long operationCount(InMemoryMetricReader reader, String meterName) { + MetricData metric = + getMetric(reader, meterName + "/" + BuiltInMetricsConstant.OPERATION_COUNT_NAME); + assertThat(metric).isNotNull(); + return metric.getLongSumData().getPoints().stream().mapToLong(point -> point.getValue()).sum(); + } + + @Test + public void bothSinksRecordAppLayerMetricsInTheirOwnNamespaces() { + InMemoryMetricReader gcmReader = InMemoryMetricReader.create(); + InMemoryMetricReader customReader = InMemoryMetricReader.create(); + BuiltInMetricsProvider.INSTANCE.setOpenTelemetry(gcmOpenTelemetry(gcmReader)); + + try (Spanner spanner = createSpanner(customOpenTelemetry(customReader))) { + executeSelect1(spanner); + } + + // Both sinks recorded the operation, each in its own namespace. + assertThat(operationCount(gcmReader, BuiltInMetricsConstant.METER_NAME)).isGreaterThan(0L); + assertThat(operationCount(customReader, BuiltInMetricsConstant.CUSTOM_EXPORT_METER_NAME)) + .isGreaterThan(0L); + + // No cross-contamination: the reserved names never land on the custom sink, and the custom + // names never land on the GCM sink. + for (MetricData metric : customReader.collectAllMetrics()) { + assertThat(metric.getName()).doesNotContain("spanner.googleapis.com"); + } + for (MetricData metric : gcmReader.collectAllMetrics()) { + assertThat(metric.getName()) + .doesNotContain(BuiltInMetricsConstant.CUSTOM_EXPORT_METER_NAME + "/"); + } + } +} diff --git a/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/BuiltInMetricsCustomOpenTelemetryTest.java b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/BuiltInMetricsCustomOpenTelemetryTest.java new file mode 100644 index 000000000000..782916f6f7fb --- /dev/null +++ b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/BuiltInMetricsCustomOpenTelemetryTest.java @@ -0,0 +1,166 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.spanner; + +import static com.google.common.truth.Truth.assertThat; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + +import com.google.cloud.NoCredentials; +import com.google.cloud.spanner.connection.AbstractMockServerTest; +import io.grpc.ManagedChannelBuilder; +import io.opentelemetry.sdk.OpenTelemetrySdk; +import io.opentelemetry.sdk.metrics.SdkMeterProvider; +import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder; +import io.opentelemetry.sdk.metrics.data.MetricData; +import io.opentelemetry.sdk.testing.exporter.InMemoryMetricReader; +import java.util.Collection; +import org.junit.After; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +/** + * Integration test (mock server) for {@link CustomOpenTelemetryMetricsProvider}: built-in metrics + * are recorded on the caller-provided OpenTelemetry with the {@code spanner/client/} names, and + * nothing is recorded for {@link NoopMetricsProvider} or the coerced OMNI default. + */ +@RunWith(JUnit4.class) +public class BuiltInMetricsCustomOpenTelemetryTest extends AbstractMockServerTest { + private static final Statement SELECT1 = Statement.of("SELECT 1"); + + @After + public void resetGcmSingleton() { + // A cloud custom+enabled client now also activates the Cloud Monitoring sink (additive + // semantics), which initializes the process-wide singleton via the gRPC layer. Reset it so the + // state does not leak into other tests sharing the JVM fork. + BuiltInMetricsProvider.INSTANCE.reset(); + } + + private Spanner createSpanner(MetricsProvider metricsProvider) { + return spannerBuilder(metricsProvider).build().getService(); + } + + private SpannerOptions.Builder spannerBuilder(MetricsProvider metricsProvider) { + return SpannerOptions.newBuilder() + .setProjectId("my-project") + .setHost(String.format("http://localhost:%d", getPort())) + .setChannelConfigurator(ManagedChannelBuilder::usePlaintext) + .setCredentials(NoCredentials.getInstance()) + .setSessionPoolOption(SessionPoolOptions.newBuilder().setFailOnSessionLeak().build()) + .setClientMetricsProvider(metricsProvider); + } + + private static OpenTelemetrySdk createOpenTelemetry(InMemoryMetricReader metricReader) { + SdkMeterProviderBuilder meterProviderBuilder = + SdkMeterProvider.builder().registerMetricReader(metricReader); + SpannerMetrics.configureMeterProviderBuilder(meterProviderBuilder); + return OpenTelemetrySdk.builder().setMeterProvider(meterProviderBuilder.build()).build(); + } + + private static void executeSelect1(Spanner spanner) { + DatabaseClient client = + spanner.getDatabaseClient(DatabaseId.of("my-project", "my-instance", "my-database")); + try (ResultSet resultSet = client.singleUse().executeQuery(SELECT1)) { + assertTrue(resultSet.next()); + assertThat(resultSet.getLong(0)).isEqualTo(1L); + } + } + + private static MetricData getMetric(InMemoryMetricReader reader, String name) { + Collection metrics = reader.collectAllMetrics(); + return metrics.stream().filter(m -> m.getName().equals(name)).findFirst().orElse(null); + } + + @Test + public void builtInMetricsAreRecordedOnCustomOpenTelemetry() { + InMemoryMetricReader metricReader = InMemoryMetricReader.create(); + try (Spanner spanner = + createSpanner( + CustomOpenTelemetryMetricsProvider.create(createOpenTelemetry(metricReader)))) { + executeSelect1(spanner); + } + + MetricData operationCount = + getMetric( + metricReader, + BuiltInMetricsConstant.CUSTOM_EXPORT_METER_NAME + + "/" + + BuiltInMetricsConstant.OPERATION_COUNT_NAME); + assertNotNull(operationCount); + assertThat( + operationCount.getLongSumData().getPoints().stream() + .anyMatch( + point -> + point.getValue() > 0 + && "Spanner.ExecuteStreamingSql" + .equals( + point.getAttributes().get(BuiltInMetricsConstant.METHOD_KEY)) + && "OK" + .equals( + point.getAttributes().get(BuiltInMetricsConstant.STATUS_KEY)) + && "my-database" + .equals( + point.getAttributes().get(BuiltInMetricsConstant.DATABASE_KEY)) + && point.getAttributes().get(BuiltInMetricsConstant.CLIENT_NAME_KEY) + != null)) + .isTrue(); + + MetricData attemptLatencies = + getMetric( + metricReader, + BuiltInMetricsConstant.CUSTOM_EXPORT_METER_NAME + + "/" + + BuiltInMetricsConstant.ATTEMPT_LATENCIES_NAME); + assertNotNull(attemptLatencies); + + // The reserved Cloud Monitoring names never appear on the custom sink. + for (MetricData metric : metricReader.collectAllMetrics()) { + assertThat(metric.getName()).doesNotContain("spanner.googleapis.com"); + } + } + + @Test + public void noMetricsAreRecordedForNoopProvider() { + InMemoryMetricReader noopReader = InMemoryMetricReader.create(); + // The OpenTelemetry instance exists, but the provider is Noop: nothing may be recorded. + OpenTelemetrySdk unusedOpenTelemetry = createOpenTelemetry(noopReader); + + try (Spanner noopSpanner = createSpanner(NoopMetricsProvider.INSTANCE)) { + executeSelect1(noopSpanner); + } + + assertThat(noopReader.collectAllMetrics()).isEmpty(); + } + + @Test + public void gcmSingletonIsNotInitializedByCustomOnlyClient() { + // With the Cloud Monitoring sink disabled, a custom-sink client must not create or modify the + // process-wide Cloud Monitoring OpenTelemetry singleton (custom sink only, no GCM). + BuiltInMetricsProvider.INSTANCE.reset(); + InMemoryMetricReader metricReader = InMemoryMetricReader.create(); + try (Spanner spanner = + spannerBuilder(CustomOpenTelemetryMetricsProvider.create(createOpenTelemetry(metricReader))) + .setBuiltInMetricsEnabled(false) + .build() + .getService()) { + executeSelect1(spanner); + } + assertNull(BuiltInMetricsProvider.INSTANCE.getOpenTelemetry()); + } +} diff --git a/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/BuiltInMetricsCustomViewsTest.java b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/BuiltInMetricsCustomViewsTest.java new file mode 100644 index 000000000000..63c2f6e630c4 --- /dev/null +++ b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/BuiltInMetricsCustomViewsTest.java @@ -0,0 +1,178 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.spanner; + +import static com.google.common.truth.Truth.assertThat; +import static org.junit.Assert.assertNotNull; + +import io.opentelemetry.sdk.OpenTelemetrySdk; +import io.opentelemetry.sdk.metrics.SdkMeterProvider; +import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder; +import io.opentelemetry.sdk.metrics.data.HistogramPointData; +import io.opentelemetry.sdk.metrics.data.MetricData; +import io.opentelemetry.sdk.testing.exporter.InMemoryMetricReader; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +/** + * Tests for the custom-export metric views registered with {@link + * SpannerMetrics#configureMeterProviderBuilder}. + */ +@RunWith(JUnit4.class) +public class BuiltInMetricsCustomViewsTest { + + private static Map recordedAttributes() { + Map attributes = new HashMap<>(); + attributes.put(BuiltInMetricsConstant.METHOD_KEY.getKey(), "Spanner.ExecuteSql"); + attributes.put(BuiltInMetricsConstant.STATUS_KEY.getKey(), "OK"); + attributes.put(BuiltInMetricsConstant.DATABASE_KEY.getKey(), "test-database"); + attributes.put(BuiltInMetricsConstant.CLIENT_NAME_KEY.getKey(), "spanner-java/test"); + attributes.put("some_attribute_that_is_not_allowed", "should-be-filtered"); + return attributes; + } + + private static MetricData getMetric(InMemoryMetricReader reader, String name) { + Collection metrics = reader.collectAllMetrics(); + return metrics.stream().filter(m -> m.getName().equals(name)).findFirst().orElse(null); + } + + @Test + public void customViewsRenameInstrumentsIntoCustomNamespace() { + InMemoryMetricReader reader = InMemoryMetricReader.create(); + SdkMeterProviderBuilder meterProviderBuilder = + SdkMeterProvider.builder().registerMetricReader(reader); + SpannerMetrics.configureMeterProviderBuilder(meterProviderBuilder); + OpenTelemetrySdk openTelemetry = + OpenTelemetrySdk.builder().setMeterProvider(meterProviderBuilder.build()).build(); + BuiltInMetricsRecorder recorder = + new BuiltInMetricsRecorder(openTelemetry, BuiltInMetricsConstant.CUSTOM_EXPORT_METER_NAME); + + recorder.recordAttemptLatency(5.0, recordedAttributes()); + recorder.recordAttemptCount(1, recordedAttributes()); + recorder.recordOperationLatency(6.0, recordedAttributes()); + recorder.recordOperationCount(1, recordedAttributes()); + + // Renamed metric names in the custom namespace. + assertNotNull( + getMetric( + reader, + BuiltInMetricsConstant.CUSTOM_EXPORT_METER_NAME + + "/" + + BuiltInMetricsConstant.ATTEMPT_LATENCIES_NAME)); + assertNotNull( + getMetric( + reader, + BuiltInMetricsConstant.CUSTOM_EXPORT_METER_NAME + + "/" + + BuiltInMetricsConstant.OPERATION_LATENCIES_NAME)); + assertNotNull( + getMetric( + reader, + BuiltInMetricsConstant.CUSTOM_EXPORT_METER_NAME + + "/" + + BuiltInMetricsConstant.ATTEMPT_COUNT_NAME)); + assertNotNull( + getMetric( + reader, + BuiltInMetricsConstant.CUSTOM_EXPORT_METER_NAME + + "/" + + BuiltInMetricsConstant.OPERATION_COUNT_NAME)); + + // The reserved Cloud Monitoring namespace never appears on the custom path. + for (MetricData metric : reader.collectAllMetrics()) { + assertThat(metric.getName()).doesNotContain("spanner.googleapis.com"); + } + } + + @Test + public void customViewsApplySpannerHistogramBuckets() { + InMemoryMetricReader reader = InMemoryMetricReader.create(); + SdkMeterProviderBuilder meterProviderBuilder = + SdkMeterProvider.builder().registerMetricReader(reader); + SpannerMetrics.configureMeterProviderBuilder(meterProviderBuilder); + OpenTelemetrySdk openTelemetry = + OpenTelemetrySdk.builder().setMeterProvider(meterProviderBuilder.build()).build(); + BuiltInMetricsRecorder recorder = + new BuiltInMetricsRecorder(openTelemetry, BuiltInMetricsConstant.CUSTOM_EXPORT_METER_NAME); + + recorder.recordAttemptLatency(5.0, recordedAttributes()); + + MetricData attemptLatencies = + getMetric( + reader, + BuiltInMetricsConstant.CUSTOM_EXPORT_METER_NAME + + "/" + + BuiltInMetricsConstant.ATTEMPT_LATENCIES_NAME); + assertNotNull(attemptLatencies); + HistogramPointData point = attemptLatencies.getHistogramData().getPoints().iterator().next(); + assertThat(point.getBoundaries()).isEqualTo(BuiltInMetricsConstant.BUCKET_BOUNDARIES); + } + + @Test + public void customViewsFilterUnknownAttributes() { + InMemoryMetricReader reader = InMemoryMetricReader.create(); + SdkMeterProviderBuilder meterProviderBuilder = + SdkMeterProvider.builder().registerMetricReader(reader); + SpannerMetrics.configureMeterProviderBuilder(meterProviderBuilder); + OpenTelemetrySdk openTelemetry = + OpenTelemetrySdk.builder().setMeterProvider(meterProviderBuilder.build()).build(); + BuiltInMetricsRecorder recorder = + new BuiltInMetricsRecorder(openTelemetry, BuiltInMetricsConstant.CUSTOM_EXPORT_METER_NAME); + + recorder.recordAttemptLatency(5.0, recordedAttributes()); + + MetricData attemptLatencies = + getMetric( + reader, + BuiltInMetricsConstant.CUSTOM_EXPORT_METER_NAME + + "/" + + BuiltInMetricsConstant.ATTEMPT_LATENCIES_NAME); + assertNotNull(attemptLatencies); + HistogramPointData point = attemptLatencies.getHistogramData().getPoints().iterator().next(); + assertThat(point.getAttributes().get(BuiltInMetricsConstant.METHOD_KEY)) + .isEqualTo("Spanner.ExecuteSql"); + assertThat( + point + .getAttributes() + .get( + io.opentelemetry.api.common.AttributeKey.stringKey( + "some_attribute_that_is_not_allowed"))) + .isNull(); + } + + @Test + public void customViewsExcludeGrpcGcpFallbackViews() { + // grpc-gcp DirectPath-fallback metrics are only recorded on the Cloud Monitoring path, so the + // custom-export views must not include them. + assertThat( + BuiltInMetricsConstant.getCustomExportViews().keySet().stream() + .anyMatch( + selector -> + BuiltInMetricsConstant.GRPC_GCP_METER_NAME.equals(selector.getMeterName()))) + .isFalse(); + assertThat( + BuiltInMetricsConstant.getAllViews().keySet().stream() + .anyMatch( + selector -> + BuiltInMetricsConstant.GRPC_GCP_METER_NAME.equals(selector.getMeterName()))) + .isTrue(); + } +} diff --git a/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/GrpcMetricsDualWireTest.java b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/GrpcMetricsDualWireTest.java new file mode 100644 index 000000000000..08191cfc566a --- /dev/null +++ b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/GrpcMetricsDualWireTest.java @@ -0,0 +1,122 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.spanner; + +import static com.google.common.truth.Truth.assertThat; + +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.cloud.spanner.connection.AbstractMockServerTest; +import com.google.spanner.v1.CreateSessionRequest; +import com.google.spanner.v1.SpannerGrpc; +import io.grpc.ManagedChannel; +import io.grpc.ManagedChannelBuilder; +import io.grpc.netty.shaded.io.grpc.netty.NettyChannelBuilder; +import io.opentelemetry.api.OpenTelemetry; +import io.opentelemetry.sdk.OpenTelemetrySdk; +import io.opentelemetry.sdk.metrics.SdkMeterProvider; +import io.opentelemetry.sdk.testing.exporter.InMemoryMetricReader; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +/** + * Verifies that wiring two {@link io.grpc.opentelemetry.GrpcOpenTelemetry} instances onto a single + * channel builder (as done when a Cloud Monitoring sink and a caller-provided sink are both active) + * records gRPC-layer metrics on each sink exactly once, with no cross-sink inflation. + * + *

This is the empirical gate for the gRPC-layer fan-out: the additive semantics wire both + * OpenTelemetry instances into {@code enablegRPCMetrics}, and this test proves each instrument is + * counted once per sink rather than twice. + */ +@RunWith(JUnit4.class) +public class GrpcMetricsDualWireTest extends AbstractMockServerTest { + + private static final String GRPC_ATTEMPT_STARTED = "grpc.client.attempt.started"; + + private static OpenTelemetrySdk newOpenTelemetry(InMemoryMetricReader reader) { + return OpenTelemetrySdk.builder() + .setMeterProvider(SdkMeterProvider.builder().registerMetricReader(reader).build()) + .build(); + } + + /** Wires each supplied OpenTelemetry onto the builder using the exact production gRPC config. */ + private static ManagedChannel buildWiredChannel(OpenTelemetry... openTelemetries) { + InstantiatingGrpcChannelProvider.Builder providerBuilder = + InstantiatingGrpcChannelProvider.newBuilder(); + for (OpenTelemetry openTelemetry : openTelemetries) { + BuiltInMetricsProvider.INSTANCE.enableGrpcMetrics(providerBuilder, openTelemetry); + } + ManagedChannelBuilder channelBuilder = + NettyChannelBuilder.forAddress("localhost", getPort()).usePlaintext(); + // Apply the chained channel configurator installed by enableGrpcMetrics. + ManagedChannelBuilder configured = + providerBuilder.getChannelConfigurator().apply(channelBuilder); + return configured.build(); + } + + private static void issueUnaryRpc(ManagedChannel channel) { + SpannerGrpc.SpannerBlockingStub stub = SpannerGrpc.newBlockingStub(channel); + stub.createSession( + CreateSessionRequest.newBuilder() + .setDatabase("projects/p/instances/i/databases/d") + .build()); + } + + private static long attemptStartedCount(InMemoryMetricReader reader) { + return reader.collectAllMetrics().stream() + .filter(m -> m.getName().equals(GRPC_ATTEMPT_STARTED)) + .flatMap(m -> m.getLongSumData().getPoints().stream()) + .mapToLong(point -> point.getValue()) + .sum(); + } + + @Test + public void twoGrpcOpenTelemetryInstancesDoNotDoubleCount() { + // Baseline: a single wired sink sees exactly the real attempt count for one unary RPC. + InMemoryMetricReader baselineReader = InMemoryMetricReader.create(); + OpenTelemetrySdk baselineOtel = newOpenTelemetry(baselineReader); + ManagedChannel baselineChannel = buildWiredChannel(baselineOtel); + long baseline; + try { + issueUnaryRpc(baselineChannel); + baseline = attemptStartedCount(baselineReader); + } finally { + baselineChannel.shutdownNow(); + baselineOtel.close(); + } + assertThat(baseline).isGreaterThan(0L); + + // Dual-wire: two independent sinks on one channel. Each must see the SAME count as the + // single-sink baseline -- neither inflated (double-counting) nor starved. + InMemoryMetricReader readerA = InMemoryMetricReader.create(); + InMemoryMetricReader readerB = InMemoryMetricReader.create(); + OpenTelemetrySdk otelA = newOpenTelemetry(readerA); + OpenTelemetrySdk otelB = newOpenTelemetry(readerB); + ManagedChannel dualChannel = buildWiredChannel(otelA, otelB); + try { + issueUnaryRpc(dualChannel); + long countA = attemptStartedCount(readerA); + long countB = attemptStartedCount(readerB); + assertThat(countA).isEqualTo(baseline); + assertThat(countB).isEqualTo(baseline); + } finally { + dualChannel.shutdownNow(); + otelA.close(); + otelB.close(); + } + } +} diff --git a/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/MetricsProviderTest.java b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/MetricsProviderTest.java new file mode 100644 index 000000000000..36e7ee96412d --- /dev/null +++ b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/MetricsProviderTest.java @@ -0,0 +1,307 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.spanner; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertThrows; +import static org.junit.Assert.assertTrue; + +import com.google.cloud.NoCredentials; +import io.opentelemetry.api.OpenTelemetry; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +/** + * Tests for the {@link MetricsProvider} semantics matrix on {@link SpannerOptions}. The Cloud + * Monitoring (GCM) sink and a caller-provided client-metrics sink are independent booleans that can + * both be active at once: + * + *

+ * instanceType | provider | built-in disabled?      | GCM sink | client-metrics sink
+ * CLOUD        | Default  | no                       | on       | -
+ * CLOUD        | Default  | setBuiltInMetricsEnabled | off      | -
+ * CLOUD        | Noop     | -                        | on       | off
+ * CLOUD        | Custom   | no                       | on       | on
+ * CLOUD        | Custom   | setBuiltInMetricsEnabled | off      | on
+ * CLOUD        | Custom   | env kill-switch          | off      | on
+ * OMNI         | Default  | -                        | off (Noop) | -
+ * OMNI         | Noop     | -                        | off      | -
+ * OMNI         | Custom   | no                       | off      | on
+ * OMNI         | Custom   | setBuiltInMetricsEnabled | off      | on
+ * OMNI         | Custom   | env kill-switch          | off      | on
+ * 
+ */ +@RunWith(JUnit4.class) +public class MetricsProviderTest { + + @Before + public void setUp() { + SpannerOptions.useEnvironment(new SpannerOptions.SpannerEnvironment() {}); + } + + @After + public void reset() { + SpannerOptions.useDefaultEnvironment(); + BuiltInMetricsProvider.INSTANCE.reset(); + } + + private static SpannerOptions.Builder cloudBuilder() { + return SpannerOptions.newBuilder() + .setProjectId("test-project") + .setCredentials(NoCredentials.getInstance()); + } + + private static SpannerOptions.Builder omniBuilder() { + return SpannerOptions.newBuilder() + .setType(SpannerOptions.InstanceType.OMNI) + .setHost("http://localhost:8080") + .setCredentials(NoCredentials.getInstance()); + } + + @Test + public void cloudDefaultProviderKeepsCloudMonitoringSink() { + SpannerOptions options = cloudBuilder().build(); + assertSame(DefaultMetricsProvider.INSTANCE, options.getClientMetricsProvider()); + assertTrue(options.isEnableBuiltInMetrics()); + } + + @Test + public void cloudNoopProviderDisablesOnlyClientMetrics() { + SpannerOptions options = + cloudBuilder().setClientMetricsProvider(NoopMetricsProvider.INSTANCE).build(); + assertSame(NoopMetricsProvider.INSTANCE, options.getClientMetricsProvider()); + assertTrue(options.isEnableBuiltInMetrics()); + } + + @Test + public void cloudCustomProviderKeepsBothSinks() { + // Additive semantics: adding a client-metrics sink does not silence the Cloud Monitoring sink. + CustomOpenTelemetryMetricsProvider provider = + CustomOpenTelemetryMetricsProvider.create(OpenTelemetry.noop()); + SpannerOptions options = cloudBuilder().setClientMetricsProvider(provider).build(); + assertSame(provider, options.getClientMetricsProvider()); + assertTrue(options.isEnableBuiltInMetrics()); + } + + @Test + public void cloudCustomProviderWithBuiltInMetricsDisabledIsCustomOnly() { + CustomOpenTelemetryMetricsProvider provider = + CustomOpenTelemetryMetricsProvider.create(OpenTelemetry.noop()); + SpannerOptions options = + cloudBuilder().setClientMetricsProvider(provider).setBuiltInMetricsEnabled(false).build(); + // The client-metrics sink survives; only the Cloud Monitoring sink is turned off. + assertSame(provider, options.getClientMetricsProvider()); + assertFalse(options.isEnableBuiltInMetrics()); + } + + @Test + public void explicitProviderCombinesWithBuiltInMetricsEnabledFlag() { + CustomOpenTelemetryMetricsProvider provider = + CustomOpenTelemetryMetricsProvider.create(OpenTelemetry.noop()); + SpannerOptions options = + cloudBuilder().setBuiltInMetricsEnabled(true).setClientMetricsProvider(provider).build(); + // Custom provider plus the built-in flag on: both sinks active. + assertSame(provider, options.getClientMetricsProvider()); + assertTrue(options.isEnableBuiltInMetrics()); + + options = + cloudBuilder() + .setBuiltInMetricsEnabled(true) + .setClientMetricsProvider(NoopMetricsProvider.INSTANCE) + .build(); + // A Noop provider means no caller-owned client metrics; Cloud Monitoring is separate. + assertSame(NoopMetricsProvider.INSTANCE, options.getClientMetricsProvider()); + assertTrue(options.isEnableBuiltInMetrics()); + } + + @Test + public void builtInMetricsEnabledFlagStillControlsDefaultProvider() { + SpannerOptions options = cloudBuilder().setBuiltInMetricsEnabled(false).build(); + assertSame(DefaultMetricsProvider.INSTANCE, options.getClientMetricsProvider()); + assertFalse(options.isEnableBuiltInMetrics()); + } + + @Test + public void omniDefaultProviderIsCoercedToNoop() { + SpannerOptions options = omniBuilder().build(); + assertSame(NoopMetricsProvider.INSTANCE, options.getClientMetricsProvider()); + assertFalse(options.isEnableBuiltInMetrics()); + } + + @Test + public void omniDefaultProviderIsCoercedToNoopEvenWithBuiltInMetricsEnabled() { + SpannerOptions options = omniBuilder().setBuiltInMetricsEnabled(true).build(); + assertSame(NoopMetricsProvider.INSTANCE, options.getClientMetricsProvider()); + assertFalse(options.isEnableBuiltInMetrics()); + } + + @Test + public void omniCustomProviderIsHonored() { + CustomOpenTelemetryMetricsProvider provider = + CustomOpenTelemetryMetricsProvider.create(OpenTelemetry.noop()); + SpannerOptions options = omniBuilder().setClientMetricsProvider(provider).build(); + assertSame(provider, options.getClientMetricsProvider()); + // The Cloud Monitoring sink stays off on OMNI. + assertFalse(options.isEnableBuiltInMetrics()); + + options = + omniBuilder().setClientMetricsProvider(provider).setBuiltInMetricsEnabled(true).build(); + assertSame(provider, options.getClientMetricsProvider()); + assertFalse(options.isEnableBuiltInMetrics()); + } + + @Test + public void omniCustomProviderWithBuiltInMetricsDisabledStaysActive() { + CustomOpenTelemetryMetricsProvider provider = + CustomOpenTelemetryMetricsProvider.create(OpenTelemetry.noop()); + SpannerOptions options = + omniBuilder().setClientMetricsProvider(provider).setBuiltInMetricsEnabled(false).build(); + assertSame(provider, options.getClientMetricsProvider()); + assertFalse(options.isEnableBuiltInMetrics()); + } + + @Test + public void environmentKillSwitchTurnsOffGcmButKeepsCustomSink() { + SpannerOptions.useEnvironment( + new SpannerOptions.SpannerEnvironment() { + @Override + public boolean isEnableBuiltInMetrics() { + // Simulates SPANNER_DISABLE_BUILTIN_METRICS=true. + return false; + } + }); + CustomOpenTelemetryMetricsProvider provider = + CustomOpenTelemetryMetricsProvider.create(OpenTelemetry.noop()); + + // Non-OMNI: the kill-switch only turns off the Cloud Monitoring sink; the client-metrics sink + // stays. + SpannerOptions cloudOptions = cloudBuilder().setClientMetricsProvider(provider).build(); + assertSame(provider, cloudOptions.getClientMetricsProvider()); + assertFalse(cloudOptions.isEnableBuiltInMetrics()); + + // OMNI: the kill-switch only affects Cloud Monitoring, which is impossible there anyway. + SpannerOptions omniOptions = omniBuilder().setClientMetricsProvider(provider).build(); + assertSame(provider, omniOptions.getClientMetricsProvider()); + assertFalse(omniOptions.isEnableBuiltInMetrics()); + } + + @Test + public void omniCustomProviderEnvironmentKillSwitchStaysActive() { + SpannerOptions.useEnvironment( + new SpannerOptions.SpannerEnvironment() { + @Override + public boolean isEnableBuiltInMetrics() { + return false; + } + }); + CustomOpenTelemetryMetricsProvider provider = + CustomOpenTelemetryMetricsProvider.create(OpenTelemetry.noop()); + + SpannerOptions options = + omniBuilder().setClientMetricsProvider(provider).setBuiltInMetricsEnabled(true).build(); + assertSame(provider, options.getClientMetricsProvider()); + assertFalse(options.isEnableBuiltInMetrics()); + } + + @Test + public void nullMetricsProviderIsRejected() { + assertThrows(NullPointerException.class, () -> cloudBuilder().setClientMetricsProvider(null)); + } + + @Test + public void toBuilderKeepsMetricsProvider() { + CustomOpenTelemetryMetricsProvider provider = + CustomOpenTelemetryMetricsProvider.create(OpenTelemetry.noop()); + SpannerOptions options = cloudBuilder().setClientMetricsProvider(provider).build(); + SpannerOptions copy = options.toBuilder().build(); + assertSame(provider, copy.getClientMetricsProvider()); + // Additive: a non-OMNI custom provider keeps the Cloud Monitoring sink on across toBuilder(). + assertTrue(copy.isEnableBuiltInMetrics()); + } + + @Test + public void toBuilderPreservesRawProviderAcrossInstanceTypeChange() { + SpannerOptions omniOptions = omniBuilder().build(); + assertSame(NoopMetricsProvider.INSTANCE, omniOptions.getClientMetricsProvider()); + + SpannerOptions cloudCopy = + omniOptions.toBuilder() + .setType(SpannerOptions.InstanceType.CLOUD) + .setProjectId("test-project") + .build(); + assertSame(DefaultMetricsProvider.INSTANCE, cloudCopy.getClientMetricsProvider()); + } + + @Test + public void toBuilderReResolvesBuiltInMetricsFlagAgainstNewProvider() { + CustomOpenTelemetryMetricsProvider provider = + CustomOpenTelemetryMetricsProvider.create(OpenTelemetry.noop()); + SpannerOptions options = + cloudBuilder().setClientMetricsProvider(provider).setBuiltInMetricsEnabled(false).build(); + assertFalse(options.isEnableBuiltInMetrics()); + + // Switching back to the default provider re-enables the Cloud Monitoring sink, and the raw + // built-in flag is re-evaluated rather than pinned to the previously resolved value. + SpannerOptions copy = + options.toBuilder() + .setClientMetricsProvider(DefaultMetricsProvider.INSTANCE) + .setBuiltInMetricsEnabled(true) + .build(); + assertSame(DefaultMetricsProvider.INSTANCE, copy.getClientMetricsProvider()); + assertTrue(copy.isEnableBuiltInMetrics()); + } + + @Test + public void toBuilderPreservesRawProviderAcrossKillSwitchOnOmni() { + SpannerOptions.useEnvironment( + new SpannerOptions.SpannerEnvironment() { + @Override + public boolean isEnableBuiltInMetrics() { + return false; + } + }); + CustomOpenTelemetryMetricsProvider provider = + CustomOpenTelemetryMetricsProvider.create(OpenTelemetry.noop()); + // On OMNI the kill-switch does not affect the custom provider. + SpannerOptions options = omniBuilder().setClientMetricsProvider(provider).build(); + assertSame(provider, options.getClientMetricsProvider()); + + SpannerOptions.useDefaultEnvironment(); + SpannerOptions copy = options.toBuilder().build(); + assertSame(provider, copy.getClientMetricsProvider()); + } + + @Test + public void customProviderDoesNotTouchProcessWideCloudMonitoringSingleton() { + BuiltInMetricsProvider.INSTANCE.reset(); + CustomOpenTelemetryMetricsProvider provider = + CustomOpenTelemetryMetricsProvider.create(OpenTelemetry.noop()); + + SpannerOptions cloudOptions = cloudBuilder().setClientMetricsProvider(provider).build(); + cloudOptions.getApiTracerFactory(/* isAdminClient= */ false, /* isEmulatorEnabled= */ false); + assertNull(BuiltInMetricsProvider.INSTANCE.getOpenTelemetry()); + + SpannerOptions omniOptions = omniBuilder().setClientMetricsProvider(provider).build(); + omniOptions.getApiTracerFactory(/* isAdminClient= */ false, /* isEmulatorEnabled= */ false); + assertNull(BuiltInMetricsProvider.INSTANCE.getOpenTelemetry()); + } +} diff --git a/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SpannerOptionsTest.java b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SpannerOptionsTest.java index 2ca142aa9544..bdcdf89afc2d 100644 --- a/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SpannerOptionsTest.java +++ b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SpannerOptionsTest.java @@ -31,6 +31,7 @@ import static org.mockito.Mockito.mock; import com.google.api.gax.grpc.GrpcCallContext; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; import com.google.api.gax.retrying.RetrySettings; import com.google.api.gax.rpc.ApiCallContext; import com.google.api.gax.rpc.ServerStreamingCallSettings; @@ -620,6 +621,39 @@ public void testSetEmulatorHostWithProtocol() { assertThat(options.getEndpoint()).isEqualTo("localhost:1234"); } + @Test + public void testIsEmulatorEnabledWithEmulatorHostWithoutProtocol() { + // The builder prepends "http://" to the host, but not to the emulator host. The emulator + // gate must still detect that the emulator is being used. + SpannerOptions options = + SpannerOptions.newBuilder() + .setProjectId("[PROJECT]") + .setEmulatorHost("localhost:1234") + .build(); + assertTrue(options.isEmulatorEnabled()); + } + + @Test + public void testIsEmulatorEnabledWithEmulatorHostWithProtocol() { + SpannerOptions options = + SpannerOptions.newBuilder() + .setProjectId("[PROJECT]") + .setEmulatorHost("http://localhost:1234") + .build(); + assertTrue(options.isEmulatorEnabled()); + } + + @Test + public void testIsEmulatorEnabledWithoutEmulatorHost() { + SpannerOptions options = + SpannerOptions.newBuilder() + .setProjectId("[PROJECT]") + .setHost("http://localhost:1234") + .setCredentials(NoCredentials.getInstance()) + .build(); + assertFalse(options.isEmulatorEnabled()); + } + @Test public void testDefaultQueryOptions() { SpannerOptions.useEnvironment( @@ -1451,6 +1485,39 @@ public void testOmniEnforcedInConstructor() { Duration.ofSeconds(42), options.getSessionPoolOptions().getAcquireSessionTimeout()); } + @Test + public void enableGrpcMetricsKeepsOneArgOverloadForCompatibility() throws Exception { + assertNotNull( + SpannerOptions.class.getMethod( + "enablegRPCMetrics", InstantiatingGrpcChannelProvider.Builder.class)); + } + + @Test + public void testCustomProviderKeepsCloudMonitoringSinkOnNonOmni() { + SpannerOptions.useEnvironment(new SpannerOptions.SpannerEnvironment() {}); + try { + CustomOpenTelemetryMetricsProvider provider = + CustomOpenTelemetryMetricsProvider.create(OpenTelemetry.noop()); + // Additive semantics: a custom sink on a non-OMNI client leaves the Cloud Monitoring sink on. + SpannerOptions options = + SpannerOptions.newBuilder() + .setProjectId("some-project") + .setCredentials(NoCredentials.getInstance()) + .setClientMetricsProvider(provider) + .build(); + assertSame(provider, options.getClientMetricsProvider()); + assertTrue(options.isEnableBuiltInMetrics()); + + // Disabling the built-in flag turns off only the Cloud Monitoring sink; the custom sink + // stays. + SpannerOptions customOnly = options.toBuilder().setBuiltInMetricsEnabled(false).build(); + assertSame(provider, customOnly.getClientMetricsProvider()); + assertFalse(customOnly.isEnableBuiltInMetrics()); + } finally { + SpannerOptions.useDefaultEnvironment(); + } + } + @Test public void testLogin() { SpannerOptions.Builder builder = diff --git a/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ReadWriteTransactionTest.java b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ReadWriteTransactionTest.java index 7d0fa94c9b0b..41acd084da4d 100644 --- a/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ReadWriteTransactionTest.java +++ b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ReadWriteTransactionTest.java @@ -24,8 +24,12 @@ import static org.hamcrest.CoreMatchers.nullValue; import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import static org.mockito.Mockito.any; import static org.mockito.Mockito.doThrow; @@ -67,6 +71,8 @@ import java.math.BigDecimal; import java.util.Arrays; import java.util.Collections; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ScheduledFuture; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -158,12 +164,21 @@ private ReadWriteTransaction createSubject() { return createSubject(CommitBehavior.SUCCEED, false); } + private ReadWriteTransaction createSubject(boolean keepTransactionAlive) { + return createSubject(CommitBehavior.SUCCEED, false, keepTransactionAlive); + } + private ReadWriteTransaction createSubject(CommitBehavior commitBehavior) { - return createSubject(commitBehavior, false); + return createSubject(commitBehavior, false, false); } private ReadWriteTransaction createSubject( final CommitBehavior commitBehavior, boolean withRetry) { + return createSubject(commitBehavior, withRetry, false); + } + + private ReadWriteTransaction createSubject( + final CommitBehavior commitBehavior, boolean withRetry, boolean keepTransactionAlive) { DatabaseClient client = mock(DatabaseClient.class); when(client.transactionManager()) .thenAnswer( @@ -179,6 +194,7 @@ private ReadWriteTransaction createSubject( }); return ReadWriteTransaction.newBuilder() .setDatabaseClient(client) + .setKeepTransactionAlive(keepTransactionAlive) .setRetryAbortsInternally(withRetry) .setIsolationLevel(IsolationLevel.ISOLATION_LEVEL_UNSPECIFIED) .setSavepointSupport(SavepointSupport.FAIL_AFTER_ROLLBACK) @@ -857,6 +873,173 @@ public void testGetCommitResponseAfterCommit() { assertNotNull(transaction.getCommitResponseOrNull()); } + @Test + public void testKeepAliveTaskRemovedFromQueueOnCancel() { + ParsedStatement parsedStatement = mock(ParsedStatement.class); + when(parsedStatement.getType()).thenReturn(StatementType.UPDATE); + when(parsedStatement.isUpdate()).thenReturn(true); + Statement statement = Statement.of("UPDATE FOO SET BAR=1 WHERE ID=2"); + when(parsedStatement.getStatement()).thenReturn(statement); + + ReadWriteTransaction transaction = createSubject(/* keepTransactionAlive= */ true); + get(transaction.executeUpdateAsync(CallType.SYNC, parsedStatement)); + + ScheduledFuture future = waitForKeepAliveFuture(transaction); + assertNotNull(future); + assertTrue(ReadWriteTransaction.getKeepAliveService().getQueue().contains(future)); + + get(transaction.commitAsync(CallType.SYNC, NoopEndTransactionCallback.INSTANCE)); + assertFalse(ReadWriteTransaction.getKeepAliveService().getQueue().contains(future)); + } + + @Test + public void testKeepAliveWeakReference() { + ReadWriteTransaction transaction = createSubject(/* keepTransactionAlive= */ true); + ReadWriteTransaction.KeepAliveRunnable runnable = + new ReadWriteTransaction.KeepAliveRunnable(transaction); + + assertNotNull(runnable.transactionRef); + assertSame(transaction, runnable.transactionRef.get()); + } + + @Test + public void testKeepAliveRescheduledWhenLockBusy() { + ParsedStatement parsedStatement = mock(ParsedStatement.class); + when(parsedStatement.getType()).thenReturn(StatementType.UPDATE); + when(parsedStatement.isUpdate()).thenReturn(true); + Statement statement = Statement.of("UPDATE FOO SET BAR=1 WHERE ID=2"); + when(parsedStatement.getStatement()).thenReturn(statement); + + ReadWriteTransaction transaction = createSubject(/* keepTransactionAlive= */ true); + get(transaction.executeUpdateAsync(CallType.SYNC, parsedStatement)); + + ScheduledFuture future1 = waitForKeepAliveFuture(transaction); + assertNotNull(future1); + + CountDownLatch latch = new CountDownLatch(1); + CountDownLatch lockAcquired = new CountDownLatch(1); + Thread lockHoldingThread = + new Thread( + () -> { + transaction.abortedLock.lock(); + try { + lockAcquired.countDown(); + latch.await(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } finally { + transaction.abortedLock.unlock(); + } + }); + lockHoldingThread.start(); + try { + lockAcquired.await(); + ReadWriteTransaction.KeepAliveRunnable runnable = + new ReadWriteTransaction.KeepAliveRunnable(transaction); + runnable.run(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + fail("Test interrupted"); + } finally { + latch.countDown(); + try { + lockHoldingThread.join(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + + ScheduledFuture future2 = transaction.getKeepAliveFuture(); + assertNotSame(future1, future2); + assertNotNull(future2); + } + + @Test + public void testKeepAliveFutureNullifiedOnCancel() { + ParsedStatement parsedStatement = mock(ParsedStatement.class); + when(parsedStatement.getType()).thenReturn(StatementType.UPDATE); + when(parsedStatement.isUpdate()).thenReturn(true); + Statement statement = Statement.of("UPDATE FOO SET BAR=1 WHERE ID=2"); + when(parsedStatement.getStatement()).thenReturn(statement); + + ReadWriteTransaction transaction = createSubject(/* keepTransactionAlive= */ true); + get(transaction.executeUpdateAsync(CallType.SYNC, parsedStatement)); + + assertNotNull(waitForKeepAliveFuture(transaction)); + + get(transaction.commitAsync(CallType.SYNC, NoopEndTransactionCallback.INSTANCE)); + + assertNull(transaction.getKeepAliveFuture()); + } + + private static ScheduledFuture waitForKeepAliveFuture(ReadWriteTransaction transaction) { + long deadline = System.currentTimeMillis() + 5000; + while (System.currentTimeMillis() < deadline) { + ScheduledFuture future = transaction.getKeepAliveFuture(); + if (future != null) { + return future; + } + try { + Thread.sleep(1); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + break; + } + } + fail("Keep-alive future was not populated within 5 seconds"); + return null; + } + + @Test + public void testKeepAliveRunnableHandlesSynchronousException() { + DatabaseClient client = mock(DatabaseClient.class); + when(client.transactionManager()) + .thenAnswer( + invocation -> { + TransactionContext txContext = mock(TransactionContext.class); + when(txContext.executeQuery(any(Statement.class))) + .thenThrow(new RuntimeException("Simulated synchronous execution error")); + return new SimpleTransactionManager(txContext, CommitBehavior.SUCCEED); + }); + + ReadWriteTransaction transaction = + ReadWriteTransaction.newBuilder() + .setDatabaseClient(client) + .setKeepTransactionAlive(true) + .setRetryAbortsInternally(false) + .setIsolationLevel(IsolationLevel.ISOLATION_LEVEL_UNSPECIFIED) + .setSavepointSupport(SavepointSupport.FAIL_AFTER_ROLLBACK) + .setTransactionRetryListeners(Collections.emptyList()) + .withStatementExecutor(new StatementExecutor()) + .setSpan(Span.getInvalid()) + .build(); + + ReadWriteTransaction.KeepAliveRunnable runnable = + new ReadWriteTransaction.KeepAliveRunnable(transaction); + + runnable.run(); + + assertFalse(transaction.abortedLock.isLocked()); + assertNotNull(waitForKeepAliveFuture(transaction)); + } + + @Test + public void testKeepAliveNotScheduledIfTransactionClosed() { + ParsedStatement parsedStatement = mock(ParsedStatement.class); + when(parsedStatement.getType()).thenReturn(StatementType.UPDATE); + when(parsedStatement.isUpdate()).thenReturn(true); + Statement statement = Statement.of("UPDATE FOO SET BAR=1 WHERE ID=2"); + when(parsedStatement.getStatement()).thenReturn(statement); + + ReadWriteTransaction transaction = createSubject(/* keepTransactionAlive= */ true); + get(transaction.executeUpdateAsync(CallType.SYNC, parsedStatement)); + get(transaction.commitAsync(CallType.SYNC, NoopEndTransactionCallback.INSTANCE)); + + transaction.maybeScheduleKeepAlivePing(); + + assertNull(transaction.getKeepAliveFuture()); + } + private static StatusRuntimeException createAbortedExceptionWithMinimalRetry() { Metadata.Key key = ProtoUtils.keyForProto(RetryInfo.getDefaultInstance()); Metadata trailers = new Metadata(); diff --git a/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpcTest.java b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpcTest.java index 275bbe66c20d..de21347e0609 100644 --- a/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpcTest.java +++ b/java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpcTest.java @@ -1349,7 +1349,7 @@ public boolean isEnableGRPCBuiltInMetrics() { InstantiatingGrpcChannelProvider.Builder channelProviderBuilder = InstantiatingGrpcChannelProvider.newBuilder(); - options.enablegRPCMetrics(channelProviderBuilder); + options.enablegRPCMetrics(channelProviderBuilder, /* isEmulatorEnabled= */ false); assertNull(channelProviderBuilder.getChannelConfigurator()); } finally { @@ -1357,6 +1357,56 @@ public boolean isEnableGRPCBuiltInMetrics() { } } + @Test + public void testEmulatorSkipsGrpcBuiltInMetricsConfigurator() { + try { + SpannerOptions.useEnvironment( + new SpannerOptions.SpannerEnvironment() { + @Override + public boolean isEnableGRPCBuiltInMetrics() { + return true; + } + }); + + SpannerOptions options = + SpannerOptions.newBuilder() + .setProjectId("[PROJECT]") + .setCredentials(STATIC_CREDENTIALS) + .setBuiltInMetricsEnabled(true) + .build(); + InstantiatingGrpcChannelProvider.Builder channelProviderBuilder = + InstantiatingGrpcChannelProvider.newBuilder(); + + options.enablegRPCMetrics(channelProviderBuilder, /* isEmulatorEnabled= */ true); + + assertNull(channelProviderBuilder.getChannelConfigurator()); + } finally { + SpannerOptions.useDefaultEnvironment(); + } + } + + @Test + public void testSetEmulatorHostIsDetectedWithoutEnvironmentVariable() throws Exception { + SpannerOptions emulatorOptions = + SpannerOptions.newBuilder() + .setProjectId("[PROJECT]") + .setEmulatorHost("localhost:1234") + .build(); + SpannerOptions localhostOptions = + SpannerOptions.newBuilder() + .setProjectId("[PROJECT]") + .setHost("http://localhost:1234") + .setCredentials(NoCredentials.getInstance()) + .build(); + java.lang.reflect.Method isEmulatorEnabled = + GapicSpannerRpc.class.getDeclaredMethod( + "isEmulatorEnabled", SpannerOptions.class, String.class); + isEmulatorEnabled.setAccessible(true); + + assertTrue((boolean) isEmulatorEnabled.invoke(null, emulatorOptions, null)); + assertFalse((boolean) isEmulatorEnabled.invoke(null, localhostOptions, null)); + } + private static final class RecordingTransportChannelProvider implements TransportChannelProvider { private final String host; private final int port; diff --git a/java-spanner/grpc-google-cloud-spanner-admin-database-v1/pom.xml b/java-spanner/grpc-google-cloud-spanner-admin-database-v1/pom.xml index fa3bfa74699d..86a56efea2b2 100644 --- a/java-spanner/grpc-google-cloud-spanner-admin-database-v1/pom.xml +++ b/java-spanner/grpc-google-cloud-spanner-admin-database-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-spanner-admin-database-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT grpc-google-cloud-spanner-admin-database-v1 GRPC library for grpc-google-cloud-spanner-admin-database-v1 com.google.cloud google-cloud-spanner-parent - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT diff --git a/java-spanner/grpc-google-cloud-spanner-admin-instance-v1/pom.xml b/java-spanner/grpc-google-cloud-spanner-admin-instance-v1/pom.xml index 7ec991f09a2a..1ed79225cea6 100644 --- a/java-spanner/grpc-google-cloud-spanner-admin-instance-v1/pom.xml +++ b/java-spanner/grpc-google-cloud-spanner-admin-instance-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-spanner-admin-instance-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT grpc-google-cloud-spanner-admin-instance-v1 GRPC library for grpc-google-cloud-spanner-admin-instance-v1 com.google.cloud google-cloud-spanner-parent - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT diff --git a/java-spanner/grpc-google-cloud-spanner-executor-v1/pom.xml b/java-spanner/grpc-google-cloud-spanner-executor-v1/pom.xml index 7d7c82cc9003..a65a4925e608 100644 --- a/java-spanner/grpc-google-cloud-spanner-executor-v1/pom.xml +++ b/java-spanner/grpc-google-cloud-spanner-executor-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-spanner-executor-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT grpc-google-cloud-spanner-executor-v1 GRPC library for google-cloud-spanner com.google.cloud google-cloud-spanner-parent - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT diff --git a/java-spanner/grpc-google-cloud-spanner-v1/pom.xml b/java-spanner/grpc-google-cloud-spanner-v1/pom.xml index bea113b03650..e0bc2b30469c 100644 --- a/java-spanner/grpc-google-cloud-spanner-v1/pom.xml +++ b/java-spanner/grpc-google-cloud-spanner-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-spanner-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT grpc-google-cloud-spanner-v1 GRPC library for grpc-google-cloud-spanner-v1 com.google.cloud google-cloud-spanner-parent - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT diff --git a/java-spanner/pom.xml b/java-spanner/pom.xml index 871688a20e5b..d2bf601f3905 100644 --- a/java-spanner/pom.xml +++ b/java-spanner/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-spanner-parent pom - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT Google Cloud Spanner Parent https://github.com/googleapis/google-cloud-java @@ -14,7 +14,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -63,47 +63,47 @@ com.google.api.grpc proto-google-cloud-spanner-admin-instance-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-executor-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-executor-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-admin-database-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-admin-instance-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-admin-database-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT com.google.cloud google-cloud-spanner - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT diff --git a/java-spanner/proto-google-cloud-spanner-admin-database-v1/pom.xml b/java-spanner/proto-google-cloud-spanner-admin-database-v1/pom.xml index 9b6dd591d07e..dc79a1c40962 100644 --- a/java-spanner/proto-google-cloud-spanner-admin-database-v1/pom.xml +++ b/java-spanner/proto-google-cloud-spanner-admin-database-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-spanner-admin-database-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT proto-google-cloud-spanner-admin-database-v1 PROTO library for proto-google-cloud-spanner-admin-database-v1 com.google.cloud google-cloud-spanner-parent - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT diff --git a/java-spanner/proto-google-cloud-spanner-admin-instance-v1/pom.xml b/java-spanner/proto-google-cloud-spanner-admin-instance-v1/pom.xml index d1f5b1c2c8f2..e1775388ac7f 100644 --- a/java-spanner/proto-google-cloud-spanner-admin-instance-v1/pom.xml +++ b/java-spanner/proto-google-cloud-spanner-admin-instance-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-spanner-admin-instance-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT proto-google-cloud-spanner-admin-instance-v1 PROTO library for proto-google-cloud-spanner-admin-instance-v1 com.google.cloud google-cloud-spanner-parent - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT diff --git a/java-spanner/proto-google-cloud-spanner-executor-v1/pom.xml b/java-spanner/proto-google-cloud-spanner-executor-v1/pom.xml index 7a8ba9d81e5f..9e389a0c9c44 100644 --- a/java-spanner/proto-google-cloud-spanner-executor-v1/pom.xml +++ b/java-spanner/proto-google-cloud-spanner-executor-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-spanner-executor-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT proto-google-cloud-spanner-executor-v1 Proto library for google-cloud-spanner com.google.cloud google-cloud-spanner-parent - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT diff --git a/java-spanner/proto-google-cloud-spanner-v1/pom.xml b/java-spanner/proto-google-cloud-spanner-v1/pom.xml index 66ed9318a5e1..0ba8a6ed2228 100644 --- a/java-spanner/proto-google-cloud-spanner-v1/pom.xml +++ b/java-spanner/proto-google-cloud-spanner-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-spanner-v1 - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT proto-google-cloud-spanner-v1 PROTO library for proto-google-cloud-spanner-v1 com.google.cloud google-cloud-spanner-parent - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT diff --git a/java-spanner/samples/snapshot/pom.xml b/java-spanner/samples/snapshot/pom.xml index 358cbb9947aa..b3e6ded0ed47 100644 --- a/java-spanner/samples/snapshot/pom.xml +++ b/java-spanner/samples/snapshot/pom.xml @@ -32,7 +32,7 @@ com.google.cloud google-cloud-spanner - 6.120.0-SNAPSHOT + 6.121.0-SNAPSHOT diff --git a/java-spanneradapter/google-cloud-spanneradapter-bom/pom.xml b/java-spanneradapter/google-cloud-spanneradapter-bom/pom.xml index e9eb7e74a24a..913c20c6d8ea 100644 --- a/java-spanneradapter/google-cloud-spanneradapter-bom/pom.xml +++ b/java-spanneradapter/google-cloud-spanneradapter-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-spanneradapter-bom - 0.31.0-SNAPSHOT + 0.32.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-spanneradapter - 0.31.0-SNAPSHOT + 0.32.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanneradapter-v1 - 0.31.0-SNAPSHOT + 0.32.0-SNAPSHOT com.google.api.grpc proto-google-cloud-spanneradapter-v1 - 0.31.0-SNAPSHOT + 0.32.0-SNAPSHOT diff --git a/java-spanneradapter/google-cloud-spanneradapter/pom.xml b/java-spanneradapter/google-cloud-spanneradapter/pom.xml index 3f2a2a4227b9..dd99341a7126 100644 --- a/java-spanneradapter/google-cloud-spanneradapter/pom.xml +++ b/java-spanneradapter/google-cloud-spanneradapter/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-spanneradapter - 0.31.0-SNAPSHOT + 0.32.0-SNAPSHOT jar Google Cloud Spanner Adapter API Cloud Spanner Adapter API The Cloud Spanner Adapter service allows native drivers of supported database dialects to interact directly with Cloud Spanner by wrapping the underlying wire protocol used by the driver in a gRPC stream. com.google.cloud google-cloud-spanneradapter-parent - 0.31.0-SNAPSHOT + 0.32.0-SNAPSHOT google-cloud-spanneradapter diff --git a/java-spanneradapter/google-cloud-spanneradapter/src/main/java/com/google/spanner/adapter/v1/stub/Version.java b/java-spanneradapter/google-cloud-spanneradapter/src/main/java/com/google/spanner/adapter/v1/stub/Version.java index 4ee8a6886e6d..75673bfdb789 100644 --- a/java-spanneradapter/google-cloud-spanneradapter/src/main/java/com/google/spanner/adapter/v1/stub/Version.java +++ b/java-spanneradapter/google-cloud-spanneradapter/src/main/java/com/google/spanner/adapter/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-spanneradapter:current} - static final String VERSION = "0.31.0-SNAPSHOT"; + static final String VERSION = "0.32.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-spanneradapter/grpc-google-cloud-spanneradapter-v1/pom.xml b/java-spanneradapter/grpc-google-cloud-spanneradapter-v1/pom.xml index 37be6fe25982..416c8d8ed7a9 100644 --- a/java-spanneradapter/grpc-google-cloud-spanneradapter-v1/pom.xml +++ b/java-spanneradapter/grpc-google-cloud-spanneradapter-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-spanneradapter-v1 - 0.31.0-SNAPSHOT + 0.32.0-SNAPSHOT grpc-google-cloud-spanneradapter-v1 GRPC library for google-cloud-spanneradapter com.google.cloud google-cloud-spanneradapter-parent - 0.31.0-SNAPSHOT + 0.32.0-SNAPSHOT diff --git a/java-spanneradapter/pom.xml b/java-spanneradapter/pom.xml index 9a918e8a2487..18a4910c7bf4 100644 --- a/java-spanneradapter/pom.xml +++ b/java-spanneradapter/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-spanneradapter-parent pom - 0.31.0-SNAPSHOT + 0.32.0-SNAPSHOT Google Cloud Spanner Adapter API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-spanneradapter - 0.31.0-SNAPSHOT + 0.32.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanneradapter-v1 - 0.31.0-SNAPSHOT + 0.32.0-SNAPSHOT com.google.api.grpc proto-google-cloud-spanneradapter-v1 - 0.31.0-SNAPSHOT + 0.32.0-SNAPSHOT diff --git a/java-spanneradapter/proto-google-cloud-spanneradapter-v1/pom.xml b/java-spanneradapter/proto-google-cloud-spanneradapter-v1/pom.xml index 9f687b116d70..fce957aa3672 100644 --- a/java-spanneradapter/proto-google-cloud-spanneradapter-v1/pom.xml +++ b/java-spanneradapter/proto-google-cloud-spanneradapter-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-spanneradapter-v1 - 0.31.0-SNAPSHOT + 0.32.0-SNAPSHOT proto-google-cloud-spanneradapter-v1 Proto library for google-cloud-spanneradapter com.google.cloud google-cloud-spanneradapter-parent - 0.31.0-SNAPSHOT + 0.32.0-SNAPSHOT diff --git a/java-speech/google-cloud-speech-bom/pom.xml b/java-speech/google-cloud-speech-bom/pom.xml index 32ef4ebbcad3..33093989cb61 100644 --- a/java-speech/google-cloud-speech-bom/pom.xml +++ b/java-speech/google-cloud-speech-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-speech-bom - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,37 +24,37 @@ com.google.cloud google-cloud-speech - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-speech-v1 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-speech-v1p1beta1 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-speech-v2 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT com.google.api.grpc proto-google-cloud-speech-v1 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT com.google.api.grpc proto-google-cloud-speech-v1p1beta1 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT com.google.api.grpc proto-google-cloud-speech-v2 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT diff --git a/java-speech/google-cloud-speech/pom.xml b/java-speech/google-cloud-speech/pom.xml index aa98b576c3f9..a02a6f18dbe7 100644 --- a/java-speech/google-cloud-speech/pom.xml +++ b/java-speech/google-cloud-speech/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-speech - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT jar Google Cloud Speech @@ -12,7 +12,7 @@ com.google.cloud google-cloud-speech-parent - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT google-cloud-speech diff --git a/java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/stub/Version.java b/java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/stub/Version.java index 02ca5ad81513..8ce8f4df70d1 100644 --- a/java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/stub/Version.java +++ b/java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-speech:current} - static final String VERSION = "4.90.0-SNAPSHOT"; + static final String VERSION = "4.91.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v1p1beta1/stub/Version.java b/java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v1p1beta1/stub/Version.java index 0237e02270ea..3b03fb3850de 100644 --- a/java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v1p1beta1/stub/Version.java +++ b/java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v1p1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-speech:current} - static final String VERSION = "4.90.0-SNAPSHOT"; + static final String VERSION = "4.91.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v2/stub/Version.java b/java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v2/stub/Version.java index 3cdbaa6f18a3..055c06bfaa1e 100644 --- a/java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v2/stub/Version.java +++ b/java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-speech:current} - static final String VERSION = "4.90.0-SNAPSHOT"; + static final String VERSION = "4.91.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-speech/grpc-google-cloud-speech-v1/pom.xml b/java-speech/grpc-google-cloud-speech-v1/pom.xml index a239bb43b3e8..e5606c274d31 100644 --- a/java-speech/grpc-google-cloud-speech-v1/pom.xml +++ b/java-speech/grpc-google-cloud-speech-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-speech-v1 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT grpc-google-cloud-speech-v1 GRPC library for grpc-google-cloud-speech-v1 com.google.cloud google-cloud-speech-parent - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT diff --git a/java-speech/grpc-google-cloud-speech-v1p1beta1/pom.xml b/java-speech/grpc-google-cloud-speech-v1p1beta1/pom.xml index b5ae1dba6bfe..ffa16f8e3ce9 100644 --- a/java-speech/grpc-google-cloud-speech-v1p1beta1/pom.xml +++ b/java-speech/grpc-google-cloud-speech-v1p1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-speech-v1p1beta1 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT grpc-google-cloud-speech-v1p1beta1 GRPC library for grpc-google-cloud-speech-v1p1beta1 com.google.cloud google-cloud-speech-parent - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT diff --git a/java-speech/grpc-google-cloud-speech-v2/pom.xml b/java-speech/grpc-google-cloud-speech-v2/pom.xml index e36b32fec783..5f37259c0e82 100644 --- a/java-speech/grpc-google-cloud-speech-v2/pom.xml +++ b/java-speech/grpc-google-cloud-speech-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-speech-v2 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT grpc-google-cloud-speech-v2 GRPC library for google-cloud-speech com.google.cloud google-cloud-speech-parent - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT diff --git a/java-speech/pom.xml b/java-speech/pom.xml index bad73edff48a..419d897262b2 100644 --- a/java-speech/pom.xml +++ b/java-speech/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-speech-parent pom - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT Google Cloud speech Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.api.grpc proto-google-cloud-speech-v1 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT com.google.api.grpc proto-google-cloud-speech-v2 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-speech-v2 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT com.google.cloud google-cloud-speech - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT com.google.api.grpc proto-google-cloud-speech-v1p1beta1 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-speech-v1 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-speech-v1p1beta1 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT diff --git a/java-speech/proto-google-cloud-speech-v1/pom.xml b/java-speech/proto-google-cloud-speech-v1/pom.xml index 919b8f9f5733..ee9612eca607 100644 --- a/java-speech/proto-google-cloud-speech-v1/pom.xml +++ b/java-speech/proto-google-cloud-speech-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-speech-v1 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT proto-google-cloud-speech-v1 PROTO library for proto-google-cloud-speech-v1 com.google.cloud google-cloud-speech-parent - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT diff --git a/java-speech/proto-google-cloud-speech-v1p1beta1/pom.xml b/java-speech/proto-google-cloud-speech-v1p1beta1/pom.xml index a0edefe57427..a473b8d69ad7 100644 --- a/java-speech/proto-google-cloud-speech-v1p1beta1/pom.xml +++ b/java-speech/proto-google-cloud-speech-v1p1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-speech-v1p1beta1 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT proto-google-cloud-speech-v1p1beta1 PROTO library for proto-google-cloud-speech-v1p1beta1 com.google.cloud google-cloud-speech-parent - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT diff --git a/java-speech/proto-google-cloud-speech-v2/pom.xml b/java-speech/proto-google-cloud-speech-v2/pom.xml index 84831962c7fa..84e1ccb87638 100644 --- a/java-speech/proto-google-cloud-speech-v2/pom.xml +++ b/java-speech/proto-google-cloud-speech-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-speech-v2 - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT proto-google-cloud-speech-v2 Proto library for google-cloud-speech com.google.cloud google-cloud-speech-parent - 4.90.0-SNAPSHOT + 4.91.0-SNAPSHOT diff --git a/java-sql/google-cloud-sql-bom/pom.xml b/java-sql/google-cloud-sql-bom/pom.xml index a82fd7287540..b2c0d7178f15 100644 --- a/java-sql/google-cloud-sql-bom/pom.xml +++ b/java-sql/google-cloud-sql-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-sql-bom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.cloud google-cloud-sql - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-sql-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-sql-v1beta4 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc proto-google-cloud-sql-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc proto-google-cloud-sql-v1beta4 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-sql/google-cloud-sql/pom.xml b/java-sql/google-cloud-sql/pom.xml index f45b26e0b7a1..04f1d3b67493 100644 --- a/java-sql/google-cloud-sql/pom.xml +++ b/java-sql/google-cloud-sql/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-sql - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT jar Google Cloud SQL Admin Cloud SQL Admin Cloud SQL Admin API com.google.cloud google-cloud-sql-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT google-cloud-sql diff --git a/java-sql/google-cloud-sql/src/main/java/com/google/cloud/sql/v1/stub/Version.java b/java-sql/google-cloud-sql/src/main/java/com/google/cloud/sql/v1/stub/Version.java index 6a5775e29a31..1760ca745ad6 100644 --- a/java-sql/google-cloud-sql/src/main/java/com/google/cloud/sql/v1/stub/Version.java +++ b/java-sql/google-cloud-sql/src/main/java/com/google/cloud/sql/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-sql:current} - static final String VERSION = "0.0.0-SNAPSHOT"; + static final String VERSION = "0.2.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-sql/google-cloud-sql/src/main/java/com/google/cloud/sql/v1beta4/stub/Version.java b/java-sql/google-cloud-sql/src/main/java/com/google/cloud/sql/v1beta4/stub/Version.java index e6be3cd5224a..0bb827caada3 100644 --- a/java-sql/google-cloud-sql/src/main/java/com/google/cloud/sql/v1beta4/stub/Version.java +++ b/java-sql/google-cloud-sql/src/main/java/com/google/cloud/sql/v1beta4/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-sql:current} - static final String VERSION = "0.0.0-SNAPSHOT"; + static final String VERSION = "0.2.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-sql/grpc-google-cloud-sql-v1/pom.xml b/java-sql/grpc-google-cloud-sql-v1/pom.xml index e46e2803e85f..dfb0f7835982 100644 --- a/java-sql/grpc-google-cloud-sql-v1/pom.xml +++ b/java-sql/grpc-google-cloud-sql-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-sql-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT grpc-google-cloud-sql-v1 GRPC library for google-cloud-sql com.google.cloud google-cloud-sql-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-sql/grpc-google-cloud-sql-v1beta4/pom.xml b/java-sql/grpc-google-cloud-sql-v1beta4/pom.xml index bfac490cf131..be92697cf1f4 100644 --- a/java-sql/grpc-google-cloud-sql-v1beta4/pom.xml +++ b/java-sql/grpc-google-cloud-sql-v1beta4/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-sql-v1beta4 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT grpc-google-cloud-sql-v1beta4 GRPC library for google-cloud-sql com.google.cloud google-cloud-sql-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-sql/pom.xml b/java-sql/pom.xml index 34fbb19cb8f6..9bdb97d863d6 100644 --- a/java-sql/pom.xml +++ b/java-sql/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-sql-parent pom - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT Google Cloud SQL Admin Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-sql - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-sql-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-sql-v1beta4 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc proto-google-cloud-sql-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT com.google.api.grpc proto-google-cloud-sql-v1beta4 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-sql/proto-google-cloud-sql-v1/pom.xml b/java-sql/proto-google-cloud-sql-v1/pom.xml index ad98c9245528..da3ac4aae62d 100644 --- a/java-sql/proto-google-cloud-sql-v1/pom.xml +++ b/java-sql/proto-google-cloud-sql-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-sql-v1 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT proto-google-cloud-sql-v1 Proto library for google-cloud-sql com.google.cloud google-cloud-sql-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-sql/proto-google-cloud-sql-v1beta4/pom.xml b/java-sql/proto-google-cloud-sql-v1beta4/pom.xml index 6f70fd30e7cb..7de3f21e9bc6 100644 --- a/java-sql/proto-google-cloud-sql-v1beta4/pom.xml +++ b/java-sql/proto-google-cloud-sql-v1beta4/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-sql-v1beta4 - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT proto-google-cloud-sql-v1beta4 Proto library for google-cloud-sql com.google.cloud google-cloud-sql-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT diff --git a/java-storage-nio/google-cloud-nio-bom/pom.xml b/java-storage-nio/google-cloud-nio-bom/pom.xml index f551cc8d6a36..2890cc36db8a 100644 --- a/java-storage-nio/google-cloud-nio-bom/pom.xml +++ b/java-storage-nio/google-cloud-nio-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-nio-bom - 0.135.0-SNAPSHOT + 0.136.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -53,7 +53,7 @@ com.google.cloud google-cloud-nio - 0.135.0-SNAPSHOT + 0.136.0-SNAPSHOT diff --git a/java-storage-nio/google-cloud-nio-examples/pom.xml b/java-storage-nio/google-cloud-nio-examples/pom.xml index 5c9170de9aaf..0a5509c2139b 100644 --- a/java-storage-nio/google-cloud-nio-examples/pom.xml +++ b/java-storage-nio/google-cloud-nio-examples/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-nio-examples - 0.135.0-SNAPSHOT + 0.136.0-SNAPSHOT jar Google Cloud NIO Examples https://github.com/googleapis/google-cloud-java @@ -13,7 +13,7 @@ com.google.cloud google-cloud-nio-parent - 0.135.0-SNAPSHOT + 0.136.0-SNAPSHOT diff --git a/java-storage-nio/google-cloud-nio-retrofit/README.md b/java-storage-nio/google-cloud-nio-retrofit/README.md index 618db2bde80e..06f996a49494 100644 --- a/java-storage-nio/google-cloud-nio-retrofit/README.md +++ b/java-storage-nio/google-cloud-nio-retrofit/README.md @@ -27,12 +27,12 @@ To run this example: [//]: # ({x-version-update-start:google-cloud-nio:current}) ``` - java -cp google-cloud-nio/target/google-cloud-nio-0.135.0-SNAPSHOT.jar:google-cloud-nio-retrofit/target/google-cloud-nio-retrofit-0.120.1-alpha-SNAPSHOT.jar com.google.cloud.nio.retrofit.ListFilesystems + java -cp google-cloud-nio/target/google-cloud-nio-0.136.0-SNAPSHOT.jar:google-cloud-nio-retrofit/target/google-cloud-nio-retrofit-0.120.1-alpha-SNAPSHOT.jar com.google.cloud.nio.retrofit.ListFilesystems ``` Notice that it lists Google Cloud Storage ("gs"), which it wouldn't if you ran it without the NIO jar: ``` - java -cp google-cloud-nio-retrofit/target/google-cloud-nio-retrofit-0.135.0-SNAPSHOT.jar com.google.cloud.nio.retrofit.ListFilesystems + java -cp google-cloud-nio-retrofit/target/google-cloud-nio-retrofit-0.136.0-SNAPSHOT.jar com.google.cloud.nio.retrofit.ListFilesystems ``` [//]: # ({x-version-update-end}) diff --git a/java-storage-nio/google-cloud-nio-retrofit/pom.xml b/java-storage-nio/google-cloud-nio-retrofit/pom.xml index 4b0fed79f218..4f967584e18a 100644 --- a/java-storage-nio/google-cloud-nio-retrofit/pom.xml +++ b/java-storage-nio/google-cloud-nio-retrofit/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-nio-retrofit - 0.135.0-SNAPSHOT + 0.136.0-SNAPSHOT jar Google Cloud NIO Retrofit Example https://github.com/googleapis/google-cloud-java @@ -12,7 +12,7 @@ com.google.cloud google-cloud-nio-parent - 0.135.0-SNAPSHOT + 0.136.0-SNAPSHOT google-cloud-nio-retrofit diff --git a/java-storage-nio/google-cloud-nio/pom.xml b/java-storage-nio/google-cloud-nio/pom.xml index 9cca49d38839..f26d91de2d5a 100644 --- a/java-storage-nio/google-cloud-nio/pom.xml +++ b/java-storage-nio/google-cloud-nio/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-nio - 0.135.0-SNAPSHOT + 0.136.0-SNAPSHOT jar Google Cloud NIO https://github.com/googleapis/google-cloud-java @@ -12,7 +12,7 @@ com.google.cloud google-cloud-nio-parent - 0.135.0-SNAPSHOT + 0.136.0-SNAPSHOT google-cloud-nio diff --git a/java-storage-nio/pom.xml b/java-storage-nio/pom.xml index 90ad0b962a0b..398d154a9ba4 100644 --- a/java-storage-nio/pom.xml +++ b/java-storage-nio/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-nio-parent pom - 0.135.0-SNAPSHOT + 0.136.0-SNAPSHOT Storage Parent https://github.com/googleapis/google-cloud-java @@ -14,7 +14,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -72,7 +72,7 @@ com.google.cloud google-cloud-storage - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT io.opentelemetry.semconv diff --git a/java-storage-nio/samples/snapshot/pom.xml b/java-storage-nio/samples/snapshot/pom.xml index acf620e9982d..afb92bd79b23 100644 --- a/java-storage-nio/samples/snapshot/pom.xml +++ b/java-storage-nio/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-nio - 0.135.0-SNAPSHOT + 0.136.0-SNAPSHOT diff --git a/java-storage-transfer/google-cloud-storage-transfer-bom/pom.xml b/java-storage-transfer/google-cloud-storage-transfer-bom/pom.xml index 3b00805a1ba0..71c027c3c321 100644 --- a/java-storage-transfer/google-cloud-storage-transfer-bom/pom.xml +++ b/java-storage-transfer/google-cloud-storage-transfer-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-storage-transfer-bom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-storage-transfer - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-storage-transfer-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-storage-transfer-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-storage-transfer/google-cloud-storage-transfer/pom.xml b/java-storage-transfer/google-cloud-storage-transfer/pom.xml index 4687fcf9b27a..e853a4ff3dd7 100644 --- a/java-storage-transfer/google-cloud-storage-transfer/pom.xml +++ b/java-storage-transfer/google-cloud-storage-transfer/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-storage-transfer - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT jar Google Storage Transfer Service Storage Transfer Service Secure, low-cost services for transferring data from cloud or on-premises sources. com.google.cloud google-cloud-storage-transfer-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT google-cloud-storage-transfer diff --git a/java-storage-transfer/google-cloud-storage-transfer/src/main/java/com/google/storagetransfer/v1/proto/stub/Version.java b/java-storage-transfer/google-cloud-storage-transfer/src/main/java/com/google/storagetransfer/v1/proto/stub/Version.java index d275b9fff6e0..03d75835471f 100644 --- a/java-storage-transfer/google-cloud-storage-transfer/src/main/java/com/google/storagetransfer/v1/proto/stub/Version.java +++ b/java-storage-transfer/google-cloud-storage-transfer/src/main/java/com/google/storagetransfer/v1/proto/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-storage-transfer:current} - static final String VERSION = "1.95.0-SNAPSHOT"; + static final String VERSION = "1.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-storage-transfer/grpc-google-cloud-storage-transfer-v1/pom.xml b/java-storage-transfer/grpc-google-cloud-storage-transfer-v1/pom.xml index 1e54891f1d8c..aa125243a4f7 100644 --- a/java-storage-transfer/grpc-google-cloud-storage-transfer-v1/pom.xml +++ b/java-storage-transfer/grpc-google-cloud-storage-transfer-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-storage-transfer-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT grpc-google-cloud-storage-transfer-v1 GRPC library for google-cloud-storage-transfer com.google.cloud google-cloud-storage-transfer-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-storage-transfer/pom.xml b/java-storage-transfer/pom.xml index ab8c5f56e253..5d674df51620 100644 --- a/java-storage-transfer/pom.xml +++ b/java-storage-transfer/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-storage-transfer-parent pom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT Google Storage Transfer Service Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-storage-transfer - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-storage-transfer-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-storage-transfer-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-storage-transfer/proto-google-cloud-storage-transfer-v1/pom.xml b/java-storage-transfer/proto-google-cloud-storage-transfer-v1/pom.xml index 3444b59f16b5..196310c45a32 100644 --- a/java-storage-transfer/proto-google-cloud-storage-transfer-v1/pom.xml +++ b/java-storage-transfer/proto-google-cloud-storage-transfer-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-storage-transfer-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT proto-google-cloud-storage-transfer-v1 Proto library for google-cloud-storage-transfer com.google.cloud google-cloud-storage-transfer-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-storage/gapic-google-cloud-storage-v2/pom.xml b/java-storage/gapic-google-cloud-storage-v2/pom.xml index 0c50aeeaa9e9..8a58812a9987 100644 --- a/java-storage/gapic-google-cloud-storage-v2/pom.xml +++ b/java-storage/gapic-google-cloud-storage-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc gapic-google-cloud-storage-v2 - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT gapic-google-cloud-storage-v2 GRPC library for gapic-google-cloud-storage-v2 com.google.cloud google-cloud-storage-parent - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT @@ -40,28 +40,28 @@ com.google.api.grpc proto-google-common-protos - 2.74.0-SNAPSHOT + 2.75.0-SNAPSHOT com.google.api api-common - 2.66.0-SNAPSHOT + 2.67.0-SNAPSHOT com.google.api gax - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT com.google.api.grpc proto-google-iam-v1 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api gax-grpc - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT com.google.guava @@ -77,7 +77,7 @@ gax-grpc testlib test - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT diff --git a/java-storage/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/Version.java b/java-storage/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/Version.java index 7d40e93492fa..2e48a5801c78 100644 --- a/java-storage/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/Version.java +++ b/java-storage/gapic-google-cloud-storage-v2/src/main/java/com/google/storage/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-storage:current} - static final String VERSION = "2.71.0-SNAPSHOT"; + static final String VERSION = "2.72.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-storage/google-cloud-storage-bom/pom.xml b/java-storage/google-cloud-storage-bom/pom.xml index 780824ad277f..bd545472cb6a 100644 --- a/java-storage/google-cloud-storage-bom/pom.xml +++ b/java-storage/google-cloud-storage-bom/pom.xml @@ -19,12 +19,12 @@ 4.0.0 com.google.cloud google-cloud-storage-bom - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -69,37 +69,37 @@ com.google.cloud google-cloud-storage - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT com.google.api.grpc gapic-google-cloud-storage-v2 - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-storage-v2 - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT com.google.api.grpc proto-google-cloud-storage-v2 - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT com.google.cloud google-cloud-storage-control - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-storage-control-v2 - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT com.google.api.grpc proto-google-cloud-storage-control-v2 - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT diff --git a/java-storage/google-cloud-storage-control/pom.xml b/java-storage/google-cloud-storage-control/pom.xml index 7fe521658a5d..c37976657afb 100644 --- a/java-storage/google-cloud-storage-control/pom.xml +++ b/java-storage/google-cloud-storage-control/pom.xml @@ -5,13 +5,13 @@ 4.0.0 com.google.cloud google-cloud-storage-control - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT google-cloud-storage-control GRPC library for google-cloud-storage-control com.google.cloud google-cloud-storage-parent - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT diff --git a/java-storage/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/Version.java b/java-storage/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/Version.java index 18711433fc73..d52ad5559cd4 100644 --- a/java-storage/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/Version.java +++ b/java-storage/google-cloud-storage-control/src/main/java/com/google/storage/control/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-storage:current} - static final String VERSION = "2.71.0-SNAPSHOT"; + static final String VERSION = "2.72.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-storage/google-cloud-storage/pom.xml b/java-storage/google-cloud-storage/pom.xml index bde210ee1cb7..c5cceec2360a 100644 --- a/java-storage/google-cloud-storage/pom.xml +++ b/java-storage/google-cloud-storage/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-storage - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT jar Google Cloud Storage https://github.com/googleapis/google-cloud-java @@ -12,7 +12,7 @@ com.google.cloud google-cloud-storage-parent - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT google-cloud-storage @@ -255,14 +255,14 @@ com.google.api.grpc proto-google-cloud-kms-v1 - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT test com.google.cloud google-cloud-kms - 2.98.0-SNAPSHOT + 2.99.0-SNAPSHOT test diff --git a/java-storage/grpc-google-cloud-storage-control-v2/pom.xml b/java-storage/grpc-google-cloud-storage-control-v2/pom.xml index ac9e5c9a9e93..83a44f31a484 100644 --- a/java-storage/grpc-google-cloud-storage-control-v2/pom.xml +++ b/java-storage/grpc-google-cloud-storage-control-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-storage-control-v2 - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT grpc-google-cloud-storage-control-v2 GRPC library for google-cloud-storage com.google.cloud google-cloud-storage-parent - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT diff --git a/java-storage/grpc-google-cloud-storage-v2/pom.xml b/java-storage/grpc-google-cloud-storage-v2/pom.xml index 68c5aecbad9c..9d6ee3a9778c 100644 --- a/java-storage/grpc-google-cloud-storage-v2/pom.xml +++ b/java-storage/grpc-google-cloud-storage-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-storage-v2 - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT grpc-google-cloud-storage-v2 GRPC library for grpc-google-cloud-storage-v2 com.google.cloud google-cloud-storage-parent - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT diff --git a/java-storage/pom.xml b/java-storage/pom.xml index 28c08b83144d..2a22db9081f3 100644 --- a/java-storage/pom.xml +++ b/java-storage/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-storage-parent pom - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT Storage Parent https://github.com/googleapis/google-cloud-java @@ -14,7 +14,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -77,27 +77,27 @@ com.google.cloud google-cloud-storage - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT com.google.api.grpc proto-google-cloud-storage-v2 - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-storage-v2 - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-storage-control-v2 - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT com.google.api.grpc proto-google-cloud-storage-control-v2 - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT @@ -109,12 +109,12 @@ com.google.api.grpc gapic-google-cloud-storage-v2 - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT com.google.cloud google-cloud-storage-control - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT com.google.cloud diff --git a/java-storage/proto-google-cloud-storage-control-v2/pom.xml b/java-storage/proto-google-cloud-storage-control-v2/pom.xml index 4a20227a9a1d..13ac6faeaa18 100644 --- a/java-storage/proto-google-cloud-storage-control-v2/pom.xml +++ b/java-storage/proto-google-cloud-storage-control-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-storage-control-v2 - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT proto-google-cloud-storage-control-v2 Proto library for proto-google-cloud-storage-control-v2 com.google.cloud google-cloud-storage-parent - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT diff --git a/java-storage/proto-google-cloud-storage-v2/pom.xml b/java-storage/proto-google-cloud-storage-v2/pom.xml index 160a72e8c2b1..64e860f95c28 100644 --- a/java-storage/proto-google-cloud-storage-v2/pom.xml +++ b/java-storage/proto-google-cloud-storage-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-storage-v2 - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT proto-google-cloud-storage-v2 PROTO library for proto-google-cloud-storage-v2 com.google.cloud google-cloud-storage-parent - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT diff --git a/java-storage/samples/snapshot/pom.xml b/java-storage/samples/snapshot/pom.xml index a61d3502bc50..9100636e625e 100644 --- a/java-storage/samples/snapshot/pom.xml +++ b/java-storage/samples/snapshot/pom.xml @@ -28,12 +28,12 @@ com.google.cloud google-cloud-storage - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT com.google.cloud google-cloud-storage-control - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT compile @@ -70,7 +70,7 @@ com.google.cloud google-cloud-storage - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT tests test diff --git a/java-storage/storage-shared-benchmarking/pom.xml b/java-storage/storage-shared-benchmarking/pom.xml index 9943959d03bf..cf7251efc0cc 100644 --- a/java-storage/storage-shared-benchmarking/pom.xml +++ b/java-storage/storage-shared-benchmarking/pom.xml @@ -10,7 +10,7 @@ com.google.cloud google-cloud-storage-parent - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT @@ -31,7 +31,7 @@ com.google.cloud google-cloud-storage - 2.71.0-SNAPSHOT + 2.72.0-SNAPSHOT tests diff --git a/java-storagebatchoperations/google-cloud-storagebatchoperations-bom/pom.xml b/java-storagebatchoperations/google-cloud-storagebatchoperations-bom/pom.xml index 005940227940..264fd61c111a 100644 --- a/java-storagebatchoperations/google-cloud-storagebatchoperations-bom/pom.xml +++ b/java-storagebatchoperations/google-cloud-storagebatchoperations-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-storagebatchoperations-bom - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-storagebatchoperations - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-storagebatchoperations-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.api.grpc proto-google-cloud-storagebatchoperations-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-storagebatchoperations/google-cloud-storagebatchoperations/pom.xml b/java-storagebatchoperations/google-cloud-storagebatchoperations/pom.xml index 293ebfa31df4..56b04ac168d2 100644 --- a/java-storagebatchoperations/google-cloud-storagebatchoperations/pom.xml +++ b/java-storagebatchoperations/google-cloud-storagebatchoperations/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-storagebatchoperations - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT jar Google Storage Batch Operations API Storage Batch Operations API Storage batch operations is a Cloud Storage management feature that performs operations on billions of Cloud Storage objects in a serverless manner. com.google.cloud google-cloud-storagebatchoperations-parent - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT google-cloud-storagebatchoperations diff --git a/java-storagebatchoperations/google-cloud-storagebatchoperations/src/main/java/com/google/cloud/storagebatchoperations/v1/stub/Version.java b/java-storagebatchoperations/google-cloud-storagebatchoperations/src/main/java/com/google/cloud/storagebatchoperations/v1/stub/Version.java index 7297b6394556..860000d0ce2d 100644 --- a/java-storagebatchoperations/google-cloud-storagebatchoperations/src/main/java/com/google/cloud/storagebatchoperations/v1/stub/Version.java +++ b/java-storagebatchoperations/google-cloud-storagebatchoperations/src/main/java/com/google/cloud/storagebatchoperations/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-storagebatchoperations:current} - static final String VERSION = "0.35.0-SNAPSHOT"; + static final String VERSION = "0.36.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-storagebatchoperations/grpc-google-cloud-storagebatchoperations-v1/pom.xml b/java-storagebatchoperations/grpc-google-cloud-storagebatchoperations-v1/pom.xml index 3c2f627ea15f..28c1fdf9deca 100644 --- a/java-storagebatchoperations/grpc-google-cloud-storagebatchoperations-v1/pom.xml +++ b/java-storagebatchoperations/grpc-google-cloud-storagebatchoperations-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-storagebatchoperations-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT grpc-google-cloud-storagebatchoperations-v1 GRPC library for google-cloud-storagebatchoperations com.google.cloud google-cloud-storagebatchoperations-parent - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-storagebatchoperations/pom.xml b/java-storagebatchoperations/pom.xml index c4b95841c732..80833d26e6c0 100644 --- a/java-storagebatchoperations/pom.xml +++ b/java-storagebatchoperations/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-storagebatchoperations-parent pom - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT Google Storage Batch Operations API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-storagebatchoperations - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-storagebatchoperations-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT com.google.api.grpc proto-google-cloud-storagebatchoperations-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-storagebatchoperations/proto-google-cloud-storagebatchoperations-v1/pom.xml b/java-storagebatchoperations/proto-google-cloud-storagebatchoperations-v1/pom.xml index 2858e7b0ad05..4d45971464eb 100644 --- a/java-storagebatchoperations/proto-google-cloud-storagebatchoperations-v1/pom.xml +++ b/java-storagebatchoperations/proto-google-cloud-storagebatchoperations-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-storagebatchoperations-v1 - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT proto-google-cloud-storagebatchoperations-v1 Proto library for google-cloud-storagebatchoperations com.google.cloud google-cloud-storagebatchoperations-parent - 0.35.0-SNAPSHOT + 0.36.0-SNAPSHOT diff --git a/java-storageinsights/google-cloud-storageinsights-bom/pom.xml b/java-storageinsights/google-cloud-storageinsights-bom/pom.xml index b61970ffa96a..b3fb4c1da169 100644 --- a/java-storageinsights/google-cloud-storageinsights-bom/pom.xml +++ b/java-storageinsights/google-cloud-storageinsights-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-storageinsights-bom - 0.80.0-SNAPSHOT + 0.81.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-storageinsights - 0.80.0-SNAPSHOT + 0.81.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-storageinsights-v1 - 0.80.0-SNAPSHOT + 0.81.0-SNAPSHOT com.google.api.grpc proto-google-cloud-storageinsights-v1 - 0.80.0-SNAPSHOT + 0.81.0-SNAPSHOT diff --git a/java-storageinsights/google-cloud-storageinsights/pom.xml b/java-storageinsights/google-cloud-storageinsights/pom.xml index 4836f19be4b5..daf1c8d1a3c5 100644 --- a/java-storageinsights/google-cloud-storageinsights/pom.xml +++ b/java-storageinsights/google-cloud-storageinsights/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-storageinsights - 0.80.0-SNAPSHOT + 0.81.0-SNAPSHOT jar Google Storage Insights API Storage Insights API Provides insights capability on Google Cloud Storage com.google.cloud google-cloud-storageinsights-parent - 0.80.0-SNAPSHOT + 0.81.0-SNAPSHOT google-cloud-storageinsights diff --git a/java-storageinsights/google-cloud-storageinsights/src/main/java/com/google/cloud/storageinsights/v1/stub/Version.java b/java-storageinsights/google-cloud-storageinsights/src/main/java/com/google/cloud/storageinsights/v1/stub/Version.java index 5bb9cacb6b4c..a9dec8c11426 100644 --- a/java-storageinsights/google-cloud-storageinsights/src/main/java/com/google/cloud/storageinsights/v1/stub/Version.java +++ b/java-storageinsights/google-cloud-storageinsights/src/main/java/com/google/cloud/storageinsights/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-storageinsights:current} - static final String VERSION = "0.80.0-SNAPSHOT"; + static final String VERSION = "0.81.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-storageinsights/grpc-google-cloud-storageinsights-v1/pom.xml b/java-storageinsights/grpc-google-cloud-storageinsights-v1/pom.xml index 11ac90530707..1accdec2bdb9 100644 --- a/java-storageinsights/grpc-google-cloud-storageinsights-v1/pom.xml +++ b/java-storageinsights/grpc-google-cloud-storageinsights-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-storageinsights-v1 - 0.80.0-SNAPSHOT + 0.81.0-SNAPSHOT grpc-google-cloud-storageinsights-v1 GRPC library for google-cloud-storageinsights com.google.cloud google-cloud-storageinsights-parent - 0.80.0-SNAPSHOT + 0.81.0-SNAPSHOT diff --git a/java-storageinsights/pom.xml b/java-storageinsights/pom.xml index f52c6afd9441..6e418cce4bd0 100644 --- a/java-storageinsights/pom.xml +++ b/java-storageinsights/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-storageinsights-parent pom - 0.80.0-SNAPSHOT + 0.81.0-SNAPSHOT Google Storage Insights API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-storageinsights - 0.80.0-SNAPSHOT + 0.81.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-storageinsights-v1 - 0.80.0-SNAPSHOT + 0.81.0-SNAPSHOT com.google.api.grpc proto-google-cloud-storageinsights-v1 - 0.80.0-SNAPSHOT + 0.81.0-SNAPSHOT diff --git a/java-storageinsights/proto-google-cloud-storageinsights-v1/pom.xml b/java-storageinsights/proto-google-cloud-storageinsights-v1/pom.xml index 6ac9b0efc7a1..953c9034c374 100644 --- a/java-storageinsights/proto-google-cloud-storageinsights-v1/pom.xml +++ b/java-storageinsights/proto-google-cloud-storageinsights-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-storageinsights-v1 - 0.80.0-SNAPSHOT + 0.81.0-SNAPSHOT proto-google-cloud-storageinsights-v1 Proto library for google-cloud-storageinsights com.google.cloud google-cloud-storageinsights-parent - 0.80.0-SNAPSHOT + 0.81.0-SNAPSHOT diff --git a/java-talent/google-cloud-talent-bom/pom.xml b/java-talent/google-cloud-talent-bom/pom.xml index 287cac839a6d..d52919902a41 100644 --- a/java-talent/google-cloud-talent-bom/pom.xml +++ b/java-talent/google-cloud-talent-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-talent-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-talent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-talent-v4 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-talent-v4beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-talent-v4 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-talent-v4beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-talent/google-cloud-talent/pom.xml b/java-talent/google-cloud-talent/pom.xml index 08adbb275e53..40ec28007179 100644 --- a/java-talent/google-cloud-talent/pom.xml +++ b/java-talent/google-cloud-talent/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-talent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT jar Google Cloud Talent Solution Java idiomatic client for Google Cloud Talent Solution com.google.cloud google-cloud-talent-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT google-cloud-talent diff --git a/java-talent/google-cloud-talent/src/main/java/com/google/cloud/talent/v4/stub/Version.java b/java-talent/google-cloud-talent/src/main/java/com/google/cloud/talent/v4/stub/Version.java index 539931511bb4..63966ab4c5c4 100644 --- a/java-talent/google-cloud-talent/src/main/java/com/google/cloud/talent/v4/stub/Version.java +++ b/java-talent/google-cloud-talent/src/main/java/com/google/cloud/talent/v4/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-talent:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-talent/google-cloud-talent/src/main/java/com/google/cloud/talent/v4beta1/stub/Version.java b/java-talent/google-cloud-talent/src/main/java/com/google/cloud/talent/v4beta1/stub/Version.java index fc81a50847bb..6dfb477c09b1 100644 --- a/java-talent/google-cloud-talent/src/main/java/com/google/cloud/talent/v4beta1/stub/Version.java +++ b/java-talent/google-cloud-talent/src/main/java/com/google/cloud/talent/v4beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-talent:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-talent/grpc-google-cloud-talent-v4/pom.xml b/java-talent/grpc-google-cloud-talent-v4/pom.xml index 46980af00382..b7ef2734be6d 100644 --- a/java-talent/grpc-google-cloud-talent-v4/pom.xml +++ b/java-talent/grpc-google-cloud-talent-v4/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-talent-v4 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-talent-v4 GRPC library for grpc-google-cloud-talent-v4 com.google.cloud google-cloud-talent-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-talent/grpc-google-cloud-talent-v4beta1/pom.xml b/java-talent/grpc-google-cloud-talent-v4beta1/pom.xml index 49fafba1f2d9..39d54d3d171c 100644 --- a/java-talent/grpc-google-cloud-talent-v4beta1/pom.xml +++ b/java-talent/grpc-google-cloud-talent-v4beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-talent-v4beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-talent-v4beta1 GRPC library for grpc-google-cloud-talent-v4beta1 com.google.cloud google-cloud-talent-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-talent/pom.xml b/java-talent/pom.xml index 0f0ffdd53d03..090117285591 100644 --- a/java-talent/pom.xml +++ b/java-talent/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-talent-parent pom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT Google Cloud Talent Solution Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,32 +30,32 @@ com.google.api.grpc proto-google-cloud-talent-v4beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-talent-v4 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-talent-v4beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-talent-v4 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.cloud google-cloud-talent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.cloud google-cloud-talent-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-talent/proto-google-cloud-talent-v4/pom.xml b/java-talent/proto-google-cloud-talent-v4/pom.xml index 0ad9be90cb79..c58c180bcc11 100644 --- a/java-talent/proto-google-cloud-talent-v4/pom.xml +++ b/java-talent/proto-google-cloud-talent-v4/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-talent-v4 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-talent-v4 PROTO library for proto-google-cloud-talent-v4 com.google.cloud google-cloud-talent-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-talent/proto-google-cloud-talent-v4beta1/pom.xml b/java-talent/proto-google-cloud-talent-v4beta1/pom.xml index b904381a7768..f0f7446f48ec 100644 --- a/java-talent/proto-google-cloud-talent-v4beta1/pom.xml +++ b/java-talent/proto-google-cloud-talent-v4beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-talent-v4beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-talent-v4beta1 PROTO library for proto-google-cloud-talent-v4beta1 com.google.cloud google-cloud-talent-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-tasks/google-cloud-tasks-bom/pom.xml b/java-tasks/google-cloud-tasks-bom/pom.xml index 85ebc03557cd..3406a0614726 100644 --- a/java-tasks/google-cloud-tasks-bom/pom.xml +++ b/java-tasks/google-cloud-tasks-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-tasks-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,37 +24,37 @@ com.google.cloud google-cloud-tasks - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-tasks-v2beta3 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-tasks-v2beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-tasks-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-tasks-v2beta3 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-tasks-v2beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-tasks-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-tasks/google-cloud-tasks/pom.xml b/java-tasks/google-cloud-tasks/pom.xml index 3399632440f1..6d2972ef644e 100644 --- a/java-tasks/google-cloud-tasks/pom.xml +++ b/java-tasks/google-cloud-tasks/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-tasks - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Cloud Tasks Java idiomatic client for Google Cloud Tasks com.google.cloud google-cloud-tasks-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-tasks diff --git a/java-tasks/google-cloud-tasks/src/main/java/com/google/cloud/tasks/v2/stub/Version.java b/java-tasks/google-cloud-tasks/src/main/java/com/google/cloud/tasks/v2/stub/Version.java index 849cd4e24e72..63ead200ce57 100644 --- a/java-tasks/google-cloud-tasks/src/main/java/com/google/cloud/tasks/v2/stub/Version.java +++ b/java-tasks/google-cloud-tasks/src/main/java/com/google/cloud/tasks/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-tasks:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-tasks/google-cloud-tasks/src/main/java/com/google/cloud/tasks/v2beta2/stub/Version.java b/java-tasks/google-cloud-tasks/src/main/java/com/google/cloud/tasks/v2beta2/stub/Version.java index b515f860f1e0..826853784cd3 100644 --- a/java-tasks/google-cloud-tasks/src/main/java/com/google/cloud/tasks/v2beta2/stub/Version.java +++ b/java-tasks/google-cloud-tasks/src/main/java/com/google/cloud/tasks/v2beta2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-tasks:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-tasks/google-cloud-tasks/src/main/java/com/google/cloud/tasks/v2beta3/stub/Version.java b/java-tasks/google-cloud-tasks/src/main/java/com/google/cloud/tasks/v2beta3/stub/Version.java index 50621ae12eae..512bd6f7ef8d 100644 --- a/java-tasks/google-cloud-tasks/src/main/java/com/google/cloud/tasks/v2beta3/stub/Version.java +++ b/java-tasks/google-cloud-tasks/src/main/java/com/google/cloud/tasks/v2beta3/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-tasks:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-tasks/grpc-google-cloud-tasks-v2/pom.xml b/java-tasks/grpc-google-cloud-tasks-v2/pom.xml index e8af1574b5dc..14e00957faae 100644 --- a/java-tasks/grpc-google-cloud-tasks-v2/pom.xml +++ b/java-tasks/grpc-google-cloud-tasks-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-tasks-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-tasks-v2 GRPC library for grpc-google-cloud-tasks-v2 com.google.cloud google-cloud-tasks-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-tasks/grpc-google-cloud-tasks-v2beta2/pom.xml b/java-tasks/grpc-google-cloud-tasks-v2beta2/pom.xml index bb1f42b214be..2c5a015c3b05 100644 --- a/java-tasks/grpc-google-cloud-tasks-v2beta2/pom.xml +++ b/java-tasks/grpc-google-cloud-tasks-v2beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-tasks-v2beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-tasks-v2beta2 GRPC library for grpc-google-cloud-tasks-v2beta2 com.google.cloud google-cloud-tasks-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-tasks/grpc-google-cloud-tasks-v2beta3/pom.xml b/java-tasks/grpc-google-cloud-tasks-v2beta3/pom.xml index 3014a77742a8..1b99948818ad 100644 --- a/java-tasks/grpc-google-cloud-tasks-v2beta3/pom.xml +++ b/java-tasks/grpc-google-cloud-tasks-v2beta3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-tasks-v2beta3 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-tasks-v2beta3 GRPC library for grpc-google-cloud-tasks-v2beta3 com.google.cloud google-cloud-tasks-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-tasks/pom.xml b/java-tasks/pom.xml index 299c4dce03ef..9529899ef5f2 100644 --- a/java-tasks/pom.xml +++ b/java-tasks/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-tasks-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud Tasks Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.api.grpc proto-google-cloud-tasks-v2beta3 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-tasks-v2beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-tasks-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-tasks-v2beta3 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-tasks-v2beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-tasks-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.cloud google-cloud-tasks - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-tasks/proto-google-cloud-tasks-v2/pom.xml b/java-tasks/proto-google-cloud-tasks-v2/pom.xml index bf2c13fe983d..e7157a1f339f 100644 --- a/java-tasks/proto-google-cloud-tasks-v2/pom.xml +++ b/java-tasks/proto-google-cloud-tasks-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-tasks-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-tasks-v2 PROTO library for proto-google-cloud-tasks-v2 com.google.cloud google-cloud-tasks-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-tasks/proto-google-cloud-tasks-v2beta2/pom.xml b/java-tasks/proto-google-cloud-tasks-v2beta2/pom.xml index 494fd61289fd..c590429c85a3 100644 --- a/java-tasks/proto-google-cloud-tasks-v2beta2/pom.xml +++ b/java-tasks/proto-google-cloud-tasks-v2beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-tasks-v2beta2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-tasks-v2beta2 PROTO library for proto-google-cloud-tasks-v2beta2 com.google.cloud google-cloud-tasks-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-tasks/proto-google-cloud-tasks-v2beta3/pom.xml b/java-tasks/proto-google-cloud-tasks-v2beta3/pom.xml index f194e9e0a872..88b533003089 100644 --- a/java-tasks/proto-google-cloud-tasks-v2beta3/pom.xml +++ b/java-tasks/proto-google-cloud-tasks-v2beta3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-tasks-v2beta3 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-tasks-v2beta3 PROTO library for proto-google-cloud-tasks-v2beta3 com.google.cloud google-cloud-tasks-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-telcoautomation/google-cloud-telcoautomation-bom/pom.xml b/java-telcoautomation/google-cloud-telcoautomation-bom/pom.xml index 512b9d8c024e..fb000359680c 100644 --- a/java-telcoautomation/google-cloud-telcoautomation-bom/pom.xml +++ b/java-telcoautomation/google-cloud-telcoautomation-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-telcoautomation-bom - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-telcoautomation - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-telcoautomation-v1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-telcoautomation-v1alpha1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT com.google.api.grpc proto-google-cloud-telcoautomation-v1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT com.google.api.grpc proto-google-cloud-telcoautomation-v1alpha1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT diff --git a/java-telcoautomation/google-cloud-telcoautomation/pom.xml b/java-telcoautomation/google-cloud-telcoautomation/pom.xml index 6badd0c47eb0..54fe67c28a08 100644 --- a/java-telcoautomation/google-cloud-telcoautomation/pom.xml +++ b/java-telcoautomation/google-cloud-telcoautomation/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-telcoautomation - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT jar Google Telco Automation API Telco Automation API APIs to automate 5G deployment and management of cloud infrastructure and network functions. com.google.cloud google-cloud-telcoautomation-parent - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT google-cloud-telcoautomation diff --git a/java-telcoautomation/google-cloud-telcoautomation/src/main/java/com/google/cloud/telcoautomation/v1/stub/Version.java b/java-telcoautomation/google-cloud-telcoautomation/src/main/java/com/google/cloud/telcoautomation/v1/stub/Version.java index d22fb5604593..0f8523aa5a69 100644 --- a/java-telcoautomation/google-cloud-telcoautomation/src/main/java/com/google/cloud/telcoautomation/v1/stub/Version.java +++ b/java-telcoautomation/google-cloud-telcoautomation/src/main/java/com/google/cloud/telcoautomation/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-telcoautomation:current} - static final String VERSION = "0.65.0-SNAPSHOT"; + static final String VERSION = "0.66.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-telcoautomation/google-cloud-telcoautomation/src/main/java/com/google/cloud/telcoautomation/v1alpha1/stub/Version.java b/java-telcoautomation/google-cloud-telcoautomation/src/main/java/com/google/cloud/telcoautomation/v1alpha1/stub/Version.java index 99435768e74a..9f8c9e65d475 100644 --- a/java-telcoautomation/google-cloud-telcoautomation/src/main/java/com/google/cloud/telcoautomation/v1alpha1/stub/Version.java +++ b/java-telcoautomation/google-cloud-telcoautomation/src/main/java/com/google/cloud/telcoautomation/v1alpha1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-telcoautomation:current} - static final String VERSION = "0.65.0-SNAPSHOT"; + static final String VERSION = "0.66.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-telcoautomation/grpc-google-cloud-telcoautomation-v1/pom.xml b/java-telcoautomation/grpc-google-cloud-telcoautomation-v1/pom.xml index f1dccf3632b1..cf56f1f6c7aa 100644 --- a/java-telcoautomation/grpc-google-cloud-telcoautomation-v1/pom.xml +++ b/java-telcoautomation/grpc-google-cloud-telcoautomation-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-telcoautomation-v1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT grpc-google-cloud-telcoautomation-v1 GRPC library for google-cloud-telcoautomation com.google.cloud google-cloud-telcoautomation-parent - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT diff --git a/java-telcoautomation/grpc-google-cloud-telcoautomation-v1alpha1/pom.xml b/java-telcoautomation/grpc-google-cloud-telcoautomation-v1alpha1/pom.xml index c80dcbb3ae85..e7348b8c46aa 100644 --- a/java-telcoautomation/grpc-google-cloud-telcoautomation-v1alpha1/pom.xml +++ b/java-telcoautomation/grpc-google-cloud-telcoautomation-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-telcoautomation-v1alpha1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT grpc-google-cloud-telcoautomation-v1alpha1 GRPC library for google-cloud-telcoautomation com.google.cloud google-cloud-telcoautomation-parent - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT diff --git a/java-telcoautomation/pom.xml b/java-telcoautomation/pom.xml index f8df25432f8d..7713e19e820e 100644 --- a/java-telcoautomation/pom.xml +++ b/java-telcoautomation/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-telcoautomation-parent pom - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT Google Telco Automation API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-telcoautomation - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-telcoautomation-v1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-telcoautomation-v1alpha1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT com.google.api.grpc proto-google-cloud-telcoautomation-v1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT com.google.api.grpc proto-google-cloud-telcoautomation-v1alpha1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT diff --git a/java-telcoautomation/proto-google-cloud-telcoautomation-v1/pom.xml b/java-telcoautomation/proto-google-cloud-telcoautomation-v1/pom.xml index 3a9bdd4cead1..4e426318c762 100644 --- a/java-telcoautomation/proto-google-cloud-telcoautomation-v1/pom.xml +++ b/java-telcoautomation/proto-google-cloud-telcoautomation-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-telcoautomation-v1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT proto-google-cloud-telcoautomation-v1 Proto library for google-cloud-telcoautomation com.google.cloud google-cloud-telcoautomation-parent - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT diff --git a/java-telcoautomation/proto-google-cloud-telcoautomation-v1alpha1/pom.xml b/java-telcoautomation/proto-google-cloud-telcoautomation-v1alpha1/pom.xml index c2df45b995e4..44f19ca34900 100644 --- a/java-telcoautomation/proto-google-cloud-telcoautomation-v1alpha1/pom.xml +++ b/java-telcoautomation/proto-google-cloud-telcoautomation-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-telcoautomation-v1alpha1 - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT proto-google-cloud-telcoautomation-v1alpha1 Proto library for google-cloud-telcoautomation com.google.cloud google-cloud-telcoautomation-parent - 0.65.0-SNAPSHOT + 0.66.0-SNAPSHOT diff --git a/java-texttospeech/google-cloud-texttospeech-bom/pom.xml b/java-texttospeech/google-cloud-texttospeech-bom/pom.xml index 310b4a5f7efb..1d7c5fa53454 100644 --- a/java-texttospeech/google-cloud-texttospeech-bom/pom.xml +++ b/java-texttospeech/google-cloud-texttospeech-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-texttospeech-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-texttospeech - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-texttospeech-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-texttospeech-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-texttospeech-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-texttospeech-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-texttospeech/google-cloud-texttospeech/pom.xml b/java-texttospeech/google-cloud-texttospeech/pom.xml index 2189f6ec540a..dc9b3e15e2e9 100644 --- a/java-texttospeech/google-cloud-texttospeech/pom.xml +++ b/java-texttospeech/google-cloud-texttospeech/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-texttospeech - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT jar Google Cloud Text-to-Speech Java idiomatic client for Google Cloud Text-to-Speech com.google.cloud google-cloud-texttospeech-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT google-cloud-texttospeech diff --git a/java-texttospeech/google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1/stub/Version.java b/java-texttospeech/google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1/stub/Version.java index 7e81f1446ff8..86f662325be2 100644 --- a/java-texttospeech/google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1/stub/Version.java +++ b/java-texttospeech/google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-texttospeech:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-texttospeech/google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1beta1/stub/Version.java b/java-texttospeech/google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1beta1/stub/Version.java index 546e80cd14b9..a691b7210e7c 100644 --- a/java-texttospeech/google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1beta1/stub/Version.java +++ b/java-texttospeech/google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-texttospeech:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-texttospeech/grpc-google-cloud-texttospeech-v1/pom.xml b/java-texttospeech/grpc-google-cloud-texttospeech-v1/pom.xml index 948129d6d325..82404e9afc8b 100644 --- a/java-texttospeech/grpc-google-cloud-texttospeech-v1/pom.xml +++ b/java-texttospeech/grpc-google-cloud-texttospeech-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-texttospeech-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-texttospeech-v1 GRPC library for grpc-google-cloud-texttospeech-v1 com.google.cloud google-cloud-texttospeech-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-texttospeech/grpc-google-cloud-texttospeech-v1beta1/pom.xml b/java-texttospeech/grpc-google-cloud-texttospeech-v1beta1/pom.xml index 02e41c0c211f..1c2db596ae83 100644 --- a/java-texttospeech/grpc-google-cloud-texttospeech-v1beta1/pom.xml +++ b/java-texttospeech/grpc-google-cloud-texttospeech-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-texttospeech-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-texttospeech-v1beta1 GRPC library for grpc-google-cloud-texttospeech-v1beta1 com.google.cloud google-cloud-texttospeech-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-texttospeech/pom.xml b/java-texttospeech/pom.xml index 066b9d75891a..bca488cf60d1 100644 --- a/java-texttospeech/pom.xml +++ b/java-texttospeech/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-texttospeech-parent pom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT Google Cloud Text-to-Speech Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-texttospeech-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-texttospeech-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-texttospeech-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-texttospeech-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.cloud google-cloud-texttospeech - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-texttospeech/proto-google-cloud-texttospeech-v1/pom.xml b/java-texttospeech/proto-google-cloud-texttospeech-v1/pom.xml index 49858c3aa853..5b2bd4566e7c 100644 --- a/java-texttospeech/proto-google-cloud-texttospeech-v1/pom.xml +++ b/java-texttospeech/proto-google-cloud-texttospeech-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-texttospeech-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-texttospeech-v1 PROTO library for proto-google-cloud-texttospeech-v1 com.google.cloud google-cloud-texttospeech-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-texttospeech/proto-google-cloud-texttospeech-v1beta1/pom.xml b/java-texttospeech/proto-google-cloud-texttospeech-v1beta1/pom.xml index ff73598620fc..f680e0175fd0 100644 --- a/java-texttospeech/proto-google-cloud-texttospeech-v1beta1/pom.xml +++ b/java-texttospeech/proto-google-cloud-texttospeech-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-texttospeech-v1beta1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-texttospeech-v1beta1 PROTO library for proto-google-cloud-texttospeech-v1beta1 com.google.cloud google-cloud-texttospeech-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-tpu/google-cloud-tpu-bom/pom.xml b/java-tpu/google-cloud-tpu-bom/pom.xml index 0afe975abe8c..673d199ef573 100644 --- a/java-tpu/google-cloud-tpu-bom/pom.xml +++ b/java-tpu/google-cloud-tpu-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-tpu-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,37 +28,37 @@ com.google.cloud google-cloud-tpu - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-tpu-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-tpu-v2alpha1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-tpu-v2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-tpu-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-tpu-v2alpha1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-tpu-v2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-tpu/google-cloud-tpu/pom.xml b/java-tpu/google-cloud-tpu/pom.xml index becdcbdd1f06..3367af9f4219 100644 --- a/java-tpu/google-cloud-tpu/pom.xml +++ b/java-tpu/google-cloud-tpu/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-tpu - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT jar Google Cloud TPU Cloud TPU are Google's custom-developed application-specific integrated circuits (ASICs) used to accelerate machine learning workloads. com.google.cloud google-cloud-tpu-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT google-cloud-tpu diff --git a/java-tpu/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/Version.java b/java-tpu/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/Version.java index bf29b568bef8..025f0907a06c 100644 --- a/java-tpu/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/Version.java +++ b/java-tpu/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-tpu:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-tpu/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2/stub/Version.java b/java-tpu/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2/stub/Version.java index 916690e9f77b..51e268a92a05 100644 --- a/java-tpu/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2/stub/Version.java +++ b/java-tpu/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-tpu:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-tpu/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/Version.java b/java-tpu/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/Version.java index 7d6d2c7ed746..2c7ed6ce1fd1 100644 --- a/java-tpu/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/Version.java +++ b/java-tpu/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-tpu:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-tpu/grpc-google-cloud-tpu-v1/pom.xml b/java-tpu/grpc-google-cloud-tpu-v1/pom.xml index 24c54d4290a4..f500747b6444 100644 --- a/java-tpu/grpc-google-cloud-tpu-v1/pom.xml +++ b/java-tpu/grpc-google-cloud-tpu-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-tpu-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-tpu-v1 GRPC library for google-cloud-tpu com.google.cloud google-cloud-tpu-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-tpu/grpc-google-cloud-tpu-v2/pom.xml b/java-tpu/grpc-google-cloud-tpu-v2/pom.xml index 05d48bcc2a82..8ff77cd6be05 100644 --- a/java-tpu/grpc-google-cloud-tpu-v2/pom.xml +++ b/java-tpu/grpc-google-cloud-tpu-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-tpu-v2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-tpu-v2 GRPC library for google-cloud-tpu com.google.cloud google-cloud-tpu-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-tpu/grpc-google-cloud-tpu-v2alpha1/pom.xml b/java-tpu/grpc-google-cloud-tpu-v2alpha1/pom.xml index d9cc0a1c4a79..5b65989487b8 100644 --- a/java-tpu/grpc-google-cloud-tpu-v2alpha1/pom.xml +++ b/java-tpu/grpc-google-cloud-tpu-v2alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-tpu-v2alpha1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-tpu-v2alpha1 GRPC library for google-cloud-tpu com.google.cloud google-cloud-tpu-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-tpu/pom.xml b/java-tpu/pom.xml index c5592ddedeb3..dfe7353d1d0b 100644 --- a/java-tpu/pom.xml +++ b/java-tpu/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-tpu-parent pom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT Google Cloud TPU Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.cloud google-cloud-tpu - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-tpu-v2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-tpu-v2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-tpu-v2alpha1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-tpu-v2alpha1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-tpu-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-tpu-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-tpu/proto-google-cloud-tpu-v1/pom.xml b/java-tpu/proto-google-cloud-tpu-v1/pom.xml index 6001aa10eb83..b3cb055f4fca 100644 --- a/java-tpu/proto-google-cloud-tpu-v1/pom.xml +++ b/java-tpu/proto-google-cloud-tpu-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-tpu-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-tpu-v1 Proto library for google-cloud-tpu com.google.cloud google-cloud-tpu-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-tpu/proto-google-cloud-tpu-v2/pom.xml b/java-tpu/proto-google-cloud-tpu-v2/pom.xml index 36d0e528b337..c59f70899ed5 100644 --- a/java-tpu/proto-google-cloud-tpu-v2/pom.xml +++ b/java-tpu/proto-google-cloud-tpu-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-tpu-v2 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-tpu-v2 Proto library for google-cloud-tpu com.google.cloud google-cloud-tpu-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-tpu/proto-google-cloud-tpu-v2alpha1/pom.xml b/java-tpu/proto-google-cloud-tpu-v2alpha1/pom.xml index 14301344011b..7aa53a46f32a 100644 --- a/java-tpu/proto-google-cloud-tpu-v2alpha1/pom.xml +++ b/java-tpu/proto-google-cloud-tpu-v2alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-tpu-v2alpha1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-tpu-v2alpha1 Proto library for google-cloud-tpu com.google.cloud google-cloud-tpu-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-trace/google-cloud-trace-bom/pom.xml b/java-trace/google-cloud-trace-bom/pom.xml index 4fbdd9a4bb1b..c3a0baa002da 100644 --- a/java-trace/google-cloud-trace-bom/pom.xml +++ b/java-trace/google-cloud-trace-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-trace-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-trace - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-trace-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-trace-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-trace-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-trace-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-trace/google-cloud-trace/pom.xml b/java-trace/google-cloud-trace/pom.xml index 78ddb8e533b7..401a4687363a 100644 --- a/java-trace/google-cloud-trace/pom.xml +++ b/java-trace/google-cloud-trace/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-trace - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Cloud Trace @@ -12,7 +12,7 @@ com.google.cloud google-cloud-trace-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-trace diff --git a/java-trace/google-cloud-trace/src/main/java/com/google/cloud/trace/v1/stub/Version.java b/java-trace/google-cloud-trace/src/main/java/com/google/cloud/trace/v1/stub/Version.java index 2a119ab07804..109629ad3a83 100644 --- a/java-trace/google-cloud-trace/src/main/java/com/google/cloud/trace/v1/stub/Version.java +++ b/java-trace/google-cloud-trace/src/main/java/com/google/cloud/trace/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-trace:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-trace/google-cloud-trace/src/main/java/com/google/cloud/trace/v2/stub/Version.java b/java-trace/google-cloud-trace/src/main/java/com/google/cloud/trace/v2/stub/Version.java index 791f421f4940..4b4058c10cda 100644 --- a/java-trace/google-cloud-trace/src/main/java/com/google/cloud/trace/v2/stub/Version.java +++ b/java-trace/google-cloud-trace/src/main/java/com/google/cloud/trace/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-trace:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-trace/grpc-google-cloud-trace-v1/pom.xml b/java-trace/grpc-google-cloud-trace-v1/pom.xml index e8684c4f63a2..2aca6e5df869 100644 --- a/java-trace/grpc-google-cloud-trace-v1/pom.xml +++ b/java-trace/grpc-google-cloud-trace-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-trace-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-trace-v1 GRPC library for grpc-google-cloud-trace-v1 com.google.cloud google-cloud-trace-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-trace/grpc-google-cloud-trace-v2/pom.xml b/java-trace/grpc-google-cloud-trace-v2/pom.xml index 63522a62a737..cfd3d923d2b1 100644 --- a/java-trace/grpc-google-cloud-trace-v2/pom.xml +++ b/java-trace/grpc-google-cloud-trace-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-trace-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-trace-v2 GRPC library for grpc-google-cloud-trace-v2 com.google.cloud google-cloud-trace-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-trace/pom.xml b/java-trace/pom.xml index 56bdb84af050..1f76368f777b 100644 --- a/java-trace/pom.xml +++ b/java-trace/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-trace-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud Trace Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-trace-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.cloud google-cloud-trace - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-trace-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-trace-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-trace-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-trace/proto-google-cloud-trace-v1/pom.xml b/java-trace/proto-google-cloud-trace-v1/pom.xml index eda82233c645..622c98063ff4 100644 --- a/java-trace/proto-google-cloud-trace-v1/pom.xml +++ b/java-trace/proto-google-cloud-trace-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-trace-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-trace-v1 PROTO library for proto-google-cloud-trace-v1 com.google.cloud google-cloud-trace-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-trace/proto-google-cloud-trace-v2/pom.xml b/java-trace/proto-google-cloud-trace-v2/pom.xml index b052b1ab2688..66f557266539 100644 --- a/java-trace/proto-google-cloud-trace-v2/pom.xml +++ b/java-trace/proto-google-cloud-trace-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-trace-v2 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-trace-v2 PROTO library for proto-google-cloud-trace-v2 com.google.cloud google-cloud-trace-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-translate/google-cloud-translate-bom/pom.xml b/java-translate/google-cloud-translate-bom/pom.xml index c8011b204f0b..36d3e8f5f914 100644 --- a/java-translate/google-cloud-translate-bom/pom.xml +++ b/java-translate/google-cloud-translate-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-translate-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-translate - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-translate-v3beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-translate-v3 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-translate-v3beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-translate-v3 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-translate/google-cloud-translate/pom.xml b/java-translate/google-cloud-translate/pom.xml index a3c7e1773791..77706a59a4a4 100644 --- a/java-translate/google-cloud-translate/pom.xml +++ b/java-translate/google-cloud-translate/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-translate - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Cloud Translate Java idiomatic client for Google Cloud Translate com.google.cloud google-cloud-translate-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-translate diff --git a/java-translate/google-cloud-translate/src/main/java/com/google/cloud/translate/v3/stub/Version.java b/java-translate/google-cloud-translate/src/main/java/com/google/cloud/translate/v3/stub/Version.java index 7833594fde35..4992853d1460 100644 --- a/java-translate/google-cloud-translate/src/main/java/com/google/cloud/translate/v3/stub/Version.java +++ b/java-translate/google-cloud-translate/src/main/java/com/google/cloud/translate/v3/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-translate:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-translate/google-cloud-translate/src/main/java/com/google/cloud/translate/v3beta1/stub/Version.java b/java-translate/google-cloud-translate/src/main/java/com/google/cloud/translate/v3beta1/stub/Version.java index a14d23ba21df..9e361c5d0133 100644 --- a/java-translate/google-cloud-translate/src/main/java/com/google/cloud/translate/v3beta1/stub/Version.java +++ b/java-translate/google-cloud-translate/src/main/java/com/google/cloud/translate/v3beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-translate:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-translate/grpc-google-cloud-translate-v3/pom.xml b/java-translate/grpc-google-cloud-translate-v3/pom.xml index f64a53b5b5e7..86c3504a66c3 100644 --- a/java-translate/grpc-google-cloud-translate-v3/pom.xml +++ b/java-translate/grpc-google-cloud-translate-v3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-translate-v3 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-translate-v3 GRPC library for grpc-google-cloud-translate-v3 com.google.cloud google-cloud-translate-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-translate/grpc-google-cloud-translate-v3beta1/pom.xml b/java-translate/grpc-google-cloud-translate-v3beta1/pom.xml index 6b3fa4276fa6..70e91773e409 100644 --- a/java-translate/grpc-google-cloud-translate-v3beta1/pom.xml +++ b/java-translate/grpc-google-cloud-translate-v3beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-translate-v3beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-translate-v3beta1 GRPC library for grpc-google-cloud-translate-v3beta1 com.google.cloud google-cloud-translate-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-translate/pom.xml b/java-translate/pom.xml index ea74751ebb2d..a801175f05cd 100644 --- a/java-translate/pom.xml +++ b/java-translate/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-translate-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud Translate Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-translate-v3beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-translate-v3 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-translate-v3beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-translate-v3 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.cloud google-cloud-translate - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-translate/proto-google-cloud-translate-v3/pom.xml b/java-translate/proto-google-cloud-translate-v3/pom.xml index 389a4044f2f9..bef76479ad52 100644 --- a/java-translate/proto-google-cloud-translate-v3/pom.xml +++ b/java-translate/proto-google-cloud-translate-v3/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-translate-v3 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-translate-v3 PROTO library for proto-google-cloud-translate-v3 com.google.cloud google-cloud-translate-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-translate/proto-google-cloud-translate-v3beta1/pom.xml b/java-translate/proto-google-cloud-translate-v3beta1/pom.xml index 7e034167449f..f9cd8db10ff9 100644 --- a/java-translate/proto-google-cloud-translate-v3beta1/pom.xml +++ b/java-translate/proto-google-cloud-translate-v3beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-translate-v3beta1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-translate-v3beta1 PROTO library for proto-google-cloud-translate-v3beta1 com.google.cloud google-cloud-translate-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-valkey/google-cloud-valkey-bom/pom.xml b/java-valkey/google-cloud-valkey-bom/pom.xml index 3e4692b3ddc0..ba681f4fd1cb 100644 --- a/java-valkey/google-cloud-valkey-bom/pom.xml +++ b/java-valkey/google-cloud-valkey-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-valkey-bom - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.cloud google-cloud-valkey - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-valkey-v1beta - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-valkey-v1 - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT com.google.api.grpc proto-google-cloud-valkey-v1 - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT com.google.api.grpc proto-google-cloud-valkey-v1beta - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT diff --git a/java-valkey/google-cloud-valkey/pom.xml b/java-valkey/google-cloud-valkey/pom.xml index 741f9376b145..1c7f95f0c082 100644 --- a/java-valkey/google-cloud-valkey/pom.xml +++ b/java-valkey/google-cloud-valkey/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-valkey - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT jar Google Memorystore API Memorystore API Memorystore for Valkey is a fully managed Valkey Cluster service for Google Cloud. com.google.cloud google-cloud-valkey-parent - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT google-cloud-valkey diff --git a/java-valkey/google-cloud-valkey/src/main/java/com/google/cloud/memorystore/v1/stub/Version.java b/java-valkey/google-cloud-valkey/src/main/java/com/google/cloud/memorystore/v1/stub/Version.java index 0343e7208d6a..00991ac75b6e 100644 --- a/java-valkey/google-cloud-valkey/src/main/java/com/google/cloud/memorystore/v1/stub/Version.java +++ b/java-valkey/google-cloud-valkey/src/main/java/com/google/cloud/memorystore/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-valkey:current} - static final String VERSION = "0.41.0-SNAPSHOT"; + static final String VERSION = "0.42.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-valkey/google-cloud-valkey/src/main/java/com/google/cloud/memorystore/v1beta/stub/Version.java b/java-valkey/google-cloud-valkey/src/main/java/com/google/cloud/memorystore/v1beta/stub/Version.java index f263908ed234..ceb534d870e2 100644 --- a/java-valkey/google-cloud-valkey/src/main/java/com/google/cloud/memorystore/v1beta/stub/Version.java +++ b/java-valkey/google-cloud-valkey/src/main/java/com/google/cloud/memorystore/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-valkey:current} - static final String VERSION = "0.41.0-SNAPSHOT"; + static final String VERSION = "0.42.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-valkey/grpc-google-cloud-valkey-v1/pom.xml b/java-valkey/grpc-google-cloud-valkey-v1/pom.xml index 18815bf69808..001761ae17fa 100644 --- a/java-valkey/grpc-google-cloud-valkey-v1/pom.xml +++ b/java-valkey/grpc-google-cloud-valkey-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-valkey-v1 - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT grpc-google-cloud-valkey-v1 GRPC library for google-cloud-valkey com.google.cloud google-cloud-valkey-parent - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT diff --git a/java-valkey/grpc-google-cloud-valkey-v1beta/pom.xml b/java-valkey/grpc-google-cloud-valkey-v1beta/pom.xml index b502e040a512..1aaf4c0711f4 100644 --- a/java-valkey/grpc-google-cloud-valkey-v1beta/pom.xml +++ b/java-valkey/grpc-google-cloud-valkey-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-valkey-v1beta - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT grpc-google-cloud-valkey-v1beta GRPC library for google-cloud-valkey com.google.cloud google-cloud-valkey-parent - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT diff --git a/java-valkey/pom.xml b/java-valkey/pom.xml index 5d7600350f16..a24b1c378356 100644 --- a/java-valkey/pom.xml +++ b/java-valkey/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-valkey-parent pom - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT Google Memorystore API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-valkey - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-valkey-v1 - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-valkey-v1beta - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT com.google.api.grpc proto-google-cloud-valkey-v1 - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT com.google.api.grpc proto-google-cloud-valkey-v1beta - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT diff --git a/java-valkey/proto-google-cloud-valkey-v1/pom.xml b/java-valkey/proto-google-cloud-valkey-v1/pom.xml index 306d50344b96..9e7b8d09e8cb 100644 --- a/java-valkey/proto-google-cloud-valkey-v1/pom.xml +++ b/java-valkey/proto-google-cloud-valkey-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-valkey-v1 - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT proto-google-cloud-valkey-v1 Proto library for google-cloud-valkey com.google.cloud google-cloud-valkey-parent - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT diff --git a/java-valkey/proto-google-cloud-valkey-v1beta/pom.xml b/java-valkey/proto-google-cloud-valkey-v1beta/pom.xml index 2e4a431f1eb6..6543c6c56a44 100644 --- a/java-valkey/proto-google-cloud-valkey-v1beta/pom.xml +++ b/java-valkey/proto-google-cloud-valkey-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-valkey-v1beta - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT proto-google-cloud-valkey-v1beta Proto library for google-cloud-valkey com.google.cloud google-cloud-valkey-parent - 0.41.0-SNAPSHOT + 0.42.0-SNAPSHOT diff --git a/java-vectorsearch/google-cloud-vectorsearch-bom/pom.xml b/java-vectorsearch/google-cloud-vectorsearch-bom/pom.xml index 206686ab4457..83ad8eb4f8d7 100644 --- a/java-vectorsearch/google-cloud-vectorsearch-bom/pom.xml +++ b/java-vectorsearch/google-cloud-vectorsearch-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-vectorsearch-bom - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,27 +27,27 @@ com.google.cloud google-cloud-vectorsearch - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vectorsearch-v1beta - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vectorsearch-v1 - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vectorsearch-v1beta - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vectorsearch-v1 - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT diff --git a/java-vectorsearch/google-cloud-vectorsearch/pom.xml b/java-vectorsearch/google-cloud-vectorsearch/pom.xml index cd4eaf3a7fb4..3ab8a8b73f81 100644 --- a/java-vectorsearch/google-cloud-vectorsearch/pom.xml +++ b/java-vectorsearch/google-cloud-vectorsearch/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-vectorsearch - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT jar Google Vector Search API Vector Search API The Vector Search API provides a fully-managed, highly performant, and scalable vector database designed to power next-generation search, recommendation, and generative AI applications. It allows you to store, index, and query your data and its corresponding vector embeddings through a simple, intuitive interface. With Vector Search, you can define custom schemas for your data, insert objects with associated metadata, automatically generate embeddings from your data, and perform fast approximate nearest neighbor (ANN) searches to find semantically similar items at scale. com.google.cloud google-cloud-vectorsearch-parent - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT google-cloud-vectorsearch diff --git a/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1/stub/Version.java b/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1/stub/Version.java index 1fca796f547d..f03b2b592111 100644 --- a/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1/stub/Version.java +++ b/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-vectorsearch:current} - static final String VERSION = "0.17.0-SNAPSHOT"; + static final String VERSION = "0.18.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/stub/Version.java b/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/stub/Version.java index d801bcdf6b27..b0ec15c6f440 100644 --- a/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/stub/Version.java +++ b/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-vectorsearch:current} - static final String VERSION = "0.17.0-SNAPSHOT"; + static final String VERSION = "0.18.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-vectorsearch/grpc-google-cloud-vectorsearch-v1/pom.xml b/java-vectorsearch/grpc-google-cloud-vectorsearch-v1/pom.xml index 1141cac7c802..a1c1ff6967b9 100644 --- a/java-vectorsearch/grpc-google-cloud-vectorsearch-v1/pom.xml +++ b/java-vectorsearch/grpc-google-cloud-vectorsearch-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-vectorsearch-v1 - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT grpc-google-cloud-vectorsearch-v1 GRPC library for google-cloud-vectorsearch com.google.cloud google-cloud-vectorsearch-parent - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT diff --git a/java-vectorsearch/grpc-google-cloud-vectorsearch-v1beta/pom.xml b/java-vectorsearch/grpc-google-cloud-vectorsearch-v1beta/pom.xml index 26216796524a..c4e5d8fc00e4 100644 --- a/java-vectorsearch/grpc-google-cloud-vectorsearch-v1beta/pom.xml +++ b/java-vectorsearch/grpc-google-cloud-vectorsearch-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-vectorsearch-v1beta - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT grpc-google-cloud-vectorsearch-v1beta GRPC library for google-cloud-vectorsearch com.google.cloud google-cloud-vectorsearch-parent - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT diff --git a/java-vectorsearch/pom.xml b/java-vectorsearch/pom.xml index 7ed0ecbfc8a1..33f56f00b225 100644 --- a/java-vectorsearch/pom.xml +++ b/java-vectorsearch/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-vectorsearch-parent pom - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT Google Vector Search API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-vectorsearch - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vectorsearch-v1 - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vectorsearch-v1 - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vectorsearch-v1beta - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vectorsearch-v1beta - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT diff --git a/java-vectorsearch/proto-google-cloud-vectorsearch-v1/pom.xml b/java-vectorsearch/proto-google-cloud-vectorsearch-v1/pom.xml index 5a6c0b4ca05a..467cc72204f8 100644 --- a/java-vectorsearch/proto-google-cloud-vectorsearch-v1/pom.xml +++ b/java-vectorsearch/proto-google-cloud-vectorsearch-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-vectorsearch-v1 - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT proto-google-cloud-vectorsearch-v1 Proto library for google-cloud-vectorsearch com.google.cloud google-cloud-vectorsearch-parent - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT diff --git a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/pom.xml b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/pom.xml index ac374a9cd9c2..6a3395af8312 100644 --- a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/pom.xml +++ b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-vectorsearch-v1beta - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT proto-google-cloud-vectorsearch-v1beta Proto library for google-cloud-vectorsearch com.google.cloud google-cloud-vectorsearch-parent - 0.17.0-SNAPSHOT + 0.18.0-SNAPSHOT diff --git a/java-video-intelligence/google-cloud-video-intelligence-bom/pom.xml b/java-video-intelligence/google-cloud-video-intelligence-bom/pom.xml index d3983856ceff..b5480e212ba5 100644 --- a/java-video-intelligence/google-cloud-video-intelligence-bom/pom.xml +++ b/java-video-intelligence/google-cloud-video-intelligence-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-video-intelligence-bom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,57 +24,57 @@ com.google.cloud google-cloud-video-intelligence - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-video-intelligence-v1p1beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-video-intelligence-v1beta2 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-video-intelligence-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-video-intelligence-v1p2beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-video-intelligence-v1p3beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-video-intelligence-v1p3beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-video-intelligence-v1beta2 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-video-intelligence-v1p1beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-video-intelligence-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-video-intelligence-v1p2beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-video-intelligence/google-cloud-video-intelligence/pom.xml b/java-video-intelligence/google-cloud-video-intelligence/pom.xml index bd6fd9bc8d85..8752a2c08aae 100644 --- a/java-video-intelligence/google-cloud-video-intelligence/pom.xml +++ b/java-video-intelligence/google-cloud-video-intelligence/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-video-intelligence - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT jar Google Cloud Video Intelligence Java idiomatic client for Google Cloud Video Intelligence com.google.cloud google-cloud-video-intelligence-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT google-cloud-video-intelligence diff --git a/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1/stub/Version.java b/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1/stub/Version.java index bb0a77594a74..bb8fc6855b80 100644 --- a/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1/stub/Version.java +++ b/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-video-intelligence:current} - static final String VERSION = "2.94.0-SNAPSHOT"; + static final String VERSION = "2.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/stub/Version.java b/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/stub/Version.java index f54b82ad87d1..683d8aadfe06 100644 --- a/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/stub/Version.java +++ b/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-video-intelligence:current} - static final String VERSION = "2.94.0-SNAPSHOT"; + static final String VERSION = "2.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/stub/Version.java b/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/stub/Version.java index 6631152f9a8f..4af4316b03a8 100644 --- a/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/stub/Version.java +++ b/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-video-intelligence:current} - static final String VERSION = "2.94.0-SNAPSHOT"; + static final String VERSION = "2.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1p2beta1/stub/Version.java b/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1p2beta1/stub/Version.java index 0135bd9413f9..5b36282b9554 100644 --- a/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1p2beta1/stub/Version.java +++ b/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1p2beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-video-intelligence:current} - static final String VERSION = "2.94.0-SNAPSHOT"; + static final String VERSION = "2.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1p3beta1/stub/Version.java b/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1p3beta1/stub/Version.java index 9fcfd7d4c30e..9686c1d9cf28 100644 --- a/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1p3beta1/stub/Version.java +++ b/java-video-intelligence/google-cloud-video-intelligence/src/main/java/com/google/cloud/videointelligence/v1p3beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-video-intelligence:current} - static final String VERSION = "2.94.0-SNAPSHOT"; + static final String VERSION = "2.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-video-intelligence/grpc-google-cloud-video-intelligence-v1/pom.xml b/java-video-intelligence/grpc-google-cloud-video-intelligence-v1/pom.xml index 8e97d0a1b598..a26f38ac4a23 100644 --- a/java-video-intelligence/grpc-google-cloud-video-intelligence-v1/pom.xml +++ b/java-video-intelligence/grpc-google-cloud-video-intelligence-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-video-intelligence-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT grpc-google-cloud-video-intelligence-v1 GRPC library for grpc-google-cloud-video-intelligence-v1 com.google.cloud google-cloud-video-intelligence-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-video-intelligence/grpc-google-cloud-video-intelligence-v1beta2/pom.xml b/java-video-intelligence/grpc-google-cloud-video-intelligence-v1beta2/pom.xml index de3968533ef7..d03c90796b39 100644 --- a/java-video-intelligence/grpc-google-cloud-video-intelligence-v1beta2/pom.xml +++ b/java-video-intelligence/grpc-google-cloud-video-intelligence-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-video-intelligence-v1beta2 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT grpc-google-cloud-video-intelligence-v1beta2 GRPC library for grpc-google-cloud-video-intelligence-v1beta2 com.google.cloud google-cloud-video-intelligence-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-video-intelligence/grpc-google-cloud-video-intelligence-v1p1beta1/pom.xml b/java-video-intelligence/grpc-google-cloud-video-intelligence-v1p1beta1/pom.xml index 59722cb8f70c..f47fe397732d 100644 --- a/java-video-intelligence/grpc-google-cloud-video-intelligence-v1p1beta1/pom.xml +++ b/java-video-intelligence/grpc-google-cloud-video-intelligence-v1p1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-video-intelligence-v1p1beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT grpc-google-cloud-video-intelligence-v1p1beta1 GRPC library for grpc-google-cloud-video-intelligence-v1p1beta1 com.google.cloud google-cloud-video-intelligence-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-video-intelligence/grpc-google-cloud-video-intelligence-v1p2beta1/pom.xml b/java-video-intelligence/grpc-google-cloud-video-intelligence-v1p2beta1/pom.xml index 9431d0f821fd..b50f2c85c3f8 100644 --- a/java-video-intelligence/grpc-google-cloud-video-intelligence-v1p2beta1/pom.xml +++ b/java-video-intelligence/grpc-google-cloud-video-intelligence-v1p2beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-video-intelligence-v1p2beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT grpc-google-cloud-video-intelligence-v1p2beta1 GRPC library for grpc-google-cloud-video-intelligence-v1p2beta1 com.google.cloud google-cloud-video-intelligence-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-video-intelligence/grpc-google-cloud-video-intelligence-v1p3beta1/pom.xml b/java-video-intelligence/grpc-google-cloud-video-intelligence-v1p3beta1/pom.xml index c4ea6b133d2d..c63ae91d7720 100644 --- a/java-video-intelligence/grpc-google-cloud-video-intelligence-v1p3beta1/pom.xml +++ b/java-video-intelligence/grpc-google-cloud-video-intelligence-v1p3beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-video-intelligence-v1p3beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT grpc-google-cloud-video-intelligence-v1p3beta1 GRPC library for grpc-google-cloud-video-intelligence-v1p3beta1 com.google.cloud google-cloud-video-intelligence-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-video-intelligence/pom.xml b/java-video-intelligence/pom.xml index 40a296c64631..ecba4f159d35 100644 --- a/java-video-intelligence/pom.xml +++ b/java-video-intelligence/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-video-intelligence-parent pom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT Google Cloud Video Intelligence Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,62 +30,62 @@ com.google.api.grpc proto-google-cloud-video-intelligence-v1p3beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-video-intelligence-v1beta2 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-video-intelligence-v1p1beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-video-intelligence-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-video-intelligence-v1p2beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-video-intelligence-v1p1beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-video-intelligence-v1beta2 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-video-intelligence-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-video-intelligence-v1p2beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-video-intelligence-v1p3beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.cloud google-cloud-video-intelligence - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.cloud google-cloud-video-intelligence-bom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-video-intelligence/proto-google-cloud-video-intelligence-v1/pom.xml b/java-video-intelligence/proto-google-cloud-video-intelligence-v1/pom.xml index 4d948a3e86d1..672540e5676e 100644 --- a/java-video-intelligence/proto-google-cloud-video-intelligence-v1/pom.xml +++ b/java-video-intelligence/proto-google-cloud-video-intelligence-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-video-intelligence-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT proto-google-cloud-video-intelligence-v1 PROTO library for proto-google-cloud-video-intelligence-v1 com.google.cloud google-cloud-video-intelligence-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-video-intelligence/proto-google-cloud-video-intelligence-v1beta2/pom.xml b/java-video-intelligence/proto-google-cloud-video-intelligence-v1beta2/pom.xml index d1652019448d..c2b9b2071374 100644 --- a/java-video-intelligence/proto-google-cloud-video-intelligence-v1beta2/pom.xml +++ b/java-video-intelligence/proto-google-cloud-video-intelligence-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-video-intelligence-v1beta2 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT proto-google-cloud-video-intelligence-v1beta2 PROTO library for proto-google-cloud-video-intelligence-v1beta2 com.google.cloud google-cloud-video-intelligence-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-video-intelligence/proto-google-cloud-video-intelligence-v1p1beta1/pom.xml b/java-video-intelligence/proto-google-cloud-video-intelligence-v1p1beta1/pom.xml index 6b223b7aa902..6de65f31528e 100644 --- a/java-video-intelligence/proto-google-cloud-video-intelligence-v1p1beta1/pom.xml +++ b/java-video-intelligence/proto-google-cloud-video-intelligence-v1p1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-video-intelligence-v1p1beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT proto-google-cloud-video-intelligence-v1p1beta1 PROTO library for proto-google-cloud-video-intelligence-v1p1beta1 com.google.cloud google-cloud-video-intelligence-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-video-intelligence/proto-google-cloud-video-intelligence-v1p2beta1/pom.xml b/java-video-intelligence/proto-google-cloud-video-intelligence-v1p2beta1/pom.xml index 1f2f3909fd94..e72f74dae6b8 100644 --- a/java-video-intelligence/proto-google-cloud-video-intelligence-v1p2beta1/pom.xml +++ b/java-video-intelligence/proto-google-cloud-video-intelligence-v1p2beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-video-intelligence-v1p2beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT proto-google-cloud-video-intelligence-v1p2beta1 PROTO library for proto-google-cloud-video-intelligence-v1p2beta1 com.google.cloud google-cloud-video-intelligence-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-video-intelligence/proto-google-cloud-video-intelligence-v1p3beta1/pom.xml b/java-video-intelligence/proto-google-cloud-video-intelligence-v1p3beta1/pom.xml index d9ee5b58c3df..e07b9c745eba 100644 --- a/java-video-intelligence/proto-google-cloud-video-intelligence-v1p3beta1/pom.xml +++ b/java-video-intelligence/proto-google-cloud-video-intelligence-v1p3beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-video-intelligence-v1p3beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT proto-google-cloud-video-intelligence-v1p3beta1 PROTO library for proto-google-cloud-video-intelligence-v1p3beta1 com.google.cloud google-cloud-video-intelligence-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-video-live-stream/google-cloud-live-stream-bom/pom.xml b/java-video-live-stream/google-cloud-live-stream-bom/pom.xml index 9263af834aa7..87ab4aa88182 100644 --- a/java-video-live-stream/google-cloud-live-stream-bom/pom.xml +++ b/java-video-live-stream/google-cloud-live-stream-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-live-stream-bom - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-live-stream - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-live-stream-v1 - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-live-stream-v1 - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT diff --git a/java-video-live-stream/google-cloud-live-stream/pom.xml b/java-video-live-stream/google-cloud-live-stream/pom.xml index f84dbc1efd4b..fb470cf29091 100644 --- a/java-video-live-stream/google-cloud-live-stream/pom.xml +++ b/java-video-live-stream/google-cloud-live-stream/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-live-stream - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT jar Google Cloud Live Stream Cloud Live Stream transcodes mezzanine live signals into direct-to-consumer streaming formats, including Dynamic Adaptive Streaming over HTTP (DASH/MPEG-DASH), and HTTP Live Streaming (HLS), for multiple device platforms. com.google.cloud google-cloud-live-stream-parent - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT google-cloud-live-stream diff --git a/java-video-live-stream/google-cloud-live-stream/src/main/java/com/google/cloud/video/livestream/v1/stub/Version.java b/java-video-live-stream/google-cloud-live-stream/src/main/java/com/google/cloud/video/livestream/v1/stub/Version.java index ed8d0b1d5d65..ab6f6f3ddb58 100644 --- a/java-video-live-stream/google-cloud-live-stream/src/main/java/com/google/cloud/video/livestream/v1/stub/Version.java +++ b/java-video-live-stream/google-cloud-live-stream/src/main/java/com/google/cloud/video/livestream/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-live-stream:current} - static final String VERSION = "0.97.0-SNAPSHOT"; + static final String VERSION = "0.98.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-video-live-stream/grpc-google-cloud-live-stream-v1/pom.xml b/java-video-live-stream/grpc-google-cloud-live-stream-v1/pom.xml index 43b40c5fbe79..17d8408d6717 100644 --- a/java-video-live-stream/grpc-google-cloud-live-stream-v1/pom.xml +++ b/java-video-live-stream/grpc-google-cloud-live-stream-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-live-stream-v1 - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT grpc-google-cloud-live-stream-v1 GRPC library for google-cloud-live-stream com.google.cloud google-cloud-live-stream-parent - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT diff --git a/java-video-live-stream/pom.xml b/java-video-live-stream/pom.xml index 67cc395983c9..48490d0a5c4f 100644 --- a/java-video-live-stream/pom.xml +++ b/java-video-live-stream/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-live-stream-parent pom - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT Google Cloud Live Stream Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-live-stream - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-live-stream-v1 - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT com.google.api.grpc proto-google-cloud-live-stream-v1 - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT diff --git a/java-video-live-stream/proto-google-cloud-live-stream-v1/pom.xml b/java-video-live-stream/proto-google-cloud-live-stream-v1/pom.xml index 589fcd083938..a44c2a3b50a9 100644 --- a/java-video-live-stream/proto-google-cloud-live-stream-v1/pom.xml +++ b/java-video-live-stream/proto-google-cloud-live-stream-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-live-stream-v1 - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT proto-google-cloud-live-stream-v1 Proto library for google-cloud-live-stream com.google.cloud google-cloud-live-stream-parent - 0.97.0-SNAPSHOT + 0.98.0-SNAPSHOT diff --git a/java-video-stitcher/google-cloud-video-stitcher-bom/pom.xml b/java-video-stitcher/google-cloud-video-stitcher-bom/pom.xml index 4493185f270e..d68a254fbdcf 100644 --- a/java-video-stitcher/google-cloud-video-stitcher-bom/pom.xml +++ b/java-video-stitcher/google-cloud-video-stitcher-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-video-stitcher-bom - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-video-stitcher - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-video-stitcher-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-video-stitcher-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-video-stitcher/google-cloud-video-stitcher/pom.xml b/java-video-stitcher/google-cloud-video-stitcher/pom.xml index 06b7e7806f41..b3fdc12656d2 100644 --- a/java-video-stitcher/google-cloud-video-stitcher/pom.xml +++ b/java-video-stitcher/google-cloud-video-stitcher/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-video-stitcher - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT jar Google Video Stitcher API Video Stitcher API allows you to manipulate video content to dynamically insert ads prior to delivery to client devices. com.google.cloud google-cloud-video-stitcher-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT google-cloud-video-stitcher diff --git a/java-video-stitcher/google-cloud-video-stitcher/src/main/java/com/google/cloud/video/stitcher/v1/stub/Version.java b/java-video-stitcher/google-cloud-video-stitcher/src/main/java/com/google/cloud/video/stitcher/v1/stub/Version.java index ea3a5f03f3d4..2175d60f3d38 100644 --- a/java-video-stitcher/google-cloud-video-stitcher/src/main/java/com/google/cloud/video/stitcher/v1/stub/Version.java +++ b/java-video-stitcher/google-cloud-video-stitcher/src/main/java/com/google/cloud/video/stitcher/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-video-stitcher:current} - static final String VERSION = "0.95.0-SNAPSHOT"; + static final String VERSION = "0.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-video-stitcher/grpc-google-cloud-video-stitcher-v1/pom.xml b/java-video-stitcher/grpc-google-cloud-video-stitcher-v1/pom.xml index ead22536ab1a..ece0cfae9477 100644 --- a/java-video-stitcher/grpc-google-cloud-video-stitcher-v1/pom.xml +++ b/java-video-stitcher/grpc-google-cloud-video-stitcher-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-video-stitcher-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT grpc-google-cloud-video-stitcher-v1 GRPC library for google-cloud-video-stitcher com.google.cloud google-cloud-video-stitcher-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-video-stitcher/pom.xml b/java-video-stitcher/pom.xml index 45fe10a6438f..3c11f14da84b 100644 --- a/java-video-stitcher/pom.xml +++ b/java-video-stitcher/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-video-stitcher-parent pom - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT Google Video Stitcher API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-video-stitcher - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-video-stitcher-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-video-stitcher-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-video-stitcher/proto-google-cloud-video-stitcher-v1/pom.xml b/java-video-stitcher/proto-google-cloud-video-stitcher-v1/pom.xml index 66fad68b4371..0043aa8380e5 100644 --- a/java-video-stitcher/proto-google-cloud-video-stitcher-v1/pom.xml +++ b/java-video-stitcher/proto-google-cloud-video-stitcher-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-video-stitcher-v1 - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT proto-google-cloud-video-stitcher-v1 Proto library for google-cloud-video-stitcher com.google.cloud google-cloud-video-stitcher-parent - 0.95.0-SNAPSHOT + 0.96.0-SNAPSHOT diff --git a/java-video-transcoder/google-cloud-video-transcoder-bom/pom.xml b/java-video-transcoder/google-cloud-video-transcoder-bom/pom.xml index 5eb1c94269f0..41d60f055de4 100644 --- a/java-video-transcoder/google-cloud-video-transcoder-bom/pom.xml +++ b/java-video-transcoder/google-cloud-video-transcoder-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-video-transcoder-bom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-video-transcoder - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-video-transcoder-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-video-transcoder-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-video-transcoder/google-cloud-video-transcoder/pom.xml b/java-video-transcoder/google-cloud-video-transcoder/pom.xml index a5ea97d55bac..3d47272d2288 100644 --- a/java-video-transcoder/google-cloud-video-transcoder/pom.xml +++ b/java-video-transcoder/google-cloud-video-transcoder/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-video-transcoder - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT jar Google Video Transcoder allows you to transcode videos into a variety of formats. The Transcoder API benefits broadcasters, production companies, businesses, and individuals looking to transform their video content for use across a variety of user devices. com.google.cloud google-cloud-video-transcoder-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT google-cloud-video-transcoder diff --git a/java-video-transcoder/google-cloud-video-transcoder/src/main/java/com/google/cloud/video/transcoder/v1/stub/Version.java b/java-video-transcoder/google-cloud-video-transcoder/src/main/java/com/google/cloud/video/transcoder/v1/stub/Version.java index 2dd18f56eb0d..fb081886b560 100644 --- a/java-video-transcoder/google-cloud-video-transcoder/src/main/java/com/google/cloud/video/transcoder/v1/stub/Version.java +++ b/java-video-transcoder/google-cloud-video-transcoder/src/main/java/com/google/cloud/video/transcoder/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-video-transcoder:current} - static final String VERSION = "1.94.0-SNAPSHOT"; + static final String VERSION = "1.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-video-transcoder/grpc-google-cloud-video-transcoder-v1/pom.xml b/java-video-transcoder/grpc-google-cloud-video-transcoder-v1/pom.xml index 4a340c21a7df..42bf966e5798 100644 --- a/java-video-transcoder/grpc-google-cloud-video-transcoder-v1/pom.xml +++ b/java-video-transcoder/grpc-google-cloud-video-transcoder-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-video-transcoder-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT grpc-google-cloud-video-transcoder-v1 GRPC library for google-cloud-video-transcoder com.google.cloud google-cloud-video-transcoder-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-video-transcoder/pom.xml b/java-video-transcoder/pom.xml index 1e67bdb7df0a..3b2695a3c0bb 100644 --- a/java-video-transcoder/pom.xml +++ b/java-video-transcoder/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-video-transcoder-parent pom - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT Google Video Transcoder Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-video-transcoder - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-video-transcoder-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-video-transcoder-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/pom.xml b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/pom.xml index bd651cc8ec92..58cd500e3652 100644 --- a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/pom.xml +++ b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-video-transcoder-v1 - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT proto-google-cloud-video-transcoder-v1 Proto library for google-cloud-video-transcoder com.google.cloud google-cloud-video-transcoder-parent - 1.94.0-SNAPSHOT + 1.95.0-SNAPSHOT diff --git a/java-vision/google-cloud-vision-bom/pom.xml b/java-vision/google-cloud-vision-bom/pom.xml index 4a6e5fbb080c..091d0439619a 100644 --- a/java-vision/google-cloud-vision-bom/pom.xml +++ b/java-vision/google-cloud-vision-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-vision-bom - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,57 +24,57 @@ com.google.cloud google-cloud-vision - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vision-v1p3beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vision-v1p1beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vision-v1p4beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vision-v1p2beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vision-v1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vision-v1p4beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vision-v1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vision-v1p1beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vision-v1p3beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vision-v1p2beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-vision/google-cloud-vision/pom.xml b/java-vision/google-cloud-vision/pom.xml index c9f0b15710b6..ebfeae1db85c 100644 --- a/java-vision/google-cloud-vision/pom.xml +++ b/java-vision/google-cloud-vision/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-vision - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT jar Google Cloud Vision Java idiomatic client for Google Cloud Vision com.google.cloud google-cloud-vision-parent - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT google-cloud-vision diff --git a/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1/stub/Version.java b/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1/stub/Version.java index a1f0a9d1be63..e01397aafc0c 100644 --- a/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1/stub/Version.java +++ b/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-vision:current} - static final String VERSION = "3.93.0-SNAPSHOT"; + static final String VERSION = "3.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p1beta1/stub/Version.java b/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p1beta1/stub/Version.java index e74d56579b40..fa3461b245ad 100644 --- a/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p1beta1/stub/Version.java +++ b/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-vision:current} - static final String VERSION = "3.93.0-SNAPSHOT"; + static final String VERSION = "3.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p2beta1/stub/Version.java b/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p2beta1/stub/Version.java index 1aee89256446..d2ddf717ff98 100644 --- a/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p2beta1/stub/Version.java +++ b/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p2beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-vision:current} - static final String VERSION = "3.93.0-SNAPSHOT"; + static final String VERSION = "3.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p3beta1/stub/Version.java b/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p3beta1/stub/Version.java index fd4ca7c0c895..e57712ad4ec1 100644 --- a/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p3beta1/stub/Version.java +++ b/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p3beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-vision:current} - static final String VERSION = "3.93.0-SNAPSHOT"; + static final String VERSION = "3.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p4beta1/stub/Version.java b/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p4beta1/stub/Version.java index 14ec23326c65..e79c9055c1f5 100644 --- a/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p4beta1/stub/Version.java +++ b/java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p4beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-vision:current} - static final String VERSION = "3.93.0-SNAPSHOT"; + static final String VERSION = "3.94.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-vision/grpc-google-cloud-vision-v1/pom.xml b/java-vision/grpc-google-cloud-vision-v1/pom.xml index 4bd98486421b..19ac1c18a804 100644 --- a/java-vision/grpc-google-cloud-vision-v1/pom.xml +++ b/java-vision/grpc-google-cloud-vision-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-vision-v1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT grpc-google-cloud-vision-v1 GRPC library for grpc-google-cloud-vision-v1 com.google.cloud google-cloud-vision-parent - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-vision/grpc-google-cloud-vision-v1p1beta1/pom.xml b/java-vision/grpc-google-cloud-vision-v1p1beta1/pom.xml index c9554e3bbd41..b5dff50558c9 100644 --- a/java-vision/grpc-google-cloud-vision-v1p1beta1/pom.xml +++ b/java-vision/grpc-google-cloud-vision-v1p1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-vision-v1p1beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT grpc-google-cloud-vision-v1p1beta1 GRPC library for grpc-google-cloud-vision-v1p1beta1 com.google.cloud google-cloud-vision-parent - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-vision/grpc-google-cloud-vision-v1p2beta1/pom.xml b/java-vision/grpc-google-cloud-vision-v1p2beta1/pom.xml index 1a2c25dcd2fd..8ed1904ebc38 100644 --- a/java-vision/grpc-google-cloud-vision-v1p2beta1/pom.xml +++ b/java-vision/grpc-google-cloud-vision-v1p2beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-vision-v1p2beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT grpc-google-cloud-vision-v1p2beta1 GRPC library for grpc-google-cloud-vision-v1p2beta1 com.google.cloud google-cloud-vision-parent - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-vision/grpc-google-cloud-vision-v1p3beta1/pom.xml b/java-vision/grpc-google-cloud-vision-v1p3beta1/pom.xml index 20f3a2dea9cb..dc9f5896b834 100644 --- a/java-vision/grpc-google-cloud-vision-v1p3beta1/pom.xml +++ b/java-vision/grpc-google-cloud-vision-v1p3beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-vision-v1p3beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT grpc-google-cloud-vision-v1p3beta1 GRPC library for grpc-google-cloud-vision-v1p3beta1 com.google.cloud google-cloud-vision-parent - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-vision/grpc-google-cloud-vision-v1p4beta1/pom.xml b/java-vision/grpc-google-cloud-vision-v1p4beta1/pom.xml index df03dc5914ac..a2db1aa8295e 100644 --- a/java-vision/grpc-google-cloud-vision-v1p4beta1/pom.xml +++ b/java-vision/grpc-google-cloud-vision-v1p4beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-vision-v1p4beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT grpc-google-cloud-vision-v1p4beta1 GRPC library for grpc-google-cloud-vision-v1p4beta1 com.google.cloud google-cloud-vision-parent - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-vision/pom.xml b/java-vision/pom.xml index c111f2056076..69ea1fcde59a 100644 --- a/java-vision/pom.xml +++ b/java-vision/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-vision-parent pom - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT Google Cloud Vision Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,57 +30,57 @@ com.google.api.grpc proto-google-cloud-vision-v1p4beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vision-v1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vision-v1p1beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vision-v1p3beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vision-v1p2beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vision-v1p3beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vision-v1p1beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vision-v1p4beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vision-v1p2beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vision-v1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT com.google.cloud google-cloud-vision - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-vision/proto-google-cloud-vision-v1/pom.xml b/java-vision/proto-google-cloud-vision-v1/pom.xml index 9b9b3e6cd14c..aed3935338d1 100644 --- a/java-vision/proto-google-cloud-vision-v1/pom.xml +++ b/java-vision/proto-google-cloud-vision-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-vision-v1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT proto-google-cloud-vision-v1 PROTO library for proto-google-cloud-vision-v1 com.google.cloud google-cloud-vision-parent - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-vision/proto-google-cloud-vision-v1p1beta1/pom.xml b/java-vision/proto-google-cloud-vision-v1p1beta1/pom.xml index 65ffa03940ce..5aa0c8e8e292 100644 --- a/java-vision/proto-google-cloud-vision-v1p1beta1/pom.xml +++ b/java-vision/proto-google-cloud-vision-v1p1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-vision-v1p1beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT proto-google-cloud-vision-v1p1beta1 PROTO library for proto-google-cloud-vision-v1p1beta1 com.google.cloud google-cloud-vision-parent - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-vision/proto-google-cloud-vision-v1p2beta1/pom.xml b/java-vision/proto-google-cloud-vision-v1p2beta1/pom.xml index cfdda6f77320..d826d75e6aad 100644 --- a/java-vision/proto-google-cloud-vision-v1p2beta1/pom.xml +++ b/java-vision/proto-google-cloud-vision-v1p2beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-vision-v1p2beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT proto-google-cloud-vision-v1p2beta1 PROTO library for proto-google-cloud-vision-v1p2beta1 com.google.cloud google-cloud-vision-parent - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-vision/proto-google-cloud-vision-v1p3beta1/pom.xml b/java-vision/proto-google-cloud-vision-v1p3beta1/pom.xml index 693ac235c2b9..085af5cd4344 100644 --- a/java-vision/proto-google-cloud-vision-v1p3beta1/pom.xml +++ b/java-vision/proto-google-cloud-vision-v1p3beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-vision-v1p3beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT proto-google-cloud-vision-v1p3beta1 PROTO library for proto-google-cloud-vision-v1p3beta1 com.google.cloud google-cloud-vision-parent - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-vision/proto-google-cloud-vision-v1p4beta1/pom.xml b/java-vision/proto-google-cloud-vision-v1p4beta1/pom.xml index c37be02b1f59..921ceff26368 100644 --- a/java-vision/proto-google-cloud-vision-v1p4beta1/pom.xml +++ b/java-vision/proto-google-cloud-vision-v1p4beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-vision-v1p4beta1 - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT proto-google-cloud-vision-v1p4beta1 PROTO library for proto-google-cloud-vision-v1p4beta1 com.google.cloud google-cloud-vision-parent - 3.93.0-SNAPSHOT + 3.94.0-SNAPSHOT diff --git a/java-visionai/google-cloud-visionai-bom/pom.xml b/java-visionai/google-cloud-visionai-bom/pom.xml index bcb42743fc01..22f04fb66f83 100644 --- a/java-visionai/google-cloud-visionai-bom/pom.xml +++ b/java-visionai/google-cloud-visionai-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-visionai-bom - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-visionai - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-visionai-v1 - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT com.google.api.grpc proto-google-cloud-visionai-v1 - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT diff --git a/java-visionai/google-cloud-visionai/pom.xml b/java-visionai/google-cloud-visionai/pom.xml index 73765a82cc89..35197add4c60 100644 --- a/java-visionai/google-cloud-visionai/pom.xml +++ b/java-visionai/google-cloud-visionai/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-visionai - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT jar Google Vision AI API Vision AI API Vertex AI Vision is an AI-powered platform to ingest, analyze and store video data. com.google.cloud google-cloud-visionai-parent - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT google-cloud-visionai diff --git a/java-visionai/google-cloud-visionai/src/main/java/com/google/cloud/visionai/v1/stub/Version.java b/java-visionai/google-cloud-visionai/src/main/java/com/google/cloud/visionai/v1/stub/Version.java index 084b1255f812..3c678ef7535b 100644 --- a/java-visionai/google-cloud-visionai/src/main/java/com/google/cloud/visionai/v1/stub/Version.java +++ b/java-visionai/google-cloud-visionai/src/main/java/com/google/cloud/visionai/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-visionai:current} - static final String VERSION = "0.52.0-SNAPSHOT"; + static final String VERSION = "0.53.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-visionai/grpc-google-cloud-visionai-v1/pom.xml b/java-visionai/grpc-google-cloud-visionai-v1/pom.xml index 3e98c01e553e..b582a8221fc8 100644 --- a/java-visionai/grpc-google-cloud-visionai-v1/pom.xml +++ b/java-visionai/grpc-google-cloud-visionai-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-visionai-v1 - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT grpc-google-cloud-visionai-v1 GRPC library for google-cloud-visionai com.google.cloud google-cloud-visionai-parent - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT diff --git a/java-visionai/pom.xml b/java-visionai/pom.xml index 82e26ea04477..7dc4721f7e6a 100644 --- a/java-visionai/pom.xml +++ b/java-visionai/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-visionai-parent pom - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT Google Vision AI API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-visionai - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-visionai-v1 - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT com.google.api.grpc proto-google-cloud-visionai-v1 - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT diff --git a/java-visionai/proto-google-cloud-visionai-v1/pom.xml b/java-visionai/proto-google-cloud-visionai-v1/pom.xml index 93baeebf77fb..61b74002bd5a 100644 --- a/java-visionai/proto-google-cloud-visionai-v1/pom.xml +++ b/java-visionai/proto-google-cloud-visionai-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-visionai-v1 - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT proto-google-cloud-visionai-v1 Proto library for google-cloud-visionai com.google.cloud google-cloud-visionai-parent - 0.52.0-SNAPSHOT + 0.53.0-SNAPSHOT diff --git a/java-vmmigration/google-cloud-vmmigration-bom/pom.xml b/java-vmmigration/google-cloud-vmmigration-bom/pom.xml index 629fffd7ae82..ea59904b45ba 100644 --- a/java-vmmigration/google-cloud-vmmigration-bom/pom.xml +++ b/java-vmmigration/google-cloud-vmmigration-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-vmmigration-bom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-vmmigration - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vmmigration-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vmmigration-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-vmmigration/google-cloud-vmmigration/pom.xml b/java-vmmigration/google-cloud-vmmigration/pom.xml index 98b7866dde8d..f547b6bdcb76 100644 --- a/java-vmmigration/google-cloud-vmmigration/pom.xml +++ b/java-vmmigration/google-cloud-vmmigration/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-vmmigration - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT jar Google VM Migration VM Migration helps customers migrating VMs to GCP at no additional cost, as well as an extensive ecosystem of partners to help with discovery and assessment, planning, migration, special use cases, and more. com.google.cloud google-cloud-vmmigration-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT google-cloud-vmmigration diff --git a/java-vmmigration/google-cloud-vmmigration/src/main/java/com/google/cloud/vmmigration/v1/stub/Version.java b/java-vmmigration/google-cloud-vmmigration/src/main/java/com/google/cloud/vmmigration/v1/stub/Version.java index 2674ddbbfe94..bc9dd98cdba6 100644 --- a/java-vmmigration/google-cloud-vmmigration/src/main/java/com/google/cloud/vmmigration/v1/stub/Version.java +++ b/java-vmmigration/google-cloud-vmmigration/src/main/java/com/google/cloud/vmmigration/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-vmmigration:current} - static final String VERSION = "1.95.0-SNAPSHOT"; + static final String VERSION = "1.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-vmmigration/grpc-google-cloud-vmmigration-v1/pom.xml b/java-vmmigration/grpc-google-cloud-vmmigration-v1/pom.xml index c60959a07197..612708554bc3 100644 --- a/java-vmmigration/grpc-google-cloud-vmmigration-v1/pom.xml +++ b/java-vmmigration/grpc-google-cloud-vmmigration-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-vmmigration-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT grpc-google-cloud-vmmigration-v1 GRPC library for google-cloud-vmmigration com.google.cloud google-cloud-vmmigration-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-vmmigration/pom.xml b/java-vmmigration/pom.xml index 50ce3f3c6517..2e95d5bcc7bf 100644 --- a/java-vmmigration/pom.xml +++ b/java-vmmigration/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-vmmigration-parent pom - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT Google VM Migration Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-vmmigration - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vmmigration-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vmmigration-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-vmmigration/proto-google-cloud-vmmigration-v1/pom.xml b/java-vmmigration/proto-google-cloud-vmmigration-v1/pom.xml index 451b9e5859a2..4687d48645dd 100644 --- a/java-vmmigration/proto-google-cloud-vmmigration-v1/pom.xml +++ b/java-vmmigration/proto-google-cloud-vmmigration-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-vmmigration-v1 - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT proto-google-cloud-vmmigration-v1 Proto library for google-cloud-vmmigration com.google.cloud google-cloud-vmmigration-parent - 1.95.0-SNAPSHOT + 1.96.0-SNAPSHOT diff --git a/java-vmwareengine/google-cloud-vmwareengine-bom/pom.xml b/java-vmwareengine/google-cloud-vmwareengine-bom/pom.xml index 3ea3ae841ce4..9a8d15389e72 100644 --- a/java-vmwareengine/google-cloud-vmwareengine-bom/pom.xml +++ b/java-vmwareengine/google-cloud-vmwareengine-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-vmwareengine-bom - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-vmwareengine - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vmwareengine-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vmwareengine-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT diff --git a/java-vmwareengine/google-cloud-vmwareengine/pom.xml b/java-vmwareengine/google-cloud-vmwareengine/pom.xml index e854fd17b65d..2a2edc647de0 100644 --- a/java-vmwareengine/google-cloud-vmwareengine/pom.xml +++ b/java-vmwareengine/google-cloud-vmwareengine/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-vmwareengine - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT jar Google Google Cloud VMware Engine Google Cloud VMware Engine Easily lift and shift your VMware-based applications to Google Cloud without changes to your apps, tools, or processes. com.google.cloud google-cloud-vmwareengine-parent - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT google-cloud-vmwareengine diff --git a/java-vmwareengine/google-cloud-vmwareengine/src/main/java/com/google/cloud/vmwareengine/v1/stub/Version.java b/java-vmwareengine/google-cloud-vmwareengine/src/main/java/com/google/cloud/vmwareengine/v1/stub/Version.java index 3f0b5f71d878..76944ab055b6 100644 --- a/java-vmwareengine/google-cloud-vmwareengine/src/main/java/com/google/cloud/vmwareengine/v1/stub/Version.java +++ b/java-vmwareengine/google-cloud-vmwareengine/src/main/java/com/google/cloud/vmwareengine/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-vmwareengine:current} - static final String VERSION = "0.89.0-SNAPSHOT"; + static final String VERSION = "0.90.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-vmwareengine/grpc-google-cloud-vmwareengine-v1/pom.xml b/java-vmwareengine/grpc-google-cloud-vmwareengine-v1/pom.xml index f0c9e7c69ca7..32c4c4fac080 100644 --- a/java-vmwareengine/grpc-google-cloud-vmwareengine-v1/pom.xml +++ b/java-vmwareengine/grpc-google-cloud-vmwareengine-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-vmwareengine-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT grpc-google-cloud-vmwareengine-v1 GRPC library for google-cloud-vmwareengine com.google.cloud google-cloud-vmwareengine-parent - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT diff --git a/java-vmwareengine/pom.xml b/java-vmwareengine/pom.xml index 03312bd7628a..8b389cb0edd8 100644 --- a/java-vmwareengine/pom.xml +++ b/java-vmwareengine/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-vmwareengine-parent pom - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT Google Google Cloud VMware Engine Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-vmwareengine - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vmwareengine-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vmwareengine-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT diff --git a/java-vmwareengine/proto-google-cloud-vmwareengine-v1/pom.xml b/java-vmwareengine/proto-google-cloud-vmwareengine-v1/pom.xml index 495bf8769712..a5bbb2210e87 100644 --- a/java-vmwareengine/proto-google-cloud-vmwareengine-v1/pom.xml +++ b/java-vmwareengine/proto-google-cloud-vmwareengine-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-vmwareengine-v1 - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT proto-google-cloud-vmwareengine-v1 Proto library for google-cloud-vmwareengine com.google.cloud google-cloud-vmwareengine-parent - 0.89.0-SNAPSHOT + 0.90.0-SNAPSHOT diff --git a/java-vpcaccess/google-cloud-vpcaccess-bom/pom.xml b/java-vpcaccess/google-cloud-vpcaccess-bom/pom.xml index 6e725cbb3153..b67779683fe0 100644 --- a/java-vpcaccess/google-cloud-vpcaccess-bom/pom.xml +++ b/java-vpcaccess/google-cloud-vpcaccess-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-vpcaccess-bom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-vpcaccess - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vpcaccess-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vpcaccess-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-vpcaccess/google-cloud-vpcaccess/pom.xml b/java-vpcaccess/google-cloud-vpcaccess/pom.xml index fe31fb15f05b..95fcfb5ff5a3 100644 --- a/java-vpcaccess/google-cloud-vpcaccess/pom.xml +++ b/java-vpcaccess/google-cloud-vpcaccess/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-vpcaccess - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT jar Google Serverless VPC Access Serverless VPC Access enables you to connect from a serverless environment on Google Cloud directly to your VPC network. This connection makes it possible for your serverless environment to access resources in your VPC network via internal IP addresses. com.google.cloud google-cloud-vpcaccess-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT google-cloud-vpcaccess diff --git a/java-vpcaccess/google-cloud-vpcaccess/src/main/java/com/google/cloud/vpcaccess/v1/stub/Version.java b/java-vpcaccess/google-cloud-vpcaccess/src/main/java/com/google/cloud/vpcaccess/v1/stub/Version.java index c5962258349c..4b1f6b4842ff 100644 --- a/java-vpcaccess/google-cloud-vpcaccess/src/main/java/com/google/cloud/vpcaccess/v1/stub/Version.java +++ b/java-vpcaccess/google-cloud-vpcaccess/src/main/java/com/google/cloud/vpcaccess/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-vpcaccess:current} - static final String VERSION = "2.96.0-SNAPSHOT"; + static final String VERSION = "2.97.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-vpcaccess/grpc-google-cloud-vpcaccess-v1/pom.xml b/java-vpcaccess/grpc-google-cloud-vpcaccess-v1/pom.xml index caf0f51a761c..ad39995daae0 100644 --- a/java-vpcaccess/grpc-google-cloud-vpcaccess-v1/pom.xml +++ b/java-vpcaccess/grpc-google-cloud-vpcaccess-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-vpcaccess-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT grpc-google-cloud-vpcaccess-v1 GRPC library for google-cloud-vpcaccess com.google.cloud google-cloud-vpcaccess-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-vpcaccess/pom.xml b/java-vpcaccess/pom.xml index d9a236f169e1..f8ac4b6089dd 100644 --- a/java-vpcaccess/pom.xml +++ b/java-vpcaccess/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-vpcaccess-parent pom - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT Google Serverless VPC Access Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-vpcaccess - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-vpcaccess-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT com.google.api.grpc proto-google-cloud-vpcaccess-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-vpcaccess/proto-google-cloud-vpcaccess-v1/pom.xml b/java-vpcaccess/proto-google-cloud-vpcaccess-v1/pom.xml index c498b67aa9e4..5fe5acec6afa 100644 --- a/java-vpcaccess/proto-google-cloud-vpcaccess-v1/pom.xml +++ b/java-vpcaccess/proto-google-cloud-vpcaccess-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-vpcaccess-v1 - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT proto-google-cloud-vpcaccess-v1 Proto library for google-cloud-vpcaccess com.google.cloud google-cloud-vpcaccess-parent - 2.96.0-SNAPSHOT + 2.97.0-SNAPSHOT diff --git a/java-webrisk/google-cloud-webrisk-bom/pom.xml b/java-webrisk/google-cloud-webrisk-bom/pom.xml index 75a5124b64de..519344f03043 100644 --- a/java-webrisk/google-cloud-webrisk-bom/pom.xml +++ b/java-webrisk/google-cloud-webrisk-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-webrisk-bom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-webrisk - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-webrisk-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-webrisk-v1beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-webrisk-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-webrisk-v1beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-webrisk/google-cloud-webrisk/pom.xml b/java-webrisk/google-cloud-webrisk/pom.xml index ab39b856814f..88ae8480399f 100644 --- a/java-webrisk/google-cloud-webrisk/pom.xml +++ b/java-webrisk/google-cloud-webrisk/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-webrisk - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT jar Google Cloud Web Risk Java idiomatic client for Google Cloud Web Risk com.google.cloud google-cloud-webrisk-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT google-cloud-webrisk diff --git a/java-webrisk/google-cloud-webrisk/src/main/java/com/google/cloud/webrisk/v1/stub/Version.java b/java-webrisk/google-cloud-webrisk/src/main/java/com/google/cloud/webrisk/v1/stub/Version.java index 94d24ba3f298..8c30e2acb0d7 100644 --- a/java-webrisk/google-cloud-webrisk/src/main/java/com/google/cloud/webrisk/v1/stub/Version.java +++ b/java-webrisk/google-cloud-webrisk/src/main/java/com/google/cloud/webrisk/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-webrisk:current} - static final String VERSION = "2.94.0-SNAPSHOT"; + static final String VERSION = "2.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-webrisk/google-cloud-webrisk/src/main/java/com/google/cloud/webrisk/v1beta1/stub/Version.java b/java-webrisk/google-cloud-webrisk/src/main/java/com/google/cloud/webrisk/v1beta1/stub/Version.java index 2c0c7fd8851d..5c420e8afeed 100644 --- a/java-webrisk/google-cloud-webrisk/src/main/java/com/google/cloud/webrisk/v1beta1/stub/Version.java +++ b/java-webrisk/google-cloud-webrisk/src/main/java/com/google/cloud/webrisk/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-webrisk:current} - static final String VERSION = "2.94.0-SNAPSHOT"; + static final String VERSION = "2.95.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-webrisk/grpc-google-cloud-webrisk-v1/pom.xml b/java-webrisk/grpc-google-cloud-webrisk-v1/pom.xml index 3ca5cb7f67f6..3bfdb534341b 100644 --- a/java-webrisk/grpc-google-cloud-webrisk-v1/pom.xml +++ b/java-webrisk/grpc-google-cloud-webrisk-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-webrisk-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT grpc-google-cloud-webrisk-v1 GRPC library for grpc-google-cloud-webrisk-v1 com.google.cloud google-cloud-webrisk-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-webrisk/grpc-google-cloud-webrisk-v1beta1/pom.xml b/java-webrisk/grpc-google-cloud-webrisk-v1beta1/pom.xml index cd27ca636a50..8c989640fb3d 100644 --- a/java-webrisk/grpc-google-cloud-webrisk-v1beta1/pom.xml +++ b/java-webrisk/grpc-google-cloud-webrisk-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-webrisk-v1beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT grpc-google-cloud-webrisk-v1beta1 GRPC library for grpc-google-cloud-webrisk-v1beta1 com.google.cloud google-cloud-webrisk-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-webrisk/pom.xml b/java-webrisk/pom.xml index a443968ce4c1..8877e53da155 100644 --- a/java-webrisk/pom.xml +++ b/java-webrisk/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-webrisk-parent pom - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT Google Cloud Web Risk Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-webrisk-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc proto-google-cloud-webrisk-v1beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-webrisk-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-webrisk-v1beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT com.google.cloud google-cloud-webrisk - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-webrisk/proto-google-cloud-webrisk-v1/pom.xml b/java-webrisk/proto-google-cloud-webrisk-v1/pom.xml index 263a4d186810..ecc04f85964a 100644 --- a/java-webrisk/proto-google-cloud-webrisk-v1/pom.xml +++ b/java-webrisk/proto-google-cloud-webrisk-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-webrisk-v1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT proto-google-cloud-webrisk-v1 PROTO library for proto-google-cloud-webrisk-v1 com.google.cloud google-cloud-webrisk-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-webrisk/proto-google-cloud-webrisk-v1beta1/pom.xml b/java-webrisk/proto-google-cloud-webrisk-v1beta1/pom.xml index 328b9997fd8c..ecf4241607b7 100644 --- a/java-webrisk/proto-google-cloud-webrisk-v1beta1/pom.xml +++ b/java-webrisk/proto-google-cloud-webrisk-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-webrisk-v1beta1 - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT proto-google-cloud-webrisk-v1beta1 PROTO library for proto-google-cloud-webrisk-v1beta1 com.google.cloud google-cloud-webrisk-parent - 2.94.0-SNAPSHOT + 2.95.0-SNAPSHOT diff --git a/java-websecurityscanner/google-cloud-websecurityscanner-bom/pom.xml b/java-websecurityscanner/google-cloud-websecurityscanner-bom/pom.xml index 6b2a702f35c2..7a3cfbd815f1 100644 --- a/java-websecurityscanner/google-cloud-websecurityscanner-bom/pom.xml +++ b/java-websecurityscanner/google-cloud-websecurityscanner-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-websecurityscanner-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -24,37 +24,37 @@ com.google.cloud google-cloud-websecurityscanner - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-websecurityscanner-v1alpha - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-websecurityscanner-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-websecurityscanner-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-websecurityscanner-v1alpha - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-websecurityscanner-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-websecurityscanner-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-websecurityscanner/google-cloud-websecurityscanner/pom.xml b/java-websecurityscanner/google-cloud-websecurityscanner/pom.xml index 0804971166db..4e8e3e9f96bc 100644 --- a/java-websecurityscanner/google-cloud-websecurityscanner/pom.xml +++ b/java-websecurityscanner/google-cloud-websecurityscanner/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-websecurityscanner - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Cloud Web Security Scanner Java idiomatic client for Google Cloud Web Security Scanner com.google.cloud google-cloud-websecurityscanner-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-websecurityscanner diff --git a/java-websecurityscanner/google-cloud-websecurityscanner/src/main/java/com/google/cloud/websecurityscanner/v1/stub/Version.java b/java-websecurityscanner/google-cloud-websecurityscanner/src/main/java/com/google/cloud/websecurityscanner/v1/stub/Version.java index b5ae4a7f89a5..d322e7cf7636 100644 --- a/java-websecurityscanner/google-cloud-websecurityscanner/src/main/java/com/google/cloud/websecurityscanner/v1/stub/Version.java +++ b/java-websecurityscanner/google-cloud-websecurityscanner/src/main/java/com/google/cloud/websecurityscanner/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-websecurityscanner:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-websecurityscanner/google-cloud-websecurityscanner/src/main/java/com/google/cloud/websecurityscanner/v1alpha/stub/Version.java b/java-websecurityscanner/google-cloud-websecurityscanner/src/main/java/com/google/cloud/websecurityscanner/v1alpha/stub/Version.java index ea6163d768c9..ac43b3872ffc 100644 --- a/java-websecurityscanner/google-cloud-websecurityscanner/src/main/java/com/google/cloud/websecurityscanner/v1alpha/stub/Version.java +++ b/java-websecurityscanner/google-cloud-websecurityscanner/src/main/java/com/google/cloud/websecurityscanner/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-websecurityscanner:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-websecurityscanner/google-cloud-websecurityscanner/src/main/java/com/google/cloud/websecurityscanner/v1beta/stub/Version.java b/java-websecurityscanner/google-cloud-websecurityscanner/src/main/java/com/google/cloud/websecurityscanner/v1beta/stub/Version.java index 050205863cc9..e29cbf74fc9e 100644 --- a/java-websecurityscanner/google-cloud-websecurityscanner/src/main/java/com/google/cloud/websecurityscanner/v1beta/stub/Version.java +++ b/java-websecurityscanner/google-cloud-websecurityscanner/src/main/java/com/google/cloud/websecurityscanner/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-websecurityscanner:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-websecurityscanner/grpc-google-cloud-websecurityscanner-v1/pom.xml b/java-websecurityscanner/grpc-google-cloud-websecurityscanner-v1/pom.xml index f7b38b3ee499..35d654c863af 100644 --- a/java-websecurityscanner/grpc-google-cloud-websecurityscanner-v1/pom.xml +++ b/java-websecurityscanner/grpc-google-cloud-websecurityscanner-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-websecurityscanner-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-websecurityscanner-v1 GRPC library for grpc-google-cloud-websecurityscanner-v1 com.google.cloud google-cloud-websecurityscanner-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-websecurityscanner/grpc-google-cloud-websecurityscanner-v1alpha/pom.xml b/java-websecurityscanner/grpc-google-cloud-websecurityscanner-v1alpha/pom.xml index ee659592be64..2a028263f53c 100644 --- a/java-websecurityscanner/grpc-google-cloud-websecurityscanner-v1alpha/pom.xml +++ b/java-websecurityscanner/grpc-google-cloud-websecurityscanner-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-websecurityscanner-v1alpha - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-websecurityscanner-v1alpha GRPC library for grpc-google-cloud-websecurityscanner-v1alpha com.google.cloud google-cloud-websecurityscanner-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-websecurityscanner/grpc-google-cloud-websecurityscanner-v1beta/pom.xml b/java-websecurityscanner/grpc-google-cloud-websecurityscanner-v1beta/pom.xml index fb8744d6252f..61966a60b1cd 100644 --- a/java-websecurityscanner/grpc-google-cloud-websecurityscanner-v1beta/pom.xml +++ b/java-websecurityscanner/grpc-google-cloud-websecurityscanner-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-websecurityscanner-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-websecurityscanner-v1beta GRPC library for grpc-google-cloud-websecurityscanner-v1beta com.google.cloud google-cloud-websecurityscanner-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-websecurityscanner/pom.xml b/java-websecurityscanner/pom.xml index ca9ac10196e0..2ba60001b892 100644 --- a/java-websecurityscanner/pom.xml +++ b/java-websecurityscanner/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-websecurityscanner-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud Web Security Scanner Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.api.grpc proto-google-cloud-websecurityscanner-v1alpha - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-websecurityscanner-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-websecurityscanner-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-websecurityscanner-v1alpha - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-websecurityscanner-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-websecurityscanner-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.cloud google-cloud-websecurityscanner - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-websecurityscanner/proto-google-cloud-websecurityscanner-v1/pom.xml b/java-websecurityscanner/proto-google-cloud-websecurityscanner-v1/pom.xml index e5f374ae8e16..20abaead1a34 100644 --- a/java-websecurityscanner/proto-google-cloud-websecurityscanner-v1/pom.xml +++ b/java-websecurityscanner/proto-google-cloud-websecurityscanner-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-websecurityscanner-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-websecurityscanner-v1 PROTO library for proto-google-cloud-websecurityscanner-v1 com.google.cloud google-cloud-websecurityscanner-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-websecurityscanner/proto-google-cloud-websecurityscanner-v1alpha/pom.xml b/java-websecurityscanner/proto-google-cloud-websecurityscanner-v1alpha/pom.xml index ec3c24775333..4d1d22384bf1 100644 --- a/java-websecurityscanner/proto-google-cloud-websecurityscanner-v1alpha/pom.xml +++ b/java-websecurityscanner/proto-google-cloud-websecurityscanner-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-websecurityscanner-v1alpha - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-websecurityscanner-v1alpha PROTO library for proto-google-cloud-websecurityscanner-v1alpha com.google.cloud google-cloud-websecurityscanner-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-websecurityscanner/proto-google-cloud-websecurityscanner-v1beta/pom.xml b/java-websecurityscanner/proto-google-cloud-websecurityscanner-v1beta/pom.xml index 9af97088e46f..15878d74ef6d 100644 --- a/java-websecurityscanner/proto-google-cloud-websecurityscanner-v1beta/pom.xml +++ b/java-websecurityscanner/proto-google-cloud-websecurityscanner-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-websecurityscanner-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-websecurityscanner-v1beta PROTO library for proto-google-cloud-websecurityscanner-v1beta com.google.cloud google-cloud-websecurityscanner-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-workflow-executions/google-cloud-workflow-executions-bom/pom.xml b/java-workflow-executions/google-cloud-workflow-executions-bom/pom.xml index 24b95fc3ed04..2431a44b0fed 100644 --- a/java-workflow-executions/google-cloud-workflow-executions-bom/pom.xml +++ b/java-workflow-executions/google-cloud-workflow-executions-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-workflow-executions-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-workflow-executions - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workflow-executions-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workflow-executions-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workflow-executions-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workflow-executions-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-workflow-executions/google-cloud-workflow-executions/pom.xml b/java-workflow-executions/google-cloud-workflow-executions/pom.xml index db44388f803e..a869735a9d99 100644 --- a/java-workflow-executions/google-cloud-workflow-executions/pom.xml +++ b/java-workflow-executions/google-cloud-workflow-executions/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-workflow-executions - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Cloud Workflow Executions allows you to ochestrate and automate Google Cloud and HTTP-based API services with serverless workflows. com.google.cloud google-cloud-workflow-executions-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-workflow-executions diff --git a/java-workflow-executions/google-cloud-workflow-executions/src/main/java/com/google/cloud/workflows/executions/v1/stub/Version.java b/java-workflow-executions/google-cloud-workflow-executions/src/main/java/com/google/cloud/workflows/executions/v1/stub/Version.java index 0d3ca4d6e5f0..d628638a08c3 100644 --- a/java-workflow-executions/google-cloud-workflow-executions/src/main/java/com/google/cloud/workflows/executions/v1/stub/Version.java +++ b/java-workflow-executions/google-cloud-workflow-executions/src/main/java/com/google/cloud/workflows/executions/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-workflow-executions:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-workflow-executions/google-cloud-workflow-executions/src/main/java/com/google/cloud/workflows/executions/v1beta/stub/Version.java b/java-workflow-executions/google-cloud-workflow-executions/src/main/java/com/google/cloud/workflows/executions/v1beta/stub/Version.java index 85b3217dedc1..eedd438c7956 100644 --- a/java-workflow-executions/google-cloud-workflow-executions/src/main/java/com/google/cloud/workflows/executions/v1beta/stub/Version.java +++ b/java-workflow-executions/google-cloud-workflow-executions/src/main/java/com/google/cloud/workflows/executions/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-workflow-executions:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-workflow-executions/grpc-google-cloud-workflow-executions-v1/pom.xml b/java-workflow-executions/grpc-google-cloud-workflow-executions-v1/pom.xml index c507f859d3b1..78f65b175754 100644 --- a/java-workflow-executions/grpc-google-cloud-workflow-executions-v1/pom.xml +++ b/java-workflow-executions/grpc-google-cloud-workflow-executions-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-workflow-executions-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-workflow-executions-v1 GRPC library for google-cloud-workflow-executions com.google.cloud google-cloud-workflow-executions-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-workflow-executions/grpc-google-cloud-workflow-executions-v1beta/pom.xml b/java-workflow-executions/grpc-google-cloud-workflow-executions-v1beta/pom.xml index d741c6979b00..e3d7d8717306 100644 --- a/java-workflow-executions/grpc-google-cloud-workflow-executions-v1beta/pom.xml +++ b/java-workflow-executions/grpc-google-cloud-workflow-executions-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-workflow-executions-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-workflow-executions-v1beta GRPC library for google-cloud-workflow-executions com.google.cloud google-cloud-workflow-executions-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-workflow-executions/pom.xml b/java-workflow-executions/pom.xml index 7cfb4fec9c72..cb146ad9f2f2 100644 --- a/java-workflow-executions/pom.xml +++ b/java-workflow-executions/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-workflow-executions-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud Workflow Executions Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-workflow-executions - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workflow-executions-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workflow-executions-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workflow-executions-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workflow-executions-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-workflow-executions/proto-google-cloud-workflow-executions-v1/pom.xml b/java-workflow-executions/proto-google-cloud-workflow-executions-v1/pom.xml index 936b67ee4df2..78a577e52a39 100644 --- a/java-workflow-executions/proto-google-cloud-workflow-executions-v1/pom.xml +++ b/java-workflow-executions/proto-google-cloud-workflow-executions-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-workflow-executions-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-workflow-executions-v1 Proto library for google-cloud-workflow-executions com.google.cloud google-cloud-workflow-executions-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-workflow-executions/proto-google-cloud-workflow-executions-v1beta/pom.xml b/java-workflow-executions/proto-google-cloud-workflow-executions-v1beta/pom.xml index 7a32d2f05139..0ebdf40d6061 100644 --- a/java-workflow-executions/proto-google-cloud-workflow-executions-v1beta/pom.xml +++ b/java-workflow-executions/proto-google-cloud-workflow-executions-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-workflow-executions-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-workflow-executions-v1beta Proto library for google-cloud-workflow-executions com.google.cloud google-cloud-workflow-executions-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-workflows/google-cloud-workflows-bom/pom.xml b/java-workflows/google-cloud-workflows-bom/pom.xml index 10ab25009bb3..0d9eba28c629 100644 --- a/java-workflows/google-cloud-workflows-bom/pom.xml +++ b/java-workflows/google-cloud-workflows-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-workflows-bom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-workflows - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workflows-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workflows-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workflows-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workflows-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-workflows/google-cloud-workflows/pom.xml b/java-workflows/google-cloud-workflows/pom.xml index 7344bbab0135..56a4e7bec91e 100644 --- a/java-workflows/google-cloud-workflows/pom.xml +++ b/java-workflows/google-cloud-workflows/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-workflows - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT jar Google Cloud Workflows allows you to ochestrate and automate Google Cloud and HTTP-based API services with serverless workflows. com.google.cloud google-cloud-workflows-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT google-cloud-workflows diff --git a/java-workflows/google-cloud-workflows/src/main/java/com/google/cloud/workflows/v1/stub/Version.java b/java-workflows/google-cloud-workflows/src/main/java/com/google/cloud/workflows/v1/stub/Version.java index 83a56cbdda76..b960fc7cbd26 100644 --- a/java-workflows/google-cloud-workflows/src/main/java/com/google/cloud/workflows/v1/stub/Version.java +++ b/java-workflows/google-cloud-workflows/src/main/java/com/google/cloud/workflows/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-workflows:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-workflows/google-cloud-workflows/src/main/java/com/google/cloud/workflows/v1beta/stub/Version.java b/java-workflows/google-cloud-workflows/src/main/java/com/google/cloud/workflows/v1beta/stub/Version.java index 75462f960cc1..3fcc00fc4361 100644 --- a/java-workflows/google-cloud-workflows/src/main/java/com/google/cloud/workflows/v1beta/stub/Version.java +++ b/java-workflows/google-cloud-workflows/src/main/java/com/google/cloud/workflows/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-workflows:current} - static final String VERSION = "2.95.0-SNAPSHOT"; + static final String VERSION = "2.96.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-workflows/grpc-google-cloud-workflows-v1/pom.xml b/java-workflows/grpc-google-cloud-workflows-v1/pom.xml index 20a501d8815a..dbe16c38a357 100644 --- a/java-workflows/grpc-google-cloud-workflows-v1/pom.xml +++ b/java-workflows/grpc-google-cloud-workflows-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-workflows-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-workflows-v1 GRPC library for google-cloud-workflows com.google.cloud google-cloud-workflows-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-workflows/grpc-google-cloud-workflows-v1beta/pom.xml b/java-workflows/grpc-google-cloud-workflows-v1beta/pom.xml index f443a57a603f..7f13d4d8c769 100644 --- a/java-workflows/grpc-google-cloud-workflows-v1beta/pom.xml +++ b/java-workflows/grpc-google-cloud-workflows-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-workflows-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT grpc-google-cloud-workflows-v1beta GRPC library for google-cloud-workflows com.google.cloud google-cloud-workflows-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-workflows/pom.xml b/java-workflows/pom.xml index 329fbab4df6c..355faffdec99 100644 --- a/java-workflows/pom.xml +++ b/java-workflows/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-workflows-parent pom - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT Google Cloud Workflows Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-workflows - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workflows-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workflows-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workflows-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workflows-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-workflows/proto-google-cloud-workflows-v1/pom.xml b/java-workflows/proto-google-cloud-workflows-v1/pom.xml index 9f434d02b163..1b73cba725de 100644 --- a/java-workflows/proto-google-cloud-workflows-v1/pom.xml +++ b/java-workflows/proto-google-cloud-workflows-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-workflows-v1 - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-workflows-v1 Proto library for google-cloud-workflows com.google.cloud google-cloud-workflows-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-workflows/proto-google-cloud-workflows-v1beta/pom.xml b/java-workflows/proto-google-cloud-workflows-v1beta/pom.xml index 2ceefe820bd7..3f005e4688c7 100644 --- a/java-workflows/proto-google-cloud-workflows-v1beta/pom.xml +++ b/java-workflows/proto-google-cloud-workflows-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-workflows-v1beta - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT proto-google-cloud-workflows-v1beta Proto library for google-cloud-workflows com.google.cloud google-cloud-workflows-parent - 2.95.0-SNAPSHOT + 2.96.0-SNAPSHOT diff --git a/java-workloadmanager/google-cloud-workloadmanager-bom/pom.xml b/java-workloadmanager/google-cloud-workloadmanager-bom/pom.xml index 232bb9893f04..9a3df1870fe5 100644 --- a/java-workloadmanager/google-cloud-workloadmanager-bom/pom.xml +++ b/java-workloadmanager/google-cloud-workloadmanager-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-workloadmanager-bom - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-workloadmanager - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workloadmanager-v1 - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workloadmanager-v1 - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT diff --git a/java-workloadmanager/google-cloud-workloadmanager/pom.xml b/java-workloadmanager/google-cloud-workloadmanager/pom.xml index eadd433a1ded..2c846ab8cdfe 100644 --- a/java-workloadmanager/google-cloud-workloadmanager/pom.xml +++ b/java-workloadmanager/google-cloud-workloadmanager/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-workloadmanager - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT jar Google Workload Manager API Workload Manager API Workload Manager is a service that provides tooling for enterprise workloads to automate the deployment and validation of your workloads against best practices and recommendations. com.google.cloud google-cloud-workloadmanager-parent - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT google-cloud-workloadmanager diff --git a/java-workloadmanager/google-cloud-workloadmanager/src/main/java/com/google/cloud/workloadmanager/v1/stub/Version.java b/java-workloadmanager/google-cloud-workloadmanager/src/main/java/com/google/cloud/workloadmanager/v1/stub/Version.java index 0d00c6e2ce2e..d3210f046307 100644 --- a/java-workloadmanager/google-cloud-workloadmanager/src/main/java/com/google/cloud/workloadmanager/v1/stub/Version.java +++ b/java-workloadmanager/google-cloud-workloadmanager/src/main/java/com/google/cloud/workloadmanager/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-workloadmanager:current} - static final String VERSION = "0.11.0-SNAPSHOT"; + static final String VERSION = "0.12.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-workloadmanager/grpc-google-cloud-workloadmanager-v1/pom.xml b/java-workloadmanager/grpc-google-cloud-workloadmanager-v1/pom.xml index 627f21c9f9cb..b868d37d329a 100644 --- a/java-workloadmanager/grpc-google-cloud-workloadmanager-v1/pom.xml +++ b/java-workloadmanager/grpc-google-cloud-workloadmanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-workloadmanager-v1 - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT grpc-google-cloud-workloadmanager-v1 GRPC library for google-cloud-workloadmanager com.google.cloud google-cloud-workloadmanager-parent - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT diff --git a/java-workloadmanager/pom.xml b/java-workloadmanager/pom.xml index a8dda6965ab2..c1b26eb476ea 100644 --- a/java-workloadmanager/pom.xml +++ b/java-workloadmanager/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-workloadmanager-parent pom - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT Google Workload Manager API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-workloadmanager - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workloadmanager-v1 - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workloadmanager-v1 - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT diff --git a/java-workloadmanager/proto-google-cloud-workloadmanager-v1/pom.xml b/java-workloadmanager/proto-google-cloud-workloadmanager-v1/pom.xml index 48c8fdcc5521..8debeb9f2f69 100644 --- a/java-workloadmanager/proto-google-cloud-workloadmanager-v1/pom.xml +++ b/java-workloadmanager/proto-google-cloud-workloadmanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-workloadmanager-v1 - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT proto-google-cloud-workloadmanager-v1 Proto library for google-cloud-workloadmanager com.google.cloud google-cloud-workloadmanager-parent - 0.11.0-SNAPSHOT + 0.12.0-SNAPSHOT diff --git a/java-workspaceevents/google-cloud-workspaceevents-bom/pom.xml b/java-workspaceevents/google-cloud-workspaceevents-bom/pom.xml index 7ebc37af987d..28cfba95e6b8 100644 --- a/java-workspaceevents/google-cloud-workspaceevents-bom/pom.xml +++ b/java-workspaceevents/google-cloud-workspaceevents-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-workspaceevents-bom - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-workspaceevents - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workspaceevents-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workspaceevents-v1beta - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workspaceevents-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workspaceevents-v1beta - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-workspaceevents/google-cloud-workspaceevents/pom.xml b/java-workspaceevents/google-cloud-workspaceevents/pom.xml index a7409b2747b7..2f1887cfce2c 100644 --- a/java-workspaceevents/google-cloud-workspaceevents/pom.xml +++ b/java-workspaceevents/google-cloud-workspaceevents/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-workspaceevents - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT jar Google Google Workspace Events API Google Workspace Events API The Google Workspace Events API lets you subscribe to events and manage change notifications across Google Workspace applications. com.google.cloud google-cloud-workspaceevents-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT google-cloud-workspaceevents diff --git a/java-workspaceevents/google-cloud-workspaceevents/src/main/java/com/google/apps/events/subscriptions/v1/stub/Version.java b/java-workspaceevents/google-cloud-workspaceevents/src/main/java/com/google/apps/events/subscriptions/v1/stub/Version.java index c62644ab7f1c..664b8ae27e8e 100644 --- a/java-workspaceevents/google-cloud-workspaceevents/src/main/java/com/google/apps/events/subscriptions/v1/stub/Version.java +++ b/java-workspaceevents/google-cloud-workspaceevents/src/main/java/com/google/apps/events/subscriptions/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-workspaceevents:current} - static final String VERSION = "0.59.0-SNAPSHOT"; + static final String VERSION = "0.60.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-workspaceevents/google-cloud-workspaceevents/src/main/java/com/google/apps/events/subscriptions/v1beta/stub/Version.java b/java-workspaceevents/google-cloud-workspaceevents/src/main/java/com/google/apps/events/subscriptions/v1beta/stub/Version.java index 3e12331f187d..56b2ed8f0710 100644 --- a/java-workspaceevents/google-cloud-workspaceevents/src/main/java/com/google/apps/events/subscriptions/v1beta/stub/Version.java +++ b/java-workspaceevents/google-cloud-workspaceevents/src/main/java/com/google/apps/events/subscriptions/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-workspaceevents:current} - static final String VERSION = "0.59.0-SNAPSHOT"; + static final String VERSION = "0.60.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-workspaceevents/grpc-google-cloud-workspaceevents-v1/pom.xml b/java-workspaceevents/grpc-google-cloud-workspaceevents-v1/pom.xml index fa0f168c3da7..a038ff5b7be0 100644 --- a/java-workspaceevents/grpc-google-cloud-workspaceevents-v1/pom.xml +++ b/java-workspaceevents/grpc-google-cloud-workspaceevents-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-workspaceevents-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT grpc-google-cloud-workspaceevents-v1 GRPC library for google-cloud-workspaceevents com.google.cloud google-cloud-workspaceevents-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-workspaceevents/grpc-google-cloud-workspaceevents-v1beta/pom.xml b/java-workspaceevents/grpc-google-cloud-workspaceevents-v1beta/pom.xml index dc76b87dc007..efac9648cefc 100644 --- a/java-workspaceevents/grpc-google-cloud-workspaceevents-v1beta/pom.xml +++ b/java-workspaceevents/grpc-google-cloud-workspaceevents-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-workspaceevents-v1beta - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT grpc-google-cloud-workspaceevents-v1beta GRPC library for google-cloud-workspaceevents com.google.cloud google-cloud-workspaceevents-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-workspaceevents/pom.xml b/java-workspaceevents/pom.xml index b70eaabadf0b..bfa60e30433d 100644 --- a/java-workspaceevents/pom.xml +++ b/java-workspaceevents/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-workspaceevents-parent pom - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT Google Google Workspace Events API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-workspaceevents - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workspaceevents-v1beta - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workspaceevents-v1beta - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workspaceevents-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workspaceevents-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-workspaceevents/proto-google-cloud-workspaceevents-v1/pom.xml b/java-workspaceevents/proto-google-cloud-workspaceevents-v1/pom.xml index cf4f5ee15eaf..52b71b8af504 100644 --- a/java-workspaceevents/proto-google-cloud-workspaceevents-v1/pom.xml +++ b/java-workspaceevents/proto-google-cloud-workspaceevents-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-workspaceevents-v1 - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT proto-google-cloud-workspaceevents-v1 Proto library for google-cloud-workspaceevents com.google.cloud google-cloud-workspaceevents-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-workspaceevents/proto-google-cloud-workspaceevents-v1beta/pom.xml b/java-workspaceevents/proto-google-cloud-workspaceevents-v1beta/pom.xml index b0a643cb54ab..b27c802eb769 100644 --- a/java-workspaceevents/proto-google-cloud-workspaceevents-v1beta/pom.xml +++ b/java-workspaceevents/proto-google-cloud-workspaceevents-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-workspaceevents-v1beta - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT proto-google-cloud-workspaceevents-v1beta Proto library for google-cloud-workspaceevents com.google.cloud google-cloud-workspaceevents-parent - 0.59.0-SNAPSHOT + 0.60.0-SNAPSHOT diff --git a/java-workstations/google-cloud-workstations-bom/pom.xml b/java-workstations/google-cloud-workstations-bom/pom.xml index 16d457def3e1..2eff097e64fb 100644 --- a/java-workstations/google-cloud-workstations-bom/pom.xml +++ b/java-workstations/google-cloud-workstations-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-workstations-bom - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT pom com.google.cloud google-cloud-pom-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-workstations - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workstations-v1beta - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workstations-v1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workstations-v1beta - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workstations-v1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT diff --git a/java-workstations/google-cloud-workstations/pom.xml b/java-workstations/google-cloud-workstations/pom.xml index 60d8b611c77c..4f77bd93f4c0 100644 --- a/java-workstations/google-cloud-workstations/pom.xml +++ b/java-workstations/google-cloud-workstations/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-workstations - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT jar Google Cloud Workstations Cloud Workstations Fully managed development environments built to meet the needs of security-sensitive enterprises. It enhances the security of development environments while accelerating developer onboarding and productivity. com.google.cloud google-cloud-workstations-parent - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT google-cloud-workstations diff --git a/java-workstations/google-cloud-workstations/src/main/java/com/google/cloud/workstations/v1/stub/Version.java b/java-workstations/google-cloud-workstations/src/main/java/com/google/cloud/workstations/v1/stub/Version.java index 6d6352559fd9..c3515ccf6c8a 100644 --- a/java-workstations/google-cloud-workstations/src/main/java/com/google/cloud/workstations/v1/stub/Version.java +++ b/java-workstations/google-cloud-workstations/src/main/java/com/google/cloud/workstations/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-workstations:current} - static final String VERSION = "0.83.0-SNAPSHOT"; + static final String VERSION = "0.84.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-workstations/google-cloud-workstations/src/main/java/com/google/cloud/workstations/v1beta/stub/Version.java b/java-workstations/google-cloud-workstations/src/main/java/com/google/cloud/workstations/v1beta/stub/Version.java index 8ca54d04449f..2a179cbc3f04 100644 --- a/java-workstations/google-cloud-workstations/src/main/java/com/google/cloud/workstations/v1beta/stub/Version.java +++ b/java-workstations/google-cloud-workstations/src/main/java/com/google/cloud/workstations/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-workstations:current} - static final String VERSION = "0.83.0-SNAPSHOT"; + static final String VERSION = "0.84.0-SNAPSHOT"; // {x-version-update-end} } diff --git a/java-workstations/grpc-google-cloud-workstations-v1/pom.xml b/java-workstations/grpc-google-cloud-workstations-v1/pom.xml index 3ae3442b1e23..3deae0ded948 100644 --- a/java-workstations/grpc-google-cloud-workstations-v1/pom.xml +++ b/java-workstations/grpc-google-cloud-workstations-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-workstations-v1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT grpc-google-cloud-workstations-v1 GRPC library for google-cloud-workstations com.google.cloud google-cloud-workstations-parent - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT diff --git a/java-workstations/grpc-google-cloud-workstations-v1beta/pom.xml b/java-workstations/grpc-google-cloud-workstations-v1beta/pom.xml index f1b09eeb6fc3..837805a504c3 100644 --- a/java-workstations/grpc-google-cloud-workstations-v1beta/pom.xml +++ b/java-workstations/grpc-google-cloud-workstations-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-workstations-v1beta - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT grpc-google-cloud-workstations-v1beta GRPC library for google-cloud-workstations com.google.cloud google-cloud-workstations-parent - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT diff --git a/java-workstations/pom.xml b/java-workstations/pom.xml index 44896c2b1886..b910facc799a 100644 --- a/java-workstations/pom.xml +++ b/java-workstations/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-workstations-parent pom - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT Google Cloud Workstations Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.89.0-SNAPSHOT + 1.90.0-SNAPSHOT ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-workstations - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workstations-v1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workstations-v1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc grpc-google-cloud-workstations-v1beta - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT com.google.api.grpc proto-google-cloud-workstations-v1beta - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT diff --git a/java-workstations/proto-google-cloud-workstations-v1/pom.xml b/java-workstations/proto-google-cloud-workstations-v1/pom.xml index 12f9206f8289..4f77df33f44f 100644 --- a/java-workstations/proto-google-cloud-workstations-v1/pom.xml +++ b/java-workstations/proto-google-cloud-workstations-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-workstations-v1 - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT proto-google-cloud-workstations-v1 Proto library for google-cloud-workstations com.google.cloud google-cloud-workstations-parent - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT diff --git a/java-workstations/proto-google-cloud-workstations-v1beta/pom.xml b/java-workstations/proto-google-cloud-workstations-v1beta/pom.xml index d2b99fd49de9..2d07749e574e 100644 --- a/java-workstations/proto-google-cloud-workstations-v1beta/pom.xml +++ b/java-workstations/proto-google-cloud-workstations-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-workstations-v1beta - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT proto-google-cloud-workstations-v1beta Proto library for google-cloud-workstations com.google.cloud google-cloud-workstations-parent - 0.83.0-SNAPSHOT + 0.84.0-SNAPSHOT diff --git a/librarian.yaml b/librarian.yaml index 2be71575fafe..973075ea3a7b 100644 --- a/librarian.yaml +++ b/librarian.yaml @@ -16,8 +16,8 @@ version: v0.31.0 repo: googleapis/google-cloud-java sources: googleapis: - commit: 62da249e76b878fa8d667a0d7bfa4dc33d790cb8 - sha256: abd8967d4827cb1c849ee49cf9f22c3acb0a498018684361fa690b2922c781b3 + commit: b8486a2f44f15dc578a9dc1e17b144253079d5c1 + sha256: 12411ca5cb6c70d7c873d7058c5182a8d23fa88af8d984b0e73b1c3ad1d83766 showcase: commit: f97fd357084b9e85ef5dd02ba084551c3f85191c sha256: b5d293831e6895ca139d9a0a92eec75a82e73398978b140af8f7c5e91c7c969a @@ -49,18 +49,19 @@ default: google/analytics: com.google.analytics google/maps: com.google.maps google/shopping: com.google.shopping - libraries_bom_version: 26.83.0 + libraries_bom_version: 26.86.0 libraries: - name: accessapproval - version: 2.96.0-SNAPSHOT + version: 2.97.0-SNAPSHOT apis: - path: google/cloud/accessapproval/v1 java: api_description_override: enables controlling access to your organization's data by Google personnel. name_pretty_override: Access Approval product_documentation_override: https://cloud.google.com/access-approval/docs/ + released_version: 2.96.0 - name: accesscontextmanager - version: 1.96.0-SNAPSHOT + version: 1.97.0-SNAPSHOT apis: - path: google/identity/accesscontextmanager/v1 - path: google/identity/accesscontextmanager/type @@ -75,8 +76,9 @@ libraries: artifact_id: google-identity-accesscontextmanager name_pretty_override: Identity Access Context Manager product_documentation_override: n/a + released_version: 1.96.0 - name: admanager - version: 0.54.0-SNAPSHOT + version: 0.55.0-SNAPSHOT apis: - path: google/ads/admanager/v1 java: @@ -87,8 +89,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Google Ad Manager API product_documentation_override: https://developers.google.com/ad-manager/api/beta + released_version: 0.54.0 - name: advisorynotifications - version: 0.84.0-SNAPSHOT + version: 0.85.0-SNAPSHOT apis: - path: google/cloud/advisorynotifications/v1 java: @@ -97,8 +100,9 @@ libraries: api_description_override: An API for accessing Advisory Notifications in Google Cloud. name_pretty_override: Advisory Notifications API product_documentation_override: https://cloud.google.com/advisory-notifications/ + released_version: 0.84.0 - name: agentidentity - version: 0.1.0-SNAPSHOT + version: 0.2.0-SNAPSHOT apis: - path: google/cloud/agentidentity/v1 java: @@ -110,15 +114,19 @@ libraries: additional_protos: - path: google/cloud/location/locations.proto - path: google/iam/v1/iam_policy.proto + java: + released_version: 0.1.0 - name: agentregistry - version: 0.2.0-SNAPSHOT + version: 0.3.0-SNAPSHOT apis: - path: google/cloud/agentregistry/v1 java: additional_protos: - path: google/cloud/location/locations.proto + java: + released_version: 0.2.0 - name: aiplatform - version: 3.96.0-SNAPSHOT + version: 3.97.0-SNAPSHOT apis: - path: google/cloud/aiplatform/v1 java: @@ -149,8 +157,9 @@ libraries: product_documentation_override: https://cloud.google.com/vertex-ai/docs rest_documentation: https://cloud.google.com/vertex-ai/docs/reference/rest rpc_documentation: https://cloud.google.com/vertex-ai/docs/reference/rpc + released_version: 3.96.0 - name: alloydb - version: 0.84.0-SNAPSHOT + version: 0.85.0-SNAPSHOT apis: - path: google/cloud/alloydb/v1 java: @@ -172,8 +181,9 @@ libraries: name_pretty_override: AlloyDB product_documentation_override: https://cloud.google.com/alloydb/ rest_documentation: https://cloud.google.com/alloydb/docs/reference/rest + released_version: 0.84.0 - name: alloydb-connectors - version: 0.73.0-SNAPSHOT + version: 0.74.0-SNAPSHOT apis: - path: google/cloud/alloydb/connectors/v1 java: @@ -203,8 +213,9 @@ libraries: product_documentation_override: https://cloud.google.com/alloydb/docs rest_documentation: https://cloud.google.com/alloydb/docs/reference/rest transport_override: grpc + released_version: 0.73.0 - name: analytics-admin - version: 0.105.0-SNAPSHOT + version: 0.106.0-SNAPSHOT apis: - path: google/analytics/admin/v1beta - path: google/analytics/admin/v1alpha @@ -214,8 +225,9 @@ libraries: codeowner_team: '@googleapis/analytics-dpe' name_pretty_override: Analytics Admin product_documentation_override: https://developers.google.com/analytics + released_version: 0.105.0 - name: analytics-data - version: 0.106.0-SNAPSHOT + version: 0.107.0-SNAPSHOT apis: - path: google/analytics/data/v1beta - path: google/analytics/data/v1alpha @@ -226,16 +238,18 @@ libraries: codeowner_team: '@googleapis/analytics-dpe' name_pretty_override: Analytics Data product_documentation_override: https://developers.google.com/analytics/trusted-testing/analytics-data + released_version: 0.106.0 - name: analyticshub - version: 0.92.0-SNAPSHOT + version: 0.93.0-SNAPSHOT apis: - path: google/cloud/bigquery/analyticshub/v1 java: api_description_override: TBD name_pretty_override: Analytics Hub API product_documentation_override: https://cloud.google.com/bigquery/TBD + released_version: 0.92.0 - name: api-gateway - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/apigateway/v1 java: @@ -244,16 +258,18 @@ libraries: name_pretty_override: API Gateway product_documentation_override: https://cloud.google.com/api-gateway/docs rest_documentation: https://cloud.google.com/api-gateway/docs/reference/rest + released_version: 2.95.0 - name: apigee-connect - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/apigeeconnect/v1 java: api_description_override: allows the Apigee hybrid management plane to connect securely to the MART service in the runtime plane without requiring you to expose the MART endpoint on the internet. name_pretty_override: Apigee Connect product_documentation_override: https://cloud.google.com/apigee/docs/hybrid/v1.3/apigee-connect/ + released_version: 2.95.0 - name: apihub - version: 0.48.0-SNAPSHOT + version: 0.49.0-SNAPSHOT apis: - path: google/cloud/apihub/v1 java: @@ -266,16 +282,18 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: API hub API product_documentation_override: https://cloud.google.com/apigee/docs/apihub/what-is-api-hub + released_version: 0.48.0 - name: apikeys - version: 0.93.0-SNAPSHOT + version: 0.94.0-SNAPSHOT apis: - path: google/api/apikeys/v2 java: api_description_override: API Keys lets you create and manage your API keys for your projects. name_pretty_override: API Keys API product_documentation_override: https://cloud.google.com/api-keys/ + released_version: 0.93.0 - name: appengine-admin - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/appengine/v1 java: @@ -283,8 +301,9 @@ libraries: codeowner_team: '@googleapis/aap-dpes' name_pretty_override: App Engine Admin API product_documentation_override: https://cloud.google.com/appengine/docs/admin-api/ + released_version: 2.95.0 - name: apphub - version: 0.59.0-SNAPSHOT + version: 0.60.0-SNAPSHOT apis: - path: google/cloud/apphub/v1 java: @@ -296,8 +315,9 @@ libraries: name_pretty_override: App Hub API product_documentation_override: https://cloud.google.com/app-hub/docs/overview rpc_documentation: https://cloud.google.com/app-hub/docs/reference/rpc + released_version: 0.59.0 - name: appoptimize - version: 0.5.0-SNAPSHOT + version: 0.6.0-SNAPSHOT apis: - path: google/cloud/appoptimize/v1beta java: @@ -310,8 +330,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: App Optimize API product_documentation_override: https://docs.cloud.google.com/app-optimize/overview + released_version: 0.5.0 - name: area120-tables - version: 0.99.0-SNAPSHOT + version: 0.100.0-SNAPSHOT apis: - path: google/area120/tables/v1alpha1 java: @@ -320,8 +341,9 @@ libraries: group_id: com.google.area120 name_pretty_override: Area 120 Tables product_documentation_override: https://area120.google.com/ + released_version: 0.99.0 - name: artifact-registry - version: 1.94.0-SNAPSHOT + version: 1.95.0-SNAPSHOT apis: - path: google/devtools/artifactregistry/v1 java: @@ -338,8 +360,9 @@ libraries: product_documentation_override: https://cloud.google.com/artifact-registry rest_documentation: https://cloud.google.com/artifact-registry/docs/reference/rest rpc_documentation: https://cloud.google.com/artifact-registry/docs/reference/rpc + released_version: 1.94.0 - name: asset - version: 3.99.0-SNAPSHOT + version: 3.100.0-SNAPSHOT apis: - path: google/cloud/asset/v1 - path: google/cloud/asset/v1p7beta1 @@ -355,8 +378,9 @@ libraries: issue_tracker_override: https://issuetracker.google.com/issues/new?component=187210 name_pretty_override: Cloud Asset Inventory product_documentation_override: https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview + released_version: 3.99.0 - name: assured-workloads - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/assuredworkloads/v1 - path: google/cloud/assuredworkloads/v1beta1 @@ -365,8 +389,9 @@ libraries: name_pretty_override: Assured Workloads for Government product_documentation_override: https://cloud.google.com/assured-workloads/ rest_documentation: https://cloud.google.com/assured-workloads/docs/reference/rest + released_version: 2.95.0 - name: auditmanager - version: 0.13.0-SNAPSHOT + version: 0.14.0-SNAPSHOT apis: - path: google/cloud/auditmanager/v1 java: @@ -379,8 +404,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Audit Manager API product_documentation_override: https://cloud.google.com/audit-manager/docs + released_version: 0.13.0 - name: automl - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/automl/v1 - path: google/cloud/automl/v1beta1 @@ -391,8 +417,9 @@ libraries: product_documentation_override: https://cloud.google.com/automl/docs/ rest_documentation: https://cloud.google.com/automl/docs/reference/rest rpc_documentation: https://cloud.google.com/automl/docs/reference/rpc + released_version: 2.95.0 - name: backstory - version: 0.3.0-SNAPSHOT + version: 0.4.0-SNAPSHOT apis: - path: backstory java: @@ -407,8 +434,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Malachite Common Protos product_documentation_override: https://cloud.google.com/chronicle/docs/secops/secops-overview + released_version: 0.3.0 - name: backupdr - version: 0.54.0-SNAPSHOT + version: 0.55.0-SNAPSHOT apis: - path: google/cloud/backupdr/v1 java: @@ -422,8 +450,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Backup and DR Service API product_documentation_override: https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-dr + released_version: 0.54.0 - name: bare-metal-solution - version: 0.95.0-SNAPSHOT + version: 0.96.0-SNAPSHOT apis: - path: google/cloud/baremetalsolution/v2 java: @@ -436,8 +465,9 @@ libraries: product_documentation_override: https://cloud.google.com/bare-metal/docs rest_documentation: https://cloud.google.com/bare-metal/docs/reference/rest rpc_documentation: https://cloud.google.com/bare-metal/docs/reference/rpc + released_version: 0.95.0 - name: batch - version: 0.95.0-SNAPSHOT + version: 0.96.0-SNAPSHOT apis: - path: google/cloud/batch/v1 java: @@ -452,8 +482,9 @@ libraries: api_description_override: n/a name_pretty_override: Cloud Batch product_documentation_override: https://cloud.google.com/ + released_version: 0.95.0 - name: beyondcorp-appconnections - version: 0.93.0-SNAPSHOT + version: 0.94.0-SNAPSHOT apis: - path: google/cloud/beyondcorp/appconnections/v1 java: @@ -465,8 +496,9 @@ libraries: api_shortname_override: beyondcorp-appconnections name_pretty_override: BeyondCorp AppConnections product_documentation_override: https://cloud.google.com/beyondcorp-enterprise/ + released_version: 0.93.0 - name: beyondcorp-appconnectors - version: 0.93.0-SNAPSHOT + version: 0.94.0-SNAPSHOT apis: - path: google/cloud/beyondcorp/appconnectors/v1 java: @@ -478,8 +510,9 @@ libraries: api_shortname_override: beyondcorp-appconnectors name_pretty_override: BeyondCorp AppConnectors product_documentation_override: cloud.google.com/beyondcorp-enterprise/ + released_version: 0.93.0 - name: beyondcorp-appgateways - version: 0.93.0-SNAPSHOT + version: 0.94.0-SNAPSHOT apis: - path: google/cloud/beyondcorp/appgateways/v1 java: @@ -492,8 +525,9 @@ libraries: api_shortname_override: beyondcorp-appgateways name_pretty_override: BeyondCorp AppGateways product_documentation_override: https://cloud.google.com/beyondcorp-enterprise/ + released_version: 0.93.0 - name: beyondcorp-clientconnectorservices - version: 0.93.0-SNAPSHOT + version: 0.94.0-SNAPSHOT apis: - path: google/cloud/beyondcorp/clientconnectorservices/v1 java: @@ -506,8 +540,9 @@ libraries: api_shortname_override: beyondcorp-clientconnectorservices name_pretty_override: BeyondCorp ClientConnectorServices product_documentation_override: https://cloud.google.com/beyondcorp-enterprise/ + released_version: 0.93.0 - name: beyondcorp-clientgateways - version: 0.93.0-SNAPSHOT + version: 0.94.0-SNAPSHOT apis: - path: google/cloud/beyondcorp/clientgateways/v1 java: @@ -520,8 +555,9 @@ libraries: api_shortname_override: beyondcorp-clientgateways name_pretty_override: BeyondCorp ClientGateways product_documentation_override: https://cloud.google.com/beyondcorp-enterprise/ + released_version: 0.93.0 - name: biglake - version: 0.83.0-SNAPSHOT + version: 0.84.0-SNAPSHOT apis: - path: google/cloud/biglake/v1 - path: google/cloud/bigquery/biglake/v1 @@ -531,8 +567,9 @@ libraries: api_description_override: The BigLake API provides access to BigLake Metastore, a serverless, fully managed, and highly available metastore for open-source data that can be used for querying Apache Iceberg tables in BigQuery. name_pretty_override: BigLake product_documentation_override: https://cloud.google.com/biglake + released_version: 0.83.0 - name: bigquery-data-exchange - version: 2.90.0-SNAPSHOT + version: 2.91.0-SNAPSHOT apis: - path: google/cloud/bigquery/dataexchange/v1beta1 java: @@ -542,8 +579,9 @@ libraries: api_description_override: is a data exchange that allows you to efficiently and securely exchange data assets across organizations to address challenges of data reliability and cost. name_pretty_override: Analytics Hub product_documentation_override: https://cloud.google.com/analytics-hub + released_version: 2.90.0 - name: bigqueryconnection - version: 2.97.0-SNAPSHOT + version: 2.98.0-SNAPSHOT apis: - path: google/cloud/bigquery/connection/v1 - path: google/cloud/bigquery/connection/v1beta1 @@ -552,8 +590,9 @@ libraries: client_documentation_override: https://cloud.google.com/bigquery/docs/reference/reservations/rpc/google.cloud.bigquery.reservation.v1beta1 name_pretty_override: Cloud BigQuery Connection product_documentation_override: https://cloud.google.com/bigquery/docs/reference/bigqueryconnection/rest + released_version: 2.97.0 - name: bigquerydatapolicy - version: 0.92.0-SNAPSHOT + version: 0.93.0-SNAPSHOT apis: - path: google/cloud/bigquery/datapolicies/v2 - path: google/cloud/bigquery/datapolicies/v1 @@ -563,8 +602,9 @@ libraries: api_description_override: Allows users to manage BigQuery data policies. name_pretty_override: BigQuery DataPolicy API product_documentation_override: https://cloud.google.com/bigquery/docs/reference/datapolicy/ + released_version: 0.92.0 - name: bigquerydatatransfer - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/bigquery/datatransfer/v1 java: @@ -597,8 +637,9 @@ libraries: issue_tracker_override: https://issuetracker.google.com/savedsearches/559654 name_pretty_override: BigQuery Data Transfer Service product_documentation_override: https://cloud.google.com/bigquery/transfer/ + released_version: 2.95.0 - name: bigquerymigration - version: 0.98.0-SNAPSHOT + version: 0.99.0-SNAPSHOT apis: - path: google/cloud/bigquery/migration/v2 - path: google/cloud/bigquery/migration/v2alpha @@ -607,16 +648,18 @@ libraries: name_pretty_override: BigQuery Migration product_documentation_override: https://cloud.google.com/bigquery/docs rest_documentation: https://cloud.google.com/bigquery/docs/reference/rest + released_version: 0.98.0 - name: bigqueryreservation - version: 2.96.0-SNAPSHOT + version: 2.97.0-SNAPSHOT apis: - path: google/cloud/bigquery/reservation/v1 java: api_description_override: allows users to manage their flat-rate BigQuery reservations. name_pretty_override: Cloud BigQuery Reservation product_documentation_override: https://cloud.google.com/bigquery/docs/reference/reservations/rpc + released_version: 2.96.0 - name: bigquerystorage - version: 3.31.0-SNAPSHOT + version: 3.32.0-SNAPSHOT apis: - path: google/cloud/bigquery/storage/v1 java: @@ -745,8 +788,9 @@ libraries: product_documentation_override: https://cloud.google.com/bigquery/docs/reference/storage/ recommended_package: com.google.cloud.bigquery.storage.v1 transport_override: grpc + released_version: 3.31.0 - name: bigtable - version: 2.81.0-SNAPSHOT + version: 2.82.0-SNAPSHOT apis: - path: google/bigtable/v2 java: @@ -840,8 +884,9 @@ libraries: name_pretty_override: Cloud Bigtable product_documentation_override: https://cloud.google.com/bigtable recommended_package: com.google.cloud.bigtable + released_version: 2.81.0 - name: billing - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/billing/v1 java: @@ -855,8 +900,9 @@ libraries: product_documentation_override: https://cloud.google.com/billing/docs rest_documentation: https://cloud.google.com/billing/docs/reference/rest rpc_documentation: https://cloud.google.com/billing/docs/reference/rpc + released_version: 2.95.0 - name: billingbudgets - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/billing/budgets/v1 - path: google/cloud/billing/budgets/v1beta1 @@ -864,8 +910,9 @@ libraries: api_description_override: allows you to avoid surprises on your bill by creating budgets to monitor all your Google Cloud charges in one place. name_pretty_override: Cloud Billing Budgets product_documentation_override: https://cloud.google.com/billing/docs/how-to/budgets + released_version: 2.95.0 - name: binary-authorization - version: 1.94.0-SNAPSHOT + version: 1.95.0-SNAPSHOT apis: - path: google/cloud/binaryauthorization/v1 - path: google/cloud/binaryauthorization/v1beta1 @@ -877,8 +924,9 @@ libraries: product_documentation_override: https://cloud.google.com/binary-authorization/docs rest_documentation: https://cloud.google.com/binary-authorization/docs/reference/rest rpc_documentation: https://cloud.google.com/binary-authorization/docs/reference/rpc + released_version: 1.94.0 - name: capacityplanner - version: 0.18.0-SNAPSHOT + version: 0.19.0-SNAPSHOT apis: - path: google/cloud/capacityplanner/v1beta java: @@ -888,8 +936,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Capacity Planner API product_documentation_override: https://cloud.google.com/capacity-planner/docs + released_version: 0.18.0 - name: certificate-manager - version: 0.98.0-SNAPSHOT + version: 0.99.0-SNAPSHOT apis: - path: google/cloud/certificatemanager/v1 java: @@ -900,8 +949,9 @@ libraries: api_description_override: lets you acquire and manage TLS (SSL) certificates for use with Cloud Load Balancing. name_pretty_override: Certificate Manager product_documentation_override: https://cloud.google.com/certificate-manager/docs + released_version: 0.98.0 - name: ces - version: 0.11.0-SNAPSHOT + version: 0.12.0-SNAPSHOT apis: - path: google/cloud/ces/v1 java: @@ -919,8 +969,9 @@ libraries: name_pretty_override: Gemini Enterprise for Customer Experience API product_documentation_override: https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps rpc_documentation: https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/reference/rpc + released_version: 0.11.0 - name: channel - version: 3.99.0-SNAPSHOT + version: 3.100.0-SNAPSHOT apis: - path: google/cloud/channel/v1 java: @@ -929,8 +980,9 @@ libraries: product_documentation_override: https://cloud.google.com/channel/docs rest_documentation: https://cloud.google.com/channel/docs/reference/rest rpc_documentation: https://cloud.google.com/channel/docs/reference/rpc + released_version: 3.99.0 - name: chat - version: 0.59.0-SNAPSHOT + version: 0.60.0-SNAPSHOT apis: - path: google/chat/v1 java: @@ -938,8 +990,9 @@ libraries: name_pretty_override: Google Chat API product_documentation_override: https://developers.google.com/chat/concepts rest_documentation: https://developers.google.com/chat/api/reference/rest + released_version: 0.59.0 - name: chronicle - version: 0.33.0-SNAPSHOT + version: 0.34.0-SNAPSHOT apis: - path: google/cloud/chronicle/v1 java: @@ -949,8 +1002,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Chronicle API product_documentation_override: https://cloud.google.com/chronicle/docs/secops/secops-overview + released_version: 0.33.0 - name: cloudapiregistry - version: 0.14.0-SNAPSHOT + version: 0.15.0-SNAPSHOT apis: - path: google/cloud/apiregistry/v1 java: @@ -967,8 +1021,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Cloud API Registry API product_documentation_override: https://docs.cloud.google.com/api-registry/docs/overview + released_version: 0.14.0 - name: cloudbuild - version: 3.97.0-SNAPSHOT + version: 3.98.0-SNAPSHOT apis: - path: google/devtools/cloudbuild/v2 java: @@ -983,8 +1038,9 @@ libraries: issue_tracker_override: https://issuetracker.google.com/savedsearches/5226584 name_pretty_override: Cloud Build product_documentation_override: https://cloud.google.com/cloud-build/ + released_version: 3.97.0 - name: cloudcommerceconsumerprocurement - version: 0.93.0-SNAPSHOT + version: 0.94.0-SNAPSHOT apis: - path: google/cloud/commerce/consumer/procurement/v1 - path: google/cloud/commerce/consumer/procurement/v1alpha1 @@ -992,8 +1048,9 @@ libraries: api_description_override: Find top solutions integrated with Google Cloud to accelerate your digital transformation. Scale and simplify procurement for your organization with online discovery, flexible purchasing, and fulfillment of enterprise-grade cloud solutions. name_pretty_override: Cloud Commerce Consumer Procurement product_documentation_override: https://cloud.google.com/marketplace/ + released_version: 0.93.0 - name: cloudcontrolspartner - version: 0.59.0-SNAPSHOT + version: 0.60.0-SNAPSHOT apis: - path: google/cloud/cloudcontrolspartner/v1 - path: google/cloud/cloudcontrolspartner/v1beta @@ -1001,8 +1058,9 @@ libraries: api_description_override: Provides insights about your customers and their Assured Workloads based on your Sovereign Controls by Partners offering. name_pretty_override: Cloud Controls Partner API product_documentation_override: https://cloud.google.com/sovereign-controls-by-partners/docs/sovereign-partners + released_version: 0.59.0 - name: cloudquotas - version: 0.63.0-SNAPSHOT + version: 0.64.0-SNAPSHOT apis: - path: google/api/cloudquotas/v1 java: @@ -1017,8 +1075,9 @@ libraries: they consume. name_pretty_override: Cloud Quotas API product_documentation_override: https://cloud.google.com/cloudquotas/docs/ + released_version: 0.63.0 - name: cloudsecuritycompliance - version: 0.22.0-SNAPSHOT + version: 0.23.0-SNAPSHOT apis: - path: google/cloud/cloudsecuritycompliance/v1 java: @@ -1031,8 +1090,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Cloud Security Compliance API product_documentation_override: https://cloud.google.com/security-command-center/docs/compliance-manager-overview + released_version: 0.22.0 - name: cloudsupport - version: 0.79.0-SNAPSHOT + version: 0.80.0-SNAPSHOT apis: - path: google/cloud/support/v2 - path: google/cloud/support/v2beta @@ -1040,15 +1100,18 @@ libraries: api_description_override: Manages Google Cloud technical support cases for Customer Care support offerings. name_pretty_override: Google Cloud Support API product_documentation_override: https://cloud.google.com/support/docs/reference/support-api/ + released_version: 0.79.0 - name: commerceproducer - version: 0.1.0-SNAPSHOT + version: 0.2.0-SNAPSHOT apis: - path: google/cloud/commerceproducer/v1beta java: additional_protos: - path: google/cloud/location/locations.proto + java: + released_version: 0.1.0 - name: common-protos - version: 2.74.0-SNAPSHOT + version: 2.75.0-SNAPSHOT apis: - path: google/apps/card/v1 java: @@ -1160,8 +1223,9 @@ libraries: transport_override: grpc skip_pom_updates: true skip_api_id: true + released_version: 2.74.0 - name: compute - version: 1.105.0-SNAPSHOT + version: 1.106.0-SNAPSHOT apis: - path: google/cloud/compute/v1 java: @@ -1178,8 +1242,9 @@ libraries: - grpc-google-cloud-compute-v1 name_pretty_override: Compute Engine product_documentation_override: https://cloud.google.com/compute/ + released_version: 1.105.0 - name: confidentialcomputing - version: 0.81.0-SNAPSHOT + version: 0.82.0-SNAPSHOT apis: - path: google/cloud/confidentialcomputing/v1 java: @@ -1193,8 +1258,9 @@ libraries: api_description_override: Protect data in-use with Confidential VMs, Confidential GKE, Confidential Dataproc, and Confidential Space. name_pretty_override: Confidential Computing API product_documentation_override: https://cloud.google.com/confidential-computing/ + released_version: 0.81.0 - name: configdelivery - version: 0.29.0-SNAPSHOT + version: 0.30.0-SNAPSHOT apis: - path: google/cloud/configdelivery/v1 java: @@ -1212,8 +1278,9 @@ libraries: name_pretty_override: Config Delivery API product_documentation_override: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/concepts/fleet-packages rest_documentation: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/reference/rest + released_version: 0.29.0 - name: connectgateway - version: 0.47.0-SNAPSHOT + version: 0.48.0-SNAPSHOT apis: - path: google/cloud/gkeconnect/gateway/v1 java: @@ -1223,8 +1290,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Connect Gateway API product_documentation_override: https://cloud.google.com/kubernetes-engine/enterprise/multicluster-management/gateway + released_version: 0.47.0 - name: contact-center-insights - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/contactcenterinsights/v1 java: @@ -1232,8 +1300,9 @@ libraries: codeowner_team: '@googleapis/api-contact-center-insights' name_pretty_override: CCAI Insights product_documentation_override: https://cloud.google.com/dialogflow/priv/docs/insights/ + released_version: 2.95.0 - name: container - version: 2.98.0-SNAPSHOT + version: 2.99.0-SNAPSHOT apis: - path: google/container/v1 - path: google/container/v1beta1 @@ -1247,8 +1316,9 @@ libraries: name_pretty_override: Kubernetes Engine product_documentation_override: https://cloud.google.com/kubernetes-engine/ rest_documentation: https://cloud.google.com/kubernetes-engine/docs/reference/rest + released_version: 2.98.0 - name: containeranalysis - version: 2.96.0-SNAPSHOT + version: 2.97.0-SNAPSHOT apis: - path: google/devtools/containeranalysis/v1 java: @@ -1286,16 +1356,18 @@ libraries: issue_tracker_override: https://issuetracker.google.com/savedsearches/559777 name_pretty_override: Cloud Container Analysis product_documentation_override: https://cloud.google.com/container-registry/docs/container-analysis + released_version: 2.96.0 - name: contentwarehouse - version: 0.91.0-SNAPSHOT + version: 0.92.0-SNAPSHOT apis: - path: google/cloud/contentwarehouse/v1 java: api_description_override: Document AI Warehouse is an integrated cloud-native GCP platform to store, search, organize, govern and analyze documents and their structured metadata. name_pretty_override: Document AI Warehouse product_documentation_override: https://cloud.google.com/document-warehouse/docs/overview + released_version: 0.91.0 - name: data-fusion - version: 1.95.0-SNAPSHOT + version: 1.96.0-SNAPSHOT apis: - path: google/cloud/datafusion/v1 - path: google/cloud/datafusion/v1beta1 @@ -1304,8 +1376,9 @@ libraries: name_pretty_override: Cloud Data Fusion product_documentation_override: https://cloud.google.com/data-fusion/docs rest_documentation: https://cloud.google.com/data-fusion/docs/reference/rest + released_version: 1.95.0 - name: databasecenter - version: 0.16.0-SNAPSHOT + version: 0.17.0-SNAPSHOT apis: - path: google/cloud/databasecenter/v1beta java: @@ -1315,8 +1388,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Database Center API product_documentation_override: https://cloud.google.com/database-center/docs/overview + released_version: 0.16.0 - name: datacatalog - version: 1.101.0-SNAPSHOT + version: 1.102.0-SNAPSHOT apis: - path: google/cloud/datacatalog/v1 java: @@ -1332,8 +1406,9 @@ libraries: api_description_override: is a fully managed and highly scalable data discovery and metadata management service. name_pretty_override: Data Catalog product_documentation_override: https://cloud.google.com/data-catalog + released_version: 1.101.0 - name: dataflow - version: 0.99.0-SNAPSHOT + version: 0.100.0-SNAPSHOT apis: - path: google/dataflow/v1beta3 java: @@ -1342,8 +1417,9 @@ libraries: product_documentation_override: https://cloud.google.com/dataflow/docs rest_documentation: https://cloud.google.com/dataflow/docs/reference/rest rpc_documentation: https://cloud.google.com/dataflow/docs/reference/rpc + released_version: 0.99.0 - name: dataform - version: 0.94.0-SNAPSHOT + version: 0.95.0-SNAPSHOT apis: - path: google/cloud/dataform/v1 java: @@ -1359,8 +1435,9 @@ libraries: api_description_override: Help analytics teams manage data inside BigQuery using SQL. name_pretty_override: Cloud Dataform product_documentation_override: https://cloud.google.com/dataform/docs + released_version: 0.94.0 - name: datalabeling - version: 0.215.0-SNAPSHOT + version: 0.216.0-SNAPSHOT apis: - path: google/cloud/datalabeling/v1beta1 keep: @@ -1371,8 +1448,9 @@ libraries: product_documentation_override: https://cloud.google.com/ai-platform/data-labeling/docs/ rest_documentation: https://cloud.google.com/ai-platform/data-labeling/docs/reference/rest rpc_documentation: https://cloud.google.com/ai-platform/data-labeling/docs/reference/rpc + released_version: 0.215.0 - name: datalineage - version: 0.87.0-SNAPSHOT + version: 0.88.0-SNAPSHOT apis: - path: google/cloud/datacatalog/lineage/v1 - path: google/cloud/datacatalog/lineage/configmanagement/v1 @@ -1380,8 +1458,9 @@ libraries: api_description_override: Lineage is used to track data flows between assets over time. name_pretty_override: Data Lineage product_documentation_override: https://cloud.google.com/dataplex/docs/about-data-lineage + released_version: 0.87.0 - name: datamanager - version: 0.16.0-SNAPSHOT + version: 0.17.0-SNAPSHOT apis: - path: google/ads/datamanager/v1 java: @@ -1393,8 +1472,9 @@ libraries: name_pretty_override: Data Manager API product_documentation_override: https://developers.google.com/data-manager rpc_documentation: https://developers.google.com/data-manager/api/reference/rpc + released_version: 0.16.0 - name: dataplex - version: 1.93.0-SNAPSHOT + version: 1.94.0-SNAPSHOT apis: - path: google/cloud/dataplex/v1 java: @@ -1407,8 +1487,9 @@ libraries: product_documentation_override: https://cloud.google.com/dataplex rest_documentation: https://cloud.google.com/dataplex/docs/reference/rest rpc_documentation: https://cloud.google.com/dataplex/docs/reference/rpc + released_version: 1.93.0 - name: dataproc - version: 4.92.0-SNAPSHOT + version: 4.93.0-SNAPSHOT apis: - path: google/cloud/dataproc/v1 java: @@ -1422,8 +1503,9 @@ libraries: product_documentation_override: https://cloud.google.com/dataproc rest_documentation: https://cloud.google.com/dataproc/docs/reference/rest rpc_documentation: https://cloud.google.com/dataproc/docs/reference/rpc + released_version: 4.92.0 - name: dataproc-metastore - version: 2.96.0-SNAPSHOT + version: 2.97.0-SNAPSHOT apis: - path: google/cloud/metastore/v1 java: @@ -1446,8 +1528,9 @@ libraries: product_documentation_override: https://cloud.google.com/dataproc-metastore/docs rest_documentation: https://cloud.google.com/dataproc-metastore/docs/reference/rest rpc_documentation: https://cloud.google.com/dataproc-metastore/docs/reference/rpc + released_version: 2.96.0 - name: datastore - version: 3.3.0-SNAPSHOT + version: 3.4.0-SNAPSHOT apis: - path: google/datastore/v1 java: @@ -1469,8 +1552,9 @@ libraries: name_pretty_override: Cloud Datastore product_documentation_override: https://cloud.google.com/datastore recommended_package: com.google.cloud.datastore + released_version: 3.3.0 - name: datastream - version: 1.94.0-SNAPSHOT + version: 1.95.0-SNAPSHOT apis: - path: google/cloud/datastream/v1 java: @@ -1483,8 +1567,9 @@ libraries: name_pretty_override: Datastream product_documentation_override: https://cloud.google.com/datastream/docs rest_documentation: https://cloud.google.com/datastream/docs/reference/rest + released_version: 1.94.0 - name: deploy - version: 1.93.0-SNAPSHOT + version: 1.94.0-SNAPSHOT apis: - path: google/cloud/deploy/v1 java: @@ -1496,8 +1581,9 @@ libraries: codeowner_team: '@googleapis/aap-dpes' name_pretty_override: Google Cloud Deploy product_documentation_override: https://cloud.google.com/deploy/docs + released_version: 1.93.0 - name: developerconnect - version: 0.52.0-SNAPSHOT + version: 0.53.0-SNAPSHOT apis: - path: google/cloud/developerconnect/v1 java: @@ -1510,8 +1596,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Developer Connect API product_documentation_override: https://cloud.google.com/developer-connect/docs/overview + released_version: 0.52.0 - name: developerknowledge - version: 0.3.0-SNAPSHOT + version: 0.4.0-SNAPSHOT apis: - path: google/developers/knowledge/v1 java: @@ -1522,8 +1609,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Developer Knowledge API product_documentation_override: https://developers.google.com/knowledge + released_version: 0.3.0 - name: devicestreaming - version: 0.35.0-SNAPSHOT + version: 0.36.0-SNAPSHOT apis: - path: google/cloud/devicestreaming/v1 java: @@ -1533,8 +1621,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Device Streaming API product_documentation_override: https://cloud.google.com/device-streaming/docs + released_version: 0.35.0 - name: dialogflow - version: 4.101.0-SNAPSHOT + version: 4.102.0-SNAPSHOT apis: - path: google/cloud/dialogflow/v2 java: @@ -1607,8 +1696,9 @@ libraries: issue_tracker_override: https://issuetracker.google.com/savedsearches/5300385 name_pretty_override: Dialogflow API product_documentation_override: https://cloud.google.com/dialogflow-enterprise/ + released_version: 4.101.0 - name: dialogflow-cx - version: 0.106.0-SNAPSHOT + version: 0.107.0-SNAPSHOT apis: - path: google/cloud/dialogflow/cx/v3 java: @@ -1625,8 +1715,9 @@ libraries: product_documentation_override: https://cloud.google.com/dialogflow/cx/docs rest_documentation: https://cloud.google.com/dialogflow/cx/docs/reference/rest rpc_documentation: https://cloud.google.com/dialogflow/cx/docs/reference/rpc + released_version: 0.106.0 - name: discoveryengine - version: 0.91.0-SNAPSHOT + version: 0.92.0-SNAPSHOT apis: - path: google/cloud/discoveryengine/v1 java: @@ -1644,8 +1735,9 @@ libraries: api_description_override: A Cloud API that offers search and recommendation discoverability for documents from different industry verticals (e.g. media, retail, etc.). name_pretty_override: Discovery Engine API product_documentation_override: https://cloud.google.com/discovery-engine/media/docs + released_version: 0.91.0 - name: distributedcloudedge - version: 0.92.0-SNAPSHOT + version: 0.93.0-SNAPSHOT apis: - path: google/cloud/edgecontainer/v1 java: @@ -1657,8 +1749,9 @@ libraries: api_shortname_override: distributedcloudedge name_pretty_override: Google Distributed Cloud Edge product_documentation_override: https://cloud.google.com/distributed-cloud/edge/latest/ + released_version: 0.92.0 - name: dlp - version: 3.99.0-SNAPSHOT + version: 3.100.0-SNAPSHOT apis: - path: google/privacy/dlp/v2 keep: @@ -1703,8 +1796,9 @@ libraries: product_documentation_override: https://cloud.google.com/dlp/docs/ rest_documentation: https://cloud.google.com/dlp/docs/reference/rest rpc_documentation: https://cloud.google.com/dlp/docs/reference/rpc + released_version: 3.99.0 - name: dms - version: 2.94.0-SNAPSHOT + version: 2.95.0-SNAPSHOT apis: - path: google/cloud/clouddms/v1 java: @@ -1713,8 +1807,9 @@ libraries: name_pretty_override: Database Migration Service product_documentation_override: https://cloud.google.com/database-migration/docs rest_documentation: https://cloud.google.com/database-migration/docs/reference/rest + released_version: 2.94.0 - name: document-ai - version: 2.99.0-SNAPSHOT + version: 2.100.0-SNAPSHOT apis: - path: google/cloud/documentai/v1 java: @@ -1729,8 +1824,9 @@ libraries: issue_tracker_override: https://issuetracker.google.com/savedsearches/559755 name_pretty_override: Document AI product_documentation_override: https://cloud.google.com/compute/docs/documentai/ + released_version: 2.99.0 - name: domains - version: 1.92.0-SNAPSHOT + version: 1.93.0-SNAPSHOT apis: - path: google/cloud/domains/v1 - path: google/cloud/domains/v1beta1 @@ -1739,8 +1835,9 @@ libraries: api_description_override: allows you to register and manage domains by using Cloud Domains. name_pretty_override: Cloud Domains product_documentation_override: https://cloud.google.com/domains + released_version: 1.92.0 - name: edgenetwork - version: 0.63.0-SNAPSHOT + version: 0.64.0-SNAPSHOT apis: - path: google/cloud/edgenetwork/v1 java: @@ -1750,16 +1847,18 @@ libraries: api_description_override: Network management API for Distributed Cloud Edge. name_pretty_override: Distributed Cloud Edge Network API product_documentation_override: https://cloud.google.com/distributed-cloud/edge/latest/docs/overview + released_version: 0.63.0 - name: enterpriseknowledgegraph - version: 0.91.0-SNAPSHOT + version: 0.92.0-SNAPSHOT apis: - path: google/cloud/enterpriseknowledgegraph/v1 java: api_description_override: Enterprise Knowledge Graph organizes siloed information into organizational knowledge, which involves consolidating, standardizing, and reconciling data in an efficient and useful way. name_pretty_override: Enterprise Knowledge Graph product_documentation_override: https://cloud.google.com/enterprise-knowledge-graph/docs/overview + released_version: 0.91.0 - name: errorreporting - version: 0.216.0-beta-SNAPSHOT + version: 0.217.0-beta-SNAPSHOT apis: - path: google/devtools/clouderrorreporting/v1beta1 java: @@ -1812,16 +1911,18 @@ libraries: name_pretty_override: Error Reporting product_documentation_override: https://cloud.google.com/error-reporting billing_not_required: true + released_version: 0.216.0-beta - name: essential-contacts - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/essentialcontacts/v1 java: api_description_override: helps you customize who receives notifications by providing your own list of contacts in many Google Cloud services. name_pretty_override: Essential Contacts API product_documentation_override: https://cloud.google.com/resource-manager/docs/managing-notification-contacts/ + released_version: 2.95.0 - name: eventarc - version: 1.95.0-SNAPSHOT + version: 1.96.0-SNAPSHOT apis: - path: google/cloud/eventarc/v1 java: @@ -1835,8 +1936,9 @@ libraries: product_documentation_override: https://cloud.google.com/eventarc/docs rest_documentation: https://cloud.google.com/eventarc/docs/reference/rest rpc_documentation: https://cloud.google.com/eventarc/docs/reference/rpc + released_version: 1.95.0 - name: eventarc-publishing - version: 0.95.0-SNAPSHOT + version: 0.96.0-SNAPSHOT apis: - path: google/cloud/eventarc/publishing/v1 java: @@ -1846,8 +1948,9 @@ libraries: product_documentation_override: https://cloud.google.com/eventarc/docs rest_documentation: https://cloud.google.com/eventarc/docs/reference/rest rpc_documentation: https://cloud.google.com/eventarc/docs/reference/rpc + released_version: 0.95.0 - name: filestore - version: 1.96.0-SNAPSHOT + version: 1.97.0-SNAPSHOT apis: - path: google/cloud/filestore/v1 java: @@ -1864,8 +1967,9 @@ libraries: name_pretty_override: Cloud Filestore API product_documentation_override: https://cloud.google.com/filestore/docs rest_documentation: https://cloud.google.com/filestore/docs/reference/rest + released_version: 1.96.0 - name: financialservices - version: 0.36.0-SNAPSHOT + version: 0.37.0-SNAPSHOT apis: - path: google/cloud/financialservices/v1 java: @@ -1878,8 +1982,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Financial Services API product_documentation_override: https://cloud.google.com/financial-services/anti-money-laundering/docs/concepts/overview + released_version: 0.36.0 - name: firestore - version: 3.45.0-SNAPSHOT + version: 3.46.0-SNAPSHOT apis: - path: google/firestore/v1 java: @@ -1944,8 +2049,9 @@ libraries: recommended_package: com.google.cloud.firestore transport_override: grpc skip_pom_updates: true + released_version: 3.45.0 - name: functions - version: 2.97.0-SNAPSHOT + version: 2.98.0-SNAPSHOT apis: - path: google/cloud/functions/v2 java: @@ -1974,8 +2080,9 @@ libraries: product_documentation_override: https://cloud.google.com/functions rest_documentation: https://cloud.google.com/functions/docs/reference/rest rpc_documentation: https://cloud.google.com/functions/docs/reference/rpc + released_version: 2.97.0 - name: gdchardwaremanagement - version: 0.50.0-SNAPSHOT + version: 0.51.0-SNAPSHOT apis: - path: google/cloud/gdchardwaremanagement/v1alpha java: @@ -1989,8 +2096,9 @@ libraries: name_pretty_override: GDC Hardware Management API product_documentation_override: https://cloud.google.com/distributed-cloud/edge/latest/docs rpc_documentation: https://cloud.google.com/distributed-cloud/edge/latest/docs/reference/hardware/rpc + released_version: 0.50.0 - name: geminidataanalytics - version: 0.23.0-SNAPSHOT + version: 0.24.0-SNAPSHOT apis: - path: google/cloud/geminidataanalytics/v1 java: @@ -2008,8 +2116,9 @@ libraries: name_pretty_override: Data Analytics API with Gemini product_documentation_override: https://cloud.google.com/gemini/docs/conversational-analytics-api/overview rpc_documentation: https://cloud.google.com/gemini/docs/conversational-analytics-api/reference + released_version: 0.23.0 - name: gke-backup - version: 0.94.0-SNAPSHOT + version: 0.95.0-SNAPSHOT apis: - path: google/cloud/gkebackup/v1 java: @@ -2022,16 +2131,18 @@ libraries: api_shortname_override: gke-backup name_pretty_override: Backup for GKE product_documentation_override: 'https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/concepts/backup-for-gke ' + released_version: 0.94.0 - name: gke-connect-gateway - version: 0.96.0-SNAPSHOT + version: 0.97.0-SNAPSHOT apis: - path: google/cloud/gkeconnect/gateway/v1beta1 java: api_description_override: builds on the power of fleets to let Anthos users connect to and run commands against registered Anthos clusters in a simple, consistent, and secured way, whether the clusters are on Google Cloud, other public clouds, or on premises, and makes it easier to automate DevOps processes across all your clusters. name_pretty_override: Connect Gateway API product_documentation_override: https://cloud.google.com/anthos/multicluster-management/gateway/ + released_version: 0.96.0 - name: gke-multi-cloud - version: 0.94.0-SNAPSHOT + version: 0.95.0-SNAPSHOT apis: - path: google/cloud/gkemulticloud/v1 java: @@ -2040,8 +2151,9 @@ libraries: api_shortname_override: gke-multi-cloud name_pretty_override: Anthos Multicloud product_documentation_override: https://cloud.google.com/anthos/clusters/docs/multi-cloud + released_version: 0.94.0 - name: gkehub - version: 1.95.0-SNAPSHOT + version: 1.96.0-SNAPSHOT apis: - path: google/cloud/gkehub/v1 - path: google/cloud/gkehub/v1beta1 @@ -2071,8 +2183,9 @@ libraries: api_description_override: provides a unified way to work with Kubernetes clusters as part of Anthos, extending GKE to work in multiple environments. You have consistent, unified, and secure infrastructure, cluster, and container management, whether you're using Anthos on Google Cloud (with traditional GKE), hybrid cloud, or multiple public clouds. name_pretty_override: GKE Hub API product_documentation_override: https://cloud.google.com/anthos/gke/docs/ + released_version: 1.95.0 - name: gkerecommender - version: 0.15.0-SNAPSHOT + version: 0.16.0-SNAPSHOT apis: - path: google/cloud/gkerecommender/v1 java: @@ -2082,14 +2195,19 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: GKE Recommender API product_documentation_override: https://cloud.google.com/kubernetes-engine/docs/how-to/machine-learning/inference-quickstart + released_version: 0.15.0 - name: google-cloud-java - version: 1.89.0-SNAPSHOT + version: 1.90.0-SNAPSHOT skip_generate: true + java: + released_version: 1.89.0 - name: google-cloud-pom-parent - version: 1.89.0-SNAPSHOT + version: 1.90.0-SNAPSHOT skip_generate: true + java: + released_version: 1.89.0 - name: grafeas - version: 2.96.0-SNAPSHOT + version: 2.97.0-SNAPSHOT apis: - path: grafeas/v1 java: @@ -2116,8 +2234,9 @@ libraries: name_pretty_override: Grafeas product_documentation_override: https://grafeas.io skip_pom_updates: true + released_version: 2.96.0 - name: gsuite-addons - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/gsuiteaddons/v1 - path: google/apps/script/type @@ -2172,8 +2291,9 @@ libraries: api_description_override: are customized applications that integrate with Google Workspace productivity applications. name_pretty_override: Google Workspace Add-ons API product_documentation_override: https://developers.google.com/workspace/add-ons/overview + released_version: 2.95.0 - name: health - version: 0.4.0-SNAPSHOT + version: 0.5.0-SNAPSHOT apis: - path: google/devicesandservices/health/v4 java: @@ -2184,8 +2304,9 @@ libraries: name_pretty_override: Google Health API product_documentation_override: https://developers.google.com/health/api rpc_documentation: https://developers.google.com/health/api/reference/rpc + released_version: 0.4.0 - name: hypercomputecluster - version: 0.15.0-SNAPSHOT + version: 0.16.0-SNAPSHOT apis: - path: google/cloud/hypercomputecluster/v1 java: @@ -2202,8 +2323,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Cluster Director API product_documentation_override: https://cloud.google.com/blog/products/compute/managed-slurm-and-other-cluster-director-enhancements + released_version: 0.15.0 - name: iam - version: 1.69.0-SNAPSHOT + version: 1.70.0-SNAPSHOT apis: - path: google/iam/v3 java: @@ -2256,8 +2378,9 @@ libraries: name_pretty_override: IAM product_documentation_override: https://cloud.google.com/iam skip_api_id: true + released_version: 1.69.0 - name: iam-admin - version: 3.90.0-SNAPSHOT + version: 3.91.0-SNAPSHOT apis: - path: google/iam/admin/v1 java: @@ -2267,8 +2390,9 @@ libraries: artifact_id: google-iam-admin name_pretty_override: IAM Admin API product_documentation_override: https://cloud.google.com/iam/docs/apis + released_version: 3.90.0 - name: iam-policy - version: 1.92.0-SNAPSHOT + version: 1.93.0-SNAPSHOT apis: - path: google/iam/v3 java: @@ -2310,8 +2434,9 @@ libraries: - proto-google-iam-v1 name_pretty_override: Cloud IAM Policy product_documentation_override: n/a + released_version: 1.92.0 - name: iamcredentials - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/iam/credentials/v1 java: @@ -2320,8 +2445,9 @@ libraries: name_pretty_override: IAM Service Account Credentials API product_documentation_override: https://cloud.google.com/iam/credentials/reference/rest/ billing_not_required: true + released_version: 2.95.0 - name: iap - version: 0.51.0-SNAPSHOT + version: 0.52.0-SNAPSHOT apis: - path: google/cloud/iap/v1 java: @@ -2331,16 +2457,18 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Cloud Identity-Aware Proxy API product_documentation_override: https://cloud.google.com/iap + released_version: 0.51.0 - name: ids - version: 1.94.0-SNAPSHOT + version: 1.95.0-SNAPSHOT apis: - path: google/cloud/ids/v1 java: api_description_override: ' monitors your networks, and it alerts you when it detects malicious activity. Cloud IDS is powered by Palo Alto Networks.' name_pretty_override: Intrusion Detection System product_documentation_override: https://cloud.google.com/intrusion-detection-system/docs + released_version: 1.94.0 - name: infra-manager - version: 0.72.0-SNAPSHOT + version: 0.73.0-SNAPSHOT apis: - path: google/cloud/config/v1 java: @@ -2352,8 +2480,9 @@ libraries: api_description_override: Creates and manages Google Cloud Platform resources and infrastructure. name_pretty_override: Infrastructure Manager API product_documentation_override: https://cloud.google.com/infrastructure-manager/docs/overview + released_version: 0.72.0 - name: iot - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/iot/v1 java: @@ -2361,8 +2490,9 @@ libraries: issue_tracker_override: https://issuetracker.google.com/issues?q=status:open%20componentid:310170 name_pretty_override: Cloud Internet of Things (IoT) Core product_documentation_override: https://cloud.google.com/iot + released_version: 2.95.0 - name: java-shopping-merchant-issue-resolution - version: 1.23.0-SNAPSHOT + version: 1.24.0-SNAPSHOT apis: - path: google/shopping/merchant/issueresolution/v1 - path: google/shopping/merchant/issueresolution/v1beta @@ -2374,8 +2504,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Merchant Issue Resolution API product_documentation_override: https://developers.google.com/merchant/api + released_version: 1.23.0 - name: java-shopping-merchant-order-tracking - version: 1.23.0-SNAPSHOT + version: 1.24.0-SNAPSHOT apis: - path: google/shopping/merchant/ordertracking/v1 - path: google/shopping/merchant/ordertracking/v1beta @@ -2387,8 +2518,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Merchant Order Tracking API product_documentation_override: https://developers.google.com/merchant/api + released_version: 1.23.0 - name: kms - version: 2.98.0-SNAPSHOT + version: 2.99.0-SNAPSHOT apis: - path: google/cloud/kms/v1 java: @@ -2612,8 +2744,9 @@ libraries: issue_tracker_override: https://issuetracker.google.com/savedsearches/5264932 name_pretty_override: Cloud Key Management Service product_documentation_override: https://cloud.google.com/kms + released_version: 2.98.0 - name: kmsinventory - version: 0.84.0-SNAPSHOT + version: 0.85.0-SNAPSHOT apis: - path: google/cloud/kms/inventory/v1 java: @@ -2622,8 +2755,9 @@ libraries: product_documentation_override: https://cloud.google.com/kms/docs/ rest_documentation: https://cloud.google.com/kms/docs/reference/rest rpc_documentation: https://cloud.google.com/kms/docs/reference/rpc + released_version: 0.84.0 - name: language - version: 2.96.0-SNAPSHOT + version: 2.97.0-SNAPSHOT apis: - path: google/cloud/language/v2 - path: google/cloud/language/v1 @@ -2635,8 +2769,9 @@ libraries: product_documentation_override: https://cloud.google.com/natural-language/docs/ rest_documentation: https://cloud.google.com/natural-language/docs/reference/rest rpc_documentation: https://cloud.google.com/natural-language/docs/reference/rpc + released_version: 2.96.0 - name: licensemanager - version: 0.28.0-SNAPSHOT + version: 0.29.0-SNAPSHOT apis: - path: google/cloud/licensemanager/v1 java: @@ -2649,8 +2784,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: License Manager API product_documentation_override: https://cloud.google.com/compute/docs/instances/windows/ms-licensing + released_version: 0.28.0 - name: life-sciences - version: 0.97.0-SNAPSHOT + version: 0.98.0-SNAPSHOT apis: - path: google/cloud/lifesciences/v2beta java: @@ -2662,8 +2798,9 @@ libraries: product_documentation_override: https://cloud.google.com/life-sciences/docs rest_documentation: https://cloud.google.com/life-sciences/docs/reference/rest rpc_documentation: https://cloud.google.com/life-sciences/docs/reference/rpc + released_version: 0.97.0 - name: locationfinder - version: 0.20.0-SNAPSHOT + version: 0.21.0-SNAPSHOT apis: - path: google/cloud/locationfinder/v1 java: @@ -2674,8 +2811,9 @@ libraries: name_pretty_override: Cloud Location Finder API product_documentation_override: https://cloud.google.com/location-finder/docs/overview rpc_documentation: https://cloud.google.com/locationfinder/docs/reference/rest + released_version: 0.20.0 - name: logging - version: 3.36.0-SNAPSHOT + version: 3.37.0-SNAPSHOT apis: - path: google/logging/v2 java: @@ -2838,8 +2976,9 @@ libraries: product_documentation_override: https://cloud.google.com/logging/docs recommended_package: com.google.cloud.logging transport_override: grpc + released_version: 3.36.0 - name: lustre - version: 0.35.0-SNAPSHOT + version: 0.36.0-SNAPSHOT apis: - path: google/cloud/lustre/v1 java: @@ -2852,8 +2991,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Google Cloud Managed Lustre API product_documentation_override: https://cloud.google.com/managed-lustre/docs + released_version: 0.35.0 - name: maintenance - version: 0.29.0-SNAPSHOT + version: 0.30.0-SNAPSHOT apis: - path: google/cloud/maintenance/api/v1 java: @@ -2871,8 +3011,9 @@ libraries: name_pretty_override: Maintenance API product_documentation_override: https://cloud.google.com/unified-maintenance/docs/overview rpc_documentation: https://cloud.google.com/unified-maintenance/docs/reference/rpc + released_version: 0.29.0 - name: managed-identities - version: 1.93.0-SNAPSHOT + version: 1.94.0-SNAPSHOT apis: - path: google/cloud/managedidentities/v1 java: @@ -2880,8 +3021,9 @@ libraries: api_description_override: is a highly available, hardened Google Cloud service running actual Microsoft AD that enables you to manage authentication and authorization for your AD-dependent workloads, automate AD server maintenance and security configuration, and connect your on-premises AD domain to the cloud. name_pretty_override: Managed Service for Microsoft Active Directory product_documentation_override: https://cloud.google.com/managed-microsoft-ad/ + released_version: 1.93.0 - name: managedkafka - version: 0.51.0-SNAPSHOT + version: 0.52.0-SNAPSHOT apis: - path: google/cloud/managedkafka/v1 java: @@ -2894,8 +3036,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Managed Service for Apache Kafka product_documentation_override: https://cloud.google.com/managed-kafka + released_version: 0.51.0 - name: maps-addressvalidation - version: 0.89.0-SNAPSHOT + version: 0.90.0-SNAPSHOT apis: - path: google/maps/addressvalidation/v1 java: @@ -2905,8 +3048,9 @@ libraries: artifact_id: google-maps-addressvalidation name_pretty_override: Address Validation API product_documentation_override: https://developers.google.com/maps/documentation/address-validation/ + released_version: 0.89.0 - name: maps-area-insights - version: 0.46.0-SNAPSHOT + version: 0.47.0-SNAPSHOT apis: - path: google/maps/areainsights/v1 java: @@ -2918,8 +3062,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Places Insights API product_documentation_override: https://developers.google.com/maps/documentation/places-insights + released_version: 0.46.0 - name: maps-fleetengine - version: 0.42.0-SNAPSHOT + version: 0.43.0-SNAPSHOT apis: - path: google/maps/fleetengine/v1 java: @@ -2931,8 +3076,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Local Rides and Deliveries API product_documentation_override: https://developers.google.com/maps/documentation/transportation-logistics/mobility + released_version: 0.42.0 - name: maps-fleetengine-delivery - version: 0.42.0-SNAPSHOT + version: 0.43.0-SNAPSHOT apis: - path: google/maps/fleetengine/delivery/v1 java: @@ -2944,8 +3090,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Last Mile Fleet Solution Delivery API product_documentation_override: https://developers.google.com/maps/documentation/transportation-logistics/mobility + released_version: 0.42.0 - name: maps-geocode - version: 0.7.0-SNAPSHOT + version: 0.8.0-SNAPSHOT apis: - path: google/maps/geocode/v4 java: @@ -2956,15 +3103,17 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Geocoding API product_documentation_override: https://developers.google.com/maps/documentation/geocoding/overview + released_version: 0.7.0 - name: maps-isochrones - version: 0.1.0-SNAPSHOT + version: 0.2.0-SNAPSHOT apis: - path: google/maps/isochrones/v1 java: artifact_id: google-maps-isochrones group_id: com.google.maps + released_version: 0.1.0 - name: maps-mapmanagement - version: 0.4.0-SNAPSHOT + version: 0.5.0-SNAPSHOT apis: - path: google/maps/mapmanagement/v2beta java: @@ -2975,8 +3124,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Map Management API product_documentation_override: https://developers.google.com/maps/documentation/mapmanagement/overview + released_version: 0.4.0 - name: maps-mapsplatformdatasets - version: 0.84.0-SNAPSHOT + version: 0.85.0-SNAPSHOT apis: - path: google/maps/mapsplatformdatasets/v1 java: @@ -2988,15 +3138,17 @@ libraries: artifact_id: google-maps-mapsplatformdatasets name_pretty_override: Maps Platform Datasets API product_documentation_override: https://developers.google.com/maps/documentation + released_version: 0.84.0 - name: maps-navconnect - version: 0.1.0-SNAPSHOT + version: 0.2.0-SNAPSHOT apis: - path: google/maps/navconnect/v1 java: artifact_id: google-maps-navconnect group_id: com.google.maps + released_version: 0.1.0 - name: maps-places - version: 0.66.0-SNAPSHOT + version: 0.67.0-SNAPSHOT apis: - path: google/maps/places/v1 java: @@ -3008,8 +3160,9 @@ libraries: artifact_id: google-maps-places name_pretty_override: Places API (New) product_documentation_override: https://developers.google.com/maps/documentation/places/web-service/ + released_version: 0.66.0 - name: maps-routeoptimization - version: 0.53.0-SNAPSHOT + version: 0.54.0-SNAPSHOT apis: - path: google/maps/routeoptimization/v1 java: @@ -3022,8 +3175,9 @@ libraries: product_documentation_override: https://developers.google.com/maps/documentation/route-optimization rest_documentation: https://developers.google.com/maps/documentation/route-optimization/reference/rest/ rpc_documentation: https://developers.google.com/maps/documentation/route-optimization/reference/rpc + released_version: 0.53.0 - name: maps-routing - version: 1.80.0-SNAPSHOT + version: 1.81.0-SNAPSHOT apis: - path: google/maps/routing/v2 java: @@ -3033,8 +3187,9 @@ libraries: artifact_id: google-maps-routing name_pretty_override: Routes API product_documentation_override: https://developers.google.com/maps/documentation/routes + released_version: 1.80.0 - name: maps-solar - version: 0.54.0-SNAPSHOT + version: 0.55.0-SNAPSHOT apis: - path: google/maps/solar/v1 java: @@ -3047,8 +3202,9 @@ libraries: name_pretty_override: Solar API product_documentation_override: https://developers.google.com/maps/documentation/solar/overview rpc_documentation: https://developers.google.com/maps/documentation/solar/reference/rest + released_version: 0.54.0 - name: marketingplatformadminapi - version: 0.44.0-SNAPSHOT + version: 0.45.0-SNAPSHOT apis: - path: google/marketingplatform/admin/v1alpha java: @@ -3062,8 +3218,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Google Marketing Platform Admin API product_documentation_override: https://developers.google.com/analytics/devguides/config/gmp/v1 + released_version: 0.44.0 - name: mediatranslation - version: 0.101.0-SNAPSHOT + version: 0.102.0-SNAPSHOT apis: - path: google/cloud/mediatranslation/v1beta1 java: @@ -3071,8 +3228,9 @@ libraries: name_pretty_override: Media Translation API product_documentation_override: https://cloud.google.com/ billing_not_required: true + released_version: 0.101.0 - name: meet - version: 0.62.0-SNAPSHOT + version: 0.63.0-SNAPSHOT apis: - path: google/apps/meet/v2 - path: google/apps/meet/v2beta @@ -3080,8 +3238,9 @@ libraries: api_description_override: The Google Meet REST API lets you create and manage meetings for Google Meet and offers entry points to your users directly from your app name_pretty_override: Google Meet API product_documentation_override: https://developers.google.com/meet/api/guides/overview + released_version: 0.62.0 - name: memcache - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/memcache/v1 java: @@ -3096,8 +3255,9 @@ libraries: name_pretty_override: Cloud Memcache product_documentation_override: https://cloud.google.com/memorystore/ billing_not_required: true + released_version: 2.95.0 - name: migrationcenter - version: 0.77.0-SNAPSHOT + version: 0.78.0-SNAPSHOT apis: - path: google/cloud/migrationcenter/v1 java: @@ -3107,8 +3267,9 @@ libraries: api_description_override: Google Cloud Migration Center is a unified platform that helps you accelerate your end-to-end cloud journey from your current on-premises or cloud environments to Google Cloud name_pretty_override: Migration Center API product_documentation_override: https://cloud.google.com/migration-center/docs/migration-center-overview + released_version: 0.77.0 - name: modelarmor - version: 0.36.0-SNAPSHOT + version: 0.37.0-SNAPSHOT apis: - path: google/cloud/modelarmor/v1 java: @@ -3125,8 +3286,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Model Armor API product_documentation_override: https://cloud.google.com/security-command-center/docs/model-armor-overview + released_version: 0.36.0 - name: monitoring - version: 3.96.0-SNAPSHOT + version: 3.97.0-SNAPSHOT apis: - path: google/monitoring/v3 keep: @@ -3174,8 +3336,9 @@ libraries: issue_tracker_override: https://issuetracker.google.com/savedsearches/559785 name_pretty_override: Stackdriver Monitoring product_documentation_override: https://cloud.google.com/monitoring/docs + released_version: 3.96.0 - name: monitoring-dashboards - version: 2.97.0-SNAPSHOT + version: 2.98.0-SNAPSHOT apis: - path: google/monitoring/dashboard/v1 postprocess: @@ -3189,8 +3352,9 @@ libraries: artifact_id: google-cloud-monitoring-dashboard name_pretty_override: Monitoring Dashboards product_documentation_override: https://cloud.google.com/monitoring/charts/dashboards + released_version: 2.97.0 - name: monitoring-metricsscope - version: 0.89.0-SNAPSHOT + version: 0.90.0-SNAPSHOT apis: - path: google/monitoring/metricsscope/v1 java: @@ -3199,8 +3363,9 @@ libraries: api_shortname_override: monitoring-metricsscope name_pretty_override: Monitoring Metrics Scopes product_documentation_override: https://cloud.google.com/monitoring/api/ref_v3/rest/v1/locations.global.metricsScopes + released_version: 0.89.0 - name: netapp - version: 0.74.0-SNAPSHOT + version: 0.75.0-SNAPSHOT apis: - path: google/cloud/netapp/v1 java: @@ -3210,8 +3375,9 @@ libraries: api_description_override: Google Cloud NetApp Volumes is a fully-managed, cloud-based data storage service that provides advanced data management capabilities and highly scalable performance with global availability. name_pretty_override: NetApp API product_documentation_override: https://cloud.google.com/netapp/volumes/docs/discover/overview + released_version: 0.74.0 - name: network-management - version: 1.96.0-SNAPSHOT + version: 1.97.0-SNAPSHOT apis: - path: google/cloud/networkmanagement/v1 java: @@ -3465,8 +3631,9 @@ libraries: api_description_override: provides a collection of network performance monitoring and diagnostic capabilities. name_pretty_override: Network Management API product_documentation_override: https://cloud.google.com/network-intelligence-center/docs/connectivity-tests/reference/networkmanagement/rest/ + released_version: 1.96.0 - name: network-security - version: 0.98.0-SNAPSHOT + version: 0.99.0-SNAPSHOT apis: - path: google/cloud/networksecurity/v1 java: @@ -3482,8 +3649,9 @@ libraries: api_description_override: n/a name_pretty_override: Network Security API product_documentation_override: https://cloud.google.com/traffic-director/docs/reference/network-security/rest + released_version: 0.98.0 - name: networkconnectivity - version: 1.94.0-SNAPSHOT + version: 1.95.0-SNAPSHOT apis: - path: google/cloud/networkconnectivity/v1 java: @@ -3500,8 +3668,9 @@ libraries: api_description_override: Google's suite of products that provide enterprise connectivity from your on-premises network or from another cloud provider to your Virtual Private Cloud (VPC) network name_pretty_override: Network Connectivity Center product_documentation_override: https://cloud.google.com/network-connectivity/docs + released_version: 1.94.0 - name: networkservices - version: 0.51.0-SNAPSHOT + version: 0.52.0-SNAPSHOT apis: - path: google/cloud/networkservices/v1 java: @@ -3515,8 +3684,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Network Services API product_documentation_override: https://cloud.google.com/products/networking + released_version: 0.51.0 - name: notebooks - version: 1.93.0-SNAPSHOT + version: 1.94.0-SNAPSHOT apis: - path: google/cloud/notebooks/v2 java: @@ -3537,8 +3707,9 @@ libraries: api_description_override: is a managed service that offers an integrated and secure JupyterLab environment for data scientists and machine learning developers to experiment, develop, and deploy models into production. Users can create instances running JupyterLab that come pre-installed with the latest data science and machine learning frameworks in a single click. name_pretty_override: AI Platform Notebooks product_documentation_override: https://cloud.google.com/ai-platform-notebooks + released_version: 1.93.0 - name: optimization - version: 1.93.0-SNAPSHOT + version: 1.94.0-SNAPSHOT apis: - path: google/cloud/optimization/v1 java: @@ -3547,8 +3718,9 @@ libraries: product_documentation_override: https://cloud.google.com/optimization/docs rest_documentation: https://cloud.google.com/optimization/docs/reference/rest rpc_documentation: https://cloud.google.com/optimization/docs/reference/rpc + released_version: 1.93.0 - name: oracledatabase - version: 0.44.0-SNAPSHOT + version: 0.45.0-SNAPSHOT apis: - path: google/cloud/oracledatabase/v1 java: @@ -3561,8 +3733,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Oracle Database@Google Cloud API product_documentation_override: https://cloud.google.com/oracle/database/docs + released_version: 0.44.0 - name: orchestration-airflow - version: 1.95.0-SNAPSHOT + version: 1.96.0-SNAPSHOT apis: - path: google/cloud/orchestration/airflow/service/v1 - path: google/cloud/orchestration/airflow/service/v1beta1 @@ -3574,8 +3747,9 @@ libraries: product_documentation_override: https://cloud.google.com/composer/docs rest_documentation: https://cloud.google.com/composer/docs/reference/rest rpc_documentation: https://cloud.google.com/composer/docs/reference/rpc + released_version: 1.95.0 - name: orgpolicy - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/orgpolicy/v2 - path: google/cloud/orgpolicy/v1 @@ -3589,8 +3763,9 @@ libraries: client_documentation_override: https://cloud.google.com/java/docs/reference/proto-google-cloud-orgpolicy-v1/latest/overview name_pretty_override: Cloud Organization Policy product_documentation_override: n/a + released_version: 2.95.0 - name: os-config - version: 2.97.0-SNAPSHOT + version: 2.98.0-SNAPSHOT apis: - path: google/cloud/osconfig/v1 - path: google/cloud/osconfig/v1beta @@ -3601,8 +3776,9 @@ libraries: name_pretty_override: OS Config API product_documentation_override: https://cloud.google.com/compute/docs/os-patch-management billing_not_required: true + released_version: 2.97.0 - name: os-login - version: 2.94.0-SNAPSHOT + version: 2.95.0-SNAPSHOT apis: - path: google/cloud/oslogin/v1 java: @@ -3676,8 +3852,9 @@ libraries: issue_tracker_override: https://issuetracker.google.com/savedsearches/559755 name_pretty_override: Cloud OS Login product_documentation_override: https://cloud.google.com/compute/docs/oslogin/ + released_version: 2.94.0 - name: parallelstore - version: 0.58.0-SNAPSHOT + version: 0.59.0-SNAPSHOT apis: - path: google/cloud/parallelstore/v1 java: @@ -3694,8 +3871,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Parallelstore API product_documentation_override: https://cloud/parallelstore?hl=en + released_version: 0.58.0 - name: parametermanager - version: 0.39.0-SNAPSHOT + version: 0.40.0-SNAPSHOT apis: - path: google/cloud/parametermanager/v1 java: @@ -3708,8 +3886,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Parameter Manager API product_documentation_override: https://cloud.google.com/secret-manager/parameter-manager/docs/overview + released_version: 0.39.0 - name: phishingprotection - version: 0.126.0-SNAPSHOT + version: 0.127.0-SNAPSHOT apis: - path: google/cloud/phishingprotection/v1beta1 java: @@ -3717,8 +3896,9 @@ libraries: name_pretty_override: Phishing Protection product_documentation_override: https://cloud.google.com/phishing-protection/docs/ billing_not_required: true + released_version: 0.126.0 - name: policy-troubleshooter - version: 1.94.0-SNAPSHOT + version: 1.95.0-SNAPSHOT apis: - path: google/cloud/policytroubleshooter/v1 - path: google/cloud/policytroubleshooter/iam/v3 @@ -3727,16 +3907,18 @@ libraries: api_description_override: makes it easier to understand why a user has access to a resource or doesn't have permission to call an API. Given an email, resource, and permission, Policy Troubleshooter examines all Identity and Access Management (IAM) policies that apply to the resource. It then reveals whether the member's roles include the permission on that resource and, if so, which policies bind the member to those roles. name_pretty_override: IAM Policy Troubleshooter API product_documentation_override: https://cloud.google.com/iam/docs/troubleshooting-access + released_version: 1.94.0 - name: policysimulator - version: 0.74.0-SNAPSHOT + version: 0.75.0-SNAPSHOT apis: - path: google/cloud/policysimulator/v1 java: api_description_override: Policy Simulator is a collection of endpoints for creating, running, and viewing a Replay. name_pretty_override: Policy Simulator API product_documentation_override: https://cloud.google.com/policysimulator/docs/overview + released_version: 0.74.0 - name: private-catalog - version: 0.97.0-SNAPSHOT + version: 0.98.0-SNAPSHOT apis: - path: google/cloud/privatecatalog/v1beta1 java: @@ -3744,8 +3926,9 @@ libraries: api_description_override: allows developers and cloud admins to make their solutions discoverable to their internal enterprise users. Cloud admins can manage their solutions and ensure their users are always launching the latest versions. name_pretty_override: Private Catalog product_documentation_override: https://cloud.google.com/private-catalog/docs + released_version: 0.97.0 - name: privilegedaccessmanager - version: 0.49.0-SNAPSHOT + version: 0.50.0-SNAPSHOT apis: - path: google/cloud/privilegedaccessmanager/v1 java: @@ -3759,12 +3942,15 @@ libraries: name_pretty_override: Privileged Access Manager API product_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/overview rpc_documentation: https://cloud.google.com/iam/docs/reference/pam/rpc + released_version: 0.49.0 - name: productregistry - version: 0.1.0-SNAPSHOT + version: 0.2.0-SNAPSHOT apis: - path: google/cloud/productregistry/v1 + java: + released_version: 0.1.0 - name: profiler - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/devtools/cloudprofiler/v2 java: @@ -3772,8 +3958,9 @@ libraries: api_description_override: is a statistical, low-overhead profiler that continuously gathers CPU usage and memory-allocation information from your production applications. It attributes that information to the application's source code, helping you identify the parts of the application consuming the most resources, and otherwise illuminating the performance characteristics of the code. name_pretty_override: Cloud Profiler product_documentation_override: https://cloud.google.com/profiler/docs + released_version: 2.95.0 - name: publicca - version: 0.92.0-SNAPSHOT + version: 0.93.0-SNAPSHOT apis: - path: google/cloud/security/publicca/v1 - path: google/cloud/security/publicca/v1beta1 @@ -3782,8 +3969,9 @@ libraries: name_pretty_override: Public Certificate Authority API product_documentation_override: https://cloud.google.com/certificate-manager/docs/public-ca rpc_documentation: https://cloud.google.com/certificate-manager/docs/reference/public-ca/rpc + released_version: 0.92.0 - name: pubsub - version: 1.153.0-SNAPSHOT + version: 1.154.0-SNAPSHOT apis: - path: google/pubsub/v1 java: @@ -4943,8 +5131,9 @@ libraries: name_pretty_override: Cloud Pub/Sub product_documentation_override: https://cloud.google.com/pubsub/docs/ recommended_package: com.google.cloud.pubsub.v1 + released_version: 1.153.0 - name: rapidmigrationassessment - version: 0.78.0-SNAPSHOT + version: 0.79.0-SNAPSHOT apis: - path: google/cloud/rapidmigrationassessment/v1 java: @@ -4954,8 +5143,9 @@ libraries: api_description_override: Rapid Migration Assessment API name_pretty_override: Rapid Migration Assessment API product_documentation_override: https://cloud.google.com/migration-center/docs + released_version: 0.78.0 - name: recaptchaenterprise - version: 3.92.0-SNAPSHOT + version: 3.93.0-SNAPSHOT apis: - path: google/cloud/recaptchaenterprise/v1 - path: google/cloud/recaptchaenterprise/v1beta1 @@ -4966,16 +5156,18 @@ libraries: billing_not_required: true rest_documentation: https://cloud.google.com/recaptcha-enterprise/docs/reference/rest rpc_documentation: https://cloud.google.com/recaptcha-enterprise/docs/reference/rpc + released_version: 3.92.0 - name: recommendations-ai - version: 0.102.0-SNAPSHOT + version: 0.103.0-SNAPSHOT apis: - path: google/cloud/recommendationengine/v1beta1 java: api_description_override: delivers highly personalized product recommendations at scale. name_pretty_override: Recommendations AI product_documentation_override: https://cloud.google.com/recommendations-ai/ + released_version: 0.102.0 - name: recommender - version: 2.97.0-SNAPSHOT + version: 2.98.0-SNAPSHOT apis: - path: google/cloud/recommender/v1 - path: google/cloud/recommender/v1beta1 @@ -4983,8 +5175,9 @@ libraries: api_description_override: delivers highly personalized product recommendations at scale. name_pretty_override: Recommender product_documentation_override: https://cloud.google.com/recommendations/ + released_version: 2.97.0 - name: redis - version: 2.98.0-SNAPSHOT + version: 2.99.0-SNAPSHOT apis: - path: google/cloud/redis/v1 java: @@ -4996,8 +5189,9 @@ libraries: issue_tracker_override: https://issuetracker.google.com/savedsearches/5169231 name_pretty_override: Cloud Redis product_documentation_override: https://cloud.google.com/memorystore/docs/redis/ + released_version: 2.98.0 - name: redis-cluster - version: 0.67.0-SNAPSHOT + version: 0.68.0-SNAPSHOT apis: - path: google/cloud/redis/cluster/v1 java: @@ -5012,8 +5206,9 @@ libraries: api_shortname_override: redis-cluster name_pretty_override: Google Cloud Memorystore for Redis API product_documentation_override: https://cloud.google.com/memorystore/docs/cluster + released_version: 0.67.0 - name: resourcemanager - version: 1.97.0-SNAPSHOT + version: 1.98.0-SNAPSHOT apis: - path: google/cloud/resourcemanager/v3 java: @@ -5024,8 +5219,9 @@ libraries: name_pretty_override: Resource Manager API product_documentation_override: https://cloud.google.com/resource-manager billing_not_required: true + released_version: 1.97.0 - name: retail - version: 2.97.0-SNAPSHOT + version: 2.98.0-SNAPSHOT apis: - path: google/cloud/retail/v2 java: @@ -5043,8 +5239,9 @@ libraries: api_description_override: Retail solutions API. name_pretty_override: Cloud Retail product_documentation_override: https://cloud.google.com/solutions/retail + released_version: 2.97.0 - name: run - version: 0.95.0-SNAPSHOT + version: 0.96.0-SNAPSHOT apis: - path: google/cloud/run/v2 java: @@ -5056,8 +5253,9 @@ libraries: product_documentation_override: https://cloud.google.com/run/docs rest_documentation: https://cloud.google.com/run/docs/reference/rest rpc_documentation: https://cloud.google.com/run/docs/reference/rpc + released_version: 0.95.0 - name: saasservicemgmt - version: 0.25.0-SNAPSHOT + version: 0.26.0-SNAPSHOT apis: - path: google/cloud/saasplatform/saasservicemgmt/v1beta1 java: @@ -5071,8 +5269,9 @@ libraries: name_pretty_override: App Lifecycle Manager product_documentation_override: https://cloud.google.com/saas-runtime/docs/overview rpc_documentation: https://cloud.google.com/saas-runtime/docs/apis + released_version: 0.25.0 - name: scheduler - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/scheduler/v1 java: @@ -5093,8 +5292,9 @@ libraries: billing_not_required: true rest_documentation: https://cloud.google.com/scheduler/docs/reference/rest rpc_documentation: https://cloud.google.com/scheduler/docs/reference/rpc + released_version: 2.95.0 - name: secretmanager - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/secretmanager/v1 - path: google/cloud/secretmanager/v1beta2 @@ -5110,8 +5310,9 @@ libraries: name_pretty_override: Secret Management product_documentation_override: https://cloud.google.com/solutions/secrets-management/ billing_not_required: true + released_version: 2.95.0 - name: securesourcemanager - version: 0.65.0-SNAPSHOT + version: 0.66.0-SNAPSHOT apis: - path: google/cloud/securesourcemanager/v1 java: @@ -5124,8 +5325,9 @@ libraries: Google Cloud. name_pretty_override: Secure Source Manager API product_documentation_override: https://cloud.google.com/secure-source-manager/docs/overview + released_version: 0.65.0 - name: security-private-ca - version: 2.97.0-SNAPSHOT + version: 2.98.0-SNAPSHOT apis: - path: google/cloud/security/privateca/v1 java: @@ -5140,8 +5342,9 @@ libraries: product_documentation_override: https://cloud.google.com/certificate-authority-service/docs rest_documentation: https://cloud.google.com/certificate-authority-service/docs/reference/rest rpc_documentation: https://cloud.google.com/certificate-authority-service/docs/reference/rpc + released_version: 2.97.0 - name: securitycenter - version: 2.103.0-SNAPSHOT + version: 2.104.0-SNAPSHOT apis: - path: google/cloud/securitycenter/v2 - path: google/cloud/securitycenter/v1 @@ -5160,8 +5363,9 @@ libraries: product_documentation_override: https://cloud.google.com/security-command-center billing_not_required: true rest_documentation: https://cloud.google.com/security-command-center/docs/reference/rest + released_version: 2.103.0 - name: securitycenter-settings - version: 0.98.0-SNAPSHOT + version: 0.99.0-SNAPSHOT apis: - path: google/cloud/securitycenter/settings/v1beta1 java: @@ -5171,8 +5375,9 @@ libraries: product_documentation_override: https://cloud.google.com/security-command-center/ billing_not_required: true rest_documentation: https://cloud.google.com/security-command-center/docs/reference/rest + released_version: 0.98.0 - name: securitycentermanagement - version: 0.63.0-SNAPSHOT + version: 0.64.0-SNAPSHOT apis: - path: google/cloud/securitycentermanagement/v1 java: @@ -5182,8 +5387,9 @@ libraries: api_description_override: Security Center Management API name_pretty_override: Security Center Management API product_documentation_override: https://cloud.google.com/securitycentermanagement/docs/overview + released_version: 0.63.0 - name: securityposture - version: 0.60.0-SNAPSHOT + version: 0.61.0-SNAPSHOT apis: - path: google/cloud/securityposture/v1 java: @@ -5193,8 +5399,9 @@ libraries: api_description_override: Security Posture is a comprehensive framework of policy sets that empowers organizations to define, assess early, deploy, and monitor their security measures in a unified way and helps simplify governance and reduces administrative toil. name_pretty_override: Security Posture API product_documentation_override: https://cloud.google.com/security-command-center/docs/security-posture-overview + released_version: 0.60.0 - name: service-control - version: 1.95.0-SNAPSHOT + version: 1.96.0-SNAPSHOT apis: - path: google/api/servicecontrol/v2 - path: google/api/servicecontrol/v1 @@ -5202,8 +5409,9 @@ libraries: api_description_override: ' is a foundational platform for creating, managing, securing, and consuming APIs and services across organizations. It is used by Google APIs, Cloud APIs, Cloud Endpoints, and API Gateway.' name_pretty_override: Service Control API product_documentation_override: https://cloud.google.com/service-infrastructure/docs/overview/ + released_version: 1.95.0 - name: service-management - version: 3.93.0-SNAPSHOT + version: 3.94.0-SNAPSHOT apis: - path: google/api/servicemanagement/v1 java: @@ -5216,8 +5424,9 @@ libraries: api_description_override: is a foundational platform for creating, managing, securing, and consuming APIs and services across organizations. It is used by Google APIs, Cloud APIs, Cloud Endpoints, and API Gateway. Service Infrastructure provides a wide range of features to service consumers and service producers, including authentication, authorization, auditing, rate limiting, analytics, billing, logging, and monitoring. name_pretty_override: Service Management API product_documentation_override: https://cloud.google.com/service-infrastructure/docs/overview/ + released_version: 3.93.0 - name: service-usage - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/api/serviceusage/v1 - path: google/api/serviceusage/v1beta1 @@ -5225,8 +5434,9 @@ libraries: api_description_override: is an infrastructure service of Google Cloud that lets you list and manage other APIs and services in your Cloud projects. name_pretty_override: Service Usage product_documentation_override: https://cloud.google.com/service-usage/docs/overview + released_version: 2.95.0 - name: servicedirectory - version: 2.96.0-SNAPSHOT + version: 2.97.0-SNAPSHOT apis: - path: google/cloud/servicedirectory/v1 java: @@ -5243,8 +5453,9 @@ libraries: billing_not_required: true rest_documentation: https://cloud.google.com/service-directory/docs/reference/rest rpc_documentation: https://cloud.google.com/service-directory/docs/reference/rpc + released_version: 2.96.0 - name: servicehealth - version: 0.62.0-SNAPSHOT + version: 0.63.0-SNAPSHOT apis: - path: google/cloud/servicehealth/v1 java: @@ -5255,8 +5466,9 @@ libraries: name_pretty_override: Service Health API product_documentation_override: https://cloud.google.com/service-health/docs/overview rpc_documentation: https://cloud.google.com/service-health/docs/reference/rpc + released_version: 0.62.0 - name: shell - version: 2.94.0-SNAPSHOT + version: 2.95.0-SNAPSHOT apis: - path: google/cloud/shell/v1 java: @@ -5266,8 +5478,9 @@ libraries: product_documentation_override: https://cloud.google.com/shell/docs rest_documentation: https://cloud.google.com/shell/docs/reference/rest rpc_documentation: https://cloud.google.com/shell/docs/reference/rpc + released_version: 2.94.0 - name: shopping-css - version: 0.63.0-SNAPSHOT + version: 0.64.0-SNAPSHOT apis: - path: google/shopping/css/v1 java: @@ -5275,8 +5488,9 @@ libraries: artifact_id: google-shopping-css name_pretty_override: CSS API product_documentation_override: https://developers.google.com/comparison-shopping-services/api + released_version: 0.63.0 - name: shopping-merchant-accounts - version: 1.23.0-SNAPSHOT + version: 1.24.0-SNAPSHOT apis: - path: google/shopping/merchant/accounts/v1 - path: google/shopping/merchant/accounts/v1beta @@ -5288,8 +5502,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api + released_version: 1.23.0 - name: shopping-merchant-conversions - version: 1.23.0-SNAPSHOT + version: 1.24.0-SNAPSHOT apis: - path: google/shopping/merchant/conversions/v1 - path: google/shopping/merchant/conversions/v1beta @@ -5302,8 +5517,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Merchant Conversions API product_documentation_override: https://developers.google.com/merchant/api + released_version: 1.23.0 - name: shopping-merchant-datasources - version: 1.23.0-SNAPSHOT + version: 1.24.0-SNAPSHOT apis: - path: google/shopping/merchant/datasources/v1 - path: google/shopping/merchant/datasources/v1beta @@ -5315,8 +5531,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api + released_version: 1.23.0 - name: shopping-merchant-inventories - version: 1.23.0-SNAPSHOT + version: 1.24.0-SNAPSHOT apis: - path: google/shopping/merchant/inventories/v1 - path: google/shopping/merchant/inventories/v1beta @@ -5325,8 +5542,9 @@ libraries: artifact_id: google-shopping-merchant-inventories name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api + released_version: 1.23.0 - name: shopping-merchant-lfp - version: 1.23.0-SNAPSHOT + version: 1.24.0-SNAPSHOT apis: - path: google/shopping/merchant/lfp/v1 - path: google/shopping/merchant/lfp/v1beta @@ -5339,8 +5557,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Merchant LFP API product_documentation_override: https://developers.google.com/merchant/api + released_version: 1.23.0 - name: shopping-merchant-notifications - version: 1.23.0-SNAPSHOT + version: 1.24.0-SNAPSHOT apis: - path: google/shopping/merchant/notifications/v1 - path: google/shopping/merchant/notifications/v1beta @@ -5353,8 +5572,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Merchant Notifications API product_documentation_override: https://developers.google.com/merchant/api + released_version: 1.23.0 - name: shopping-merchant-product-studio - version: 0.35.0-SNAPSHOT + version: 0.36.0-SNAPSHOT apis: - path: google/shopping/merchant/productstudio/v1alpha java: @@ -5365,8 +5585,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api + released_version: 0.35.0 - name: shopping-merchant-products - version: 1.23.0-SNAPSHOT + version: 1.24.0-SNAPSHOT apis: - path: google/shopping/merchant/products/v1 - path: google/shopping/merchant/products/v1beta @@ -5378,8 +5599,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api + released_version: 1.23.0 - name: shopping-merchant-promotions - version: 1.23.0-SNAPSHOT + version: 1.24.0-SNAPSHOT apis: - path: google/shopping/merchant/promotions/v1 - path: google/shopping/merchant/promotions/v1beta @@ -5391,8 +5613,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api + released_version: 1.23.0 - name: shopping-merchant-quota - version: 1.23.0-SNAPSHOT + version: 1.24.0-SNAPSHOT apis: - path: google/shopping/merchant/quota/v1 - path: google/shopping/merchant/quota/v1beta @@ -5405,8 +5628,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Merchant Quota API product_documentation_override: https://developers.google.com/merchant/api + released_version: 1.23.0 - name: shopping-merchant-reports - version: 1.23.0-SNAPSHOT + version: 1.24.0-SNAPSHOT apis: - path: google/shopping/merchant/reports/v1 - path: google/shopping/merchant/reports/v1beta @@ -5416,8 +5640,9 @@ libraries: artifact_id: google-shopping-merchant-reports name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api + released_version: 1.23.0 - name: shopping-merchant-reviews - version: 0.41.0-SNAPSHOT + version: 0.42.0-SNAPSHOT apis: - path: google/shopping/merchant/reviews/v1beta java: @@ -5427,6 +5652,7 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api + released_version: 0.41.0 - name: showcase version: 0.0.1-SNAPSHOT apis: @@ -5455,7 +5681,7 @@ libraries: product_documentation_override: https://cloud.google.com/dummy skip_api_id: true - name: spanner - version: 6.120.0-SNAPSHOT + version: 6.121.0-SNAPSHOT apis: - path: google/spanner/v1 java: @@ -5495,8 +5721,9 @@ libraries: product_documentation_override: https://cloud.google.com/spanner/docs/ recommended_package: com.google.cloud.spanner transport_override: grpc + released_version: 6.120.0 - name: spanneradapter - version: 0.31.0-SNAPSHOT + version: 0.32.0-SNAPSHOT apis: - path: google/spanner/adapter/v1 java: @@ -5507,8 +5734,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Cloud Spanner Adapter API product_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-spanneradapter/latest/overview + released_version: 0.31.0 - name: speech - version: 4.90.0-SNAPSHOT + version: 4.91.0-SNAPSHOT apis: - path: google/cloud/speech/v2 java: @@ -5529,8 +5757,9 @@ libraries: billing_not_required: true rest_documentation: https://cloud.google.com/speech-to-text/docs/reference/rest rpc_documentation: https://cloud.google.com/speech-to-text/docs/reference/rpc + released_version: 4.90.0 - name: sql - version: 0.1.0-SNAPSHOT + version: 0.2.0-SNAPSHOT apis: - path: google/cloud/sql/v1 java: @@ -5540,8 +5769,10 @@ libraries: java: additional_protos: - path: google/cloud/location/locations.proto + java: + released_version: 0.1.0 - name: storage - version: 2.71.0-SNAPSHOT + version: 2.72.0-SNAPSHOT apis: - path: google/storage/v2 java: @@ -5579,16 +5810,18 @@ libraries: product_documentation_override: https://cloud.google.com/storage recommended_package: com.google.cloud.storage transport_override: rest + released_version: 2.71.0 - name: storage-transfer - version: 1.95.0-SNAPSHOT + version: 1.96.0-SNAPSHOT apis: - path: google/storagetransfer/v1 java: api_description_override: Secure, low-cost services for transferring data from cloud or on-premises sources. name_pretty_override: Storage Transfer Service product_documentation_override: https://cloud.google.com/storage-transfer-service + released_version: 1.95.0 - name: storagebatchoperations - version: 0.35.0-SNAPSHOT + version: 0.36.0-SNAPSHOT apis: - path: google/cloud/storagebatchoperations/v1 java: @@ -5601,8 +5834,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Storage Batch Operations API product_documentation_override: https://cloud.google.com/storage/docs/batch-operations/overview + released_version: 0.35.0 - name: storageinsights - version: 0.80.0-SNAPSHOT + version: 0.81.0-SNAPSHOT apis: - path: google/cloud/storageinsights/v1 java: @@ -5612,8 +5846,9 @@ libraries: api_description_override: Provides insights capability on Google Cloud Storage name_pretty_override: Storage Insights API product_documentation_override: https://cloud.google.com/storage/docs/insights/storage-insights/ + released_version: 0.80.0 - name: talent - version: 2.96.0-SNAPSHOT + version: 2.97.0-SNAPSHOT apis: - path: google/cloud/talent/v4 - path: google/cloud/talent/v4beta1 @@ -5622,8 +5857,9 @@ libraries: issue_tracker_override: https://issuetracker.google.com/savedsearches/559664 name_pretty_override: Talent Solution product_documentation_override: https://cloud.google.com/solutions/talent-solution/ + released_version: 2.96.0 - name: tasks - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/tasks/v2 java: @@ -5736,8 +5972,9 @@ libraries: product_documentation_override: https://cloud.google.com/tasks/docs/ rest_documentation: https://cloud.google.com/tasks/docs/reference/rest rpc_documentation: https://cloud.google.com/tasks/docs/reference/rpc + released_version: 2.95.0 - name: telcoautomation - version: 0.65.0-SNAPSHOT + version: 0.66.0-SNAPSHOT apis: - path: google/cloud/telcoautomation/v1 java: @@ -5751,8 +5988,9 @@ libraries: api_description_override: APIs to automate 5G deployment and management of cloud infrastructure and network functions. name_pretty_override: Telco Automation API product_documentation_override: https://cloud.google.com/telecom-network-automation + released_version: 0.65.0 - name: texttospeech - version: 2.96.0-SNAPSHOT + version: 2.97.0-SNAPSHOT apis: - path: google/cloud/texttospeech/v1 - path: google/cloud/texttospeech/v1beta1 @@ -5767,8 +6005,9 @@ libraries: billing_not_required: true rest_documentation: https://cloud.google.com/text-to-speech/docs/reference/rest rpc_documentation: https://cloud.google.com/text-to-speech/docs/reference/rpc + released_version: 2.96.0 - name: tpu - version: 2.96.0-SNAPSHOT + version: 2.97.0-SNAPSHOT apis: - path: google/cloud/tpu/v2 java: @@ -5787,8 +6026,9 @@ libraries: name_pretty_override: Cloud TPU product_documentation_override: https://cloud.google.com/tpu/docs rest_documentation: https://cloud.google.com/tpu/docs/reference/rest + released_version: 2.96.0 - name: trace - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/devtools/cloudtrace/v2 - path: google/devtools/cloudtrace/v1 @@ -5800,8 +6040,9 @@ libraries: name_pretty_override: Stackdriver Trace product_documentation_override: https://cloud.google.com/trace/docs/ billing_not_required: true + released_version: 2.95.0 - name: translate - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/translate/v3 - path: google/cloud/translate/v3beta1 @@ -5813,8 +6054,9 @@ libraries: product_documentation_override: https://cloud.google.com/translate/docs/ rest_documentation: https://cloud.google.com/translate/docs/reference/rest rpc_documentation: https://cloud.google.com/translate/docs/reference/rpc + released_version: 2.95.0 - name: valkey - version: 0.41.0-SNAPSHOT + version: 0.42.0-SNAPSHOT apis: - path: google/cloud/memorystore/v1 java: @@ -5832,8 +6074,9 @@ libraries: name_pretty_override: Memorystore API product_documentation_override: https://cloud.google.com/memorystore/docs/valkey rest_documentation: https://cloud.google.com/memorystore/docs/valkey/reference/rest + released_version: 0.41.0 - name: vectorsearch - version: 0.17.0-SNAPSHOT + version: 0.18.0-SNAPSHOT apis: - path: google/cloud/vectorsearch/v1 java: @@ -5850,8 +6093,9 @@ libraries: library_type_override: GAPIC_AUTO name_pretty_override: Vector Search API product_documentation_override: https://docs.cloud.google.com/vertex-ai/docs/vector-search/overview + released_version: 0.17.0 - name: video-intelligence - version: 2.94.0-SNAPSHOT + version: 2.95.0-SNAPSHOT apis: - path: google/cloud/videointelligence/v1 - path: google/cloud/videointelligence/v1p3beta1 @@ -5865,8 +6109,9 @@ libraries: product_documentation_override: https://cloud.google.com/video-intelligence/docs/ rest_documentation: https://cloud.google.com/video-intelligence/docs/reference/rest rpc_documentation: https://cloud.google.com/video-intelligence/docs/reference/rpc + released_version: 2.94.0 - name: video-live-stream - version: 0.97.0-SNAPSHOT + version: 0.98.0-SNAPSHOT apis: - path: google/cloud/video/livestream/v1 java: @@ -5877,16 +6122,18 @@ libraries: artifact_id: google-cloud-live-stream name_pretty_override: Live Stream API product_documentation_override: https://cloud.google.com/livestream/ + released_version: 0.97.0 - name: video-stitcher - version: 0.95.0-SNAPSHOT + version: 0.96.0-SNAPSHOT apis: - path: google/cloud/video/stitcher/v1 java: api_description_override: allows you to manipulate video content to dynamically insert ads prior to delivery to client devices. name_pretty_override: Video Stitcher API product_documentation_override: https://cloud.google.com/video-stitcher/ + released_version: 0.95.0 - name: video-transcoder - version: 1.94.0-SNAPSHOT + version: 1.95.0-SNAPSHOT apis: - path: google/cloud/video/transcoder/v1 java: @@ -5896,8 +6143,9 @@ libraries: product_documentation_override: https://cloud.google.com/transcoder/docs rest_documentation: https://cloud.google.com/transcoder/docs/reference/rest rpc_documentation: https://cloud.google.com/transcoder/docs/reference/rpc + released_version: 1.94.0 - name: vision - version: 3.93.0-SNAPSHOT + version: 3.94.0-SNAPSHOT apis: - path: google/cloud/vision/v1 - path: google/cloud/vision/v1p4beta1 @@ -5921,8 +6169,9 @@ libraries: product_documentation_override: https://cloud.google.com/vision/docs/ rest_documentation: https://cloud.google.com/vision/docs/reference/rest rpc_documentation: https://cloud.google.com/vision/docs/reference/rpc + released_version: 3.93.0 - name: visionai - version: 0.52.0-SNAPSHOT + version: 0.53.0-SNAPSHOT apis: - path: google/cloud/visionai/v1 java: @@ -5937,8 +6186,9 @@ libraries: name_pretty_override: Vision AI API product_documentation_override: https://cloud.google.com/vision-ai/docs rpc_documentation: https://cloud.google.com/vision-ai/docs/reference/rpc + released_version: 0.52.0 - name: vmmigration - version: 1.95.0-SNAPSHOT + version: 1.96.0-SNAPSHOT apis: - path: google/cloud/vmmigration/v1 java: @@ -5949,8 +6199,9 @@ libraries: api_description_override: helps customers migrating VMs to GCP at no additional cost, as well as an extensive ecosystem of partners to help with discovery and assessment, planning, migration, special use cases, and more. name_pretty_override: VM Migration product_documentation_override: n/a + released_version: 1.95.0 - name: vmwareengine - version: 0.89.0-SNAPSHOT + version: 0.90.0-SNAPSHOT apis: - path: google/cloud/vmwareengine/v1 java: @@ -5962,8 +6213,9 @@ libraries: name_pretty_override: Google Cloud VMware Engine product_documentation_override: https://cloud.google.com/vmware-engine/ rest_documentation: https://cloud.google.com/vmware-engine/docs/reference/rest + released_version: 0.89.0 - name: vpcaccess - version: 2.96.0-SNAPSHOT + version: 2.97.0-SNAPSHOT apis: - path: google/cloud/vpcaccess/v1 java: @@ -5973,8 +6225,9 @@ libraries: api_description_override: enables you to connect from a serverless environment on Google Cloud directly to your VPC network. This connection makes it possible for your serverless environment to access resources in your VPC network via internal IP addresses. name_pretty_override: Serverless VPC Access product_documentation_override: https://cloud.google.com/vpc/docs/serverless-vpc-access + released_version: 2.96.0 - name: webrisk - version: 2.94.0-SNAPSHOT + version: 2.95.0-SNAPSHOT apis: - path: google/cloud/webrisk/v1 - path: google/cloud/webrisk/v1beta1 @@ -5985,8 +6238,9 @@ libraries: billing_not_required: true rest_documentation: https://cloud.google.com/web-risk/docs/reference/rest rpc_documentation: https://cloud.google.com/web-risk/docs/reference/rpc + released_version: 2.94.0 - name: websecurityscanner - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/websecurityscanner/v1 - path: google/cloud/websecurityscanner/v1beta @@ -6000,8 +6254,9 @@ libraries: name_pretty_override: Cloud Security Scanner product_documentation_override: https://cloud.google.com/security-scanner/docs/ billing_not_required: true + released_version: 2.95.0 - name: workflow-executions - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/workflows/executions/v1 - path: google/cloud/workflows/executions/v1beta @@ -6011,8 +6266,9 @@ libraries: name_pretty_override: Cloud Workflow Executions product_documentation_override: https://cloud.google.com/workflows rest_documentation: https://cloud.google.com/workflows/docs/reference/rest + released_version: 2.95.0 - name: workflows - version: 2.95.0-SNAPSHOT + version: 2.96.0-SNAPSHOT apis: - path: google/cloud/workflows/v1 java: @@ -6028,8 +6284,9 @@ libraries: name_pretty_override: Cloud Workflows product_documentation_override: https://cloud.google.com/workflows rest_documentation: https://cloud.google.com/workflows/docs/reference/rest + released_version: 2.95.0 - name: workloadmanager - version: 0.11.0-SNAPSHOT + version: 0.12.0-SNAPSHOT apis: - path: google/cloud/workloadmanager/v1 java: @@ -6043,8 +6300,9 @@ libraries: name_pretty_override: Workload Manager API product_documentation_override: https://docs.cloud.google.com/workload-manager/docs rpc_documentation: https://docs.cloud.google.com/workload-manager/docs/reference/rest + released_version: 0.11.0 - name: workspaceevents - version: 0.59.0-SNAPSHOT + version: 0.60.0-SNAPSHOT apis: - path: google/apps/events/subscriptions/v1 - path: google/apps/events/subscriptions/v1beta @@ -6053,8 +6311,9 @@ libraries: name_pretty_override: Google Workspace Events API product_documentation_override: https://developers.google.com/workspace/events rest_documentation: https://developers.google.com/workspace/events/reference/rest + released_version: 0.59.0 - name: workstations - version: 0.83.0-SNAPSHOT + version: 0.84.0-SNAPSHOT apis: - path: google/cloud/workstations/v1 java: @@ -6072,3 +6331,4 @@ libraries: product_documentation_override: https://cloud.google.com/workstations rest_documentation: https://cloud.google.com/workstations/docs/reference/rest rpc_documentation: https://cloud.google.com/workstations/docs/reference/rpc + released_version: 0.83.0 diff --git a/release-please-config.json b/release-please-config.json index b54477b4c4d2..fe421d4093a6 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -14,9 +14,6 @@ "sdk-platform-java/.cloudbuild/graalvm/cloudbuild-test-a.yaml", "sdk-platform-java/.cloudbuild/graalvm/cloudbuild-test-b.yaml", "sdk-platform-java/.cloudbuild/graalvm/cloudbuild-test-c.yaml", - "sdk-platform-java/hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/presubmit/graalvm-native-a.cfg", - "sdk-platform-java/hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/presubmit/graalvm-native-b.cfg", - "sdk-platform-java/hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/presubmit/graalvm-native-c.cfg", "java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/telemetry/Version.java" ] } diff --git a/sdk-platform-java/.cloudbuild/graalvm/cloudbuild-test-a.yaml b/sdk-platform-java/.cloudbuild/graalvm/cloudbuild-test-a.yaml index 4627f8370234..b8b731ebc76b 100644 --- a/sdk-platform-java/.cloudbuild/graalvm/cloudbuild-test-a.yaml +++ b/sdk-platform-java/.cloudbuild/graalvm/cloudbuild-test-a.yaml @@ -14,7 +14,7 @@ timeout: 7200s # 2 hours substitutions: - _SHARED_DEPENDENCIES_VERSION: '3.65.0-SNAPSHOT' # {x-version-update:google-cloud-shared-dependencies:current} + _SHARED_DEPENDENCIES_VERSION: '3.66.0-SNAPSHOT' # {x-version-update:google-cloud-shared-dependencies:current} _JAVA_SHARED_CONFIG_VERSION: '1.17.0' options: machineType: 'E2_HIGHCPU_8' diff --git a/sdk-platform-java/.cloudbuild/graalvm/cloudbuild-test-b.yaml b/sdk-platform-java/.cloudbuild/graalvm/cloudbuild-test-b.yaml index 9e8fe9880e46..79e54e276deb 100644 --- a/sdk-platform-java/.cloudbuild/graalvm/cloudbuild-test-b.yaml +++ b/sdk-platform-java/.cloudbuild/graalvm/cloudbuild-test-b.yaml @@ -14,7 +14,7 @@ timeout: 7200s # 2 hours substitutions: - _SHARED_DEPENDENCIES_VERSION: '3.65.0-SNAPSHOT' # {x-version-update:google-cloud-shared-dependencies:current} + _SHARED_DEPENDENCIES_VERSION: '3.66.0-SNAPSHOT' # {x-version-update:google-cloud-shared-dependencies:current} _JAVA_SHARED_CONFIG_VERSION: '1.17.0' options: machineType: 'E2_HIGHCPU_8' diff --git a/sdk-platform-java/.cloudbuild/graalvm/cloudbuild-test-c.yaml b/sdk-platform-java/.cloudbuild/graalvm/cloudbuild-test-c.yaml index a71b59afe9bd..febfdac8259b 100644 --- a/sdk-platform-java/.cloudbuild/graalvm/cloudbuild-test-c.yaml +++ b/sdk-platform-java/.cloudbuild/graalvm/cloudbuild-test-c.yaml @@ -14,7 +14,7 @@ timeout: 7200s # 2 hours substitutions: - _SHARED_DEPENDENCIES_VERSION: '3.65.0-SNAPSHOT' # {x-version-update:google-cloud-shared-dependencies:current} + _SHARED_DEPENDENCIES_VERSION: '3.66.0-SNAPSHOT' # {x-version-update:google-cloud-shared-dependencies:current} _JAVA_SHARED_CONFIG_VERSION: '1.17.0' options: machineType: 'E2_HIGHCPU_8' diff --git a/sdk-platform-java/.cloudbuild/graalvm/cloudbuild.yaml b/sdk-platform-java/.cloudbuild/graalvm/cloudbuild.yaml index 5d88853b2c6f..ba5a5d1ef2ce 100644 --- a/sdk-platform-java/.cloudbuild/graalvm/cloudbuild.yaml +++ b/sdk-platform-java/.cloudbuild/graalvm/cloudbuild.yaml @@ -14,7 +14,7 @@ timeout: 7200s # 2 hours substitutions: - _SHARED_DEPENDENCIES_VERSION: '3.65.0-SNAPSHOT' # {x-version-update:google-cloud-shared-dependencies:current} + _SHARED_DEPENDENCIES_VERSION: '3.66.0-SNAPSHOT' # {x-version-update:google-cloud-shared-dependencies:current} _JAVA_SHARED_CONFIG_VERSION: '1.17.0' steps: # GraalVM A build diff --git a/sdk-platform-java/api-common-java/pom.xml b/sdk-platform-java/api-common-java/pom.xml index 364cbe031b44..35875a4de1bf 100644 --- a/sdk-platform-java/api-common-java/pom.xml +++ b/sdk-platform-java/api-common-java/pom.xml @@ -5,14 +5,14 @@ com.google.api api-common jar - 2.66.0-SNAPSHOT + 2.67.0-SNAPSHOT API Common Common utilities for Google APIs in Java com.google.api gapic-generator-java-pom-parent - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT ../gapic-generator-java-pom-parent diff --git a/sdk-platform-java/coverage-report/pom.xml b/sdk-platform-java/coverage-report/pom.xml index 5efdad03523e..33d3d823571a 100644 --- a/sdk-platform-java/coverage-report/pom.xml +++ b/sdk-platform-java/coverage-report/pom.xml @@ -31,22 +31,22 @@ com.google.api gax - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT com.google.api gax-grpc - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT com.google.api gax-httpjson - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT com.google.api api-common - 2.66.0-SNAPSHOT + 2.67.0-SNAPSHOT diff --git a/sdk-platform-java/gapic-generator-java-bom/pom.xml b/sdk-platform-java/gapic-generator-java-bom/pom.xml index 0cda54788cc1..623d512b2d32 100644 --- a/sdk-platform-java/gapic-generator-java-bom/pom.xml +++ b/sdk-platform-java/gapic-generator-java-bom/pom.xml @@ -4,7 +4,7 @@ com.google.api gapic-generator-java-bom pom - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT GAPIC Generator Java BOM BOM for the libraries in gapic-generator-java repository. Users should not @@ -15,7 +15,7 @@ com.google.api gapic-generator-java-pom-parent - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT ../gapic-generator-java-pom-parent @@ -25,27 +25,27 @@ com.google.auth google-auth-library-credentials - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT com.google.auth google-auth-library-oauth2-http - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT com.google.auth google-auth-library-appengine - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT com.google.auth google-auth-library-cab-token-generator - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT com.google.auth google-auth-library-oauth2-http - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT test-jar testlib test @@ -88,81 +88,86 @@ com.google.api api-common - 2.66.0-SNAPSHOT + 2.67.0-SNAPSHOT com.google.api gax-bom - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT pom import com.google.api gapic-generator-java - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT com.google.api.grpc grpc-google-common-protos - 2.74.0-SNAPSHOT + 2.75.0-SNAPSHOT com.google.api.grpc proto-google-common-protos - 2.74.0-SNAPSHOT + 2.75.0-SNAPSHOT com.google.api.grpc proto-google-iam-v1 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc proto-google-iam-v2 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc proto-google-iam-v2beta - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc proto-google-iam-v3 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc proto-google-iam-v3beta - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc grpc-google-iam-v1 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc grpc-google-iam-v2 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc grpc-google-iam-v2beta - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc grpc-google-iam-v3 - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT com.google.api.grpc grpc-google-iam-v3beta - 1.69.0-SNAPSHOT + 1.70.0-SNAPSHOT + + + org.conscrypt + conscrypt-openjdk-uber + ${conscrypt.version} diff --git a/sdk-platform-java/gapic-generator-java-pom-parent/pom.xml b/sdk-platform-java/gapic-generator-java-pom-parent/pom.xml index 3f0fb061eb72..4b7b477219c5 100644 --- a/sdk-platform-java/gapic-generator-java-pom-parent/pom.xml +++ b/sdk-platform-java/gapic-generator-java-pom-parent/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.google.api gapic-generator-java-pom-parent - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT pom GAPIC Generator Java POM Parent https://github.com/googleapis/sdk-platform-java @@ -15,7 +15,7 @@ com.google.cloud google-cloud-shared-config - 1.19.0-SNAPSHOT + 1.20.0-SNAPSHOT ../../java-shared-config/java-shared-config/pom.xml diff --git a/sdk-platform-java/gapic-generator-java/pom.xml b/sdk-platform-java/gapic-generator-java/pom.xml index 18b0f8244e48..1eacb177b905 100644 --- a/sdk-platform-java/gapic-generator-java/pom.xml +++ b/sdk-platform-java/gapic-generator-java/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.google.api gapic-generator-java - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT GAPIC Generator Java GAPIC generator Java @@ -23,7 +23,7 @@ com.google.api gapic-generator-java-pom-parent - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT ../gapic-generator-java-pom-parent @@ -32,7 +32,7 @@ com.google.api gapic-generator-java-bom - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT pom import @@ -406,7 +406,7 @@ com.google.api api-common - 2.66.0-SNAPSHOT + 2.67.0-SNAPSHOT org.junit.jupiter @@ -432,7 +432,7 @@ com.google.api.grpc proto-google-common-protos - 2.74.0-SNAPSHOT + 2.75.0-SNAPSHOT com.google.protobuf diff --git a/sdk-platform-java/gax-java/README.md b/sdk-platform-java/gax-java/README.md index b4a1098ec285..a8ca7b4a1a7f 100644 --- a/sdk-platform-java/gax-java/README.md +++ b/sdk-platform-java/gax-java/README.md @@ -34,27 +34,27 @@ If you are using Maven, add this to your pom.xml file com.google.api gax - 2.82.0 + 2.83.0 com.google.api gax-grpc - 2.82.0 + 2.83.0 ``` If you are using Gradle, add this to your dependencies ```Groovy -compile 'com.google.api:gax:2.82.0', - 'com.google.api:gax-grpc:2.82.0' +compile 'com.google.api:gax:2.83.0', + 'com.google.api:gax-grpc:2.83.0' ``` If you are using SBT, add this to your dependencies ```Scala -libraryDependencies += "com.google.api" % "gax" % "2.82.0" -libraryDependencies += "com.google.api" % "gax-grpc" % "2.82.0" +libraryDependencies += "com.google.api" % "gax" % "2.83.0" +libraryDependencies += "com.google.api" % "gax-grpc" % "2.83.0" ``` [//]: # ({x-version-update-end}) diff --git a/sdk-platform-java/gax-java/dependencies.properties b/sdk-platform-java/gax-java/dependencies.properties index 9981e174b606..02e26b668eed 100644 --- a/sdk-platform-java/gax-java/dependencies.properties +++ b/sdk-platform-java/gax-java/dependencies.properties @@ -8,16 +8,16 @@ # Versions of oneself # {x-version-update-start:gax:current} -version.gax=2.83.0-SNAPSHOT +version.gax=2.84.0-SNAPSHOT # {x-version-update-end} # {x-version-update-start:gax:current} -version.gax_grpc=2.83.0-SNAPSHOT +version.gax_grpc=2.84.0-SNAPSHOT # {x-version-update-end} # {x-version-update-start:gax:current} -version.gax_bom=2.83.0-SNAPSHOT +version.gax_bom=2.84.0-SNAPSHOT # {x-version-update-end} # {x-version-update-start:gax:current} -version.gax_httpjson=2.83.0-SNAPSHOT +version.gax_httpjson=2.84.0-SNAPSHOT # {x-version-update-end} # Versions for dependencies which actual artifacts differ between Bazel and Gradle. @@ -79,6 +79,7 @@ maven.javax_annotation_javax_annotation_api=javax.annotation:javax.annotation-ap maven.org_graalvm_sdk=org.graalvm.sdk:nativeimage:24.1.2 maven.org_slf4j_slf4j_api=org.slf4j:slf4j-api:2.0.16 maven.com_google_protobuf_protobuf_java_util=com.google.protobuf:protobuf-java-util:3.25.5 +maven.org_conscrypt_conscrypt_openjdk_uber=org.conscrypt:conscrypt-openjdk-uber:2.6.0 # Testing maven artifacts maven.org_jspecify_jspecify=org.jspecify:jspecify:1.0.0 diff --git a/sdk-platform-java/gax-java/gax-bom/pom.xml b/sdk-platform-java/gax-java/gax-bom/pom.xml index f1c19376e6df..bd62b96230dd 100644 --- a/sdk-platform-java/gax-java/gax-bom/pom.xml +++ b/sdk-platform-java/gax-java/gax-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.api gax-bom - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT pom GAX (Google Api eXtensions) for Java (BOM) Google Api eXtensions for Java (BOM) @@ -43,55 +43,55 @@ com.google.api gax - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT com.google.api gax - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT test-jar testlib com.google.api gax - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT testlib com.google.api gax-grpc - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT com.google.api gax-grpc - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT test-jar testlib com.google.api gax-grpc - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT testlib com.google.api gax-httpjson - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT com.google.api gax-httpjson - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT test-jar testlib com.google.api gax-httpjson - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT testlib diff --git a/sdk-platform-java/gax-java/gax-grpc/pom.xml b/sdk-platform-java/gax-java/gax-grpc/pom.xml index 888e26aa07c3..d717ac0944b5 100644 --- a/sdk-platform-java/gax-java/gax-grpc/pom.xml +++ b/sdk-platform-java/gax-java/gax-grpc/pom.xml @@ -3,7 +3,7 @@ 4.0.0 gax-grpc - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT jar GAX (Google Api eXtensions) for Java (gRPC) Google Api eXtensions for Java (gRPC) @@ -11,7 +11,7 @@ com.google.api gax-parent - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT diff --git a/sdk-platform-java/gax-java/gax-httpjson/BUILD.bazel b/sdk-platform-java/gax-java/gax-httpjson/BUILD.bazel index 6b1c5595897a..c4f78edb79a2 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/BUILD.bazel +++ b/sdk-platform-java/gax-java/gax-httpjson/BUILD.bazel @@ -25,6 +25,7 @@ _COMPILE_DEPS = [ "@com_google_api_grpc_proto_google_common_protos//jar", "@com_google_protobuf//:protobuf_java", "@com_google_protobuf_java_util//jar", + "@org_conscrypt_conscrypt_openjdk_uber//jar", "//gax:gax", ] diff --git a/sdk-platform-java/gax-java/gax-httpjson/pom.xml b/sdk-platform-java/gax-java/gax-httpjson/pom.xml index d46c32ffa025..b56f489b9f23 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/pom.xml +++ b/sdk-platform-java/gax-java/gax-httpjson/pom.xml @@ -3,7 +3,7 @@ 4.0.0 gax-httpjson - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT jar GAX (Google Api eXtensions) for Java (HTTP JSON) Google Api eXtensions for Java (HTTP JSON) @@ -11,7 +11,7 @@ com.google.api gax-parent - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT @@ -108,6 +108,10 @@ error_prone_annotations ${errorprone.version} + + org.conscrypt + conscrypt-openjdk-uber + diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonConscryptUtils.java b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonConscryptUtils.java new file mode 100644 index 000000000000..6f8924c2ea64 --- /dev/null +++ b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonConscryptUtils.java @@ -0,0 +1,147 @@ +/* + * Copyright 2026 Google LLC + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google LLC nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.google.api.gax.httpjson; + +import com.google.api.client.http.javanet.NetHttpTransport; +import com.google.api.core.InternalApi; +import java.security.Provider; +import java.util.logging.Level; +import java.util.logging.Logger; +import org.conscrypt.Conscrypt; + +/** Utility class for creating and configuring {@link NetHttpTransport} instances. */ +@InternalApi +public class HttpJsonConscryptUtils { + + private static final Logger LOG = Logger.getLogger(HttpJsonConscryptUtils.class.getName()); + + /** + * Default TLS 1.3 named groups configured when Conscrypt security provider is present, organized + * in client preference order: + * + *
    + *
  1. Standard ML-KEM algorithms: Prioritized first for quantum resistance. + *
  2. Draft Kyber algorithms: Retained as a fallback for legacy draft PQC deployments. + *
  3. Classical curves: Fallback for endpoints without PQC support. + *
+ * + *

In TLS 1.3, the client offers key exchange groups via the {@code supported_groups} + * ClientHello extension in preference order. The server selects the first group it supports. + * + *

For details on Conscrypt's supported TLS algorithms, see Conscrypt + * CAPABILITIES.md. + */ + public static final String[] DEFAULT_CONSCRYPT_NAMED_GROUPS = + new String[] { + "X25519MLKEM768", + "SecP256r1MLKEM768", + "MLKEM1024", + "MLKEM768", + "X25519Kyber768Draft00", + "X25519", + "secp256r1", + "secp384r1" + }; + + /** + * Lazy initialization holder for Conscrypt {@link Provider}. + * + *

Caches the Conscrypt {@link Provider} instance (or {@code null} if initialization fails) to + * avoid repeated expensive JNI initialization operations on every transport creation. + * + *

Returns {@code null} on failure so that transport creation can fall back to default JDK TLS, + * ensuring that setting Conscrypt as the default security provider does not cause breaking + * failures for customers running on environments where Conscrypt is unsupported or unavailable. + */ + private static class ConscryptProviderHolder { + private static final Provider INSTANCE = createProvider(); + + private static Provider createProvider() { + try { + return Conscrypt.newProvider(); + } catch (SecurityException | LinkageError t) { + LOG.log( + Level.FINE, + "Conscrypt native library unavailable. Falling back to default JDK TLS.", + t); + return null; + } + } + } + + /** + * Configures the given {@link NetHttpTransport.Builder} with Conscrypt as the security provider + * by default if Conscrypt is available. Users can customize the {@link NetHttpTransport.Builder} + * to use a different security provider. + * + * @param builder the {@link NetHttpTransport.Builder} to configure + * @return the configured {@link NetHttpTransport.Builder} + */ + public static NetHttpTransport.Builder configureConscryptSecurityProvider( + NetHttpTransport.Builder builder) { + Provider conscryptProvider = ConscryptProviderHolder.INSTANCE; + if (conscryptProvider == null) { + return builder; + } + return builder + .setSecurityProvider(conscryptProvider) + .setSslSocketConfigurator( + socket -> { + if (!Conscrypt.isConscrypt(socket)) { + return; + } + try { + Conscrypt.setNamedGroups(socket, DEFAULT_CONSCRYPT_NAMED_GROUPS); + } catch (Exception e) { + // Native JNI linkage errors (e.g. UnsatisfiedLinkError) are caught during + // ConscryptProviderHolder initialization. Catching Exception here safely + // intercepts runtime socket configuration errors (e.g. unsupported groups or + // closed socket) without swallowing JVM errors like OutOfMemoryError. + LOG.log( + Level.FINE, + "Failed to set PQC named groups on Conscrypt socket. Falling back to Conscrypt" + + " default TLS groups.", + e); + } + }); + } + + /** + * Returns the Conscrypt {@link Provider} instance, or {@code null} if Conscrypt is unavailable. + * + * @return the Conscrypt provider or null + */ + static Provider getConscryptProvider() { + return ConscryptProviderHolder.INSTANCE; + } + + private HttpJsonConscryptUtils() {} +} diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java index 4cffc99cea59..92ce4efe36aa 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java @@ -31,6 +31,7 @@ import com.google.api.client.http.HttpTransport; import com.google.api.client.http.javanet.NetHttpTransport; +import com.google.api.client.util.SslUtils; import com.google.api.core.InternalExtensionOnly; import com.google.api.gax.core.ExecutorProvider; import com.google.api.gax.rpc.FixedHeaderProvider; @@ -45,11 +46,13 @@ import java.io.IOException; import java.security.GeneralSecurityException; import java.security.KeyStore; +import java.security.Provider; import java.util.Map; import java.util.concurrent.Executor; import java.util.concurrent.ScheduledExecutorService; import java.util.logging.Level; import java.util.logging.Logger; +import javax.net.ssl.SSLContext; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -192,17 +195,42 @@ public TransportChannelProvider withCredentials(Credentials credentials) { "InstantiatingHttpJsonChannelProvider doesn't need credentials"); } - @Nullable HttpTransport createHttpTransport() throws IOException, GeneralSecurityException { - if (mtlsProvider == null) { - return null; + HttpTransport createHttpTransport() throws IOException, GeneralSecurityException { + NetHttpTransport.Builder builder = new NetHttpTransport.Builder(); + configureMtls(builder); + HttpJsonConscryptUtils.configureConscryptSecurityProvider(builder); + return builder.build(); + } + + private NetHttpTransport.Builder configureMtls(NetHttpTransport.Builder builder) + throws IOException, GeneralSecurityException { + if (mtlsProvider == null || !certificateBasedAccess.useMtlsClientCertificate()) { + return builder; } - if (certificateBasedAccess.useMtlsClientCertificate()) { - KeyStore mtlsKeyStore = mtlsProvider.getKeyStore(); - if (mtlsKeyStore != null) { - return new NetHttpTransport.Builder().trustCertificates(null, mtlsKeyStore, "").build(); - } + KeyStore mtlsKeyStore = mtlsProvider.getKeyStore(); + if (mtlsKeyStore == null) { + return builder; + } + builder.trustCertificates(null, mtlsKeyStore, ""); + Provider conscryptProvider = HttpJsonConscryptUtils.getConscryptProvider(); + if (conscryptProvider == null) { + // Fall back to standard JDK JSSE if Conscrypt provider is unavailable + return builder; } - return null; + // Explicitly initialize SSLContext with the Conscrypt provider so that the client certificate + // key managers + // and trust manager factory (TMF) are bound to Conscrypt's TLS implementation (supporting PQC + // key exchange). + SSLContext sslContext = SSLContext.getInstance("TLS", conscryptProvider); + SslUtils.initSslContext( + sslContext, + null, + SslUtils.getPkixTrustManagerFactory(), + mtlsKeyStore, + "", + SslUtils.getDefaultKeyManagerFactory()); + builder.setSslSocketFactory(sslContext.getSocketFactory()); + return builder; } private HttpJsonTransportChannel createChannel() throws IOException, GeneralSecurityException { @@ -366,7 +394,8 @@ public InstantiatingHttpJsonChannelProvider build() { "DefaultMtlsProviderFactory encountered unexpected IOException: " + e.getMessage()); LOG.log( Level.WARNING, - "mTLS configuration was detected on the device, but mTLS failed to initialize. Falling back to non-mTLS channel."); + "mTLS configuration was detected on the device, but mTLS failed to initialize." + + " Falling back to non-mTLS channel."); } } } diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ManagedHttpJsonChannel.java b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ManagedHttpJsonChannel.java index 8e24eafcce97..87767bee5c7f 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ManagedHttpJsonChannel.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ManagedHttpJsonChannel.java @@ -63,6 +63,11 @@ String getEndpoint() { return endpoint; } + @VisibleForTesting + HttpTransport getHttpTransport() { + return httpTransport; + } + private ManagedHttpJsonChannel( @Nullable Executor executor, boolean usingDefaultExecutor, @@ -71,7 +76,12 @@ private ManagedHttpJsonChannel( this.executor = executor; this.usingDefaultExecutor = usingDefaultExecutor; this.endpoint = endpoint; - this.httpTransport = httpTransport == null ? new NetHttpTransport() : httpTransport; + this.httpTransport = + httpTransport == null + ? HttpJsonConscryptUtils.configureConscryptSecurityProvider( + new NetHttpTransport.Builder()) + .build() + : httpTransport; this.deadlineScheduledExecutorService = Executors.newSingleThreadScheduledExecutor(); } @@ -227,11 +237,14 @@ public ManagedHttpJsonChannel build() { usingDefaultExecutor = true; } - return new ManagedHttpJsonChannel( - executor, - usingDefaultExecutor, - endpoint, - httpTransport == null ? new NetHttpTransport() : httpTransport); + if (httpTransport == null) { + httpTransport = + HttpJsonConscryptUtils.configureConscryptSecurityProvider( + new NetHttpTransport.Builder()) + .build(); + } + + return new ManagedHttpJsonChannel(executor, usingDefaultExecutor, endpoint, httpTransport); } } } diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/HttpJsonConscryptUtilsTest.java b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/HttpJsonConscryptUtilsTest.java new file mode 100644 index 000000000000..6c21a9c8ceb6 --- /dev/null +++ b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/HttpJsonConscryptUtilsTest.java @@ -0,0 +1,46 @@ +/* + * Copyright 2026 Google LLC + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google LLC nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.google.api.gax.httpjson; + +import static com.google.common.truth.Truth.assertThat; + +import java.security.Provider; +import org.junit.jupiter.api.Test; + +class HttpJsonConscryptUtilsTest { + + @Test + void testGetConscryptProvider_doesNotThrow() { + Provider provider = HttpJsonConscryptUtils.getConscryptProvider(); + if (provider != null) { + assertThat(provider.getName()).isEqualTo("Conscrypt"); + } + } +} diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTest.java b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTest.java index 0eeb2f27cd85..8c95c1d2e1c4 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTest.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTest.java @@ -31,9 +31,8 @@ import static com.google.common.truth.Truth.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.mockito.Mockito.mock; -import com.google.api.gax.rpc.HeaderProvider; +import com.google.api.client.http.javanet.NetHttpTransport; import com.google.api.gax.rpc.TransportChannelProvider; import com.google.api.gax.rpc.mtls.AbstractMtlsTransportChannelTest; import com.google.api.gax.rpc.mtls.CertificateBasedAccess; @@ -47,7 +46,6 @@ import java.util.concurrent.ScheduledThreadPoolExecutor; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.mockito.Mockito; class InstantiatingHttpJsonChannelProviderTest extends AbstractMtlsTransportChannelTest { @@ -190,10 +188,30 @@ protected Object getMtlsObjectFromTransportChannel( .setEndpoint("localhost:8080") .setMtlsProvider(provider) .setCertificateBasedAccess(certificateBasedAccess) - .setHeaderProvider( - mock(HeaderProvider.class, Mockito.withSettings().withoutAnnotations())) - .setExecutor(mock(Executor.class)) + .setHeaderProvider(Collections::emptyMap) + .setExecutor(Runnable::run) .build(); - return channelProvider.createHttpTransport(); + NetHttpTransport transport = (NetHttpTransport) channelProvider.createHttpTransport(); + return (transport != null && transport.isMtls()) ? transport : null; + } + + @Test + void testCreateHttpTransport_returnsValidTransport() throws Exception { + InstantiatingHttpJsonChannelProvider channelProvider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint("localhost:8080") + .setHeaderProvider(Collections::emptyMap) + .setExecutor(Runnable::run) + .build(); + NetHttpTransport transport = (NetHttpTransport) channelProvider.createHttpTransport(); + assertThat(transport).isNotNull(); + } + + @Test + void testConfigureConscryptSecurityProvider_returnsConfiguredBuilder() { + NetHttpTransport.Builder builder = new NetHttpTransport.Builder(); + NetHttpTransport.Builder result = + HttpJsonConscryptUtils.configureConscryptSecurityProvider(builder); + assertThat(result).isSameInstanceAs(builder); } } diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/ManagedHttpJsonChannelTest.java b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/ManagedHttpJsonChannelTest.java new file mode 100644 index 000000000000..234a8afe34d5 --- /dev/null +++ b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/ManagedHttpJsonChannelTest.java @@ -0,0 +1,57 @@ +/* + * Copyright 2026 Google LLC + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google LLC nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.google.api.gax.httpjson; + +import static com.google.common.truth.Truth.assertThat; + +import com.google.api.client.http.HttpTransport; +import com.google.api.client.http.javanet.NetHttpTransport; +import org.junit.jupiter.api.Test; + +class ManagedHttpJsonChannelTest { + + @Test + void testBuilder_defaultHttpTransport_createsNetHttpTransport() { + ManagedHttpJsonChannel channel = + ManagedHttpJsonChannel.newBuilder().setEndpoint("localhost:8080").build(); + assertThat(channel.getHttpTransport()).isInstanceOf(NetHttpTransport.class); + } + + @Test + void testBuilder_customHttpTransport_usesProvidedTransport() { + HttpTransport customTransport = new NetHttpTransport.Builder().build(); + ManagedHttpJsonChannel channel = + ManagedHttpJsonChannel.newBuilder() + .setEndpoint("localhost:8080") + .setHttpTransport(customTransport) + .build(); + assertThat(channel.getHttpTransport()).isSameInstanceAs(customTransport); + } +} diff --git a/sdk-platform-java/gax-java/gax/pom.xml b/sdk-platform-java/gax-java/gax/pom.xml index c89ecb88e1e3..897c3040f8b3 100644 --- a/sdk-platform-java/gax-java/gax/pom.xml +++ b/sdk-platform-java/gax-java/gax/pom.xml @@ -3,7 +3,7 @@ 4.0.0 gax - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT jar GAX (Google Api eXtensions) for Java (Core) Google Api eXtensions for Java (Core) @@ -11,7 +11,7 @@ com.google.api gax-parent - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT diff --git a/sdk-platform-java/gax-java/pom.xml b/sdk-platform-java/gax-java/pom.xml index 7bbfa58bf95b..38d26edd1c3b 100644 --- a/sdk-platform-java/gax-java/pom.xml +++ b/sdk-platform-java/gax-java/pom.xml @@ -4,14 +4,14 @@ com.google.api gax-parent pom - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT GAX (Google Api eXtensions) for Java (Parent) Google Api eXtensions for Java (Parent) com.google.api gapic-generator-java-pom-parent - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT ../gapic-generator-java-pom-parent @@ -50,27 +50,27 @@ com.google.api api-common - 2.66.0-SNAPSHOT + 2.67.0-SNAPSHOT com.google.auth google-auth-library-credentials - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT com.google.auth google-auth-library-oauth2-http - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT com.google.auth google-auth-library-appengine - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT com.google.auth google-auth-library-cab-token-generator - 1.50.0-SNAPSHOT + 1.51.0-SNAPSHOT org.threeten @@ -93,6 +93,11 @@ + + org.conscrypt + conscrypt-openjdk-uber + ${conscrypt.version} + io.opencensus opencensus-api @@ -111,24 +116,24 @@ com.google.api gax - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT com.google.api gax - 2.83.0-SNAPSHOT + 2.84.0-SNAPSHOT test-jar testlib com.google.api.grpc proto-google-common-protos - 2.74.0-SNAPSHOT + 2.75.0-SNAPSHOT com.google.api.grpc grpc-google-common-protos - 2.74.0-SNAPSHOT + 2.75.0-SNAPSHOT io.grpc diff --git a/sdk-platform-java/java-core/google-cloud-core-bom/pom.xml b/sdk-platform-java/java-core/google-cloud-core-bom/pom.xml index 0bf0bd46ff19..51c4b2f42030 100644 --- a/sdk-platform-java/java-core/google-cloud-core-bom/pom.xml +++ b/sdk-platform-java/java-core/google-cloud-core-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-core-bom - 2.73.0-SNAPSHOT + 2.74.0-SNAPSHOT pom com.google.api gapic-generator-java-pom-parent - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT ../../gapic-generator-java-pom-parent @@ -23,17 +23,17 @@ com.google.cloud google-cloud-core - 2.73.0-SNAPSHOT + 2.74.0-SNAPSHOT com.google.cloud google-cloud-core-grpc - 2.73.0-SNAPSHOT + 2.74.0-SNAPSHOT com.google.cloud google-cloud-core-http - 2.73.0-SNAPSHOT + 2.74.0-SNAPSHOT diff --git a/sdk-platform-java/java-core/google-cloud-core-grpc/pom.xml b/sdk-platform-java/java-core/google-cloud-core-grpc/pom.xml index 83bafb9ef036..9808638692fe 100644 --- a/sdk-platform-java/java-core/google-cloud-core-grpc/pom.xml +++ b/sdk-platform-java/java-core/google-cloud-core-grpc/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-core-grpc - 2.73.0-SNAPSHOT + 2.74.0-SNAPSHOT jar Google Cloud Core gRPC @@ -12,7 +12,7 @@ com.google.cloud google-cloud-core-parent - 2.73.0-SNAPSHOT + 2.74.0-SNAPSHOT google-cloud-core-grpc diff --git a/sdk-platform-java/java-core/google-cloud-core-http/pom.xml b/sdk-platform-java/java-core/google-cloud-core-http/pom.xml index 9bcac047678b..89b833d0e807 100644 --- a/sdk-platform-java/java-core/google-cloud-core-http/pom.xml +++ b/sdk-platform-java/java-core/google-cloud-core-http/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-core-http - 2.73.0-SNAPSHOT + 2.74.0-SNAPSHOT jar Google Cloud Core HTTP @@ -12,7 +12,7 @@ com.google.cloud google-cloud-core-parent - 2.73.0-SNAPSHOT + 2.74.0-SNAPSHOT google-cloud-core-http diff --git a/sdk-platform-java/java-core/google-cloud-core-http/src/main/java/com/google/cloud/http/HttpTransportOptions.java b/sdk-platform-java/java-core/google-cloud-core-http/src/main/java/com/google/cloud/http/HttpTransportOptions.java index f5ad54532f66..d204381b1f87 100644 --- a/sdk-platform-java/java-core/google-cloud-core-http/src/main/java/com/google/cloud/http/HttpTransportOptions.java +++ b/sdk-platform-java/java-core/google-cloud-core-http/src/main/java/com/google/cloud/http/HttpTransportOptions.java @@ -25,6 +25,7 @@ import com.google.api.client.http.javanet.NetHttpTransport; import com.google.api.gax.core.GaxProperties; import com.google.api.gax.httpjson.HttpHeadersUtils; +import com.google.api.gax.httpjson.HttpJsonConscryptUtils; import com.google.api.gax.httpjson.HttpJsonStatusCode; import com.google.api.gax.rpc.ApiClientHeaderProvider; import com.google.api.gax.rpc.EndpointContext; @@ -41,6 +42,7 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.util.Objects; +import java.util.logging.Logger; /** Class representing service options for those services that use HTTP as the transport layer. */ public class HttpTransportOptions implements TransportOptions { @@ -54,6 +56,7 @@ public class HttpTransportOptions implements TransportOptions { public static class DefaultHttpTransportFactory implements HttpTransportFactory { + private static final Logger LOG = Logger.getLogger(DefaultHttpTransportFactory.class.getName()); private static final HttpTransportFactory INSTANCE = new DefaultHttpTransportFactory(); @Override @@ -66,7 +69,10 @@ public HttpTransport create() { // Maybe not on App Engine } } - return new NetHttpTransport(); + + return HttpJsonConscryptUtils.configureConscryptSecurityProvider( + new NetHttpTransport.Builder()) + .build(); } } diff --git a/sdk-platform-java/java-core/google-cloud-core/pom.xml b/sdk-platform-java/java-core/google-cloud-core/pom.xml index d0bd9e840a6f..fa8b914bc2b0 100644 --- a/sdk-platform-java/java-core/google-cloud-core/pom.xml +++ b/sdk-platform-java/java-core/google-cloud-core/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-core - 2.73.0-SNAPSHOT + 2.74.0-SNAPSHOT jar Google Cloud Core @@ -12,7 +12,7 @@ com.google.cloud google-cloud-core-parent - 2.73.0-SNAPSHOT + 2.74.0-SNAPSHOT google-cloud-core diff --git a/sdk-platform-java/java-core/pom.xml b/sdk-platform-java/java-core/pom.xml index 5134e4a633cb..d703fdae4701 100644 --- a/sdk-platform-java/java-core/pom.xml +++ b/sdk-platform-java/java-core/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-core-parent pom - 2.73.0-SNAPSHOT + 2.74.0-SNAPSHOT Google Cloud Core Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.api gapic-generator-java-pom-parent - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT ../gapic-generator-java-pom-parent @@ -33,7 +33,7 @@ com.google.cloud google-cloud-shared-dependencies - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT pom import diff --git a/sdk-platform-java/java-shared-dependencies/README.md b/sdk-platform-java/java-shared-dependencies/README.md index ec92f0a5ef6e..90aeab064c12 100644 --- a/sdk-platform-java/java-shared-dependencies/README.md +++ b/sdk-platform-java/java-shared-dependencies/README.md @@ -14,7 +14,7 @@ If you are using Maven, add this to the `dependencyManagement` section. com.google.cloud google-cloud-shared-dependencies - 3.64.0 + 3.65.0 pom import diff --git a/sdk-platform-java/java-shared-dependencies/dependency-convergence-check/pom.xml b/sdk-platform-java/java-shared-dependencies/dependency-convergence-check/pom.xml index e45350e32164..777ef6d9afba 100644 --- a/sdk-platform-java/java-shared-dependencies/dependency-convergence-check/pom.xml +++ b/sdk-platform-java/java-shared-dependencies/dependency-convergence-check/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud shared-dependencies-dependency-convergence-test - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT Dependency convergence test for certain artifacts in Google Cloud Shared Dependencies An dependency convergence test case for the shared dependencies BOM. A failure of this test case means diff --git a/sdk-platform-java/java-shared-dependencies/first-party-dependencies/pom.xml b/sdk-platform-java/java-shared-dependencies/first-party-dependencies/pom.xml index de37e9a6b546..788a37f7f61e 100644 --- a/sdk-platform-java/java-shared-dependencies/first-party-dependencies/pom.xml +++ b/sdk-platform-java/java-shared-dependencies/first-party-dependencies/pom.xml @@ -6,7 +6,7 @@ com.google.cloud first-party-dependencies pom - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT Google Cloud First-party Shared Dependencies Shared first-party dependencies for Google Cloud Java libraries. @@ -21,7 +21,7 @@ UTF-8 ${project.artifactId} - 1.13.0-SNAPSHOT + 1.14.0-SNAPSHOT 1.39.0 2.7.2 @@ -32,7 +32,7 @@ com.google.api gapic-generator-java-bom - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT pom import @@ -44,7 +44,7 @@ com.google.cloud google-cloud-core-bom - 2.73.0-SNAPSHOT + 2.74.0-SNAPSHOT pom import @@ -68,13 +68,13 @@ com.google.cloud google-cloud-core - 2.73.0-SNAPSHOT + 2.74.0-SNAPSHOT test-jar com.google.cloud google-cloud-core - 2.73.0-SNAPSHOT + 2.74.0-SNAPSHOT tests diff --git a/sdk-platform-java/java-shared-dependencies/pom.xml b/sdk-platform-java/java-shared-dependencies/pom.xml index 265097c3575a..fdb55162a760 100644 --- a/sdk-platform-java/java-shared-dependencies/pom.xml +++ b/sdk-platform-java/java-shared-dependencies/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-shared-dependencies pom - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT first-party-dependencies third-party-dependencies @@ -17,7 +17,7 @@ com.google.api gapic-generator-java-pom-parent - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT ../gapic-generator-java-pom-parent @@ -31,14 +31,14 @@ com.google.cloud first-party-dependencies - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT pom import com.google.cloud third-party-dependencies - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT pom import diff --git a/sdk-platform-java/java-shared-dependencies/third-party-dependencies/pom.xml b/sdk-platform-java/java-shared-dependencies/third-party-dependencies/pom.xml index d35ef692bda9..b9fabed8a77e 100644 --- a/sdk-platform-java/java-shared-dependencies/third-party-dependencies/pom.xml +++ b/sdk-platform-java/java-shared-dependencies/third-party-dependencies/pom.xml @@ -6,7 +6,7 @@ com.google.cloud third-party-dependencies pom - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT Google Cloud Third-party Shared Dependencies Shared third-party dependencies for Google Cloud Java libraries. @@ -15,7 +15,7 @@ com.google.api gapic-generator-java-pom-parent - 2.75.0-SNAPSHOT + 2.76.0-SNAPSHOT ../../gapic-generator-java-pom-parent @@ -273,11 +273,6 @@ jspecify ${jspecify.version} - - org.conscrypt - conscrypt-openjdk-uber - ${conscrypt.version} - org.awaitility awaitility diff --git a/sdk-platform-java/java-shared-dependencies/upper-bound-check/pom.xml b/sdk-platform-java/java-shared-dependencies/upper-bound-check/pom.xml index 075f835dd5b4..38daad98985e 100644 --- a/sdk-platform-java/java-shared-dependencies/upper-bound-check/pom.xml +++ b/sdk-platform-java/java-shared-dependencies/upper-bound-check/pom.xml @@ -4,7 +4,7 @@ com.google.cloud shared-dependencies-upper-bound-test pom - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT Upper bound test for Google Cloud Shared Dependencies An upper bound test case for the shared dependencies BOM. A failure of this test case means @@ -29,7 +29,7 @@ com.google.cloud google-cloud-shared-dependencies - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT pom import diff --git a/sdk-platform-java/java-showcase-3.21.0/pom.xml b/sdk-platform-java/java-showcase-3.21.0/pom.xml index 2291eb2f139b..72df494ac265 100644 --- a/sdk-platform-java/java-showcase-3.21.0/pom.xml +++ b/sdk-platform-java/java-showcase-3.21.0/pom.xml @@ -31,7 +31,7 @@ com.google.cloud google-cloud-shared-dependencies - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT pom import diff --git a/sdk-platform-java/java-showcase-3.25.8/pom.xml b/sdk-platform-java/java-showcase-3.25.8/pom.xml index 2291eb2f139b..72df494ac265 100644 --- a/sdk-platform-java/java-showcase-3.25.8/pom.xml +++ b/sdk-platform-java/java-showcase-3.25.8/pom.xml @@ -31,7 +31,7 @@ com.google.cloud google-cloud-shared-dependencies - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT pom import diff --git a/sdk-platform-java/release-please-config.json b/sdk-platform-java/release-please-config.json index 035230bfbbd8..817f3afe4407 100644 --- a/sdk-platform-java/release-please-config.json +++ b/sdk-platform-java/release-please-config.json @@ -11,9 +11,6 @@ ".cloudbuild/graalvm/cloudbuild-test-a.yaml", ".cloudbuild/graalvm/cloudbuild-test-b.yaml", ".cloudbuild/graalvm/cloudbuild-test-c.yaml", - "hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/presubmit/graalvm-native-a.cfg", - "hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/presubmit/graalvm-native-b.cfg", - "hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/presubmit/graalvm-native-c.cfg", "java-showcase/gapic-showcase/src/main/java/com/google/showcase/v1beta1/stub/Version.java" ] diff --git a/sdk-platform-java/sdk-platform-java-config/pom.xml b/sdk-platform-java/sdk-platform-java-config/pom.xml index 829613eb736b..9b1a24099309 100644 --- a/sdk-platform-java/sdk-platform-java-config/pom.xml +++ b/sdk-platform-java/sdk-platform-java-config/pom.xml @@ -4,7 +4,7 @@ com.google.cloud sdk-platform-java-config pom - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT SDK Platform For Java Configurations Shared build configuration for Google Cloud Java libraries. @@ -13,12 +13,12 @@ com.google.cloud google-cloud-shared-config - 1.19.0-SNAPSHOT + 1.20.0-SNAPSHOT ../../java-shared-config/java-shared-config/pom.xml - 3.65.0-SNAPSHOT + 3.66.0-SNAPSHOT true diff --git a/versions.txt b/versions.txt index 473070fa457d..ae467cf52cd2 100644 --- a/versions.txt +++ b/versions.txt @@ -1,1103 +1,1103 @@ # Format: # module:released-version:current-version -google-cloud-java:1.88.1:1.89.0-SNAPSHOT -google-cloud-pom-parent:1.88.0:1.89.0-SNAPSHOT -google-cloud-accessapproval:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-accessapproval-v1:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-accessapproval-v1:2.95.0:2.96.0-SNAPSHOT -google-identity-accesscontextmanager:1.95.0:1.96.0-SNAPSHOT -grpc-google-identity-accesscontextmanager-v1:1.95.0:1.96.0-SNAPSHOT -proto-google-identity-accesscontextmanager-v1:1.95.0:1.96.0-SNAPSHOT -proto-google-identity-accesscontextmanager-type:1.95.0:1.96.0-SNAPSHOT -google-cloud-aiplatform:3.95.0:3.96.0-SNAPSHOT -grpc-google-cloud-aiplatform-v1:3.95.0:3.96.0-SNAPSHOT -grpc-google-cloud-aiplatform-v1beta1:3.95.0:3.96.0-SNAPSHOT -proto-google-cloud-aiplatform-v1:3.95.0:3.96.0-SNAPSHOT -proto-google-cloud-aiplatform-v1beta1:3.95.0:3.96.0-SNAPSHOT -google-analytics-admin:0.104.0:0.105.0-SNAPSHOT -grpc-google-analytics-admin-v1alpha:0.104.0:0.105.0-SNAPSHOT -proto-google-analytics-admin-v1alpha:0.104.0:0.105.0-SNAPSHOT -proto-google-analytics-admin-v1beta:0.104.0:0.105.0-SNAPSHOT -grpc-google-analytics-admin-v1beta:0.104.0:0.105.0-SNAPSHOT -google-analytics-data:0.105.0:0.106.0-SNAPSHOT -grpc-google-analytics-data-v1beta:0.105.0:0.106.0-SNAPSHOT -proto-google-analytics-data-v1beta:0.105.0:0.106.0-SNAPSHOT -proto-google-analytics-data-v1alpha:0.105.0:0.106.0-SNAPSHOT -grpc-google-analytics-data-v1alpha:0.105.0:0.106.0-SNAPSHOT -google-cloud-analyticshub:0.91.0:0.92.0-SNAPSHOT -proto-google-cloud-analyticshub-v1:0.91.0:0.92.0-SNAPSHOT -grpc-google-cloud-analyticshub-v1:0.91.0:0.92.0-SNAPSHOT -google-shopping-merchant-promotions:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-promotions-v1beta:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-promotions-v1beta:1.22.0:1.23.0-SNAPSHOT -google-cloud-api-gateway:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-api-gateway-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-api-gateway-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-apigee-connect:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-apigee-connect-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-apigee-connect-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-apikeys:0.92.0:0.93.0-SNAPSHOT -proto-google-cloud-apikeys-v2:0.92.0:0.93.0-SNAPSHOT -grpc-google-cloud-apikeys-v2:0.92.0:0.93.0-SNAPSHOT -google-cloud-appengine-admin:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-appengine-admin-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-appengine-admin-v1:2.94.0:2.95.0-SNAPSHOT -google-area120-tables:0.98.0:0.99.0-SNAPSHOT -grpc-google-area120-tables-v1alpha1:0.98.0:0.99.0-SNAPSHOT -proto-google-area120-tables-v1alpha1:0.98.0:0.99.0-SNAPSHOT -google-cloud-artifact-registry:1.93.0:1.94.0-SNAPSHOT -grpc-google-cloud-artifact-registry-v1beta2:1.93.0:1.94.0-SNAPSHOT -grpc-google-cloud-artifact-registry-v1:1.93.0:1.94.0-SNAPSHOT -proto-google-cloud-artifact-registry-v1beta2:1.93.0:1.94.0-SNAPSHOT -proto-google-cloud-artifact-registry-v1:1.93.0:1.94.0-SNAPSHOT -google-cloud-asset:3.98.0:3.99.0-SNAPSHOT -grpc-google-cloud-asset-v1:3.98.0:3.99.0-SNAPSHOT -grpc-google-cloud-asset-v1p1beta1:3.98.0:3.99.0-SNAPSHOT -grpc-google-cloud-asset-v1p2beta1:3.98.0:3.99.0-SNAPSHOT -grpc-google-cloud-asset-v1p5beta1:3.98.0:3.99.0-SNAPSHOT -grpc-google-cloud-asset-v1p7beta1:3.98.0:3.99.0-SNAPSHOT -proto-google-cloud-asset-v1:3.98.0:3.99.0-SNAPSHOT -proto-google-cloud-asset-v1p1beta1:3.98.0:3.99.0-SNAPSHOT -proto-google-cloud-asset-v1p2beta1:3.98.0:3.99.0-SNAPSHOT -proto-google-cloud-asset-v1p5beta1:3.98.0:3.99.0-SNAPSHOT -proto-google-cloud-asset-v1p7beta1:3.98.0:3.99.0-SNAPSHOT -google-cloud-assured-workloads:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-assured-workloads-v1beta1:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-assured-workloads-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-assured-workloads-v1beta1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-assured-workloads-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-automl:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-automl-v1beta1:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-automl-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-automl-v1beta1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-automl-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-bare-metal-solution:0.94.0:0.95.0-SNAPSHOT -proto-google-cloud-bare-metal-solution-v2:0.94.0:0.95.0-SNAPSHOT -grpc-google-cloud-bare-metal-solution-v2:0.94.0:0.95.0-SNAPSHOT -google-cloud-batch:0.94.0:0.95.0-SNAPSHOT -proto-google-cloud-batch-v1:0.94.0:0.95.0-SNAPSHOT -grpc-google-cloud-batch-v1:0.94.0:0.95.0-SNAPSHOT -proto-google-cloud-batch-v1alpha:0.94.0:0.95.0-SNAPSHOT -grpc-google-cloud-batch-v1alpha:0.94.0:0.95.0-SNAPSHOT -google-cloud-beyondcorp-appconnections:0.92.0:0.93.0-SNAPSHOT -proto-google-cloud-beyondcorp-appconnections-v1:0.92.0:0.93.0-SNAPSHOT -grpc-google-cloud-beyondcorp-appconnections-v1:0.92.0:0.93.0-SNAPSHOT -google-cloud-beyondcorp-appconnectors:0.92.0:0.93.0-SNAPSHOT -proto-google-cloud-beyondcorp-appconnectors-v1:0.92.0:0.93.0-SNAPSHOT -grpc-google-cloud-beyondcorp-appconnectors-v1:0.92.0:0.93.0-SNAPSHOT -google-cloud-beyondcorp-appgateways:0.92.0:0.93.0-SNAPSHOT -proto-google-cloud-beyondcorp-appgateways-v1:0.92.0:0.93.0-SNAPSHOT -grpc-google-cloud-beyondcorp-appgateways-v1:0.92.0:0.93.0-SNAPSHOT -google-cloud-beyondcorp-clientconnectorservices:0.92.0:0.93.0-SNAPSHOT -proto-google-cloud-beyondcorp-clientconnectorservices-v1:0.92.0:0.93.0-SNAPSHOT -grpc-google-cloud-beyondcorp-clientconnectorservices-v1:0.92.0:0.93.0-SNAPSHOT -google-cloud-beyondcorp-clientgateways:0.92.0:0.93.0-SNAPSHOT -proto-google-cloud-beyondcorp-clientgateways-v1:0.92.0:0.93.0-SNAPSHOT -grpc-google-cloud-beyondcorp-clientgateways-v1:0.92.0:0.93.0-SNAPSHOT -google-cloud-bigqueryconnection:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-bigqueryconnection-v1:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-bigqueryconnection-v1beta1:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-bigqueryconnection-v1:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-bigqueryconnection-v1beta1:2.96.0:2.97.0-SNAPSHOT -google-cloud-bigquery-data-exchange:2.89.0:2.90.0-SNAPSHOT -proto-google-cloud-bigquery-data-exchange-v1beta1:2.89.0:2.90.0-SNAPSHOT -grpc-google-cloud-bigquery-data-exchange-v1beta1:2.89.0:2.90.0-SNAPSHOT -google-cloud-bigquerydatapolicy:0.91.0:0.92.0-SNAPSHOT -proto-google-cloud-bigquerydatapolicy-v1beta1:0.91.0:0.92.0-SNAPSHOT -grpc-google-cloud-bigquerydatapolicy-v1beta1:0.91.0:0.92.0-SNAPSHOT -google-cloud-bigquerydatatransfer:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-bigquerydatatransfer-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-bigquerydatatransfer-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-bigquerymigration:0.97.0:0.98.0-SNAPSHOT -grpc-google-cloud-bigquerymigration-v2alpha:0.97.0:0.98.0-SNAPSHOT -proto-google-cloud-bigquerymigration-v2alpha:0.97.0:0.98.0-SNAPSHOT -proto-google-cloud-bigquerymigration-v2:0.97.0:0.98.0-SNAPSHOT -grpc-google-cloud-bigquerymigration-v2:0.97.0:0.98.0-SNAPSHOT -google-cloud-bigqueryreservation:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-bigqueryreservation-v1:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-bigqueryreservation-v1:2.95.0:2.96.0-SNAPSHOT -google-cloud-billingbudgets:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-billingbudgets-v1beta1:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-billingbudgets-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-billingbudgets-v1beta1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-billingbudgets-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-billing:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-billing-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-billing-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-binary-authorization:1.93.0:1.94.0-SNAPSHOT -grpc-google-cloud-binary-authorization-v1beta1:1.93.0:1.94.0-SNAPSHOT -grpc-google-cloud-binary-authorization-v1:1.93.0:1.94.0-SNAPSHOT -proto-google-cloud-binary-authorization-v1beta1:1.93.0:1.94.0-SNAPSHOT -proto-google-cloud-binary-authorization-v1:1.93.0:1.94.0-SNAPSHOT -google-cloud-certificate-manager:0.97.0:0.98.0-SNAPSHOT -proto-google-cloud-certificate-manager-v1:0.97.0:0.98.0-SNAPSHOT -grpc-google-cloud-certificate-manager-v1:0.97.0:0.98.0-SNAPSHOT -google-cloud-channel:3.98.0:3.99.0-SNAPSHOT -grpc-google-cloud-channel-v1:3.98.0:3.99.0-SNAPSHOT -proto-google-cloud-channel-v1:3.98.0:3.99.0-SNAPSHOT -google-cloud-build:3.96.0:3.97.0-SNAPSHOT -grpc-google-cloud-build-v1:3.96.0:3.97.0-SNAPSHOT -proto-google-cloud-build-v1:3.96.0:3.97.0-SNAPSHOT -google-cloud-cloudcommerceconsumerprocurement:0.92.0:0.93.0-SNAPSHOT -proto-google-cloud-cloudcommerceconsumerprocurement-v1alpha1:0.92.0:0.93.0-SNAPSHOT -grpc-google-cloud-cloudcommerceconsumerprocurement-v1alpha1:0.92.0:0.93.0-SNAPSHOT -google-cloud-compute:1.104.0:1.105.0-SNAPSHOT -proto-google-cloud-compute-v1:1.104.0:1.105.0-SNAPSHOT -google-cloud-contact-center-insights:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-contact-center-insights-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-contact-center-insights-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-containeranalysis-v1:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-containeranalysis-v1beta1:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-containeranalysis-v1beta1:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-containeranalysis-v1:2.95.0:2.96.0-SNAPSHOT -google-cloud-containeranalysis:2.95.0:2.96.0-SNAPSHOT -google-cloud-container:2.97.0:2.98.0-SNAPSHOT -grpc-google-cloud-container-v1:2.97.0:2.98.0-SNAPSHOT -grpc-google-cloud-container-v1beta1:2.97.0:2.98.0-SNAPSHOT -proto-google-cloud-container-v1:2.97.0:2.98.0-SNAPSHOT -proto-google-cloud-container-v1beta1:2.97.0:2.98.0-SNAPSHOT -google-cloud-contentwarehouse:0.90.0:0.91.0-SNAPSHOT -proto-google-cloud-contentwarehouse-v1:0.90.0:0.91.0-SNAPSHOT -grpc-google-cloud-contentwarehouse-v1:0.90.0:0.91.0-SNAPSHOT -google-cloud-datacatalog:1.100.0:1.101.0-SNAPSHOT -grpc-google-cloud-datacatalog-v1:1.100.0:1.101.0-SNAPSHOT -grpc-google-cloud-datacatalog-v1beta1:1.100.0:1.101.0-SNAPSHOT -proto-google-cloud-datacatalog-v1:1.100.0:1.101.0-SNAPSHOT -proto-google-cloud-datacatalog-v1beta1:1.100.0:1.101.0-SNAPSHOT -google-cloud-dataflow:0.98.0:0.99.0-SNAPSHOT -grpc-google-cloud-dataflow-v1beta3:0.98.0:0.99.0-SNAPSHOT -proto-google-cloud-dataflow-v1beta3:0.98.0:0.99.0-SNAPSHOT -google-cloud-dataform:0.93.0:0.94.0-SNAPSHOT -proto-google-cloud-dataform-v1beta1:0.93.0:0.94.0-SNAPSHOT -grpc-google-cloud-dataform-v1beta1:0.93.0:0.94.0-SNAPSHOT -google-cloud-data-fusion:1.94.0:1.95.0-SNAPSHOT -grpc-google-cloud-data-fusion-v1beta1:1.94.0:1.95.0-SNAPSHOT -grpc-google-cloud-data-fusion-v1:1.94.0:1.95.0-SNAPSHOT -proto-google-cloud-data-fusion-v1beta1:1.94.0:1.95.0-SNAPSHOT -proto-google-cloud-data-fusion-v1:1.94.0:1.95.0-SNAPSHOT -google-cloud-datalabeling:0.214.0:0.215.0-SNAPSHOT -grpc-google-cloud-datalabeling-v1beta1:0.214.0:0.215.0-SNAPSHOT -proto-google-cloud-datalabeling-v1beta1:0.214.0:0.215.0-SNAPSHOT -google-cloud-dataplex:1.92.0:1.93.0-SNAPSHOT -proto-google-cloud-dataplex-v1:1.92.0:1.93.0-SNAPSHOT -grpc-google-cloud-dataplex-v1:1.92.0:1.93.0-SNAPSHOT -google-cloud-dataproc-metastore:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-dataproc-metastore-v1beta:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-dataproc-metastore-v1alpha:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-dataproc-metastore-v1:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-dataproc-metastore-v1beta:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-dataproc-metastore-v1alpha:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-dataproc-metastore-v1:2.95.0:2.96.0-SNAPSHOT -google-cloud-dataproc:4.91.1:4.92.0-SNAPSHOT -grpc-google-cloud-dataproc-v1:4.91.1:4.92.0-SNAPSHOT -proto-google-cloud-dataproc-v1:4.91.1:4.92.0-SNAPSHOT -google-cloud-datastream:1.93.0:1.94.0-SNAPSHOT -grpc-google-cloud-datastream-v1alpha1:1.93.0:1.94.0-SNAPSHOT -proto-google-cloud-datastream-v1alpha1:1.93.0:1.94.0-SNAPSHOT -proto-google-cloud-datastream-v1:1.93.0:1.94.0-SNAPSHOT -grpc-google-cloud-datastream-v1:1.93.0:1.94.0-SNAPSHOT -proto-google-devtools-source-protos:1.94.0:1.95.0-SNAPSHOT -google-cloud-deploy:1.92.0:1.93.0-SNAPSHOT -grpc-google-cloud-deploy-v1:1.92.0:1.93.0-SNAPSHOT -proto-google-cloud-deploy-v1:1.92.0:1.93.0-SNAPSHOT -google-cloud-dialogflow-cx:0.105.0:0.106.0-SNAPSHOT -grpc-google-cloud-dialogflow-cx-v3beta1:0.105.0:0.106.0-SNAPSHOT -grpc-google-cloud-dialogflow-cx-v3:0.105.0:0.106.0-SNAPSHOT -proto-google-cloud-dialogflow-cx-v3beta1:0.105.0:0.106.0-SNAPSHOT -proto-google-cloud-dialogflow-cx-v3:0.105.0:0.106.0-SNAPSHOT -google-cloud-dialogflow:4.100.0:4.101.0-SNAPSHOT -grpc-google-cloud-dialogflow-v2beta1:4.100.0:4.101.0-SNAPSHOT -grpc-google-cloud-dialogflow-v2:4.100.0:4.101.0-SNAPSHOT -proto-google-cloud-dialogflow-v2:4.100.0:4.101.0-SNAPSHOT -proto-google-cloud-dialogflow-v2beta1:4.100.0:4.101.0-SNAPSHOT -google-cloud-discoveryengine:0.90.0:0.91.0-SNAPSHOT -proto-google-cloud-discoveryengine-v1beta:0.90.0:0.91.0-SNAPSHOT -grpc-google-cloud-discoveryengine-v1beta:0.90.0:0.91.0-SNAPSHOT -google-cloud-distributedcloudedge:0.91.0:0.92.0-SNAPSHOT -proto-google-cloud-distributedcloudedge-v1:0.91.0:0.92.0-SNAPSHOT -grpc-google-cloud-distributedcloudedge-v1:0.91.0:0.92.0-SNAPSHOT -google-cloud-dlp:3.98.0:3.99.0-SNAPSHOT -grpc-google-cloud-dlp-v2:3.98.0:3.99.0-SNAPSHOT -proto-google-cloud-dlp-v2:3.98.0:3.99.0-SNAPSHOT -google-cloud-dms:2.93.0:2.94.0-SNAPSHOT -grpc-google-cloud-dms-v1:2.93.0:2.94.0-SNAPSHOT -proto-google-cloud-dms-v1:2.93.0:2.94.0-SNAPSHOT -google-cloud-document-ai:2.98.0:2.99.0-SNAPSHOT -grpc-google-cloud-document-ai-v1beta3:2.98.0:2.99.0-SNAPSHOT -grpc-google-cloud-document-ai-v1:2.98.0:2.99.0-SNAPSHOT -proto-google-cloud-document-ai-v1beta3:2.98.0:2.99.0-SNAPSHOT -proto-google-cloud-document-ai-v1:2.98.0:2.99.0-SNAPSHOT -google-cloud-domains:1.91.0:1.92.0-SNAPSHOT -grpc-google-cloud-domains-v1beta1:1.91.0:1.92.0-SNAPSHOT -grpc-google-cloud-domains-v1alpha2:1.91.0:1.92.0-SNAPSHOT -grpc-google-cloud-domains-v1:1.91.0:1.92.0-SNAPSHOT -proto-google-cloud-domains-v1beta1:1.91.0:1.92.0-SNAPSHOT -proto-google-cloud-domains-v1alpha2:1.91.0:1.92.0-SNAPSHOT -proto-google-cloud-domains-v1:1.91.0:1.92.0-SNAPSHOT -google-cloud-enterpriseknowledgegraph:0.90.0:0.91.0-SNAPSHOT -proto-google-cloud-enterpriseknowledgegraph-v1:0.90.0:0.91.0-SNAPSHOT -grpc-google-cloud-enterpriseknowledgegraph-v1:0.90.0:0.91.0-SNAPSHOT -google-cloud-errorreporting:0.215.0-beta:0.216.0-beta-SNAPSHOT -grpc-google-cloud-error-reporting-v1beta1:0.215.0-beta:0.216.0-beta-SNAPSHOT -proto-google-cloud-error-reporting-v1beta1:0.215.0-beta:0.216.0-beta-SNAPSHOT -google-cloud-essential-contacts:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-essential-contacts-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-essential-contacts-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-eventarc:1.94.0:1.95.0-SNAPSHOT -grpc-google-cloud-eventarc-v1:1.94.0:1.95.0-SNAPSHOT -proto-google-cloud-eventarc-v1:1.94.0:1.95.0-SNAPSHOT -google-cloud-eventarc-publishing:0.94.0:0.95.0-SNAPSHOT -proto-google-cloud-eventarc-publishing-v1:0.94.0:0.95.0-SNAPSHOT -grpc-google-cloud-eventarc-publishing-v1:0.94.0:0.95.0-SNAPSHOT -google-cloud-filestore:1.95.0:1.96.0-SNAPSHOT -grpc-google-cloud-filestore-v1beta1:1.95.0:1.96.0-SNAPSHOT -grpc-google-cloud-filestore-v1:1.95.0:1.96.0-SNAPSHOT -proto-google-cloud-filestore-v1:1.95.0:1.96.0-SNAPSHOT -proto-google-cloud-filestore-v1beta1:1.95.0:1.96.0-SNAPSHOT -google-cloud-functions:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-functions-v1:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-functions-v1:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-functions-v2beta:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-functions-v2alpha:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-functions-v2beta:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-functions-v2alpha:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-functions-v2:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-functions-v2:2.96.0:2.97.0-SNAPSHOT -google-cloud-game-servers:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-game-servers-v1:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-game-servers-v1beta:0.119.0:0.120.0-SNAPSHOT -proto-google-cloud-game-servers-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-game-servers-v1beta:0.119.0:0.120.0-SNAPSHOT -google-cloud-gke-backup:0.93.0:0.94.0-SNAPSHOT -proto-google-cloud-gke-backup-v1:0.93.0:0.94.0-SNAPSHOT -grpc-google-cloud-gke-backup-v1:0.93.0:0.94.0-SNAPSHOT -google-cloud-gke-connect-gateway:0.95.0:0.96.0-SNAPSHOT -proto-google-cloud-gke-connect-gateway-v1beta1:0.95.0:0.96.0-SNAPSHOT -google-cloud-gkehub:1.94.0:1.95.0-SNAPSHOT -grpc-google-cloud-gkehub-v1beta1:1.94.0:1.95.0-SNAPSHOT -grpc-google-cloud-gkehub-v1:1.94.0:1.95.0-SNAPSHOT -grpc-google-cloud-gkehub-v1alpha:1.94.0:1.95.0-SNAPSHOT -grpc-google-cloud-gkehub-v1beta:1.94.0:1.95.0-SNAPSHOT -proto-google-cloud-gkehub-v1beta1:1.94.0:1.95.0-SNAPSHOT -proto-google-cloud-gkehub-v1:1.94.0:1.95.0-SNAPSHOT -proto-google-cloud-gkehub-v1alpha:1.94.0:1.95.0-SNAPSHOT -proto-google-cloud-gkehub-v1beta:1.94.0:1.95.0-SNAPSHOT -google-cloud-gke-multi-cloud:0.93.0:0.94.0-SNAPSHOT -proto-google-cloud-gke-multi-cloud-v1:0.93.0:0.94.0-SNAPSHOT -grpc-google-cloud-gke-multi-cloud-v1:0.93.0:0.94.0-SNAPSHOT -grafeas:2.95.0:2.96.0-SNAPSHOT -google-cloud-gsuite-addons:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-gsuite-addons-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-gsuite-addons-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-apps-script-type-protos:2.94.0:2.95.0-SNAPSHOT -google-iam-admin:3.89.0:3.90.0-SNAPSHOT -grpc-google-iam-admin-v1:3.89.0:3.90.0-SNAPSHOT -proto-google-iam-admin-v1:3.89.0:3.90.0-SNAPSHOT -google-cloud-iamcredentials:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-iamcredentials-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-iamcredentials-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-ids:1.93.0:1.94.0-SNAPSHOT -grpc-google-cloud-ids-v1:1.93.0:1.94.0-SNAPSHOT -proto-google-cloud-ids-v1:1.93.0:1.94.0-SNAPSHOT -google-cloud-iot:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-iot-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-iot-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-kms:2.97.0:2.98.0-SNAPSHOT -grpc-google-cloud-kms-v1:2.97.0:2.98.0-SNAPSHOT -proto-google-cloud-kms-v1:2.97.0:2.98.0-SNAPSHOT -google-cloud-language:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-language-v1:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-language-v1beta2:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-language-v1:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-language-v1beta2:2.95.0:2.96.0-SNAPSHOT -google-cloud-life-sciences:0.96.0:0.97.0-SNAPSHOT -grpc-google-cloud-life-sciences-v2beta:0.96.0:0.97.0-SNAPSHOT -proto-google-cloud-life-sciences-v2beta:0.96.0:0.97.0-SNAPSHOT -google-cloud-managed-identities:1.92.0:1.93.0-SNAPSHOT -grpc-google-cloud-managed-identities-v1:1.92.0:1.93.0-SNAPSHOT -proto-google-cloud-managed-identities-v1:1.92.0:1.93.0-SNAPSHOT -google-cloud-mediatranslation:0.100.0:0.101.0-SNAPSHOT -grpc-google-cloud-mediatranslation-v1beta1:0.100.0:0.101.0-SNAPSHOT -proto-google-cloud-mediatranslation-v1beta1:0.100.0:0.101.0-SNAPSHOT -google-cloud-memcache:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-memcache-v1beta2:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-memcache-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-memcache-v1beta2:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-memcache-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-monitoring-dashboard:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-monitoring-dashboard-v1:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-monitoring-dashboard-v1:2.96.0:2.97.0-SNAPSHOT -google-cloud-monitoring:3.95.0:3.96.0-SNAPSHOT -grpc-google-cloud-monitoring-v3:3.95.0:3.96.0-SNAPSHOT -proto-google-cloud-monitoring-v3:3.95.0:3.96.0-SNAPSHOT -google-cloud-networkconnectivity:1.93.0:1.94.0-SNAPSHOT -grpc-google-cloud-networkconnectivity-v1alpha1:1.93.0:1.94.0-SNAPSHOT -grpc-google-cloud-networkconnectivity-v1:1.93.0:1.94.0-SNAPSHOT -proto-google-cloud-networkconnectivity-v1alpha1:1.93.0:1.94.0-SNAPSHOT -proto-google-cloud-networkconnectivity-v1:1.93.0:1.94.0-SNAPSHOT -google-cloud-network-management:1.95.0:1.96.0-SNAPSHOT -grpc-google-cloud-network-management-v1beta1:1.95.0:1.96.0-SNAPSHOT -grpc-google-cloud-network-management-v1:1.95.0:1.96.0-SNAPSHOT -proto-google-cloud-network-management-v1beta1:1.95.0:1.96.0-SNAPSHOT -proto-google-cloud-network-management-v1:1.95.0:1.96.0-SNAPSHOT -google-cloud-network-security:0.97.0:0.98.0-SNAPSHOT -grpc-google-cloud-network-security-v1beta1:0.97.0:0.98.0-SNAPSHOT -proto-google-cloud-network-security-v1beta1:0.97.0:0.98.0-SNAPSHOT -proto-google-cloud-network-security-v1:0.97.0:0.98.0-SNAPSHOT -grpc-google-cloud-network-security-v1:0.97.0:0.98.0-SNAPSHOT -google-cloud-notebooks:1.92.0:1.93.0-SNAPSHOT -grpc-google-cloud-notebooks-v1beta1:1.92.0:1.93.0-SNAPSHOT -grpc-google-cloud-notebooks-v1:1.92.0:1.93.0-SNAPSHOT -proto-google-cloud-notebooks-v1beta1:1.92.0:1.93.0-SNAPSHOT -proto-google-cloud-notebooks-v1:1.92.0:1.93.0-SNAPSHOT -google-cloud-notification:0.212.0-beta:0.213.0-beta-SNAPSHOT -google-cloud-optimization:1.92.0:1.93.0-SNAPSHOT -proto-google-cloud-optimization-v1:1.92.0:1.93.0-SNAPSHOT -grpc-google-cloud-optimization-v1:1.92.0:1.93.0-SNAPSHOT -google-cloud-orchestration-airflow:1.94.0:1.95.0-SNAPSHOT -grpc-google-cloud-orchestration-airflow-v1:1.94.0:1.95.0-SNAPSHOT -grpc-google-cloud-orchestration-airflow-v1beta1:1.94.0:1.95.0-SNAPSHOT -proto-google-cloud-orchestration-airflow-v1:1.94.0:1.95.0-SNAPSHOT -proto-google-cloud-orchestration-airflow-v1beta1:1.94.0:1.95.0-SNAPSHOT -google-cloud-orgpolicy:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-orgpolicy-v2:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-orgpolicy-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-orgpolicy-v2:2.94.0:2.95.0-SNAPSHOT -google-cloud-os-config:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-os-config-v1:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-os-config-v1beta:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-os-config-v1alpha:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-os-config-v1:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-os-config-v1alpha:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-os-config-v1beta:2.96.0:2.97.0-SNAPSHOT -google-cloud-os-login:2.93.0:2.94.0-SNAPSHOT -grpc-google-cloud-os-login-v1:2.93.0:2.94.0-SNAPSHOT -proto-google-cloud-os-login-v1:2.93.0:2.94.0-SNAPSHOT -google-cloud-phishingprotection:0.125.0:0.126.0-SNAPSHOT -grpc-google-cloud-phishingprotection-v1beta1:0.125.0:0.126.0-SNAPSHOT -proto-google-cloud-phishingprotection-v1beta1:0.125.0:0.126.0-SNAPSHOT -google-cloud-policy-troubleshooter:1.93.0:1.94.0-SNAPSHOT -grpc-google-cloud-policy-troubleshooter-v1:1.93.0:1.94.0-SNAPSHOT -proto-google-cloud-policy-troubleshooter-v1:1.93.0:1.94.0-SNAPSHOT -google-cloud-private-catalog:0.96.0:0.97.0-SNAPSHOT -grpc-google-cloud-private-catalog-v1beta1:0.96.0:0.97.0-SNAPSHOT -proto-google-cloud-private-catalog-v1beta1:0.96.0:0.97.0-SNAPSHOT -google-cloud-profiler:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-profiler-v2:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-profiler-v2:2.94.0:2.95.0-SNAPSHOT -google-cloud-publicca:0.91.0:0.92.0-SNAPSHOT -proto-google-cloud-publicca-v1beta1:0.91.0:0.92.0-SNAPSHOT -grpc-google-cloud-publicca-v1beta1:0.91.0:0.92.0-SNAPSHOT -google-cloud-recaptchaenterprise:3.91.0:3.92.0-SNAPSHOT -grpc-google-cloud-recaptchaenterprise-v1:3.91.0:3.92.0-SNAPSHOT -grpc-google-cloud-recaptchaenterprise-v1beta1:3.91.0:3.92.0-SNAPSHOT -proto-google-cloud-recaptchaenterprise-v1:3.91.0:3.92.0-SNAPSHOT -proto-google-cloud-recaptchaenterprise-v1beta1:3.91.0:3.92.0-SNAPSHOT -google-cloud-recommendations-ai:0.101.0:0.102.0-SNAPSHOT -grpc-google-cloud-recommendations-ai-v1beta1:0.101.0:0.102.0-SNAPSHOT -proto-google-cloud-recommendations-ai-v1beta1:0.101.0:0.102.0-SNAPSHOT -google-cloud-recommender:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-recommender-v1:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-recommender-v1beta1:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-recommender-v1:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-recommender-v1beta1:2.96.0:2.97.0-SNAPSHOT -google-cloud-redis:2.97.0:2.98.0-SNAPSHOT -grpc-google-cloud-redis-v1beta1:2.97.0:2.98.0-SNAPSHOT -grpc-google-cloud-redis-v1:2.97.0:2.98.0-SNAPSHOT -proto-google-cloud-redis-v1:2.97.0:2.98.0-SNAPSHOT -proto-google-cloud-redis-v1beta1:2.97.0:2.98.0-SNAPSHOT -google-cloud-resourcemanager:1.96.0:1.97.0-SNAPSHOT -grpc-google-cloud-resourcemanager-v3:1.96.0:1.97.0-SNAPSHOT -proto-google-cloud-resourcemanager-v3:1.96.0:1.97.0-SNAPSHOT -google-cloud-retail:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-retail-v2:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-retail-v2:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-retail-v2alpha:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-retail-v2beta:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-retail-v2alpha:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-retail-v2beta:2.96.0:2.97.0-SNAPSHOT -google-cloud-run:0.94.0:0.95.0-SNAPSHOT -proto-google-cloud-run-v2:0.94.0:0.95.0-SNAPSHOT -grpc-google-cloud-run-v2:0.94.0:0.95.0-SNAPSHOT -google-cloud-scheduler:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-scheduler-v1beta1:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-scheduler-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-scheduler-v1beta1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-scheduler-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-secretmanager:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-secretmanager-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-secretmanager-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-securitycenter:2.102.0:2.103.0-SNAPSHOT -grpc-google-cloud-securitycenter-v1:2.102.0:2.103.0-SNAPSHOT -grpc-google-cloud-securitycenter-v1beta1:2.102.0:2.103.0-SNAPSHOT -grpc-google-cloud-securitycenter-v1p1beta1:2.102.0:2.103.0-SNAPSHOT -proto-google-cloud-securitycenter-v1:2.102.0:2.103.0-SNAPSHOT -proto-google-cloud-securitycenter-v1beta1:2.102.0:2.103.0-SNAPSHOT -proto-google-cloud-securitycenter-v1p1beta1:2.102.0:2.103.0-SNAPSHOT -google-cloud-securitycenter-settings:0.97.0:0.98.0-SNAPSHOT -grpc-google-cloud-securitycenter-settings-v1beta1:0.97.0:0.98.0-SNAPSHOT -proto-google-cloud-securitycenter-settings-v1beta1:0.97.0:0.98.0-SNAPSHOT -google-cloud-security-private-ca:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-security-private-ca-v1beta1:2.96.0:2.97.0-SNAPSHOT -grpc-google-cloud-security-private-ca-v1:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-security-private-ca-v1beta1:2.96.0:2.97.0-SNAPSHOT -proto-google-cloud-security-private-ca-v1:2.96.0:2.97.0-SNAPSHOT -google-cloud-service-control:1.94.0:1.95.0-SNAPSHOT -grpc-google-cloud-service-control-v1:1.94.0:1.95.0-SNAPSHOT -proto-google-cloud-service-control-v1:1.94.0:1.95.0-SNAPSHOT -proto-google-cloud-service-control-v2:1.94.0:1.95.0-SNAPSHOT -grpc-google-cloud-service-control-v2:1.94.0:1.95.0-SNAPSHOT -google-cloud-servicedirectory:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-servicedirectory-v1beta1:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-servicedirectory-v1:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-servicedirectory-v1beta1:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-servicedirectory-v1:2.95.0:2.96.0-SNAPSHOT -google-cloud-service-management:3.92.0:3.93.0-SNAPSHOT -grpc-google-cloud-service-management-v1:3.92.0:3.93.0-SNAPSHOT -proto-google-cloud-service-management-v1:3.92.0:3.93.0-SNAPSHOT -google-cloud-service-usage:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-service-usage-v1beta1:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-service-usage-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-service-usage-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-service-usage-v1beta1:2.94.0:2.95.0-SNAPSHOT -google-cloud-shell:2.93.0:2.94.0-SNAPSHOT -grpc-google-cloud-shell-v1:2.93.0:2.94.0-SNAPSHOT -proto-google-cloud-shell-v1:2.93.0:2.94.0-SNAPSHOT -google-cloud-speech:4.89.0:4.90.0-SNAPSHOT -grpc-google-cloud-speech-v1:4.89.0:4.90.0-SNAPSHOT -grpc-google-cloud-speech-v1p1beta1:4.89.0:4.90.0-SNAPSHOT -proto-google-cloud-speech-v1:4.89.0:4.90.0-SNAPSHOT -proto-google-cloud-speech-v1p1beta1:4.89.0:4.90.0-SNAPSHOT -proto-google-cloud-speech-v2:4.89.0:4.90.0-SNAPSHOT -grpc-google-cloud-speech-v2:4.89.0:4.90.0-SNAPSHOT -google-cloud-storage-transfer:1.94.0:1.95.0-SNAPSHOT -grpc-google-cloud-storage-transfer-v1:1.94.0:1.95.0-SNAPSHOT -proto-google-cloud-storage-transfer-v1:1.94.0:1.95.0-SNAPSHOT -google-cloud-talent:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-talent-v4:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-talent-v4beta1:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-talent-v4:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-talent-v4beta1:2.95.0:2.96.0-SNAPSHOT -google-cloud-tasks:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-tasks-v2beta3:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-tasks-v2beta2:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-tasks-v2:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-tasks-v2beta3:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-tasks-v2beta2:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-tasks-v2:2.94.0:2.95.0-SNAPSHOT -google-cloud-texttospeech:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-texttospeech-v1beta1:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-texttospeech-v1:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-texttospeech-v1:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-texttospeech-v1beta1:2.95.0:2.96.0-SNAPSHOT -google-cloud-tpu:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-tpu-v1:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-tpu-v2alpha1:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-tpu-v1:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-tpu-v2alpha1:2.95.0:2.96.0-SNAPSHOT -google-cloud-trace:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-trace-v1:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-trace-v2:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-trace-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-trace-v2:2.94.0:2.95.0-SNAPSHOT -google-cloud-translate:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-translate-v3beta1:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-translate-v3:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-translate-v3beta1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-translate-v3:2.94.0:2.95.0-SNAPSHOT -google-cloud-video-intelligence:2.93.0:2.94.0-SNAPSHOT -grpc-google-cloud-video-intelligence-v1p1beta1:2.93.0:2.94.0-SNAPSHOT -grpc-google-cloud-video-intelligence-v1beta2:2.93.0:2.94.0-SNAPSHOT -grpc-google-cloud-video-intelligence-v1:2.93.0:2.94.0-SNAPSHOT -grpc-google-cloud-video-intelligence-v1p2beta1:2.93.0:2.94.0-SNAPSHOT -grpc-google-cloud-video-intelligence-v1p3beta1:2.93.0:2.94.0-SNAPSHOT -proto-google-cloud-video-intelligence-v1p3beta1:2.93.0:2.94.0-SNAPSHOT -proto-google-cloud-video-intelligence-v1beta2:2.93.0:2.94.0-SNAPSHOT -proto-google-cloud-video-intelligence-v1p1beta1:2.93.0:2.94.0-SNAPSHOT -proto-google-cloud-video-intelligence-v1:2.93.0:2.94.0-SNAPSHOT -proto-google-cloud-video-intelligence-v1p2beta1:2.93.0:2.94.0-SNAPSHOT -google-cloud-live-stream:0.96.0:0.97.0-SNAPSHOT -proto-google-cloud-live-stream-v1:0.96.0:0.97.0-SNAPSHOT -grpc-google-cloud-live-stream-v1:0.96.0:0.97.0-SNAPSHOT -google-cloud-video-stitcher:0.94.0:0.95.0-SNAPSHOT -proto-google-cloud-video-stitcher-v1:0.94.0:0.95.0-SNAPSHOT -grpc-google-cloud-video-stitcher-v1:0.94.0:0.95.0-SNAPSHOT -google-cloud-video-transcoder:1.93.0:1.94.0-SNAPSHOT -grpc-google-cloud-video-transcoder-v1:1.93.0:1.94.0-SNAPSHOT -proto-google-cloud-video-transcoder-v1:1.93.0:1.94.0-SNAPSHOT -google-cloud-vision:3.92.0:3.93.0-SNAPSHOT -grpc-google-cloud-vision-v1p3beta1:3.92.0:3.93.0-SNAPSHOT -grpc-google-cloud-vision-v1p1beta1:3.92.0:3.93.0-SNAPSHOT -grpc-google-cloud-vision-v1p4beta1:3.92.0:3.93.0-SNAPSHOT -grpc-google-cloud-vision-v1p2beta1:3.92.0:3.93.0-SNAPSHOT -grpc-google-cloud-vision-v1:3.92.0:3.93.0-SNAPSHOT -proto-google-cloud-vision-v1p4beta1:3.92.0:3.93.0-SNAPSHOT -proto-google-cloud-vision-v1:3.92.0:3.93.0-SNAPSHOT -proto-google-cloud-vision-v1p1beta1:3.92.0:3.93.0-SNAPSHOT -proto-google-cloud-vision-v1p3beta1:3.92.0:3.93.0-SNAPSHOT -proto-google-cloud-vision-v1p2beta1:3.92.0:3.93.0-SNAPSHOT -google-cloud-vmmigration:1.94.0:1.95.0-SNAPSHOT -grpc-google-cloud-vmmigration-v1:1.94.0:1.95.0-SNAPSHOT -proto-google-cloud-vmmigration-v1:1.94.0:1.95.0-SNAPSHOT -google-cloud-vpcaccess:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-vpcaccess-v1:2.95.0:2.96.0-SNAPSHOT -proto-google-cloud-vpcaccess-v1:2.95.0:2.96.0-SNAPSHOT -google-cloud-webrisk:2.93.0:2.94.0-SNAPSHOT -grpc-google-cloud-webrisk-v1:2.93.0:2.94.0-SNAPSHOT -grpc-google-cloud-webrisk-v1beta1:2.93.0:2.94.0-SNAPSHOT -proto-google-cloud-webrisk-v1:2.93.0:2.94.0-SNAPSHOT -proto-google-cloud-webrisk-v1beta1:2.93.0:2.94.0-SNAPSHOT -google-cloud-websecurityscanner:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-websecurityscanner-v1alpha:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-websecurityscanner-v1beta:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-websecurityscanner-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-websecurityscanner-v1alpha:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-websecurityscanner-v1beta:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-websecurityscanner-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-workflow-executions:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-workflow-executions-v1beta:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-workflow-executions-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-workflow-executions-v1beta:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-workflow-executions-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-workflows:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-workflows-v1beta:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-workflows-v1:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-workflows-v1beta:2.94.0:2.95.0-SNAPSHOT -proto-google-cloud-workflows-v1:2.94.0:2.95.0-SNAPSHOT -google-cloud-dns:2.92.0:2.93.0-SNAPSHOT -google-maps-routing:1.79.0:1.80.0-SNAPSHOT -proto-google-maps-routing-v2:1.79.0:1.80.0-SNAPSHOT -grpc-google-maps-routing-v2:1.79.0:1.80.0-SNAPSHOT -google-cloud-vmwareengine:0.88.0:0.89.0-SNAPSHOT -proto-google-cloud-vmwareengine-v1:0.88.0:0.89.0-SNAPSHOT -grpc-google-cloud-vmwareengine-v1:0.88.0:0.89.0-SNAPSHOT -google-maps-addressvalidation:0.88.0:0.89.0-SNAPSHOT -proto-google-maps-addressvalidation-v1:0.88.0:0.89.0-SNAPSHOT -grpc-google-maps-addressvalidation-v1:0.88.0:0.89.0-SNAPSHOT -proto-google-cloud-bigquerydatapolicy-v1:0.91.0:0.92.0-SNAPSHOT -grpc-google-cloud-bigquerydatapolicy-v1:0.91.0:0.92.0-SNAPSHOT -google-cloud-monitoring-metricsscope:0.88.0:0.89.0-SNAPSHOT -proto-google-cloud-monitoring-metricsscope-v1:0.88.0:0.89.0-SNAPSHOT -grpc-google-cloud-monitoring-metricsscope-v1:0.88.0:0.89.0-SNAPSHOT -proto-google-cloud-tpu-v2:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-tpu-v2:2.95.0:2.96.0-SNAPSHOT -google-cloud-datalineage:0.86.0:0.87.0-SNAPSHOT -proto-google-cloud-datalineage-v1:0.86.0:0.87.0-SNAPSHOT -grpc-google-cloud-datalineage-v1:0.86.0:0.87.0-SNAPSHOT -google-iam-policy:1.91.0:1.92.0-SNAPSHOT -proto-google-cloud-build-v2:3.96.0:3.97.0-SNAPSHOT -grpc-google-cloud-build-v2:3.96.0:3.97.0-SNAPSHOT -google-cloud-advisorynotifications:0.83.0:0.84.0-SNAPSHOT -proto-google-cloud-advisorynotifications-v1:0.83.0:0.84.0-SNAPSHOT -grpc-google-cloud-advisorynotifications-v1:0.83.0:0.84.0-SNAPSHOT -google-maps-mapsplatformdatasets:0.83.0:0.84.0-SNAPSHOT -google-cloud-kmsinventory:0.83.0:0.84.0-SNAPSHOT -proto-google-cloud-kmsinventory-v1:0.83.0:0.84.0-SNAPSHOT -grpc-google-cloud-kmsinventory-v1:0.83.0:0.84.0-SNAPSHOT -google-cloud-alloydb:0.83.0:0.84.0-SNAPSHOT -proto-google-cloud-alloydb-v1:0.83.0:0.84.0-SNAPSHOT -proto-google-cloud-alloydb-v1beta:0.83.0:0.84.0-SNAPSHOT -proto-google-cloud-alloydb-v1alpha:0.83.0:0.84.0-SNAPSHOT -grpc-google-cloud-alloydb-v1beta:0.83.0:0.84.0-SNAPSHOT -grpc-google-cloud-alloydb-v1:0.83.0:0.84.0-SNAPSHOT -grpc-google-cloud-alloydb-v1alpha:0.83.0:0.84.0-SNAPSHOT -google-cloud-biglake:0.82.0:0.83.0-SNAPSHOT -proto-google-cloud-biglake-v1alpha1:0.82.0:0.83.0-SNAPSHOT -grpc-google-cloud-biglake-v1alpha1:0.82.0:0.83.0-SNAPSHOT -google-cloud-workstations:0.82.0:0.83.0-SNAPSHOT -proto-google-cloud-workstations-v1beta:0.82.0:0.83.0-SNAPSHOT -grpc-google-cloud-workstations-v1beta:0.82.0:0.83.0-SNAPSHOT -google-cloud-confidentialcomputing:0.80.0:0.81.0-SNAPSHOT -proto-google-cloud-confidentialcomputing-v1:0.80.0:0.81.0-SNAPSHOT -proto-google-cloud-confidentialcomputing-v1alpha1:0.80.0:0.81.0-SNAPSHOT -grpc-google-cloud-confidentialcomputing-v1:0.80.0:0.81.0-SNAPSHOT -grpc-google-cloud-confidentialcomputing-v1alpha1:0.80.0:0.81.0-SNAPSHOT -proto-google-cloud-workstations-v1:0.82.0:0.83.0-SNAPSHOT -grpc-google-cloud-workstations-v1:0.82.0:0.83.0-SNAPSHOT -proto-google-cloud-biglake-v1:0.82.0:0.83.0-SNAPSHOT -grpc-google-cloud-biglake-v1:0.82.0:0.83.0-SNAPSHOT -google-cloud-storageinsights:0.79.0:0.80.0-SNAPSHOT -proto-google-cloud-storageinsights-v1:0.79.0:0.80.0-SNAPSHOT -grpc-google-cloud-storageinsights-v1:0.79.0:0.80.0-SNAPSHOT -google-cloud-cloudsupport:0.78.0:0.79.0-SNAPSHOT -proto-google-cloud-cloudsupport-v2:0.78.0:0.79.0-SNAPSHOT -grpc-google-cloud-cloudsupport-v2:0.78.0:0.79.0-SNAPSHOT -google-cloud-rapidmigrationassessment:0.77.0:0.78.0-SNAPSHOT -proto-google-cloud-rapidmigrationassessment-v1:0.77.0:0.78.0-SNAPSHOT -grpc-google-cloud-rapidmigrationassessment-v1:0.77.0:0.78.0-SNAPSHOT -proto-google-maps-mapsplatformdatasets-v1:0.83.0:0.84.0-SNAPSHOT -grpc-google-maps-mapsplatformdatasets-v1:0.83.0:0.84.0-SNAPSHOT -google-shopping-merchant-accounts:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-accounts-v1beta:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-accounts-v1beta:1.22.0:1.23.0-SNAPSHOT -proto-google-cloud-discoveryengine-v1:0.90.0:0.91.0-SNAPSHOT -grpc-google-cloud-discoveryengine-v1:0.90.0:0.91.0-SNAPSHOT -google-cloud-migrationcenter:0.76.0:0.77.0-SNAPSHOT -proto-google-cloud-migrationcenter-v1:0.76.0:0.77.0-SNAPSHOT -grpc-google-cloud-migrationcenter-v1:0.76.0:0.77.0-SNAPSHOT -google-cloud-policysimulator:0.73.0:0.74.0-SNAPSHOT -proto-google-cloud-policysimulator-v1:0.73.0:0.74.0-SNAPSHOT -grpc-google-cloud-policysimulator-v1:0.73.0:0.74.0-SNAPSHOT -google-cloud-netapp:0.73.0:0.74.0-SNAPSHOT -proto-google-cloud-netapp-v1beta1:0.73.0:0.74.0-SNAPSHOT -grpc-google-cloud-netapp-v1beta1:0.73.0:0.74.0-SNAPSHOT -proto-google-cloud-netapp-v1:0.73.0:0.74.0-SNAPSHOT -grpc-google-cloud-netapp-v1:0.73.0:0.74.0-SNAPSHOT -proto-google-cloud-cloudcommerceconsumerprocurement-v1:0.92.0:0.93.0-SNAPSHOT -grpc-google-cloud-cloudcommerceconsumerprocurement-v1:0.92.0:0.93.0-SNAPSHOT -google-cloud-java-alloydb-connectors:0.72.0:0.73.0-SNAPSHOT -proto-google-cloud-java-alloydb-connectors-v1alpha:0.72.0:0.73.0-SNAPSHOT -google-cloud-alloydb-connectors:0.72.0:0.73.0-SNAPSHOT -proto-google-cloud-alloydb-connectors-v1alpha:0.72.0:0.73.0-SNAPSHOT -proto-google-cloud-language-v2:2.95.0:2.96.0-SNAPSHOT -grpc-google-cloud-language-v2:2.95.0:2.96.0-SNAPSHOT -google-cloud-infra-manager:0.71.0:0.72.0-SNAPSHOT -proto-google-cloud-infra-manager-v1:0.71.0:0.72.0-SNAPSHOT -grpc-google-cloud-infra-manager-v1:0.71.0:0.72.0-SNAPSHOT -proto-google-cloud-notebooks-v2:1.92.0:1.93.0-SNAPSHOT -grpc-google-cloud-notebooks-v2:1.92.0:1.93.0-SNAPSHOT -proto-google-cloud-alloydb-connectors-v1beta:0.72.0:0.73.0-SNAPSHOT -google-shopping-merchant-inventories:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-inventories-v1beta:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-inventories-v1beta:1.22.0:1.23.0-SNAPSHOT -proto-google-cloud-policy-troubleshooter-v3:1.93.0:1.94.0-SNAPSHOT -grpc-google-cloud-policy-troubleshooter-v3:1.93.0:1.94.0-SNAPSHOT -google-shopping-merchant-reports:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-reports-v1beta:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-reports-v1beta:1.22.0:1.23.0-SNAPSHOT -proto-google-cloud-alloydb-connectors-v1:0.72.0:0.73.0-SNAPSHOT -proto-google-cloud-discoveryengine-v1alpha:0.90.0:0.91.0-SNAPSHOT -grpc-google-cloud-discoveryengine-v1alpha:0.90.0:0.91.0-SNAPSHOT -google-cloud-redis-cluster:0.66.0:0.67.0-SNAPSHOT -proto-google-cloud-redis-cluster-v1beta1:0.66.0:0.67.0-SNAPSHOT -proto-google-cloud-redis-cluster-v1:0.66.0:0.67.0-SNAPSHOT -grpc-google-cloud-redis-cluster-v1:0.66.0:0.67.0-SNAPSHOT -grpc-google-cloud-redis-cluster-v1beta1:0.66.0:0.67.0-SNAPSHOT -google-maps-places:0.65.0:0.66.0-SNAPSHOT -proto-google-maps-places-v1:0.65.0:0.66.0-SNAPSHOT -grpc-google-maps-places-v1:0.65.0:0.66.0-SNAPSHOT -google-cloud-telcoautomation:0.64.0:0.65.0-SNAPSHOT -proto-google-cloud-telcoautomation-v1:0.64.0:0.65.0-SNAPSHOT -proto-google-cloud-telcoautomation-v1alpha1:0.64.0:0.65.0-SNAPSHOT -grpc-google-cloud-telcoautomation-v1:0.64.0:0.65.0-SNAPSHOT -grpc-google-cloud-telcoautomation-v1alpha1:0.64.0:0.65.0-SNAPSHOT -google-cloud-securesourcemanager:0.64.0:0.65.0-SNAPSHOT -proto-google-cloud-securesourcemanager-v1:0.64.0:0.65.0-SNAPSHOT -grpc-google-cloud-securesourcemanager-v1:0.64.0:0.65.0-SNAPSHOT -google-cloud-edgenetwork:0.62.0:0.63.0-SNAPSHOT -proto-google-cloud-edgenetwork-v1:0.62.0:0.63.0-SNAPSHOT -grpc-google-cloud-edgenetwork-v1:0.62.0:0.63.0-SNAPSHOT -google-cloud-cloudquotas:0.62.0:0.63.0-SNAPSHOT -proto-google-cloud-cloudquotas-v1:0.62.0:0.63.0-SNAPSHOT -grpc-google-cloud-cloudquotas-v1:0.62.0:0.63.0-SNAPSHOT -google-cloud-securitycentermanagement:0.62.0:0.63.0-SNAPSHOT -proto-google-cloud-securitycentermanagement-v1:0.62.0:0.63.0-SNAPSHOT -grpc-google-cloud-securitycentermanagement-v1:0.62.0:0.63.0-SNAPSHOT -google-shopping-css:0.62.0:0.63.0-SNAPSHOT -proto-google-shopping-css-v1:0.62.0:0.63.0-SNAPSHOT -grpc-google-shopping-css-v1:0.62.0:0.63.0-SNAPSHOT -google-cloud-meet:0.61.0:0.62.0-SNAPSHOT -proto-google-cloud-meet-v2beta:0.61.0:0.62.0-SNAPSHOT -grpc-google-cloud-meet-v2beta:0.61.0:0.62.0-SNAPSHOT -google-cloud-servicehealth:0.61.0:0.62.0-SNAPSHOT -proto-google-cloud-servicehealth-v1:0.61.0:0.62.0-SNAPSHOT -grpc-google-cloud-servicehealth-v1:0.61.0:0.62.0-SNAPSHOT -proto-google-cloud-meet-v2:0.61.0:0.62.0-SNAPSHOT -grpc-google-cloud-meet-v2:0.61.0:0.62.0-SNAPSHOT -google-cloud-securityposture:0.59.0:0.60.0-SNAPSHOT -proto-google-cloud-securityposture-v1:0.59.0:0.60.0-SNAPSHOT -grpc-google-cloud-securityposture-v1:0.59.0:0.60.0-SNAPSHOT -proto-google-cloud-securitycenter-v2:2.102.0:2.103.0-SNAPSHOT -grpc-google-cloud-securitycenter-v2:2.102.0:2.103.0-SNAPSHOT -google-cloud-cloudcontrolspartner:0.58.0:0.59.0-SNAPSHOT -proto-google-cloud-cloudcontrolspartner-v1beta:0.58.0:0.59.0-SNAPSHOT -proto-google-cloud-cloudcontrolspartner-v1:0.58.0:0.59.0-SNAPSHOT -grpc-google-cloud-cloudcontrolspartner-v1:0.58.0:0.59.0-SNAPSHOT -grpc-google-cloud-cloudcontrolspartner-v1beta:0.58.0:0.59.0-SNAPSHOT -google-cloud-workspaceevents:0.58.0:0.59.0-SNAPSHOT -proto-google-cloud-workspaceevents-v1:0.58.0:0.59.0-SNAPSHOT -grpc-google-cloud-workspaceevents-v1:0.58.0:0.59.0-SNAPSHOT -google-cloud-apphub:0.58.0:0.59.0-SNAPSHOT -proto-google-cloud-apphub-v1:0.58.0:0.59.0-SNAPSHOT -grpc-google-cloud-apphub-v1:0.58.0:0.59.0-SNAPSHOT -google-cloud-chat:0.58.0:0.59.0-SNAPSHOT -proto-google-cloud-chat-v1:0.58.0:0.59.0-SNAPSHOT -grpc-google-cloud-chat-v1:0.58.0:0.59.0-SNAPSHOT -google-shopping-merchant-quota:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-quota-v1beta:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-quota-v1beta:1.22.0:1.23.0-SNAPSHOT -proto-google-cloud-secretmanager-v1beta2:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-secretmanager-v1beta2:2.94.0:2.95.0-SNAPSHOT -google-cloud-parallelstore:0.57.0:0.58.0-SNAPSHOT -proto-google-cloud-parallelstore-v1beta:0.57.0:0.58.0-SNAPSHOT -grpc-google-cloud-parallelstore-v1beta:0.57.0:0.58.0-SNAPSHOT -google-cloud-backupdr:0.53.0:0.54.0-SNAPSHOT -proto-google-cloud-backupdr-v1:0.53.0:0.54.0-SNAPSHOT -grpc-google-cloud-backupdr-v1:0.53.0:0.54.0-SNAPSHOT -google-maps-solar:0.53.0:0.54.0-SNAPSHOT -proto-google-maps-solar-v1:0.53.0:0.54.0-SNAPSHOT -grpc-google-maps-solar-v1:0.53.0:0.54.0-SNAPSHOT -google-shopping-merchant-datasources:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-datasources-v1beta:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-datasources-v1beta:1.22.0:1.23.0-SNAPSHOT -google-shopping-merchant-conversions:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-conversions-v1beta:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-conversions-v1beta:1.22.0:1.23.0-SNAPSHOT -google-shopping-merchant-lfp:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-lfp-v1beta:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-lfp-v1beta:1.22.0:1.23.0-SNAPSHOT -google-shopping-merchant-notifications:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-notifications-v1beta:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-notifications-v1beta:1.22.0:1.23.0-SNAPSHOT -ad-manager:0.53.0:0.54.0-SNAPSHOT -proto-ad-manager-v1:0.53.0:0.54.0-SNAPSHOT -google-maps-routeoptimization:0.52.0:0.53.0-SNAPSHOT -proto-google-maps-routeoptimization-v1:0.52.0:0.53.0-SNAPSHOT -grpc-google-maps-routeoptimization-v1:0.52.0:0.53.0-SNAPSHOT -proto-google-cloud-publicca-v1:0.91.0:0.92.0-SNAPSHOT -grpc-google-cloud-publicca-v1:0.91.0:0.92.0-SNAPSHOT -google-cloud-visionai:0.51.0:0.52.0-SNAPSHOT -proto-google-cloud-visionai-v1:0.51.0:0.52.0-SNAPSHOT -grpc-google-cloud-visionai-v1:0.51.0:0.52.0-SNAPSHOT -google-cloud-developerconnect:0.51.0:0.52.0-SNAPSHOT -proto-google-cloud-developerconnect-v1:0.51.0:0.52.0-SNAPSHOT -grpc-google-cloud-developerconnect-v1:0.51.0:0.52.0-SNAPSHOT -google-cloud-iap:0.50.0:0.51.0-SNAPSHOT -proto-google-cloud-iap-v1:0.50.0:0.51.0-SNAPSHOT -grpc-google-cloud-iap-v1:0.50.0:0.51.0-SNAPSHOT -google-cloud-managedkafka:0.50.0:0.51.0-SNAPSHOT -proto-google-cloud-managedkafka-v1:0.50.0:0.51.0-SNAPSHOT -grpc-google-cloud-managedkafka-v1:0.50.0:0.51.0-SNAPSHOT -google-cloud-networkservices:0.50.0:0.51.0-SNAPSHOT -proto-google-cloud-networkservices-v1:0.50.0:0.51.0-SNAPSHOT -grpc-google-cloud-networkservices-v1:0.50.0:0.51.0-SNAPSHOT -google-shopping-merchant-products:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-products-v1beta:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-products-v1beta:1.22.0:1.23.0-SNAPSHOT -google-cloud-gdchardwaremanagement:0.49.0:0.50.0-SNAPSHOT -proto-google-cloud-gdchardwaremanagement-v1alpha:0.49.0:0.50.0-SNAPSHOT -grpc-google-cloud-gdchardwaremanagement-v1alpha:0.49.0:0.50.0-SNAPSHOT -google-cloud-privilegedaccessmanager:0.48.0:0.49.0-SNAPSHOT -proto-google-cloud-privilegedaccessmanager-v1:0.48.0:0.49.0-SNAPSHOT -grpc-google-cloud-privilegedaccessmanager-v1:0.48.0:0.49.0-SNAPSHOT -google-cloud-apihub:0.47.0:0.48.0-SNAPSHOT -proto-google-cloud-apihub-v1:0.47.0:0.48.0-SNAPSHOT -grpc-google-cloud-apihub-v1:0.47.0:0.48.0-SNAPSHOT -google-cloud-connectgateway:0.46.0:0.47.0-SNAPSHOT -proto-google-cloud-connectgateway-v1:0.46.0:0.47.0-SNAPSHOT -google-maps-area-insights:0.45.0:0.46.0-SNAPSHOT -proto-google-maps-area-insights-v1:0.45.0:0.46.0-SNAPSHOT -grpc-google-maps-area-insights-v1:0.45.0:0.46.0-SNAPSHOT -admin:0.43.0:0.44.0-SNAPSHOT -proto-admin-v1alpha:0.43.0:0.44.0-SNAPSHOT -grpc-admin-v1alpha:0.43.0:0.44.0-SNAPSHOT -google-cloud-oracledatabase:0.43.0:0.44.0-SNAPSHOT -proto-google-cloud-oracledatabase-v1:0.43.0:0.44.0-SNAPSHOT -proto-google-cloud-parallelstore-v1:0.57.0:0.58.0-SNAPSHOT -grpc-google-cloud-parallelstore-v1:0.57.0:0.58.0-SNAPSHOT -google-maps-fleetengine:0.41.0:0.42.0-SNAPSHOT -proto-google-maps-fleetengine-v1:0.41.0:0.42.0-SNAPSHOT -grpc-google-maps-fleetengine-v1:0.41.0:0.42.0-SNAPSHOT -google-maps-fleetengine-delivery:0.41.0:0.42.0-SNAPSHOT -proto-google-maps-fleetengine-delivery-v1:0.41.0:0.42.0-SNAPSHOT -grpc-google-maps-fleetengine-delivery-v1:0.41.0:0.42.0-SNAPSHOT -google-shopping-merchant-reviews:0.40.0:0.41.0-SNAPSHOT -proto-google-shopping-merchant-reviews-v1beta:0.40.0:0.41.0-SNAPSHOT -grpc-google-shopping-merchant-reviews-v1beta:0.40.0:0.41.0-SNAPSHOT -google-cloud-valkey:0.40.0:0.41.0-SNAPSHOT -proto-google-cloud-valkey-v1:0.40.0:0.41.0-SNAPSHOT -proto-google-cloud-valkey-v1beta:0.40.0:0.41.0-SNAPSHOT -proto-google-cloud-cloudquotas-v1beta:0.62.0:0.63.0-SNAPSHOT -grpc-google-cloud-cloudquotas-v1beta:0.62.0:0.63.0-SNAPSHOT -proto-google-cloud-secretmanager-v1beta1:2.94.0:2.95.0-SNAPSHOT -grpc-google-cloud-secretmanager-v1beta1:2.94.0:2.95.0-SNAPSHOT -google-cloud-parametermanager:0.38.0:0.39.0-SNAPSHOT -proto-google-cloud-parametermanager-v1:0.38.0:0.39.0-SNAPSHOT -grpc-google-cloud-parametermanager-v1:0.38.0:0.39.0-SNAPSHOT -google-cloud-modelarmor:0.35.0:0.36.0-SNAPSHOT -proto-google-cloud-modelarmor-v1:0.35.0:0.36.0-SNAPSHOT -grpc-google-cloud-modelarmor-v1:0.35.0:0.36.0-SNAPSHOT -google-cloud-financialservices:0.35.0:0.36.0-SNAPSHOT -proto-google-cloud-financialservices-v1:0.35.0:0.36.0-SNAPSHOT -grpc-google-cloud-financialservices-v1:0.35.0:0.36.0-SNAPSHOT -google-cloud-devicestreaming:0.34.0:0.35.0-SNAPSHOT -proto-google-cloud-devicestreaming-v1:0.34.0:0.35.0-SNAPSHOT -grpc-google-cloud-devicestreaming-v1:0.34.0:0.35.0-SNAPSHOT -google-shopping-merchant-productstudio:0.34.0:0.35.0-SNAPSHOT -proto-google-shopping-merchant-productstudio-v1alpha:0.34.0:0.35.0-SNAPSHOT -grpc-google-shopping-merchant-productstudio-v1alpha:0.34.0:0.35.0-SNAPSHOT -google-cloud-storagebatchoperations:0.34.0:0.35.0-SNAPSHOT -proto-google-cloud-storagebatchoperations-v1:0.34.0:0.35.0-SNAPSHOT -grpc-google-cloud-storagebatchoperations-v1:0.34.0:0.35.0-SNAPSHOT -google-shopping-merchant-issue-resolution:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-issue-resolution-v1beta:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-issue-resolution-v1beta:1.22.0:1.23.0-SNAPSHOT -google-cloud-lustre:0.34.0:0.35.0-SNAPSHOT -proto-google-cloud-lustre-v1:0.34.0:0.35.0-SNAPSHOT -grpc-google-cloud-lustre-v1:0.34.0:0.35.0-SNAPSHOT -google-shopping-merchant-order-tracking:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-order-tracking-v1beta:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-order-tracking-v1beta:1.22.0:1.23.0-SNAPSHOT -grpc-google-cloud-oracledatabase-v1:0.43.0:0.44.0-SNAPSHOT -google-cloud-chronicle:0.32.0:0.33.0-SNAPSHOT -proto-google-cloud-chronicle-v1:0.32.0:0.33.0-SNAPSHOT -grpc-google-cloud-chronicle-v1:0.32.0:0.33.0-SNAPSHOT -proto-google-cloud-cloudsupport-v2beta:0.78.0:0.79.0-SNAPSHOT -grpc-google-cloud-cloudsupport-v2beta:0.78.0:0.79.0-SNAPSHOT -proto-google-cloud-modelarmor-v1beta:0.35.0:0.36.0-SNAPSHOT -grpc-google-cloud-modelarmor-v1beta:0.35.0:0.36.0-SNAPSHOT -proto-google-cloud-dataform-v1:0.93.0:0.94.0-SNAPSHOT -grpc-google-cloud-dataform-v1:0.93.0:0.94.0-SNAPSHOT -google-cloud-spanneradapter:0.30.0:0.31.0-SNAPSHOT -proto-google-cloud-spanneradapter-v1:0.30.0:0.31.0-SNAPSHOT -grpc-google-cloud-spanneradapter-v1:0.30.0:0.31.0-SNAPSHOT -proto-google-cloud-workspaceevents-v1beta:0.58.0:0.59.0-SNAPSHOT -grpc-google-cloud-workspaceevents-v1beta:0.58.0:0.59.0-SNAPSHOT -google-cloud-maintenance:0.28.0:0.29.0-SNAPSHOT -proto-google-cloud-maintenance-v1beta:0.28.0:0.29.0-SNAPSHOT -grpc-google-cloud-maintenance-v1beta:0.28.0:0.29.0-SNAPSHOT -google-cloud-configdelivery:0.28.0:0.29.0-SNAPSHOT -proto-google-cloud-configdelivery-v1beta:0.28.0:0.29.0-SNAPSHOT -grpc-google-cloud-configdelivery-v1beta:0.28.0:0.29.0-SNAPSHOT -proto-google-cloud-bigquerydatapolicy-v2beta1:0.91.0:0.92.0-SNAPSHOT -grpc-google-cloud-bigquerydatapolicy-v2beta1:0.91.0:0.92.0-SNAPSHOT -google-cloud-licensemanager:0.27.0:0.28.0-SNAPSHOT -proto-google-cloud-licensemanager-v1:0.27.0:0.28.0-SNAPSHOT -grpc-google-cloud-licensemanager-v1:0.27.0:0.28.0-SNAPSHOT -proto-google-shopping-merchant-reports-v1alpha:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-reports-v1alpha:1.22.0:1.23.0-SNAPSHOT -proto-google-cloud-bigquerydatapolicy-v2:0.91.0:0.92.0-SNAPSHOT -grpc-google-cloud-bigquerydatapolicy-v2:0.91.0:0.92.0-SNAPSHOT -proto-google-cloud-configdelivery-v1:0.28.0:0.29.0-SNAPSHOT -grpc-google-cloud-configdelivery-v1:0.28.0:0.29.0-SNAPSHOT -proto-google-shopping-merchant-datasources-v1:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-datasources-v1:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-inventories-v1:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-inventories-v1:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-conversions-v1:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-conversions-v1:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-issue-resolution-v1:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-issue-resolution-v1:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-order-tracking-v1:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-order-tracking-v1:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-accounts-v1:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-accounts-v1:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-lfp-v1:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-lfp-v1:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-products-v1:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-products-v1:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-promotions-v1:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-promotions-v1:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-quota-v1:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-quota-v1:1.22.0:1.23.0-SNAPSHOT -proto-google-shopping-merchant-reports-v1:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-reports-v1:1.22.0:1.23.0-SNAPSHOT -google-cloud-saasservicemgmt:0.24.0:0.25.0-SNAPSHOT -proto-google-cloud-saasservicemgmt-v1beta1:0.24.0:0.25.0-SNAPSHOT -grpc-google-cloud-saasservicemgmt-v1beta1:0.24.0:0.25.0-SNAPSHOT -proto-google-shopping-merchant-notifications-v1:1.22.0:1.23.0-SNAPSHOT -grpc-google-shopping-merchant-notifications-v1:1.22.0:1.23.0-SNAPSHOT -google-cloud-geminidataanalytics:0.22.0:0.23.0-SNAPSHOT -proto-google-cloud-geminidataanalytics-v1beta:0.22.0:0.23.0-SNAPSHOT -grpc-google-cloud-geminidataanalytics-v1beta:0.22.0:0.23.0-SNAPSHOT -google-cloud-cloudsecuritycompliance:0.21.0:0.22.0-SNAPSHOT -proto-google-cloud-cloudsecuritycompliance-v1:0.21.0:0.22.0-SNAPSHOT -grpc-google-cloud-cloudsecuritycompliance-v1:0.21.0:0.22.0-SNAPSHOT -google-cloud-locationfinder:0.19.0:0.20.0-SNAPSHOT -proto-google-cloud-locationfinder-v1:0.19.0:0.20.0-SNAPSHOT -grpc-google-cloud-locationfinder-v1:0.19.0:0.20.0-SNAPSHOT -google-cloud-capacityplanner:0.17.0:0.18.0-SNAPSHOT -proto-google-cloud-capacityplanner-v1beta:0.17.0:0.18.0-SNAPSHOT -grpc-google-cloud-capacityplanner-v1beta:0.17.0:0.18.0-SNAPSHOT -data-manager:0.15.0:0.16.0-SNAPSHOT -proto-data-manager-v1:0.15.0:0.16.0-SNAPSHOT -grpc-data-manager-v1:0.15.0:0.16.0-SNAPSHOT -google-cloud-vectorsearch:0.16.0:0.17.0-SNAPSHOT -proto-google-cloud-vectorsearch-v1beta:0.16.0:0.17.0-SNAPSHOT -grpc-google-cloud-vectorsearch-v1beta:0.16.0:0.17.0-SNAPSHOT -google-cloud-databasecenter:0.15.0:0.16.0-SNAPSHOT -proto-google-cloud-databasecenter-v1beta:0.15.0:0.16.0-SNAPSHOT -grpc-google-cloud-databasecenter-v1beta:0.15.0:0.16.0-SNAPSHOT -google-cloud-hypercomputecluster:0.14.0:0.15.0-SNAPSHOT -proto-google-cloud-hypercomputecluster-v1beta:0.14.0:0.15.0-SNAPSHOT -grpc-google-cloud-hypercomputecluster-v1beta:0.14.0:0.15.0-SNAPSHOT -proto-google-cloud-maintenance-v1:0.28.0:0.29.0-SNAPSHOT -grpc-google-cloud-maintenance-v1:0.28.0:0.29.0-SNAPSHOT -google-cloud-gkerecommender:0.14.0:0.15.0-SNAPSHOT -proto-google-cloud-gkerecommender-v1:0.14.0:0.15.0-SNAPSHOT -grpc-google-cloud-gkerecommender-v1:0.14.0:0.15.0-SNAPSHOT -google-cloud-cloudapiregistry:0.13.0:0.14.0-SNAPSHOT -proto-google-cloud-cloudapiregistry-v1beta:0.13.0:0.14.0-SNAPSHOT -grpc-google-cloud-cloudapiregistry-v1beta:0.13.0:0.14.0-SNAPSHOT -google-cloud-auditmanager:0.12.0:0.13.0-SNAPSHOT -proto-google-cloud-auditmanager-v1:0.12.0:0.13.0-SNAPSHOT -grpc-google-cloud-auditmanager-v1:0.12.0:0.13.0-SNAPSHOT -proto-google-cloud-cloudapiregistry-v1:0.13.0:0.14.0-SNAPSHOT -grpc-google-cloud-cloudapiregistry-v1:0.13.0:0.14.0-SNAPSHOT -google-cloud-logging:3.35.0:3.36.0-SNAPSHOT -grpc-google-cloud-logging-v2:3.35.0:3.36.0-SNAPSHOT -proto-google-cloud-logging-v2:3.35.0:3.36.0-SNAPSHOT -google-cloud-workloadmanager:0.10.0:0.11.0-SNAPSHOT -proto-google-cloud-workloadmanager-v1:0.10.0:0.11.0-SNAPSHOT -grpc-google-cloud-workloadmanager-v1:0.10.0:0.11.0-SNAPSHOT -google-cloud-ces:0.10.0:0.11.0-SNAPSHOT -proto-google-cloud-ces-v1:0.10.0:0.11.0-SNAPSHOT -grpc-google-cloud-ces-v1:0.10.0:0.11.0-SNAPSHOT -google-cloud-bigquerystorage:3.30.0:3.31.0-SNAPSHOT -grpc-google-cloud-bigquerystorage-v1beta1:3.30.0:3.31.0-SNAPSHOT -grpc-google-cloud-bigquerystorage-v1beta2:3.30.0:3.31.0-SNAPSHOT -grpc-google-cloud-bigquerystorage-v1:3.30.0:3.31.0-SNAPSHOT -proto-google-cloud-bigquerystorage-v1beta1:3.30.0:3.31.0-SNAPSHOT -proto-google-cloud-bigquerystorage-v1beta2:3.30.0:3.31.0-SNAPSHOT -proto-google-cloud-bigquerystorage-v1:3.30.0:3.31.0-SNAPSHOT -grpc-google-cloud-bigquerystorage-v1alpha:3.30.0:3.31.0-SNAPSHOT -proto-google-cloud-bigquerystorage-v1alpha:3.30.0:3.31.0-SNAPSHOT -proto-google-cloud-bigquerystorage-v1beta:3.30.0:3.31.0-SNAPSHOT -grpc-google-cloud-bigquerystorage-v1beta:3.30.0:3.31.0-SNAPSHOT -google-cloud-datastore:3.2.0:3.3.0-SNAPSHOT -google-cloud-datastore-bom:3.2.0:3.3.0-SNAPSHOT -proto-google-cloud-datastore-v1:3.2.0:3.3.0-SNAPSHOT -datastore-v1-proto-client:3.2.0:3.3.0-SNAPSHOT -proto-google-cloud-datastore-admin-v1:3.2.0:3.3.0-SNAPSHOT -grpc-google-cloud-datastore-admin-v1:3.2.0:3.3.0-SNAPSHOT -grpc-google-cloud-datastore-v1:3.2.0:3.3.0-SNAPSHOT -google-cloud-logging-logback:0.143.0-alpha:0.144.0-alpha-SNAPSHOT -proto-google-cloud-ces-v1beta:0.10.0:0.11.0-SNAPSHOT -grpc-google-cloud-ces-v1beta:0.10.0:0.11.0-SNAPSHOT -proto-google-cloud-vectorsearch-v1:0.16.0:0.17.0-SNAPSHOT -grpc-google-cloud-vectorsearch-v1:0.16.0:0.17.0-SNAPSHOT -google-cloud-bigquery:2.68.0:2.69.0-SNAPSHOT -google-cloud-bigquery-jdbc:1.1.0:1.2.0-SNAPSHOT -proto-google-cloud-networkconnectivity-v1beta:1.93.0:1.94.0-SNAPSHOT -grpc-google-cloud-networkconnectivity-v1beta:1.93.0:1.94.0-SNAPSHOT -proto-google-cloud-hypercomputecluster-v1:0.14.0:0.15.0-SNAPSHOT -grpc-google-cloud-hypercomputecluster-v1:0.14.0:0.15.0-SNAPSHOT -proto-google-cloud-biglake-v1beta:0.82.0:0.83.0-SNAPSHOT -grpc-google-cloud-biglake-v1beta:0.82.0:0.83.0-SNAPSHOT -gapic-generator-java:2.74.0:2.75.0-SNAPSHOT -api-common:2.65.0:2.66.0-SNAPSHOT -gax:2.82.0:2.83.0-SNAPSHOT -gax-grpc:2.82.0:2.83.0-SNAPSHOT -proto-google-common-protos:2.73.0:2.74.0-SNAPSHOT -grpc-google-common-protos:2.73.0:2.74.0-SNAPSHOT -proto-google-iam-v1:1.68.0:1.69.0-SNAPSHOT -grpc-google-iam-v1:1.68.0:1.69.0-SNAPSHOT -proto-google-iam-v2beta:1.68.0:1.69.0-SNAPSHOT -grpc-google-iam-v2beta:1.68.0:1.69.0-SNAPSHOT -proto-google-iam-v2:1.68.0:1.69.0-SNAPSHOT -grpc-google-iam-v2:1.68.0:1.69.0-SNAPSHOT -google-cloud-core:2.72.0:2.73.0-SNAPSHOT -google-cloud-shared-dependencies:3.64.0:3.65.0-SNAPSHOT -proto-google-iam-v3:1.68.0:1.69.0-SNAPSHOT -grpc-google-iam-v3:1.68.0:1.69.0-SNAPSHOT -proto-google-iam-v3beta:1.68.0:1.69.0-SNAPSHOT -grpc-google-iam-v3beta:1.68.0:1.69.0-SNAPSHOT -proto-google-cloud-spanner-admin-instance-v1:6.119.0:6.120.0-SNAPSHOT -proto-google-cloud-spanner-v1:6.119.0:6.120.0-SNAPSHOT -proto-google-cloud-spanner-admin-database-v1:6.119.0:6.120.0-SNAPSHOT -grpc-google-cloud-spanner-v1:6.119.0:6.120.0-SNAPSHOT -grpc-google-cloud-spanner-admin-instance-v1:6.119.0:6.120.0-SNAPSHOT -grpc-google-cloud-spanner-admin-database-v1:6.119.0:6.120.0-SNAPSHOT -google-cloud-spanner:6.119.0:6.120.0-SNAPSHOT -grpc-gcp:1.12.0:1.13.0-SNAPSHOT -google-cloud-spanner-executor:6.119.0:6.120.0-SNAPSHOT -proto-google-cloud-spanner-executor-v1:6.119.0:6.120.0-SNAPSHOT -grpc-google-cloud-spanner-executor-v1:6.119.0:6.120.0-SNAPSHOT -google-cloud-spanner-jdbc:2.41.0:2.42.0-SNAPSHOT -google-auth-library:1.49.0:1.50.0-SNAPSHOT -google-auth-library-bom:1.49.0:1.50.0-SNAPSHOT -google-auth-library-parent:1.49.0:1.50.0-SNAPSHOT -google-auth-library-appengine:1.49.0:1.50.0-SNAPSHOT -google-auth-library-credentials:1.49.0:1.50.0-SNAPSHOT -google-auth-library-oauth2-http:1.49.0:1.50.0-SNAPSHOT -google-cloud-storage:2.70.0:2.71.0-SNAPSHOT -gapic-google-cloud-storage-v2:2.70.0:2.71.0-SNAPSHOT -grpc-google-cloud-storage-v2:2.70.0:2.71.0-SNAPSHOT -proto-google-cloud-storage-v2:2.70.0:2.71.0-SNAPSHOT -google-cloud-storage-control:2.70.0:2.71.0-SNAPSHOT -proto-google-cloud-storage-control-v2:2.70.0:2.71.0-SNAPSHOT -grpc-google-cloud-storage-control-v2:2.70.0:2.71.0-SNAPSHOT -google-maps-geocode:0.6.0:0.7.0-SNAPSHOT -proto-google-maps-geocode-v4:0.6.0:0.7.0-SNAPSHOT -grpc-google-maps-geocode-v4:0.6.0:0.7.0-SNAPSHOT -google-cloud-nio:0.134.0:0.135.0-SNAPSHOT -google-cloud-appoptimize:0.4.0:0.5.0-SNAPSHOT -proto-google-cloud-appoptimize-v1beta:0.4.0:0.5.0-SNAPSHOT -grpc-google-cloud-appoptimize-v1beta:0.4.0:0.5.0-SNAPSHOT -google-cloud-health:0.3.0:0.4.0-SNAPSHOT -proto-google-cloud-health-v4:0.3.0:0.4.0-SNAPSHOT -grpc-google-cloud-health-v4:0.3.0:0.4.0-SNAPSHOT -google-maps-mapmanagement:0.3.0:0.4.0-SNAPSHOT -proto-google-maps-mapmanagement-v2beta:0.3.0:0.4.0-SNAPSHOT -grpc-google-maps-mapmanagement-v2beta:0.3.0:0.4.0-SNAPSHOT -grpc-google-cloud-valkey-v1beta:0.40.0:0.41.0-SNAPSHOT -grpc-google-cloud-valkey-v1:0.40.0:0.41.0-SNAPSHOT -google-cloud-pubsub:1.152.0:1.153.0-SNAPSHOT -grpc-google-cloud-pubsub-v1:1.152.0:1.153.0-SNAPSHOT -proto-google-cloud-pubsub-v1:1.152.0:1.153.0-SNAPSHOT -google-cloud-bigtable:2.80.0:2.81.0-SNAPSHOT -grpc-google-cloud-bigtable-admin-v2:2.80.0:2.81.0-SNAPSHOT -grpc-google-cloud-bigtable-v2:2.80.0:2.81.0-SNAPSHOT -proto-google-cloud-bigtable-admin-v2:2.80.0:2.81.0-SNAPSHOT -proto-google-cloud-bigtable-v2:2.80.0:2.81.0-SNAPSHOT -google-cloud-bigtable-emulator:0.217.0:0.218.0-SNAPSHOT -google-cloud-bigtable-emulator-core:0.217.0:0.218.0-SNAPSHOT -google-cloud-firestore:3.44.0:3.45.0-SNAPSHOT -google-cloud-firestore-admin:3.44.0:3.45.0-SNAPSHOT -google-cloud-firestore-bom:3.44.0:3.45.0-SNAPSHOT -grpc-google-cloud-firestore-admin-v1:3.44.0:3.45.0-SNAPSHOT -grpc-google-cloud-firestore-v1:3.44.0:3.45.0-SNAPSHOT -proto-google-cloud-firestore-admin-v1:3.44.0:3.45.0-SNAPSHOT -proto-google-cloud-firestore-v1:3.44.0:3.45.0-SNAPSHOT -proto-google-cloud-firestore-bundle-v1:3.44.0:3.45.0-SNAPSHOT -proto-google-cloud-geminidataanalytics-v1:0.22.0:0.23.0-SNAPSHOT -grpc-google-cloud-geminidataanalytics-v1:0.22.0:0.23.0-SNAPSHOT -google-cloud-developer-knowledge:0.2.0:0.3.0-SNAPSHOT -proto-google-cloud-developer-knowledge-v1:0.2.0:0.3.0-SNAPSHOT -grpc-google-cloud-developer-knowledge-v1:0.2.0:0.3.0-SNAPSHOT -google-cloud-backstory:0.2.0:0.3.0-SNAPSHOT -google-cloud-bom:0.266.1:0.266.1 -libraries-bom:26.85.1:26.85.1 -java-cloud-bom-tests:0.81.0:0.82.0-SNAPSHOT -full-convergence-check:0.84.0:0.85.0-SNAPSHOT -google-cloud-shared-config:1.18.0:1.19.0-SNAPSHOT -proto-google-cloud-agentregistry-v1:0.1.0:0.2.0-SNAPSHOT -grpc-google-cloud-agentregistry-v1:0.1.0:0.2.0-SNAPSHOT -google-cloud-agentregistry:0.1.0:0.2.0-SNAPSHOT -google-cloud-agentregistry-bom:0.1.0:0.2.0-SNAPSHOT -google-cloud-agentregistry-parent:0.1.0:0.2.0-SNAPSHOT -google-cloud-agentidentity-parent:0.0.0:0.1.0-SNAPSHOT -google-cloud-agentidentity-bom:0.0.0:0.1.0-SNAPSHOT -proto-google-cloud-agentidentity-v1:0.0.0:0.1.0-SNAPSHOT -grpc-google-cloud-agentidentity-v1:0.0.0:0.1.0-SNAPSHOT -google-cloud-agentidentity:0.0.0:0.1.0-SNAPSHOT -proto-google-cloud-agentidentity-v1beta:0.0.0:0.1.0-SNAPSHOT -grpc-google-cloud-agentidentity-v1beta:0.0.0:0.1.0-SNAPSHOT -google-cloud-commerceproducer-parent:0.0.0:0.1.0-SNAPSHOT -google-cloud-commerceproducer-bom:0.0.0:0.1.0-SNAPSHOT -proto-google-cloud-commerceproducer-v1beta:0.0.0:0.1.0-SNAPSHOT -grpc-google-cloud-commerceproducer-v1beta:0.0.0:0.1.0-SNAPSHOT -google-cloud-commerceproducer:0.0.0:0.1.0-SNAPSHOT -google-cloud-productregistry-parent:0.0.0:0.1.0-SNAPSHOT -google-cloud-productregistry-bom:0.0.0:0.1.0-SNAPSHOT -proto-google-cloud-productregistry-v1:0.0.0:0.1.0-SNAPSHOT -grpc-google-cloud-productregistry-v1:0.0.0:0.1.0-SNAPSHOT -google-cloud-productregistry:0.0.0:0.1.0-SNAPSHOT -google-maps-isochrones-parent:0.0.0:0.1.0-SNAPSHOT -google-maps-isochrones-bom:0.0.0:0.1.0-SNAPSHOT -proto-google-maps-isochrones-v1:0.0.0:0.1.0-SNAPSHOT -grpc-google-maps-isochrones-v1:0.0.0:0.1.0-SNAPSHOT -google-maps-isochrones:0.0.0:0.1.0-SNAPSHOT -google-cloud-sql-parent:0.0.0:0.1.0-SNAPSHOT -google-cloud-sql-bom:0.0.0:0.1.0-SNAPSHOT -proto-google-cloud-sql-v1:0.0.0:0.1.0-SNAPSHOT -grpc-google-cloud-sql-v1:0.0.0:0.1.0-SNAPSHOT -google-cloud-sql:0.0.0:0.1.0-SNAPSHOT -proto-google-cloud-sql-v1beta4:0.0.0:0.1.0-SNAPSHOT -grpc-google-cloud-sql-v1beta4:0.0.0:0.1.0-SNAPSHOT -google-maps-navconnect-parent:0.0.0:0.1.0-SNAPSHOT -google-maps-navconnect-bom:0.0.0:0.1.0-SNAPSHOT -proto-google-maps-navconnect-v1:0.0.0:0.1.0-SNAPSHOT -grpc-google-maps-navconnect-v1:0.0.0:0.1.0-SNAPSHOT -google-maps-navconnect:0.0.0:0.1.0-SNAPSHOT +google-cloud-java:1.89.0:1.90.0-SNAPSHOT +google-cloud-pom-parent:1.89.0:1.90.0-SNAPSHOT +google-cloud-accessapproval:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-accessapproval-v1:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-accessapproval-v1:2.96.0:2.97.0-SNAPSHOT +google-identity-accesscontextmanager:1.96.0:1.97.0-SNAPSHOT +grpc-google-identity-accesscontextmanager-v1:1.96.0:1.97.0-SNAPSHOT +proto-google-identity-accesscontextmanager-v1:1.96.0:1.97.0-SNAPSHOT +proto-google-identity-accesscontextmanager-type:1.96.0:1.97.0-SNAPSHOT +google-cloud-aiplatform:3.96.0:3.97.0-SNAPSHOT +grpc-google-cloud-aiplatform-v1:3.96.0:3.97.0-SNAPSHOT +grpc-google-cloud-aiplatform-v1beta1:3.96.0:3.97.0-SNAPSHOT +proto-google-cloud-aiplatform-v1:3.96.0:3.97.0-SNAPSHOT +proto-google-cloud-aiplatform-v1beta1:3.96.0:3.97.0-SNAPSHOT +google-analytics-admin:0.105.0:0.106.0-SNAPSHOT +grpc-google-analytics-admin-v1alpha:0.105.0:0.106.0-SNAPSHOT +proto-google-analytics-admin-v1alpha:0.105.0:0.106.0-SNAPSHOT +proto-google-analytics-admin-v1beta:0.105.0:0.106.0-SNAPSHOT +grpc-google-analytics-admin-v1beta:0.105.0:0.106.0-SNAPSHOT +google-analytics-data:0.106.0:0.107.0-SNAPSHOT +grpc-google-analytics-data-v1beta:0.106.0:0.107.0-SNAPSHOT +proto-google-analytics-data-v1beta:0.106.0:0.107.0-SNAPSHOT +proto-google-analytics-data-v1alpha:0.106.0:0.107.0-SNAPSHOT +grpc-google-analytics-data-v1alpha:0.106.0:0.107.0-SNAPSHOT +google-cloud-analyticshub:0.92.0:0.93.0-SNAPSHOT +proto-google-cloud-analyticshub-v1:0.92.0:0.93.0-SNAPSHOT +grpc-google-cloud-analyticshub-v1:0.92.0:0.93.0-SNAPSHOT +google-shopping-merchant-promotions:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-promotions-v1beta:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-promotions-v1beta:1.23.0:1.24.0-SNAPSHOT +google-cloud-api-gateway:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-api-gateway-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-api-gateway-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-apigee-connect:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-apigee-connect-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-apigee-connect-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-apikeys:0.93.0:0.94.0-SNAPSHOT +proto-google-cloud-apikeys-v2:0.93.0:0.94.0-SNAPSHOT +grpc-google-cloud-apikeys-v2:0.93.0:0.94.0-SNAPSHOT +google-cloud-appengine-admin:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-appengine-admin-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-appengine-admin-v1:2.95.0:2.96.0-SNAPSHOT +google-area120-tables:0.99.0:0.100.0-SNAPSHOT +grpc-google-area120-tables-v1alpha1:0.99.0:0.100.0-SNAPSHOT +proto-google-area120-tables-v1alpha1:0.99.0:0.100.0-SNAPSHOT +google-cloud-artifact-registry:1.94.0:1.95.0-SNAPSHOT +grpc-google-cloud-artifact-registry-v1beta2:1.94.0:1.95.0-SNAPSHOT +grpc-google-cloud-artifact-registry-v1:1.94.0:1.95.0-SNAPSHOT +proto-google-cloud-artifact-registry-v1beta2:1.94.0:1.95.0-SNAPSHOT +proto-google-cloud-artifact-registry-v1:1.94.0:1.95.0-SNAPSHOT +google-cloud-asset:3.99.0:3.100.0-SNAPSHOT +grpc-google-cloud-asset-v1:3.99.0:3.100.0-SNAPSHOT +grpc-google-cloud-asset-v1p1beta1:3.99.0:3.100.0-SNAPSHOT +grpc-google-cloud-asset-v1p2beta1:3.99.0:3.100.0-SNAPSHOT +grpc-google-cloud-asset-v1p5beta1:3.99.0:3.100.0-SNAPSHOT +grpc-google-cloud-asset-v1p7beta1:3.99.0:3.100.0-SNAPSHOT +proto-google-cloud-asset-v1:3.99.0:3.100.0-SNAPSHOT +proto-google-cloud-asset-v1p1beta1:3.99.0:3.100.0-SNAPSHOT +proto-google-cloud-asset-v1p2beta1:3.99.0:3.100.0-SNAPSHOT +proto-google-cloud-asset-v1p5beta1:3.99.0:3.100.0-SNAPSHOT +proto-google-cloud-asset-v1p7beta1:3.99.0:3.100.0-SNAPSHOT +google-cloud-assured-workloads:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-assured-workloads-v1beta1:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-assured-workloads-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-assured-workloads-v1beta1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-assured-workloads-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-automl:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-automl-v1beta1:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-automl-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-automl-v1beta1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-automl-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-bare-metal-solution:0.95.0:0.96.0-SNAPSHOT +proto-google-cloud-bare-metal-solution-v2:0.95.0:0.96.0-SNAPSHOT +grpc-google-cloud-bare-metal-solution-v2:0.95.0:0.96.0-SNAPSHOT +google-cloud-batch:0.95.0:0.96.0-SNAPSHOT +proto-google-cloud-batch-v1:0.95.0:0.96.0-SNAPSHOT +grpc-google-cloud-batch-v1:0.95.0:0.96.0-SNAPSHOT +proto-google-cloud-batch-v1alpha:0.95.0:0.96.0-SNAPSHOT +grpc-google-cloud-batch-v1alpha:0.95.0:0.96.0-SNAPSHOT +google-cloud-beyondcorp-appconnections:0.93.0:0.94.0-SNAPSHOT +proto-google-cloud-beyondcorp-appconnections-v1:0.93.0:0.94.0-SNAPSHOT +grpc-google-cloud-beyondcorp-appconnections-v1:0.93.0:0.94.0-SNAPSHOT +google-cloud-beyondcorp-appconnectors:0.93.0:0.94.0-SNAPSHOT +proto-google-cloud-beyondcorp-appconnectors-v1:0.93.0:0.94.0-SNAPSHOT +grpc-google-cloud-beyondcorp-appconnectors-v1:0.93.0:0.94.0-SNAPSHOT +google-cloud-beyondcorp-appgateways:0.93.0:0.94.0-SNAPSHOT +proto-google-cloud-beyondcorp-appgateways-v1:0.93.0:0.94.0-SNAPSHOT +grpc-google-cloud-beyondcorp-appgateways-v1:0.93.0:0.94.0-SNAPSHOT +google-cloud-beyondcorp-clientconnectorservices:0.93.0:0.94.0-SNAPSHOT +proto-google-cloud-beyondcorp-clientconnectorservices-v1:0.93.0:0.94.0-SNAPSHOT +grpc-google-cloud-beyondcorp-clientconnectorservices-v1:0.93.0:0.94.0-SNAPSHOT +google-cloud-beyondcorp-clientgateways:0.93.0:0.94.0-SNAPSHOT +proto-google-cloud-beyondcorp-clientgateways-v1:0.93.0:0.94.0-SNAPSHOT +grpc-google-cloud-beyondcorp-clientgateways-v1:0.93.0:0.94.0-SNAPSHOT +google-cloud-bigqueryconnection:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-bigqueryconnection-v1:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-bigqueryconnection-v1beta1:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-bigqueryconnection-v1:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-bigqueryconnection-v1beta1:2.97.0:2.98.0-SNAPSHOT +google-cloud-bigquery-data-exchange:2.90.0:2.91.0-SNAPSHOT +proto-google-cloud-bigquery-data-exchange-v1beta1:2.90.0:2.91.0-SNAPSHOT +grpc-google-cloud-bigquery-data-exchange-v1beta1:2.90.0:2.91.0-SNAPSHOT +google-cloud-bigquerydatapolicy:0.92.0:0.93.0-SNAPSHOT +proto-google-cloud-bigquerydatapolicy-v1beta1:0.92.0:0.93.0-SNAPSHOT +grpc-google-cloud-bigquerydatapolicy-v1beta1:0.92.0:0.93.0-SNAPSHOT +google-cloud-bigquerydatatransfer:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-bigquerydatatransfer-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-bigquerydatatransfer-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-bigquerymigration:0.98.0:0.99.0-SNAPSHOT +grpc-google-cloud-bigquerymigration-v2alpha:0.98.0:0.99.0-SNAPSHOT +proto-google-cloud-bigquerymigration-v2alpha:0.98.0:0.99.0-SNAPSHOT +proto-google-cloud-bigquerymigration-v2:0.98.0:0.99.0-SNAPSHOT +grpc-google-cloud-bigquerymigration-v2:0.98.0:0.99.0-SNAPSHOT +google-cloud-bigqueryreservation:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-bigqueryreservation-v1:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-bigqueryreservation-v1:2.96.0:2.97.0-SNAPSHOT +google-cloud-billingbudgets:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-billingbudgets-v1beta1:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-billingbudgets-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-billingbudgets-v1beta1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-billingbudgets-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-billing:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-billing-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-billing-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-binary-authorization:1.94.0:1.95.0-SNAPSHOT +grpc-google-cloud-binary-authorization-v1beta1:1.94.0:1.95.0-SNAPSHOT +grpc-google-cloud-binary-authorization-v1:1.94.0:1.95.0-SNAPSHOT +proto-google-cloud-binary-authorization-v1beta1:1.94.0:1.95.0-SNAPSHOT +proto-google-cloud-binary-authorization-v1:1.94.0:1.95.0-SNAPSHOT +google-cloud-certificate-manager:0.98.0:0.99.0-SNAPSHOT +proto-google-cloud-certificate-manager-v1:0.98.0:0.99.0-SNAPSHOT +grpc-google-cloud-certificate-manager-v1:0.98.0:0.99.0-SNAPSHOT +google-cloud-channel:3.99.0:3.100.0-SNAPSHOT +grpc-google-cloud-channel-v1:3.99.0:3.100.0-SNAPSHOT +proto-google-cloud-channel-v1:3.99.0:3.100.0-SNAPSHOT +google-cloud-build:3.97.0:3.98.0-SNAPSHOT +grpc-google-cloud-build-v1:3.97.0:3.98.0-SNAPSHOT +proto-google-cloud-build-v1:3.97.0:3.98.0-SNAPSHOT +google-cloud-cloudcommerceconsumerprocurement:0.93.0:0.94.0-SNAPSHOT +proto-google-cloud-cloudcommerceconsumerprocurement-v1alpha1:0.93.0:0.94.0-SNAPSHOT +grpc-google-cloud-cloudcommerceconsumerprocurement-v1alpha1:0.93.0:0.94.0-SNAPSHOT +google-cloud-compute:1.105.0:1.106.0-SNAPSHOT +proto-google-cloud-compute-v1:1.105.0:1.106.0-SNAPSHOT +google-cloud-contact-center-insights:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-contact-center-insights-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-contact-center-insights-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-containeranalysis-v1:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-containeranalysis-v1beta1:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-containeranalysis-v1beta1:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-containeranalysis-v1:2.96.0:2.97.0-SNAPSHOT +google-cloud-containeranalysis:2.96.0:2.97.0-SNAPSHOT +google-cloud-container:2.98.0:2.99.0-SNAPSHOT +grpc-google-cloud-container-v1:2.98.0:2.99.0-SNAPSHOT +grpc-google-cloud-container-v1beta1:2.98.0:2.99.0-SNAPSHOT +proto-google-cloud-container-v1:2.98.0:2.99.0-SNAPSHOT +proto-google-cloud-container-v1beta1:2.98.0:2.99.0-SNAPSHOT +google-cloud-contentwarehouse:0.91.0:0.92.0-SNAPSHOT +proto-google-cloud-contentwarehouse-v1:0.91.0:0.92.0-SNAPSHOT +grpc-google-cloud-contentwarehouse-v1:0.91.0:0.92.0-SNAPSHOT +google-cloud-datacatalog:1.101.0:1.102.0-SNAPSHOT +grpc-google-cloud-datacatalog-v1:1.101.0:1.102.0-SNAPSHOT +grpc-google-cloud-datacatalog-v1beta1:1.101.0:1.102.0-SNAPSHOT +proto-google-cloud-datacatalog-v1:1.101.0:1.102.0-SNAPSHOT +proto-google-cloud-datacatalog-v1beta1:1.101.0:1.102.0-SNAPSHOT +google-cloud-dataflow:0.99.0:0.100.0-SNAPSHOT +grpc-google-cloud-dataflow-v1beta3:0.99.0:0.100.0-SNAPSHOT +proto-google-cloud-dataflow-v1beta3:0.99.0:0.100.0-SNAPSHOT +google-cloud-dataform:0.94.0:0.95.0-SNAPSHOT +proto-google-cloud-dataform-v1beta1:0.94.0:0.95.0-SNAPSHOT +grpc-google-cloud-dataform-v1beta1:0.94.0:0.95.0-SNAPSHOT +google-cloud-data-fusion:1.95.0:1.96.0-SNAPSHOT +grpc-google-cloud-data-fusion-v1beta1:1.95.0:1.96.0-SNAPSHOT +grpc-google-cloud-data-fusion-v1:1.95.0:1.96.0-SNAPSHOT +proto-google-cloud-data-fusion-v1beta1:1.95.0:1.96.0-SNAPSHOT +proto-google-cloud-data-fusion-v1:1.95.0:1.96.0-SNAPSHOT +google-cloud-datalabeling:0.215.0:0.216.0-SNAPSHOT +grpc-google-cloud-datalabeling-v1beta1:0.215.0:0.216.0-SNAPSHOT +proto-google-cloud-datalabeling-v1beta1:0.215.0:0.216.0-SNAPSHOT +google-cloud-dataplex:1.93.0:1.94.0-SNAPSHOT +proto-google-cloud-dataplex-v1:1.93.0:1.94.0-SNAPSHOT +grpc-google-cloud-dataplex-v1:1.93.0:1.94.0-SNAPSHOT +google-cloud-dataproc-metastore:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-dataproc-metastore-v1beta:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-dataproc-metastore-v1alpha:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-dataproc-metastore-v1:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-dataproc-metastore-v1beta:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-dataproc-metastore-v1alpha:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-dataproc-metastore-v1:2.96.0:2.97.0-SNAPSHOT +google-cloud-dataproc:4.92.0:4.93.0-SNAPSHOT +grpc-google-cloud-dataproc-v1:4.92.0:4.93.0-SNAPSHOT +proto-google-cloud-dataproc-v1:4.92.0:4.93.0-SNAPSHOT +google-cloud-datastream:1.94.0:1.95.0-SNAPSHOT +grpc-google-cloud-datastream-v1alpha1:1.94.0:1.95.0-SNAPSHOT +proto-google-cloud-datastream-v1alpha1:1.94.0:1.95.0-SNAPSHOT +proto-google-cloud-datastream-v1:1.94.0:1.95.0-SNAPSHOT +grpc-google-cloud-datastream-v1:1.94.0:1.95.0-SNAPSHOT +proto-google-devtools-source-protos:1.95.0:1.96.0-SNAPSHOT +google-cloud-deploy:1.93.0:1.94.0-SNAPSHOT +grpc-google-cloud-deploy-v1:1.93.0:1.94.0-SNAPSHOT +proto-google-cloud-deploy-v1:1.93.0:1.94.0-SNAPSHOT +google-cloud-dialogflow-cx:0.106.0:0.107.0-SNAPSHOT +grpc-google-cloud-dialogflow-cx-v3beta1:0.106.0:0.107.0-SNAPSHOT +grpc-google-cloud-dialogflow-cx-v3:0.106.0:0.107.0-SNAPSHOT +proto-google-cloud-dialogflow-cx-v3beta1:0.106.0:0.107.0-SNAPSHOT +proto-google-cloud-dialogflow-cx-v3:0.106.0:0.107.0-SNAPSHOT +google-cloud-dialogflow:4.101.0:4.102.0-SNAPSHOT +grpc-google-cloud-dialogflow-v2beta1:4.101.0:4.102.0-SNAPSHOT +grpc-google-cloud-dialogflow-v2:4.101.0:4.102.0-SNAPSHOT +proto-google-cloud-dialogflow-v2:4.101.0:4.102.0-SNAPSHOT +proto-google-cloud-dialogflow-v2beta1:4.101.0:4.102.0-SNAPSHOT +google-cloud-discoveryengine:0.91.0:0.92.0-SNAPSHOT +proto-google-cloud-discoveryengine-v1beta:0.91.0:0.92.0-SNAPSHOT +grpc-google-cloud-discoveryengine-v1beta:0.91.0:0.92.0-SNAPSHOT +google-cloud-distributedcloudedge:0.92.0:0.93.0-SNAPSHOT +proto-google-cloud-distributedcloudedge-v1:0.92.0:0.93.0-SNAPSHOT +grpc-google-cloud-distributedcloudedge-v1:0.92.0:0.93.0-SNAPSHOT +google-cloud-dlp:3.99.0:3.100.0-SNAPSHOT +grpc-google-cloud-dlp-v2:3.99.0:3.100.0-SNAPSHOT +proto-google-cloud-dlp-v2:3.99.0:3.100.0-SNAPSHOT +google-cloud-dms:2.94.0:2.95.0-SNAPSHOT +grpc-google-cloud-dms-v1:2.94.0:2.95.0-SNAPSHOT +proto-google-cloud-dms-v1:2.94.0:2.95.0-SNAPSHOT +google-cloud-document-ai:2.99.0:2.100.0-SNAPSHOT +grpc-google-cloud-document-ai-v1beta3:2.99.0:2.100.0-SNAPSHOT +grpc-google-cloud-document-ai-v1:2.99.0:2.100.0-SNAPSHOT +proto-google-cloud-document-ai-v1beta3:2.99.0:2.100.0-SNAPSHOT +proto-google-cloud-document-ai-v1:2.99.0:2.100.0-SNAPSHOT +google-cloud-domains:1.92.0:1.93.0-SNAPSHOT +grpc-google-cloud-domains-v1beta1:1.92.0:1.93.0-SNAPSHOT +grpc-google-cloud-domains-v1alpha2:1.92.0:1.93.0-SNAPSHOT +grpc-google-cloud-domains-v1:1.92.0:1.93.0-SNAPSHOT +proto-google-cloud-domains-v1beta1:1.92.0:1.93.0-SNAPSHOT +proto-google-cloud-domains-v1alpha2:1.92.0:1.93.0-SNAPSHOT +proto-google-cloud-domains-v1:1.92.0:1.93.0-SNAPSHOT +google-cloud-enterpriseknowledgegraph:0.91.0:0.92.0-SNAPSHOT +proto-google-cloud-enterpriseknowledgegraph-v1:0.91.0:0.92.0-SNAPSHOT +grpc-google-cloud-enterpriseknowledgegraph-v1:0.91.0:0.92.0-SNAPSHOT +google-cloud-errorreporting:0.216.0-beta:0.217.0-beta-SNAPSHOT +grpc-google-cloud-error-reporting-v1beta1:0.216.0-beta:0.217.0-beta-SNAPSHOT +proto-google-cloud-error-reporting-v1beta1:0.216.0-beta:0.217.0-beta-SNAPSHOT +google-cloud-essential-contacts:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-essential-contacts-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-essential-contacts-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-eventarc:1.95.0:1.96.0-SNAPSHOT +grpc-google-cloud-eventarc-v1:1.95.0:1.96.0-SNAPSHOT +proto-google-cloud-eventarc-v1:1.95.0:1.96.0-SNAPSHOT +google-cloud-eventarc-publishing:0.95.0:0.96.0-SNAPSHOT +proto-google-cloud-eventarc-publishing-v1:0.95.0:0.96.0-SNAPSHOT +grpc-google-cloud-eventarc-publishing-v1:0.95.0:0.96.0-SNAPSHOT +google-cloud-filestore:1.96.0:1.97.0-SNAPSHOT +grpc-google-cloud-filestore-v1beta1:1.96.0:1.97.0-SNAPSHOT +grpc-google-cloud-filestore-v1:1.96.0:1.97.0-SNAPSHOT +proto-google-cloud-filestore-v1:1.96.0:1.97.0-SNAPSHOT +proto-google-cloud-filestore-v1beta1:1.96.0:1.97.0-SNAPSHOT +google-cloud-functions:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-functions-v1:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-functions-v1:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-functions-v2beta:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-functions-v2alpha:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-functions-v2beta:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-functions-v2alpha:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-functions-v2:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-functions-v2:2.97.0:2.98.0-SNAPSHOT +google-cloud-game-servers:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-game-servers-v1:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-game-servers-v1beta:0.120.0:0.121.0-SNAPSHOT +proto-google-cloud-game-servers-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-game-servers-v1beta:0.120.0:0.121.0-SNAPSHOT +google-cloud-gke-backup:0.94.0:0.95.0-SNAPSHOT +proto-google-cloud-gke-backup-v1:0.94.0:0.95.0-SNAPSHOT +grpc-google-cloud-gke-backup-v1:0.94.0:0.95.0-SNAPSHOT +google-cloud-gke-connect-gateway:0.96.0:0.97.0-SNAPSHOT +proto-google-cloud-gke-connect-gateway-v1beta1:0.96.0:0.97.0-SNAPSHOT +google-cloud-gkehub:1.95.0:1.96.0-SNAPSHOT +grpc-google-cloud-gkehub-v1beta1:1.95.0:1.96.0-SNAPSHOT +grpc-google-cloud-gkehub-v1:1.95.0:1.96.0-SNAPSHOT +grpc-google-cloud-gkehub-v1alpha:1.95.0:1.96.0-SNAPSHOT +grpc-google-cloud-gkehub-v1beta:1.95.0:1.96.0-SNAPSHOT +proto-google-cloud-gkehub-v1beta1:1.95.0:1.96.0-SNAPSHOT +proto-google-cloud-gkehub-v1:1.95.0:1.96.0-SNAPSHOT +proto-google-cloud-gkehub-v1alpha:1.95.0:1.96.0-SNAPSHOT +proto-google-cloud-gkehub-v1beta:1.95.0:1.96.0-SNAPSHOT +google-cloud-gke-multi-cloud:0.94.0:0.95.0-SNAPSHOT +proto-google-cloud-gke-multi-cloud-v1:0.94.0:0.95.0-SNAPSHOT +grpc-google-cloud-gke-multi-cloud-v1:0.94.0:0.95.0-SNAPSHOT +grafeas:2.96.0:2.97.0-SNAPSHOT +google-cloud-gsuite-addons:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-gsuite-addons-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-gsuite-addons-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-apps-script-type-protos:2.95.0:2.96.0-SNAPSHOT +google-iam-admin:3.90.0:3.91.0-SNAPSHOT +grpc-google-iam-admin-v1:3.90.0:3.91.0-SNAPSHOT +proto-google-iam-admin-v1:3.90.0:3.91.0-SNAPSHOT +google-cloud-iamcredentials:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-iamcredentials-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-iamcredentials-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-ids:1.94.0:1.95.0-SNAPSHOT +grpc-google-cloud-ids-v1:1.94.0:1.95.0-SNAPSHOT +proto-google-cloud-ids-v1:1.94.0:1.95.0-SNAPSHOT +google-cloud-iot:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-iot-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-iot-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-kms:2.98.0:2.99.0-SNAPSHOT +grpc-google-cloud-kms-v1:2.98.0:2.99.0-SNAPSHOT +proto-google-cloud-kms-v1:2.98.0:2.99.0-SNAPSHOT +google-cloud-language:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-language-v1:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-language-v1beta2:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-language-v1:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-language-v1beta2:2.96.0:2.97.0-SNAPSHOT +google-cloud-life-sciences:0.97.0:0.98.0-SNAPSHOT +grpc-google-cloud-life-sciences-v2beta:0.97.0:0.98.0-SNAPSHOT +proto-google-cloud-life-sciences-v2beta:0.97.0:0.98.0-SNAPSHOT +google-cloud-managed-identities:1.93.0:1.94.0-SNAPSHOT +grpc-google-cloud-managed-identities-v1:1.93.0:1.94.0-SNAPSHOT +proto-google-cloud-managed-identities-v1:1.93.0:1.94.0-SNAPSHOT +google-cloud-mediatranslation:0.101.0:0.102.0-SNAPSHOT +grpc-google-cloud-mediatranslation-v1beta1:0.101.0:0.102.0-SNAPSHOT +proto-google-cloud-mediatranslation-v1beta1:0.101.0:0.102.0-SNAPSHOT +google-cloud-memcache:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-memcache-v1beta2:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-memcache-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-memcache-v1beta2:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-memcache-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-monitoring-dashboard:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-monitoring-dashboard-v1:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-monitoring-dashboard-v1:2.97.0:2.98.0-SNAPSHOT +google-cloud-monitoring:3.96.0:3.97.0-SNAPSHOT +grpc-google-cloud-monitoring-v3:3.96.0:3.97.0-SNAPSHOT +proto-google-cloud-monitoring-v3:3.96.0:3.97.0-SNAPSHOT +google-cloud-networkconnectivity:1.94.0:1.95.0-SNAPSHOT +grpc-google-cloud-networkconnectivity-v1alpha1:1.94.0:1.95.0-SNAPSHOT +grpc-google-cloud-networkconnectivity-v1:1.94.0:1.95.0-SNAPSHOT +proto-google-cloud-networkconnectivity-v1alpha1:1.94.0:1.95.0-SNAPSHOT +proto-google-cloud-networkconnectivity-v1:1.94.0:1.95.0-SNAPSHOT +google-cloud-network-management:1.96.0:1.97.0-SNAPSHOT +grpc-google-cloud-network-management-v1beta1:1.96.0:1.97.0-SNAPSHOT +grpc-google-cloud-network-management-v1:1.96.0:1.97.0-SNAPSHOT +proto-google-cloud-network-management-v1beta1:1.96.0:1.97.0-SNAPSHOT +proto-google-cloud-network-management-v1:1.96.0:1.97.0-SNAPSHOT +google-cloud-network-security:0.98.0:0.99.0-SNAPSHOT +grpc-google-cloud-network-security-v1beta1:0.98.0:0.99.0-SNAPSHOT +proto-google-cloud-network-security-v1beta1:0.98.0:0.99.0-SNAPSHOT +proto-google-cloud-network-security-v1:0.98.0:0.99.0-SNAPSHOT +grpc-google-cloud-network-security-v1:0.98.0:0.99.0-SNAPSHOT +google-cloud-notebooks:1.93.0:1.94.0-SNAPSHOT +grpc-google-cloud-notebooks-v1beta1:1.93.0:1.94.0-SNAPSHOT +grpc-google-cloud-notebooks-v1:1.93.0:1.94.0-SNAPSHOT +proto-google-cloud-notebooks-v1beta1:1.93.0:1.94.0-SNAPSHOT +proto-google-cloud-notebooks-v1:1.93.0:1.94.0-SNAPSHOT +google-cloud-notification:0.213.0-beta:0.214.0-beta-SNAPSHOT +google-cloud-optimization:1.93.0:1.94.0-SNAPSHOT +proto-google-cloud-optimization-v1:1.93.0:1.94.0-SNAPSHOT +grpc-google-cloud-optimization-v1:1.93.0:1.94.0-SNAPSHOT +google-cloud-orchestration-airflow:1.95.0:1.96.0-SNAPSHOT +grpc-google-cloud-orchestration-airflow-v1:1.95.0:1.96.0-SNAPSHOT +grpc-google-cloud-orchestration-airflow-v1beta1:1.95.0:1.96.0-SNAPSHOT +proto-google-cloud-orchestration-airflow-v1:1.95.0:1.96.0-SNAPSHOT +proto-google-cloud-orchestration-airflow-v1beta1:1.95.0:1.96.0-SNAPSHOT +google-cloud-orgpolicy:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-orgpolicy-v2:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-orgpolicy-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-orgpolicy-v2:2.95.0:2.96.0-SNAPSHOT +google-cloud-os-config:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-os-config-v1:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-os-config-v1beta:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-os-config-v1alpha:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-os-config-v1:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-os-config-v1alpha:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-os-config-v1beta:2.97.0:2.98.0-SNAPSHOT +google-cloud-os-login:2.94.0:2.95.0-SNAPSHOT +grpc-google-cloud-os-login-v1:2.94.0:2.95.0-SNAPSHOT +proto-google-cloud-os-login-v1:2.94.0:2.95.0-SNAPSHOT +google-cloud-phishingprotection:0.126.0:0.127.0-SNAPSHOT +grpc-google-cloud-phishingprotection-v1beta1:0.126.0:0.127.0-SNAPSHOT +proto-google-cloud-phishingprotection-v1beta1:0.126.0:0.127.0-SNAPSHOT +google-cloud-policy-troubleshooter:1.94.0:1.95.0-SNAPSHOT +grpc-google-cloud-policy-troubleshooter-v1:1.94.0:1.95.0-SNAPSHOT +proto-google-cloud-policy-troubleshooter-v1:1.94.0:1.95.0-SNAPSHOT +google-cloud-private-catalog:0.97.0:0.98.0-SNAPSHOT +grpc-google-cloud-private-catalog-v1beta1:0.97.0:0.98.0-SNAPSHOT +proto-google-cloud-private-catalog-v1beta1:0.97.0:0.98.0-SNAPSHOT +google-cloud-profiler:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-profiler-v2:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-profiler-v2:2.95.0:2.96.0-SNAPSHOT +google-cloud-publicca:0.92.0:0.93.0-SNAPSHOT +proto-google-cloud-publicca-v1beta1:0.92.0:0.93.0-SNAPSHOT +grpc-google-cloud-publicca-v1beta1:0.92.0:0.93.0-SNAPSHOT +google-cloud-recaptchaenterprise:3.92.0:3.93.0-SNAPSHOT +grpc-google-cloud-recaptchaenterprise-v1:3.92.0:3.93.0-SNAPSHOT +grpc-google-cloud-recaptchaenterprise-v1beta1:3.92.0:3.93.0-SNAPSHOT +proto-google-cloud-recaptchaenterprise-v1:3.92.0:3.93.0-SNAPSHOT +proto-google-cloud-recaptchaenterprise-v1beta1:3.92.0:3.93.0-SNAPSHOT +google-cloud-recommendations-ai:0.102.0:0.103.0-SNAPSHOT +grpc-google-cloud-recommendations-ai-v1beta1:0.102.0:0.103.0-SNAPSHOT +proto-google-cloud-recommendations-ai-v1beta1:0.102.0:0.103.0-SNAPSHOT +google-cloud-recommender:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-recommender-v1:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-recommender-v1beta1:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-recommender-v1:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-recommender-v1beta1:2.97.0:2.98.0-SNAPSHOT +google-cloud-redis:2.98.0:2.99.0-SNAPSHOT +grpc-google-cloud-redis-v1beta1:2.98.0:2.99.0-SNAPSHOT +grpc-google-cloud-redis-v1:2.98.0:2.99.0-SNAPSHOT +proto-google-cloud-redis-v1:2.98.0:2.99.0-SNAPSHOT +proto-google-cloud-redis-v1beta1:2.98.0:2.99.0-SNAPSHOT +google-cloud-resourcemanager:1.97.0:1.98.0-SNAPSHOT +grpc-google-cloud-resourcemanager-v3:1.97.0:1.98.0-SNAPSHOT +proto-google-cloud-resourcemanager-v3:1.97.0:1.98.0-SNAPSHOT +google-cloud-retail:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-retail-v2:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-retail-v2:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-retail-v2alpha:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-retail-v2beta:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-retail-v2alpha:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-retail-v2beta:2.97.0:2.98.0-SNAPSHOT +google-cloud-run:0.95.0:0.96.0-SNAPSHOT +proto-google-cloud-run-v2:0.95.0:0.96.0-SNAPSHOT +grpc-google-cloud-run-v2:0.95.0:0.96.0-SNAPSHOT +google-cloud-scheduler:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-scheduler-v1beta1:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-scheduler-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-scheduler-v1beta1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-scheduler-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-secretmanager:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-secretmanager-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-secretmanager-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-securitycenter:2.103.0:2.104.0-SNAPSHOT +grpc-google-cloud-securitycenter-v1:2.103.0:2.104.0-SNAPSHOT +grpc-google-cloud-securitycenter-v1beta1:2.103.0:2.104.0-SNAPSHOT +grpc-google-cloud-securitycenter-v1p1beta1:2.103.0:2.104.0-SNAPSHOT +proto-google-cloud-securitycenter-v1:2.103.0:2.104.0-SNAPSHOT +proto-google-cloud-securitycenter-v1beta1:2.103.0:2.104.0-SNAPSHOT +proto-google-cloud-securitycenter-v1p1beta1:2.103.0:2.104.0-SNAPSHOT +google-cloud-securitycenter-settings:0.98.0:0.99.0-SNAPSHOT +grpc-google-cloud-securitycenter-settings-v1beta1:0.98.0:0.99.0-SNAPSHOT +proto-google-cloud-securitycenter-settings-v1beta1:0.98.0:0.99.0-SNAPSHOT +google-cloud-security-private-ca:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-security-private-ca-v1beta1:2.97.0:2.98.0-SNAPSHOT +grpc-google-cloud-security-private-ca-v1:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-security-private-ca-v1beta1:2.97.0:2.98.0-SNAPSHOT +proto-google-cloud-security-private-ca-v1:2.97.0:2.98.0-SNAPSHOT +google-cloud-service-control:1.95.0:1.96.0-SNAPSHOT +grpc-google-cloud-service-control-v1:1.95.0:1.96.0-SNAPSHOT +proto-google-cloud-service-control-v1:1.95.0:1.96.0-SNAPSHOT +proto-google-cloud-service-control-v2:1.95.0:1.96.0-SNAPSHOT +grpc-google-cloud-service-control-v2:1.95.0:1.96.0-SNAPSHOT +google-cloud-servicedirectory:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-servicedirectory-v1beta1:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-servicedirectory-v1:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-servicedirectory-v1beta1:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-servicedirectory-v1:2.96.0:2.97.0-SNAPSHOT +google-cloud-service-management:3.93.0:3.94.0-SNAPSHOT +grpc-google-cloud-service-management-v1:3.93.0:3.94.0-SNAPSHOT +proto-google-cloud-service-management-v1:3.93.0:3.94.0-SNAPSHOT +google-cloud-service-usage:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-service-usage-v1beta1:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-service-usage-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-service-usage-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-service-usage-v1beta1:2.95.0:2.96.0-SNAPSHOT +google-cloud-shell:2.94.0:2.95.0-SNAPSHOT +grpc-google-cloud-shell-v1:2.94.0:2.95.0-SNAPSHOT +proto-google-cloud-shell-v1:2.94.0:2.95.0-SNAPSHOT +google-cloud-speech:4.90.0:4.91.0-SNAPSHOT +grpc-google-cloud-speech-v1:4.90.0:4.91.0-SNAPSHOT +grpc-google-cloud-speech-v1p1beta1:4.90.0:4.91.0-SNAPSHOT +proto-google-cloud-speech-v1:4.90.0:4.91.0-SNAPSHOT +proto-google-cloud-speech-v1p1beta1:4.90.0:4.91.0-SNAPSHOT +proto-google-cloud-speech-v2:4.90.0:4.91.0-SNAPSHOT +grpc-google-cloud-speech-v2:4.90.0:4.91.0-SNAPSHOT +google-cloud-storage-transfer:1.95.0:1.96.0-SNAPSHOT +grpc-google-cloud-storage-transfer-v1:1.95.0:1.96.0-SNAPSHOT +proto-google-cloud-storage-transfer-v1:1.95.0:1.96.0-SNAPSHOT +google-cloud-talent:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-talent-v4:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-talent-v4beta1:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-talent-v4:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-talent-v4beta1:2.96.0:2.97.0-SNAPSHOT +google-cloud-tasks:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-tasks-v2beta3:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-tasks-v2beta2:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-tasks-v2:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-tasks-v2beta3:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-tasks-v2beta2:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-tasks-v2:2.95.0:2.96.0-SNAPSHOT +google-cloud-texttospeech:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-texttospeech-v1beta1:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-texttospeech-v1:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-texttospeech-v1:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-texttospeech-v1beta1:2.96.0:2.97.0-SNAPSHOT +google-cloud-tpu:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-tpu-v1:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-tpu-v2alpha1:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-tpu-v1:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-tpu-v2alpha1:2.96.0:2.97.0-SNAPSHOT +google-cloud-trace:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-trace-v1:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-trace-v2:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-trace-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-trace-v2:2.95.0:2.96.0-SNAPSHOT +google-cloud-translate:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-translate-v3beta1:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-translate-v3:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-translate-v3beta1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-translate-v3:2.95.0:2.96.0-SNAPSHOT +google-cloud-video-intelligence:2.94.0:2.95.0-SNAPSHOT +grpc-google-cloud-video-intelligence-v1p1beta1:2.94.0:2.95.0-SNAPSHOT +grpc-google-cloud-video-intelligence-v1beta2:2.94.0:2.95.0-SNAPSHOT +grpc-google-cloud-video-intelligence-v1:2.94.0:2.95.0-SNAPSHOT +grpc-google-cloud-video-intelligence-v1p2beta1:2.94.0:2.95.0-SNAPSHOT +grpc-google-cloud-video-intelligence-v1p3beta1:2.94.0:2.95.0-SNAPSHOT +proto-google-cloud-video-intelligence-v1p3beta1:2.94.0:2.95.0-SNAPSHOT +proto-google-cloud-video-intelligence-v1beta2:2.94.0:2.95.0-SNAPSHOT +proto-google-cloud-video-intelligence-v1p1beta1:2.94.0:2.95.0-SNAPSHOT +proto-google-cloud-video-intelligence-v1:2.94.0:2.95.0-SNAPSHOT +proto-google-cloud-video-intelligence-v1p2beta1:2.94.0:2.95.0-SNAPSHOT +google-cloud-live-stream:0.97.0:0.98.0-SNAPSHOT +proto-google-cloud-live-stream-v1:0.97.0:0.98.0-SNAPSHOT +grpc-google-cloud-live-stream-v1:0.97.0:0.98.0-SNAPSHOT +google-cloud-video-stitcher:0.95.0:0.96.0-SNAPSHOT +proto-google-cloud-video-stitcher-v1:0.95.0:0.96.0-SNAPSHOT +grpc-google-cloud-video-stitcher-v1:0.95.0:0.96.0-SNAPSHOT +google-cloud-video-transcoder:1.94.0:1.95.0-SNAPSHOT +grpc-google-cloud-video-transcoder-v1:1.94.0:1.95.0-SNAPSHOT +proto-google-cloud-video-transcoder-v1:1.94.0:1.95.0-SNAPSHOT +google-cloud-vision:3.93.0:3.94.0-SNAPSHOT +grpc-google-cloud-vision-v1p3beta1:3.93.0:3.94.0-SNAPSHOT +grpc-google-cloud-vision-v1p1beta1:3.93.0:3.94.0-SNAPSHOT +grpc-google-cloud-vision-v1p4beta1:3.93.0:3.94.0-SNAPSHOT +grpc-google-cloud-vision-v1p2beta1:3.93.0:3.94.0-SNAPSHOT +grpc-google-cloud-vision-v1:3.93.0:3.94.0-SNAPSHOT +proto-google-cloud-vision-v1p4beta1:3.93.0:3.94.0-SNAPSHOT +proto-google-cloud-vision-v1:3.93.0:3.94.0-SNAPSHOT +proto-google-cloud-vision-v1p1beta1:3.93.0:3.94.0-SNAPSHOT +proto-google-cloud-vision-v1p3beta1:3.93.0:3.94.0-SNAPSHOT +proto-google-cloud-vision-v1p2beta1:3.93.0:3.94.0-SNAPSHOT +google-cloud-vmmigration:1.95.0:1.96.0-SNAPSHOT +grpc-google-cloud-vmmigration-v1:1.95.0:1.96.0-SNAPSHOT +proto-google-cloud-vmmigration-v1:1.95.0:1.96.0-SNAPSHOT +google-cloud-vpcaccess:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-vpcaccess-v1:2.96.0:2.97.0-SNAPSHOT +proto-google-cloud-vpcaccess-v1:2.96.0:2.97.0-SNAPSHOT +google-cloud-webrisk:2.94.0:2.95.0-SNAPSHOT +grpc-google-cloud-webrisk-v1:2.94.0:2.95.0-SNAPSHOT +grpc-google-cloud-webrisk-v1beta1:2.94.0:2.95.0-SNAPSHOT +proto-google-cloud-webrisk-v1:2.94.0:2.95.0-SNAPSHOT +proto-google-cloud-webrisk-v1beta1:2.94.0:2.95.0-SNAPSHOT +google-cloud-websecurityscanner:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-websecurityscanner-v1alpha:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-websecurityscanner-v1beta:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-websecurityscanner-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-websecurityscanner-v1alpha:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-websecurityscanner-v1beta:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-websecurityscanner-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-workflow-executions:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-workflow-executions-v1beta:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-workflow-executions-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-workflow-executions-v1beta:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-workflow-executions-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-workflows:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-workflows-v1beta:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-workflows-v1:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-workflows-v1beta:2.95.0:2.96.0-SNAPSHOT +proto-google-cloud-workflows-v1:2.95.0:2.96.0-SNAPSHOT +google-cloud-dns:2.93.0:2.94.0-SNAPSHOT +google-maps-routing:1.80.0:1.81.0-SNAPSHOT +proto-google-maps-routing-v2:1.80.0:1.81.0-SNAPSHOT +grpc-google-maps-routing-v2:1.80.0:1.81.0-SNAPSHOT +google-cloud-vmwareengine:0.89.0:0.90.0-SNAPSHOT +proto-google-cloud-vmwareengine-v1:0.89.0:0.90.0-SNAPSHOT +grpc-google-cloud-vmwareengine-v1:0.89.0:0.90.0-SNAPSHOT +google-maps-addressvalidation:0.89.0:0.90.0-SNAPSHOT +proto-google-maps-addressvalidation-v1:0.89.0:0.90.0-SNAPSHOT +grpc-google-maps-addressvalidation-v1:0.89.0:0.90.0-SNAPSHOT +proto-google-cloud-bigquerydatapolicy-v1:0.92.0:0.93.0-SNAPSHOT +grpc-google-cloud-bigquerydatapolicy-v1:0.92.0:0.93.0-SNAPSHOT +google-cloud-monitoring-metricsscope:0.89.0:0.90.0-SNAPSHOT +proto-google-cloud-monitoring-metricsscope-v1:0.89.0:0.90.0-SNAPSHOT +grpc-google-cloud-monitoring-metricsscope-v1:0.89.0:0.90.0-SNAPSHOT +proto-google-cloud-tpu-v2:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-tpu-v2:2.96.0:2.97.0-SNAPSHOT +google-cloud-datalineage:0.87.0:0.88.0-SNAPSHOT +proto-google-cloud-datalineage-v1:0.87.0:0.88.0-SNAPSHOT +grpc-google-cloud-datalineage-v1:0.87.0:0.88.0-SNAPSHOT +google-iam-policy:1.92.0:1.93.0-SNAPSHOT +proto-google-cloud-build-v2:3.97.0:3.98.0-SNAPSHOT +grpc-google-cloud-build-v2:3.97.0:3.98.0-SNAPSHOT +google-cloud-advisorynotifications:0.84.0:0.85.0-SNAPSHOT +proto-google-cloud-advisorynotifications-v1:0.84.0:0.85.0-SNAPSHOT +grpc-google-cloud-advisorynotifications-v1:0.84.0:0.85.0-SNAPSHOT +google-maps-mapsplatformdatasets:0.84.0:0.85.0-SNAPSHOT +google-cloud-kmsinventory:0.84.0:0.85.0-SNAPSHOT +proto-google-cloud-kmsinventory-v1:0.84.0:0.85.0-SNAPSHOT +grpc-google-cloud-kmsinventory-v1:0.84.0:0.85.0-SNAPSHOT +google-cloud-alloydb:0.84.0:0.85.0-SNAPSHOT +proto-google-cloud-alloydb-v1:0.84.0:0.85.0-SNAPSHOT +proto-google-cloud-alloydb-v1beta:0.84.0:0.85.0-SNAPSHOT +proto-google-cloud-alloydb-v1alpha:0.84.0:0.85.0-SNAPSHOT +grpc-google-cloud-alloydb-v1beta:0.84.0:0.85.0-SNAPSHOT +grpc-google-cloud-alloydb-v1:0.84.0:0.85.0-SNAPSHOT +grpc-google-cloud-alloydb-v1alpha:0.84.0:0.85.0-SNAPSHOT +google-cloud-biglake:0.83.0:0.84.0-SNAPSHOT +proto-google-cloud-biglake-v1alpha1:0.83.0:0.84.0-SNAPSHOT +grpc-google-cloud-biglake-v1alpha1:0.83.0:0.84.0-SNAPSHOT +google-cloud-workstations:0.83.0:0.84.0-SNAPSHOT +proto-google-cloud-workstations-v1beta:0.83.0:0.84.0-SNAPSHOT +grpc-google-cloud-workstations-v1beta:0.83.0:0.84.0-SNAPSHOT +google-cloud-confidentialcomputing:0.81.0:0.82.0-SNAPSHOT +proto-google-cloud-confidentialcomputing-v1:0.81.0:0.82.0-SNAPSHOT +proto-google-cloud-confidentialcomputing-v1alpha1:0.81.0:0.82.0-SNAPSHOT +grpc-google-cloud-confidentialcomputing-v1:0.81.0:0.82.0-SNAPSHOT +grpc-google-cloud-confidentialcomputing-v1alpha1:0.81.0:0.82.0-SNAPSHOT +proto-google-cloud-workstations-v1:0.83.0:0.84.0-SNAPSHOT +grpc-google-cloud-workstations-v1:0.83.0:0.84.0-SNAPSHOT +proto-google-cloud-biglake-v1:0.83.0:0.84.0-SNAPSHOT +grpc-google-cloud-biglake-v1:0.83.0:0.84.0-SNAPSHOT +google-cloud-storageinsights:0.80.0:0.81.0-SNAPSHOT +proto-google-cloud-storageinsights-v1:0.80.0:0.81.0-SNAPSHOT +grpc-google-cloud-storageinsights-v1:0.80.0:0.81.0-SNAPSHOT +google-cloud-cloudsupport:0.79.0:0.80.0-SNAPSHOT +proto-google-cloud-cloudsupport-v2:0.79.0:0.80.0-SNAPSHOT +grpc-google-cloud-cloudsupport-v2:0.79.0:0.80.0-SNAPSHOT +google-cloud-rapidmigrationassessment:0.78.0:0.79.0-SNAPSHOT +proto-google-cloud-rapidmigrationassessment-v1:0.78.0:0.79.0-SNAPSHOT +grpc-google-cloud-rapidmigrationassessment-v1:0.78.0:0.79.0-SNAPSHOT +proto-google-maps-mapsplatformdatasets-v1:0.84.0:0.85.0-SNAPSHOT +grpc-google-maps-mapsplatformdatasets-v1:0.84.0:0.85.0-SNAPSHOT +google-shopping-merchant-accounts:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-accounts-v1beta:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-accounts-v1beta:1.23.0:1.24.0-SNAPSHOT +proto-google-cloud-discoveryengine-v1:0.91.0:0.92.0-SNAPSHOT +grpc-google-cloud-discoveryengine-v1:0.91.0:0.92.0-SNAPSHOT +google-cloud-migrationcenter:0.77.0:0.78.0-SNAPSHOT +proto-google-cloud-migrationcenter-v1:0.77.0:0.78.0-SNAPSHOT +grpc-google-cloud-migrationcenter-v1:0.77.0:0.78.0-SNAPSHOT +google-cloud-policysimulator:0.74.0:0.75.0-SNAPSHOT +proto-google-cloud-policysimulator-v1:0.74.0:0.75.0-SNAPSHOT +grpc-google-cloud-policysimulator-v1:0.74.0:0.75.0-SNAPSHOT +google-cloud-netapp:0.74.0:0.75.0-SNAPSHOT +proto-google-cloud-netapp-v1beta1:0.74.0:0.75.0-SNAPSHOT +grpc-google-cloud-netapp-v1beta1:0.74.0:0.75.0-SNAPSHOT +proto-google-cloud-netapp-v1:0.74.0:0.75.0-SNAPSHOT +grpc-google-cloud-netapp-v1:0.74.0:0.75.0-SNAPSHOT +proto-google-cloud-cloudcommerceconsumerprocurement-v1:0.93.0:0.94.0-SNAPSHOT +grpc-google-cloud-cloudcommerceconsumerprocurement-v1:0.93.0:0.94.0-SNAPSHOT +google-cloud-java-alloydb-connectors:0.73.0:0.74.0-SNAPSHOT +proto-google-cloud-java-alloydb-connectors-v1alpha:0.73.0:0.74.0-SNAPSHOT +google-cloud-alloydb-connectors:0.73.0:0.74.0-SNAPSHOT +proto-google-cloud-alloydb-connectors-v1alpha:0.73.0:0.74.0-SNAPSHOT +proto-google-cloud-language-v2:2.96.0:2.97.0-SNAPSHOT +grpc-google-cloud-language-v2:2.96.0:2.97.0-SNAPSHOT +google-cloud-infra-manager:0.72.0:0.73.0-SNAPSHOT +proto-google-cloud-infra-manager-v1:0.72.0:0.73.0-SNAPSHOT +grpc-google-cloud-infra-manager-v1:0.72.0:0.73.0-SNAPSHOT +proto-google-cloud-notebooks-v2:1.93.0:1.94.0-SNAPSHOT +grpc-google-cloud-notebooks-v2:1.93.0:1.94.0-SNAPSHOT +proto-google-cloud-alloydb-connectors-v1beta:0.73.0:0.74.0-SNAPSHOT +google-shopping-merchant-inventories:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-inventories-v1beta:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-inventories-v1beta:1.23.0:1.24.0-SNAPSHOT +proto-google-cloud-policy-troubleshooter-v3:1.94.0:1.95.0-SNAPSHOT +grpc-google-cloud-policy-troubleshooter-v3:1.94.0:1.95.0-SNAPSHOT +google-shopping-merchant-reports:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-reports-v1beta:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-reports-v1beta:1.23.0:1.24.0-SNAPSHOT +proto-google-cloud-alloydb-connectors-v1:0.73.0:0.74.0-SNAPSHOT +proto-google-cloud-discoveryengine-v1alpha:0.91.0:0.92.0-SNAPSHOT +grpc-google-cloud-discoveryengine-v1alpha:0.91.0:0.92.0-SNAPSHOT +google-cloud-redis-cluster:0.67.0:0.68.0-SNAPSHOT +proto-google-cloud-redis-cluster-v1beta1:0.67.0:0.68.0-SNAPSHOT +proto-google-cloud-redis-cluster-v1:0.67.0:0.68.0-SNAPSHOT +grpc-google-cloud-redis-cluster-v1:0.67.0:0.68.0-SNAPSHOT +grpc-google-cloud-redis-cluster-v1beta1:0.67.0:0.68.0-SNAPSHOT +google-maps-places:0.66.0:0.67.0-SNAPSHOT +proto-google-maps-places-v1:0.66.0:0.67.0-SNAPSHOT +grpc-google-maps-places-v1:0.66.0:0.67.0-SNAPSHOT +google-cloud-telcoautomation:0.65.0:0.66.0-SNAPSHOT +proto-google-cloud-telcoautomation-v1:0.65.0:0.66.0-SNAPSHOT +proto-google-cloud-telcoautomation-v1alpha1:0.65.0:0.66.0-SNAPSHOT +grpc-google-cloud-telcoautomation-v1:0.65.0:0.66.0-SNAPSHOT +grpc-google-cloud-telcoautomation-v1alpha1:0.65.0:0.66.0-SNAPSHOT +google-cloud-securesourcemanager:0.65.0:0.66.0-SNAPSHOT +proto-google-cloud-securesourcemanager-v1:0.65.0:0.66.0-SNAPSHOT +grpc-google-cloud-securesourcemanager-v1:0.65.0:0.66.0-SNAPSHOT +google-cloud-edgenetwork:0.63.0:0.64.0-SNAPSHOT +proto-google-cloud-edgenetwork-v1:0.63.0:0.64.0-SNAPSHOT +grpc-google-cloud-edgenetwork-v1:0.63.0:0.64.0-SNAPSHOT +google-cloud-cloudquotas:0.63.0:0.64.0-SNAPSHOT +proto-google-cloud-cloudquotas-v1:0.63.0:0.64.0-SNAPSHOT +grpc-google-cloud-cloudquotas-v1:0.63.0:0.64.0-SNAPSHOT +google-cloud-securitycentermanagement:0.63.0:0.64.0-SNAPSHOT +proto-google-cloud-securitycentermanagement-v1:0.63.0:0.64.0-SNAPSHOT +grpc-google-cloud-securitycentermanagement-v1:0.63.0:0.64.0-SNAPSHOT +google-shopping-css:0.63.0:0.64.0-SNAPSHOT +proto-google-shopping-css-v1:0.63.0:0.64.0-SNAPSHOT +grpc-google-shopping-css-v1:0.63.0:0.64.0-SNAPSHOT +google-cloud-meet:0.62.0:0.63.0-SNAPSHOT +proto-google-cloud-meet-v2beta:0.62.0:0.63.0-SNAPSHOT +grpc-google-cloud-meet-v2beta:0.62.0:0.63.0-SNAPSHOT +google-cloud-servicehealth:0.62.0:0.63.0-SNAPSHOT +proto-google-cloud-servicehealth-v1:0.62.0:0.63.0-SNAPSHOT +grpc-google-cloud-servicehealth-v1:0.62.0:0.63.0-SNAPSHOT +proto-google-cloud-meet-v2:0.62.0:0.63.0-SNAPSHOT +grpc-google-cloud-meet-v2:0.62.0:0.63.0-SNAPSHOT +google-cloud-securityposture:0.60.0:0.61.0-SNAPSHOT +proto-google-cloud-securityposture-v1:0.60.0:0.61.0-SNAPSHOT +grpc-google-cloud-securityposture-v1:0.60.0:0.61.0-SNAPSHOT +proto-google-cloud-securitycenter-v2:2.103.0:2.104.0-SNAPSHOT +grpc-google-cloud-securitycenter-v2:2.103.0:2.104.0-SNAPSHOT +google-cloud-cloudcontrolspartner:0.59.0:0.60.0-SNAPSHOT +proto-google-cloud-cloudcontrolspartner-v1beta:0.59.0:0.60.0-SNAPSHOT +proto-google-cloud-cloudcontrolspartner-v1:0.59.0:0.60.0-SNAPSHOT +grpc-google-cloud-cloudcontrolspartner-v1:0.59.0:0.60.0-SNAPSHOT +grpc-google-cloud-cloudcontrolspartner-v1beta:0.59.0:0.60.0-SNAPSHOT +google-cloud-workspaceevents:0.59.0:0.60.0-SNAPSHOT +proto-google-cloud-workspaceevents-v1:0.59.0:0.60.0-SNAPSHOT +grpc-google-cloud-workspaceevents-v1:0.59.0:0.60.0-SNAPSHOT +google-cloud-apphub:0.59.0:0.60.0-SNAPSHOT +proto-google-cloud-apphub-v1:0.59.0:0.60.0-SNAPSHOT +grpc-google-cloud-apphub-v1:0.59.0:0.60.0-SNAPSHOT +google-cloud-chat:0.59.0:0.60.0-SNAPSHOT +proto-google-cloud-chat-v1:0.59.0:0.60.0-SNAPSHOT +grpc-google-cloud-chat-v1:0.59.0:0.60.0-SNAPSHOT +google-shopping-merchant-quota:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-quota-v1beta:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-quota-v1beta:1.23.0:1.24.0-SNAPSHOT +proto-google-cloud-secretmanager-v1beta2:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-secretmanager-v1beta2:2.95.0:2.96.0-SNAPSHOT +google-cloud-parallelstore:0.58.0:0.59.0-SNAPSHOT +proto-google-cloud-parallelstore-v1beta:0.58.0:0.59.0-SNAPSHOT +grpc-google-cloud-parallelstore-v1beta:0.58.0:0.59.0-SNAPSHOT +google-cloud-backupdr:0.54.0:0.55.0-SNAPSHOT +proto-google-cloud-backupdr-v1:0.54.0:0.55.0-SNAPSHOT +grpc-google-cloud-backupdr-v1:0.54.0:0.55.0-SNAPSHOT +google-maps-solar:0.54.0:0.55.0-SNAPSHOT +proto-google-maps-solar-v1:0.54.0:0.55.0-SNAPSHOT +grpc-google-maps-solar-v1:0.54.0:0.55.0-SNAPSHOT +google-shopping-merchant-datasources:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-datasources-v1beta:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-datasources-v1beta:1.23.0:1.24.0-SNAPSHOT +google-shopping-merchant-conversions:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-conversions-v1beta:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-conversions-v1beta:1.23.0:1.24.0-SNAPSHOT +google-shopping-merchant-lfp:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-lfp-v1beta:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-lfp-v1beta:1.23.0:1.24.0-SNAPSHOT +google-shopping-merchant-notifications:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-notifications-v1beta:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-notifications-v1beta:1.23.0:1.24.0-SNAPSHOT +ad-manager:0.54.0:0.55.0-SNAPSHOT +proto-ad-manager-v1:0.54.0:0.55.0-SNAPSHOT +google-maps-routeoptimization:0.53.0:0.54.0-SNAPSHOT +proto-google-maps-routeoptimization-v1:0.53.0:0.54.0-SNAPSHOT +grpc-google-maps-routeoptimization-v1:0.53.0:0.54.0-SNAPSHOT +proto-google-cloud-publicca-v1:0.92.0:0.93.0-SNAPSHOT +grpc-google-cloud-publicca-v1:0.92.0:0.93.0-SNAPSHOT +google-cloud-visionai:0.52.0:0.53.0-SNAPSHOT +proto-google-cloud-visionai-v1:0.52.0:0.53.0-SNAPSHOT +grpc-google-cloud-visionai-v1:0.52.0:0.53.0-SNAPSHOT +google-cloud-developerconnect:0.52.0:0.53.0-SNAPSHOT +proto-google-cloud-developerconnect-v1:0.52.0:0.53.0-SNAPSHOT +grpc-google-cloud-developerconnect-v1:0.52.0:0.53.0-SNAPSHOT +google-cloud-iap:0.51.0:0.52.0-SNAPSHOT +proto-google-cloud-iap-v1:0.51.0:0.52.0-SNAPSHOT +grpc-google-cloud-iap-v1:0.51.0:0.52.0-SNAPSHOT +google-cloud-managedkafka:0.51.0:0.52.0-SNAPSHOT +proto-google-cloud-managedkafka-v1:0.51.0:0.52.0-SNAPSHOT +grpc-google-cloud-managedkafka-v1:0.51.0:0.52.0-SNAPSHOT +google-cloud-networkservices:0.51.0:0.52.0-SNAPSHOT +proto-google-cloud-networkservices-v1:0.51.0:0.52.0-SNAPSHOT +grpc-google-cloud-networkservices-v1:0.51.0:0.52.0-SNAPSHOT +google-shopping-merchant-products:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-products-v1beta:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-products-v1beta:1.23.0:1.24.0-SNAPSHOT +google-cloud-gdchardwaremanagement:0.50.0:0.51.0-SNAPSHOT +proto-google-cloud-gdchardwaremanagement-v1alpha:0.50.0:0.51.0-SNAPSHOT +grpc-google-cloud-gdchardwaremanagement-v1alpha:0.50.0:0.51.0-SNAPSHOT +google-cloud-privilegedaccessmanager:0.49.0:0.50.0-SNAPSHOT +proto-google-cloud-privilegedaccessmanager-v1:0.49.0:0.50.0-SNAPSHOT +grpc-google-cloud-privilegedaccessmanager-v1:0.49.0:0.50.0-SNAPSHOT +google-cloud-apihub:0.48.0:0.49.0-SNAPSHOT +proto-google-cloud-apihub-v1:0.48.0:0.49.0-SNAPSHOT +grpc-google-cloud-apihub-v1:0.48.0:0.49.0-SNAPSHOT +google-cloud-connectgateway:0.47.0:0.48.0-SNAPSHOT +proto-google-cloud-connectgateway-v1:0.47.0:0.48.0-SNAPSHOT +google-maps-area-insights:0.46.0:0.47.0-SNAPSHOT +proto-google-maps-area-insights-v1:0.46.0:0.47.0-SNAPSHOT +grpc-google-maps-area-insights-v1:0.46.0:0.47.0-SNAPSHOT +admin:0.44.0:0.45.0-SNAPSHOT +proto-admin-v1alpha:0.44.0:0.45.0-SNAPSHOT +grpc-admin-v1alpha:0.44.0:0.45.0-SNAPSHOT +google-cloud-oracledatabase:0.44.0:0.45.0-SNAPSHOT +proto-google-cloud-oracledatabase-v1:0.44.0:0.45.0-SNAPSHOT +proto-google-cloud-parallelstore-v1:0.58.0:0.59.0-SNAPSHOT +grpc-google-cloud-parallelstore-v1:0.58.0:0.59.0-SNAPSHOT +google-maps-fleetengine:0.42.0:0.43.0-SNAPSHOT +proto-google-maps-fleetengine-v1:0.42.0:0.43.0-SNAPSHOT +grpc-google-maps-fleetengine-v1:0.42.0:0.43.0-SNAPSHOT +google-maps-fleetengine-delivery:0.42.0:0.43.0-SNAPSHOT +proto-google-maps-fleetengine-delivery-v1:0.42.0:0.43.0-SNAPSHOT +grpc-google-maps-fleetengine-delivery-v1:0.42.0:0.43.0-SNAPSHOT +google-shopping-merchant-reviews:0.41.0:0.42.0-SNAPSHOT +proto-google-shopping-merchant-reviews-v1beta:0.41.0:0.42.0-SNAPSHOT +grpc-google-shopping-merchant-reviews-v1beta:0.41.0:0.42.0-SNAPSHOT +google-cloud-valkey:0.41.0:0.42.0-SNAPSHOT +proto-google-cloud-valkey-v1:0.41.0:0.42.0-SNAPSHOT +proto-google-cloud-valkey-v1beta:0.41.0:0.42.0-SNAPSHOT +proto-google-cloud-cloudquotas-v1beta:0.63.0:0.64.0-SNAPSHOT +grpc-google-cloud-cloudquotas-v1beta:0.63.0:0.64.0-SNAPSHOT +proto-google-cloud-secretmanager-v1beta1:2.95.0:2.96.0-SNAPSHOT +grpc-google-cloud-secretmanager-v1beta1:2.95.0:2.96.0-SNAPSHOT +google-cloud-parametermanager:0.39.0:0.40.0-SNAPSHOT +proto-google-cloud-parametermanager-v1:0.39.0:0.40.0-SNAPSHOT +grpc-google-cloud-parametermanager-v1:0.39.0:0.40.0-SNAPSHOT +google-cloud-modelarmor:0.36.0:0.37.0-SNAPSHOT +proto-google-cloud-modelarmor-v1:0.36.0:0.37.0-SNAPSHOT +grpc-google-cloud-modelarmor-v1:0.36.0:0.37.0-SNAPSHOT +google-cloud-financialservices:0.36.0:0.37.0-SNAPSHOT +proto-google-cloud-financialservices-v1:0.36.0:0.37.0-SNAPSHOT +grpc-google-cloud-financialservices-v1:0.36.0:0.37.0-SNAPSHOT +google-cloud-devicestreaming:0.35.0:0.36.0-SNAPSHOT +proto-google-cloud-devicestreaming-v1:0.35.0:0.36.0-SNAPSHOT +grpc-google-cloud-devicestreaming-v1:0.35.0:0.36.0-SNAPSHOT +google-shopping-merchant-productstudio:0.35.0:0.36.0-SNAPSHOT +proto-google-shopping-merchant-productstudio-v1alpha:0.35.0:0.36.0-SNAPSHOT +grpc-google-shopping-merchant-productstudio-v1alpha:0.35.0:0.36.0-SNAPSHOT +google-cloud-storagebatchoperations:0.35.0:0.36.0-SNAPSHOT +proto-google-cloud-storagebatchoperations-v1:0.35.0:0.36.0-SNAPSHOT +grpc-google-cloud-storagebatchoperations-v1:0.35.0:0.36.0-SNAPSHOT +google-shopping-merchant-issue-resolution:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-issue-resolution-v1beta:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-issue-resolution-v1beta:1.23.0:1.24.0-SNAPSHOT +google-cloud-lustre:0.35.0:0.36.0-SNAPSHOT +proto-google-cloud-lustre-v1:0.35.0:0.36.0-SNAPSHOT +grpc-google-cloud-lustre-v1:0.35.0:0.36.0-SNAPSHOT +google-shopping-merchant-order-tracking:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-order-tracking-v1beta:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-order-tracking-v1beta:1.23.0:1.24.0-SNAPSHOT +grpc-google-cloud-oracledatabase-v1:0.44.0:0.45.0-SNAPSHOT +google-cloud-chronicle:0.33.0:0.34.0-SNAPSHOT +proto-google-cloud-chronicle-v1:0.33.0:0.34.0-SNAPSHOT +grpc-google-cloud-chronicle-v1:0.33.0:0.34.0-SNAPSHOT +proto-google-cloud-cloudsupport-v2beta:0.79.0:0.80.0-SNAPSHOT +grpc-google-cloud-cloudsupport-v2beta:0.79.0:0.80.0-SNAPSHOT +proto-google-cloud-modelarmor-v1beta:0.36.0:0.37.0-SNAPSHOT +grpc-google-cloud-modelarmor-v1beta:0.36.0:0.37.0-SNAPSHOT +proto-google-cloud-dataform-v1:0.94.0:0.95.0-SNAPSHOT +grpc-google-cloud-dataform-v1:0.94.0:0.95.0-SNAPSHOT +google-cloud-spanneradapter:0.31.0:0.32.0-SNAPSHOT +proto-google-cloud-spanneradapter-v1:0.31.0:0.32.0-SNAPSHOT +grpc-google-cloud-spanneradapter-v1:0.31.0:0.32.0-SNAPSHOT +proto-google-cloud-workspaceevents-v1beta:0.59.0:0.60.0-SNAPSHOT +grpc-google-cloud-workspaceevents-v1beta:0.59.0:0.60.0-SNAPSHOT +google-cloud-maintenance:0.29.0:0.30.0-SNAPSHOT +proto-google-cloud-maintenance-v1beta:0.29.0:0.30.0-SNAPSHOT +grpc-google-cloud-maintenance-v1beta:0.29.0:0.30.0-SNAPSHOT +google-cloud-configdelivery:0.29.0:0.30.0-SNAPSHOT +proto-google-cloud-configdelivery-v1beta:0.29.0:0.30.0-SNAPSHOT +grpc-google-cloud-configdelivery-v1beta:0.29.0:0.30.0-SNAPSHOT +proto-google-cloud-bigquerydatapolicy-v2beta1:0.92.0:0.93.0-SNAPSHOT +grpc-google-cloud-bigquerydatapolicy-v2beta1:0.92.0:0.93.0-SNAPSHOT +google-cloud-licensemanager:0.28.0:0.29.0-SNAPSHOT +proto-google-cloud-licensemanager-v1:0.28.0:0.29.0-SNAPSHOT +grpc-google-cloud-licensemanager-v1:0.28.0:0.29.0-SNAPSHOT +proto-google-shopping-merchant-reports-v1alpha:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-reports-v1alpha:1.23.0:1.24.0-SNAPSHOT +proto-google-cloud-bigquerydatapolicy-v2:0.92.0:0.93.0-SNAPSHOT +grpc-google-cloud-bigquerydatapolicy-v2:0.92.0:0.93.0-SNAPSHOT +proto-google-cloud-configdelivery-v1:0.29.0:0.30.0-SNAPSHOT +grpc-google-cloud-configdelivery-v1:0.29.0:0.30.0-SNAPSHOT +proto-google-shopping-merchant-datasources-v1:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-datasources-v1:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-inventories-v1:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-inventories-v1:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-conversions-v1:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-conversions-v1:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-issue-resolution-v1:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-issue-resolution-v1:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-order-tracking-v1:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-order-tracking-v1:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-accounts-v1:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-accounts-v1:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-lfp-v1:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-lfp-v1:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-products-v1:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-products-v1:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-promotions-v1:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-promotions-v1:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-quota-v1:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-quota-v1:1.23.0:1.24.0-SNAPSHOT +proto-google-shopping-merchant-reports-v1:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-reports-v1:1.23.0:1.24.0-SNAPSHOT +google-cloud-saasservicemgmt:0.25.0:0.26.0-SNAPSHOT +proto-google-cloud-saasservicemgmt-v1beta1:0.25.0:0.26.0-SNAPSHOT +grpc-google-cloud-saasservicemgmt-v1beta1:0.25.0:0.26.0-SNAPSHOT +proto-google-shopping-merchant-notifications-v1:1.23.0:1.24.0-SNAPSHOT +grpc-google-shopping-merchant-notifications-v1:1.23.0:1.24.0-SNAPSHOT +google-cloud-geminidataanalytics:0.23.0:0.24.0-SNAPSHOT +proto-google-cloud-geminidataanalytics-v1beta:0.23.0:0.24.0-SNAPSHOT +grpc-google-cloud-geminidataanalytics-v1beta:0.23.0:0.24.0-SNAPSHOT +google-cloud-cloudsecuritycompliance:0.22.0:0.23.0-SNAPSHOT +proto-google-cloud-cloudsecuritycompliance-v1:0.22.0:0.23.0-SNAPSHOT +grpc-google-cloud-cloudsecuritycompliance-v1:0.22.0:0.23.0-SNAPSHOT +google-cloud-locationfinder:0.20.0:0.21.0-SNAPSHOT +proto-google-cloud-locationfinder-v1:0.20.0:0.21.0-SNAPSHOT +grpc-google-cloud-locationfinder-v1:0.20.0:0.21.0-SNAPSHOT +google-cloud-capacityplanner:0.18.0:0.19.0-SNAPSHOT +proto-google-cloud-capacityplanner-v1beta:0.18.0:0.19.0-SNAPSHOT +grpc-google-cloud-capacityplanner-v1beta:0.18.0:0.19.0-SNAPSHOT +data-manager:0.16.0:0.17.0-SNAPSHOT +proto-data-manager-v1:0.16.0:0.17.0-SNAPSHOT +grpc-data-manager-v1:0.16.0:0.17.0-SNAPSHOT +google-cloud-vectorsearch:0.17.0:0.18.0-SNAPSHOT +proto-google-cloud-vectorsearch-v1beta:0.17.0:0.18.0-SNAPSHOT +grpc-google-cloud-vectorsearch-v1beta:0.17.0:0.18.0-SNAPSHOT +google-cloud-databasecenter:0.16.0:0.17.0-SNAPSHOT +proto-google-cloud-databasecenter-v1beta:0.16.0:0.17.0-SNAPSHOT +grpc-google-cloud-databasecenter-v1beta:0.16.0:0.17.0-SNAPSHOT +google-cloud-hypercomputecluster:0.15.0:0.16.0-SNAPSHOT +proto-google-cloud-hypercomputecluster-v1beta:0.15.0:0.16.0-SNAPSHOT +grpc-google-cloud-hypercomputecluster-v1beta:0.15.0:0.16.0-SNAPSHOT +proto-google-cloud-maintenance-v1:0.29.0:0.30.0-SNAPSHOT +grpc-google-cloud-maintenance-v1:0.29.0:0.30.0-SNAPSHOT +google-cloud-gkerecommender:0.15.0:0.16.0-SNAPSHOT +proto-google-cloud-gkerecommender-v1:0.15.0:0.16.0-SNAPSHOT +grpc-google-cloud-gkerecommender-v1:0.15.0:0.16.0-SNAPSHOT +google-cloud-cloudapiregistry:0.14.0:0.15.0-SNAPSHOT +proto-google-cloud-cloudapiregistry-v1beta:0.14.0:0.15.0-SNAPSHOT +grpc-google-cloud-cloudapiregistry-v1beta:0.14.0:0.15.0-SNAPSHOT +google-cloud-auditmanager:0.13.0:0.14.0-SNAPSHOT +proto-google-cloud-auditmanager-v1:0.13.0:0.14.0-SNAPSHOT +grpc-google-cloud-auditmanager-v1:0.13.0:0.14.0-SNAPSHOT +proto-google-cloud-cloudapiregistry-v1:0.14.0:0.15.0-SNAPSHOT +grpc-google-cloud-cloudapiregistry-v1:0.14.0:0.15.0-SNAPSHOT +google-cloud-logging:3.36.0:3.37.0-SNAPSHOT +grpc-google-cloud-logging-v2:3.36.0:3.37.0-SNAPSHOT +proto-google-cloud-logging-v2:3.36.0:3.37.0-SNAPSHOT +google-cloud-workloadmanager:0.11.0:0.12.0-SNAPSHOT +proto-google-cloud-workloadmanager-v1:0.11.0:0.12.0-SNAPSHOT +grpc-google-cloud-workloadmanager-v1:0.11.0:0.12.0-SNAPSHOT +google-cloud-ces:0.11.0:0.12.0-SNAPSHOT +proto-google-cloud-ces-v1:0.11.0:0.12.0-SNAPSHOT +grpc-google-cloud-ces-v1:0.11.0:0.12.0-SNAPSHOT +google-cloud-bigquerystorage:3.31.0:3.32.0-SNAPSHOT +grpc-google-cloud-bigquerystorage-v1beta1:3.31.0:3.32.0-SNAPSHOT +grpc-google-cloud-bigquerystorage-v1beta2:3.31.0:3.32.0-SNAPSHOT +grpc-google-cloud-bigquerystorage-v1:3.31.0:3.32.0-SNAPSHOT +proto-google-cloud-bigquerystorage-v1beta1:3.31.0:3.32.0-SNAPSHOT +proto-google-cloud-bigquerystorage-v1beta2:3.31.0:3.32.0-SNAPSHOT +proto-google-cloud-bigquerystorage-v1:3.31.0:3.32.0-SNAPSHOT +grpc-google-cloud-bigquerystorage-v1alpha:3.31.0:3.32.0-SNAPSHOT +proto-google-cloud-bigquerystorage-v1alpha:3.31.0:3.32.0-SNAPSHOT +proto-google-cloud-bigquerystorage-v1beta:3.31.0:3.32.0-SNAPSHOT +grpc-google-cloud-bigquerystorage-v1beta:3.31.0:3.32.0-SNAPSHOT +google-cloud-datastore:3.3.0:3.4.0-SNAPSHOT +google-cloud-datastore-bom:3.3.0:3.4.0-SNAPSHOT +proto-google-cloud-datastore-v1:3.3.0:3.4.0-SNAPSHOT +datastore-v1-proto-client:3.3.0:3.4.0-SNAPSHOT +proto-google-cloud-datastore-admin-v1:3.3.0:3.4.0-SNAPSHOT +grpc-google-cloud-datastore-admin-v1:3.3.0:3.4.0-SNAPSHOT +grpc-google-cloud-datastore-v1:3.3.0:3.4.0-SNAPSHOT +google-cloud-logging-logback:0.144.0-alpha:0.145.0-alpha-SNAPSHOT +proto-google-cloud-ces-v1beta:0.11.0:0.12.0-SNAPSHOT +grpc-google-cloud-ces-v1beta:0.11.0:0.12.0-SNAPSHOT +proto-google-cloud-vectorsearch-v1:0.17.0:0.18.0-SNAPSHOT +grpc-google-cloud-vectorsearch-v1:0.17.0:0.18.0-SNAPSHOT +google-cloud-bigquery:2.69.0:2.70.0-SNAPSHOT +google-cloud-bigquery-jdbc:1.2.0:1.3.0-SNAPSHOT +proto-google-cloud-networkconnectivity-v1beta:1.94.0:1.95.0-SNAPSHOT +grpc-google-cloud-networkconnectivity-v1beta:1.94.0:1.95.0-SNAPSHOT +proto-google-cloud-hypercomputecluster-v1:0.15.0:0.16.0-SNAPSHOT +grpc-google-cloud-hypercomputecluster-v1:0.15.0:0.16.0-SNAPSHOT +proto-google-cloud-biglake-v1beta:0.83.0:0.84.0-SNAPSHOT +grpc-google-cloud-biglake-v1beta:0.83.0:0.84.0-SNAPSHOT +gapic-generator-java:2.75.0:2.76.0-SNAPSHOT +api-common:2.66.0:2.67.0-SNAPSHOT +gax:2.83.0:2.84.0-SNAPSHOT +gax-grpc:2.83.0:2.84.0-SNAPSHOT +proto-google-common-protos:2.74.0:2.75.0-SNAPSHOT +grpc-google-common-protos:2.74.0:2.75.0-SNAPSHOT +proto-google-iam-v1:1.69.0:1.70.0-SNAPSHOT +grpc-google-iam-v1:1.69.0:1.70.0-SNAPSHOT +proto-google-iam-v2beta:1.69.0:1.70.0-SNAPSHOT +grpc-google-iam-v2beta:1.69.0:1.70.0-SNAPSHOT +proto-google-iam-v2:1.69.0:1.70.0-SNAPSHOT +grpc-google-iam-v2:1.69.0:1.70.0-SNAPSHOT +google-cloud-core:2.73.0:2.74.0-SNAPSHOT +google-cloud-shared-dependencies:3.65.0:3.66.0-SNAPSHOT +proto-google-iam-v3:1.69.0:1.70.0-SNAPSHOT +grpc-google-iam-v3:1.69.0:1.70.0-SNAPSHOT +proto-google-iam-v3beta:1.69.0:1.70.0-SNAPSHOT +grpc-google-iam-v3beta:1.69.0:1.70.0-SNAPSHOT +proto-google-cloud-spanner-admin-instance-v1:6.120.0:6.121.0-SNAPSHOT +proto-google-cloud-spanner-v1:6.120.0:6.121.0-SNAPSHOT +proto-google-cloud-spanner-admin-database-v1:6.120.0:6.121.0-SNAPSHOT +grpc-google-cloud-spanner-v1:6.120.0:6.121.0-SNAPSHOT +grpc-google-cloud-spanner-admin-instance-v1:6.120.0:6.121.0-SNAPSHOT +grpc-google-cloud-spanner-admin-database-v1:6.120.0:6.121.0-SNAPSHOT +google-cloud-spanner:6.120.0:6.121.0-SNAPSHOT +grpc-gcp:1.13.0:1.14.0-SNAPSHOT +google-cloud-spanner-executor:6.120.0:6.121.0-SNAPSHOT +proto-google-cloud-spanner-executor-v1:6.120.0:6.121.0-SNAPSHOT +grpc-google-cloud-spanner-executor-v1:6.120.0:6.121.0-SNAPSHOT +google-cloud-spanner-jdbc:2.42.0:2.43.0-SNAPSHOT +google-auth-library:1.50.0:1.51.0-SNAPSHOT +google-auth-library-bom:1.50.0:1.51.0-SNAPSHOT +google-auth-library-parent:1.50.0:1.51.0-SNAPSHOT +google-auth-library-appengine:1.50.0:1.51.0-SNAPSHOT +google-auth-library-credentials:1.50.0:1.51.0-SNAPSHOT +google-auth-library-oauth2-http:1.50.0:1.51.0-SNAPSHOT +google-cloud-storage:2.71.0:2.72.0-SNAPSHOT +gapic-google-cloud-storage-v2:2.71.0:2.72.0-SNAPSHOT +grpc-google-cloud-storage-v2:2.71.0:2.72.0-SNAPSHOT +proto-google-cloud-storage-v2:2.71.0:2.72.0-SNAPSHOT +google-cloud-storage-control:2.71.0:2.72.0-SNAPSHOT +proto-google-cloud-storage-control-v2:2.71.0:2.72.0-SNAPSHOT +grpc-google-cloud-storage-control-v2:2.71.0:2.72.0-SNAPSHOT +google-maps-geocode:0.7.0:0.8.0-SNAPSHOT +proto-google-maps-geocode-v4:0.7.0:0.8.0-SNAPSHOT +grpc-google-maps-geocode-v4:0.7.0:0.8.0-SNAPSHOT +google-cloud-nio:0.135.0:0.136.0-SNAPSHOT +google-cloud-appoptimize:0.5.0:0.6.0-SNAPSHOT +proto-google-cloud-appoptimize-v1beta:0.5.0:0.6.0-SNAPSHOT +grpc-google-cloud-appoptimize-v1beta:0.5.0:0.6.0-SNAPSHOT +google-cloud-health:0.4.0:0.5.0-SNAPSHOT +proto-google-cloud-health-v4:0.4.0:0.5.0-SNAPSHOT +grpc-google-cloud-health-v4:0.4.0:0.5.0-SNAPSHOT +google-maps-mapmanagement:0.4.0:0.5.0-SNAPSHOT +proto-google-maps-mapmanagement-v2beta:0.4.0:0.5.0-SNAPSHOT +grpc-google-maps-mapmanagement-v2beta:0.4.0:0.5.0-SNAPSHOT +grpc-google-cloud-valkey-v1beta:0.41.0:0.42.0-SNAPSHOT +grpc-google-cloud-valkey-v1:0.41.0:0.42.0-SNAPSHOT +google-cloud-pubsub:1.153.0:1.154.0-SNAPSHOT +grpc-google-cloud-pubsub-v1:1.153.0:1.154.0-SNAPSHOT +proto-google-cloud-pubsub-v1:1.153.0:1.154.0-SNAPSHOT +google-cloud-bigtable:2.81.0:2.82.0-SNAPSHOT +grpc-google-cloud-bigtable-admin-v2:2.81.0:2.82.0-SNAPSHOT +grpc-google-cloud-bigtable-v2:2.81.0:2.82.0-SNAPSHOT +proto-google-cloud-bigtable-admin-v2:2.81.0:2.82.0-SNAPSHOT +proto-google-cloud-bigtable-v2:2.81.0:2.82.0-SNAPSHOT +google-cloud-bigtable-emulator:0.218.0:0.219.0-SNAPSHOT +google-cloud-bigtable-emulator-core:0.218.0:0.219.0-SNAPSHOT +google-cloud-firestore:3.45.0:3.46.0-SNAPSHOT +google-cloud-firestore-admin:3.45.0:3.46.0-SNAPSHOT +google-cloud-firestore-bom:3.45.0:3.46.0-SNAPSHOT +grpc-google-cloud-firestore-admin-v1:3.45.0:3.46.0-SNAPSHOT +grpc-google-cloud-firestore-v1:3.45.0:3.46.0-SNAPSHOT +proto-google-cloud-firestore-admin-v1:3.45.0:3.46.0-SNAPSHOT +proto-google-cloud-firestore-v1:3.45.0:3.46.0-SNAPSHOT +proto-google-cloud-firestore-bundle-v1:3.45.0:3.46.0-SNAPSHOT +proto-google-cloud-geminidataanalytics-v1:0.23.0:0.24.0-SNAPSHOT +grpc-google-cloud-geminidataanalytics-v1:0.23.0:0.24.0-SNAPSHOT +google-cloud-developer-knowledge:0.3.0:0.4.0-SNAPSHOT +proto-google-cloud-developer-knowledge-v1:0.3.0:0.4.0-SNAPSHOT +grpc-google-cloud-developer-knowledge-v1:0.3.0:0.4.0-SNAPSHOT +google-cloud-backstory:0.3.0:0.4.0-SNAPSHOT +google-cloud-bom:0.267.0:0.268.0-SNAPSHOT +libraries-bom:26.86.0:26.87.0-SNAPSHOT +java-cloud-bom-tests:0.82.0:0.83.0-SNAPSHOT +full-convergence-check:0.85.0:0.86.0-SNAPSHOT +google-cloud-shared-config:1.19.0:1.20.0-SNAPSHOT +proto-google-cloud-agentregistry-v1:0.2.0:0.3.0-SNAPSHOT +grpc-google-cloud-agentregistry-v1:0.2.0:0.3.0-SNAPSHOT +google-cloud-agentregistry:0.2.0:0.3.0-SNAPSHOT +google-cloud-agentregistry-bom:0.2.0:0.3.0-SNAPSHOT +google-cloud-agentregistry-parent:0.2.0:0.3.0-SNAPSHOT +google-cloud-agentidentity-parent:0.1.0:0.2.0-SNAPSHOT +google-cloud-agentidentity-bom:0.1.0:0.2.0-SNAPSHOT +proto-google-cloud-agentidentity-v1:0.1.0:0.2.0-SNAPSHOT +grpc-google-cloud-agentidentity-v1:0.1.0:0.2.0-SNAPSHOT +google-cloud-agentidentity:0.1.0:0.2.0-SNAPSHOT +proto-google-cloud-agentidentity-v1beta:0.1.0:0.2.0-SNAPSHOT +grpc-google-cloud-agentidentity-v1beta:0.1.0:0.2.0-SNAPSHOT +google-cloud-commerceproducer-parent:0.1.0:0.2.0-SNAPSHOT +google-cloud-commerceproducer-bom:0.1.0:0.2.0-SNAPSHOT +proto-google-cloud-commerceproducer-v1beta:0.1.0:0.2.0-SNAPSHOT +grpc-google-cloud-commerceproducer-v1beta:0.1.0:0.2.0-SNAPSHOT +google-cloud-commerceproducer:0.1.0:0.2.0-SNAPSHOT +google-cloud-productregistry-parent:0.1.0:0.2.0-SNAPSHOT +google-cloud-productregistry-bom:0.1.0:0.2.0-SNAPSHOT +proto-google-cloud-productregistry-v1:0.1.0:0.2.0-SNAPSHOT +grpc-google-cloud-productregistry-v1:0.1.0:0.2.0-SNAPSHOT +google-cloud-productregistry:0.1.0:0.2.0-SNAPSHOT +google-maps-isochrones-parent:0.1.0:0.2.0-SNAPSHOT +google-maps-isochrones-bom:0.1.0:0.2.0-SNAPSHOT +proto-google-maps-isochrones-v1:0.1.0:0.2.0-SNAPSHOT +grpc-google-maps-isochrones-v1:0.1.0:0.2.0-SNAPSHOT +google-maps-isochrones:0.1.0:0.2.0-SNAPSHOT +google-cloud-sql-parent:0.1.0:0.2.0-SNAPSHOT +google-cloud-sql-bom:0.1.0:0.2.0-SNAPSHOT +proto-google-cloud-sql-v1:0.1.0:0.2.0-SNAPSHOT +grpc-google-cloud-sql-v1:0.1.0:0.2.0-SNAPSHOT +google-cloud-sql:0.1.0:0.2.0-SNAPSHOT +proto-google-cloud-sql-v1beta4:0.1.0:0.2.0-SNAPSHOT +grpc-google-cloud-sql-v1beta4:0.1.0:0.2.0-SNAPSHOT +google-maps-navconnect-parent:0.1.0:0.2.0-SNAPSHOT +google-maps-navconnect-bom:0.1.0:0.2.0-SNAPSHOT +proto-google-maps-navconnect-v1:0.1.0:0.2.0-SNAPSHOT +grpc-google-maps-navconnect-v1:0.1.0:0.2.0-SNAPSHOT +google-maps-navconnect:0.1.0:0.2.0-SNAPSHOT From acc7c9df06a7e57b5faaca6fef88319c2ce59910 Mon Sep 17 00:00:00 2001 From: macastelaz <34776182+macastelaz@users.noreply.github.com> Date: Fri, 2 Oct 2026 23:13:40 -0500 Subject: [PATCH 02/12] feat: Enable Bound Token for Agentic Identities (#13873) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR introduces a feature which enables the auth library to acquire bound access-tokens and bound id-tokens in Agentic Environments. 1) We detect certs in default paths and check if they match the SPIFFE format for agents. 2) If 1. is a yes then we call the MDS endpoint in a POST request with the certificate in the body. Note this PR was based on https://github.com/googleapis/google-cloud-java/pull/13169 --- ## Manual Testing & End-to-End Verification We verified this feature end-to-end across both a **Live Cloud Run Agent Identity environment** (testing against the live Google Metadata Server, Security Token Service, and Vertex AI with the **Java Agent Development Kit (`com.google.adk:google-adk:1.9.0`)**) and a **10-Scenario Local Mock MDS Simulation Harness** (testing exact HTTP request payloads, true cryptographic certificate/key rotation, combined bundle private-key stripping, well-known directory discovery, non-agent SPIFFE fallback, environment variable precedence, non-atomic rotation retries, and asynchronous container startup polling). ### 1. Live Cloud Run Agent Identity Verification (``, `us-central1`) We deployed a containerized Java test application built against this branch (`google-auth-library-oauth2-http:1.50.0-SNAPSHOT` @ `27776f6d62a`) + Java ADK (`com.google.adk:google-adk:1.9.0`) to Cloud Run with Agent Identity enabled (`--functional-type=agent --identity-type=agent-identity`). #### Execution A: Default Bound Token Acquisition (`GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN` unset / default `true`) - **Cloud Run Job Executions**: `agent-bound-token-java-test-cjrgp` (latest run with Step 4D) & `agent-bound-token-java-test-dd9gm` - **Workload Certificate Discovery**: - Detected `/var/run/secrets/workload-spiffe-credentials/credentials.json` - Extracted Leaf Certificate SAN URI: `spiffe://agents.global.org-.system.id.goog/resources/run/projects//locations/us-central1/jobs/agent-bound-token-java-test` - Leaf Certificate SHA-256 (`x5t#S256`): `5Ggf2ofOIkHkvBAwfku6eKQVI5pYzW50whzv-VwSAM8` - **Bound Access Token (`ComputeEngineCredentials`)**: - Successfully acquired bound OAuth2 Access Token via `POST` to Metadata Server (`ya29.d.c0AZ4bNp...`). - **Bound ID Token (`IdTokenCredentials`) & Cryptographic Binding Verification (RFC 8705 § 3.1)**: - Acquired bound ID Token for target audience `https://example-target-service.run.app`. - Decoded JWT payload inline (`textPayload`) and verified live Google STS embedded the `cnf` (Confirmation) claim containing the SHA-256 thumbprint (`x5t#S256`) of the workload's leaf X.509 certificate: ```json "cnf": { "x5t#S256": "5Ggf2ofOIkHkvBAwfku6eKQVI5pYzW50whzv-VwSAM8" } ``` - Verified an **exact byte-for-byte match** (`[PASS] JWT x5t#S256 thumbprint EXACTLY matches local leaf certificate SHA-256!`). - **Java ADK (`com.google.adk:google-adk:1.9.0`) + `google-genai` & mTLS Proof-of-Possession Verification (Steps 4A, 4B, 4C, 4D)**: - **Step 4A (ADK `HttpClientFactory` Non-mTLS Transport)**: Inspected ADK's shared `OkHttpClient` (`sun.security.ssl.SSLSocketFactoryImpl`, no client cert). Calling Google APIs over this non-mTLS channel with the bound token is rejected at the auth layer with **`HTTP 401 UNAUTHENTICATED`**. - **Step 4B (Live ADK `LlmAgent` + `Gemini` Turn on Vertex AI)**: Invoking `InMemoryRunner.runAsync(...)` with `Gemini` (`gemini-2.5-flash`) fails on turn 1 with `com.google.genai.errors.ClientException: 401 . Request had invalid authentication credentials`, confirming the known limitation where `google-genai` sends bound tokens over a non-mTLS channel. - **Step 4C (True mTLS Contrast Test — Matching Workload Certificate)**: Presenting the **exact same bound access token** over a true mTLS `OkHttpClient` (configured with `/var/run/secrets/workload-spiffe-credentials/certificates.pem` + `private_key.pem`, `x5t#S256 = 5Ggf2ofOIkHkvBAwfku6eKQVI5pYzW50whzv-VwSAM8`) to `https://cloudresourcemanager.mtls.googleapis.com/v1/projects/` **passes authentication** (`HTTP 403 PERMISSION_DENIED` IAM check instead of `401 UNAUTHENTICATED`), proving Google API Frontend verified the token binding against the TLS client certificate handshake. - **Step 4D (Sender-Constraining / Proof-of-Possession Negative Test — Mismatched Client Certificate)**: Presenting the **exact same bound access token** to `https://cloudresourcemanager.mtls.googleapis.com/v1/projects/` over an mTLS `OkHttpClient` configured with a **different** X.509 client certificate (`x5t#S256 = -57ZjYVm89oczfdO02Hf3Sz-FaYQIVH1DD3c9zaBIKA`) is **rejected at the auth layer with `HTTP 401 UNAUTHENTICATED`**, confirming that Google API Frontend enforces cryptographic thumbprint matching (`cnf.x5t#S256 == SHA256(TLS client cert)`). #### Execution B: Opt-Out Unbound Token Acquisition (`GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=false`) - **Cloud Run Job Execution**: `agent-bound-token-java-test-t7b98` - Updated job environment variable `--set-env-vars="GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=false,GOOGLE_CLOUD_LOCATION=global,GOOGLE_GENAI_USE_VERTEXAI=true"`. - Verified `ComputeEngineCredentials` and `IdTokenCredentials` fell back to standard `HTTP GET` requests against MDS and issued standard unbound tokens (decoded JWT payload confirmed absence of the `cnf` claim). - **Java ADK Live Agent Turn (`Step 4B`)**: With `GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=false`, the unbound token works over `google-genai`'s non-mTLS channel and the live ADK `LlmAgent` + `Gemini` turn **SUCCEEDS**: `[ADK Event] author=bound-token-verify-agent, content=Hello! Yes, as an agent designed to test bound token behavior with the Java ADK, I am expected to receive and process bound tokens.` --- ### 2. Local End-to-End Simulation & Wire Verification (10 Scenarios) To verify internal wire-level, discovery, rotation, environment-variable, and error-handling behavior between the client and MDS, we executed our local simulation suite (`LocalSimulationRunner.java`) spinning up a local Mock MDS (`HttpServer`) across **10 end-to-end scenarios**: 1. **Bound Access Token (`ComputeEngineCredentials` + `GOOGLE_API_CERTIFICATE_CONFIG`)**: Verified `HTTP POST` to `/computeMetadata/v1/instance/service-accounts/default/token?scopes=https://www.googleapis.com/auth/cloud-platform`, verified JSON body `{"certificate_chain": "-----BEGIN CERTIFICATE-----\n..."}` (serialized as a single PEM string), and verified no extra fields are included in the JSON payload. 2. **Bound ID Token (`IdTokenCredentials` + `GOOGLE_API_CERTIFICATE_CONFIG`)**: Verified `HTTP POST` to `/computeMetadata/v1/instance/service-accounts/default/identity?audience=https://target.run.app` (with `audience` passed as a URL query parameter) and JSON body `{"certificate_chain": "-----BEGIN CERTIFICATE-----\n..."}`. 3. **True Live Cryptographic Certificate & Key Rotation on Disk (`Gen-1` $\rightarrow$ `Gen-2`)**: Generated a new X.509 SPIFFE certificate and matching 2048-bit RSA key pair on disk, updated file `mtime`, and verified `AgentIdentityUtils.getAgentIdentityCertInfo()` invalidated its cache, verified the new key pair, and transmitted the rotated `Gen-2` certificate chain (`!req3.body.equals(req1.body)`). 4. **Opt-Out Override (`GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=false`)**: Verified setting `GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=false` switches requests back to `HTTP GET` with an empty request body. 5. **Well-Known Directory Combined Bundle (`credentialbundle.pem`) + Private Key Stripping**: Unset `GOOGLE_API_CERTIFICATE_CONFIG`, wrote a combined `credentialbundle.pem` containing **both** `-----BEGIN CERTIFICATE-----` and `-----BEGIN PRIVATE KEY-----` in the well-known directory, and verified that `AgentIdentityUtils` resolved `certPath == keyPath`, verified the key pair, and **stripped the `PRIVATE KEY` block** from the transmitted `POST` payload. 6. **Well-Known Directory Separate Files (`certificates.pem` + `private_key.pem`)**: Unset `GOOGLE_API_CERTIFICATE_CONFIG`, removed `credentialbundle.pem`, placed separate `certificates.pem` and `private_key.pem` in the well-known directory, and verified bound `HTTP POST` acquisition. 7. **Non-Agent SPIFFE Trust Domain Fallback (`shouldRequestBoundToken == false`)**: Configured a valid X.509 certificate with a standard GKE Workload Identity SAN (`spiffe://my-standard-gke-project.svc.id.goog/ns/default/sa/my-ksa`); verified `AgentIdentityUtils` did not throw, cached `shouldRequestBoundToken = false`, and fell back to standard `HTTP GET`. 8. **Environment Variable Precedence & `GOOGLE_API_USE_CLIENT_CERTIFICATE` Matrix**: - **8a**: Legacy `GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES=false` (with `GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN` unset) $\rightarrow$ falls back to `HTTP GET`. - **8b**: Modern `GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=true` overrides legacy `GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES=false` $\rightarrow$ sends bound `HTTP POST`. - **8c**: `GOOGLE_API_USE_CLIENT_CERTIFICATE=false` with valid agent certs on disk $\rightarrow$ disables bound token (`HTTP GET`) without startup polling. - **8d**: `GOOGLE_API_USE_CLIENT_CERTIFICATE=true` with missing cert files $\rightarrow$ fails closed with `IOException` after retries instead of silently downgrading to an unbound token. 9. **Non-Atomic Rotation / Transient Key-Pair Mismatch Recovery (`CERT_KEY_MATCH_RETRIES`)**: Wrote a new `Gen-3` non-prod SPIFFE certificate (`spiffe://agents-nonprod.global.org-54321.system.id.goog/...`) first while delaying the matching `private_key.pem` update on a background thread; verified `loadAndVerifyCredentials()` retried cleanly via `CERT_KEY_MATCH_RETRIES` and transmitted `Gen-3`. 10. **Asynchronous Container Startup Credential Delivery Polling (`TOTAL_POLL_CYCLES`)**: Started with an empty well-known directory on initial startup (`GOOGLE_API_USE_CLIENT_CERTIFICATE=true`), delivered `certificates.pem` + `private_key.pem` asynchronously from a background thread after ~180ms, and verified the initial `refreshAccessToken()` polled until the files arrived and succeeded with a bound `HTTP POST`. --- ### 3. Reproducible Test Artifacts & Execution Logs (`gpaste` - Internal Corp Access Only) | Artifact / Log | Description | Link | | :--- | :--- | :--- | | **Combined Verification Summary & Logs** | Complete report & console outputs from Live Cloud Run (Bound `cjrgp` & Opt-Out `t7b98`) + Java ADK + Local 10-Scenario Simulation | https://paste.googleplex.com/4671448266964992 | | **`CloudRunAgentVerifyApp.java`** | Live Cloud Run + Java ADK verification app (validates SPIFFE cert, ADC access token, ID token `cnf.x5t#S256` match, and ADK Steps 4A/4B/4C/4D) | https://paste.googleplex.com/5431546950057984 | | **`LocalSimulationRunner.java`** | Self-contained local E2E test harness with Mock MDS (`HttpServer`) testing all 10 scenarios | https://paste.googleplex.com/4541159570014208 | | **`Dockerfile`** | Multi-stage Docker build resolving Java ADK 1.9.0 + `google-genai` and overlaying our local PR JAR | https://paste.googleplex.com/6569302979903488 | | **`deploy_cloud_run_job.sh`** | Turnkey script to build via Cloud Build, deploy Cloud Run Job with `--identity-type=agent-identity`, and execute | https://paste.googleplex.com/4908078735163392 | | **`build_and_run_local.sh`** | Turnkey script to compile and run the local simulation | https://paste.googleplex.com/6449866457350144 | | **Raw Cloud Logging — Bound Run (`cjrgp`)** | Plain-text Cloud Run logs from `gcloud logging read` for default Bound Token execution (with inline decoded JWT & ADK Steps 4A/4B/4C/4D) | https://paste.googleplex.com/5404054864396288 | | **Raw Cloud Logging — Opt-Out Run (`t7b98`)** | Plain-text Cloud Run logs from `gcloud logging read` for `GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=false` execution (showing live ADK Gemini response) | https://paste.googleplex.com/5990735250325504 | #### Quick Reproduction Steps To replicate the live Cloud Run test in any GCP project with Agent Identity enabled: ```bash # 1. Place CloudRunAgentVerifyApp.java, LocalSimulationRunner.java, Dockerfile, and deploy_cloud_run_job.sh # in a directory alongside your local google-cloud-java checkout. chmod +x deploy_cloud_run_job.sh build_and_run_local.sh # 2. Run the local 10-scenario simulation suite: ./build_and_run_local.sh # 3. Deploy and execute the Cloud Run Job with Agent Identity enabled (Default Bound Token mode): ./deploy_cloud_run_job.sh us-central1 # 4. To test opt-out behavior (unblocks ADK non-mTLS Gemini calls): gcloud alpha run jobs update agent-bound-token-java-test \ --project= --region=us-central1 \ --set-env-vars="GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=false,GOOGLE_CLOUD_LOCATION=global,GOOGLE_GENAI_USE_VERTEXAI=true" gcloud alpha run jobs execute agent-bound-token-java-test \ --project= --region=us-central1 --wait ``` --------- Co-authored-by: Pranav Iyer --- .../auth/oauth2/AgentIdentityCacheUtils.java | 358 +++ ...entIdentityCertificateValidationUtils.java | 248 +++ .../auth/oauth2/AgentIdentityUtils.java | 882 ++++++++ ...icateIdentityPoolSubjectTokenSupplier.java | 9 +- .../auth/oauth2/ComputeEngineCredentials.java | 84 +- .../com/google/auth/oauth2/OAuth2Utils.java | 4 + .../auth/oauth2/AgentIdentityUtilsTest.java | 1919 +++++++++++++++++ .../oauth2/ComputeEngineCredentialsTest.java | 182 +- .../DefaultCredentialsProviderTest.java | 20 + .../auth/oauth2/IdTokenCredentialsTest.java | 16 + .../com/google/auth/oauth2/LoggingTest.java | 41 +- .../oauth2/MockMetadataServerTransport.java | 6 + .../testresources/agent/agent_spiffe_cert.pem | 21 + .../agent/agent_spiffe_cert_chain.pem | 40 + .../agent/agent_spiffe_dsa_cert.pem | 28 + .../testresources/agent/agent_spiffe_key.pem | 28 + 16 files changed, 3860 insertions(+), 26 deletions(-) create mode 100644 google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCacheUtils.java create mode 100644 google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCertificateValidationUtils.java create mode 100644 google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityUtils.java create mode 100644 google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/AgentIdentityUtilsTest.java create mode 100644 google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_cert.pem create mode 100644 google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_cert_chain.pem create mode 100644 google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_dsa_cert.pem create mode 100644 google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_key.pem diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCacheUtils.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCacheUtils.java new file mode 100644 index 000000000000..f8f4c188a60c --- /dev/null +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCacheUtils.java @@ -0,0 +1,358 @@ +/* + * Copyright 2026, Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.google.auth.oauth2; + +import com.google.auth.oauth2.AgentIdentityUtils.CertInfo; +import com.google.common.base.Strings; +import java.io.IOException; +import java.nio.file.AccessDeniedException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.attribute.BasicFileAttributes; +import java.nio.file.attribute.FileTime; +import java.util.Objects; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +/** + * Utility class for in-memory caching and filesystem metadata validation of Agent Identity + * certificates and configuration files. + */ +@NullMarked +final class AgentIdentityCacheUtils { + + // In-memory cache of verified Agent Identity info to avoid redundant disk reads, X.509/PKCS#8 + // parsing, and cryptographic signature verification on every token refresh when files are + // unchanged. + private static volatile @Nullable CachedAgentIdentityInfo cachedAgentIdentityInfo; + + private AgentIdentityCacheUtils() {} + + /** + * Captures filesystem metadata (path, modification time, size, and OS file key/inode) for a + * certificate, key, or configuration file to detect rotation on disk without re-parsing unchanged + * files. + */ + static final class FileMetadata { + private final String path; + private final FileTime lastModifiedTime; + private final long size; + private final @Nullable Object fileKey; + + private FileMetadata( + final String path, + final FileTime lastModifiedTime, + final long size, + final @Nullable Object fileKey) { + this.path = path; + this.lastModifiedTime = lastModifiedTime; + this.size = size; + this.fileKey = fileKey; + } + + /** Returns the filesystem path captured by this metadata snapshot. */ + String getPath() { + return path; + } + + /** Reads the current filesystem attributes for the given file path. */ + static @Nullable FileMetadata of(final @Nullable String pathStr) throws IOException { + if (Strings.isNullOrEmpty(pathStr)) { + return null; + } + Path path = Paths.get(pathStr); + BasicFileAttributes attrs = Files.readAttributes(path, BasicFileAttributes.class); + return new FileMetadata(pathStr, attrs.lastModifiedTime(), attrs.size(), attrs.fileKey()); + } + + /** Returns true if the given metadata matches this file's path, mtime, size, and file key. */ + boolean matches(final @Nullable FileMetadata other) { + if (other == null) { + return false; + } + return Objects.equals(this.path, other.path) + && Objects.equals(this.lastModifiedTime, other.lastModifiedTime) + && this.size == other.size + && Objects.equals(this.fileKey, other.fileKey); + } + + /** + * Re-reads the file's current attributes from disk and returns {@code true} if the file still + * exists on disk with the exact same modification time, size, and OS file key/inode as when + * this snapshot was captured. + */ + boolean isUnchangedOnDisk() { + try { + return matches(FileMetadata.of(this.path)); + } catch (IOException e) { + return false; + } + } + + /** + * Returns {@code true} if {@code expectedPath} equals this snapshot's path and the file on disk + * is unchanged since this snapshot was captured. + */ + boolean isUnchangedAtPath(final @Nullable String expectedPath) { + return Objects.equals(this.path, expectedPath) && isUnchangedOnDisk(); + } + } + + /** + * Stores an in-memory snapshot of verified Agent Identity certificate information and its + * associated filesystem metadata to avoid redundant disk I/O and cryptographic checks on + * subsequent token refreshes. + */ + static final class CachedAgentIdentityInfo { + /** + * Filesystem metadata of the JSON certificate configuration file ({@code + * GOOGLE_API_CERTIFICATE_CONFIG}) when it was parsed, or {@code null} if the certificate was + * discovered from the well-known directory. + */ + final @Nullable FileMetadata configMetadata; + + /** + * Filesystem metadata of the X.509 certificate or combined credential bundle file when it was + * read. + */ + final @Nullable FileMetadata certMetadata; + + /** + * Filesystem metadata of the private key or combined credential bundle file when it was read, + * or {@code null} when {@link #shouldRequestBoundToken} is {@code false} (for non-agent + * certificates where the private key is not read). + */ + final @Nullable FileMetadata keyMetadata; + + /** + * Whether the parsed certificate's Subject Alternative Names matched an allowed Agent Identity + * SPIFFE trust domain pattern and therefore requires requesting a bound token. + */ + final boolean shouldRequestBoundToken; + + /** + * The verified {@link AgentIdentityUtils.CertInfo} (parsed {@code X509Certificate} and PEM + * certificate chain) when {@link #shouldRequestBoundToken} is {@code true}, or {@code null} + * when {@link #shouldRequestBoundToken} is {@code false}. + */ + final @Nullable CertInfo certInfo; + + /** + * Constructs a cached snapshot of Agent Identity evaluation state and file metadata. + * + * @param configMetadata filesystem metadata of the certificate config file, or {@code null} + * when discovered from the well-known directory + * @param certMetadata filesystem metadata of the certificate or bundle file + * @param keyMetadata filesystem metadata of the private key or bundle file, or {@code null} + * when {@code shouldRequestBoundToken} is {@code false} + * @param shouldRequestBoundToken {@code true} if the certificate matched an Agent Identity + * SPIFFE pattern and requires a bound token; {@code false} otherwise + * @param certInfo the verified {@link AgentIdentityUtils.CertInfo} when {@code + * shouldRequestBoundToken} is {@code true}, or {@code null} otherwise + */ + CachedAgentIdentityInfo( + final @Nullable FileMetadata configMetadata, + final @Nullable FileMetadata certMetadata, + final @Nullable FileMetadata keyMetadata, + final boolean shouldRequestBoundToken, + final @Nullable CertInfo certInfo) { + this.configMetadata = configMetadata; + this.certMetadata = certMetadata; + this.keyMetadata = keyMetadata; + this.shouldRequestBoundToken = shouldRequestBoundToken; + this.certInfo = certInfo; + } + } + + /** Returns the current in-memory cached Agent Identity info, or {@code null} if none. */ + static @Nullable CachedAgentIdentityInfo getCachedAgentIdentityInfo() { + return cachedAgentIdentityInfo; + } + + /** Clears the in-memory cached Agent Identity info. */ + static void clearCachedAgentIdentityInfo() { + cachedAgentIdentityInfo = null; + } + + /** + * Returns {@code true} if the cached snapshot is non-null and its config, certificate, and key + * file metadata still match the current files on disk. + */ + static boolean isCachedInfoValid( + final @Nullable CachedAgentIdentityInfo cached, final @Nullable String certConfigPath) { + if (cached == null || cached.certMetadata == null) { + return false; + } + boolean hasConfigEnv = !Strings.isNullOrEmpty(certConfigPath); + if (hasConfigEnv) { + // When GOOGLE_API_CERTIFICATE_CONFIG is set, the cache must have been populated from that + // config file (configMetadata != null) and the config file on disk must be unchanged. + if (cached.configMetadata == null + || !cached.configMetadata.isUnchangedAtPath(certConfigPath)) { + return false; + } + } else { + // When GOOGLE_API_CERTIFICATE_CONFIG is unset, the cache must have been populated from the + // well-known directory (where configMetadata is null). + if (cached.configMetadata != null) { + return false; + } + if (cached.certMetadata.path.endsWith("certificates.pem") + && Files.exists( + Paths.get(AgentIdentityUtils.getWellKnownDir(), "credentialbundle.pem"))) { + // credentialbundle.pem takes precedence if added after certificates.pem was cached + return false; + } + } + if (!cached.certMetadata.isUnchangedOnDisk()) { + return false; + } + if (!cached.shouldRequestBoundToken) { + return true; + } + return cached.keyMetadata != null && cached.keyMetadata.isUnchangedOnDisk(); + } + + /** + * Checks whether the resolved {@code certPath}, {@code keyPath}, and {@code configMetaBefore} + * match the given cached snapshot. + * + *

Even after {@link #isCachedInfoValid} returns {@code false} at the start of {@code + * AgentIdentityUtils.getAgentIdentityCertInfo()}, this check can still hit in three cases: + * + *

    + *
  1. The config file was deleted after caching while the cert and key files on disk remain + * unchanged ({@code getPathsFromConfigWithRetry} fell back to the cached paths and {@code + * configMetadata}, where {@code tryUpdateCache} will not overwrite the cache while the + * config file is missing). + *
  2. Another thread completed rotation and updated {@code cachedAgentIdentityInfo} while the + * current thread was resolving paths. + *
  3. Package-private {@code AgentIdentityUtils.loadAndVerifyCredentials(certPath, keyPath)} + * was invoked directly without going through {@code getAgentIdentityCertInfo()}. + *
+ */ + static boolean isPostResolutionCacheHit( + final @Nullable CachedAgentIdentityInfo cached, + final @Nullable String certPath, + final @Nullable String keyPath, + final @Nullable FileMetadata configMetaBefore) { + if (cached == null || cached.certMetadata == null) { + return false; + } + boolean configMatches = + configMetaBefore == null + ? cached.configMetadata == null + : configMetaBefore.matches(cached.configMetadata); + if (!configMatches || !cached.certMetadata.isUnchangedAtPath(certPath)) { + return false; + } + if (!cached.shouldRequestBoundToken) { + return true; + } + return !Strings.isNullOrEmpty(keyPath) + && cached.keyMetadata != null + && cached.keyMetadata.isUnchangedAtPath(keyPath); + } + + /** + * Returns the latest {@link CachedAgentIdentityInfo} if it contains a verified bound-token {@link + * AgentIdentityUtils.CertInfo}, or falls back to {@code initialCached}. + * + *

{@code initialCached} is captured at the start of {@code getAgentIdentityCertInfo()} so that + * if the cache is cleared or overwritten with a non-agent certificate during retry backoff, the + * caller still retains the last-known-good bound certificate snapshot, while preferring a fresher + * bound certificate if another thread completed rotation in the meantime. + */ + static @Nullable CachedAgentIdentityInfo getLatestOrInitialCache( + final @Nullable CachedAgentIdentityInfo initialCached) { + CachedAgentIdentityInfo latest = cachedAgentIdentityInfo; + return (latest != null && latest.shouldRequestBoundToken && latest.certInfo != null) + ? latest + : initialCached; + } + + /** + * Safely updates the in-memory cache only if file metadata remained stable across the read/verify + * operation. Returns {@code true} if the post-read cert/key metadata matched the pre-read + * metadata, or {@code false} if the cert or key changed or disappeared mid-read. If only the + * config file changed, returns {@code true} without updating the cache, so the next refresh + * re-resolves paths from the new config. + */ + static boolean tryUpdateCache( + final @Nullable FileMetadata configMetaBefore, + final @Nullable FileMetadata certMetaBefore, + final @Nullable FileMetadata keyMetaBefore, + final boolean shouldRequestBoundToken, + final @Nullable CertInfo certInfo) { + if (certMetaBefore == null || !certMetaBefore.isUnchangedOnDisk()) { + return false; + } + boolean configStable = configMetaBefore == null || configMetaBefore.isUnchangedOnDisk(); + if (!shouldRequestBoundToken) { + if (configStable) { + cachedAgentIdentityInfo = + new CachedAgentIdentityInfo(configMetaBefore, certMetaBefore, null, false, null); + } + return true; + } + if (keyMetaBefore != null && keyMetaBefore.isUnchangedOnDisk()) { + if (configStable) { + cachedAgentIdentityInfo = + new CachedAgentIdentityInfo( + configMetaBefore, certMetaBefore, keyMetaBefore, true, certInfo); + } + return true; + } + return false; + } + + /** + * Checks if a file exists and is readable, throwing {@link AccessDeniedException} if permission + * is denied. + */ + static boolean checkExistsOrAccessDenied(final Path path) throws AccessDeniedException { + try { + Files.readAttributes(path, BasicFileAttributes.class); + if (!Files.isReadable(path)) { + if (!Files.exists(path)) { + return false; // Deleted mid-rotation; let the caller retry. + } + throw new AccessDeniedException(path.toString()); + } + return true; + } catch (AccessDeniedException e) { + throw e; + } catch (IOException e) { + return false; + } + } +} diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCertificateValidationUtils.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCertificateValidationUtils.java new file mode 100644 index 000000000000..e39b9bc36480 --- /dev/null +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCertificateValidationUtils.java @@ -0,0 +1,248 @@ +/* + * Copyright 2026, Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.google.auth.oauth2; + +import com.google.common.collect.ImmutableList; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.security.GeneralSecurityException; +import java.security.KeyFactory; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.security.Signature; +import java.security.cert.CertificateFactory; +import java.security.cert.CertificateParsingException; +import java.security.cert.X509Certificate; +import java.security.spec.X509EncodedKeySpec; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Locale; +import java.util.logging.Level; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +/** + * Utility class for parsing, validating, and verifying X.509 certificates, SPIFFE IDs, and PKCS#8 + * private keys for Agent Identity token binding. + */ +@NullMarked +final class AgentIdentityCertificateValidationUtils { + + private static final LoggerProvider LOGGER_PROVIDER = + LoggerProvider.forClazz(AgentIdentityCertificateValidationUtils.class); + + // Allowed SPIFFE trust domain patterns for agentic identities. + private static final List AGENT_IDENTITY_SPIFFE_PATTERNS = + ImmutableList.of( + Pattern.compile("^agents\\.global\\.org-\\d+\\.system\\.id\\.goog$"), + Pattern.compile("^agents\\.global\\.proj-\\d+\\.system\\.id\\.goog$"), + Pattern.compile("^agents-nonprod\\.global\\.org-\\d+\\.system\\.id\\.goog$"), + Pattern.compile("^agents-nonprod\\.global\\.proj-\\d+\\.system\\.id\\.goog$")); + + // Subject Alternative Name (SAN) type for URI as defined in RFC 5280 Section 4.2.1.6. + private static final int SAN_URI_TYPE = 6; + + private static final String SPIFFE_SCHEME_PREFIX = "spiffe://"; + + private static final byte[] VERIFICATION_DATA = + "verification-data".getBytes(StandardCharsets.UTF_8); + + private AgentIdentityCertificateValidationUtils() {} + + /** Thrown for key algorithms that can never be verified, so callers fail without retrying. */ + static final class UnsupportedKeyAlgorithmException extends IOException { + private static final long serialVersionUID = 1L; + + UnsupportedKeyAlgorithmException(final @Nullable String algorithm) { + super("Unsupported key algorithm: " + algorithm); + } + } + + /** + * Thrown when a certificate PEM block contains malformed X.509 data, so callers fail fast without + * retrying. + */ + static final class InvalidCertificateException extends IOException { + private static final long serialVersionUID = 1L; + + InvalidCertificateException(final String message, final Throwable cause) { + super(message, cause); + } + } + + /** + * Reads the full certificate chain from the specified path as a PEM string. + * + *

Extracts only the {@code -----BEGIN CERTIFICATE-----} blocks using {@link + * OAuth2Utils#PEM_CERT_PATTERN}, stripping any private keys or non-certificate data that may be + * present in a combined bundle file. + */ + static String readCertificateChain(final String certPath) throws IOException { + byte[] certData = Files.readAllBytes(Paths.get(certPath)); + String content = new String(certData, StandardCharsets.UTF_8); + Matcher matcher = OAuth2Utils.PEM_CERT_PATTERN.matcher(content); + StringBuilder certChain = new StringBuilder(); + while (matcher.find()) { + certChain.append(matcher.group(0)).append("\n"); + } + if (certChain.length() == 0) { + throw new IOException("No PEM certificates found in certificate file: " + certPath); + } + return certChain.toString(); + } + + /** Parses the X509 certificate from the specified content string. */ + static X509Certificate parseCertificateContent(final String certContent) throws IOException { + try (InputStream stream = + new ByteArrayInputStream(certContent.getBytes(StandardCharsets.UTF_8))) { + CertificateFactory cf = CertificateFactory.getInstance("X.509"); + return (X509Certificate) cf.generateCertificate(stream); + } catch (GeneralSecurityException e) { + throw new InvalidCertificateException( + "Failed to parse Agent Identity certificate for bound token request.", e); + } + } + + /** Reads the private key from the specified path using PKCS8 format. */ + static PrivateKey readPrivateKey(final String keyPath, final @Nullable String algorithm) + throws IOException { + String keyPem = new String(Files.readAllBytes(Paths.get(keyPath)), StandardCharsets.UTF_8); + OAuth2Utils.Pkcs8Algorithm pkcs8Alg; + if ("EC".equals(algorithm) || "ECDSA".equals(algorithm)) { + pkcs8Alg = OAuth2Utils.Pkcs8Algorithm.EC; + } else if ("RSA".equals(algorithm)) { + pkcs8Alg = OAuth2Utils.Pkcs8Algorithm.RSA; + } else { + throw new UnsupportedKeyAlgorithmException(algorithm); + } + return OAuth2Utils.privateKeyFromPkcs8(keyPem, pkcs8Alg); + } + + /** + * Verifies that the private key corresponds to the public key in the certificate by performing a + * test signature and verification. + */ + static boolean verifyKeyPair(final X509Certificate cert, final PrivateKey privateKey) + throws UnsupportedKeyAlgorithmException { + PublicKey publicKey = cert.getPublicKey(); + String keyAlgorithm = publicKey.getAlgorithm(); + String sigAlg; + if ("RSA".equals(keyAlgorithm)) { + sigAlg = "SHA256withRSA"; + } else if ("EC".equals(keyAlgorithm) || "ECDSA".equals(keyAlgorithm)) { + sigAlg = "SHA256withECDSA"; + } else { + throw new UnsupportedKeyAlgorithmException(keyAlgorithm); + } + + try { + if ("ECDSA".equals(keyAlgorithm) && publicKey.getEncoded() != null) { + // SunEC rejects keys whose algorithm is "ECDSA" rather than "EC"; normalize the key. + publicKey = + KeyFactory.getInstance("EC") + .generatePublic(new X509EncodedKeySpec(publicKey.getEncoded())); + } + + Signature signer = Signature.getInstance(sigAlg); + signer.initSign(privateKey); + signer.update(VERIFICATION_DATA); + byte[] signature = signer.sign(); + + Signature verifier = Signature.getInstance(sigAlg); + verifier.initVerify(publicKey); + verifier.update(VERIFICATION_DATA); + + return verifier.verify(signature); + } catch (Exception e) { + LoggingUtils.log( + LOGGER_PROVIDER, + Level.FINE, + Collections.emptyMap(), + "Key pair verification failed: " + e.getMessage()); + return false; + } + } + + /** + * Determines if a bound token should be requested by checking if any of the certificate's Subject + * Alternative Names (SANs) match allowed SPIFFE patterns. + */ + static boolean shouldRequestBoundToken(final X509Certificate cert) { + Collection> sans; + try { + sans = cert.getSubjectAlternativeNames(); + } catch (CertificateParsingException e) { + LoggingUtils.log( + LOGGER_PROVIDER, + Level.FINE, + Collections.emptyMap(), + "Failed to parse Subject Alternative Names from certificate: " + e.getMessage()); + return false; + } + if (sans == null) { + return false; + } + // Iterate through all Subject Alternative Names + for (List san : sans) { + // Check if the SAN entry is a URI (type 6) with a String value + if (san.size() < 2 + || !(san.get(0) instanceof Integer) + || (Integer) san.get(0) != SAN_URI_TYPE + || !(san.get(1) instanceof String)) { + continue; + } + String uri = ((String) san.get(1)).toLowerCase(Locale.US); + // Check if the URI starts with "spiffe://" + if (!uri.startsWith(SPIFFE_SCHEME_PREFIX)) { + continue; + } + String withoutScheme = uri.substring(SPIFFE_SCHEME_PREFIX.length()); + int slashIndex = withoutScheme.indexOf('/'); + // Extract the trust domain (part before the first slash) + String trustDomain = + (slashIndex == -1) ? withoutScheme : withoutScheme.substring(0, slashIndex); + // Match the trust domain against allowed agent patterns + for (Pattern pattern : AGENT_IDENTITY_SPIFFE_PATTERNS) { + if (pattern.matcher(trustDomain).matches()) { + return true; + } + } + } + return false; + } +} diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityUtils.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityUtils.java new file mode 100644 index 000000000000..21f55a527e88 --- /dev/null +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityUtils.java @@ -0,0 +1,882 @@ +/* + * Copyright 2026, Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.google.auth.oauth2; + +import com.google.api.client.json.GenericJson; +import com.google.api.client.json.JsonObjectParser; +import com.google.auth.oauth2.AgentIdentityCacheUtils.CachedAgentIdentityInfo; +import com.google.auth.oauth2.AgentIdentityCacheUtils.FileMetadata; +import com.google.auth.oauth2.AgentIdentityCertificateValidationUtils.InvalidCertificateException; +import com.google.auth.oauth2.AgentIdentityCertificateValidationUtils.UnsupportedKeyAlgorithmException; +import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Strings; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.nio.file.AccessDeniedException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.security.PrivateKey; +import java.security.cert.X509Certificate; +import java.util.Collections; +import java.util.Map; +import java.util.logging.Level; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +/** Utility class for Agent Identity runtime certificate discovery and token binding. */ +@NullMarked +final class AgentIdentityUtils { + + private static final LoggerProvider LOGGER_PROVIDER = + LoggerProvider.forClazz(AgentIdentityUtils.class); + + /** + * Environment variable pointing to the client certificate configuration file. + * + *

If set, certificate and key paths are resolved from the configuration file specified by this + * variable. + */ + static final String GOOGLE_API_CERTIFICATE_CONFIG = "GOOGLE_API_CERTIFICATE_CONFIG"; + + /** + * Environment variable to explicitly enable or disable runtime token binding. Defaults to true if + * unset. + */ + static final String GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN = + "GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN"; + + /** + * Legacy Cloud Run environment variable to prevent agent token sharing for GCP services. Used as + * a fallback if {@link #GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN} is unset. + */ + static final String GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES = + "GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES"; + + /** + * Environment variable to explicitly enable or disable client certificate authentication (mTLS). + * + *

When set to {@code "true"}, mTLS is enforced. When set to any other non-empty value (such as + * {@code "false"}), mTLS and token binding are disabled. + */ + static final String GOOGLE_API_USE_CLIENT_CERTIFICATE = "GOOGLE_API_USE_CLIENT_CERTIFICATE"; + + private static volatile String wellKnownDir = "/var/run/secrets/workload-spiffe-credentials/"; + + // Retries for verifying certificate and private key matching during atomic key rotation. + private static final int CERT_KEY_MATCH_RETRIES = 3; + + private static final long CERT_KEY_MATCH_RETRY_INTERVAL_MS = 100; + + // Polling configuration for initial container startup credential file readiness. + // Matches Python google-auth implementation (_agent_identity_utils.py) for initial + // asynchronous credential delivery (50 * 100ms + 50 * 500ms = 30 seconds total). + private static final int FAST_POLL_CYCLES = 50; + + private static final long FAST_POLL_INTERVAL_MS = 100; // 0.1 seconds + + private static final long SLOW_POLL_INTERVAL_MS = 500; // 0.5 seconds + + private static final long TOTAL_TIMEOUT_MS = 30000; // 30 seconds + + private static final int TOTAL_POLL_CYCLES = + FAST_POLL_CYCLES + + (int) + ((TOTAL_TIMEOUT_MS - (FAST_POLL_CYCLES * FAST_POLL_INTERVAL_MS)) + / SLOW_POLL_INTERVAL_MS); + + private static volatile EnvironmentProvider environmentProvider = + SystemEnvironmentProvider.getInstance(); + + private static volatile TimeService timeService = Thread::sleep; + + // Tracks whether initial container startup discovery has completed. The 30-second + // polling loop (TOTAL_POLL_CYCLES) is strictly limited to initial startup so subsequent + // token refreshes never block for 30 seconds. + private static volatile boolean initialStartupCompleted = false; + + // Tracks whether the FINE-level message for explicitly disabled mTLS when certificates are + // present has already been logged in this process to prevent log spam on repeated token + // refreshes. + private static volatile boolean mtlsDisabledLogged = false; + + // Tracks whether mTLS has already been evaluated as explicitly disabled via + // GOOGLE_API_USE_CLIENT_CERTIFICATE, so later refreshes skip re-reading the config from disk. + private static volatile boolean mtlsDisabledEvaluated = false; + + private AgentIdentityUtils() {} + + @VisibleForTesting + @FunctionalInterface + interface TimeService { + /** + * Causes the currently executing thread to sleep for the specified number of milliseconds. + * + * @param millis the length of time to sleep in milliseconds + * @throws InterruptedException if interrupted while sleeping + */ + void sleep(final long millis) throws InterruptedException; + } + + /** + * Holds the parsed {@link X509Certificate} and cached PEM certificate chain content for token + * binding. + * + *

This class intentionally stores in-memory certificate content rather than file paths to + * prevent redundant filesystem reads and race conditions when binding tokens to requests. + */ + static class CertInfo { + private final X509Certificate certificate; + private final String certContent; + + CertInfo(final X509Certificate certificate, final String certContent) { + this.certificate = certificate; + this.certContent = certContent; + } + + /** Returns the parsed {@link X509Certificate}. */ + X509Certificate getCertificate() { + return certificate; + } + + /** Returns the raw PEM certificate chain content. */ + String getCertContent() { + return certContent; + } + } + + /** Holds the resolved filesystem paths for the certificate and private key. */ + private static final class ResolvedCertAndKeyPaths { + private final @Nullable String certPath; + private final @Nullable String keyPath; + private final boolean hasWorkloadConfig; + private final @Nullable FileMetadata configMetadata; + + ResolvedCertAndKeyPaths( + final @Nullable String certPath, + final @Nullable String keyPath, + final boolean hasWorkloadConfig) { + this(certPath, keyPath, hasWorkloadConfig, null); + } + + ResolvedCertAndKeyPaths( + final @Nullable String certPath, + final @Nullable String keyPath, + final boolean hasWorkloadConfig, + final @Nullable FileMetadata configMetadata) { + this.certPath = certPath; + this.keyPath = keyPath; + this.hasWorkloadConfig = hasWorkloadConfig; + this.configMetadata = configMetadata; + } + + /** Returns the path to the certificate or bundle file. */ + @Nullable String getCertPath() { + return certPath; + } + + /** Returns the path to the private key file, or bundle path if combined. */ + @Nullable String getKeyPath() { + return keyPath; + } + + /** Returns whether a workload configuration was parsed from the certificate config file. */ + boolean hasWorkloadConfig() { + return hasWorkloadConfig; + } + + /** Returns the filesystem metadata of the config file when it was parsed, or null. */ + @Nullable FileMetadata getConfigMetadata() { + return configMetadata; + } + } + + /** + * Thrown when a workload configuration block is present in the certificate config file but is + * missing {@code cert_path} or {@code key_path}, so callers fail fast without polling. + */ + private static final class IncompleteWorkloadConfigException extends IOException { + private static final long serialVersionUID = 1L; + + IncompleteWorkloadConfigException(final String message) { + super(message); + } + } + + private static long getSleepIntervalMs(final int cycle) { + return (cycle < FAST_POLL_CYCLES) ? FAST_POLL_INTERVAL_MS : SLOW_POLL_INTERVAL_MS; + } + + private static @Nullable String getTrimmedEnv(final String name) { + String val = environmentProvider.getEnv(name); + return val != null ? val.trim() : null; + } + + /** + * Reads the trimmed {@link #GOOGLE_API_USE_CLIENT_CERTIFICATE} value from {@link + * #environmentProvider}. Queried via {@code environmentProvider} rather than cached in a {@code + * static final} field so test overrides via {@link #setEnvironmentProvider} take effect. + */ + private static @Nullable String getUseClientCertificateEnv() { + return getTrimmedEnv(GOOGLE_API_USE_CLIENT_CERTIFICATE); + } + + /** + * Returns {@code true} if {@link #GOOGLE_API_USE_CLIENT_CERTIFICATE} is set to {@code "true"} + * (case-insensitive). + */ + private static boolean isMtlsExplicitlyEnabled() { + return "true".equalsIgnoreCase(getUseClientCertificateEnv()); + } + + /** + * Returns {@code true} if {@link #GOOGLE_API_USE_CLIENT_CERTIFICATE} is set to a non-empty value + * other than {@code "true"} (case-insensitive). + */ + private static boolean isMtlsExplicitlyDisabled() { + String useClientCert = getUseClientCertificateEnv(); + return !Strings.isNullOrEmpty(useClientCert) && !"true".equalsIgnoreCase(useClientCert); + } + + /** Checks whether the given path resides within the well-known certificate directory. */ + private static boolean isPathInWellKnownDir(final @Nullable String pathStr) { + if (Strings.isNullOrEmpty(pathStr)) { + return false; + } + try { + Path path = Paths.get(pathStr).toAbsolutePath().normalize(); + Path wellKnown = Paths.get(wellKnownDir).toAbsolutePath().normalize(); + return path.startsWith(wellKnown); + } catch (Exception e) { + return false; + } + } + + /** + * Retrieves the certificate and raw PEM content for the Agent Identity. + * + *

This method attempts to load the certificate and private key for the agent identity. It + * first checks the location specified by the {@code GOOGLE_API_CERTIFICATE_CONFIG} environment + * variable. If not set, it falls back to well-known default locations. + * + *

To handle transient race conditions during certificate rotation on disk, this method employs + * a retry mechanism with backoff when reading the configuration and certificate files. Note that + * callers such as {@link ComputeEngineCredentials#refreshAccessToken()} invoke this method via + * {@link #getBoundTokenPayload()} under {@link OAuth2Credentials}'s token refresh coalescing, + * which already serializes concurrent token refreshes to mitigate thundering herd contention. + * + * @return A {@link CertInfo} object containing the parsed {@link X509Certificate} and its raw PEM + * chain content, or {@code null} if the agent identity features are disabled, opted out, or + * if no valid credentials could be loaded. + * @throws IOException If an I/O error occurs while reading the files, or if the key-pair + * verification fails after retries. + */ + static @Nullable CertInfo getAgentIdentityCertInfo() throws IOException { + if (!isTokenBindingEnabled()) { + return null; + } + if (mtlsDisabledEvaluated && isMtlsExplicitlyDisabled()) { + return null; + } + CachedAgentIdentityInfo initialCached = AgentIdentityCacheUtils.getCachedAgentIdentityInfo(); + String certConfigPath = getTrimmedEnv(GOOGLE_API_CERTIFICATE_CONFIG); + + // Fast-path: check cached info and file metadata before parsing JSON config or paths + if (initialCached != null + && AgentIdentityCacheUtils.isCachedInfoValid(initialCached, certConfigPath)) { + if (!initialCached.shouldRequestBoundToken) { + return null; + } + // isCachedInfoValid() verified that the cached certificate file still exists on disk with + // matching metadata, so certsPresent is guaranteed to be true here. + if (!shouldEnableMtls( + /* certsPresent= */ true, /* configExists= */ initialCached.configMetadata != null)) { + return null; + } + return initialCached.certInfo; + } + + ResolvedCertAndKeyPaths paths = resolveCertAndKeyPaths(certConfigPath, initialCached); + boolean configExists = paths.hasWorkloadConfig(); + boolean certsPresent = !Strings.isNullOrEmpty(paths.getCertPath()); + + if (!shouldEnableMtls(certsPresent, configExists)) { + if (isMtlsExplicitlyDisabled()) { + mtlsDisabledEvaluated = true; + } + return null; + } + + return loadAndVerifyCredentials( + paths.getCertPath(), paths.getKeyPath(), paths.getConfigMetadata(), initialCached); + } + + /** + * Resolves the paths for the certificate and private key based on the config path or well-known + * locations. + */ + private static ResolvedCertAndKeyPaths resolveCertAndKeyPaths( + final @Nullable String certConfigPath, final @Nullable CachedAgentIdentityInfo cached) + throws IOException { + if (!Strings.isNullOrEmpty(certConfigPath)) { + // Read cert and key paths from config file. We use retry with backoff to handle + // startup delivery (when in well-known directory) and transient rotation race conditions. + return getPathsFromConfigWithRetry(certConfigPath, cached); + } + // Fallback to well-known locations. We use retry with backoff here as well to handle + // startup delivery (when explicit mTLS is enabled) and race conditions during file + // replacement by a rotation process. + return getWellKnownCertificatePathWithRetry(cached); + } + + /** + * Loads the certificate and private key, and verifies that they form a valid cryptographic + * key-pair, supporting both separate files and combined bundle files. + * + *

Checks {@link AgentIdentityCertificateValidationUtils#shouldRequestBoundToken} right after + * parsing the certificate content before reading the private key or running signature + * verification. Caches verified results in memory so unchanged files are not re-read and + * re-verified on every token refresh. + * + * @param certPath The path to the certificate or bundle file. + * @param keyPath The path to the private key or bundle file. + * @return A {@link CertInfo} object containing the parsed {@link X509Certificate} and the raw PEM + * certificate chain (with private keys stripped), or {@code null} if the certificate does not + * match agent SPIFFE patterns. + * @throws IOException If the files cannot be read or parsed, or if key-pair verification fails + * after retries. + */ + static @Nullable CertInfo loadAndVerifyCredentials( + final @Nullable String certPath, final @Nullable String keyPath) throws IOException { + return loadAndVerifyCredentials( + certPath, keyPath, null, AgentIdentityCacheUtils.getCachedAgentIdentityInfo()); + } + + private static @Nullable CertInfo loadAndVerifyCredentials( + final @Nullable String certPath, + final @Nullable String keyPath, + final @Nullable FileMetadata configMetaBefore, + final @Nullable CachedAgentIdentityInfo initialCached) + throws IOException { + if (Strings.isNullOrEmpty(certPath)) { + return null; + } + + // Even when isCachedInfoValid() in getAgentIdentityCertInfo() returned false, the cache can + // still match here in three cases: + // 1. The config file was deleted after caching while the cert/key files on disk remain + // unchanged (getPathsFromConfigWithRetry fell back to cached paths + configMetadata). + // 2. Another thread completed rotation and updated the cache while this thread was resolving + // paths in resolveCertAndKeyPaths(). + // 3. Package-private loadAndVerifyCredentials(certPath, keyPath) was invoked directly. + CachedAgentIdentityInfo cached = AgentIdentityCacheUtils.getLatestOrInitialCache(initialCached); + if (AgentIdentityCacheUtils.isPostResolutionCacheHit( + cached, certPath, keyPath, configMetaBefore)) { + return cached.shouldRequestBoundToken ? cached.certInfo : null; + } + + Exception lastException = null; + int retries = 0; + while (retries < CERT_KEY_MATCH_RETRIES) { + try { + FileMetadata certMeta = FileMetadata.of(certPath); + String certContent = AgentIdentityCertificateValidationUtils.readCertificateChain(certPath); + X509Certificate cert = + AgentIdentityCertificateValidationUtils.parseCertificateContent(certContent); + + if (!AgentIdentityCertificateValidationUtils.shouldRequestBoundToken(cert)) { + if (AgentIdentityCacheUtils.tryUpdateCache( + configMetaBefore, certMeta, null, false, null)) { + return null; + } + lastException = new IOException("Certificate file modified during read."); + } else { + FileMetadata keyMeta = FileMetadata.of(keyPath); + PrivateKey privateKey = + AgentIdentityCertificateValidationUtils.readPrivateKey( + keyPath, cert.getPublicKey().getAlgorithm()); + + if (AgentIdentityCertificateValidationUtils.verifyKeyPair(cert, privateKey)) { + CertInfo info = new CertInfo(cert, certContent); + if (AgentIdentityCacheUtils.tryUpdateCache( + configMetaBefore, certMeta, keyMeta, true, info)) { + return info; + } + lastException = new IOException("Certificate or key file modified during read."); + LoggingUtils.log( + LOGGER_PROVIDER, + Level.FINE, + Collections.emptyMap(), + "Cert or key file modified during read, retrying..."); + } else { + lastException = new IOException("Certificate and private key do not match."); + LoggingUtils.log( + LOGGER_PROVIDER, + Level.FINE, + Collections.emptyMap(), + "Cert and key mismatch, retrying..."); + } + } + } catch (AccessDeniedException e) { + throw new IOException( + "Permission denied reading certificate or key files for Agent Identity.", e); + } catch (UnsupportedKeyAlgorithmException | InvalidCertificateException e) { + throw e; + } catch (Exception e) { + lastException = e; + LoggingUtils.log( + LOGGER_PROVIDER, + Level.FINE, + Collections.emptyMap(), + "Failed to read or verify cert/key, retrying: " + e.getMessage()); + } + + retries++; + if (retries < CERT_KEY_MATCH_RETRIES) { + try { + timeService.sleep(CERT_KEY_MATCH_RETRY_INTERVAL_MS); // 0.1 seconds backoff + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new IOException("Interrupted while waiting for cert/key match.", e); + } + } + } + + // If files were transiently missing, unreadable, or mid-rotation (lastException != null) + // and we already have a verified credential cached in memory, fall back to cached credentials + // rather than failing or caching an unbound token. Re-read cachedAgentIdentityInfo in case + // another thread completed rotation while this thread was sleeping. + CachedAgentIdentityInfo fallbackCached = + AgentIdentityCacheUtils.getLatestOrInitialCache(initialCached); + if (lastException != null + && fallbackCached != null + && fallbackCached.shouldRequestBoundToken + && fallbackCached.certInfo != null) { + LoggingUtils.log( + LOGGER_PROVIDER, + Level.FINE, + Collections.emptyMap(), + "Agent Identity certificate/key files transiently unavailable during rotation; falling" + + " back to cached credentials."); + return fallbackCached.certInfo; + } + + throw new GoogleAuthException( + true, + CERT_KEY_MATCH_RETRIES, + String.format( + "Agent Identity certificate and private key mismatch or read" + + " failure after %d attempts.", + CERT_KEY_MATCH_RETRIES), + lastException); + } + + /** + * Checks if runtime token binding is enabled. + * + *

Checks {@link #GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN} first; if unset, falls back to the + * legacy {@link #GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES}. Defaults to {@code + * true} if neither is set. + */ + private static boolean isTokenBindingEnabled() { + String enableRuntimeBoundToken = getTrimmedEnv(GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN); + if (!Strings.isNullOrEmpty(enableRuntimeBoundToken)) { + return !"false".equalsIgnoreCase(enableRuntimeBoundToken); + } + String legacyPreventSharing = + getTrimmedEnv(GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES); + if (!Strings.isNullOrEmpty(legacyPreventSharing)) { + return !"false".equalsIgnoreCase(legacyPreventSharing); + } + return true; + } + + /** + * Reads the certificate path from the config file with retry logic to handle startup delivery and + * rotation race conditions. + */ + private static ResolvedCertAndKeyPaths getPathsFromConfigWithRetry( + final String certConfigPath, final @Nullable CachedAgentIdentityInfo initialCached) + throws IOException { + if (isMtlsExplicitlyDisabled()) { + try { + if (AgentIdentityCacheUtils.checkExistsOrAccessDenied(Paths.get(certConfigPath))) { + ResolvedCertAndKeyPaths paths = extractPathsFromConfig(certConfigPath); + if (paths.hasWorkloadConfig() && Files.exists(Paths.get(paths.getCertPath()))) { + return paths; + } + } + } catch (Exception ignored) { + // Do not fail when mTLS is explicitly disabled + } + return new ResolvedCertAndKeyPaths(null, null, false); + } + + boolean inWellKnownDir = isPathInWellKnownDir(certConfigPath); + boolean shouldPoll = !initialStartupCompleted && inWellKnownDir; + int maxCycles = shouldPoll ? TOTAL_POLL_CYCLES : 1; + boolean warned = false; + IOException lastParseException = null; + + for (int cycle = 0; cycle < maxCycles; cycle++) { + try { + if (AgentIdentityCacheUtils.checkExistsOrAccessDenied(Paths.get(certConfigPath))) { + ResolvedCertAndKeyPaths paths = extractPathsFromConfig(certConfigPath); + if (!paths.hasWorkloadConfig()) { + // Valid non-workload config (e.g. enterprise certs) - exit early without polling! + initialStartupCompleted = true; + return paths; + } + // The config file itself may reside outside wellKnownDir while referencing cert_path or + // key_path inside wellKnownDir that are still being delivered at startup. + if (!initialStartupCompleted + && !shouldPoll + && (isPathInWellKnownDir(paths.getCertPath()) + || isPathInWellKnownDir(paths.getKeyPath()))) { + shouldPoll = true; + maxCycles = TOTAL_POLL_CYCLES; + } + boolean certReady = + AgentIdentityCacheUtils.checkExistsOrAccessDenied(Paths.get(paths.getCertPath())); + boolean keyReady = + AgentIdentityCacheUtils.checkExistsOrAccessDenied(Paths.get(paths.getKeyPath())); + if (certReady && keyReady) { + initialStartupCompleted = true; + return paths; + } + } + } catch (AccessDeniedException e) { + String failedFile = e.getFile() != null ? e.getFile() : certConfigPath; + throw new IOException( + "Permission denied reading certificate config file: " + failedFile, e); + } catch (IncompleteWorkloadConfigException e) { + // Incomplete workload config (missing cert_path or key_path) will not become ready via + // startup polling; break out of the polling loop immediately so initial startup throws + // without waiting 30s (or falls back to a previously cached config in steady state). + lastParseException = e; + break; + } catch (IOException e) { + CachedAgentIdentityInfo latestCached = + AgentIdentityCacheUtils.getLatestOrInitialCache(initialCached); + if (!shouldPoll && cycle + 1 >= maxCycles && latestCached == null) { + initialStartupCompleted = true; + throw e; // Fail fast on malformed JSON syntax errors when not polling + } + lastParseException = e; + // When polling is active, fall through to retry (handles partial/empty JSON during startup) + } + if (cycle + 1 < maxCycles) { + if (shouldPoll && !warned) { + LoggingUtils.log( + LOGGER_PROVIDER, + Level.FINE, + Collections.emptyMap(), + String.format( + "Agent Identity certificate config or referenced credential files not yet ready" + + " at %s (from %s environment variable). Retrying for up to %d seconds.", + certConfigPath, GOOGLE_API_CERTIFICATE_CONFIG, TOTAL_TIMEOUT_MS / 1000)); + warned = true; + } + try { + timeService.sleep(getSleepIntervalMs(cycle)); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new IOException( + "Interrupted while waiting for Agent Identity certificate files for bound" + + " token request.", + e); + } + } + } + initialStartupCompleted = true; + + CachedAgentIdentityInfo fallbackCached = + AgentIdentityCacheUtils.getLatestOrInitialCache(initialCached); + if (fallbackCached != null + && fallbackCached.configMetadata != null + && fallbackCached.certMetadata != null + && fallbackCached.keyMetadata != null) { + LoggingUtils.log( + LOGGER_PROVIDER, + Level.FINE, + Collections.emptyMap(), + String.format( + "Agent Identity certificate config at %s is unavailable; falling back to cached" + + " certificate and key paths.", + certConfigPath)); + return new ResolvedCertAndKeyPaths( + fallbackCached.certMetadata.getPath(), + fallbackCached.keyMetadata.getPath(), + true, + fallbackCached.configMetadata); + } + + throw new IOException( + "Unable to find Agent Identity certificate config or file for bound token request" + + " after multiple retries. Token binding protection is failing. You can turn" + + " off this protection by setting " + + GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN + + " to false to fall back to unbound tokens.", + lastParseException); + } + + /** Searches for certificates at well-known locations with retry logic. */ + private static ResolvedCertAndKeyPaths getWellKnownCertificatePathWithRetry( + final @Nullable CachedAgentIdentityInfo initialCached) throws IOException { + if (!isMtlsExplicitlyEnabled()) { + // Without a config file (configExists == false), mTLS is only enabled when + // GOOGLE_API_USE_CLIENT_CERTIFICATE is explicitly "true". + initialStartupCompleted = true; + return new ResolvedCertAndKeyPaths(null, null, false); + } + + String bundlePath = Paths.get(wellKnownDir, "credentialbundle.pem").toString(); + String certOnlyPath = Paths.get(wellKnownDir, "certificates.pem").toString(); + String keyOnlyPath = Paths.get(wellKnownDir, "private_key.pem").toString(); + + boolean shouldPoll = !initialStartupCompleted; + int maxCycles = shouldPoll ? TOTAL_POLL_CYCLES : 1; + + boolean warned = false; + for (int cycle = 0; cycle < maxCycles; cycle++) { + try { + if (AgentIdentityCacheUtils.checkExistsOrAccessDenied(Paths.get(bundlePath))) { + initialStartupCompleted = true; + // Combined bundle file contains both certificate chain and private key + return new ResolvedCertAndKeyPaths(bundlePath, bundlePath, false); + } + if (AgentIdentityCacheUtils.checkExistsOrAccessDenied(Paths.get(certOnlyPath)) + && AgentIdentityCacheUtils.checkExistsOrAccessDenied(Paths.get(keyOnlyPath))) { + initialStartupCompleted = true; + return new ResolvedCertAndKeyPaths(certOnlyPath, keyOnlyPath, false); + } + } catch (AccessDeniedException e) { + initialStartupCompleted = true; + LoggingUtils.log( + LOGGER_PROVIDER, + Level.FINE, + Collections.emptyMap(), + "Permission denied reading well-known certificates. Falling back to unbound token."); + return new ResolvedCertAndKeyPaths(null, null, false); + } catch (Exception e) { + // Fall through to retry + } + + if (cycle + 1 < maxCycles) { + if (shouldPoll && !warned) { + LoggingUtils.log( + LOGGER_PROVIDER, + Level.FINE, + Collections.emptyMap(), + String.format( + "Well-known certificate file not found at %s. Retrying for up to %d seconds.", + wellKnownDir, TOTAL_TIMEOUT_MS / 1000)); + warned = true; + } + try { + timeService.sleep(getSleepIntervalMs(cycle)); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new IOException("Interrupted while waiting for well-known certificate files.", e); + } + } + } + initialStartupCompleted = true; + + CachedAgentIdentityInfo fallbackCached = + AgentIdentityCacheUtils.getLatestOrInitialCache(initialCached); + if (fallbackCached != null + && fallbackCached.configMetadata == null + && fallbackCached.certMetadata != null + && fallbackCached.keyMetadata != null) { + return new ResolvedCertAndKeyPaths( + fallbackCached.certMetadata.getPath(), fallbackCached.keyMetadata.getPath(), false); + } + + throw new IOException( + String.format( + "Unable to find well-known Agent Identity certificate file at %s for bound token" + + " request. Token binding protection is failing. You can turn off this" + + " protection by setting %s to false to fall back to unbound tokens.", + wellKnownDir, GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN)); + } + + /** + * Determines if mTLS should be enabled based on environment variables and certificate presence. + * + *

Note that {@code configExists} is required even when {@code certsPresent} is {@code true}: + * when {@code GOOGLE_API_USE_CLIENT_CERTIFICATE} is unset (Case 3), mTLS is only inferred if a + * workload config exists ({@code configExists == true}), whereas when {@code + * GOOGLE_API_USE_CLIENT_CERTIFICATE="true"} (Case 1), mTLS is enabled whenever {@code + * certsPresent == true} even from the well-known directory ({@code configExists == false}). + */ + static boolean shouldEnableMtls(final boolean certsPresent, final boolean configExists) + throws IOException { + String useClientCert = getUseClientCertificateEnv(); + + // Case 1: Explicitly enabled via environment variable + if ("true".equalsIgnoreCase(useClientCert)) { + if (certsPresent) { + // Certs are available, enable mTLS + return true; + } + if (configExists) { + // Config exists but files are missing - fail fast + throw new IOException( + "Certificate intent established via config, but cert files are missing."); + } + // Neither exist, do not enable + return false; + } + // Case 2: Explicitly disabled via environment variable (any non-empty value other than "true") + else if (!Strings.isNullOrEmpty(useClientCert)) { + if (certsPresent && !mtlsDisabledLogged) { + mtlsDisabledLogged = true; + // Log that we are ignoring present certs because it was explicitly disabled + LoggingUtils.log( + LOGGER_PROVIDER, + Level.FINE, + Collections.emptyMap(), + "Token binding protection is disabled because mTLS was explicitly disabled" + + " via GOOGLE_API_USE_CLIENT_CERTIFICATE."); + } + return false; + } + // Case 3: Environment variable is unset + else { + if (configExists) { + if (certsPresent) { + // Infer mTLS is enabled because workload config and certs are present + return true; + } + // Config exists but files are missing - fail fast + throw new IOException( + "Certificate intent inferred via config, but cert files are missing."); + } + // No workload config to infer mTLS from, do not enable + return false; + } + } + + /** Retrieves the bound token payload (certificate chain) if applicable. */ + static @Nullable String getBoundTokenPayload() throws IOException { + CertInfo info = getAgentIdentityCertInfo(); + return info != null ? info.getCertContent() : null; + } + + /** Extracts the certificate and private key paths from the JSON configuration file. */ + private static ResolvedCertAndKeyPaths extractPathsFromConfig(final String certConfigPath) + throws IOException { + try { + FileMetadata configMetadata = FileMetadata.of(certConfigPath); + try (InputStream stream = Files.newInputStream(Paths.get(certConfigPath))) { + JsonObjectParser parser = new JsonObjectParser(OAuth2Utils.JSON_FACTORY); + GenericJson config = + parser.parseAndClose(stream, StandardCharsets.UTF_8, GenericJson.class); + Object certConfigsObj = config.get("cert_configs"); + if (certConfigsObj instanceof Map) { + Map certConfigs = (Map) certConfigsObj; + Object workloadObj = certConfigs.get("workload"); + if (workloadObj instanceof Map) { + Map workload = (Map) workloadObj; + String certPath = + workload.get("cert_path") instanceof String + ? (String) workload.get("cert_path") + : null; + String keyPath = + workload.get("key_path") instanceof String + ? (String) workload.get("key_path") + : null; + if (Strings.isNullOrEmpty(certPath) || Strings.isNullOrEmpty(keyPath)) { + throw new IncompleteWorkloadConfigException( + "Workload certificate config is missing cert_path or key_path."); + } + return new ResolvedCertAndKeyPaths(certPath, keyPath, true, configMetadata); + } + } + return new ResolvedCertAndKeyPaths(null, null, false, configMetadata); + } + } catch (AccessDeniedException | IncompleteWorkloadConfigException e) { + throw e; + } catch (Exception e) { + throw new IOException("Failed to parse Agent Identity config JSON", e); + } + } + + /** Resets all static state and overrides for testing. */ + @VisibleForTesting + static void resetForTest() { + wellKnownDir = "/var/run/secrets/workload-spiffe-credentials/"; + environmentProvider = SystemEnvironmentProvider.getInstance(); + timeService = Thread::sleep; + resetCachedState(); + } + + private static void resetCachedState() { + AgentIdentityCacheUtils.clearCachedAgentIdentityInfo(); + initialStartupCompleted = false; + mtlsDisabledLogged = false; + mtlsDisabledEvaluated = false; + } + + /** Returns the current well-known certificate directory path. */ + static String getWellKnownDir() { + return wellKnownDir; + } + + /** Sets the well-known certificate directory path for testing. */ + @VisibleForTesting + static void setWellKnownDir(final String dir) { + wellKnownDir = dir; + resetCachedState(); + } + + /** Sets the environment variable provider for testing. */ + @VisibleForTesting + static void setEnvironmentProvider(final EnvironmentProvider provider) { + environmentProvider = provider; + resetCachedState(); + } + + /** Sets the time and sleep service for testing. */ + @VisibleForTesting + static void setTimeService(final TimeService service) { + timeService = service; + resetCachedState(); + } + + /** Returns whether the message for explicitly disabled mTLS has been logged. */ + @VisibleForTesting + static boolean isMtlsDisabledLogged() { + return mtlsDisabledLogged; + } +} diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/CertificateIdentityPoolSubjectTokenSupplier.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/CertificateIdentityPoolSubjectTokenSupplier.java index 5b2ad1169ed0..dae2ddb57f7b 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/CertificateIdentityPoolSubjectTokenSupplier.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/CertificateIdentityPoolSubjectTokenSupplier.java @@ -51,7 +51,6 @@ import java.util.Base64; import java.util.List; import java.util.regex.Matcher; -import java.util.regex.Pattern; import org.jspecify.annotations.NullMarked; /** @@ -66,9 +65,6 @@ public class CertificateIdentityPoolSubjectTokenSupplier private final IdentityPoolCredentialSource credentialSource; - private static final Pattern PEM_CERT_PATTERN = - Pattern.compile("-----BEGIN CERTIFICATE-----.*?-----END CERTIFICATE-----", Pattern.DOTALL); - CertificateIdentityPoolSubjectTokenSupplier(IdentityPoolCredentialSource credentialSource) { this.credentialSource = checkNotNull(credentialSource, "credentialSource cannot be null"); // This check ensures that the credential source was intended for certificate usage. @@ -222,7 +218,8 @@ private void populateCertChainFromTrustChain( // elsewhere in the chain. if (encodedCurrentCert.equals(encodedLeafCert)) { throw new IllegalArgumentException( - "The leaf certificate should only appear at the beginning of the trust chain file, or be omitted entirely."); + "The leaf certificate should only appear at the beginning of the trust chain file, or" + + " be omitted entirely."); } // Add the current certificate to the chain. @@ -260,7 +257,7 @@ static List readTrustChain(String trustChainPath) // Split the file content into PEM certificate blocks. String content = new String(trustChainData, StandardCharsets.UTF_8); - Matcher matcher = PEM_CERT_PATTERN.matcher(content); + Matcher matcher = OAuth2Utils.PEM_CERT_PATTERN.matcher(content); while (matcher.find()) { String pemCertBlock = matcher.group(0); diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java index d1933126d629..f79facbb6ccc 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java @@ -34,11 +34,14 @@ import static com.google.common.base.MoreObjects.firstNonNull; import com.google.api.client.http.GenericUrl; +import com.google.api.client.http.HttpContent; import com.google.api.client.http.HttpHeaders; +import com.google.api.client.http.HttpMediaType; import com.google.api.client.http.HttpRequest; import com.google.api.client.http.HttpResponse; import com.google.api.client.http.HttpResponseException; import com.google.api.client.http.HttpStatusCodes; +import com.google.api.client.http.json.JsonHttpContent; import com.google.api.client.json.JsonObjectParser; import com.google.api.client.util.GenericData; import com.google.auth.CredentialTypeForMetrics; @@ -68,6 +71,7 @@ import java.util.Collections; import java.util.Date; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.logging.Level; import java.util.logging.Logger; @@ -320,7 +324,8 @@ public String getUniverseDomain() throws IOException { private String getUniverseDomainFromMetadata() throws IOException { HttpResponse response = - getMetadataResponse(getUniverseDomainUrl(), RequestType.UNTRACKED, false); + getMetadataResponse( + buildMetadataRequest(getUniverseDomainUrl()), RequestType.UNTRACKED, false); int statusCode = response.getStatusCode(); if (statusCode == HttpStatusCodes.STATUS_CODE_NOT_FOUND) { return Credentials.GOOGLE_DEFAULT_UNIVERSE; @@ -379,7 +384,9 @@ public String getProjectId() { private String getProjectIdFromMetadata() { try { - HttpResponse response = getMetadataResponse(getProjectIdUrl(), RequestType.UNTRACKED, false); + HttpResponse response = + getMetadataResponse( + buildMetadataRequest(getProjectIdUrl()), RequestType.UNTRACKED, false); int statusCode = response.getStatusCode(); if (statusCode == HttpStatusCodes.STATUS_CODE_NOT_FOUND) { LoggingUtils.log( @@ -421,17 +428,29 @@ private String getProjectIdFromMetadata() { /** Refresh the access token by getting it from the GCE metadata server */ @Override public AccessToken refreshAccessToken() throws IOException { - HttpResponse response = - getMetadataResponse(createTokenUrlWithScopes(), RequestType.ACCESS_TOKEN_REQUEST, true); + String tokenUrl = createTokenUrlWithScopes(); + String boundTokenPayload = AgentIdentityUtils.getBoundTokenPayload(); + HttpRequest request = + boundTokenPayload != null + ? buildBoundTokenRequest(tokenUrl, boundTokenPayload) + : buildMetadataRequest(tokenUrl); + HttpResponse response = getMetadataResponse(request, RequestType.ACCESS_TOKEN_REQUEST, true); int statusCode = response.getStatusCode(); if (statusCode == HttpStatusCodes.STATUS_CODE_NOT_FOUND) { + if (boundTokenPayload != null) { + throw new IOException( + String.format( + "Error code %s trying to get bound security access token from Compute Engine" + + " metadata for the default service account. The Compute Engine metadata" + + " server endpoint does not support bound tokens.", + statusCode)); + } throw new IOException( String.format( - "Error code %s trying to get security access token from" - + " Compute Engine metadata for the default service account. This may be because" - + " the virtual machine instance does not have permission scopes specified." - + " It is possible to skip checking for Compute Engine metadata by specifying the environment " - + " variable " + "Error code %s trying to get security access token from Compute Engine metadata for" + + " the default service account. This may be because the virtual machine instance" + + " does not have permission scopes specified. It is possible to skip checking" + + " for Compute Engine metadata by specifying the environment variable " + DefaultCredentialsProvider.NO_GCE_CHECK_ENV_VAR + "=true.", statusCode)); @@ -478,7 +497,11 @@ public AccessToken refreshAccessToken() throws IOException { @Override public IdToken idTokenWithAudience(String targetAudience, List options) throws IOException { + String boundTokenPayload = AgentIdentityUtils.getBoundTokenPayload(); GenericUrl documentUrl = new GenericUrl(getIdentityDocumentUrl()); + if (boundTokenPayload != null) { + documentUrl.set("format", "full"); + } if (options != null) { if (options.contains(IdTokenProvider.Option.FORMAT_FULL)) { documentUrl.set("format", "full"); @@ -490,10 +513,21 @@ public IdToken idTokenWithAudience(String targetAudience, List payload = Collections.singletonMap("certificate_chain", boundTokenPayload); + HttpContent content = + new JsonHttpContent(OAuth2Utils.JSON_FACTORY, payload) + .setMediaType(new HttpMediaType("application/json")); + return transportFactory + .create() + .createRequestFactory() + .buildPostRequest(new GenericUrl(url), content); + } + private HttpResponse getMetadataResponse( - String url, RequestType requestType, boolean shouldSendMetricsHeader) throws IOException { - GenericUrl genericUrl = new GenericUrl(url); - HttpRequest request = - transportFactory.create().createRequestFactory().buildGetRequest(genericUrl); + HttpRequest request, RequestType requestType, boolean shouldSendMetricsHeader) + throws IOException { // Disable automatic logging by google-http-java-client to prevent leakage of sensitive tokens. // Client Library Debug Logging via LoggingUtils is used instead where appropriate. request.setLoggingEnabled(false); @@ -840,7 +889,8 @@ public byte[] sign(byte[] toSign) { private String getDefaultServiceAccount() throws IOException { HttpResponse response = - getMetadataResponse(getDefaultServiceAccountUrl(), RequestType.UNTRACKED, false); + getMetadataResponse( + buildMetadataRequest(getDefaultServiceAccountUrl()), RequestType.UNTRACKED, false); int statusCode = response.getStatusCode(); if (statusCode == HttpStatusCodes.STATUS_CODE_NOT_FOUND) { throw new IOException( diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/OAuth2Utils.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/OAuth2Utils.java index f740dd980e73..6d068c173dfb 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/OAuth2Utils.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/OAuth2Utils.java @@ -68,6 +68,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import java.util.regex.Pattern; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -81,6 +82,9 @@ enum Pkcs8Algorithm { EC } + static final Pattern PEM_CERT_PATTERN = + Pattern.compile("-----BEGIN CERTIFICATE-----.*?-----END CERTIFICATE-----", Pattern.DOTALL); + static final String SIGNATURE_ALGORITHM = "SHA256withRSA"; public static final String TOKEN_TYPE_ACCESS_TOKEN = diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/AgentIdentityUtilsTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/AgentIdentityUtilsTest.java new file mode 100644 index 000000000000..e9302576435f --- /dev/null +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/AgentIdentityUtilsTest.java @@ -0,0 +1,1919 @@ +/* + * Copyright 2026, Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.google.auth.oauth2; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotSame; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.UncheckedIOException; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.nio.file.FileSystems; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.nio.file.attribute.FileTime; +import java.nio.file.attribute.PosixFilePermissions; +import java.security.KeyPair; +import java.security.KeyPairGenerator; +import java.security.PrivateKey; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.security.interfaces.ECPublicKey; +import java.security.spec.ECParameterSpec; +import java.security.spec.ECPoint; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.AtomicReference; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assumptions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +class AgentIdentityUtilsTest { + + private static final String VALID_SPIFFE_ORG = + "spiffe://agents.global.org-12345.system.id.goog/path/to/resource"; + private static final String VALID_SPIFFE_PROJ = + "spiffe://agents.global.proj-98765.system.id.goog/another/path"; + private static final String VALID_SPIFFE_NONPROD_ORG = + "spiffe://agents-nonprod.global.org-12345.system.id.goog/path/to/resource"; + private static final String VALID_SPIFFE_NONPROD_PROJ = + "spiffe://agents-nonprod.global.proj-98765.system.id.goog/another/path"; + private static final String INVALID_SPIFFE_DOMAIN = "spiffe://example.com/workload"; + private static final String INVALID_SPIFFE_FORMAT = + "spiffe://agents.global.org-INVALID.system.id.goog/path"; + + private TestEnvironmentProvider envProvider; + @TempDir private Path tempDir; + + @BeforeEach + void setUp() throws IOException { + envProvider = new TestEnvironmentProvider(); + AgentIdentityUtils.setEnvironmentProvider(envProvider); + AgentIdentityUtils.setTimeService(new FakeTimeService()); + } + + @AfterEach + void tearDown() throws IOException { + AgentIdentityUtils.resetForTest(); + } + + @Test + public void shouldRequestBoundToken_validOrgSpiffe_returnsTrue() throws CertificateException { + assertTrue( + AgentIdentityCertificateValidationUtils.shouldRequestBoundToken( + mockCertWithSanUri(VALID_SPIFFE_ORG))); + } + + @Test + public void shouldRequestBoundToken_validProjSpiffe_returnsTrue() throws CertificateException { + assertTrue( + AgentIdentityCertificateValidationUtils.shouldRequestBoundToken( + mockCertWithSanUri(VALID_SPIFFE_PROJ))); + } + + @Test + public void shouldRequestBoundToken_validNonprodOrgSpiffe_returnsTrue() + throws CertificateException { + assertTrue( + AgentIdentityCertificateValidationUtils.shouldRequestBoundToken( + mockCertWithSanUri(VALID_SPIFFE_NONPROD_ORG))); + } + + @Test + public void shouldRequestBoundToken_validNonprodProjSpiffe_returnsTrue() + throws CertificateException { + assertTrue( + AgentIdentityCertificateValidationUtils.shouldRequestBoundToken( + mockCertWithSanUri(VALID_SPIFFE_NONPROD_PROJ))); + } + + @Test + public void shouldRequestBoundToken_invalidDomain_returnsFalse() throws CertificateException { + assertFalse( + AgentIdentityCertificateValidationUtils.shouldRequestBoundToken( + mockCertWithSanUri(INVALID_SPIFFE_DOMAIN))); + } + + @Test + public void shouldRequestBoundToken_invalidFormat_returnsFalse() throws CertificateException { + assertFalse( + AgentIdentityCertificateValidationUtils.shouldRequestBoundToken( + mockCertWithSanUri(INVALID_SPIFFE_FORMAT))); + } + + @Test + public void shouldRequestBoundToken_certificateParsingException_returnsFalse() + throws java.security.cert.CertificateParsingException { + X509Certificate mockCert = mock(X509Certificate.class); + when(mockCert.getSubjectAlternativeNames()) + .thenThrow(new java.security.cert.CertificateParsingException()); + assertFalse(AgentIdentityCertificateValidationUtils.shouldRequestBoundToken(mockCert)); + } + + @Test + public void shouldRequestBoundToken_nonUriSan_returnsFalse() + throws java.security.cert.CertificateParsingException { + X509Certificate mockCert = mock(X509Certificate.class); + List dnsSan = Arrays.asList(2, "www.example.com"); + when(mockCert.getSubjectAlternativeNames()).thenReturn(Collections.>singleton(dnsSan)); + assertFalse(AgentIdentityCertificateValidationUtils.shouldRequestBoundToken(mockCert)); + } + + @Test + public void shouldRequestBoundToken_noSan_returnsFalse() throws CertificateException { + X509Certificate mockCert = mock(X509Certificate.class); + when(mockCert.getSubjectAlternativeNames()).thenReturn(null); + assertFalse(AgentIdentityCertificateValidationUtils.shouldRequestBoundToken(mockCert)); + } + + private X509Certificate mockCertWithSanUri(String uri) throws CertificateException { + X509Certificate mockCert = mock(X509Certificate.class); + List spiffeEntry = Arrays.asList(6, uri); + Collection> sans = Collections.singletonList(spiffeEntry); + when(mockCert.getSubjectAlternativeNames()).thenReturn(sans); + return mockCert; + } + + @Test + public void getAgentIdentityCertInfo_enableRuntimeBoundTokenFalse_returnsNullImmediately() + throws IOException { + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "false"); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, "/non/existent/path"); + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + @Test + public void getAgentIdentityCertInfo_legacyPreventSharingFalse_returnsNullImmediately() + throws IOException { + envProvider.setEnv( + AgentIdentityUtils.GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES, "false"); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, "/non/existent/path"); + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + @Test + public void getAgentIdentityCertInfo_useClientCertFalse_returnsNullImmediatelyWithoutPolling() + throws Exception { + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_USE_CLIENT_CERTIFICATE, "false"); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, "/non/existent/path"); + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_modernVarOverridesLegacyVar() throws Exception { + setupValidAgentCredentialsInTempDir(); + // Modern is true, Legacy is false -> should NOT opt out + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "true"); + envProvider.setEnv( + AgentIdentityUtils.GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES, "false"); + assertNotNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + + // Modern is false, Legacy is true -> should opt out + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "false"); + envProvider.setEnv( + AgentIdentityUtils.GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES, "true"); + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + @Test + public void getAgentIdentityCertInfo_enableRuntimeBoundTokenTrue_doesNotOptOut() + throws Exception { + setupValidAgentCredentialsInTempDir(); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "true"); + + AgentIdentityUtils.CertInfo info = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info); + assertEquals( + new String(Files.readAllBytes(tempDir.resolve("certificates.pem")), StandardCharsets.UTF_8), + info.getCertContent()); + } + + @Test + public void getAgentIdentityCertInfo_legacyPreventSharingTrue_doesNotOptOut() throws Exception { + setupValidAgentCredentialsInTempDir(); + envProvider.setEnv( + AgentIdentityUtils.GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES, "true"); + + AgentIdentityUtils.CertInfo info = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info); + assertEquals( + new String(Files.readAllBytes(tempDir.resolve("certificates.pem")), StandardCharsets.UTF_8), + info.getCertContent()); + } + + @Test + public void getAgentIdentityCertInfo_bothUnset_defaultsToEnabled() throws Exception { + setupValidAgentCredentialsInTempDir(); + + AgentIdentityUtils.CertInfo info = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info); + assertEquals( + new String(Files.readAllBytes(tempDir.resolve("certificates.pem")), StandardCharsets.UTF_8), + info.getCertContent()); + } + + private void setupValidAgentCredentialsInTempDir() throws Exception { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + + Path targetCertPath = + copyResource("agent/agent_spiffe_cert.pem", tempDir.resolve("certificates.pem")); + Path targetKeyPath = + copyResource("agent/agent_spiffe_key.pem", tempDir.resolve("private_key.pem")); + Path configFile = tempDir.resolve("credentials.json"); + writeWorkloadConfig(configFile, targetCertPath, targetKeyPath); + + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, configFile.toString()); + } + + @Test + public void getAgentIdentityCertInfo_noConfigEnvVar_returnsNull() throws IOException { + AgentIdentityUtils.setWellKnownDir(tempDir.resolve("non_existent").toString()); + AgentIdentityUtils.setTimeService(new FakeTimeService()); + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + @Test + public void getAgentIdentityCertInfo_happyPath_loadsCertificate() throws Exception { + URL certUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_cert.pem"); + assertNotNull(certUrl, "Test resource agent/agent_spiffe_cert.pem not found"); + String certPath = Paths.get(certUrl.toURI()).toAbsolutePath().toString(); + + URL keyUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_key.pem"); + assertNotNull(keyUrl, "Test resource agent/agent_spiffe_key.pem not found"); + String keyPath = Paths.get(keyUrl.toURI()).toAbsolutePath().toString(); + + File configFile = tempDir.resolve("config.json").toFile(); + String configJson = + "{" + + " \"cert_configs\": {" + + " \"workload\": {" + + " \"cert_path\": \"" + + certPath.replace("\\", "\\\\") + + "\"," + + " \"key_path\": \"" + + keyPath.replace("\\", "\\\\") + + "\"" + + " }" + + " }" + + "}"; + try (FileOutputStream fos = new FileOutputStream(configFile)) { + fos.write(configJson.getBytes(StandardCharsets.UTF_8)); + } + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", configFile.getAbsolutePath()); + AgentIdentityUtils.CertInfo info = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info); + assertTrue( + AgentIdentityCertificateValidationUtils.shouldRequestBoundToken(info.getCertificate())); + } + + @Test + public void getAgentIdentityCertInfo_timeout_throwsIOException() { + envProvider.setEnv( + "GOOGLE_API_CERTIFICATE_CONFIG", + tempDir.resolve("missing.json").toAbsolutePath().toString()); + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + AgentIdentityUtils.setTimeService(new FakeTimeService()); + IOException e = assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertTrue( + e.getMessage() + .contains( + "Unable to find Agent Identity certificate config or file for bound token request" + + " after multiple retries.")); + } + + @Test + public void getAgentIdentityCertInfo_malformedJson_throwsIOException(@TempDir Path outsideDir) + throws IOException { + File configFile = outsideDir.resolve("config.json").toFile(); + try (FileOutputStream fos = new FileOutputStream(configFile)) { + fos.write("{ \"cert_configs\": invalid json} ".getBytes(StandardCharsets.UTF_8)); + } + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", configFile.getAbsolutePath()); + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + IOException e = assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertTrue(e.getMessage().contains("Failed to parse Agent Identity config JSON")); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_configExists_certMissing_throwsIOExceptionAfterRetries() + throws IOException { + File configFile = tempDir.resolve("config.json").toFile(); + try (FileOutputStream fos = new FileOutputStream(configFile)) { + String json = + "{ \"cert_configs\": { \"workload\": { \"cert_path\": \"/non/existent/cert.pem\"," + + " \"key_path\": \"/non/existent/key.pem\" } } }"; + fos.write(json.getBytes(StandardCharsets.UTF_8)); + } + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", configFile.getAbsolutePath()); + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + AgentIdentityUtils.setTimeService(new FakeTimeService()); + + IOException e = assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertTrue( + e.getMessage() + .contains( + "Unable to find Agent Identity certificate config or file for bound token request" + + " after multiple retries.")); + } + + @Test + public void shouldEnableMtls_true_certsPresent_returnsTrue() throws IOException { + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + assertTrue(AgentIdentityUtils.shouldEnableMtls(true, true)); + } + + @Test + public void shouldEnableMtls_true_certsMissing_throwsIOException() { + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + assertThrows(IOException.class, () -> AgentIdentityUtils.shouldEnableMtls(false, true)); + } + + @Test + public void shouldEnableMtls_false_certsPresent_returnsFalse() throws IOException { + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false"); + assertFalse(AgentIdentityUtils.shouldEnableMtls(true, true)); + } + + @Test + public void shouldEnableMtls_nonTrueValue_certsPresent_returnsFalse() throws IOException { + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "invalid"); + assertFalse(AgentIdentityUtils.shouldEnableMtls(true, true)); + } + + @Test + public void shouldEnableMtls_unset_certsPresent_returnsTrue() throws IOException { + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", null); + assertTrue(AgentIdentityUtils.shouldEnableMtls(true, true)); + } + + @Test + public void shouldEnableMtls_unset_certsPresentNoConfig_returnsFalse() throws IOException { + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", null); + assertFalse(AgentIdentityUtils.shouldEnableMtls(true, false)); + } + + @Test + public void shouldEnableMtls_true_noCertsNoConfig_returnsFalse() throws IOException { + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + assertFalse(AgentIdentityUtils.shouldEnableMtls(false, false)); + } + + @Test + public void shouldEnableMtls_false_noCertsNoConfig_returnsFalse() throws IOException { + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false"); + assertFalse(AgentIdentityUtils.shouldEnableMtls(false, false)); + } + + @Test + public void shouldEnableMtls_unset_noCertsNoConfig_returnsFalse() throws IOException { + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", null); + assertFalse(AgentIdentityUtils.shouldEnableMtls(false, false)); + } + + @Test + public void shouldEnableMtls_unset_certsMissing_configExists_throwsIOException() { + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", null); + assertThrows(IOException.class, () -> AgentIdentityUtils.shouldEnableMtls(false, true)); + } + + @Test + public void getAgentIdentityCertInfo_fallbackPath_loadsCertificate() throws Exception { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + + URL certUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_cert.pem"); + assertNotNull(certUrl, "Test resource agent/agent_spiffe_cert.pem not found"); + String certPath = Paths.get(certUrl.toURI()).toAbsolutePath().toString(); + Files.copy(Paths.get(certPath), tempDir.resolve("certificates.pem")); + + URL keyUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_key.pem"); + assertNotNull(keyUrl, "Test resource agent/agent_spiffe_key.pem not found"); + String keyPath = Paths.get(keyUrl.toURI()).toAbsolutePath().toString(); + Files.copy(Paths.get(keyPath), tempDir.resolve("private_key.pem")); + + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", null); + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + AgentIdentityUtils.CertInfo info = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info); + assertEquals( + new String(Files.readAllBytes(tempDir.resolve("certificates.pem")), StandardCharsets.UTF_8), + info.getCertContent()); + } + + @Test + public void verifyKeyPair_match_returnsTrue() throws Exception { + KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); + kpg.initialize(2048); + KeyPair kp = kpg.generateKeyPair(); + + X509Certificate mockCert = mock(X509Certificate.class); + when(mockCert.getPublicKey()).thenReturn(kp.getPublic()); + + assertTrue(AgentIdentityCertificateValidationUtils.verifyKeyPair(mockCert, kp.getPrivate())); + } + + @Test + public void verifyKeyPair_ecKey_returnsTrue() throws Exception { + KeyPairGenerator kpg = KeyPairGenerator.getInstance("EC"); + kpg.initialize(256); + KeyPair kp = kpg.generateKeyPair(); + + X509Certificate ecCert = mock(X509Certificate.class); + when(ecCert.getPublicKey()).thenReturn(kp.getPublic()); + assertTrue(AgentIdentityCertificateValidationUtils.verifyKeyPair(ecCert, kp.getPrivate())); + } + + @Test + public void shouldRequestBoundToken_uppercaseSpiffeSchemeAndTrustDomain_returnsTrue() + throws Exception { + X509Certificate mockCert = mock(X509Certificate.class); + Collection> sans = + Collections.singletonList( + Arrays.asList(6, "SPIFFE://AGENTS.GLOBAL.ORG-12345.SYSTEM.ID.GOOG/ns/default/sa/test")); + when(mockCert.getSubjectAlternativeNames()).thenReturn(sans); + + assertTrue(AgentIdentityCertificateValidationUtils.shouldRequestBoundToken(mockCert)); + } + + @Test + public void verifyKeyPair_mismatch_returnsFalse() throws Exception { + KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); + kpg.initialize(2048); + KeyPair kp1 = kpg.generateKeyPair(); + KeyPair kp2 = kpg.generateKeyPair(); + + X509Certificate mockCert = mock(X509Certificate.class); + when(mockCert.getPublicKey()).thenReturn(kp1.getPublic()); + + assertFalse(AgentIdentityCertificateValidationUtils.verifyKeyPair(mockCert, kp2.getPrivate())); + } + + @Test + public void getAgentIdentityCertInfo_mismatch_throwsIOExceptionAfterRetries() throws Exception { + URL certUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_cert.pem"); + assertNotNull(certUrl, "Test resource agent/agent_spiffe_cert.pem not found"); + String certPath = Paths.get(certUrl.toURI()).toAbsolutePath().toString(); + + // Generate a random key that won't match the cert + KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); + kpg.initialize(2048); + KeyPair kp = kpg.generateKeyPair(); + + File keyFile = tempDir.resolve("private_key.pem").toFile(); + String keyPem = + "-----BEGIN PRIVATE KEY-----\n" + + java.util.Base64.getMimeEncoder().encodeToString(kp.getPrivate().getEncoded()) + + "\n-----END PRIVATE KEY-----"; + try (FileOutputStream fos = new FileOutputStream(keyFile)) { + fos.write(keyPem.getBytes(StandardCharsets.UTF_8)); + } + + File configFile = tempDir.resolve("config.json").toFile(); + String configJson = + "{" + + " \"cert_configs\": {" + + " \"workload\": {" + + " \"cert_path\": \"" + + certPath.replace("\\", "\\\\") + + "\"," + + " \"key_path\": \"" + + keyFile.getAbsolutePath().replace("\\", "\\\\") + + "\"" + + " }" + + " }" + + "}"; + try (FileOutputStream fos = new FileOutputStream(configFile)) { + fos.write(configJson.getBytes(StandardCharsets.UTF_8)); + } + + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", configFile.getAbsolutePath()); + + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + GoogleAuthException e = + assertThrows(GoogleAuthException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertTrue(e.isRetryable()); + assertEquals(3, e.getRetryCount()); + assertTrue( + e.getMessage() + .contains( + "Agent Identity certificate and private key mismatch or read failure after 3" + + " attempts.")); + assertEquals(200, fakeTime.currentTimeMillis()); // 2 retries * 100ms + } + + @Test + public void + getAgentIdentityCertInfo_wellKnownDirExistsNoFiles_notExplicitlyEnabled_returnsNullImmediately() + throws IOException { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", null); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void + getAgentIdentityCertInfo_wellKnownDirExistsNoFiles_explicitlyEnabled_retriesAndThrowsIOException() + throws IOException { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + + assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertTrue(fakeTime.getSleepCount() > 0); + } + + @Test + public void readCertificateChain_combinedBundle_stripsPrivateKeyAndRetainsCertificates() + throws Exception { + URL cert1Url = getClass().getClassLoader().getResource("agent/agent_spiffe_cert.pem"); + assertNotNull(cert1Url); + String cert1Pem = + new String(Files.readAllBytes(Paths.get(cert1Url.toURI())), StandardCharsets.UTF_8); + + URL cert2Url = getClass().getClassLoader().getResource("x509_leaf_certificate.pem"); + assertNotNull(cert2Url); + String cert2Pem = + new String(Files.readAllBytes(Paths.get(cert2Url.toURI())), StandardCharsets.UTF_8); + + URL keyUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_key.pem"); + assertNotNull(keyUrl); + String keyPem = + new String(Files.readAllBytes(Paths.get(keyUrl.toURI())), StandardCharsets.UTF_8); + + // Create a bundle file with cert1 then private key then cert2 + String bundleContent = cert1Pem + "\n" + keyPem + "\n" + cert2Pem; + Path bundleFile = tempDir.resolve("bundle.pem"); + Files.write(bundleFile, bundleContent.getBytes(StandardCharsets.UTF_8)); + + String extractedChain = + AgentIdentityCertificateValidationUtils.readCertificateChain(bundleFile.toString()); + + // Verify both certificates are retained + assertTrue(extractedChain.contains(cert1Pem.trim())); + assertTrue(extractedChain.contains(cert2Pem.trim())); + // Verify private key is stripped + assertFalse(extractedChain.contains("PRIVATE KEY")); + assertFalse(extractedChain.contains("BEGIN PRIVATE KEY")); + assertFalse(extractedChain.contains("END PRIVATE KEY")); + } + + @Test + public void readCertificateChain_noCertificates_throwsIOException() throws Exception { + URL keyUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_key.pem"); + assertNotNull(keyUrl); + String keyPem = + new String(Files.readAllBytes(Paths.get(keyUrl.toURI())), StandardCharsets.UTF_8); + + Path keyOnlyFile = tempDir.resolve("key_only.pem"); + Files.write(keyOnlyFile, keyPem.getBytes(StandardCharsets.UTF_8)); + + IOException e = + assertThrows( + IOException.class, + () -> + AgentIdentityCertificateValidationUtils.readCertificateChain( + keyOnlyFile.toString())); + assertTrue(e.getMessage().contains("No PEM certificates found in certificate file")); + } + + @Test + public void loadAndVerifyCredentials_validCombinedBundle_verifiesKeyAndStripsPrivateKey() + throws Exception { + URL certUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_cert.pem"); + assertNotNull(certUrl); + String certPem = + new String(Files.readAllBytes(Paths.get(certUrl.toURI())), StandardCharsets.UTF_8); + + URL keyUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_key.pem"); + assertNotNull(keyUrl); + String keyPem = + new String(Files.readAllBytes(Paths.get(keyUrl.toURI())), StandardCharsets.UTF_8); + + String bundleContent = certPem + "\n" + keyPem; + Path bundleFile = tempDir.resolve("credentialbundle.pem"); + Files.write(bundleFile, bundleContent.getBytes(StandardCharsets.UTF_8)); + + AgentIdentityUtils.CertInfo info = + AgentIdentityUtils.loadAndVerifyCredentials(bundleFile.toString(), bundleFile.toString()); + assertNotNull(info); + assertNotNull(info.getCertificate()); + assertTrue( + AgentIdentityCertificateValidationUtils.shouldRequestBoundToken(info.getCertificate())); + assertTrue(info.getCertContent().contains("BEGIN CERTIFICATE")); + assertFalse(info.getCertContent().contains("PRIVATE KEY")); + } + + @Test + public void loadAndVerifyCredentials_bundleWithMismatchedKey_failsVerification() + throws Exception { + URL certUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_cert.pem"); + assertNotNull(certUrl); + String certPem = + new String(Files.readAllBytes(Paths.get(certUrl.toURI())), StandardCharsets.UTF_8); + + // Generate a random key that does not match the cert + KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); + kpg.initialize(2048); + KeyPair kp = kpg.generateKeyPair(); + String mismatchedKeyPem = + "-----BEGIN PRIVATE KEY-----\n" + + java.util.Base64.getMimeEncoder().encodeToString(kp.getPrivate().getEncoded()) + + "\n-----END PRIVATE KEY-----"; + + String bundleContent = certPem + "\n" + mismatchedKeyPem; + Path bundleFile = tempDir.resolve("credentialbundle.pem"); + Files.write(bundleFile, bundleContent.getBytes(StandardCharsets.UTF_8)); + + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + AgentIdentityUtils.setTimeService(new FakeTimeService()); + + GoogleAuthException e = + assertThrows( + GoogleAuthException.class, + () -> + AgentIdentityUtils.loadAndVerifyCredentials( + bundleFile.toString(), bundleFile.toString())); + assertTrue(e.isRetryable()); + assertEquals(3, e.getRetryCount()); + assertTrue( + e.getMessage() + .contains( + "Agent Identity certificate and private key mismatch or read failure after 3" + + " attempts.")); + } + + @Test + public void getAgentIdentityCertInfo_implicitDiscovery_bundleWithMismatchedKey_throwsIOException() + throws Exception { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + URL certUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_cert.pem"); + assertNotNull(certUrl); + String certPem = + new String(Files.readAllBytes(Paths.get(certUrl.toURI())), StandardCharsets.UTF_8); + + KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); + kpg.initialize(2048); + KeyPair kp = kpg.generateKeyPair(); + String mismatchedKeyPem = + "-----BEGIN PRIVATE KEY-----\n" + + java.util.Base64.getMimeEncoder().encodeToString(kp.getPrivate().getEncoded()) + + "\n-----END PRIVATE KEY-----"; + + String bundleContent = certPem + "\n" + mismatchedKeyPem; + Path bundleFile = tempDir.resolve("credentialbundle.pem"); + Files.write(bundleFile, bundleContent.getBytes(StandardCharsets.UTF_8)); + + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + AgentIdentityUtils.setTimeService(new FakeTimeService()); + + GoogleAuthException e = + assertThrows(GoogleAuthException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertTrue(e.isRetryable()); + assertEquals(3, e.getRetryCount()); + assertNotNull(e.getCause()); + assertTrue(e.getCause().getMessage().contains("Certificate and private key do not match")); + } + + @Test + public void getAgentIdentityCertInfo_wellKnownBundleFile_verifiesAndStripsPrivateKey() + throws Exception { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + + URL certUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_cert.pem"); + assertNotNull(certUrl); + String certPem = + new String(Files.readAllBytes(Paths.get(certUrl.toURI())), StandardCharsets.UTF_8); + + URL keyUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_key.pem"); + assertNotNull(keyUrl); + String keyPem = + new String(Files.readAllBytes(Paths.get(keyUrl.toURI())), StandardCharsets.UTF_8); + + String bundleContent = certPem + "\n" + keyPem; + Path bundleFile = tempDir.resolve("credentialbundle.pem"); + Files.write(bundleFile, bundleContent.getBytes(StandardCharsets.UTF_8)); + + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, null); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_USE_CLIENT_CERTIFICATE, "true"); + + AgentIdentityUtils.CertInfo info = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info); + assertNotNull(info.getCertificate()); + assertTrue( + AgentIdentityCertificateValidationUtils.shouldRequestBoundToken(info.getCertificate())); + assertTrue(info.getCertContent().contains("BEGIN CERTIFICATE")); + assertFalse(info.getCertContent().contains("PRIVATE KEY")); + } + + @Test + public void getAgentIdentityCertInfo_explicitConfigDirectoryAccessDenied_throwsIOException() + throws Exception { + Path restrictedDir = tempDir.resolve("restricted_dir"); + Files.createDirectory(restrictedDir); + Path configFile = restrictedDir.resolve("config.json"); + Files.write(configFile, "{}".getBytes(StandardCharsets.UTF_8)); + + restrictedDir.toFile().setReadable(false, false); + restrictedDir.toFile().setExecutable(false, false); + + try { + Assumptions.assumeFalse(Files.isReadable(configFile)); + envProvider.setEnv( + AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, configFile.toAbsolutePath().toString()); + assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + } finally { + restrictedDir.toFile().setReadable(true, false); + restrictedDir.toFile().setExecutable(true, false); + } + } + + @Test + public void getAgentIdentityCertInfo_explicitConfigFileNotReadable_throwsIOException() + throws Exception { + Path configFile = tempDir.resolve("unreadable_config.json"); + Files.write(configFile, "{}".getBytes(StandardCharsets.UTF_8)); + configFile.toFile().setReadable(false, false); + + try { + Assumptions.assumeFalse(Files.isReadable(configFile)); + envProvider.setEnv( + AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, configFile.toAbsolutePath().toString()); + assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + } finally { + configFile.toFile().setReadable(true, false); + } + } + + @Test + public void getAgentIdentityCertInfo_implicitWellKnownAccessDenied_returnsNull() + throws Exception { + Path restrictedDir = tempDir.resolve("restricted_well_known"); + Files.createDirectory(restrictedDir); + Path bundleFile = restrictedDir.resolve("credentialbundle.pem"); + Files.write(bundleFile, "test".getBytes(StandardCharsets.UTF_8)); + + restrictedDir.toFile().setReadable(false, false); + restrictedDir.toFile().setExecutable(false, false); + + try { + Assumptions.assumeFalse(Files.isReadable(bundleFile)); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, null); + AgentIdentityUtils.setWellKnownDir(restrictedDir.toAbsolutePath().toString() + "/"); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + } finally { + restrictedDir.toFile().setReadable(true, false); + restrictedDir.toFile().setExecutable(true, false); + } + } + + @Test + public void getAgentIdentityCertInfo_enterpriseConfig_returnsNullImmediatelyWithoutPolling() + throws Exception { + File configFile = tempDir.resolve("enterprise_config.json").toFile(); + try (FileOutputStream fos = new FileOutputStream(configFile)) { + String json = + "{\n" + + " \"cert_configs\": {\n" + + " \"enterprise\": {\n" + + " \"cert_provider_command\": [\"/bin/echo\", \"dummy\"]\n" + + " }\n" + + " }\n" + + "}"; + fos.write(json.getBytes(StandardCharsets.UTF_8)); + } + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", configFile.getAbsolutePath()); + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + AgentIdentityUtils.CertInfo info = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNull(info); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_configWithoutWorkload_returnsNullImmediatelyWithoutPolling() + throws Exception { + File configFile = tempDir.resolve("empty_cert_configs.json").toFile(); + try (FileOutputStream fos = new FileOutputStream(configFile)) { + String json = "{ \"cert_configs\": {} }"; + fos.write(json.getBytes(StandardCharsets.UTF_8)); + } + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", configFile.getAbsolutePath()); + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + AgentIdentityUtils.CertInfo info = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNull(info); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void + getAgentIdentityCertInfo_missingConfigOutsideWellKnownDir_throwsIOExceptionImmediatelyWithoutPolling( + @TempDir Path outsideDir) throws Exception { + Path missingConfigFile = outsideDir.resolve("missing_config.json"); + envProvider.setEnv( + "GOOGLE_API_CERTIFICATE_CONFIG", missingConfigFile.toAbsolutePath().toString()); + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void + getAgentIdentityCertInfo_configOutsideWellKnownDir_targetCertInWellKnownDir_pollsUntilReady( + @TempDir Path outsideDir) throws Exception { + Path targetCertPath = tempDir.resolve("certificates.pem"); + Path targetKeyPath = tempDir.resolve("private_key.pem"); + + File configFile = outsideDir.resolve("certificate_config.json").toFile(); + String configJson = + "{" + + " \"cert_configs\": {" + + " \"workload\": {" + + " \"cert_path\": \"" + + targetCertPath.toAbsolutePath().toString().replace("\\", "\\\\") + + "\"," + + " \"key_path\": \"" + + targetKeyPath.toAbsolutePath().toString().replace("\\", "\\\\") + + "\"" + + " }" + + " }" + + "}"; + Files.write(configFile.toPath(), configJson.getBytes(StandardCharsets.UTF_8)); + + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", configFile.getAbsolutePath()); + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + + FakeTimeService fakeTime = new FakeTimeService(); + fakeTime.setOnSleepCallback( + () -> { + if (fakeTime.getSleepCount() == 2) { + try { + URL certUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_cert.pem"); + URL keyUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_key.pem"); + Files.copy(Paths.get(certUrl.toURI()), targetCertPath); + Files.copy(Paths.get(keyUrl.toURI()), targetKeyPath); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + }); + AgentIdentityUtils.setTimeService(fakeTime); + + AgentIdentityUtils.CertInfo info = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info); + assertEquals(2, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_partialJsonDuringStartupPoll_retriesAndSucceeds() + throws Exception { + Path targetCertPath = tempDir.resolve("certificates.pem"); + Path targetKeyPath = tempDir.resolve("private_key.pem"); + URL certUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_cert.pem"); + URL keyUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_key.pem"); + Files.copy(Paths.get(certUrl.toURI()), targetCertPath); + Files.copy(Paths.get(keyUrl.toURI()), targetKeyPath); + + Path configFile = tempDir.resolve("config.json"); + // Write partial/incomplete JSON simulating non-atomic write at startup + Files.write(configFile, "{ \"cert_configs\": ".getBytes(StandardCharsets.UTF_8)); + + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", configFile.toAbsolutePath().toString()); + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + + String validJson = + "{" + + " \"cert_configs\": {" + + " \"workload\": {" + + " \"cert_path\": \"" + + targetCertPath.toAbsolutePath().toString().replace("\\", "\\\\") + + "\"," + + " \"key_path\": \"" + + targetKeyPath.toAbsolutePath().toString().replace("\\", "\\\\") + + "\"" + + " }" + + " }" + + "}"; + + FakeTimeService fakeTime = new FakeTimeService(); + fakeTime.setOnSleepCallback( + () -> { + if (fakeTime.getSleepCount() == 1) { + try { + Files.write(configFile, validJson.getBytes(StandardCharsets.UTF_8)); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }); + AgentIdentityUtils.setTimeService(fakeTime); + + AgentIdentityUtils.CertInfo info = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info); + assertEquals(1, fakeTime.getSleepCount()); + } + + @Test + public void + getAgentIdentityCertInfo_startupPollTimeout_subsequentRefreshDoesNotPollAndThrowsIOException() + throws Exception { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + + // Initial call polls for all 100 cycles (99 sleeps) and fails closed with IOException + assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertEquals(99, fakeTime.getSleepCount()); + + // Subsequent token refresh fails closed immediately without sleeping + assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertEquals(99, fakeTime.getSleepCount()); + } + + @Test + public void + getAgentIdentityCertInfo_configInWellKnownDirTimeout_subsequentRefreshDoesNotPollAndThrowsIOException() + throws Exception { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + envProvider.setEnv( + "GOOGLE_API_CERTIFICATE_CONFIG", + tempDir.resolve("missing_config.json").toAbsolutePath().toString()); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", null); + + // Initial call polls for all 100 cycles (99 sleeps) and fails closed with IOException + assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertEquals(99, fakeTime.getSleepCount()); + + // Subsequent token refresh fails closed immediately without sleeping + assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertEquals(99, fakeTime.getSleepCount()); + } + + @Test + public void + getAgentIdentityCertInfo_startupSucceeded_subsequentRefreshMissingFileRetriesAndFallsBackToCache() + throws Exception { + setupValidAgentCredentialsInTempDir(); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + + // Initial startup discovery succeeds immediately without polling + AgentIdentityUtils.CertInfo info1 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info1); + assertEquals(0, fakeTime.getSleepCount()); + + // Simulate certificate file disappearing on disk after initial startup + Files.delete(tempDir.resolve("certificates.pem")); + + // Subsequent token refresh retries briefly (2 sleeps of 100ms) and falls back to cached cert + AgentIdentityUtils.CertInfo info2 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertSame(info1, info2); + assertEquals(2, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_startupSucceeded_rotationMomentaryUnlinkRecoversDuringRetry() + throws Exception { + setupValidAgentCredentialsInTempDir(); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + + AgentIdentityUtils.CertInfo info1 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info1); + + Path certFile = tempDir.resolve("certificates.pem"); + byte[] certBytes = Files.readAllBytes(certFile); + // Momentarily unlink certificate file simulating non-atomic unlink+create rotation + Files.delete(certFile); + + fakeTime.setOnSleepCallback( + () -> { + if (fakeTime.getSleepCount() == 1) { + try { + // Re-create the file with updated content during retry sleep + Files.write( + certFile, + (new String(certBytes, StandardCharsets.UTF_8) + "\n") + .getBytes(StandardCharsets.UTF_8)); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }); + + AgentIdentityUtils.CertInfo info2 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info2); + assertNotSame(info1, info2); + assertEquals(1, fakeTime.getSleepCount()); + } + + @Test + public void + getAgentIdentityCertInfo_implicitDiscovery_certificatesPemWithoutPrivateKey_returnsNull() + throws Exception { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + URL certUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_cert.pem"); + assertNotNull(certUrl); + Files.copy(Paths.get(certUrl.toURI()), tempDir.resolve("certificates.pem")); + // Without private_key.pem, implicit well-known discovery does not consider certOnlyPath ready + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", null); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_implicitDiscovery_bundleWithoutPrivateKey_throwsIOException() + throws Exception { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + URL certUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_cert.pem"); + assertNotNull(certUrl); + // credentialbundle.pem exists without a valid private key, so discovery fails closed + Files.copy(Paths.get(certUrl.toURI()), tempDir.resolve("credentialbundle.pem")); + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertEquals(2, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_explicitMtlsEnabled_missingPrivateKey_throwsIOException() + throws Exception { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + URL certUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_cert.pem"); + assertNotNull(certUrl); + Files.copy(Paths.get(certUrl.toURI()), tempDir.resolve("certificates.pem")); + // Intentionally do NOT copy private_key.pem + + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + IOException e = assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertTrue( + e.getMessage().contains("Unable to find well-known Agent Identity certificate file")); + assertEquals(99, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_certificateOnlyConfig_omittedKeyPath_throwsIOException() + throws Exception { + URL certUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_cert.pem"); + assertNotNull(certUrl); + String certPath = Paths.get(certUrl.toURI()).toAbsolutePath().toString(); + + File configFile = tempDir.resolve("config.json").toFile(); + String configJson = + "{" + + " \"cert_configs\": {" + + " \"workload\": {" + + " \"cert_path\": \"" + + certPath.replace("\\", "\\\\") + + "\"" + + " }" + + " }" + + "}"; + Files.write(configFile.toPath(), configJson.getBytes(StandardCharsets.UTF_8)); + + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", configFile.getAbsolutePath()); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + IOException e = assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertTrue( + e.getMessage() + .contains( + "Unable to find Agent Identity certificate config or file for bound token" + + " request")); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_nonAgentSpiffeCert_returnsNullWithoutReadingKey() + throws Exception { + URL certUrl = getClass().getClassLoader().getResource("x509_leaf_certificate.pem"); + assertNotNull(certUrl); + String certPath = Paths.get(certUrl.toURI()).toAbsolutePath().toString(); + + Path invalidKeyFile = tempDir.resolve("invalid_key.pem"); + Files.write(invalidKeyFile, "not-a-valid-private-key".getBytes(StandardCharsets.UTF_8)); + + File configFile = tempDir.resolve("config.json").toFile(); + String configJson = + "{" + + " \"cert_configs\": {" + + " \"workload\": {" + + " \"cert_path\": \"" + + certPath.replace("\\", "\\\\") + + "\"," + + " \"key_path\": \"" + + invalidKeyFile.toAbsolutePath().toString().replace("\\", "\\\\") + + "\"" + + " }" + + " }" + + "}"; + Files.write(configFile.toPath(), configJson.getBytes(StandardCharsets.UTF_8)); + + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", configFile.getAbsolutePath()); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + // Should return null without attempting to parse the invalid private key or sleeping + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertEquals(0, fakeTime.getSleepCount()); + assertNull(AgentIdentityUtils.getBoundTokenPayload()); + } + + @Test + public void getAgentIdentityCertInfo_cachesVerifiedCertInfoAndInvalidatesOnRotation() + throws Exception { + setupValidAgentCredentialsInTempDir(); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + AgentIdentityUtils.CertInfo info1 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info1); + + // Second call with unchanged files on disk must return the exact same cached instance + AgentIdentityUtils.CertInfo info2 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertSame(info1, info2); + + // Simulate certificate rotation on disk by modifying the file content/size + Path certFile = tempDir.resolve("certificates.pem"); + String originalPem = new String(Files.readAllBytes(certFile), StandardCharsets.UTF_8); + Files.write(certFile, (originalPem + "\n").getBytes(StandardCharsets.UTF_8)); + + AgentIdentityUtils.CertInfo info3 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info3); + assertNotSame(info1, info3); + } + + @Test + public void + getAgentIdentityCertInfo_rotationWithIdenticalByteLengthAndUpdatedMtime_reloadsCredentials() + throws Exception { + setupValidAgentCredentialsInTempDir(); + Path certFile = tempDir.resolve("certificates.pem"); + String basePem = new String(Files.readAllBytes(certFile), StandardCharsets.UTF_8); + + // Write initial version with a fixed-length trailing comment + String v1Pem = basePem + "\n# version-1"; + Files.write(certFile, v1Pem.getBytes(StandardCharsets.UTF_8)); + FileTime initialMtime = Files.getLastModifiedTime(certFile); + long initialSize = Files.size(certFile); + + AgentIdentityUtils.CertInfo info1 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info1); + + // Overwrite with identical byte length but updated mtime + String v2Pem = basePem + "\n# version-2"; + Files.write(certFile, v2Pem.getBytes(StandardCharsets.UTF_8)); + Files.setLastModifiedTime(certFile, FileTime.fromMillis(initialMtime.toMillis() + 5000)); + assertEquals(initialSize, Files.size(certFile)); + + AgentIdentityUtils.CertInfo info2 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info2); + assertNotSame(info1, info2); + } + + @Test + public void + getAgentIdentityCertInfo_concurrentCacheInvalidationDuringRotation_fallsBackToInitialSnapshot() + throws Exception { + setupValidAgentCredentialsInTempDir(); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + + AgentIdentityUtils.CertInfo info1 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info1); + + // Simulate transient file disappearance during steady-state rotation + Files.delete(tempDir.resolve("certificates.pem")); + + // While the thread sleeps in loadAndVerifyCredentials backoff, simulate another thread + // concurrently clearing/invalidating cachedCredentials + fakeTime.setOnSleepCallback(() -> AgentIdentityCacheUtils.clearCachedAgentIdentityInfo()); + + AgentIdentityUtils.CertInfo info2 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertSame(info1, info2); + } + + @Test + public void + getAgentIdentityCertInfo_concurrentRotationUpdatedByAnotherThread_returnsFreshestCredential() + throws Exception { + setupValidAgentCredentialsInTempDir(); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + + Path certFile = tempDir.resolve("certificates.pem"); + Path keyFile = tempDir.resolve("private_key.pem"); + String basePem = new String(Files.readAllBytes(certFile), StandardCharsets.UTF_8); + + AgentIdentityUtils.CertInfo info1 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info1); + + // Delete certFile so Thread A enters the retry sleep loop + Files.delete(certFile); + + AtomicReference concurrentRotatedInfo = new AtomicReference<>(); + fakeTime.setOnSleepCallback( + () -> { + if (concurrentRotatedInfo.get() == null) { + try { + // Simulate Thread B completing rotation and updating cachedCredentials while Thread A + // sleeps + String v2Pem = basePem + "\n# rotated-by-thread-B"; + Files.write(certFile, v2Pem.getBytes(StandardCharsets.UTF_8)); + AgentIdentityUtils.CertInfo rotated = + AgentIdentityUtils.loadAndVerifyCredentials( + certFile.toString(), keyFile.toString()); + concurrentRotatedInfo.set(rotated); + // Delete certFile again so Thread A's own disk retries fail and must use cache + // fallback + Files.delete(certFile); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }); + + AgentIdentityUtils.CertInfo result = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(concurrentRotatedInfo.get()); + assertNotSame(info1, concurrentRotatedInfo.get()); + assertSame(concurrentRotatedInfo.get(), result); + } + + @Test + public void getAgentIdentityCertInfo_concurrentThreadsReadingAndRotating_noNpeOrRaceConditions() + throws Exception { + setupValidAgentCredentialsInTempDir(); + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + + Path certFile = tempDir.resolve("certificates.pem"); + Path keyFile = tempDir.resolve("private_key.pem"); + byte[] agentCertBytes = Files.readAllBytes(certFile); + + URL nonAgentUrl = getClass().getClassLoader().getResource("mtlsCertAndKey.pem"); + assertNotNull(nonAgentUrl); + byte[] nonAgentBytes = Files.readAllBytes(Paths.get(nonAgentUrl.toURI())); + + // Prime initial cache + assertNotNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + + int numThreads = 8; + int iterations = 100; + ExecutorService executor = Executors.newFixedThreadPool(numThreads + 1); + try { + List> tasks = new ArrayList<>(); + // Mutator thread rapidly alternates between agent cert, non-agent cert (keyMetadata == null), + // and cache resets + tasks.add( + () -> { + for (int i = 0; i < iterations; i++) { + if (i % 3 == 0) { + Files.write(certFile, nonAgentBytes); + AgentIdentityUtils.loadAndVerifyCredentials( + certFile.toString(), keyFile.toString()); + } else if (i % 3 == 1) { + Files.write(certFile, agentCertBytes); + AgentIdentityUtils.loadAndVerifyCredentials( + certFile.toString(), keyFile.toString()); + } else { + AgentIdentityCacheUtils.clearCachedAgentIdentityInfo(); + } + } + Files.write(certFile, agentCertBytes); + return null; + }); + + // Reader threads concurrently call getAgentIdentityCertInfo() + for (int t = 0; t < numThreads; t++) { + tasks.add( + () -> { + for (int i = 0; i < iterations; i++) { + try { + AgentIdentityUtils.getAgentIdentityCertInfo(); + } catch (IOException ignored) { + // Expected if mutator wrote non-matching cert/key mid-read, but NPE must NEVER + // occur + } + } + return null; + }); + } + + List> futures = executor.invokeAll(tasks); + for (Future future : futures) { + future.get(); // Re-throws any NullPointerException or RuntimeException + } + } finally { + executor.shutdownNow(); + } + } + + @Test + public void getAgentIdentityCertInfo_steadyStateKeyMismatch_fallsBackToCache() throws Exception { + setupValidAgentCredentialsInTempDir(); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + // 1. Initial call succeeds and populates cache + AgentIdentityUtils.CertInfo initialInfo = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(initialInfo); + + // 2. Overwrite private_key.pem on disk with a mismatched key (and advance mtime so cache + // invalidates) + KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); + kpg.initialize(2048); + PrivateKey mismatchedKey = kpg.generateKeyPair().getPrivate(); + String mismatchedKeyPem = + "-----BEGIN PRIVATE KEY-----\n" + + java.util.Base64.getEncoder().encodeToString(mismatchedKey.getEncoded()) + + "\n-----END PRIVATE KEY-----\n"; + Path keyPath = tempDir.resolve("private_key.pem"); + Files.write(keyPath, mismatchedKeyPem.getBytes(StandardCharsets.UTF_8)); + Files.setLastModifiedTime( + keyPath, java.nio.file.attribute.FileTime.fromMillis(System.currentTimeMillis() + 10000)); + + // 3. With steady-state cache populated, lastException is set on verifyKeyPair failure so it + // falls back to cached credentials during rotation mismatch + AgentIdentityUtils.CertInfo fallbackInfo = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertSame(initialInfo, fallbackInfo); + assertEquals(2, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_mtlsDisabledWithCertsPresent_logsAtMostOnce() + throws Exception { + setupValidAgentCredentialsInTempDir(); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_USE_CLIENT_CERTIFICATE, "false"); + + assertFalse(AgentIdentityUtils.isMtlsDisabledLogged()); + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertTrue(AgentIdentityUtils.isMtlsDisabledLogged()); + + // Subsequent calls return null without re-triggering log message + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertTrue(AgentIdentityUtils.isMtlsDisabledLogged()); + } + + @Test + public void getAgentIdentityCertInfo_configRemovedAfterCaching_fallsBackToCachedCert() + throws Exception { + Path certPath = copyResource("agent/agent_spiffe_cert.pem", tempDir.resolve("cert.pem")); + Path keyPath = copyResource("agent/agent_spiffe_key.pem", tempDir.resolve("key.pem")); + Path configFile = tempDir.resolve("config.json"); + writeWorkloadConfig(configFile, certPath, keyPath); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, configFile.toString()); + + AgentIdentityUtils.CertInfo info1 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info1); + + Files.delete(configFile); + + assertSame(info1, AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + @Test + public void getAgentIdentityCertInfo_wellKnownCacheThenMissingConfig_doesNotUseWellKnownCache( + @TempDir Path outsideDir) throws Exception { + setupValidAgentCredentialsInTempDir(); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, null); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_USE_CLIENT_CERTIFICATE, "true"); + assertNotNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + + envProvider.setEnv( + AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, + outsideDir.resolve("missing.json").toString()); + + IOException e = assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertTrue(e.getMessage().contains("Unable to find Agent Identity certificate config or file")); + } + + @Test + public void getAgentIdentityCertInfo_configCacheThenConfigUnset_doesNotUseConfigCache() + throws Exception { + Path certPath = copyResource("agent/agent_spiffe_cert.pem", tempDir.resolve("cert.pem")); + Path keyPath = copyResource("agent/agent_spiffe_key.pem", tempDir.resolve("key.pem")); + Path configFile = tempDir.resolve("config.json"); + writeWorkloadConfig(configFile, certPath, keyPath); + Path wellKnown = Files.createDirectory(tempDir.resolve("well-known")); + AgentIdentityUtils.setWellKnownDir(wellKnown.toString() + "/"); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, configFile.toString()); + assertNotNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + + // Environment variables can't change in a running JVM; this only exercises the guard. + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, null); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + @Test + public void getAgentIdentityCertInfo_nonAgentCachedDuringRetry_fallsBackToInitialBoundCert() + throws Exception { + setupValidAgentCredentialsInTempDir(); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + AgentIdentityUtils.CertInfo info1 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info1); + + // A mismatched key on disk makes every retry fail. + Path keyPath = tempDir.resolve("private_key.pem"); + Files.write(keyPath, mismatchedRsaKeyPem().getBytes(StandardCharsets.UTF_8)); + Files.setLastModifiedTime(keyPath, FileTime.fromMillis(System.currentTimeMillis() + 10000)); + + // While this call sleeps between retries, another caller caches a non-agent certificate. + String nonAgentCertPath = resourcePath("x509_leaf_certificate.pem"); + fakeTime.setOnSleepCallback( + () -> { + if (fakeTime.getSleepCount() == 1) { + try { + assertNull(AgentIdentityUtils.loadAndVerifyCredentials(nonAgentCertPath, null)); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } + }); + + assertSame(info1, AgentIdentityUtils.getAgentIdentityCertInfo()); + assertEquals(2, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_configModifiedMidRead_returnsVerifiedCertWithoutCaching() + throws Exception { + Path certPath = copyResource("agent/agent_spiffe_cert.pem", tempDir.resolve("cert.pem")); + Path keyPath = tempDir.resolve("key.pem"); + // The first attempt fails verification so the config change lands between attempts. + Files.write(keyPath, mismatchedRsaKeyPem().getBytes(StandardCharsets.UTF_8)); + Path configFile = tempDir.resolve("config.json"); + writeWorkloadConfig(configFile, certPath, keyPath); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, configFile.toString()); + + FakeTimeService fakeTime = new FakeTimeService(); + fakeTime.setOnSleepCallback( + () -> { + if (fakeTime.getSleepCount() == 1) { + try { + copyResource("agent/agent_spiffe_key.pem", keyPath); + Files.setLastModifiedTime( + configFile, FileTime.fromMillis(System.currentTimeMillis() + 10000)); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + }); + AgentIdentityUtils.setTimeService(fakeTime); + + AgentIdentityUtils.CertInfo info1 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info1); + assertEquals(1, fakeTime.getSleepCount()); + + // Not cached, so the next refresh re-resolves from the new config and caches that result. + AgentIdentityUtils.CertInfo info2 = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info2); + assertNotSame(info1, info2); + assertSame(info2, AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + @Test + public void getAgentIdentityCertInfo_configDeletedMidRead_returnsVerifiedCertWithoutCaching() + throws Exception { + Path certPath = copyResource("agent/agent_spiffe_cert.pem", tempDir.resolve("cert.pem")); + Path keyPath = tempDir.resolve("key.pem"); + Files.write(keyPath, mismatchedRsaKeyPem().getBytes(StandardCharsets.UTF_8)); + Path configFile = tempDir.resolve("config.json"); + writeWorkloadConfig(configFile, certPath, keyPath); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, configFile.toString()); + + FakeTimeService fakeTime = new FakeTimeService(); + fakeTime.setOnSleepCallback( + () -> { + if (fakeTime.getSleepCount() == 1) { + try { + copyResource("agent/agent_spiffe_key.pem", keyPath); + Files.delete(configFile); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + }); + AgentIdentityUtils.setTimeService(fakeTime); + + assertNotNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertEquals(1, fakeTime.getSleepCount()); + + // Nothing was cached, so there is no cached credential to fall back to. + assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + } + + @Test + public void getAgentIdentityCertInfo_implicitDiscovery_unreadablePrivateKey_returnsNull() + throws Exception { + setupValidAgentCredentialsInTempDir(); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, null); + makeUnreadable(tempDir.resolve("private_key.pem")); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + @Test + public void getAgentIdentityCertInfo_explicitMtls_unreadableWellKnownCert_returnsNull() + throws Exception { + setupValidAgentCredentialsInTempDir(); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, null); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_USE_CLIENT_CERTIFICATE, "true"); + makeUnreadable(tempDir.resolve("certificates.pem")); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + @Test + public void getAgentIdentityCertInfo_configCertPathUnreadable_throwsIOExceptionNamingFile() + throws Exception { + Path certPath = copyResource("agent/agent_spiffe_cert.pem", tempDir.resolve("cert.pem")); + Path keyPath = copyResource("agent/agent_spiffe_key.pem", tempDir.resolve("key.pem")); + Path configFile = tempDir.resolve("config.json"); + writeWorkloadConfig(configFile, certPath, keyPath); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, configFile.toString()); + makeUnreadable(certPath); + + IOException e = assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertTrue(e.getMessage().contains(certPath.toAbsolutePath().toString())); + } + + @Test + public void getAgentIdentityCertInfo_configInWellKnownDirMissingKeyPath_failsWithoutPolling() + throws Exception { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + Path certPath = + copyResource("agent/agent_spiffe_cert.pem", tempDir.resolve("certificates.pem")); + Path configFile = tempDir.resolve("config.json"); + writeWorkloadConfig(configFile, certPath, null); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, configFile.toString()); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_configInWellKnownDirMissingCertPath_failsWithoutPolling() + throws Exception { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + Path keyPath = copyResource("agent/agent_spiffe_key.pem", tempDir.resolve("private_key.pem")); + Path configFile = tempDir.resolve("config.json"); + writeWorkloadConfig(configFile, null, keyPath); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, configFile.toString()); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void verifyKeyPair_ecdsaLabelledEcPublicKey_returnsTrue() throws Exception { + KeyPairGenerator kpg = KeyPairGenerator.getInstance("EC"); + kpg.initialize(256); + KeyPair keyPair = kpg.generateKeyPair(); + X509Certificate cert = mock(X509Certificate.class); + when(cert.getPublicKey()) + .thenReturn(new EcdsaLabelledPublicKey((ECPublicKey) keyPair.getPublic())); + + assertTrue(AgentIdentityCertificateValidationUtils.verifyKeyPair(cert, keyPair.getPrivate())); + } + + @Test + public void getAgentIdentityCertInfo_unsupportedKeyAlgorithm_failsWithoutRetry() + throws Exception { + Path certPath = copyResource("agent/agent_spiffe_dsa_cert.pem", tempDir.resolve("cert.pem")); + Path keyPath = copyResource("agent/agent_spiffe_key.pem", tempDir.resolve("key.pem")); + Path configFile = tempDir.resolve("config.json"); + writeWorkloadConfig(configFile, certPath, keyPath); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, configFile.toString()); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + IOException e = assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertTrue(e.getMessage().contains("Unsupported key algorithm: DSA")); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_mtlsDisabled_doesNotReReadConfigOnLaterRefreshes() + throws Exception { + Path certPath = copyResource("agent/agent_spiffe_cert.pem", tempDir.resolve("cert.pem")); + Path keyPath = copyResource("agent/agent_spiffe_key.pem", tempDir.resolve("key.pem")); + Path configFile = tempDir.resolve("config.json"); + writeWorkloadConfig(configFile, certPath, keyPath); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, configFile.toString()); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_USE_CLIENT_CERTIFICATE, "false"); + AtomicInteger configLookups = new AtomicInteger(); + AgentIdentityUtils.setEnvironmentProvider( + name -> { + if (AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG.equals(name)) { + configLookups.incrementAndGet(); + } + return envProvider.getEnv(name); + }); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertTrue(configLookups.get() > 0); + assertTrue(AgentIdentityUtils.isMtlsDisabledLogged()); + + configLookups.set(0); + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertEquals(0, configLookups.get()); + } + + @Test + public void getAgentIdentityCertInfo_mtlsDisabledWithCachedNonAgentCert_doesNotLogDisabled() + throws Exception { + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_USE_CLIENT_CERTIFICATE, "false"); + assertNull( + AgentIdentityUtils.loadAndVerifyCredentials( + resourcePath("x509_leaf_certificate.pem"), null)); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertFalse(AgentIdentityUtils.isMtlsDisabledLogged()); + } + + @Test + public void loadAndVerifyCredentials_multiCertChainResource_retainsEntireChainAndParsesLeaf() + throws Exception { + String chainPath = resourcePath("agent/agent_spiffe_cert_chain.pem"); + String keyPath = resourcePath("agent/agent_spiffe_key.pem"); + String leafPem = + new String( + Files.readAllBytes(Paths.get(resourcePath("agent/agent_spiffe_cert.pem"))), + StandardCharsets.UTF_8); + String intermediatePem = + new String( + Files.readAllBytes(Paths.get(resourcePath("x509_leaf_certificate.pem"))), + StandardCharsets.UTF_8); + + AgentIdentityUtils.CertInfo info = + AgentIdentityUtils.loadAndVerifyCredentials(chainPath, keyPath); + assertNotNull(info); + assertTrue( + AgentIdentityCertificateValidationUtils.shouldRequestBoundToken(info.getCertificate())); + assertTrue(info.getCertContent().contains(leafPem.trim())); + assertTrue(info.getCertContent().contains(intermediatePem.trim())); + } + + @Test + public void getAgentIdentityCertInfo_malformedCertificateContent_failsWithoutRetry() + throws Exception { + Path certPath = tempDir.resolve("malformed_cert.pem"); + String malformedCertPem = + "-----BEGIN CERTIFICATE-----\n" + + "bm90LWEtdmFsaWQteDUwOS1jZXJ0aWZpY2F0ZQ==\n" + + "-----END CERTIFICATE-----\n"; + Files.write(certPath, malformedCertPem.getBytes(StandardCharsets.UTF_8)); + Path keyPath = copyResource("agent/agent_spiffe_key.pem", tempDir.resolve("key.pem")); + Path configFile = tempDir.resolve("config.json"); + writeWorkloadConfig(configFile, certPath, keyPath); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, configFile.toString()); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + AgentIdentityCertificateValidationUtils.InvalidCertificateException e = + assertThrows( + AgentIdentityCertificateValidationUtils.InvalidCertificateException.class, + AgentIdentityUtils::getAgentIdentityCertInfo); + assertTrue( + e.getMessage() + .contains("Failed to parse Agent Identity certificate for bound token request.")); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void verifyKeyPair_unsupportedKeyAlgorithm_throwsUnsupportedKeyAlgorithmException() + throws Exception { + KeyPairGenerator kpg = KeyPairGenerator.getInstance("DSA"); + kpg.initialize(1024); + KeyPair keyPair = kpg.generateKeyPair(); + X509Certificate cert = mock(X509Certificate.class); + when(cert.getPublicKey()).thenReturn(keyPair.getPublic()); + + AgentIdentityCertificateValidationUtils.UnsupportedKeyAlgorithmException e = + assertThrows( + AgentIdentityCertificateValidationUtils.UnsupportedKeyAlgorithmException.class, + () -> + AgentIdentityCertificateValidationUtils.verifyKeyPair(cert, keyPair.getPrivate())); + assertTrue(e.getMessage().contains("Unsupported key algorithm: DSA")); + } + + private String resourcePath(String resource) throws Exception { + URL url = getClass().getClassLoader().getResource(resource); + assertNotNull(url, "Test resource " + resource + " not found"); + return Paths.get(url.toURI()).toAbsolutePath().toString(); + } + + private Path copyResource(String resource, Path target) throws Exception { + Files.copy(Paths.get(resourcePath(resource)), target, StandardCopyOption.REPLACE_EXISTING); + return target; + } + + /** Writes a workload certificate config; a null path omits that field. */ + private static void writeWorkloadConfig(Path configFile, Path certPath, Path keyPath) + throws IOException { + List fields = new ArrayList<>(); + if (certPath != null) { + fields.add("\"cert_path\": \"" + jsonPath(certPath) + "\""); + } + if (keyPath != null) { + fields.add("\"key_path\": \"" + jsonPath(keyPath) + "\""); + } + String json = "{ \"cert_configs\": { \"workload\": { " + String.join(", ", fields) + " } } }"; + Files.write(configFile, json.getBytes(StandardCharsets.UTF_8)); + } + + private static String jsonPath(Path path) { + return path.toAbsolutePath().toString().replace("\\", "\\\\"); + } + + private static String mismatchedRsaKeyPem() throws Exception { + KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); + kpg.initialize(2048); + PrivateKey key = kpg.generateKeyPair().getPrivate(); + return "-----BEGIN PRIVATE KEY-----\n" + + java.util.Base64.getEncoder().encodeToString(key.getEncoded()) + + "\n-----END PRIVATE KEY-----\n"; + } + + /** Removes all permissions; skips the test where that can't make the file unreadable. */ + private static void makeUnreadable(Path path) throws IOException { + Assumptions.assumeTrue( + FileSystems.getDefault().supportedFileAttributeViews().contains("posix"), + "POSIX file permissions are required"); + Files.setPosixFilePermissions(path, PosixFilePermissions.fromString("---------")); + Assumptions.assumeFalse(Files.isReadable(path), "Current user can read any file (e.g. root)"); + } + + /** An EC public key that reports "ECDSA" as its algorithm, as some providers do. */ + private static final class EcdsaLabelledPublicKey implements ECPublicKey { + private static final long serialVersionUID = 1L; + private final ECPublicKey delegate; + + EcdsaLabelledPublicKey(ECPublicKey delegate) { + this.delegate = delegate; + } + + @Override + public String getAlgorithm() { + return "ECDSA"; + } + + @Override + public String getFormat() { + return delegate.getFormat(); + } + + @Override + public byte[] getEncoded() { + return delegate.getEncoded(); + } + + @Override + public ECPoint getW() { + return delegate.getW(); + } + + @Override + public ECParameterSpec getParams() { + return delegate.getParams(); + } + } + + private static class FakeTimeService implements AgentIdentityUtils.TimeService { + private final AtomicLong currentTime = new AtomicLong(0); + private final AtomicInteger sleepCount = new AtomicInteger(0); + private Runnable onSleepCallback; + + void setOnSleepCallback(Runnable callback) { + this.onSleepCallback = callback; + } + + public long currentTimeMillis() { + return currentTime.get(); + } + + @Override + public void sleep(long millis) throws InterruptedException { + sleepCount.incrementAndGet(); + currentTime.addAndGet(millis); + if (onSleepCallback != null) { + onSleepCallback.run(); + } + } + + int getSleepCount() { + return sleepCount.get(); + } + } +} diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ComputeEngineCredentialsTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ComputeEngineCredentialsTest.java index 17184032e94a..9d3e0f6d2b11 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ComputeEngineCredentialsTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ComputeEngineCredentialsTest.java @@ -48,6 +48,7 @@ import com.google.api.client.http.HttpTransport; import com.google.api.client.http.LowLevelHttpRequest; import com.google.api.client.http.LowLevelHttpResponse; +import com.google.api.client.json.GenericJson; import com.google.api.client.json.webtoken.JsonWebToken.Payload; import com.google.api.client.testing.http.MockLowLevelHttpRequest; import com.google.api.client.testing.http.MockLowLevelHttpResponse; @@ -64,24 +65,54 @@ import java.io.IOException; import java.io.InputStream; import java.net.URI; +import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; import java.util.ArrayDeque; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Queue; import java.util.stream.Collectors; import java.util.stream.IntStream; import java.util.stream.Stream; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; /** Test case for {@link ComputeEngineCredentials}. */ class ComputeEngineCredentialsTest extends BaseSerializationTest { private static final URI CALL_URI = URI.create("http://googleapis.com/testapi/v1/foo"); + private TestEnvironmentProvider envProvider; + @TempDir private Path tempDir; + + @BeforeEach + void setUp() throws IOException { + envProvider = new TestEnvironmentProvider(); + // Inject our test environment provider into AgentIdentityUtils + AgentIdentityUtils.setEnvironmentProvider(envProvider); + + // Speed up polling in tests by using a no-op sleep service + AgentIdentityUtils.setTimeService(millis -> {}); + // Opt out of bound tokens by default in tests to avoid polling delays + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "false"); + } + + @AfterEach + void tearDown() { + // Reset the mocks + AgentIdentityUtils.resetForTest(); + } + private static final String TOKEN_URL = "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token"; @@ -496,7 +527,8 @@ void toString_explicit_containsFields() { new MockMetadataServerTransportFactory(); String expectedToString = String.format( - "ComputeEngineCredentials{quotaProjectId=%s, universeDomain=%s, isExplicitUniverseDomain=%s, transportFactoryClassName=%s, scopes=%s}", + "ComputeEngineCredentials{quotaProjectId=%s, universeDomain=%s," + + " isExplicitUniverseDomain=%s, transportFactoryClassName=%s, scopes=%s}", "some-project", "some-domain", true, @@ -1236,6 +1268,154 @@ InputStream readStream(File file) throws FileNotFoundException { assertEquals(1, transportFactory.transport.getRequestCount()); } + @Test + void refreshAccessToken_agentConfigMissingFile_throws() throws IOException { + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "true"); + envProvider.setEnv( + AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, + tempDir.resolve("missing_config.json").toAbsolutePath().toString()); + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + AgentIdentityUtils.setTimeService(millis -> {}); + MockMetadataServerTransportFactory transportFactory = new MockMetadataServerTransportFactory(); + transportFactory.transport.setServiceAccountEmail(SA_CLIENT_EMAIL); + ComputeEngineCredentials credentials = + ComputeEngineCredentials.newBuilder().setHttpTransportFactory(transportFactory).build(); + IOException e = assertThrows(IOException.class, credentials::refreshAccessToken); + assertTrue( + e.getMessage() + .contains( + "Unable to find Agent Identity certificate config or file for bound token request" + + " after multiple retries.")); + } + + private void setupCertAndKeyConfig() throws IOException { + Path certSource = null; + try { + certSource = + Paths.get( + ComputeEngineCredentialsTest.class + .getResource("/agent/agent_spiffe_cert.pem") + .toURI()); + } catch (URISyntaxException e) { + throw new IOException("Failed to load test resource", e); + } + Path certTarget = tempDir.resolve("certificates.pem"); + Files.copy(certSource, certTarget, StandardCopyOption.REPLACE_EXISTING); + + Path keySource = null; + try { + keySource = + Paths.get( + ComputeEngineCredentialsTest.class + .getResource("/agent/agent_spiffe_key.pem") + .toURI()); + } catch (URISyntaxException e) { + throw new IOException("Failed to load test resource", e); + } + Path keyTarget = tempDir.resolve("private_key.pem"); + Files.copy(keySource, keyTarget, StandardCopyOption.REPLACE_EXISTING); + + Path configPath = tempDir.resolve("config.json"); + Map workload = new HashMap<>(); + workload.put("cert_path", certTarget.toAbsolutePath().toString()); + workload.put("key_path", keyTarget.toAbsolutePath().toString()); + + Map certConfigs = new HashMap<>(); + certConfigs.put("workload", workload); + + Map config = new HashMap<>(); + config.put("cert_configs", certConfigs); + + String configContent = OAuth2Utils.JSON_FACTORY.toString(config); + Files.write(configPath, configContent.getBytes(StandardCharsets.UTF_8)); + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", configPath.toAbsolutePath().toString()); + } + + @Test + void refreshAccessToken_withValidCertAndKey_requestsBoundToken() throws IOException { + setupCertAndKeyConfig(); + envProvider.setEnv( + AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "true"); // Enable bound token + MockMetadataServerTransportFactory transportFactory = new MockMetadataServerTransportFactory(); + transportFactory.transport.setServiceAccountEmail(SA_CLIENT_EMAIL); + + ComputeEngineCredentials credentials = + ComputeEngineCredentials.newBuilder() + .setHttpTransportFactory(transportFactory) + .setScopes(SCOPES) + .build(); + AccessToken token = credentials.refreshAccessToken(); + + assertNotNull(token); + MockLowLevelHttpRequest request = transportFactory.transport.getRequest(); + assertEquals("POST", transportFactory.transport.getRequestMethod()); + assertEquals("application/json", request.getContentType()); + assertTrue(request.getUrl().contains("scopes=foo,bar")); + String body = request.getContentAsString(); + GenericJson bodyJson = OAuth2Utils.JSON_FACTORY.fromString(body, GenericJson.class); + String expectedCert = + new String(Files.readAllBytes(tempDir.resolve("certificates.pem")), StandardCharsets.UTF_8) + .trim(); + assertEquals(expectedCert, ((String) bodyJson.get("certificate_chain")).trim()); + } + + @Test + void idTokenWithAudience_withValidCertAndKey_requestsBoundToken() throws IOException { + setupCertAndKeyConfig(); + envProvider.setEnv( + AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "true"); // Enable bound token + MockMetadataServerTransportFactory transportFactory = new MockMetadataServerTransportFactory(); + transportFactory.transport.setServiceAccountEmail(SA_CLIENT_EMAIL); + transportFactory.transport.setIdToken(STANDARD_ID_TOKEN); + + ComputeEngineCredentials credentials = + ComputeEngineCredentials.newBuilder().setHttpTransportFactory(transportFactory).build(); + IdToken token = credentials.idTokenWithAudience("https://foo.bar", null); + + assertNotNull(token); + MockLowLevelHttpRequest request = transportFactory.transport.getRequest(); + assertEquals("POST", transportFactory.transport.getRequestMethod()); + assertEquals("application/json", request.getContentType()); + assertTrue(request.getUrl().contains("audience=https://foo.bar")); + assertTrue(request.getUrl().contains("format=full")); + String body = request.getContentAsString(); + GenericJson bodyJson = OAuth2Utils.JSON_FACTORY.fromString(body, GenericJson.class); + String expectedCert = + new String(Files.readAllBytes(tempDir.resolve("certificates.pem")), StandardCharsets.UTF_8) + .trim(); + assertEquals(expectedCert, ((String) bodyJson.get("certificate_chain")).trim()); + } + + @Test + void refreshAccessToken_boundToken404_throwsEndpointDoesNotSupportBoundTokensMessage() + throws IOException { + setupCertAndKeyConfig(); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "true"); + MockMetadataServerTransportFactory transportFactory = new MockMetadataServerTransportFactory(); + transportFactory.transport.setStatusCode(HttpStatusCodes.STATUS_CODE_NOT_FOUND); + + ComputeEngineCredentials credentials = + ComputeEngineCredentials.newBuilder().setHttpTransportFactory(transportFactory).build(); + IOException e = assertThrows(IOException.class, credentials::refreshAccessToken); + assertTrue(e.getMessage().contains("does not support bound tokens")); + } + + @Test + void idTokenWithAudience_boundToken404_throwsEndpointDoesNotSupportBoundTokensMessage() + throws IOException { + setupCertAndKeyConfig(); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "true"); + MockMetadataServerTransportFactory transportFactory = new MockMetadataServerTransportFactory(); + transportFactory.transport.setStatusCode(HttpStatusCodes.STATUS_CODE_NOT_FOUND); + + ComputeEngineCredentials credentials = + ComputeEngineCredentials.newBuilder().setHttpTransportFactory(transportFactory).build(); + IOException e = + assertThrows( + IOException.class, () -> credentials.idTokenWithAudience("https://foo.bar", null)); + assertTrue(e.getMessage().contains("does not support bound tokens")); + } + static class MockMetadataServerTransportFactory implements HttpTransportFactory { MockMetadataServerTransport transport = diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/DefaultCredentialsProviderTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/DefaultCredentialsProviderTest.java index dbfb70ea0038..34487c285a3c 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/DefaultCredentialsProviderTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/DefaultCredentialsProviderTest.java @@ -67,11 +67,31 @@ import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; /** Test case for {@link DefaultCredentialsProvider}. */ class DefaultCredentialsProviderTest { + @BeforeEach + void setUp() { + // Isolate tests and opt out of bound tokens by default to avoid polling delays + AgentIdentityUtils.setEnvironmentProvider( + name -> { + if (AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN.equals(name)) { + return "false"; // Triggers isTokenBindingEnabled() = false + } + return null; + }); + } + + @AfterEach + void tearDown() { + // Reset to default behavior. + AgentIdentityUtils.resetForTest(); + } + private static final String USER_CLIENT_SECRET = "jakuaL9YyieakhECKL2SwZcu"; private static final String USER_CLIENT_ID = "ya29.1.AADtN_UtlxN3PuGAxrN2XQnZTVRvDyVWnYq4I6dws"; private static final String GCLOUDSDK_CLIENT_ID = diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/IdTokenCredentialsTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/IdTokenCredentialsTest.java index e3dcec4b520c..07a71cca1a54 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/IdTokenCredentialsTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/IdTokenCredentialsTest.java @@ -34,11 +34,27 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.IOException; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; /** Test case for {@link IdTokenCredentials}. */ class IdTokenCredentialsTest extends BaseSerializationTest { + private TestEnvironmentProvider envProvider; + + @BeforeEach + void setUp() { + envProvider = new TestEnvironmentProvider(); + AgentIdentityUtils.setEnvironmentProvider(envProvider); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "false"); + } + + @AfterEach + void tearDown() { + AgentIdentityUtils.resetForTest(); + } + @Test void hashCode_equals() throws IOException { ComputeEngineCredentialsTest.MockMetadataServerTransportFactory transportFactory = diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/LoggingTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/LoggingTest.java index 524a312ce0c1..34e66daace9c 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/LoggingTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/LoggingTest.java @@ -62,10 +62,14 @@ import com.google.gson.JsonParser; import com.google.gson.JsonSyntaxException; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -78,11 +82,39 @@ */ class LoggingTest { + @BeforeEach + void disableBoundTokensByDefault() { + // Opt out of bound tokens by default to avoid polling delays + AgentIdentityUtils.setEnvironmentProvider( + name -> { + if (AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN.equals(name)) { + return "false"; + } + return null; + }); + } + + private final List modifiedLoggers = new ArrayList<>(); + private final List addedAppenders = new ArrayList<>(); + + @AfterEach + void tearDown() { + AgentIdentityUtils.resetForTest(); + for (int i = 0; i < modifiedLoggers.size(); i++) { + modifiedLoggers.get(i).detachAppender(addedAppenders.get(i)); + } + modifiedLoggers.clear(); + addedAppenders.clear(); + } + private TestAppender setupTestLogger(Class clazz) { TestAppender testAppender = new TestAppender(); testAppender.start(); - Logger logger = LoggerFactory.getLogger(clazz); - ((ch.qos.logback.classic.Logger) logger).addAppender(testAppender); + ch.qos.logback.classic.Logger logger = + (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(clazz); + logger.addAppender(testAppender); + modifiedLoggers.add(logger); + addedAppenders.add(testAppender); return testAppender; } @@ -94,6 +126,11 @@ static void setup() { LoggingUtils.setEnvironmentProvider(testEnvironmentProvider); } + @AfterAll + static void tearDownAll() { + LoggingUtils.setEnvironmentProvider(SystemEnvironmentProvider.getInstance()); + } + @Test void userCredentials_getRequestMetadata_fromRefreshToken_hasAccessToken() throws IOException { TestAppender testAppender = setupTestLogger(UserCredentials.class); diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/MockMetadataServerTransport.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/MockMetadataServerTransport.java index 369ea35b857c..1f8878587c88 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/MockMetadataServerTransport.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/MockMetadataServerTransport.java @@ -72,6 +72,7 @@ public class MockMetadataServerTransport extends MockHttpTransport { private boolean emptyContent; private MockLowLevelHttpRequest request; private int requestCount = 0; + private String requestMethod; public int getRequestCount() { return requestCount; @@ -128,9 +129,14 @@ public MockLowLevelHttpRequest getRequest() { return request; } + public String getRequestMethod() { + return requestMethod; + } + @Override public LowLevelHttpRequest buildRequest(String method, String url) throws IOException { requestCount++; + this.requestMethod = method; if (url.startsWith(ComputeEngineCredentials.getTokenServerEncodedUrl())) { this.request = getMockRequestForTokenEndpoint(url); return this.request; diff --git a/google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_cert.pem b/google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_cert.pem new file mode 100644 index 000000000000..885ecec9b6cf --- /dev/null +++ b/google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_cert.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUb5t9VPgT3uTrj+z47BfU8xF6sFowDQYJKoZIhvcNAQEL +BQAwIjEgMB4GA1UEAwwXVGVzdCBTUElGRkUgQ2VydGlmaWNhdGUwHhcNMjYwNTEx +MjMyODU3WhcNMzYwNTA4MjMyODU3WjAiMSAwHgYDVQQDDBdUZXN0IFNQSUZGRSBD +ZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJlPtSAh +hYqci8YJaPlgZWUbup4q/TGuaLdR/zWpFCevAQW7/hq29LT8WsoyuirSlbJg67io +PPuNp98e614L/88jP3wMeSuBSXGMyeExrMQ35ZbrnmD268Fl/jEZXPujmeFWmRoy +miKSkNvYLvkN0fiooyFYZdNG0/f6zT+dwJqoOYgeBl9XXDf5QjnQbhQXFQJIbxfQ +TTaGFtEXXwKCs9cd5EvwbiDuaM+F2O7txkaD4r+77AjsXWUFkBBbSUzs2b3ujZot +ZqwNCeeGML/G+5TQj3UExTtDzYpjvncEuqdomFraqXy6DmyELhyChugsz5rGx5Vt +aP3RvDkpLwUxjWcCAwEAAaOBnzCBnDAdBgNVHQ4EFgQUoS1OUx9a1hBHt0tHAefV +7QQ3JYswHwYDVR0jBBgwFoAUoS1OUx9a1hBHt0tHAefV7QQ3JYswDwYDVR0TAQH/ +BAUwAwEB/zBJBgNVHREEQjBAhj5zcGlmZmU6Ly9hZ2VudHMuZ2xvYmFsLnByb2ot +MTIzNDUuc3lzdGVtLmlkLmdvb2cvdGVzdC13b3JrbG9hZDANBgkqhkiG9w0BAQsF +AAOCAQEAfCrNuLFIlpvtDpBKD8lxj2vF4/6fbLhl/5YGGFf2uydaWLr2hTmLFrer +fzGf04hPD5UJTms0ZlvHTvapm1IikxKhkmp8GOlMvKWl/EwIDaJyJ8EaYCpkrTNs +pLR/ujgeSKnIHgm2Oql7HZxB1T25teFcLIIMd0zs69h/Sxejw+OTKnwb7san1qSy +uNvXVDPNFrGyjvBXAVyjyvs3Adz/A+GYhyaP31s+3qGUUR4/axv0M8pUVmK6D8lU +5TkO7smVELt51xaq77Nvv1r5FasJkF5CrnqwAjq1QfVJpDsuTCEriUXguxaXFbzM +Qfw7TEXp3xPVinhkDjlRfiGg6hIvNw== +-----END CERTIFICATE----- diff --git a/google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_cert_chain.pem b/google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_cert_chain.pem new file mode 100644 index 000000000000..2673b40653b7 --- /dev/null +++ b/google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_cert_chain.pem @@ -0,0 +1,40 @@ +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUb5t9VPgT3uTrj+z47BfU8xF6sFowDQYJKoZIhvcNAQEL +BQAwIjEgMB4GA1UEAwwXVGVzdCBTUElGRkUgQ2VydGlmaWNhdGUwHhcNMjYwNTEx +MjMyODU3WhcNMzYwNTA4MjMyODU3WjAiMSAwHgYDVQQDDBdUZXN0IFNQSUZGRSBD +ZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJlPtSAh +hYqci8YJaPlgZWUbup4q/TGuaLdR/zWpFCevAQW7/hq29LT8WsoyuirSlbJg67io +PPuNp98e614L/88jP3wMeSuBSXGMyeExrMQ35ZbrnmD268Fl/jEZXPujmeFWmRoy +miKSkNvYLvkN0fiooyFYZdNG0/f6zT+dwJqoOYgeBl9XXDf5QjnQbhQXFQJIbxfQ +TTaGFtEXXwKCs9cd5EvwbiDuaM+F2O7txkaD4r+77AjsXWUFkBBbSUzs2b3ujZot +ZqwNCeeGML/G+5TQj3UExTtDzYpjvncEuqdomFraqXy6DmyELhyChugsz5rGx5Vt +aP3RvDkpLwUxjWcCAwEAAaOBnzCBnDAdBgNVHQ4EFgQUoS1OUx9a1hBHt0tHAefV +7QQ3JYswHwYDVR0jBBgwFoAUoS1OUx9a1hBHt0tHAefV7QQ3JYswDwYDVR0TAQH/ +BAUwAwEB/zBJBgNVHREEQjBAhj5zcGlmZmU6Ly9hZ2VudHMuZ2xvYmFsLnByb2ot +MTIzNDUuc3lzdGVtLmlkLmdvb2cvdGVzdC13b3JrbG9hZDANBgkqhkiG9w0BAQsF +AAOCAQEAfCrNuLFIlpvtDpBKD8lxj2vF4/6fbLhl/5YGGFf2uydaWLr2hTmLFrer +fzGf04hPD5UJTms0ZlvHTvapm1IikxKhkmp8GOlMvKWl/EwIDaJyJ8EaYCpkrTNs +pLR/ujgeSKnIHgm2Oql7HZxB1T25teFcLIIMd0zs69h/Sxejw+OTKnwb7san1qSy +uNvXVDPNFrGyjvBXAVyjyvs3Adz/A+GYhyaP31s+3qGUUR4/axv0M8pUVmK6D8lU +5TkO7smVELt51xaq77Nvv1r5FasJkF5CrnqwAjq1QfVJpDsuTCEriUXguxaXFbzM +Qfw7TEXp3xPVinhkDjlRfiGg6hIvNw== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIDIzCCAgugAwIBAgIJAMfISuBQ5m+5MA0GCSqGSIb3DQEBBQUAMBUxEzARBgNV +BAMTCnVuaXQtdGVzdHMwHhcNMTExMjA2MTYyNjAyWhcNMjExMjAzMTYyNjAyWjAV +MRMwEQYDVQQDEwp1bml0LXRlc3RzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA4ej0p7bQ7L/r4rVGUz9RN4VQWoej1Bg1mYWIDYslvKrk1gpj7wZgkdmM +7oVK2OfgrSj/FCTkInKPqaCR0gD7K80q+mLBrN3PUkDrJQZpvRZIff3/xmVU1Wer +uQLFJjnFb2dqu0s/FY/2kWiJtBCakXvXEOb7zfbINuayL+MSsCGSdVYsSliS5qQp +gyDap+8b5fpXZVJkq92hrcNtbkg7hCYUJczt8n9hcCTJCfUpApvaFQ18pe+zpyl4 ++WzkP66I28hniMQyUlA1hBiskT7qiouq0m8IOodhv2fagSZKjOTTU2xkSBc//fy3 +ZpsL7WqgsZS7Q+0VRK8gKfqkxg5OYQIDAQABo3YwdDAdBgNVHQ4EFgQU2RQ8yO+O +gN8oVW2SW7RLrfYd9jEwRQYDVR0jBD4wPIAU2RQ8yO+OgN8oVW2SW7RLrfYd9jGh +GaQXMBUxEzARBgNVBAMTCnVuaXQtdGVzdHOCCQDHyErgUOZvuTAMBgNVHRMEBTAD +AQH/MA0GCSqGSIb3DQEBBQUAA4IBAQBRv+M/6+FiVu7KXNjFI5pSN17OcW5QUtPr +odJMlWrJBtynn/TA1oJlYu3yV5clc/71Vr/AxuX5xGP+IXL32YDF9lTUJXG/uUGk ++JETpKmQviPbRsvzYhz4pf6ZIOZMc3/GIcNq92ECbseGO+yAgyWUVKMmZM0HqXC9 +ovNslqe0M8C1sLm1zAR5z/h/litE7/8O2ietija3Q/qtl2TOXJdCA6sgjJX2WUql +ybrC55ct18NKf3qhpcEkGQvFU40rVYApJpi98DiZPYFdx1oBDp/f4uZ3ojpxRVFT +cDwcJLfNRCPUhormsY7fDS9xSyThiHsW9mjJYdcaKQkwYZ0F11yB +-----END CERTIFICATE----- diff --git a/google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_dsa_cert.pem b/google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_dsa_cert.pem new file mode 100644 index 000000000000..c265daf51152 --- /dev/null +++ b/google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_dsa_cert.pem @@ -0,0 +1,28 @@ +-----BEGIN CERTIFICATE----- +MIIE0zCCBICgAwIBAgIUWCi6wrWkagd68xNCmHNvDFP1wM4wCwYJYIZIAWUDBAMC +MCYxJDAiBgNVBAMMG1Rlc3QgU1BJRkZFIERTQSBDZXJ0aWZpY2F0ZTAeFw0yNjA5 +MjYwMzU1NTJaFw0zNjA5MjMwMzU1NTJaMCYxJDAiBgNVBAMMG1Rlc3QgU1BJRkZF +IERTQSBDZXJ0aWZpY2F0ZTCCA0IwggI1BgcqhkjOOAQBMIICKAKCAQEAi8+zfl/M +BnfjpGEB/+d1yzOepM7URTjVENircKJMMWm4WVvbdC86oaGsLjzWF+s7EKE5p3it +J9Yq3gUT+y7iOBrQRTJWecaiXCzuaVZi6gufk5wNd0jMpEcc6xySB9+a0RgfXldW +O7ROCQpK84zPoCLwmK8JsE3Bor6ccIaf29/mZNZdFYKDGei87Zkw8894EI1gRiLV +BoB01ZGGzyHRVi70U7SBD7YV0pHqa4sIYFLy6NrBBJz2IMG0vNVDcobfJt8W5NzN +3xbSjE00Ek5/L7jSI8KhPabfAV9cdTmWgt8xhjHs4MVSGMOBXPhYLfdumRdgeYke +dmthW+qAvknbywIdAK5lwn3zIMn65pIbME54vAf+yypNgDRleJ7KzA0CggEATbWw +qeqLhsIUB1ZXHdpIi5T1Fq4mu1DbI0fPlivw8wrodIJXUMVEeyH4rohoJ83c9uEw +5G7LOwfFaNkoUvSqg4tZ2+2v6wYgDnDbs9mXwsDtguxfy2+H6wQo+v+At8BTTaay +IrcXsZsFv/tCmeylulRBCzMAaUvUhcoyhFlaQ91pJPHpkiCX/u4gxbsdBwZIe8Fu +lnz0xi4NBCIH4BjAPaEiEylwZmWS+C9TDfvFp4Tm3IAnevoMnxcF4UC2UK5vYbef +Rayf2sXVeMfEgDRfPkbCENTzysZIM2raKyA05h9+4x9YaiLemM37j3eML8kEwF+x +QZKKzp6YWJabqSylEQOCAQUAAoIBABZax0scLZq7/55jGT49ku36f4XRqH75gsUg +++UFZBbjdOeUKm6i/qNHTYABmDL1LGYnjxTbUFankhnYM4wpPvTFS9/NPYLuwkdi +A3wRHro/18BlZqS+ugTDz5+5PpAG8qVOOktHAPs6V/0fb0XPtoA3IMr1/RNVu/1E +kKEs80pjd9gme7XjGRDNUCuo51EXinuMTbfuwa2Y37dDkp7+W6gtkDr0JiNgY+Od +ga6gVhxREA3qnTjrWlBmUy+1/LQLIqU4DGza3FW2+auo7G+s4/qj78XQeHkVKgZ+ +QZYYHZ936sXCmC4aGLioUJY4eezWgZy3N4Ymoxe8+vAJiPCcF/KjgZ8wgZwwHQYD +VR0OBBYEFALBYVM0fPAA3AUku9yMCJcjAfpkMB8GA1UdIwQYMBaAFALBYVM0fPAA +3AUku9yMCJcjAfpkMA8GA1UdEwEB/wQFMAMBAf8wSQYDVR0RBEIwQIY+c3BpZmZl +Oi8vYWdlbnRzLmdsb2JhbC5wcm9qLTEyMzQ1LnN5c3RlbS5pZC5nb29nL3Rlc3Qt +d29ya2xvYWQwCwYJYIZIAWUDBAMCA0AAMD0CHG1Y0GRAhiBgo5nfdS9+0dUj8eTi +Bs+r4exRAAUCHQCP2U3KqooDvlDngASQwZPq35wrvM1Rs6Dvc9P8 +-----END CERTIFICATE----- diff --git a/google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_key.pem b/google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_key.pem new file mode 100644 index 000000000000..b136c31e3db7 --- /dev/null +++ b/google-auth-library-java/oauth2_http/testresources/agent/agent_spiffe_key.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCZT7UgIYWKnIvG +CWj5YGVlG7qeKv0xrmi3Uf81qRQnrwEFu/4atvS0/FrKMroq0pWyYOu4qDz7jaff +HuteC//PIz98DHkrgUlxjMnhMazEN+WW655g9uvBZf4xGVz7o5nhVpkaMpoikpDb +2C75DdH4qKMhWGXTRtP3+s0/ncCaqDmIHgZfV1w3+UI50G4UFxUCSG8X0E02hhbR +F18CgrPXHeRL8G4g7mjPhdju7cZGg+K/u+wI7F1lBZAQW0lM7Nm97o2aLWasDQnn +hjC/xvuU0I91BMU7Q82KY753BLqnaJha2ql8ug5shC4cgoboLM+axseVbWj90bw5 +KS8FMY1nAgMBAAECggEAA/g2Eq6bhEYr/lHL2u0kIvT2JSNGBAb/WIPLs/cWE2le +GujOGjrGskSSEaGa0JuiqAg6m9p+hCFPIyFShQOSUsNkYOqUkDJPe8+vG62xsTDx +uMsoAijsKMlI+bqtsPXm+MuWHw4Hww5nDsvI4Sz6iB6bS4E8JB2cEaDEtx/do7aq +5XHJYoy0kO/l87n1UlIq8Pi6yW36pQKKEK+Dm5q+QmgJIeNLFp0hb5r7/fLFENTD +CZO0GvMdmtTkTwyPB1mvFjP6mNNAZcO6j9eaWNCxFhPH+MNWtF+694wgPOQIFKL3 +n4FPmWUS7vGJjNI55Ff2tTHrbWcMuf4RwXbVIG+v1QKBgQDPnNEs2TRrMglFtT6J +wDbICK8AQbBAPFjtZUGxNnsCOdiprZXshZJ7Yq8lokDlsU+5l0YTzRj2v1IcEL49 +oy8WeQfbcOZTGgf+Qo50ZiLhziCqNTlxiXMp3Kg5h4cjxUz2tsF2Nmzn75411uPa +Q/SKHCzfz4uUtHJla8tHENuzdQKBgQC9CwOleHwdS5D1jzBpb/+rvc0vcyYeihZe +v2ao2ItEZZpDyZoou3HiuTe8b9jpg4iS1PtBe6ck/99dBA3CSCF6VCS+++fc+HOz +IyPZjfg8qQ/88XMIEJy8eAa2OFT/EwK3AeZvIuXVumUHI2R8AfkVB0OfjSVZ7hnI +p1ndQ09t6wKBgHDiQVHzX+8RK719SN25Z4/oOM8Y6G5k4a1iqw9iIgwZy9amjagn +EHiKNdVunX7GpCSzPeUyVWqEqG6eI/J7sfS0JjOI9ZMlykbThYWAq2K/oz8o5Wz4 +YWfXlJiDOlWWx7w1rodKHHkX7pwzlXxuCp61pyiiPrDCVJkUvViMsAipAoGAQHda +FfqhcKgNVgAvhTVBXgLKzwyYij+S41qoGppF29w+IDHG1W8epi99d1A5C2DkmRXy +XOFbHX34YNL6Ei/g4sOBCHQFHNDJO+SW3CDS73TD1AFOtghcOtU/jLJnIdkMyvXl +7C5dbGY0/5stMDDIDUi94dITU7ijqE6RkafblWMCgYEAxwFH2JJn8HyU30PVrIFh +AsviZ3BYrCbYFlkZpelCHzHc5imyR9euLwXHIPS0vTE5V8GzkPEgW3DIOFMmBwe2 +8M/jGi/RQCnD7Hh0C+Y0vtUyF8z88lvN5ac6lU9UpGVBBkd8HEsq5ukL3PlnW4B0 +uRGJOa6FU01LIEMoCL5LP28= +-----END PRIVATE KEY----- From 2d5f9ed31b4d5bd13c06009dc35b1b59658fc851 Mon Sep 17 00:00:00 2001 From: macastelaz <34776182+macastelaz@users.noreply.github.com> Date: Mon, 5 Oct 2026 22:48:49 -0500 Subject: [PATCH 03/12] feat(gax): support transparent retries during mTLS certificate rotations (#13995) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Description This PR adds transparent retries for mTLS workload certificate rotation to the gRPC and HTTP/JSON transports. When a request fails with `UNAUTHENTICATED` and the workload certificate on disk has changed, the transport is rebuilt with the new certificate and the request is retried once, without interrupting in-flight RPCs or streams. ### 🚀 Core Features & Architectural Updates • Rotation detection: `CertificateRotationTracker` compares the SHA-256 fingerprint of the workload certificate on disk with the certificate the transport was built with. The check only runs after an auth failure (never on the request path), and positive results are cached for at most 1 second so a burst of failures doesn't trigger a burst of file reads. Empty or mid-write files are ignored. • gRPC: `ChannelPool` replaces all of its channels when a rotation is detected. Calls already in flight finish on their old channels, which are shut down once idle. During a rotation refresh, a channel that can't be recreated is dropped rather than kept, so no traffic keeps using the old certificate; a statically sized pool is refilled in the background. • HTTP/JSON: `RefreshingHttpJsonChannel` swaps the channel's `HttpTransport` for one built with the new certificate. Calls already created keep using the transport they started with, so in-flight requests aren't interrupted. • Retries: `AttemptCallable` (unary) and `ServerStreamingAttemptCallable` (server streaming) refresh the transport after an `UNAUTHENTICATED` failure. If the transport moved to a new certificate during or after the attempt, the failure is flagged for a single immediate retry on the refreshed channel; its configured `isRetryable()` value is unchanged. • `ApiResultRetryAlgorithm` gives that retry once, immediately, without using a regular attempt. • If the free retry also fails after another rotation, the call stops instead of falling back to backoff retries. • For server streams, the free retry becomes available again once the stream has made progress, and the stream resumes through the existing resumption strategy. • Client and bidi streams refresh the transport on `UNAUTHENTICATED` but don't retry; the next stream uses the new certificate. • Plumbing: `TransportChannel` gains `shouldRefresh()`, `refresh()` and `getGeneration()`, which default to no-ops. `ApiCallContext.getTransportChannel()` gives retrying callables access to the channel, and `GrpcCallContext` / `HttpJsonCallContext` carry it through `merge()` and `withChannel()`. ### 🔒 System Hardening & Bug Fixes • Outstanding RPC leak (`ChannelPool.ReleasingClientCall`): if a call was cancelled before `start()`, `start()` threw without releasing the channel entry, leaving the channel with a permanently outstanding RPC count so it could never be cleaned up after a refresh. The entry is now released on that path and on cancellation before start. • HTTP/JSON refresh vs. shutdown: `shutdown()` / `shutdownNow()` are serialized with `refresh()` so a transport swap can't race with teardown. ### ⚠️ Behavioral & Security Boundary Changes * mTLS is enabled automatically when a workload certificate config is present (`MtlsUtils`, auth library): * When `GOOGLE_API_CERTIFICATE_CONFIG`, or the default gcloud `certificate_config.json`, contains a `workload` certificate, client certificates are used even if `GOOGLE_API_USE_CLIENT_CERTIFICATE` is unset. * `GOOGLE_API_USE_CLIENT_CERTIFICATE=false` still turns mTLS off. * mTLS misconfiguration now fails closed (`MtlsUtils`): * Previously, an invalid explicit config was swallowed and the client silently connected without mTLS. * Now client creation throws `IllegalStateException` in these cases: * the explicit `GOOGLE_API_CERTIFICATE_CONFIG` file is missing, unreadable or malformed; * the default config file exists but is unreadable or malformed; * a configured certificate or key file can't be read. * When mTLS is required but the transport can't load the client certificate, gRPC and HTTP/JSON channel creation fails with an `IOException` instead of falling back to a non-mTLS connection. ### 🧪 Testing #### Automated Testing • Added and updated comprehensive unit-tests reflecting the thread-safety fixes inside ChannelPoolTest.java and RefreshingHttpJsonChannelTest.java. • Corrected edge case test configurations to leverage realistic mocked X.509 certificates to properly exercise deep WorkloadCertificateUtils. getCertificateFingerprint() filesystem caching mechanisms. #### Manual Testing End-to-end tests with real generated GAPIC clients against local mTLS servers, run on this PR's head. Each scenario runs in its own JVM and checks the exact sequence of client certificates and outcomes the server saw. * **Setup** * Clients: `KeyManagementServiceClient` over gRPC and HTTP/JSON, and `GrpcBigQueryReadStub` for server-streaming `ReadRows` with offset-based resumption. * Servers: local gRPC and HTTPS servers that require a client certificate and return `UNAUTHENTICATED` / 401 for "revoked" certificates (by CN). * Rotation: the workload certificate under `GOOGLE_API_CERTIFICATE_CONFIG` is replaced by atomic rename, key first, then cert. * **gRPC unary:** * basic rotation: one rejected attempt, then a free retry on the new cert, and no extra attempts afterwards; * the server rejects every cert: one free retry, then stop; * a second rotation during the free retry: stops after 2 attempts, with no backoff retry; * UNAVAILABLE, then rotation; * corrupt cert on disk: no crash, the call fails, and the client recovers once a valid cert is written; * 20-call bursts across 2 rotations less than 1s apart: all succeed with exactly 1 refresh each; * a 3-channel pool: no stale channel after refresh; * 8 threads across 4 rotations, then `close()` with calls in flight: 70,624/70,624 calls succeeded, no hangs. * **gRPC server streaming:** * rotation before the stream starts; * rotation mid-stream: resumes at the right offset with no gaps or duplicates; * rotation retry re-armed after the stream makes progress, following an earlier UNAVAILABLE retry; * bounded: a second rotation without progress stops the stream, with no third attempt. * **HTTP/JSON:** basic rotation; reject-all; double rotation; a slow call started before rotation completes on the old cert while new calls use the new cert; corrupt cert, then restore; 8-thread stress with 4 rotations, then `close()` (49,561/49,561 calls succeeded, no hangs). The socket factory was verified for both Conscrypt and plain JDK TLS. * **No mTLS** (`GOOGLE_API_USE_CLIENT_CERTIFICATE=false`, or no certificate config): a single attempt with no client cert and no refresh, over both gRPC and HTTP/JSON, even when the cert files on disk change. * **Results:** * JDK 26 (JDK TLS): all 22 scenarios pass. * JDK 21 (Conscrypt): all gRPC, streaming and no-mTLS scenarios pass. * HTTP/JSON with mTLS and Conscrypt on TLS 1.3 fails with an existing `Unknown authType: GENERIC` handshake error, which #14556 fixes. With #14556 applied on top of this PR, all 22 scenarios pass on JDK 21 with Conscrypt active. * Harness source: https://paste.googleplex.com/6120902048219136 * Logs: https://paste.googleplex.com/5467233782988800 (this PR on JDK 26 and JDK 21), https://paste.googleplex.com/5563956459077632 (this PR + #14556 on JDK 21) --- .../java/com/google/auth/mtls/MtlsUtils.java | 180 ++- .../com/google/auth/mtls/MtlsUtilsTest.java | 495 ++++++ sdk-platform-java/gax-java/gax-grpc/pom.xml | 2 +- .../com/google/api/gax/grpc/ChannelPool.java | 422 ++++- .../google/api/gax/grpc/GrpcCallContext.java | 70 +- .../api/gax/grpc/GrpcTransportChannel.java | 26 + .../InstantiatingGrpcChannelProvider.java | 32 +- .../google/api/gax/grpc/ChannelPoolTest.java | 1371 ++++++++++++++++- .../api/gax/grpc/GrpcCallContextTest.java | 76 + .../api/gax/grpc/GrpcClientCallsTest.java | 1 + .../gax/grpc/GrpcLoggingInterceptorTest.java | 3 +- .../InstantiatingGrpcChannelProviderTest.java | 116 +- .../api/gax/httpjson/HttpJsonCallContext.java | 74 +- .../httpjson/HttpJsonTransportChannel.java | 15 + .../InstantiatingHttpJsonChannelProvider.java | 102 +- .../gax/httpjson/ManagedHttpJsonChannel.java | 80 +- .../ManagedHttpJsonInterceptorChannel.java | 39 +- .../httpjson/RefreshingHttpJsonChannel.java | 213 +++ .../gax/httpjson/HttpJsonCallContextTest.java | 65 + ...tantiatingHttpJsonChannelProviderTest.java | 372 ++++- .../RefreshingHttpJsonChannelTest.java | 607 ++++++++ .../api/gax/retrying/RetrySettings.java | 6 +- .../gax/retrying/StreamingRetryAlgorithm.java | 19 +- .../google/api/gax/rpc/ApiCallContext.java | 14 +- .../api/gax/rpc/ApiResultRetryAlgorithm.java | 71 +- .../google/api/gax/rpc/AttemptCallable.java | 43 +- .../api/gax/rpc/BidiStreamingCallable.java | 45 +- .../api/gax/rpc/ClientStreamingCallable.java | 40 +- .../rpc/ServerStreamingAttemptCallable.java | 37 + .../google/api/gax/rpc/TransportChannel.java | 26 +- .../api/gax/rpc/UnauthenticatedException.java | 49 + .../gax/rpc/mtls/CertificateBasedAccess.java | 32 +- .../rpc/mtls/CertificateRotationTracker.java | 205 +++ .../rpc/mtls/WorkloadCertificateUtils.java | 64 + .../gax/rpc/ApiResultRetryAlgorithmTest.java | 484 ++++++ .../api/gax/rpc/AttemptCallableTest.java | 391 +++++ .../api/gax/rpc/EndpointContextTest.java | 56 +- .../ServerStreamingAttemptCallableTest.java | 327 ++++ .../api/gax/rpc/StreamingCallableTest.java | 5 +- .../gax/rpc/UnauthenticatedExceptionTest.java | 183 +++ .../AbstractMtlsTransportChannelTest.java | 22 +- .../rpc/mtls/CertificateBasedAccessTest.java | 115 +- .../mtls/CertificateRotationTrackerTest.java | 345 +++++ .../api/gax/rpc/testing/FakeCallContext.java | 5 + .../api/gax/rpc/testing/FakeChannel.java | 34 +- .../gax/rpc/testing/FakeTransportChannel.java | 42 + 46 files changed, 6748 insertions(+), 273 deletions(-) create mode 100644 sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/RefreshingHttpJsonChannel.java create mode 100644 sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/RefreshingHttpJsonChannelTest.java create mode 100644 sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/CertificateRotationTracker.java create mode 100644 sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/WorkloadCertificateUtils.java create mode 100644 sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/UnauthenticatedExceptionTest.java create mode 100644 sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/mtls/CertificateRotationTrackerTest.java diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsUtils.java b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsUtils.java index a5c4c0f86e77..d46d3822f827 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsUtils.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsUtils.java @@ -34,12 +34,17 @@ import com.google.auth.oauth2.EnvironmentProvider; import com.google.auth.oauth2.PropertyProvider; import com.google.common.base.Strings; +import com.google.common.io.BaseEncoding; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.security.MessageDigest; import java.util.Locale; import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; /** * Utility class for mTLS related operations. @@ -57,6 +62,168 @@ private MtlsUtils() { // Prevent instantiation for Utility class } + /** + * Returns if mutual TLS client certificate should be used. Returns true if valid workload + * certificates are configured or if GOOGLE_API_USE_CLIENT_CERTIFICATE is explicitly set to true + * (e.g. for Enterprise Certificate Proxy or custom MtlsProviders), unless explicitly disabled via + * GOOGLE_API_USE_CLIENT_CERTIFICATE=false. + */ + public static boolean useMtlsClientCertificate( + EnvironmentProvider envProvider, PropertyProvider propProvider) { + String useClientCertificate = envProvider.getEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE"); + if ("false".equalsIgnoreCase(useClientCertificate)) { + return false; + } + if (getWorkloadCertPath(envProvider, propProvider) != null) { + return true; + } + return "true".equalsIgnoreCase(useClientCertificate); + } + + /** + * Resolves and returns the path to the mutual TLS client certificate, or null if none should be + * used. + * + *

Possible outcomes: + * + *

    + *
  1. Non-null {@link String} (Valid happy path): A valid workload certificate + * configuration was found and both the certificate and private key files exist and are + * readable. + *
  2. {@link IllegalStateException} (Invalid state - fail closed): An explicit {@code + * GOOGLE_API_CERTIFICATE_CONFIG} path or an existing default well-known certificate + * configuration file is missing, unreadable, malformed, or references missing/unreadable + * certificate or private key files. This is treated as an unrecoverable misconfiguration. + *
  3. {@code null} (Safe fallback / fail open): Client certificates are explicitly + * disabled via {@code GOOGLE_API_USE_CLIENT_CERTIFICATE=false}, no explicit configuration + * is set and the default well-known configuration file does not exist on disk, or the + * configuration specifies an non-workload source (e.g., ECP/PKCS11 without a {@code + * workload} section). Callers can proceed without workload certificate file polling. + *
+ */ + public static @Nullable String getWorkloadCertPath( + EnvironmentProvider envProvider, PropertyProvider propProvider) { + String useClientCertificate = envProvider.getEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE"); + if ("false".equalsIgnoreCase(useClientCertificate)) { + return null; + } + + String explicitConfigPath = envProvider.getEnv(CERTIFICATE_CONFIGURATION_ENV_VARIABLE); + + // 1. Explicit Configuration Path (Fail Closed) + if (!Strings.isNullOrEmpty(explicitConfigPath)) { + File configFile = new File(explicitConfigPath); + if (!configFile.exists()) { + throw new IllegalStateException( + "Certificate configuration file specified via GOOGLE_API_CERTIFICATE_CONFIG at '" + + explicitConfigPath + + "' does not exist."); + } + if (!configFile.isFile() || !configFile.canRead()) { + throw new IllegalStateException( + "Failed to read certificate configuration file specified via" + + " GOOGLE_API_CERTIFICATE_CONFIG at '" + + explicitConfigPath + + "'."); + } + WorkloadCertificateConfiguration config; + try { + config = getWorkloadCertificateConfiguration(envProvider, propProvider, explicitConfigPath); + } catch (CertificateSourceUnavailableException e) { + // ECP / PKCS11 configuration without workload section; safe fallback + return null; + } catch (Exception e) { + throw new IllegalStateException( + "Certificate configuration file specified via GOOGLE_API_CERTIFICATE_CONFIG at '" + + explicitConfigPath + + "' is malformed: " + + e.getMessage(), + e); + } + checkCertAndKeyFilesReadable(config, explicitConfigPath, false); + return config.getCertPath(); + } + + // 2. Implicit / Default gcloud Configuration Path + File defaultConfigFile = null; + try { + defaultConfigFile = getWellKnownCertificateConfigFile(envProvider, propProvider); + } catch (IOException e) { + // APPDATA missing on Windows, etc. Safe fallback. + } + if (defaultConfigFile != null && defaultConfigFile.exists()) { + if (!defaultConfigFile.isFile() || !defaultConfigFile.canRead()) { + throw new IllegalStateException( + "Default certificate configuration file at '" + + defaultConfigFile.getAbsolutePath() + + "' exists but could not be read."); + } + WorkloadCertificateConfiguration config = null; + try { + config = getWorkloadCertificateConfiguration(envProvider, propProvider, null); + } catch (CertificateSourceUnavailableException e) { + // ECP-only configuration without workload section; safe fallback + } catch (Exception e) { + throw new IllegalStateException( + "Default certificate configuration file at '" + + defaultConfigFile.getAbsolutePath() + + "' is malformed: " + + e.getMessage(), + e); + } + if (config != null) { + checkCertAndKeyFilesReadable(config, defaultConfigFile.getAbsolutePath(), true); + return config.getCertPath(); + } + } + + return null; + } + + private static void checkCertAndKeyFilesReadable( + WorkloadCertificateConfiguration config, String configPath, boolean isDefaultConfig) { + File certFile = new File(config.getCertPath()); + File keyFile = new File(config.getPrivateKeyPath()); + if (!certFile.isFile() || !certFile.canRead() || !keyFile.isFile() || !keyFile.canRead()) { + String sourcePrefix = + isDefaultConfig + ? "referenced by default configuration '" + : "referenced by configuration '"; + throw new IllegalStateException( + "Failed to read certificate/key file at '" + + config.getCertPath() + + "' or '" + + config.getPrivateKeyPath() + + "' " + + sourcePrefix + + configPath + + "'."); + } + } + + /** + * Computes the lower-case SHA-256 hex fingerprint of the certificate file at {@code certPath}. + * + *

Unlike {@link #getWorkloadCertPath}, which validates configuration at channel initialization + * and fails closed on errors, this method is called dynamically at runtime during active RPCs to + * detect certificate rotations on disk. External certificate rotators may temporarily delete, + * truncate, or rewrite the certificate file mid-RPC. Returning {@code null} on read/digest + * exceptions (which callers normalize to {@code ""}) allows runtime refresh checks to ignore + * transient mid-write states and keep the active healthy channel without failing in-flight RPCs. + */ + public static @Nullable String getCertificateFingerprint(@Nullable String certPath) { + if (certPath == null) { + return null; + } + try { + byte[] certBytes = Files.readAllBytes(Paths.get(certPath)); + byte[] digest = MessageDigest.getInstance("SHA-256").digest(certBytes); + return BaseEncoding.base16().lowerCase().encode(digest); + } catch (Exception e) { + return null; + } + } + /** * Returns the path to the client certificate file specified by the loaded workload certificate * configuration. @@ -65,14 +232,17 @@ private MtlsUtils() { * @throws IOException if the certificate configuration cannot be found or loaded. */ public static String getCertificatePath( - EnvironmentProvider envProvider, PropertyProvider propProvider, String certConfigPathOverride) + EnvironmentProvider envProvider, + PropertyProvider propProvider, + @Nullable String certConfigPathOverride) throws IOException { String certPath = getWorkloadCertificateConfiguration(envProvider, propProvider, certConfigPathOverride) .getCertPath(); if (Strings.isNullOrEmpty(certPath)) { throw new CertificateSourceUnavailableException( - "Certificate configuration loaded successfully, but does not contain a 'certificate_file' path."); + "Certificate configuration loaded successfully, but does not contain a" + + " 'cert_configs.workload.cert_path' path."); } return certPath; } @@ -92,7 +262,9 @@ public static String getCertificatePath( * @throws IOException if the configuration file cannot be found, read, or parsed */ static WorkloadCertificateConfiguration getWorkloadCertificateConfiguration( - EnvironmentProvider envProvider, PropertyProvider propProvider, String certConfigPathOverride) + EnvironmentProvider envProvider, + PropertyProvider propProvider, + @Nullable String certConfigPathOverride) throws IOException { File certConfig; if (certConfigPathOverride != null) { @@ -106,7 +278,7 @@ static WorkloadCertificateConfiguration getWorkloadCertificateConfiguration( } } - if (!certConfig.isFile()) { + if (!certConfig.isFile() || !certConfig.canRead()) { throw new CertificateSourceUnavailableException( "Certificate configuration file does not exist or is not a file: " + certConfig.getAbsolutePath()); diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java index f3fdf05a4c32..d5fdc840d804 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java @@ -101,6 +101,21 @@ public String getProperty(String name, String def) { () -> MtlsUtils.getCertificatePath(envProvider, propProvider, configFile.toString())); } + @Test + void getCertificatePath_ecpOnlyConfig_throwsCertificateSourceUnavailableException() + throws IOException { + Path configFile = tempDir.resolve("ecp_config.json"); + Files.write( + configFile, "{\"cert_configs\":{\"enterprise_certificates\":{\"libs\":[]}}}".getBytes()); + + EnvironmentProvider envProvider = name -> null; + PropertyProvider propProvider = (name, def) -> def; + + assertThrows( + CertificateSourceUnavailableException.class, + () -> MtlsUtils.getCertificatePath(envProvider, propProvider, configFile.toString())); + } + @Test void getWorkloadCertificateConfiguration_overridePath() throws IOException { Path configFile = tempDir.resolve("custom_config.json"); @@ -243,4 +258,484 @@ public String getProperty(String name, String def) { assertEquals("APPDATA environment variable is not set on Windows.", exception.getMessage()); } + + @Test + void + useMtlsClientCertificate_trueWithNoCertsOnDisk_returnsTrueWhileWorkloadCertPathReturnsNull() { + EnvironmentProvider envProvider = + name -> "GOOGLE_API_USE_CLIENT_CERTIFICATE".equals(name) ? "true" : null; + PropertyProvider propProvider = + (name, def) -> { + if ("user.home".equals(name)) return tempDir.toString(); + if ("os.name".equals(name)) return "Linux"; + return def; + }; + + assertTrue(MtlsUtils.useMtlsClientCertificate(envProvider, propProvider)); + assertNull(MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + } + + @Test + void useMtlsClientCertificate_trueWithEcpOnlyConfig_returnsTrueAndWorkloadCertPathReturnsNull() + throws IOException { + Path configFile = tempDir.resolve("ecp_config.json"); + Files.write(configFile, "{\"cert_configs\":{\"enterprise_certificates\":{}}}".getBytes()); + + EnvironmentProvider envProvider = + name -> { + if ("GOOGLE_API_USE_CLIENT_CERTIFICATE".equals(name)) return "true"; + if ("GOOGLE_API_CERTIFICATE_CONFIG".equals(name)) return configFile.toString(); + return null; + }; + PropertyProvider propProvider = (name, def) -> def; + + assertTrue(MtlsUtils.useMtlsClientCertificate(envProvider, propProvider)); + assertNull(MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + } + + @Test + void useMtlsClientCertificate_false_returnsFalse() { + EnvironmentProvider envProvider = + name -> "GOOGLE_API_USE_CLIENT_CERTIFICATE".equals(name) ? "false" : null; + PropertyProvider propProvider = (name, def) -> def; + + assertFalse(MtlsUtils.useMtlsClientCertificate(envProvider, propProvider)); + assertNull(MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + } + + @Test + void useMtlsClientCertificate_falseEvenWhenWorkloadCertsExist_returnsFalse() throws IOException { + Path certFile = tempDir.resolve("cert.pem"); + Path keyFile = tempDir.resolve("key.pem"); + Files.write(certFile, "dummy cert".getBytes()); + Files.write(keyFile, "dummy key".getBytes()); + + Path configFile = tempDir.resolve("config.json"); + String configJson = + String.format( + "{\"cert_configs\":{\"workload\":{\"cert_path\":\"%s\",\"key_path\":\"%s\"}}}", + certFile.toString().replace("\\", "\\\\"), keyFile.toString().replace("\\", "\\\\")); + Files.write(configFile, configJson.getBytes()); + + EnvironmentProvider envProvider = + name -> { + if ("GOOGLE_API_USE_CLIENT_CERTIFICATE".equals(name)) return "false"; + if ("GOOGLE_API_CERTIFICATE_CONFIG".equals(name)) return configFile.toString(); + return null; + }; + PropertyProvider propProvider = (name, def) -> def; + + assertFalse(MtlsUtils.useMtlsClientCertificate(envProvider, propProvider)); + assertNull(MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + } + + @Test + void useMtlsClientCertificate_unsetWithNoCertsOnDisk_returnsFalse() { + EnvironmentProvider envProvider = name -> null; + PropertyProvider propProvider = + (name, def) -> { + if ("user.home".equals(name)) return tempDir.toString(); + if ("os.name".equals(name)) return "Linux"; + return def; + }; + + assertFalse(MtlsUtils.useMtlsClientCertificate(envProvider, propProvider)); + assertNull(MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + } + + // --- Explicit GOOGLE_API_CERTIFICATE_CONFIG Tests (Fail Closed) --- + + @Test + void getWorkloadCertPath_explicitConfigMissing_throwsIllegalStateException() { + EnvironmentProvider envProvider = + name -> "GOOGLE_API_CERTIFICATE_CONFIG".equals(name) ? "/nonexistent/config.json" : null; + PropertyProvider propProvider = (name, def) -> def; + + IllegalStateException exception = + assertThrows( + IllegalStateException.class, + () -> MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + assertTrue( + exception + .getMessage() + .contains( + "specified via GOOGLE_API_CERTIFICATE_CONFIG at '/nonexistent/config.json' does not" + + " exist")); + } + + @Test + void getWorkloadCertPath_explicitConfigIsDirectory_throwsIllegalStateException() + throws IOException { + Path configDir = tempDir.resolve("config_dir"); + Files.createDirectory(configDir); + + EnvironmentProvider envProvider = + name -> "GOOGLE_API_CERTIFICATE_CONFIG".equals(name) ? configDir.toString() : null; + PropertyProvider propProvider = (name, def) -> def; + + IllegalStateException exception = + assertThrows( + IllegalStateException.class, + () -> MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + assertTrue( + exception + .getMessage() + .contains( + "Failed to read certificate configuration file specified via" + + " GOOGLE_API_CERTIFICATE_CONFIG")); + } + + @Test + void getWorkloadCertPath_explicitConfigUnreadable_throwsIllegalStateException() + throws IOException { + Path configFile = tempDir.resolve("unreadable_config.json"); + Files.write(configFile, "{}".getBytes()); + File file = configFile.toFile(); + if (file.setReadable(false)) { + try { + EnvironmentProvider envProvider = + name -> "GOOGLE_API_CERTIFICATE_CONFIG".equals(name) ? configFile.toString() : null; + PropertyProvider propProvider = (name, def) -> def; + + IllegalStateException exception = + assertThrows( + IllegalStateException.class, + () -> MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + assertTrue( + exception + .getMessage() + .contains( + "Failed to read certificate configuration file specified via" + + " GOOGLE_API_CERTIFICATE_CONFIG")); + } finally { + file.setReadable(true); + } + } + } + + @Test + void getWorkloadCertPath_explicitConfigMalformedJson_throwsIllegalStateException() + throws IOException { + Path configFile = tempDir.resolve("malformed.json"); + Files.write(configFile, "{ invalid json".getBytes()); + + EnvironmentProvider envProvider = + name -> "GOOGLE_API_CERTIFICATE_CONFIG".equals(name) ? configFile.toString() : null; + PropertyProvider propProvider = (name, def) -> def; + + IllegalStateException exception = + assertThrows( + IllegalStateException.class, + () -> MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + assertTrue( + exception + .getMessage() + .contains( + "specified via GOOGLE_API_CERTIFICATE_CONFIG at '" + + configFile.toString() + + "' is malformed")); + } + + @Test + void getWorkloadCertPath_explicitConfigOnlyEcp_returnsNullSafely() throws IOException { + Path configFile = tempDir.resolve("ecp_config.json"); + Files.write(configFile, "{\"cert_configs\":{\"enterprise_certificates\":{}}}".getBytes()); + + EnvironmentProvider envProvider = + name -> "GOOGLE_API_CERTIFICATE_CONFIG".equals(name) ? configFile.toString() : null; + PropertyProvider propProvider = (name, def) -> def; + + assertNull(MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + } + + @Test + void getWorkloadCertPath_explicitConfigCertFileMissing_throwsIllegalStateException() + throws IOException { + Path keyFile = tempDir.resolve("key.pem"); + Files.write(keyFile, "dummy key".getBytes()); + + Path configFile = tempDir.resolve("config.json"); + String configJson = + String.format( + "{\"cert_configs\":{\"workload\":{\"cert_path\":\"/nonexistent/cert.pem\",\"key_path\":\"%s\"}}}", + keyFile.toString().replace("\\", "\\\\")); + Files.write(configFile, configJson.getBytes()); + + EnvironmentProvider envProvider = + name -> "GOOGLE_API_CERTIFICATE_CONFIG".equals(name) ? configFile.toString() : null; + PropertyProvider propProvider = (name, def) -> def; + + IllegalStateException exception = + assertThrows( + IllegalStateException.class, + () -> MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + assertTrue(exception.getMessage().contains("Failed to read certificate/key file")); + assertTrue( + exception + .getMessage() + .contains("referenced by configuration '" + configFile.toString() + "'")); + } + + @Test + void getWorkloadCertPath_explicitConfigCertFileIsDirectory_throwsIllegalStateException() + throws IOException { + Path certDir = tempDir.resolve("cert_dir"); + Files.createDirectory(certDir); + Path keyFile = tempDir.resolve("key.pem"); + Files.write(keyFile, "dummy key".getBytes()); + + Path configFile = tempDir.resolve("config.json"); + String configJson = + String.format( + "{\"cert_configs\":{\"workload\":{\"cert_path\":\"%s\",\"key_path\":\"%s\"}}}", + certDir.toString().replace("\\", "\\\\"), keyFile.toString().replace("\\", "\\\\")); + Files.write(configFile, configJson.getBytes()); + + EnvironmentProvider envProvider = + name -> "GOOGLE_API_CERTIFICATE_CONFIG".equals(name) ? configFile.toString() : null; + PropertyProvider propProvider = (name, def) -> def; + + IllegalStateException exception = + assertThrows( + IllegalStateException.class, + () -> MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + assertTrue(exception.getMessage().contains("Failed to read certificate/key file")); + } + + @Test + void getWorkloadCertPath_explicitConfigKeyFileMissing_throwsIllegalStateException() + throws IOException { + Path certFile = tempDir.resolve("cert.pem"); + Files.write(certFile, "dummy cert".getBytes()); + + Path configFile = tempDir.resolve("config.json"); + String configJson = + String.format( + "{\"cert_configs\":{\"workload\":{\"cert_path\":\"%s\",\"key_path\":\"/nonexistent/key.pem\"}}}", + certFile.toString().replace("\\", "\\\\")); + Files.write(configFile, configJson.getBytes()); + + EnvironmentProvider envProvider = + name -> "GOOGLE_API_CERTIFICATE_CONFIG".equals(name) ? configFile.toString() : null; + PropertyProvider propProvider = (name, def) -> def; + + IllegalStateException exception = + assertThrows( + IllegalStateException.class, + () -> MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + assertTrue(exception.getMessage().contains("Failed to read certificate/key file")); + assertTrue( + exception + .getMessage() + .contains("referenced by configuration '" + configFile.toString() + "'")); + } + + @Test + void getWorkloadCertPath_explicitConfigValid_returnsCertPath() throws IOException { + Path certFile = tempDir.resolve("cert.pem"); + Path keyFile = tempDir.resolve("key.pem"); + Files.write(certFile, "dummy cert".getBytes()); + Files.write(keyFile, "dummy key".getBytes()); + + Path configFile = tempDir.resolve("config.json"); + String configJson = + String.format( + "{\"cert_configs\":{\"workload\":{\"cert_path\":\"%s\",\"key_path\":\"%s\"}}}", + certFile.toString().replace("\\", "\\\\"), keyFile.toString().replace("\\", "\\\\")); + Files.write(configFile, configJson.getBytes()); + + EnvironmentProvider envProvider = + name -> "GOOGLE_API_CERTIFICATE_CONFIG".equals(name) ? configFile.toString() : null; + PropertyProvider propProvider = (name, def) -> def; + + assertTrue(MtlsUtils.useMtlsClientCertificate(envProvider, propProvider)); + assertEquals(certFile.toString(), MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + } + + // --- Implicit / Default gcloud Config Tests --- + + @Test + void getWorkloadCertPath_defaultConfigMissing_returnsNullSafely() { + EnvironmentProvider envProvider = name -> null; + PropertyProvider propProvider = + (name, def) -> { + if ("user.home".equals(name)) return tempDir.toString(); + if ("os.name".equals(name)) return "Linux"; + return def; + }; + + assertNull(MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + } + + @Test + void getWorkloadCertPath_defaultConfigIsDirectory_throwsIllegalStateException() + throws IOException { + Path gcloudDir = tempDir.resolve(".config/gcloud"); + Files.createDirectories(gcloudDir); + Path defaultConfigFile = gcloudDir.resolve("certificate_config.json"); + Files.createDirectory(defaultConfigFile); + + EnvironmentProvider envProvider = name -> null; + PropertyProvider propProvider = + (name, def) -> { + if ("user.home".equals(name)) return tempDir.toString(); + if ("os.name".equals(name)) return "Linux"; + return def; + }; + + IllegalStateException exception = + assertThrows( + IllegalStateException.class, + () -> MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + assertTrue( + exception + .getMessage() + .contains( + "Default certificate configuration file at '" + + defaultConfigFile.toFile().getAbsolutePath() + + "' exists but could not be read")); + } + + @Test + void getWorkloadCertPath_defaultConfigMalformedJson_throwsIllegalStateException() + throws IOException { + Path gcloudDir = tempDir.resolve(".config/gcloud"); + Files.createDirectories(gcloudDir); + Path defaultConfigFile = gcloudDir.resolve("certificate_config.json"); + Files.write(defaultConfigFile, "{ malformed json".getBytes()); + + EnvironmentProvider envProvider = name -> null; + PropertyProvider propProvider = + (name, def) -> { + if ("user.home".equals(name)) return tempDir.toString(); + if ("os.name".equals(name)) return "Linux"; + return def; + }; + + IllegalStateException exception = + assertThrows( + IllegalStateException.class, + () -> MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + assertTrue( + exception + .getMessage() + .contains( + "Default certificate configuration file at '" + + defaultConfigFile.toFile().getAbsolutePath() + + "' is malformed")); + } + + @Test + void getWorkloadCertPath_defaultConfigOnlyEcp_returnsNullSafely() throws IOException { + Path gcloudDir = tempDir.resolve(".config/gcloud"); + Files.createDirectories(gcloudDir); + Path defaultConfigFile = gcloudDir.resolve("certificate_config.json"); + Files.write( + defaultConfigFile, + "{\"cert_configs\":{\"enterprise_certificates\":{\"libs\":[]}}}".getBytes()); + + EnvironmentProvider envProvider = name -> null; + PropertyProvider propProvider = + (name, def) -> { + if ("user.home".equals(name)) return tempDir.toString(); + if ("os.name".equals(name)) return "Linux"; + return def; + }; + + assertNull(MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + } + + @Test + void getWorkloadCertPath_defaultConfigCertFileMissing_throwsIllegalStateException() + throws IOException { + Path keyFile = tempDir.resolve("key.pem"); + Files.write(keyFile, "dummy key".getBytes()); + + Path gcloudDir = tempDir.resolve(".config/gcloud"); + Files.createDirectories(gcloudDir); + Path defaultConfigFile = gcloudDir.resolve("certificate_config.json"); + String configJson = + String.format( + "{\"cert_configs\":{\"workload\":{\"cert_path\":\"/nonexistent/cert.pem\",\"key_path\":\"%s\"}}}", + keyFile.toString().replace("\\", "\\\\")); + Files.write(defaultConfigFile, configJson.getBytes()); + + EnvironmentProvider envProvider = name -> null; + PropertyProvider propProvider = + (name, def) -> { + if ("user.home".equals(name)) return tempDir.toString(); + if ("os.name".equals(name)) return "Linux"; + return def; + }; + + IllegalStateException exception = + assertThrows( + IllegalStateException.class, + () -> MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + assertTrue(exception.getMessage().contains("Failed to read certificate/key file")); + assertTrue( + exception + .getMessage() + .contains( + "referenced by default configuration '" + + defaultConfigFile.toFile().getAbsolutePath() + + "'")); + } + + @Test + void getWorkloadCertPath_defaultConfigValid_returnsCertPath() throws IOException { + Path certFile = tempDir.resolve("cert.pem"); + Path keyFile = tempDir.resolve("key.pem"); + Files.write(certFile, "dummy cert".getBytes()); + Files.write(keyFile, "dummy key".getBytes()); + + Path gcloudDir = tempDir.resolve(".config/gcloud"); + Files.createDirectories(gcloudDir); + Path defaultConfigFile = gcloudDir.resolve("certificate_config.json"); + String configJson = + String.format( + "{\"cert_configs\":{\"workload\":{\"cert_path\":\"%s\",\"key_path\":\"%s\"}}}", + certFile.toString().replace("\\", "\\\\"), keyFile.toString().replace("\\", "\\\\")); + Files.write(defaultConfigFile, configJson.getBytes()); + + EnvironmentProvider envProvider = name -> null; + PropertyProvider propProvider = + (name, def) -> { + if ("user.home".equals(name)) return tempDir.toString(); + if ("os.name".equals(name)) return "Linux"; + return def; + }; + + assertTrue(MtlsUtils.useMtlsClientCertificate(envProvider, propProvider)); + assertEquals(certFile.toString(), MtlsUtils.getWorkloadCertPath(envProvider, propProvider)); + } + + // --- General Helpers & Stubs Tests --- + + @Test + void getCertificateFingerprint_validFile_returnsSha256() throws IOException { + Path file = tempDir.resolve("test.crt"); + Files.write(file, "hello world".getBytes()); + + String fingerprint = MtlsUtils.getCertificateFingerprint(file.toString()); + assertNotNull(fingerprint); + assertEquals(64, fingerprint.length()); // SHA-256 hex string length + assertEquals("b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9", fingerprint); + } + + @Test + void getCertificateFingerprint_emptyFile_returnsValidSha256() throws IOException { + Path emptyFile = tempDir.resolve("empty.crt"); + Files.write(emptyFile, new byte[0]); + + String fingerprint = MtlsUtils.getCertificateFingerprint(emptyFile.toString()); + assertEquals("e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", fingerprint); + } + + @Test + void getCertificateFingerprint_invalidOrNull_returnsNull() { + assertNull(MtlsUtils.getCertificateFingerprint(null)); + assertNull(MtlsUtils.getCertificateFingerprint("/nonexistent/file.crt")); + assertNull(MtlsUtils.getCertificateFingerprint(tempDir.toString())); // Directory + } } diff --git a/sdk-platform-java/gax-java/gax-grpc/pom.xml b/sdk-platform-java/gax-java/gax-grpc/pom.xml index d717ac0944b5..f5cc9b3798a3 100644 --- a/sdk-platform-java/gax-java/gax-grpc/pom.xml +++ b/sdk-platform-java/gax-java/gax-grpc/pom.xml @@ -162,7 +162,7 @@ maven-surefire-plugin - !InstantiatingGrpcChannelProviderTest#testLogDirectPathMisconfig_AttemptDirectPathNotSetAndAttemptDirectPathXdsSetViaEnv_warns,!InstantiatingGrpcChannelProviderTest#canUseDirectPath_directPathEnvVarNotSet_attemptDirectPathIsTrue,InstantiatingGrpcChannelProviderTest#testLogDirectPathMisconfigWrongCredential + !InstantiatingGrpcChannelProviderTest#testLogDirectPathMisconfig_AttemptDirectPathNotSetAndAttemptDirectPathXdsSetViaEnv_warns,!InstantiatingGrpcChannelProviderTest#canUseDirectPath_directPathEnvVarNotSet_attemptDirectPathIsTrue diff --git a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/ChannelPool.java b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/ChannelPool.java index fab73a55dccf..afd59512158a 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/ChannelPool.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/ChannelPool.java @@ -31,6 +31,7 @@ import com.google.api.core.InternalApi; import com.google.api.gax.core.FixedExecutorProvider; +import com.google.api.gax.rpc.mtls.CertificateRotationTracker; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; @@ -53,9 +54,11 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; import java.util.logging.Level; import java.util.logging.Logger; +import javax.annotation.concurrent.GuardedBy; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -72,18 +75,28 @@ @NullMarked class ChannelPool extends ManagedChannel { static final String CHANNEL_POOL_CONSECUTIVE_RESIZING_WARNING = - "The gRPC ChannelPool used in the client has been flagged to be repeatedly resizing (5+ times). See https://github.com/googleapis/google-cloud-java/blob/main/docs/grpc_channel_pool_guide.md for more information about this behavior."; + "The gRPC ChannelPool used in the client has been flagged to be repeatedly resizing (5+" + + " times). See" + + " https://github.com/googleapis/google-cloud-java/blob/main/docs/grpc_channel_pool_guide.md" + + " for more information about this behavior."; @VisibleForTesting static final Logger LOG = Logger.getLogger(ChannelPool.class.getName()); private static final java.time.Duration REFRESH_PERIOD = java.time.Duration.ofMinutes(50); private final ChannelPoolSettings settings; private final ChannelFactory channelFactory; private final FixedExecutorProvider backgroundExecutorProvider; + private final String workloadCertPath; private @Nullable ScheduledFuture refreshFuture = null; private @Nullable ScheduledFuture resizeFuture = null; + private final CertificateRotationTracker rotationTracker; private final Object entryWriteLock = new Object(); + + @GuardedBy("entryWriteLock") + private boolean isShutdown = false; + + private final AtomicLong generation = new AtomicLong(0); @VisibleForTesting final AtomicReference> entries = new AtomicReference<>(); private final AtomicInteger indexTicker = new AtomicInteger(); private final String authority; @@ -100,14 +113,15 @@ class ChannelPool extends ManagedChannel { static ChannelPool create( ChannelPoolSettings settings, ChannelFactory channelFactory, - @Nullable ScheduledExecutorService backgroundExecutor) + @Nullable ScheduledExecutorService backgroundExecutor, + @Nullable String workloadCertPath) throws IOException { FixedExecutorProvider executorProvider = backgroundExecutor == null ? FixedExecutorProvider.create(Executors.newSingleThreadScheduledExecutor(), true) : FixedExecutorProvider.create(backgroundExecutor, false); - return new ChannelPool(settings, channelFactory, executorProvider); + return new ChannelPool(settings, channelFactory, executorProvider, workloadCertPath); } /** @@ -121,11 +135,14 @@ static ChannelPool create( ChannelPool( ChannelPoolSettings settings, ChannelFactory channelFactory, - FixedExecutorProvider executorProvider) + FixedExecutorProvider executorProvider, + @Nullable String workloadCertPath) throws IOException { this.settings = settings; this.channelFactory = channelFactory; this.backgroundExecutorProvider = executorProvider; + this.workloadCertPath = workloadCertPath; + this.rotationTracker = new CertificateRotationTracker(workloadCertPath); ImmutableList.Builder initialListBuilder = ImmutableList.builder(); @@ -187,7 +204,8 @@ public ManagedChannel shutdown() { // Resize and refresh tasks can block on channel priming. We don't need // to wait for the channels to be ready since we're shutting down the - // pool. Allowing interrupt to speed it up. + // pool. Allowing interrupt to speed it up. This is done before acquiring + // entryWriteLock, which a running refresh or resize holds. if (resizeFuture != null) { resizeFuture.cancel(true); } @@ -195,9 +213,12 @@ public ManagedChannel shutdown() { refreshFuture.cancel(true); } - List localEntries = entries.get(); - for (Entry entry : localEntries) { - entry.channel.shutdown(); + synchronized (entryWriteLock) { + isShutdown = true; + List localEntries = entries.get(); + for (Entry entry : localEntries) { + entry.channel.shutdown(); + } } if (backgroundExecutorProvider.shouldAutoClose()) { @@ -210,6 +231,11 @@ public ManagedChannel shutdown() { /** {@inheritDoc} */ @Override public boolean isShutdown() { + synchronized (entryWriteLock) { + if (isShutdown) { + return true; + } + } List localEntries = entries.get(); for (Entry entry : localEntries) { if (!entry.channel.isShutdown()) { @@ -236,6 +262,8 @@ public boolean isTerminated() { public ManagedChannel shutdownNow() { LOG.fine("Initiating immediate shutdown due to explicit request"); + // Cancel before acquiring entryWriteLock, which a running refresh or resize holds, so that + // they are interrupted instead of delaying shutdown. if (resizeFuture != null) { resizeFuture.cancel(true); } @@ -243,9 +271,12 @@ public ManagedChannel shutdownNow() { refreshFuture.cancel(true); } - List localEntries = entries.get(); - for (Entry entry : localEntries) { - entry.channel.shutdownNow(); + synchronized (entryWriteLock) { + isShutdown = true; + List localEntries = entries.get(); + for (Entry entry : localEntries) { + entry.channel.shutdownNow(); + } } if (backgroundExecutorProvider.shouldAutoClose()) { @@ -272,6 +303,11 @@ public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedE private void resizeSafely() { try { synchronized (entryWriteLock) { + // shutdown() cancels this task, but cancel(true) does not interrupt a run that is already + // waiting for entryWriteLock, so it must not create channels once the pool is shut down. + if (isShutdown) { + return; + } resize(); } } catch (Exception e) { @@ -411,7 +447,7 @@ private void expand(int desiredSize) { for (int i = 0; i < desiredSize - localEntries.size(); i++) { try { newEntries.add(new Entry(channelFactory.createSingleChannel())); - } catch (IOException e) { + } catch (Exception e) { LOG.log(Level.WARNING, "Failed to add channel", e); } } @@ -419,23 +455,81 @@ private void expand(int desiredSize) { entries.set(newEntries.build()); } + /** + * Periodically refreshes all channels when {@link + * ChannelPoolSettings#isPreemptiveRefreshEnabled()} is enabled (to mitigate hourly GFE + * disconnects). This applies to all channels even when {@code workloadCertPath == null}. If + * {@code workloadCertPath} is configured, the refresh is skipped while the certificate file is + * unreadable or mid-write on disk. + * + *

If the certificate on disk differs from the active one, this refresh is treated like a + * rotation refresh: channels that fail to be recreated are dropped (and the pool refilled), so + * the switch is completed and the generation advanced only once every channel left in the pool + * uses the new certificate. Otherwise a channel that fails to be recreated keeps its slot, and + * the generation is not advanced, so that a periodic refresh without a rotation does not make + * in-flight {@code UNAUTHENTICATED} failures eligible for a rotation retry. + */ private void refreshSafely() { try { - refresh(); + // See refresh(): a generation change while waiting for the lock means a concurrent refresh + // just recreated every channel on a new certificate. + long generationBeforeLock = generation.get(); + synchronized (entryWriteLock) { + if (workloadCertPath == null) { + refreshAll(); + return; + } + if (generation.get() != generationBeforeLock) { + LOG.fine( + "Skipping pre-emptive channel refresh: channels were just recreated by a concurrent" + + " refresh"); + return; + } + String currentDiskFingerprint = rotationTracker.readDiskFingerprint(); + if (currentDiskFingerprint.isEmpty()) { + // The configured certificate could not be read, which normally means it is being + // rewritten during a rotation. Skip this refresh rather than recreate channels from a + // partially written certificate; the next periodic or reactive refresh recreates them. + LOG.fine( + "Skipping pre-emptive channel refresh: the workload certificate could not be read;" + + " channels will be recreated on the next refresh"); + return; + } + boolean certChanged = !rotationTracker.isAlreadyActive(currentDiskFingerprint); + if (refreshAll(/* dropUnrefreshedChannels= */ certChanged) && certChanged) { + completeCertificateSwitch(currentDiskFingerprint); + } + } } catch (Exception e) { - LOG.log(Level.WARNING, "Failed to pre-emptively refresh channnels", e); + LOG.log(Level.WARNING, "Failed to pre-emptively refresh channels", e); } } + @VisibleForTesting + void invalidateDiskFingerprintCache() { + rotationTracker.invalidateCache(); + } + + boolean shouldRefresh() { + return rotationTracker.shouldRefresh(); + } + /** * Replace all of the channels in the channel pool with fresh ones. This is meant to mitigate the - * hourly GFE disconnects by giving clients the ability to prime the channel on reconnect. + * hourly GFE disconnects by giving clients the ability to prime the channel on reconnect, and to + * pick up a rotated mTLS workload certificate. * - *

This is done on a best effort basis. If the replacement channel fails to construct, the old - * channel will continue to be used. + *

This is done on a best effort basis. When no workload certificate is configured, a channel + * whose replacement fails to construct continues to be used. When a workload certificate is + * configured, a channel whose replacement fails to construct is dropped so that no traffic is + * routed to a channel using the old certificate; if no replacement can be constructed at all, the + * pool is left unchanged. */ @InternalApi("Visible for testing") void refresh() { + // A generation change while waiting for the lock means a concurrent refresh already switched + // every channel to a new certificate, so there is no need to read the certificate again. + long generationBeforeLock = generation.get(); // Note: synchronization is necessary in case refresh is called concurrently: // - thread1 fails to replace a single entry // - thread2 succeeds replacing an entry @@ -443,28 +537,179 @@ void refresh() { // - then thread2 will shut down channel that thread1 will put back into circulation (after it // replaces the list) synchronized (entryWriteLock) { + if (isShutdown) { + return; + } + if (workloadCertPath == null) { + refreshAll(); + return; + } + if (generation.get() != generationBeforeLock) { + LOG.fine( + "Channel pool was already refreshed by a concurrent thread, skipping duplicate" + + " refresh"); + return; + } + String currentDiskFingerprint = rotationTracker.readDiskFingerprint(); + if (currentDiskFingerprint.isEmpty()) { + return; + } + + // Double-check fingerprint inside the lock + if (rotationTracker.isAlreadyActive(currentDiskFingerprint)) { + LOG.fine( + "Channel pool was already refreshed by a concurrent thread, skipping duplicate" + + " refresh"); + return; + } + + // Drop any channel that fails to refresh so that no traffic is routed to the old certificate. + if (refreshAll(/* dropUnrefreshedChannels= */ true)) { + completeCertificateSwitch(currentDiskFingerprint); + } + } + } + + /** + * Records that every channel in the pool now uses the certificate with the given fingerprint. + * Must be called while holding {@code entryWriteLock}, after the channels have been swapped. + * + *

The generation is incremented before the fingerprint is marked active, so that a concurrent + * failing RPC that no longer sees a pending rotation ({@link #shouldRefresh()} is {@code false}) + * is guaranteed to see the new generation and be retried on the new channels. + */ + private void completeCertificateSwitch(String newFingerprint) { + generation.incrementAndGet(); + rotationTracker.markRefreshed(newFingerprint); + LOG.fine("Channel pool switched to certificate with fingerprint: " + newFingerprint); + } + + @InternalApi("Visible for testing") + @Nullable String getWorkloadCertPath() { + return workloadCertPath; + } + + @InternalApi("Visible for testing") + boolean refreshAll() { + return refreshAll(/* dropUnrefreshedChannels= */ false); + } + + /** + * Replaces the channels in the pool with freshly created ones. + * + * @param dropUnrefreshedChannels if {@code false}, a channel that fails to be recreated keeps its + * slot in the pool. If {@code true} (used for certificate rotation), only newly created + * channels are kept so no traffic is routed to a channel using the old certificate, and the + * pool is then refilled asynchronously to its size before the refresh. + * @return if {@code dropUnrefreshedChannels} is {@code false}, whether every channel was + * recreated; otherwise, whether at least one channel was recreated (i.e. every channel left + * in the pool was newly created) + */ + @InternalApi("Visible for testing") + boolean refreshAll(boolean dropUnrefreshedChannels) { + synchronized (entryWriteLock) { + if (isShutdown) { + return false; + } LOG.fine("Refreshing all channels"); - ArrayList newEntries = new ArrayList<>(entries.get()); + // All writes to entries happen under entryWriteLock, so this snapshot is the current pool. + ImmutableList currentEntries = entries.get(); + List keptEntries = new ArrayList<>(currentEntries.size()); + List retiredEntries = new ArrayList<>(currentEntries.size()); + List createdEntries = new ArrayList<>(currentEntries.size()); + boolean allCreated = !currentEntries.isEmpty(); - for (int i = 0; i < newEntries.size(); i++) { - try { - newEntries.set(i, new Entry(channelFactory.createSingleChannel())); - } catch (IOException e) { - LOG.log(Level.WARNING, "Failed to refresh channel, leaving old channel", e); + try { + for (Entry oldEntry : currentEntries) { + try { + Entry newEntry = new Entry(channelFactory.createSingleChannel()); + createdEntries.add(newEntry); + keptEntries.add(newEntry); + retiredEntries.add(oldEntry); + } catch (Exception e) { + allCreated = false; + if (dropUnrefreshedChannels) { + retiredEntries.add(oldEntry); + } else { + keptEntries.add(oldEntry); + } + LOG.log( + Level.WARNING, + dropUnrefreshedChannels + ? "Failed to refresh channel, dropping old channel" + : "Failed to refresh channel, leaving old channel", + e); + } } - } - ImmutableList replacedEntries = entries.getAndSet(ImmutableList.copyOf(newEntries)); + if (createdEntries.isEmpty()) { + return false; + } + + entries.set(ImmutableList.copyOf(keptEntries)); + createdEntries.clear(); // Ownership transferred to pool + + // Shutdown the channels that were cycled out. + retiredEntries.forEach(Entry::requestShutdown); - // Shutdown the channels that were cycled out. - for (Entry e : replacedEntries) { - if (!newEntries.contains(e)) { + // Restore the pool to its pre-refresh size right away, rather than leave a dynamically + // sized + // pool to grow back over several resize() runs while traffic queues on fewer channels. + if (dropUnrefreshedChannels && !allCreated) { + scheduleRefill(currentEntries.size()); + } + return dropUnrefreshedChannels || allCreated; + } finally { + // If an Error aborted before the swap, shut down newly created channels so they don't leak + for (Entry e : createdEntries) { e.requestShutdown(); } } } } + /** + * Schedules a one-shot task that restores the pool to {@code targetSize} channels after a + * certificate rotation refresh dropped channels that failed to refresh. + */ + private void scheduleRefill(int targetSize) { + try { + backgroundExecutorProvider.getExecutor().execute(() -> refillSafely(targetSize)); + } catch (RuntimeException e) { + LOG.log(Level.WARNING, "Failed to schedule channel pool refill", e); + } + } + + private void refillSafely(int targetSize) { + try { + synchronized (entryWriteLock) { + if (isShutdown) { + return; + } + if (entries.get().size() < targetSize) { + expand(targetSize); + } + } + } catch (Exception e) { + LOG.log(Level.WARNING, "Failed to refill channel pool", e); + } + } + + /** + * Returns the current channel pool generation counter. + * + *

The generation is a monotonically increasing counter incremented each time the pool switches + * every channel to a new mTLS certificate (a reactive refresh after a rotation, or a periodic + * refresh that picks up a rotated certificate). Periodic refreshes that do not change the + * certificate do not increment it. Retry loops ({@code AttemptCallable} and {@code + * ServerStreamingAttemptCallable}) snapshot the generation before starting an RPC attempt and + * compare it after an {@code UNAUTHENTICATED} failure to determine whether the pool rotated to a + * new certificate during or after the attempt. + */ + long getGeneration() { + return generation.get(); + } + /** * Get and retain a Channel Entry. The returned Entry will have its rpc count incremented, * preventing it from getting recycled. @@ -616,17 +861,30 @@ public ClientCall newCall( MethodDescriptor methodDescriptor, CallOptions callOptions) { Entry entry = getRetainedEntry(affinity); - - return new ReleasingClientCall<>(entry.channel.newCall(methodDescriptor, callOptions), entry); + try { + return new ReleasingClientCall<>( + entry.channel.newCall(methodDescriptor, callOptions), entry); + } catch (Throwable t) { + entry.release(); + throw t; + } } } - /** ClientCall wrapper that makes sure to decrement the outstanding RPC count on completion. */ + /** + * ClientCall wrapper that makes sure to decrement the outstanding RPC count on completion. + * + *

Contract: Exactly one call to {@link #start(Listener, Metadata)} is required to balance + * reference counts. Early cancellation before {@code start()} is recorded and safely decrements + * the reference count when {@code start()} is subsequently invoked. + */ static class ReleasingClientCall extends SimpleForwardingClientCall { - private @Nullable CancellationException cancellationException; + private final Object callLock = new Object(); + private volatile @Nullable CancellationException cancellationException; final Entry entry; private final AtomicBoolean wasClosed = new AtomicBoolean(); private final AtomicBoolean wasReleased = new AtomicBoolean(); + private final AtomicBoolean wasStarted = new AtomicBoolean(); public ReleasingClientCall(ClientCall delegate, Entry entry) { super(delegate); @@ -635,51 +893,81 @@ public ReleasingClientCall(ClientCall delegate, Entry entry) { @Override public void start(Listener responseListener, Metadata headers) { - if (cancellationException != null) { - throw new IllegalStateException("Call is already cancelled", cancellationException); - } - try { - super.start( - new SimpleForwardingClientCallListener(responseListener) { - @Override - public void onClose(Status status, Metadata trailers) { - if (!wasClosed.compareAndSet(false, true)) { - LOG.log( - Level.WARNING, - "Call is being closed more than once. Please make sure that onClose() is not being manually called."); - return; - } - try { - super.onClose(status, trailers); - } finally { - if (wasReleased.compareAndSet(false, true)) { - entry.release(); - } else { + synchronized (callLock) { + if (!wasStarted.compareAndSet(false, true)) { + throw new IllegalStateException("Call is already started"); + } + if (cancellationException != null) { + if (wasReleased.compareAndSet(false, true)) { + entry.release(); + } + throw new IllegalStateException("Call is already cancelled", cancellationException); + } + try { + super.start( + new SimpleForwardingClientCallListener(responseListener) { + @Override + public void onClose(Status status, Metadata trailers) { + if (!wasClosed.compareAndSet(false, true)) { LOG.log( Level.WARNING, - "Entry was released before the call is closed. This may be due to an exception on start of the call."); + "Call is being closed more than once. Please make sure that onClose() is" + + " not being manually called."); + return; + } + try { + super.onClose(status, trailers); + } finally { + if (wasReleased.compareAndSet(false, true)) { + entry.release(); + } else { + LOG.log( + Level.WARNING, + "Entry was released before the call is closed. This may be due to an" + + " exception on start of the call."); + } } } - } - }, - headers); - } catch (Exception e) { - // In case start failed, make sure to release - if (wasReleased.compareAndSet(false, true)) { - entry.release(); - } else { - LOG.log( - Level.WARNING, - "The entry is already released. This indicates that onClose() has already been called previously"); + }, + headers); + } catch (Throwable t) { + // In case start failed, make sure to release + if (wasReleased.compareAndSet(false, true)) { + entry.release(); + } else { + LOG.log( + Level.WARNING, + "The entry is already released. This indicates that onClose() has already been" + + " called previously"); + } + throw t; } - throw e; } } @Override public void cancel(@Nullable String message, @Nullable Throwable cause) { - this.cancellationException = new CancellationException(message); - super.cancel(message, cause); + boolean releaseImmediately = false; + try { + synchronized (callLock) { + this.cancellationException = new CancellationException(message); + if (!wasStarted.get()) { + releaseImmediately = true; + } + if (delegate() != null) { + super.cancel(message, cause); + } + } + } catch (Throwable t) { + if (!wasStarted.get()) { + releaseImmediately = true; + } + throw t; + } finally { + if (releaseImmediately && wasReleased.compareAndSet(false, true)) { + entry.release(); + } + } } } } diff --git a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallContext.java b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallContext.java index 23f56c5f8951..fab685328931 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallContext.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallContext.java @@ -99,6 +99,7 @@ public final class GrpcCallContext implements ApiCallContext { private final ApiCallContextOptions options; private final EndpointContext endpointContext; private final boolean isDirectPath; + @Nullable private final TransportChannel transportChannel; /** Returns an empty instance with a null channel and default {@link CallOptions}. */ public static GrpcCallContext createDefault() { @@ -115,7 +116,8 @@ public static GrpcCallContext createDefault() { null, null, null, - false); + false, + null); } /** Returns an instance with the given channel and {@link CallOptions}. */ @@ -133,7 +135,8 @@ public static GrpcCallContext of(Channel channel, CallOptions callOptions) { null, null, null, - false); + false, + null); } private GrpcCallContext( @@ -149,7 +152,8 @@ private GrpcCallContext( @Nullable RetrySettings retrySettings, @Nullable Set retryableCodes, @Nullable EndpointContext endpointContext, - boolean isDirectPath) { + boolean isDirectPath, + @Nullable TransportChannel transportChannel) { this.channel = channel; this.credentials = credentials; Preconditions.checkNotNull(callOptions); @@ -169,6 +173,7 @@ private GrpcCallContext( this.endpointContext = endpointContext == null ? EndpointContext.getDefaultInstance() : endpointContext; this.isDirectPath = isDirectPath; + this.transportChannel = transportChannel; } /** @@ -210,7 +215,13 @@ public GrpcCallContext withCredentials(Credentials newCredentials) { retrySettings, retryableCodes, endpointContext, - isDirectPath); + isDirectPath, + transportChannel); + } + + @Override + public TransportChannel getTransportChannel() { + return transportChannel; } @Override @@ -234,7 +245,8 @@ public GrpcCallContext withTransportChannel(TransportChannel inputChannel) { retrySettings, retryableCodes, endpointContext, - transportChannel.isDirectPath()); + transportChannel.isDirectPath(), + inputChannel); } @Override @@ -253,7 +265,8 @@ public GrpcCallContext withEndpointContext(EndpointContext endpointContext) { retrySettings, retryableCodes, endpointContext, - isDirectPath); + isDirectPath, + transportChannel); } /** This method is obsolete. Use {@link #withTimeoutDuration(java.time.Duration)} instead. */ @@ -288,7 +301,8 @@ public GrpcCallContext withTimeoutDuration(java.time.@Nullable Duration timeout) retrySettings, retryableCodes, endpointContext, - isDirectPath); + isDirectPath, + transportChannel); } @Override @@ -334,7 +348,8 @@ public GrpcCallContext withStreamWaitTimeoutDuration( retrySettings, retryableCodes, endpointContext, - isDirectPath); + isDirectPath, + transportChannel); } /** @@ -369,7 +384,8 @@ public GrpcCallContext withStreamIdleTimeoutDuration( retrySettings, retryableCodes, endpointContext, - isDirectPath); + isDirectPath, + transportChannel); } @BetaApi("The surface for channel affinity is not stable yet and may change in the future.") @@ -387,7 +403,8 @@ public GrpcCallContext withChannelAffinity(@Nullable Integer affinity) { retrySettings, retryableCodes, endpointContext, - isDirectPath); + isDirectPath, + transportChannel); } @BetaApi("The surface for extra headers is not stable yet and may change in the future.") @@ -409,7 +426,8 @@ public GrpcCallContext withExtraHeaders(Map> extraHeaders) retrySettings, retryableCodes, endpointContext, - isDirectPath); + isDirectPath, + transportChannel); } @Override @@ -432,7 +450,8 @@ public GrpcCallContext withRetrySettings(RetrySettings retrySettings) { retrySettings, retryableCodes, endpointContext, - isDirectPath); + isDirectPath, + transportChannel); } @Override @@ -455,7 +474,8 @@ public GrpcCallContext withRetryableCodes(Set retryableCodes) { retrySettings, retryableCodes, endpointContext, - isDirectPath); + isDirectPath, + transportChannel); } @Override @@ -542,6 +562,12 @@ public ApiCallContext merge(ApiCallContext inputCallContext) { newCallOptions = newCallOptions.withOption(TRACER_KEY, newTracer); } + TransportChannel newTransportChannel = grpcCallContext.transportChannel; + if (newTransportChannel == null + && (grpcCallContext.channel == null || grpcCallContext.channel.equals(channel))) { + newTransportChannel = transportChannel; + } + // The EndpointContext is not updated as there should be no reason for a user // to update this. return new GrpcCallContext( @@ -557,7 +583,8 @@ public ApiCallContext merge(ApiCallContext inputCallContext) { newRetrySettings, newRetryableCodes, endpointContext, - newIsDirectPath); + newIsDirectPath, + newTransportChannel); } /** The {@link Channel} set on this context. */ @@ -635,7 +662,8 @@ public GrpcCallContext withChannel(@Nullable Channel newChannel) { retrySettings, retryableCodes, endpointContext, - isDirectPath); + isDirectPath, + (newChannel != null && newChannel.equals(channel)) ? transportChannel : null); } /** Returns a new instance with the call options set to the given call options. */ @@ -653,7 +681,8 @@ public GrpcCallContext withCallOptions(CallOptions newCallOptions) { retrySettings, retryableCodes, endpointContext, - isDirectPath); + isDirectPath, + transportChannel); } public GrpcCallContext withRequestParamsDynamicHeaderOption(String requestParams) { @@ -698,7 +727,8 @@ public GrpcCallContext withOption(Key key, T value) { retrySettings, retryableCodes, endpointContext, - isDirectPath); + isDirectPath, + transportChannel); } /** {@inheritDoc} */ @@ -759,7 +789,8 @@ public int hashCode() { options, retrySettings, retryableCodes, - endpointContext); + endpointContext, + transportChannel); } @Override @@ -783,7 +814,8 @@ public boolean equals(@Nullable Object o) { && Objects.equals(options, that.options) && Objects.equals(retrySettings, that.retrySettings) && Objects.equals(retryableCodes, that.retryableCodes) - && Objects.equals(endpointContext, that.endpointContext); + && Objects.equals(endpointContext, that.endpointContext) + && Objects.equals(transportChannel, that.transportChannel); } Metadata getMetadata() { diff --git a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcTransportChannel.java b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcTransportChannel.java index e0a520facb17..63180a8149f6 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcTransportChannel.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcTransportChannel.java @@ -68,6 +68,32 @@ public Channel getChannel() { return getManagedChannel(); } + @Override + public void refresh() { + Channel channel = getChannel(); + if (channel instanceof ChannelPool) { + ((ChannelPool) channel).refresh(); + } + } + + @Override + public boolean shouldRefresh() { + Channel channel = getChannel(); + if (channel instanceof ChannelPool) { + return ((ChannelPool) channel).shouldRefresh(); + } + return false; + } + + @Override + public long getGeneration() { + Channel channel = getChannel(); + if (channel instanceof ChannelPool) { + return ((ChannelPool) channel).getGeneration(); + } + return 0; + } + @Override public void shutdown() { getManagedChannel().shutdown(); diff --git a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java index ac42396f006a..67fc57b075d4 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java @@ -401,12 +401,21 @@ public TransportChannel getTransportChannel() throws IOException { } private TransportChannel createChannel() throws IOException { + // Only track the workload certificate for rotation when the pool's channels actually present + // it, mirroring the credential selection in createSingleChannel(): DirectPath channels use + // GoogleDefaultChannelCredentials (ALTS) rather than the client certificate, and without an + // mtlsProvider there is no client certificate KeyStore (S2A or plain TLS is used instead). + String workloadCertPath = + !this.canUseDirectPath() && mtlsProvider != null + ? certificateBasedAccess.getWorkloadCertPath() + : null; return GrpcTransportChannel.newBuilder() .setManagedChannel( ChannelPool.create( channelPoolSettings, InstantiatingGrpcChannelProvider.this::createSingleChannel, - backgroundExecutor)) + backgroundExecutor, + workloadCertPath)) .setDirectPath(this.canUseDirectPath()) .build(); } @@ -465,8 +474,9 @@ private void logDirectPathMisconfig() { level, "Env var " + DIRECT_PATH_ENV_ENABLE_XDS - + " was found and set to TRUE, but DirectPath was not enabled for this client. If this is intended for " - + "this client, please note that this is a misconfiguration and set the attemptDirectPath option as well."); + + " was found and set to TRUE, but DirectPath was not enabled for this client. If" + + " this is intended for this client, please note that this is a misconfiguration" + + " and set the attemptDirectPath option as well."); } // Case 2: Direct Path xDS was enabled via Builder. Direct Path Traffic Director must be set // (enabled with `setAttemptDirectPath(true)`) along with xDS. @@ -474,7 +484,9 @@ private void logDirectPathMisconfig() { else if (isDirectPathXdsEnabledViaBuilderOption()) { LOG.log( level, - "DirectPath is misconfigured. The DirectPath XDS option was set, but the attemptDirectPath option was not. Please set both the attemptDirectPath and attemptDirectPathXds options."); + "DirectPath is misconfigured. The DirectPath XDS option was set, but the" + + " attemptDirectPath option was not. Please set both the attemptDirectPath and" + + " attemptDirectPathXds options."); } } else { // Case 3: credential is not correctly set @@ -666,7 +678,8 @@ ChannelCredentials createS2ASecuredChannelCredentials() { // Fallback to plaintext connection to S2A. LOG.log( Level.INFO, - "Cannot establish an mTLS connection to S2A because autoconfig endpoint did not return a mtls address to reach S2A."); + "Cannot establish an mTLS connection to S2A because autoconfig endpoint did not" + + " return a mtls address to reach S2A."); s2aChannelCredentials = createPlaintextToS2AChannelCredentials(plaintextAddress); return s2aChannelCredentials; } @@ -685,7 +698,9 @@ ChannelCredentials createS2ASecuredChannelCredentials() { // Fallback to plaintext-to-S2A connection on error. LOG.log( Level.WARNING, - "Cannot establish an mTLS connection to S2A due to error creating MTLS to MDS TlsChannelCredentials credentials, falling back to plaintext connection to S2A: " + "Cannot establish an mTLS connection to S2A due to error creating MTLS to MDS" + + " TlsChannelCredentials credentials, falling back to plaintext connection to" + + " S2A: " + ignore.getMessage()); s2aChannelCredentials = createPlaintextToS2AChannelCredentials(plaintextAddress); return s2aChannelCredentials; @@ -755,6 +770,8 @@ public ManagedChannelBuilder createChannelBuilder() throws IOException { if (channelCredentials != null) { // Create the channel using channel credentials created via DCA. builder = Grpc.newChannelBuilder(endpoint, channelCredentials); + } else if (mtlsProvider != null && certificateBasedAccess.useMtlsClientCertificate()) { + throw new IOException("Failed to initialize mTLS channel credentials"); } else { // Could not create channel credentials via DCA. In accordance with // https://google.aip.dev/auth/4115, if credentials not available through @@ -1403,7 +1420,8 @@ public InstantiatingGrpcChannelProvider build() { "DefaultMtlsProviderFactory encountered unexpected IOException: " + e.getMessage()); LOG.log( Level.WARNING, - "mTLS configuration was detected on the device, but mTLS failed to initialize. Falling back to non-mTLS channel."); + "mTLS configuration was detected on the device, but mTLS failed to initialize." + + " Falling back to non-mTLS channel."); } } } diff --git a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/ChannelPoolTest.java b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/ChannelPoolTest.java index 5bfdc7754759..ed658c2f45d8 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/ChannelPoolTest.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/ChannelPoolTest.java @@ -47,6 +47,7 @@ import com.google.api.gax.rpc.StreamController; import com.google.api.gax.rpc.UnaryCallSettings; import com.google.api.gax.rpc.UnaryCallable; +import com.google.api.gax.rpc.mtls.CertificateRotationTracker; import com.google.api.gax.util.FakeLogHandler; import com.google.auth.Credentials; import com.google.common.collect.ImmutableList; @@ -61,16 +62,27 @@ import io.grpc.Status; import io.grpc.stub.ClientCalls; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.time.Duration; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.concurrent.CancellationException; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; +import java.util.logging.Level; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -81,13 +93,18 @@ class ChannelPoolTest { private static final int DEFAULT_AWAIT_TERMINATION_SEC = 10; private ChannelPool pool; + private Path tempCert; @AfterEach - void cleanup() throws InterruptedException { + void cleanup() throws InterruptedException, IOException { if (pool != null) { pool.shutdown(); pool.awaitTermination(DEFAULT_AWAIT_TERMINATION_SEC, TimeUnit.SECONDS); } + if (tempCert != null) { + Files.deleteIfExists(tempCert); + tempCert = null; + } } @Test @@ -101,6 +118,7 @@ void testAuthority() throws IOException { ChannelPool.create( ChannelPoolSettings.staticallySized(2), new FakeChannelFactory(Arrays.asList(sub1, sub2)), + null, null); assertThat(pool.authority()).isEqualTo("myAuth"); } @@ -117,6 +135,7 @@ void testRoundRobin() throws IOException { ChannelPool.create( ChannelPoolSettings.staticallySized(channels.size()), new FakeChannelFactory(channels), + null, null); verifyTargetChannel(pool, channels, sub1); @@ -195,6 +214,7 @@ void ensureEvenDistribution() throws InterruptedException, IOException { ChannelPool.create( ChannelPoolSettings.staticallySized(numChannels), new FakeChannelFactory(Arrays.asList(channels)), + null, null); int numThreads = 20; @@ -233,6 +253,7 @@ void channelPrimerShouldCallPoolConstruction() throws IOException { .setPreemptiveRefreshEnabled(true) .build(), new FakeChannelFactory(Arrays.asList(channel1, channel2), mockChannelPrimer), + null, null); Mockito.verify(mockChannelPrimer, Mockito.times(2)) .primeChannel(Mockito.any(ManagedChannel.class)); @@ -273,7 +294,8 @@ void channelPrimerIsCalledPeriodically() throws IOException { .setPreemptiveRefreshEnabled(true) .build(), channelFactory, - provider); + provider, + null); // 1 call during the creation Mockito.verify(mockChannelPrimer, Mockito.times(1)) .primeChannel(Mockito.any(ManagedChannel.class)); @@ -297,7 +319,7 @@ void callShouldCompleteAfterCreation() throws IOException { ManagedChannel replacementChannel = mock(ManagedChannel.class); FakeChannelFactory channelFactory = new FakeChannelFactory(ImmutableList.of(underlyingChannel, replacementChannel)); - pool = ChannelPool.create(ChannelPoolSettings.staticallySized(1), channelFactory, null); + pool = ChannelPool.create(ChannelPoolSettings.staticallySized(1), channelFactory, null, null); // create a mock call when new call comes to the underlying channel MockClientCall mockClientCall = new MockClientCall<>(1, Status.OK); @@ -322,7 +344,7 @@ void callShouldCompleteAfterCreation() throws IOException { ClientCall call = pool.newCall(FakeMethodDescriptor.create(), CallOptions.DEFAULT); - pool.refresh(); + pool.refreshAll(); // shutdown is not called because there is still an outstanding call, even if it hasn't started Mockito.verify(underlyingChannel, Mockito.after(200).never()).shutdown(); @@ -346,7 +368,7 @@ void callShouldCompleteAfterStarted() throws IOException { FakeChannelFactory channelFactory = new FakeChannelFactory(ImmutableList.of(underlyingChannel, replacementChannel)); - pool = ChannelPool.create(ChannelPoolSettings.staticallySized(1), channelFactory, null); + pool = ChannelPool.create(ChannelPoolSettings.staticallySized(1), channelFactory, null, null); // create a mock call when new call comes to the underlying channel MockClientCall mockClientCall = new MockClientCall<>(1, Status.OK); @@ -373,7 +395,7 @@ void callShouldCompleteAfterStarted() throws IOException { // start clientCall call.start(listener, new Metadata()); - pool.refresh(); + pool.refreshAll(); // shutdown is not called because there is still an outstanding call Mockito.verify(underlyingChannel, Mockito.after(200).never()).shutdown(); @@ -391,7 +413,7 @@ void channelShouldShutdown() throws IOException { FakeChannelFactory channelFactory = new FakeChannelFactory(ImmutableList.of(underlyingChannel, replacementChannel)); - pool = ChannelPool.create(ChannelPoolSettings.staticallySized(1), channelFactory, null); + pool = ChannelPool.create(ChannelPoolSettings.staticallySized(1), channelFactory, null, null); // create a mock call when new call comes to the underlying channel MockClientCall mockClientCall = new MockClientCall<>(1, Status.OK); @@ -422,11 +444,1009 @@ void channelShouldShutdown() throws IOException { call.sendMessage("message"); // shutdown is not called because it has not been shutdown yet Mockito.verify(underlyingChannel, Mockito.after(200).never()).shutdown(); - pool.refresh(); + pool.refreshAll(); // shutdown is called because the outstanding call has completed Mockito.verify(underlyingChannel, Mockito.atLeastOnce()).shutdown(); } + @Test + void testCancelBeforeStartReleasesChannelEntry() throws IOException { + ManagedChannel underlyingChannel = mock(ManagedChannel.class); + ManagedChannel replacementChannel = mock(ManagedChannel.class); + FakeChannelFactory channelFactory = + new FakeChannelFactory(ImmutableList.of(underlyingChannel, replacementChannel)); + pool = ChannelPool.create(ChannelPoolSettings.staticallySized(1), channelFactory, null, null); + + ClientCall call = + pool.newCall(FakeMethodDescriptor.create(), CallOptions.DEFAULT); + + pool.refreshAll(); + Mockito.verify(underlyingChannel, Mockito.never()).shutdown(); + + call.cancel("Cancelled early", null); + Mockito.verify(underlyingChannel, Mockito.times(1)).shutdown(); + } + + @Test + void channelReactiveMTlsRefresh_swapsChannelsOnlyWhenCertChanges() + throws IOException, InterruptedException { + ManagedChannel underlyingChannel1 = Mockito.mock(ManagedChannel.class); + ManagedChannel underlyingChannel2 = Mockito.mock(ManagedChannel.class); + + FakeChannelFactory channelFactory = + new FakeChannelFactory(ImmutableList.of(underlyingChannel1, underlyingChannel2)); + + // Create a temp file to act as the cert + tempCert = Files.createTempFile("cert", ".pem"); + + Path clientCert = Paths.get("src", "test", "resources", "client_cert.pem"); + Files.copy(clientCert, tempCert, StandardCopyOption.REPLACE_EXISTING); + + ChannelPoolSettings channelPoolSettings = + ChannelPoolSettings.builder().setInitialChannelCount(1).build(); + + pool = ChannelPool.create(channelPoolSettings, channelFactory, null, tempCert.toString()); + + // Initially uses channel1 + pool.newCall(FakeMethodDescriptor.create(), CallOptions.DEFAULT); + Mockito.verify(underlyingChannel1, Mockito.times(1)) + .newCall(Mockito.>any(), Mockito.any(CallOptions.class)); + + // Try a reactive refresh *without* changing the cert content (should no-op) + pool.refresh(); + + // Verify it's STILL channel1 + pool.newCall(FakeMethodDescriptor.create(), CallOptions.DEFAULT); + Mockito.verify(underlyingChannel1, Mockito.times(2)) + .newCall(Mockito.>any(), Mockito.any(CallOptions.class)); + + // The ChannelPool caches fingerprints for 1000ms, wait for it to expire + pool.invalidateDiskFingerprintCache(); + + Path rootCert = Paths.get("src", "test", "resources", "root_cert.pem"); + Files.copy(rootCert, tempCert, StandardCopyOption.REPLACE_EXISTING); + + // Try a reactive refresh *with* a changed cert content (should swap channels) + pool.refresh(); + + // Verify it is NOW channel2 + pool.newCall(FakeMethodDescriptor.create(), CallOptions.DEFAULT); + Mockito.verify(underlyingChannel2, Mockito.times(1)) + .newCall(Mockito.>any(), Mockito.any(CallOptions.class)); + } + + @Test + void channelReactiveMTlsRefresh_failedCreationDoesNotMutateFingerprintAndAllowsRetry() + throws IOException { + ManagedChannel channel1 = Mockito.mock(ManagedChannel.class); + ManagedChannel channel2 = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = + Mockito.mock(ChannelFactory.class, Mockito.withSettings().withoutAnnotations()); + + // Initial creation returns channel1, refresh attempt 1 throws IOException, refresh attempt 2 + // returns channel2 + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn(channel1) + .thenThrow(new IOException("Transient channel creation error")) + .thenReturn(channel2); + + tempCert = Files.createTempFile("cert", ".pem"); + Path clientCert = Paths.get("src", "test", "resources", "client_cert.pem"); + Files.copy(clientCert, tempCert, StandardCopyOption.REPLACE_EXISTING); + + ChannelPoolSettings channelPoolSettings = + ChannelPoolSettings.builder().setInitialChannelCount(1).build(); + + pool = ChannelPool.create(channelPoolSettings, channelFactory, null, tempCert.toString()); + + // Initially uses channel1 + pool.newCall(FakeMethodDescriptor.create(), CallOptions.DEFAULT); + Mockito.verify(channel1, Mockito.times(1)) + .newCall(Mockito.>any(), Mockito.any(CallOptions.class)); + + // Rotate cert on disk + pool.invalidateDiskFingerprintCache(); + Path rootCert = Paths.get("src", "test", "resources", "root_cert.pem"); + Files.copy(rootCert, tempCert, StandardCopyOption.REPLACE_EXISTING); + + // Refresh attempt 1: createSingleChannel throws IOException. + // Refresh should fail to replace channel and MUST NOT record the new cert fingerprint as + // active. + pool.refresh(); + + // Verify still channel1 + pool.newCall(FakeMethodDescriptor.create(), CallOptions.DEFAULT); + Mockito.verify(channel1, Mockito.times(2)) + .newCall(Mockito.>any(), Mockito.any(CallOptions.class)); + + // Refresh attempt 2: with the same cert file on disk (cache expired), channelFactory now + // succeeds. + // If the fingerprint had been mutated on the failed attempt, this call would be skipped as a + // duplicate! + pool.invalidateDiskFingerprintCache(); + pool.refresh(); + + // Verify it has now swapped to channel2! + pool.newCall(FakeMethodDescriptor.create(), CallOptions.DEFAULT); + Mockito.verify(channel2, Mockito.times(1)) + .newCall(Mockito.>any(), Mockito.any(CallOptions.class)); + } + + private void writeCert(String resourceName) throws IOException { + if (tempCert == null) { + tempCert = Files.createTempFile("cert", ".pem"); + } + Files.copy( + Paths.get("src", "test", "resources", resourceName), + tempCert, + StandardCopyOption.REPLACE_EXISTING); + } + + /** Creates an mTLS pool backed by {@code executor} and then rotates the certificate on disk. */ + private ChannelPool createMtlsPoolAndRotateCert( + ChannelPoolSettings settings, + ChannelFactory channelFactory, + ScheduledExecutorService executor) + throws IOException { + writeCert("client_cert.pem"); + pool = + new ChannelPool( + settings, channelFactory, FixedExecutorProvider.create(executor), tempCert.toString()); + pool.invalidateDiskFingerprintCache(); + writeCert("root_cert.pem"); + assertThat(pool.shouldRefresh()).isTrue(); + return pool; + } + + private static ScheduledExecutorService mockExecutor() { + return Mockito.mock( + ScheduledExecutorService.class, Mockito.withSettings().withoutAnnotations()); + } + + private static ChannelFactory mockChannelFactory() { + return Mockito.mock(ChannelFactory.class, Mockito.withSettings().withoutAnnotations()); + } + + @Test + void channelReactiveMTlsRefresh_partialFailureInStaticPool_dropsUnrefreshedChannelsAndRefills() + throws IOException { + ScheduledExecutorService executor = mockExecutor(); + ManagedChannel initial1 = Mockito.mock(ManagedChannel.class); + ManagedChannel initial2 = Mockito.mock(ManagedChannel.class); + ManagedChannel rotated1 = Mockito.mock(ManagedChannel.class); + ManagedChannel refilled = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn(initial1, initial2) + .thenReturn(rotated1) + .thenThrow(new IOException("Transient failure on second sub-channel")) + .thenReturn(refilled); + + createMtlsPoolAndRotateCert(ChannelPoolSettings.staticallySized(2), channelFactory, executor); + long genBefore = pool.getGeneration(); + + pool.refresh(); + + // Only the newly created channel is kept; both channels on the old certificate are retired. + assertThat(pool.entries.get()).hasSize(1); + Mockito.verify(initial1).shutdown(); + Mockito.verify(initial2).shutdown(); + Mockito.verify(rotated1, Mockito.never()).shutdown(); + pool.newCall(FakeMethodDescriptor.create(), CallOptions.DEFAULT); + Mockito.verify(rotated1) + .newCall(Mockito.>any(), Mockito.any(CallOptions.class)); + assertThat(pool.getGeneration()).isEqualTo(genBefore + 1); + // Every channel left in the pool uses the new certificate, so it is recorded as active. + pool.invalidateDiskFingerprintCache(); + assertThat(pool.shouldRefresh()).isFalse(); + + // A one-time refill restores the configured size. + ArgumentCaptor refillTask = ArgumentCaptor.forClass(Runnable.class); + Mockito.verify(executor).execute(refillTask.capture()); + refillTask.getValue().run(); + assertThat(pool.entries.get()).hasSize(2); + Mockito.verify(channelFactory, Mockito.times(5)).createSingleChannel(); + + // Running the refill again on a full pool creates no channels. + refillTask.getValue().run(); + assertThat(pool.entries.get()).hasSize(2); + Mockito.verify(channelFactory, Mockito.times(5)).createSingleChannel(); + Mockito.verify(refilled, Mockito.never()).shutdown(); + Mockito.verify(executor, Mockito.times(1)).execute(Mockito.any(Runnable.class)); + } + + @Test + void channelReactiveMTlsRefresh_fullSuccess_doesNotScheduleRefill() throws IOException { + ScheduledExecutorService executor = mockExecutor(); + ManagedChannel initial1 = Mockito.mock(ManagedChannel.class); + ManagedChannel initial2 = Mockito.mock(ManagedChannel.class); + ManagedChannel rotated1 = Mockito.mock(ManagedChannel.class); + ManagedChannel rotated2 = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn(initial1, initial2, rotated1, rotated2); + + createMtlsPoolAndRotateCert(ChannelPoolSettings.staticallySized(2), channelFactory, executor); + + pool.refresh(); + + assertThat(pool.entries.get()).hasSize(2); + Mockito.verify(initial1).shutdown(); + Mockito.verify(initial2).shutdown(); + pool.invalidateDiskFingerprintCache(); + assertThat(pool.shouldRefresh()).isFalse(); + Mockito.verify(executor, Mockito.never()).execute(Mockito.any(Runnable.class)); + } + + @Test + void refreshAll_partialFailureWithoutRotation_keepsOldChannelAndDoesNotScheduleRefill() + throws IOException { + // Non-rotation refreshes (e.g. the preemptive refresh) keep per-slot fallback even for mTLS. + ScheduledExecutorService executor = mockExecutor(); + ManagedChannel initial1 = Mockito.mock(ManagedChannel.class); + ManagedChannel initial2 = Mockito.mock(ManagedChannel.class); + ManagedChannel refreshed1 = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn(initial1, initial2) + .thenReturn(refreshed1) + .thenThrow(new IOException("Transient failure on second sub-channel")); + + writeCert("client_cert.pem"); + pool = + new ChannelPool( + ChannelPoolSettings.staticallySized(2), + channelFactory, + FixedExecutorProvider.create(executor), + tempCert.toString()); + long genBefore = pool.getGeneration(); + List before = pool.entries.get(); + + assertThat(pool.refreshAll()).isFalse(); + + assertThat(pool.entries.get()).hasSize(2); + // Each channel keeps its slot, so affinity-to-index mapping is unchanged. + assertThat(pool.entries.get().get(0)).isNotSameInstanceAs(before.get(0)); + assertThat(pool.entries.get().get(1)).isSameInstanceAs(before.get(1)); + Mockito.verify(initial1).shutdown(); + Mockito.verify(initial2, Mockito.never()).shutdown(); + assertThat(pool.getGeneration()).isEqualTo(genBefore); + Mockito.verify(executor, Mockito.never()).execute(Mockito.any(Runnable.class)); + } + + @Test + void channelReactiveMTlsRefresh_allChannelsFail_leavesPoolUnchangedAndDoesNotRefill() + throws IOException { + ScheduledExecutorService executor = mockExecutor(); + ManagedChannel initial1 = Mockito.mock(ManagedChannel.class); + ManagedChannel initial2 = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn(initial1, initial2) + .thenThrow(new IOException("Failure on first sub-channel")) + .thenThrow(new IOException("Failure on second sub-channel")); + + createMtlsPoolAndRotateCert(ChannelPoolSettings.staticallySized(2), channelFactory, executor); + long genBefore = pool.getGeneration(); + List before = pool.entries.get(); + + pool.refresh(); + + // Nothing could be rebuilt, so the pool keeps its old channels and the rotation stays pending. + assertThat(pool.entries.get()).containsExactlyElementsIn(before).inOrder(); + Mockito.verify(initial1, Mockito.never()).shutdown(); + Mockito.verify(initial2, Mockito.never()).shutdown(); + assertThat(pool.getGeneration()).isEqualTo(genBefore); + pool.invalidateDiskFingerprintCache(); + assertThat(pool.shouldRefresh()).isTrue(); + Mockito.verify(executor, Mockito.never()).execute(Mockito.any(Runnable.class)); + } + + @Test + void channelReactiveMTlsRefresh_partialFailureInDynamicPool_refillsToPreRefreshSize() + throws IOException { + ScheduledExecutorService executor = mockExecutor(); + ManagedChannel initial1 = Mockito.mock(ManagedChannel.class); + ManagedChannel initial2 = Mockito.mock(ManagedChannel.class); + ManagedChannel rotated1 = Mockito.mock(ManagedChannel.class); + ManagedChannel refilled = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn(initial1, initial2) + .thenReturn(rotated1) + .thenThrow(new IOException("Transient failure on second sub-channel")) + .thenReturn(refilled); + + createMtlsPoolAndRotateCert( + ChannelPoolSettings.builder() + .setInitialChannelCount(2) + .setMinChannelCount(2) + .setMaxChannelCount(4) + .setMinRpcsPerChannel(1) + .setMaxRpcsPerChannel(2) + .build(), + channelFactory, + executor); + + pool.refresh(); + + assertThat(pool.entries.get()).hasSize(1); + Mockito.verify(initial1).shutdown(); + Mockito.verify(initial2).shutdown(); + pool.invalidateDiskFingerprintCache(); + assertThat(pool.shouldRefresh()).isFalse(); + + // Dynamic pools are refilled right away too, rather than waiting for resize(). + ArgumentCaptor refillTask = ArgumentCaptor.forClass(Runnable.class); + Mockito.verify(executor).execute(refillTask.capture()); + refillTask.getValue().run(); + assertThat(pool.entries.get()).hasSize(2); + Mockito.verify(refilled, Mockito.never()).shutdown(); + } + + @Test + void channelReactiveMTlsRefresh_partialFailureAfterResize_refillsToPreRefreshSize() + throws IOException { + ScheduledExecutorService executor = mockExecutor(); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn( + // initial pool of 4 + Mockito.mock(ManagedChannel.class), + Mockito.mock(ManagedChannel.class), + Mockito.mock(ManagedChannel.class), + Mockito.mock(ManagedChannel.class), + // rotation refresh: 1 of the 2 remaining channels is recreated + Mockito.mock(ManagedChannel.class)) + .thenThrow(new IOException("Transient failure on second sub-channel")) + .thenReturn(Mockito.mock(ManagedChannel.class)); + + createMtlsPoolAndRotateCert( + ChannelPoolSettings.builder() + .setInitialChannelCount(4) + .setMinChannelCount(2) + .setMaxChannelCount(6) + .setMinRpcsPerChannel(1) + .setMaxRpcsPerChannel(2) + .build(), + channelFactory, + executor); + // With no load, resize() shrinks the pool below its initial channel count. + pool.resize(); + assertThat(pool.entries.get()).hasSize(2); + + pool.refresh(); + assertThat(pool.entries.get()).hasSize(1); + + // The refill targets the size before the refresh, not the initial channel count. + ArgumentCaptor refillTask = ArgumentCaptor.forClass(Runnable.class); + Mockito.verify(executor).execute(refillTask.capture()); + refillTask.getValue().run(); + assertThat(pool.entries.get()).hasSize(2); + Mockito.verify(channelFactory, Mockito.times(7)).createSingleChannel(); + } + + @Test + void refill_afterShutdown_createsNoChannels() throws IOException { + ScheduledExecutorService executor = mockExecutor(); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn( + Mockito.mock(ManagedChannel.class), + Mockito.mock(ManagedChannel.class), + Mockito.mock(ManagedChannel.class)) + .thenThrow(new IOException("Transient failure on second sub-channel")) + .thenReturn(Mockito.mock(ManagedChannel.class)); + + createMtlsPoolAndRotateCert(ChannelPoolSettings.staticallySized(2), channelFactory, executor); + pool.refresh(); + ArgumentCaptor refillTask = ArgumentCaptor.forClass(Runnable.class); + Mockito.verify(executor).execute(refillTask.capture()); + + pool.shutdown(); + refillTask.getValue().run(); + + assertThat(pool.entries.get()).hasSize(1); + Mockito.verify(channelFactory, Mockito.times(4)).createSingleChannel(); + } + + @Test + void resize_afterShutdown_createsNoChannels() throws IOException { + ScheduledExecutorService executor = mockExecutor(); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn( + Mockito.mock(ManagedChannel.class), + Mockito.mock(ManagedChannel.class), + Mockito.mock(ManagedChannel.class)) + .thenThrow(new IOException("Transient failure on second sub-channel")) + .thenReturn(Mockito.mock(ManagedChannel.class)); + createMtlsPoolAndRotateCert( + ChannelPoolSettings.builder() + .setInitialChannelCount(2) + .setMinChannelCount(2) + .setMaxChannelCount(4) + .setMinRpcsPerChannel(1) + .setMaxRpcsPerChannel(2) + .build(), + channelFactory, + executor); + ArgumentCaptor resizeTask = ArgumentCaptor.forClass(Runnable.class); + Mockito.verify(executor) + .scheduleAtFixedRate( + resizeTask.capture(), Mockito.anyLong(), Mockito.anyLong(), Mockito.any()); + // Drop the pool below its minimum size, so that resize() would expand it. + pool.refresh(); + assertThat(pool.entries.get()).hasSize(1); + + // A resize run that was already waiting for the lock when the pool was shut down. + pool.shutdown(); + resizeTask.getValue().run(); + + assertThat(pool.entries.get()).hasSize(1); + Mockito.verify(channelFactory, Mockito.times(4)).createSingleChannel(); + } + + @Test + void refill_channelCreationFailure_isLoggedAndDoesNotThrow() throws IOException { + ScheduledExecutorService executor = mockExecutor(); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn( + Mockito.mock(ManagedChannel.class), + Mockito.mock(ManagedChannel.class), + Mockito.mock(ManagedChannel.class)) + .thenThrow(new IOException("Transient failure on second sub-channel")) + .thenThrow(new IOException("Checked failure during refill")) + .thenThrow(new RuntimeException("Unchecked failure during refill")) + .thenReturn(Mockito.mock(ManagedChannel.class)); + + createMtlsPoolAndRotateCert(ChannelPoolSettings.staticallySized(2), channelFactory, executor); + pool.refresh(); + ArgumentCaptor refillTask = ArgumentCaptor.forClass(Runnable.class); + Mockito.verify(executor).execute(refillTask.capture()); + + // Checked and unchecked failures are both handled by expand(); the pool stays usable at its + // reduced size. + FakeLogHandler logHandler = new FakeLogHandler(); + ChannelPool.LOG.addHandler(logHandler); + try { + refillTask.getValue().run(); + assertThat(pool.entries.get()).hasSize(1); + + refillTask.getValue().run(); + assertThat(pool.entries.get()).hasSize(1); + } finally { + ChannelPool.LOG.removeHandler(logHandler); + } + assertThat(logHandler.getAllMessages()) + .containsExactly("Failed to add channel", "Failed to add channel"); + + refillTask.getValue().run(); + assertThat(pool.entries.get()).hasSize(2); + } + + @Test + void refill_failureAfterPartialProgress_keepsCreatedChannels() throws IOException { + ScheduledExecutorService executor = mockExecutor(); + ManagedChannel refilled = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn( + Mockito.mock(ManagedChannel.class), + Mockito.mock(ManagedChannel.class), + Mockito.mock(ManagedChannel.class), + Mockito.mock(ManagedChannel.class)) + .thenThrow(new IOException("Transient failure on second sub-channel")) + .thenThrow(new IOException("Transient failure on third sub-channel")) + .thenReturn(refilled) + .thenThrow(new RuntimeException("Unchecked failure during refill")); + + createMtlsPoolAndRotateCert(ChannelPoolSettings.staticallySized(3), channelFactory, executor); + pool.refresh(); + assertThat(pool.entries.get()).hasSize(1); + ArgumentCaptor refillTask = ArgumentCaptor.forClass(Runnable.class); + Mockito.verify(executor).execute(refillTask.capture()); + + refillTask.getValue().run(); + + // The channel created before the failure is added to the pool rather than orphaned. + assertThat(pool.entries.get()).hasSize(2); + Mockito.verify(refilled, Mockito.never()).shutdown(); + Mockito.verify(channelFactory, Mockito.times(8)).createSingleChannel(); + } + + @Test + void channelReactiveMTlsRefresh_refillRejectedByExecutor_stillCompletesRefresh() + throws IOException { + ScheduledExecutorService executor = mockExecutor(); + Mockito.doThrow(new RejectedExecutionException("Executor shut down")) + .when(executor) + .execute(Mockito.any(Runnable.class)); + ManagedChannel initial1 = Mockito.mock(ManagedChannel.class); + ManagedChannel initial2 = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn(initial1, initial2, Mockito.mock(ManagedChannel.class)) + .thenThrow(new IOException("Transient failure on second sub-channel")); + + createMtlsPoolAndRotateCert(ChannelPoolSettings.staticallySized(2), channelFactory, executor); + long genBefore = pool.getGeneration(); + + pool.refresh(); + + Mockito.verify(executor).execute(Mockito.any(Runnable.class)); + assertThat(pool.entries.get()).hasSize(1); + Mockito.verify(initial1).shutdown(); + Mockito.verify(initial2).shutdown(); + assertThat(pool.getGeneration()).isEqualTo(genBefore + 1); + pool.invalidateDiskFingerprintCache(); + assertThat(pool.shouldRefresh()).isFalse(); + } + + @Test + void refreshAll_runtimeExceptionOrError_doesNotLeakCreatedChannels() throws IOException { + ManagedChannel initial1 = Mockito.mock(ManagedChannel.class); + ManagedChannel initial2 = Mockito.mock(ManagedChannel.class); + ManagedChannel createdBeforeRuntimeEx = Mockito.mock(ManagedChannel.class); + ManagedChannel createdBeforeError = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = + Mockito.mock(ChannelFactory.class, Mockito.withSettings().withoutAnnotations()); + + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn(initial1, initial2) + .thenReturn(createdBeforeRuntimeEx) + .thenThrow(new RuntimeException("Unchecked runtime exception")) + .thenReturn(createdBeforeError) + .thenThrow(new AssertionError("Simulated Error during refresh")); + + pool = ChannelPool.create(ChannelPoolSettings.staticallySized(2), channelFactory, null, null); + + // Case 1: RuntimeException on channel 1 after creating channel 0 -> caught as Exception, + // partial progress committed + boolean allCreated = pool.refreshAll(); + assertThat(allCreated).isFalse(); + Mockito.verify(initial1).shutdown(); + + // Case 2: Error on channel 1 after creating channel 0 -> aborts, finally block must shut down + // createdBeforeError + assertThrows(AssertionError.class, () -> pool.refreshAll()); + Mockito.verify(createdBeforeError).shutdown(); + } + + @Test + void refresh_onShutdownPool_noOpsAndCreatesNoChannels() throws IOException { + ManagedChannel channel1 = mock(ManagedChannel.class); + ManagedChannel channel2 = mock(ManagedChannel.class); + ChannelFactory channelFactory = + Mockito.mock(ChannelFactory.class, Mockito.withSettings().withoutAnnotations()); + Mockito.when(channelFactory.createSingleChannel()).thenReturn(channel1, channel2); + + pool = ChannelPool.create(ChannelPoolSettings.staticallySized(1), channelFactory, null, null); + Mockito.verify(channelFactory, Mockito.times(1)).createSingleChannel(); + + pool.shutdown(); + assertThat(pool.isShutdown()).isTrue(); + + // Invoking refresh or refreshAll on shut down pool must no-op and never create new subchannels + pool.refresh(); + boolean refreshed = pool.refreshAll(); + assertThat(refreshed).isFalse(); + Mockito.verify(channelFactory, Mockito.times(1)).createSingleChannel(); + assertThat(pool.isShutdown()).isTrue(); + } + + @Test + void refreshAll_doesNotIncrementGeneration() throws IOException { + ManagedChannel channel1 = mock(ManagedChannel.class); + ManagedChannel channel2 = mock(ManagedChannel.class); + ChannelFactory channelFactory = + Mockito.mock(ChannelFactory.class, Mockito.withSettings().withoutAnnotations()); + Mockito.when(channelFactory.createSingleChannel()).thenReturn(channel1, channel2); + + pool = ChannelPool.create(ChannelPoolSettings.staticallySized(1), channelFactory, null, null); + assertThat(pool.getGeneration()).isEqualTo(0); + + // Only a switch to a new certificate advances the generation. + assertThat(pool.refreshAll()).isTrue(); + Mockito.verify(channel1).shutdown(); + assertThat(pool.getGeneration()).isEqualTo(0); + } + + /** + * Creates an mTLS pool with preemptive refresh enabled and returns the scheduled periodic refresh + * task. + */ + private Runnable createPreemptiveRefreshMtlsPool(int size, ChannelFactory channelFactory) + throws IOException { + return createPreemptiveRefreshMtlsPool(size, channelFactory, mockExecutor()); + } + + private Runnable createPreemptiveRefreshMtlsPool( + int size, ChannelFactory channelFactory, ScheduledExecutorService executor) + throws IOException { + List refreshTasks = new ArrayList<>(); + Mockito.doAnswer( + invocation -> { + refreshTasks.add(invocation.getArgument(0)); + return Mockito.mock( + ScheduledFuture.class, Mockito.withSettings().withoutAnnotations()); + }) + .when(executor) + .scheduleAtFixedRate( + Mockito.any(Runnable.class), Mockito.anyLong(), Mockito.anyLong(), Mockito.any()); + writeCert("client_cert.pem"); + pool = + new ChannelPool( + ChannelPoolSettings.staticallySized(size).toBuilder() + .setPreemptiveRefreshEnabled(true) + .build(), + channelFactory, + FixedExecutorProvider.create(executor), + tempCert.toString()); + assertThat(refreshTasks).hasSize(1); + return refreshTasks.get(0); + } + + private String readCertFingerprint() { + return new CertificateRotationTracker(tempCert.toString()).readDiskFingerprint(); + } + + @Test + void preemptiveRefresh_withoutRotation_doesNotIncrementGeneration() throws IOException { + ManagedChannel initial = Mockito.mock(ManagedChannel.class); + ManagedChannel refreshed = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()).thenReturn(initial, refreshed); + Runnable preemptiveRefresh = createPreemptiveRefreshMtlsPool(1, channelFactory); + + FakeLogHandler logHandler = new FakeLogHandler(); + Level originalLevel = ChannelPool.LOG.getLevel(); + ChannelPool.LOG.setLevel(Level.FINE); + ChannelPool.LOG.addHandler(logHandler); + try { + pool.invalidateDiskFingerprintCache(); + preemptiveRefresh.run(); + } finally { + ChannelPool.LOG.removeHandler(logHandler); + ChannelPool.LOG.setLevel(originalLevel); + } + + // The channels are replaced, but the certificate did not change. + Mockito.verify(initial).shutdown(); + assertThat(pool.getGeneration()).isEqualTo(0); + assertThat(logHandler.getAllMessages()).contains("Refreshing all channels"); + assertThat(String.join("\n", logHandler.getAllMessages())) + .doesNotContain("Channel pool switched to certificate"); + } + + @Test + void preemptiveRefresh_pickingUpRotatedCert_incrementsGeneration() throws IOException { + ManagedChannel initial = Mockito.mock(ManagedChannel.class); + ManagedChannel rotated = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()).thenReturn(initial, rotated); + Runnable preemptiveRefresh = createPreemptiveRefreshMtlsPool(1, channelFactory); + + pool.invalidateDiskFingerprintCache(); + writeCert("root_cert.pem"); + preemptiveRefresh.run(); + + Mockito.verify(initial).shutdown(); + assertThat(pool.getGeneration()).isEqualTo(1); + pool.invalidateDiskFingerprintCache(); + assertThat(pool.shouldRefresh()).isFalse(); + } + + @Test + void preemptiveRefresh_whenCertUnreadable_skipsRefreshAndLogs() throws IOException { + ManagedChannel initial = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()).thenReturn(initial); + Runnable preemptiveRefresh = createPreemptiveRefreshMtlsPool(1, channelFactory); + + // An empty certificate file is what a reader sees while the certificate is being rewritten. + Files.write(tempCert, new byte[0]); + FakeLogHandler logHandler = new FakeLogHandler(); + Level originalLevel = ChannelPool.LOG.getLevel(); + ChannelPool.LOG.setLevel(Level.FINE); + ChannelPool.LOG.addHandler(logHandler); + try { + pool.invalidateDiskFingerprintCache(); + preemptiveRefresh.run(); + } finally { + ChannelPool.LOG.removeHandler(logHandler); + ChannelPool.LOG.setLevel(originalLevel); + } + + Mockito.verify(channelFactory, Mockito.times(1)).createSingleChannel(); + Mockito.verify(initial, Mockito.never()).shutdown(); + assertThat(pool.getGeneration()).isEqualTo(0); + assertThat(String.join("\n", logHandler.getAllMessages())) + .contains("Skipping pre-emptive channel refresh"); + assertThat(logHandler.getAllMessages()).doesNotContain("Refreshing all channels"); + } + + @Test + void preemptiveRefresh_partialFailureOnCertChange_dropsOldChannelsAndCompletesSwitch() + throws IOException { + ScheduledExecutorService executor = mockExecutor(); + ManagedChannel initial1 = Mockito.mock(ManagedChannel.class); + ManagedChannel initial2 = Mockito.mock(ManagedChannel.class); + ManagedChannel rotated1 = Mockito.mock(ManagedChannel.class); + ManagedChannel refilled = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn(initial1, initial2) + .thenReturn(rotated1) + .thenThrow(new IOException("Transient failure on second sub-channel")) + .thenReturn(refilled); + Runnable preemptiveRefresh = createPreemptiveRefreshMtlsPool(2, channelFactory, executor); + + pool.invalidateDiskFingerprintCache(); + writeCert("root_cert.pem"); + preemptiveRefresh.run(); + + // The channel that failed to refresh still uses the old certificate, so it is dropped and + // every channel left in the pool uses the new certificate. + Mockito.verify(initial1).shutdown(); + Mockito.verify(initial2).shutdown(); + assertThat(pool.entries.get()).hasSize(1); + assertThat(pool.getGeneration()).isEqualTo(1); + pool.invalidateDiskFingerprintCache(); + assertThat(pool.shouldRefresh()).isFalse(); + + // The pool is refilled to its size before the refresh. + ArgumentCaptor refillTask = ArgumentCaptor.forClass(Runnable.class); + Mockito.verify(executor).execute(refillTask.capture()); + refillTask.getValue().run(); + assertThat(pool.entries.get()).hasSize(2); + Mockito.verify(refilled, Mockito.never()).shutdown(); + } + + @Test + void preemptiveRefresh_allChannelsFailOnCertChange_leavesRotationPending() throws IOException { + ScheduledExecutorService executor = mockExecutor(); + ManagedChannel initial1 = Mockito.mock(ManagedChannel.class); + ManagedChannel initial2 = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn(initial1, initial2) + .thenThrow(new IOException("Transient failure")); + Runnable preemptiveRefresh = createPreemptiveRefreshMtlsPool(2, channelFactory, executor); + List entriesBefore = pool.entries.get(); + + pool.invalidateDiskFingerprintCache(); + writeCert("root_cert.pem"); + preemptiveRefresh.run(); + + // No channel could be recreated, so the pool is left unchanged and the rotation stays pending + // for the next periodic or reactive refresh. + assertThat(pool.entries.get()).containsExactlyElementsIn(entriesBefore).inOrder(); + Mockito.verify(initial1, Mockito.never()).shutdown(); + Mockito.verify(initial2, Mockito.never()).shutdown(); + assertThat(pool.getGeneration()).isEqualTo(0); + pool.invalidateDiskFingerprintCache(); + assertThat(pool.shouldRefresh()).isTrue(); + Mockito.verify(executor, Mockito.never()).execute(Mockito.any(Runnable.class)); + } + + @Test + void preemptiveRefresh_partialFailureWithoutCertChange_keepsOldChannel() throws IOException { + ScheduledExecutorService executor = mockExecutor(); + ManagedChannel initial1 = Mockito.mock(ManagedChannel.class); + ManagedChannel initial2 = Mockito.mock(ManagedChannel.class); + ManagedChannel refreshed1 = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn(initial1, initial2) + .thenReturn(refreshed1) + .thenThrow(new IOException("Transient failure on second sub-channel")); + Runnable preemptiveRefresh = createPreemptiveRefreshMtlsPool(2, channelFactory, executor); + ChannelPool.Entry initialEntry2 = pool.entries.get().get(1); + + pool.invalidateDiskFingerprintCache(); + preemptiveRefresh.run(); + + // The certificate did not change, so the channel that failed to refresh keeps its slot. + Mockito.verify(initial1).shutdown(); + Mockito.verify(initial2, Mockito.never()).shutdown(); + assertThat(pool.entries.get()).hasSize(2); + assertThat(pool.entries.get().get(1)).isSameInstanceAs(initialEntry2); + assertThat(pool.getGeneration()).isEqualTo(0); + Mockito.verify(executor, Mockito.never()).execute(Mockito.any(Runnable.class)); + } + + /** Waits until {@code thread} is blocked waiting for a monitor lock. */ + private static void awaitBlocked(Thread thread) throws InterruptedException { + long deadline = System.nanoTime() + TimeUnit.SECONDS.toNanos(5); + while (thread.getState() != Thread.State.BLOCKED) { + assertThat(System.nanoTime()).isLessThan(deadline); + Thread.sleep(1); + } + } + + /** + * Starts a reactive refresh that holds the pool lock while it recreates the channel on the + * rotated certificate, runs {@code waiter} on another thread until it blocks on the lock, and + * rotates the certificate again before letting the first refresh complete. A waiter that re-read + * the certificate would see the second rotation and refresh again. + */ + private void runWhileConcurrentSwitchHoldsLock( + CountDownLatch switchStarted, CountDownLatch releaseSwitch, Runnable waiter) + throws Exception { + Thread switchingThread = new Thread(pool::refresh); + Thread waitingThread = new Thread(waiter); + try { + switchingThread.start(); + assertThat(switchStarted.await(5, TimeUnit.SECONDS)).isTrue(); + waitingThread.start(); + awaitBlocked(waitingThread); + writeCert("client_cert.pem"); + } finally { + releaseSwitch.countDown(); + } + switchingThread.join(5000); + waitingThread.join(5000); + assertThat(switchingThread.isAlive()).isFalse(); + assertThat(waitingThread.isAlive()).isFalse(); + } + + @Test + void refresh_concurrentSwitchWhileWaitingForLock_skipsWithoutReadingDisk() throws Exception { + CountDownLatch switchStarted = new CountDownLatch(1); + CountDownLatch releaseSwitch = new CountDownLatch(1); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn(Mockito.mock(ManagedChannel.class)) + .thenAnswer( + invocation -> { + switchStarted.countDown(); + releaseSwitch.await(); + return Mockito.mock(ManagedChannel.class); + }) + .thenReturn(Mockito.mock(ManagedChannel.class)); + createMtlsPoolAndRotateCert( + ChannelPoolSettings.staticallySized(1), channelFactory, mockExecutor()); + + runWhileConcurrentSwitchHoldsLock(switchStarted, releaseSwitch, pool::refresh); + + // Only the initial channel and the concurrent switch created channels; the waiter skipped. + Mockito.verify(channelFactory, Mockito.times(2)).createSingleChannel(); + assertThat(pool.getGeneration()).isEqualTo(1); + // The second rotation is still detected for the next UNAUTHENTICATED failure. + pool.invalidateDiskFingerprintCache(); + assertThat(pool.shouldRefresh()).isTrue(); + } + + @Test + void preemptiveRefresh_concurrentSwitchWhileWaitingForLock_skipsRefresh() throws Exception { + CountDownLatch switchStarted = new CountDownLatch(1); + CountDownLatch releaseSwitch = new CountDownLatch(1); + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn(Mockito.mock(ManagedChannel.class)) + .thenAnswer( + invocation -> { + switchStarted.countDown(); + releaseSwitch.await(); + return Mockito.mock(ManagedChannel.class); + }) + .thenReturn(Mockito.mock(ManagedChannel.class)); + Runnable preemptiveRefresh = createPreemptiveRefreshMtlsPool(1, channelFactory); + pool.invalidateDiskFingerprintCache(); + writeCert("root_cert.pem"); + + runWhileConcurrentSwitchHoldsLock(switchStarted, releaseSwitch, preemptiveRefresh); + + // The channels were just recreated by the concurrent switch, so the periodic refresh skipped. + Mockito.verify(channelFactory, Mockito.times(2)).createSingleChannel(); + assertThat(pool.getGeneration()).isEqualTo(1); + pool.invalidateDiskFingerprintCache(); + assertThat(pool.shouldRefresh()).isTrue(); + } + + @Test + void refresh_whenCertUnchanged_noOpsAndDoesNotIncrementGeneration() throws IOException { + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn(Mockito.mock(ManagedChannel.class), Mockito.mock(ManagedChannel.class)); + writeCert("client_cert.pem"); + pool = + new ChannelPool( + ChannelPoolSettings.staticallySized(1), + channelFactory, + FixedExecutorProvider.create(mockExecutor()), + tempCert.toString()); + + pool.invalidateDiskFingerprintCache(); + pool.refresh(); + + assertThat(pool.getGeneration()).isEqualTo(0); + Mockito.verify(channelFactory, Mockito.times(1)).createSingleChannel(); + } + + @Test + void refresh_onRotation_logsNewCertificateFingerprint() throws IOException { + ChannelFactory channelFactory = mockChannelFactory(); + Mockito.when(channelFactory.createSingleChannel()) + .thenReturn(Mockito.mock(ManagedChannel.class), Mockito.mock(ManagedChannel.class)); + writeCert("client_cert.pem"); + String oldFingerprint = readCertFingerprint(); + createMtlsPoolAndRotateCert( + ChannelPoolSettings.staticallySized(1), channelFactory, mockExecutor()); + String newFingerprint = readCertFingerprint(); + assertThat(newFingerprint).isNotEqualTo(oldFingerprint); + + FakeLogHandler logHandler = new FakeLogHandler(); + Level originalLevel = ChannelPool.LOG.getLevel(); + ChannelPool.LOG.setLevel(Level.FINE); + ChannelPool.LOG.addHandler(logHandler); + try { + pool.refresh(); + } finally { + ChannelPool.LOG.removeHandler(logHandler); + ChannelPool.LOG.setLevel(originalLevel); + } + + assertThat(pool.getGeneration()).isEqualTo(1); + assertThat(logHandler.getAllMessages()) + .contains("Channel pool switched to certificate with fingerprint: " + newFingerprint); + assertThat(String.join("\n", logHandler.getAllMessages())).doesNotContain(oldFingerprint); + } + + @Test + void shutdown_interruptsInProgressRefresh() throws Exception { + CountDownLatch refreshStarted = new CountDownLatch(1); + CountDownLatch release = new CountDownLatch(1); + AtomicBoolean refreshInterrupted = new AtomicBoolean(); + AtomicInteger createdChannels = new AtomicInteger(); + ChannelFactory channelFactory = + () -> { + if (createdChannels.getAndIncrement() > 0) { + // The preemptive refresh blocks while creating its replacement channel. + refreshStarted.countDown(); + try { + release.await(); + } catch (InterruptedException e) { + refreshInterrupted.set(true); + Thread.currentThread().interrupt(); + throw new IOException("Interrupted while creating channel", e); + } + } + return Mockito.mock(ManagedChannel.class); + }; + ScheduledExecutorService realExecutor = Executors.newSingleThreadScheduledExecutor(); + ScheduledExecutorService executor = mockExecutor(); + Mockito.doAnswer( + invocation -> + realExecutor.schedule( + (Runnable) invocation.getArgument(0), 0, TimeUnit.MILLISECONDS)) + .when(executor) + .scheduleAtFixedRate( + Mockito.any(Runnable.class), Mockito.anyLong(), Mockito.anyLong(), Mockito.any()); + try { + pool = + new ChannelPool( + ChannelPoolSettings.staticallySized(1).toBuilder() + .setPreemptiveRefreshEnabled(true) + .build(), + channelFactory, + FixedExecutorProvider.create(executor), + null); + assertThat(refreshStarted.await(5, TimeUnit.SECONDS)).isTrue(); + + // The refresh holds the pool's write lock; shutdown must interrupt it rather than wait. + Assertions.assertTimeoutPreemptively(Duration.ofSeconds(5), () -> pool.shutdown()); + + assertThat(refreshInterrupted.get()).isTrue(); + assertThat(pool.isShutdown()).isTrue(); + } finally { + release.countDown(); + realExecutor.shutdownNow(); + } + } + @Test void channelRefreshShouldSwapChannels() throws IOException { ManagedChannel underlyingChannel1 = mock(ManagedChannel.class); @@ -450,7 +1470,8 @@ void channelRefreshShouldSwapChannels() throws IOException { .setPreemptiveRefreshEnabled(true) .build(), channelFactory, - provider); + provider, + null); Mockito.reset(underlyingChannel1); pool.newCall(FakeMethodDescriptor.create(), CallOptions.DEFAULT); @@ -459,7 +1480,7 @@ void channelRefreshShouldSwapChannels() throws IOException { .newCall(Mockito.>any(), Mockito.any(CallOptions.class)); // swap channel - pool.refresh(); + pool.refreshAll(); pool.newCall(FakeMethodDescriptor.create(), CallOptions.DEFAULT); @@ -467,6 +1488,37 @@ void channelRefreshShouldSwapChannels() throws IOException { .newCall(Mockito.>any(), Mockito.any(CallOptions.class)); } + @Test + void testRefreshWithNullWorkloadCertPathSwapsChannel() throws IOException { + ScheduledExecutorService executor = + Mockito.mock(ScheduledExecutorService.class, Mockito.withSettings().withoutAnnotations()); + FixedExecutorProvider provider = FixedExecutorProvider.create(executor); + ManagedChannel underlyingChannel1 = Mockito.mock(ManagedChannel.class); + ManagedChannel underlyingChannel2 = Mockito.mock(ManagedChannel.class); + FakeChannelFactory channelFactory = + new FakeChannelFactory(ImmutableList.of(underlyingChannel1, underlyingChannel2)); + pool = + new ChannelPool( + ChannelPoolSettings.staticallySized(1).toBuilder() + .setPreemptiveRefreshEnabled(true) + .build(), + channelFactory, + provider, + null); + Mockito.reset(underlyingChannel1); + + pool.newCall(FakeMethodDescriptor.create(), CallOptions.DEFAULT); + Mockito.verify(underlyingChannel1, Mockito.only()) + .newCall(Mockito.>any(), Mockito.any(CallOptions.class)); + + // Calling refresh() when workloadCertPath is null should fall back to refreshAll() + pool.refresh(); + + pool.newCall(FakeMethodDescriptor.create(), CallOptions.DEFAULT); + Mockito.verify(underlyingChannel2, Mockito.only()) + .newCall(Mockito.>any(), Mockito.any(CallOptions.class)); + } + @Test void channelCountShouldNotChangeWhenOutstandingRpcsAreWithinLimits() throws Exception { ScheduledExecutorService executor = @@ -486,7 +1538,8 @@ void channelCountShouldNotChangeWhenOutstandingRpcsAreWithinLimits() throws Exce .setMaxRpcsPerChannel(2) .build(), channelFactory, - provider); + provider, + null); assertThat(pool.entries.get()).hasSize(2); // Start the minimum number of @@ -553,7 +1606,8 @@ void customResizeDeltaIsRespected() throws Exception { .setMaxResizeDelta(5) .build(), channelFactory, - provider); + provider, + null); assertThat(pool.entries.get()).hasSize(2); // Add 20 RPCs to push expansion @@ -586,7 +1640,8 @@ void removedIdleChannelsAreShutdown() throws Exception { .setMaxRpcsPerChannel(2) .build(), channelFactory, - provider); + provider, + null); assertThat(pool.entries.get()).hasSize(2); // With no outstanding RPCs, the pool should shrink @@ -614,7 +1669,8 @@ void removedActiveChannelsAreShutdown() throws Exception { .setMaxRpcsPerChannel(2) .build(), channelFactory, - provider); + provider, + null); assertThat(pool.entries.get()).hasSize(2); // Start 2 RPCs @@ -652,7 +1708,7 @@ void testReleasingClientCallCancelEarly() throws IOException { Mockito.when(fakeChannel.newCall(Mockito.any(), Mockito.any())).thenReturn(mockClientCall); ChannelPoolSettings channelPoolSettings = ChannelPoolSettings.staticallySized(1); ChannelFactory factory = new FakeChannelFactory(ImmutableList.of(fakeChannel)); - pool = ChannelPool.create(channelPoolSettings, factory, null); + pool = ChannelPool.create(channelPoolSettings, factory, null, null); EndpointContext endpointContext = Mockito.mock(EndpointContext.class, Mockito.withSettings().withoutAnnotations()); @@ -717,7 +1773,8 @@ void repeatedResizingLogsWarningOnExpand() throws Exception { .setMaxChannelCount(10) .build(), channelFactory, - provider); + provider, + null); assertThat(pool.entries.get()).hasSize(1); FakeLogHandler logHandler = new FakeLogHandler(); @@ -769,7 +1826,8 @@ void repeatedResizingLogsWarningOnShrink() throws Exception { .setMaxChannelCount(10) .build(), channelFactory, - provider); + provider, + null); assertThat(pool.entries.get()).hasSize(10); FakeLogHandler logHandler = new FakeLogHandler(); @@ -805,7 +1863,7 @@ void testDoubleRelease() throws Exception { ChannelPoolSettings channelPoolSettings = ChannelPoolSettings.staticallySized(1); ChannelFactory factory = new FakeChannelFactory(ImmutableList.of(fakeChannel)); - pool = ChannelPool.create(channelPoolSettings, factory, null); + pool = ChannelPool.create(channelPoolSettings, factory, null, null); EndpointContext endpointContext = Mockito.mock(EndpointContext.class, Mockito.withSettings().withoutAnnotations()); @@ -843,7 +1901,8 @@ void testDoubleRelease() throws Exception { // Ensure that the channel pool properly logged the double call and kept the refCount correct assertThat(logHandler.getAllMessages()) .contains( - "Call is being closed more than once. Please make sure that onClose() is not being manually called."); + "Call is being closed more than once. Please make sure that onClose() is not being" + + " manually called."); assertThat(pool.entries.get()).hasSize(1); ChannelPool.Entry entry = pool.entries.get().get(0); assertThat(entry.outstandingRpcs.get()).isEqualTo(0); @@ -879,7 +1938,8 @@ void minChannelsClampedToMaxChannelCountUnderHighLoad() throws Exception { .setMaxChannelCount(5) .build(), channelFactory, - provider); + provider, + null); assertThat(pool.entries.get()).hasSize(1); // Add 20 RPCs, which would require 10 channels (20/2) @@ -914,7 +1974,8 @@ void maxChannelsClampedToMinChannelCountUnderLowLoad() throws Exception { .setMaxChannelCount(10) .build(), channelFactory, - provider); + provider, + null); assertThat(pool.entries.get()).hasSize(5); // With no outstanding RPCs, the pool should want to shrink to 0 @@ -924,4 +1985,272 @@ void maxChannelsClampedToMinChannelCountUnderLowLoad() throws Exception { // Should be clamped to minChannelCount = 3 assertThat(pool.entries.get()).hasSize(3); } + + @Test + void shouldRefresh_doesNotCacheNegativeResultAndDetectsSubsequentRotationImmediately() + throws IOException { + ManagedChannel initial = Mockito.mock(ManagedChannel.class); + ManagedChannel rotated = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = + Mockito.mock(ChannelFactory.class, Mockito.withSettings().withoutAnnotations()); + Mockito.when(channelFactory.createSingleChannel()).thenReturn(initial, rotated); + + tempCert = Files.createTempFile("cert", ".pem"); + Path clientCert = Paths.get("src", "test", "resources", "client_cert.pem"); + Files.copy(clientCert, tempCert, StandardCopyOption.REPLACE_EXISTING); + + pool = + ChannelPool.create( + ChannelPoolSettings.staticallySized(1), channelFactory, null, tempCert.toString()); + + // First check returns false (unchanged disk cert) + assertThat(pool.shouldRefresh()).isFalse(); + + // Immediately rotate cert on disk WITHOUT invalidating the 1-second cache + Path rootCert = Paths.get("src", "test", "resources", "root_cert.pem"); + Files.copy(rootCert, tempCert, StandardCopyOption.REPLACE_EXISTING); + + // Must immediately detect rotation because negative/unchanged disk checks are not cached for 1s + assertThat(pool.shouldRefresh()).isTrue(); + + // Refresh should update activeCertFingerprint and clear any cached positive check + pool.refresh(); + assertThat(pool.shouldRefresh()).isFalse(); + } + + @Test + void newCall_whenDelegateThrowsError_releasesEntryAndShutsDownRetiredChannel() + throws IOException { + ManagedChannel initial = Mockito.mock(ManagedChannel.class); + ManagedChannel rotated = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = + Mockito.mock(ChannelFactory.class, Mockito.withSettings().withoutAnnotations()); + Mockito.when(channelFactory.createSingleChannel()).thenReturn(initial, rotated); + Mockito.when(initial.newCall(Mockito.any(), Mockito.any())) + .thenThrow(new LinkageError("Simulated native/JNI linkage error")); + + pool = ChannelPool.create(ChannelPoolSettings.staticallySized(1), channelFactory, null, null); + + assertThrows(LinkageError.class, () -> pool.newCall(METHOD_RECOGNIZE, CallOptions.DEFAULT)); + + // Rotating the pool should immediately shut down initial channel because its ref count is 0 + pool.refresh(); + Mockito.verify(initial).shutdown(); + } + + @Test + @SuppressWarnings("unchecked") + void start_whenDelegateThrowsError_releasesEntryAndShutsDownRetiredChannel() throws IOException { + ManagedChannel initial = Mockito.mock(ManagedChannel.class); + ManagedChannel rotated = Mockito.mock(ManagedChannel.class); + ClientCall mockCall = Mockito.mock(ClientCall.class); + ChannelFactory channelFactory = + Mockito.mock(ChannelFactory.class, Mockito.withSettings().withoutAnnotations()); + Mockito.when(channelFactory.createSingleChannel()).thenReturn(initial, rotated); + Mockito.when(initial.newCall(Mockito.any(), Mockito.any())).thenReturn((ClientCall) mockCall); + Mockito.doThrow(new AssertionError("Simulated Error in start")) + .when(mockCall) + .start(Mockito.any(), Mockito.any()); + + pool = ChannelPool.create(ChannelPoolSettings.staticallySized(1), channelFactory, null, null); + + ClientCall call = pool.newCall(METHOD_RECOGNIZE, CallOptions.DEFAULT); + // Rotate pool while call is retained + pool.refresh(); + Mockito.verify(initial, Mockito.never()).shutdown(); + + // Calling start() throws Error, which must release the retained entry and trigger shutdown + assertThrows( + AssertionError.class, + () -> call.start(new ClientCall.Listener() {}, new Metadata())); + Mockito.verify(initial).shutdown(); + } + + @Test + @SuppressWarnings("unchecked") + void cancel_whenDelegateThrowsException_releasesEntryAndShutsDownRetiredChannel() + throws IOException { + ManagedChannel initial = Mockito.mock(ManagedChannel.class); + ManagedChannel rotated = Mockito.mock(ManagedChannel.class); + ClientCall mockCall = Mockito.mock(ClientCall.class); + ChannelFactory channelFactory = + Mockito.mock(ChannelFactory.class, Mockito.withSettings().withoutAnnotations()); + Mockito.when(channelFactory.createSingleChannel()).thenReturn(initial, rotated); + Mockito.when(initial.newCall(Mockito.any(), Mockito.any())).thenReturn((ClientCall) mockCall); + Mockito.doThrow(new RuntimeException("Simulated cancel exception")) + .when(mockCall) + .cancel(Mockito.any(), Mockito.any()); + + pool = ChannelPool.create(ChannelPoolSettings.staticallySized(1), channelFactory, null, null); + + ClientCall call = pool.newCall(METHOD_RECOGNIZE, CallOptions.DEFAULT); + pool.refresh(); + Mockito.verify(initial, Mockito.never()).shutdown(); + + assertThrows(RuntimeException.class, () -> call.cancel("cancelled", null)); + Mockito.verify(initial).shutdown(); + } + + @Test + @SuppressWarnings("unchecked") + void concurrentStartAndCancel_neverLeaksOrDoubleReleasesEntry() throws Exception { + ManagedChannel initial = Mockito.mock(ManagedChannel.class); + ManagedChannel rotated = Mockito.mock(ManagedChannel.class); + ChannelFactory channelFactory = + Mockito.mock(ChannelFactory.class, Mockito.withSettings().withoutAnnotations()); + Mockito.when(channelFactory.createSingleChannel()).thenReturn(initial, rotated); + + Mockito.when(initial.newCall(Mockito.any(), Mockito.any())) + .thenAnswer( + invocation -> + new ClientCall() { + private Listener listener; + private boolean cancelled; + + @Override + public synchronized void start( + Listener responseListener, Metadata headers) { + this.listener = responseListener; + if (cancelled) { + responseListener.onClose(Status.CANCELLED, new Metadata()); + } + } + + @Override + public synchronized void cancel(String message, Throwable cause) { + cancelled = true; + if (listener != null) { + listener.onClose(Status.CANCELLED, new Metadata()); + } + } + + @Override + public void request(int numMessages) {} + + @Override + public void halfClose() {} + + @Override + public void sendMessage(Color message) {} + }); + + pool = ChannelPool.create(ChannelPoolSettings.staticallySized(1), channelFactory, null, null); + + int iterations = 100; + ExecutorService executor = Executors.newFixedThreadPool(2); + try { + for (int i = 0; i < iterations; i++) { + ClientCall call = pool.newCall(METHOD_RECOGNIZE, CallOptions.DEFAULT); + CyclicBarrier barrier = new CyclicBarrier(2); + Future f1 = + executor.submit( + () -> { + try { + barrier.await(); + call.start(new ClientCall.Listener() {}, new Metadata()); + } catch (Exception ignored) { + } + }); + Future f2 = + executor.submit( + () -> { + try { + barrier.await(); + call.cancel("cancel", null); + } catch (Exception ignored) { + } + }); + f1.get(5, TimeUnit.SECONDS); + f2.get(5, TimeUnit.SECONDS); + } + } finally { + executor.shutdownNow(); + } + + // Every start/cancel race must leave the entry with no outstanding RPCs: a leak would leave it + // positive and a double release would make it negative. + assertThat(pool.entries.get().get(0).outstandingRpcs.get()).isEqualTo(0); + + // Rotate pool: initial channel must shut down cleanly, proving outstandingRpcs == 0 (no leaks + // or negative counts) + pool.refresh(); + Mockito.verify(initial).shutdown(); + } + + @Test + void cancel_whenStartedAndSuperCancelThrows_doesNotReleasePrematurelyUntilOnClose() + throws Exception { + ManagedChannel initial = Mockito.mock(ManagedChannel.class); + ManagedChannel replacement = Mockito.mock(ManagedChannel.class); + @SuppressWarnings("unchecked") + ClientCall delegateCall = Mockito.mock(ClientCall.class); + @SuppressWarnings("unchecked") + ArgumentCaptor> listenerCaptor = + ArgumentCaptor.forClass(ClientCall.Listener.class); + Mockito.doThrow(new RuntimeException("cancel failure")) + .when(delegateCall) + .cancel(Mockito.any(), Mockito.any()); + Mockito.when(initial.newCall(Mockito.eq(METHOD_RECOGNIZE), Mockito.any())) + .thenReturn(delegateCall); + + AtomicInteger createCount = new AtomicInteger(0); + pool = + new ChannelPool( + ChannelPoolSettings.staticallySized(1), + () -> createCount.getAndIncrement() == 0 ? initial : replacement, + FixedExecutorProvider.create(Mockito.mock(ScheduledExecutorService.class)), + null); + + ClientCall call = pool.newCall(METHOD_RECOGNIZE, CallOptions.DEFAULT); + call.start(new ClientCall.Listener() {}, new Metadata()); + Mockito.verify(delegateCall).start(listenerCaptor.capture(), Mockito.any()); + + assertThrows(RuntimeException.class, () -> call.cancel("abort", null)); + + // Rotate pool while call is still active (onClose hasn't fired yet): + // initial channel must NOT be shut down yet because call is still active + pool.refreshAll(); + Mockito.verify(initial, Mockito.never()).shutdown(); + + // Once onClose fires, entry is released and initial channel shuts down + listenerCaptor.getValue().onClose(Status.CANCELLED, new Metadata()); + Mockito.verify(initial).shutdown(); + } + + @Test + void start_whenCalledTwice_throwsIllegalStateExceptionAndDoesNotReleaseFirstCallEntry() + throws Exception { + ManagedChannel initial = Mockito.mock(ManagedChannel.class); + ManagedChannel replacement = Mockito.mock(ManagedChannel.class); + @SuppressWarnings("unchecked") + ClientCall delegateCall = Mockito.mock(ClientCall.class); + @SuppressWarnings("unchecked") + ArgumentCaptor> listenerCaptor = + ArgumentCaptor.forClass(ClientCall.Listener.class); + Mockito.when(initial.newCall(Mockito.eq(METHOD_RECOGNIZE), Mockito.any())) + .thenReturn(delegateCall); + + AtomicInteger createCount = new AtomicInteger(0); + pool = + new ChannelPool( + ChannelPoolSettings.staticallySized(1), + () -> createCount.getAndIncrement() == 0 ? initial : replacement, + FixedExecutorProvider.create(Mockito.mock(ScheduledExecutorService.class)), + null); + + ClientCall call = pool.newCall(METHOD_RECOGNIZE, CallOptions.DEFAULT); + call.start(new ClientCall.Listener() {}, new Metadata()); + Mockito.verify(delegateCall).start(listenerCaptor.capture(), Mockito.any()); + + // Duplicate start() must throw IllegalStateException without releasing the entry + assertThrows( + IllegalStateException.class, + () -> call.start(new ClientCall.Listener() {}, new Metadata())); + + pool.refreshAll(); + Mockito.verify(initial, Mockito.never()).shutdown(); + + listenerCaptor.getValue().onClose(Status.OK, new Metadata()); + Mockito.verify(initial).shutdown(); + } } diff --git a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcCallContextTest.java b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcCallContextTest.java index e20767fdb8ed..0222d9178078 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcCallContextTest.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcCallContextTest.java @@ -31,6 +31,7 @@ import static com.google.api.gax.util.TimeConversionTestUtils.testDurationMethod; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.mockito.Mockito.mock; @@ -52,6 +53,7 @@ import io.grpc.Metadata.Key; import io.grpc.auth.MoreCallCredentials; import java.io.IOException; +import java.time.Duration; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -210,6 +212,20 @@ void testWithLongerTimeout() { .isEqualTo(java.time.Duration.ofSeconds(5)); } + @Test + void testWithNullOrZeroTimeoutClearsExistingTimeout() { + GrpcCallContext ctxWithTimeout = + GrpcCallContext.createDefault().withTimeoutDuration(Duration.ofSeconds(5)); + + // Sanity check + Truth.assertThat(ctxWithTimeout.getTimeoutDuration()).isEqualTo(Duration.ofSeconds(5)); + + Duration nullTimeout = null; + Truth.assertThat(ctxWithTimeout.withTimeoutDuration(nullTimeout).getTimeoutDuration()).isNull(); + Truth.assertThat(ctxWithTimeout.withTimeoutDuration(Duration.ZERO).getTimeoutDuration()) + .isNull(); + } + @Test void testMergeWithNullTimeout() { java.time.Duration timeout = java.time.Duration.ofSeconds(10); @@ -494,4 +510,64 @@ private static Map> createTestExtraHeaders(String... keyVal } return extraHeaders; } + + @Test + public void testEqualsAndHashCode() { + ManagedChannel managedChannel1 = Mockito.mock(ManagedChannel.class); + ManagedChannel managedChannel2 = Mockito.mock(ManagedChannel.class); + + GrpcTransportChannel transportChannel1 = GrpcTransportChannel.create(managedChannel1); + GrpcTransportChannel transportChannel2 = GrpcTransportChannel.create(managedChannel2); + + GrpcCallContext context1 = + GrpcCallContext.createDefault().withTransportChannel(transportChannel1); + GrpcCallContext context2 = + GrpcCallContext.createDefault().withTransportChannel(transportChannel1); + GrpcCallContext context3 = + GrpcCallContext.createDefault().withTransportChannel(transportChannel2); + + assertEquals(context1, context2); + assertEquals(context1.hashCode(), context2.hashCode()); + + assertNotEquals(context1, context3); + } + + @Test + public void testMergeWithCustomChannelClearsTransportChannel() { + ManagedChannel defaultChannel = Mockito.mock(ManagedChannel.class); + ManagedChannel customChannel = Mockito.mock(ManagedChannel.class); + GrpcTransportChannel transportChannel = GrpcTransportChannel.create(defaultChannel); + + GrpcCallContext baseContext = + GrpcCallContext.createDefault().withTransportChannel(transportChannel); + GrpcCallContext overrideContext = GrpcCallContext.of(customChannel, CallOptions.DEFAULT); + + GrpcCallContext mergedContext = (GrpcCallContext) baseContext.merge(overrideContext); + assertEquals(customChannel, mergedContext.getChannel()); + assertNull(mergedContext.getTransportChannel()); + } + + @Test + public void testWithChannelWithCustomChannelClearsTransportChannel() { + ManagedChannel defaultChannel = Mockito.mock(ManagedChannel.class); + ManagedChannel customChannel = Mockito.mock(ManagedChannel.class); + GrpcTransportChannel transportChannel = GrpcTransportChannel.create(defaultChannel); + + GrpcCallContext baseContext = + GrpcCallContext.createDefault().withTransportChannel(transportChannel); + GrpcCallContext updatedContext = baseContext.withChannel(customChannel); + + assertEquals(customChannel, updatedContext.getChannel()); + assertNull(updatedContext.getTransportChannel()); + + // Clearing channel via withChannel(null) also clears transportChannel + GrpcCallContext nullChannelContext = baseContext.withChannel(null); + assertNull(nullChannelContext.getChannel()); + assertNull(nullChannelContext.getTransportChannel()); + + // Merging a cleared context into defaultContext falls back to defaultContext's transportChannel + GrpcCallContext mergedWithNullChannel = (GrpcCallContext) baseContext.merge(nullChannelContext); + assertEquals(defaultChannel, mergedWithNullChannel.getChannel()); + assertEquals(transportChannel, mergedWithNullChannel.getTransportChannel()); + } } diff --git a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcClientCallsTest.java b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcClientCallsTest.java index 2aa9279e249f..6877eb1dbe1e 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcClientCallsTest.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcClientCallsTest.java @@ -125,6 +125,7 @@ void testAffinity() throws IOException { ChannelPool.create( ChannelPoolSettings.staticallySized(2), new FakeChannelFactory(Arrays.asList(channel0, channel1)), + null, null); GrpcCallContext context = defaultCallContext.withChannel(pool); diff --git a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcLoggingInterceptorTest.java b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcLoggingInterceptorTest.java index fad4cd468b95..c93db599d575 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcLoggingInterceptorTest.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcLoggingInterceptorTest.java @@ -32,7 +32,6 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -83,7 +82,7 @@ void testInterceptor_basic() { void testInterceptor_responseListener() { when(channel.newCall(Mockito.>any(), any(CallOptions.class))) .thenReturn(call); - GrpcLoggingInterceptor interceptor = spy(new GrpcLoggingInterceptor()); + GrpcLoggingInterceptor interceptor = new GrpcLoggingInterceptor(); Channel intercepted = ClientInterceptors.intercept(channel, interceptor); @SuppressWarnings("unchecked") ClientCall.Listener listener = mock(ClientCall.Listener.class); diff --git a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java index be0365866615..d766b288d77d 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java @@ -48,6 +48,7 @@ import com.google.api.gax.rpc.internal.EnvironmentProvider; import com.google.api.gax.rpc.mtls.AbstractMtlsTransportChannelTest; import com.google.api.gax.rpc.mtls.CertificateBasedAccess; +import com.google.api.gax.rpc.testing.FakeMtlsProvider; import com.google.auth.ApiKeyCredentials; import com.google.auth.Credentials; import com.google.auth.http.AuthHttpConstants; @@ -664,7 +665,9 @@ private void createAndCloseTransportChannel(InstantiatingGrpcChannelProvider pro createAndCloseTransportChannel(provider); assertThat(logHandler.getAllMessages()) .contains( - "DirectPath is misconfigured. The DirectPath XDS option was set, but the attemptDirectPath option was not. Please set both the attemptDirectPath and attemptDirectPathXds options."); + "DirectPath is misconfigured. The DirectPath XDS option was set, but the" + + " attemptDirectPath option was not. Please set both the attemptDirectPath and" + + " attemptDirectPathXds options."); InstantiatingGrpcChannelProvider.LOG.removeHandler(logHandler); } @@ -682,8 +685,10 @@ void testLogDirectPathMisconfig_AttemptDirectPathNotSetAndAttemptDirectPathXdsSe createAndCloseTransportChannel(provider); assertThat(logHandler.getAllMessages()) .contains( - "Env var GOOGLE_CLOUD_ENABLE_DIRECT_PATH_XDS was found and set to TRUE, but DirectPath was not enabled for this client. If this is intended for " - + "this client, please note that this is a misconfiguration and set the attemptDirectPath option as well."); + "Env var GOOGLE_CLOUD_ENABLE_DIRECT_PATH_XDS was found and set to TRUE, but DirectPath" + + " was not enabled for this client. If this is intended for this client, please" + + " note that this is a misconfiguration and set the attemptDirectPath option as" + + " well."); InstantiatingGrpcChannelProvider.LOG.removeHandler(logHandler); } @@ -711,6 +716,7 @@ void testLogDirectPathMisconfigWrongCredential() throws Exception { InstantiatingGrpcChannelProvider.newBuilder() .setAttemptDirectPathXds() .setAttemptDirectPath(true) + .setEnvProvider(name -> null) .setHeaderProvider( mock(HeaderProvider.class, Mockito.withSettings().withoutAnnotations())) .setExecutor(mock(Executor.class)) @@ -877,12 +883,14 @@ public void canUseDirectPath_directPathEnvVarDisabled() throws IOException { @Test public void canUseDirectPath_directPathEnvVarNotSet_attemptDirectPathIsTrue() { System.setProperty("os.name", "Linux"); + EnvironmentProvider envProvider = name -> null; InstantiatingGrpcChannelProvider.Builder builder = InstantiatingGrpcChannelProvider.newBuilder() .setCertificateBasedAccess(certificateBasedAccess) .setAttemptDirectPath(true) .setCredentials(computeEngineCredentials) - .setEndpoint(DEFAULT_ENDPOINT); + .setEndpoint(DEFAULT_ENDPOINT) + .setEnvProvider(envProvider); InstantiatingGrpcChannelProvider provider = new InstantiatingGrpcChannelProvider(builder, GCE_PRODUCTION_NAME_AFTER_2016); Truth.assertThat(provider.canUseDirectPath()).isTrue(); @@ -891,12 +899,14 @@ public void canUseDirectPath_directPathEnvVarNotSet_attemptDirectPathIsTrue() { @Test public void canUseDirectPath_directPathEnvVarNotSet_attemptDirectPathIsFalse() { System.setProperty("os.name", "Linux"); + EnvironmentProvider envProvider = name -> null; InstantiatingGrpcChannelProvider.Builder builder = InstantiatingGrpcChannelProvider.newBuilder() .setCertificateBasedAccess(certificateBasedAccess) .setAttemptDirectPath(false) .setCredentials(computeEngineCredentials) - .setEndpoint(DEFAULT_ENDPOINT); + .setEndpoint(DEFAULT_ENDPOINT) + .setEnvProvider(envProvider); InstantiatingGrpcChannelProvider provider = new InstantiatingGrpcChannelProvider(builder, GCE_PRODUCTION_NAME_AFTER_2016); Truth.assertThat(provider.canUseDirectPath()).isFalse(); @@ -1201,7 +1211,8 @@ void createS2ASecuredChannelCredentials_bothS2AAddressesNull_returnsNull() { assertThat(provider.createS2ASecuredChannelCredentials()).isNotNull(); assertThat(logHandler.getAllMessages()) .contains( - "Cannot establish an mTLS connection to S2A because autoconfig endpoint did not return a mtls address to reach S2A."); + "Cannot establish an mTLS connection to S2A because autoconfig endpoint did not return" + + " a mtls address to reach S2A."); InstantiatingGrpcChannelProvider.LOG.removeHandler(logHandler); } @@ -1247,7 +1258,8 @@ void createS2ASecuredChannelCredentials_returnsPlaintextToS2AS2AChannelCredentia assertThat(provider.createS2ASecuredChannelCredentials()).isNotNull(); assertThat(logHandler.getAllMessages()) .contains( - "Cannot establish an mTLS connection to S2A because MTLS to MDS credentials do not exist on filesystem, falling back to plaintext connection to S2A"); + "Cannot establish an mTLS connection to S2A because MTLS to MDS credentials do not" + + " exist on filesystem, falling back to plaintext connection to S2A"); InstantiatingGrpcChannelProvider.LOG.removeHandler(logHandler); } @@ -1342,6 +1354,96 @@ void testSettingBackgroundExecutor() { assertThat(provider.getBackgroundExecutor()).isEqualTo(mockExecutor); } + @Test + void createChannel_whenDirectPathEnabled_ignoresWorkloadCertPath() throws Exception { + System.setProperty("os.name", "Linux"); + EnvironmentProvider envProvider = + mock(EnvironmentProvider.class, Mockito.withSettings().withoutAnnotations()); + Mockito.when( + envProvider.getenv( + InstantiatingGrpcChannelProvider.DIRECT_PATH_ENV_DISABLE_DIRECT_PATH)) + .thenReturn("false"); + CertificateBasedAccess mtlsCertificateBasedAccess = + mock(CertificateBasedAccess.class, Mockito.withSettings().withoutAnnotations()); + Mockito.when(mtlsCertificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + Mockito.when(mtlsCertificateBasedAccess.getWorkloadCertPath()) + .thenReturn("/path/to/workload/cert.pem"); + MtlsProvider mtlsProvider = + new FakeMtlsProvider(FakeMtlsProvider.createTestMtlsKeyStore(), "", false); + + InstantiatingGrpcChannelProvider.Builder builder = + InstantiatingGrpcChannelProvider.newBuilder() + .setCertificateBasedAccess(mtlsCertificateBasedAccess) + .setMtlsProvider(mtlsProvider) + .setAttemptDirectPath(true) + .setCredentials(computeEngineCredentials) + .setEndpoint(DEFAULT_ENDPOINT) + .setEnvProvider(envProvider) + .setHeaderProvider( + mock(HeaderProvider.class, Mockito.withSettings().withoutAnnotations())); + InstantiatingGrpcChannelProvider provider = + new InstantiatingGrpcChannelProvider(builder, GCE_PRODUCTION_NAME_AFTER_2016); + Truth.assertThat(provider.canUseDirectPath()).isTrue(); + + TransportChannel transportChannel = provider.getTransportChannel(); + try { + ChannelPool pool = (ChannelPool) ((GrpcTransportChannel) transportChannel).getChannel(); + assertThat(pool.getWorkloadCertPath()).isNull(); + } finally { + transportChannel.shutdownNow(); + } + } + + @Test + void createChannel_whenMtlsActive_passesWorkloadCertPathToChannelPool() throws Exception { + CertificateBasedAccess mtlsCertificateBasedAccess = + mock(CertificateBasedAccess.class, Mockito.withSettings().withoutAnnotations()); + Mockito.when(mtlsCertificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + Mockito.when(mtlsCertificateBasedAccess.getWorkloadCertPath()) + .thenReturn("/path/to/workload/cert.pem"); + MtlsProvider mtlsProvider = + new FakeMtlsProvider(FakeMtlsProvider.createTestMtlsKeyStore(), "", false); + + InstantiatingGrpcChannelProvider provider = + InstantiatingGrpcChannelProvider.newBuilder() + .setCertificateBasedAccess(mtlsCertificateBasedAccess) + .setMtlsProvider(mtlsProvider) + .setAttemptDirectPath(false) + .setEndpoint(DEFAULT_ENDPOINT) + .setHeaderProvider( + mock(HeaderProvider.class, Mockito.withSettings().withoutAnnotations())) + .build(); + + TransportChannel transportChannel = provider.getTransportChannel(); + try { + ChannelPool pool = (ChannelPool) ((GrpcTransportChannel) transportChannel).getChannel(); + assertThat(pool.getWorkloadCertPath()).isEqualTo("/path/to/workload/cert.pem"); + } finally { + transportChannel.shutdownNow(); + } + } + + @Test + void createChannelBuilder_whenMtlsActiveAndKeyStoreNull_throwsIOException() { + CertificateBasedAccess mtlsCertificateBasedAccess = + mock(CertificateBasedAccess.class, Mockito.withSettings().withoutAnnotations()); + Mockito.when(mtlsCertificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + MtlsProvider mtlsProviderWithNullKeyStore = new FakeMtlsProvider(null, "", false); + + InstantiatingGrpcChannelProvider provider = + InstantiatingGrpcChannelProvider.newBuilder() + .setCertificateBasedAccess(mtlsCertificateBasedAccess) + .setMtlsProvider(mtlsProviderWithNullKeyStore) + .setAttemptDirectPath(false) + .setEndpoint(DEFAULT_ENDPOINT) + .setHeaderProvider( + mock(HeaderProvider.class, Mockito.withSettings().withoutAnnotations())) + .build(); + + IOException thrown = assertThrows(IOException.class, provider::createChannelBuilder); + assertThat(thrown).hasMessageThat().contains("Failed to initialize mTLS channel credentials"); + } + private static class FakeLogHandler extends Handler { List records = new ArrayList<>(); diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonCallContext.java b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonCallContext.java index 2679b51860df..81e970af4b06 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonCallContext.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonCallContext.java @@ -82,6 +82,7 @@ public final class HttpJsonCallContext implements ApiCallContext { private final @Nullable RetrySettings retrySettings; private final @Nullable ImmutableSet retryableCodes; private final EndpointContext endpointContext; + @Nullable private final TransportChannel transportChannel; /** Returns an empty instance. */ public static HttpJsonCallContext createDefault() { @@ -96,6 +97,7 @@ public static HttpJsonCallContext createDefault() { null, null, null, + null, null); } @@ -111,6 +113,7 @@ public static HttpJsonCallContext of(HttpJsonChannel channel, HttpJsonCallOption null, null, null, + null, null); } @@ -125,7 +128,8 @@ private HttpJsonCallContext( @Nullable ApiTracer tracer, @Nullable RetrySettings defaultRetrySettings, @Nullable Set defaultRetryableCodes, - @Nullable EndpointContext endpointContext) { + @Nullable EndpointContext endpointContext, + @Nullable TransportChannel transportChannel) { this.channel = channel; this.callOptions = callOptions; this.timeout = timeout; @@ -141,6 +145,7 @@ private HttpJsonCallContext( // a valid EndpointContext with user configurations after the client has been initialized. this.endpointContext = endpointContext == null ? EndpointContext.getDefaultInstance() : endpointContext; + this.transportChannel = transportChannel; } /** @@ -220,6 +225,12 @@ public HttpJsonCallContext merge(ApiCallContext inputCallContext) { newRetryableCodes = this.retryableCodes; } + TransportChannel newTransportChannel = httpJsonCallContext.transportChannel; + if (newTransportChannel == null + && (httpJsonCallContext.channel == null || httpJsonCallContext.channel.equals(channel))) { + newTransportChannel = this.transportChannel; + } + // The EndpointContext is not updated as there should be no reason for a user // to update this. return new HttpJsonCallContext( @@ -233,7 +244,8 @@ public HttpJsonCallContext merge(ApiCallContext inputCallContext) { newTracer, newRetrySettings, newRetryableCodes, - endpointContext); + endpointContext, + newTransportChannel); } @Override @@ -251,7 +263,24 @@ public HttpJsonCallContext withTransportChannel(TransportChannel inputChannel) { "Expected HttpJsonTransportChannel, got " + inputChannel.getClass().getName()); } HttpJsonTransportChannel transportChannel = (HttpJsonTransportChannel) inputChannel; - return withChannel(transportChannel.getChannel()); + return new HttpJsonCallContext( + transportChannel.getChannel(), + this.callOptions, + this.timeout, + this.streamWaitTimeout, + this.streamIdleTimeout, + this.extraHeaders, + this.options, + this.tracer, + this.retrySettings, + this.retryableCodes, + this.endpointContext, + transportChannel); + } + + @Override + public TransportChannel getTransportChannel() { + return transportChannel; } /** This method is obsolete. Use {@link #withTimeoutDuration(java.time.Duration)} instead. */ @@ -275,7 +304,8 @@ public HttpJsonCallContext withEndpointContext(EndpointContext endpointContext) this.tracer, this.retrySettings, this.retryableCodes, - endpointContext); + endpointContext, + this.transportChannel); } @Override @@ -301,7 +331,8 @@ public HttpJsonCallContext withTimeoutDuration(java.time.Duration timeout) { this.tracer, this.retrySettings, this.retryableCodes, - this.endpointContext); + this.endpointContext, + this.transportChannel); } /** This method is obsolete. Use {@link #getTimeoutDuration()} instead. */ @@ -346,7 +377,8 @@ public HttpJsonCallContext withStreamWaitTimeoutDuration( this.tracer, this.retrySettings, this.retryableCodes, - this.endpointContext); + this.endpointContext, + this.transportChannel); } /** This method is obsolete. Use {@link #getStreamWaitTimeoutDuration()} instead. */ @@ -396,7 +428,8 @@ public HttpJsonCallContext withStreamIdleTimeoutDuration( this.tracer, this.retrySettings, this.retryableCodes, - this.endpointContext); + this.endpointContext, + this.transportChannel); } /** This method is obsolete. Use {@link #getStreamIdleTimeoutDuration()} instead. */ @@ -433,7 +466,8 @@ public ApiCallContext withExtraHeaders(Map> extraHeaders) { this.tracer, this.retrySettings, this.retryableCodes, - this.endpointContext); + this.endpointContext, + this.transportChannel); } @BetaApi("The surface for extra headers is not stable yet and may change in the future.") @@ -457,7 +491,8 @@ public ApiCallContext withOption(Key key, T value) { this.tracer, this.retrySettings, this.retryableCodes, - this.endpointContext); + this.endpointContext, + this.transportChannel); } /** {@inheritDoc} */ @@ -527,7 +562,8 @@ public HttpJsonCallContext withRetrySettings(RetrySettings retrySettings) { this.tracer, retrySettings, this.retryableCodes, - this.endpointContext); + this.endpointContext, + this.transportChannel); } @Override @@ -548,7 +584,8 @@ public HttpJsonCallContext withRetryableCodes(Set retryableCode this.tracer, this.retrySettings, retryableCodes, - this.endpointContext); + this.endpointContext, + this.transportChannel); } public HttpJsonCallContext withChannel(@Nullable HttpJsonChannel newChannel) { @@ -563,7 +600,8 @@ public HttpJsonCallContext withChannel(@Nullable HttpJsonChannel newChannel) { this.tracer, this.retrySettings, this.retryableCodes, - this.endpointContext); + this.endpointContext, + (newChannel != null && newChannel.equals(this.channel)) ? this.transportChannel : null); } public HttpJsonCallContext withCallOptions(HttpJsonCallOptions newCallOptions) { @@ -578,7 +616,8 @@ public HttpJsonCallContext withCallOptions(HttpJsonCallOptions newCallOptions) { this.tracer, this.retrySettings, this.retryableCodes, - this.endpointContext); + this.endpointContext, + this.transportChannel); } @Deprecated @@ -614,7 +653,8 @@ public HttpJsonCallContext withTracer(@Nonnull ApiTracer newTracer) { newTracer, this.retrySettings, this.retryableCodes, - this.endpointContext); + this.endpointContext, + this.transportChannel); } @Override @@ -634,7 +674,8 @@ public boolean equals(@Nullable Object o) { && Objects.equals(this.tracer, that.tracer) && Objects.equals(this.retrySettings, that.retrySettings) && Objects.equals(this.retryableCodes, that.retryableCodes) - && Objects.equals(this.endpointContext, that.endpointContext); + && Objects.equals(this.endpointContext, that.endpointContext) + && Objects.equals(this.transportChannel, that.transportChannel); } @Override @@ -648,6 +689,7 @@ public int hashCode() { tracer, retrySettings, retryableCodes, - endpointContext); + endpointContext, + transportChannel); } } diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonTransportChannel.java b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonTransportChannel.java index 813622b6a97e..fde0673f650d 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonTransportChannel.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonTransportChannel.java @@ -64,6 +64,21 @@ public HttpJsonChannel getChannel() { return getManagedChannel(); } + @Override + public void refresh() { + getManagedChannel().refresh(); + } + + @Override + public boolean shouldRefresh() { + return getManagedChannel().shouldRefresh(); + } + + @Override + public long getGeneration() { + return getManagedChannel().getGeneration(); + } + @Override public void shutdown() { getManagedChannel().shutdown(); diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java index 92ce4efe36aa..226c5a155feb 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java @@ -50,6 +50,7 @@ import java.util.Map; import java.util.concurrent.Executor; import java.util.concurrent.ScheduledExecutorService; +import java.util.function.Supplier; import java.util.logging.Level; import java.util.logging.Logger; import javax.net.ssl.SSLContext; @@ -233,33 +234,90 @@ private NetHttpTransport.Builder configureMtls(NetHttpTransport.Builder builder) return builder; } - private HttpJsonTransportChannel createChannel() throws IOException, GeneralSecurityException { - HttpTransport httpTransportToUse = httpTransport; - if (httpTransportToUse == null) { - httpTransportToUse = createHttpTransport(); + private HttpTransport createChannelHttpTransport() throws IOException, GeneralSecurityException { + HttpTransport transport = createHttpTransport(); + if (mtlsProvider != null + && certificateBasedAccess.useMtlsClientCertificate() + && !((NetHttpTransport) transport).isMtls()) { + // mTLS is enabled but the provider returned no client certificate. Fail instead of silently + // using a transport without the certificate, matching InstantiatingGrpcChannelProvider. + // During certificate rotation, this makes RefreshingHttpJsonChannel keep the current + // authenticated transport instead of swapping in one without a client certificate. + throw new IOException("Failed to initialize mTLS HttpTransport"); } + return transport; + } + + private ManagedHttpJsonChannel createSingleManagedChannel() + throws IOException, GeneralSecurityException { + return buildManagedChannel( + httpTransport != null ? httpTransport : createChannelHttpTransport()); + } - // Pass the executor to the ManagedChannel. If no executor was provided (or null), - // the channel will use a default executor for the calls. - ManagedHttpJsonChannel channel = - ManagedHttpJsonChannel.newBuilder() - .setEndpoint(endpoint) - .setExecutor(executor) - .setHttpTransport(httpTransportToUse) - .build(); - - HttpJsonClientInterceptor headerInterceptor = - new HttpJsonHeaderInterceptor(headerProvider.getHeaders()); - - channel = new ManagedHttpJsonInterceptorChannel(channel, new HttpJsonLoggingInterceptor()); - channel = new ManagedHttpJsonInterceptorChannel(channel, headerInterceptor); - if (interceptorProvider != null && interceptorProvider.getInterceptors() != null) { - for (HttpJsonClientInterceptor interceptor : interceptorProvider.getInterceptors()) { - channel = new ManagedHttpJsonInterceptorChannel(channel, interceptor); + private ManagedHttpJsonChannel buildManagedChannel(HttpTransport httpTransportToUse) { + return ManagedHttpJsonChannel.newBuilder() + .setEndpoint(endpoint) + .setExecutor(executor) + .setHttpTransport(httpTransportToUse) + .setManageHttpTransport(httpTransport == null) + .build(); + } + + private HttpJsonTransportChannel createChannel() throws IOException, GeneralSecurityException { + boolean isMtlsActive = + httpTransport == null + && mtlsProvider != null + && certificateBasedAccess.useMtlsClientCertificate(); + String workloadCertPath = isMtlsActive ? certificateBasedAccess.getWorkloadCertPath() : null; + + ManagedHttpJsonChannel baseChannel; + if (workloadCertPath != null) { + Supplier transportFactory = + () -> { + try { + return createChannelHttpTransport(); + } catch (IOException | GeneralSecurityException e) { + throw new RuntimeException("Failed to create mTLS HttpTransport", e); + } + }; + // RefreshingHttpJsonChannel records the baseline certificate fingerprint before creating the + // initial transport, so a rotation during startup is detected on the next auth failure. + try { + baseChannel = + new RefreshingHttpJsonChannel( + transportFactory, this::buildManagedChannel, workloadCertPath); + } catch (RuntimeException e) { + if (e.getCause() instanceof IOException) { + throw (IOException) e.getCause(); + } + if (e.getCause() instanceof GeneralSecurityException) { + throw (GeneralSecurityException) e.getCause(); + } + throw e; } + } else { + baseChannel = createSingleManagedChannel(); } - return HttpJsonTransportChannel.newBuilder().setManagedChannel(channel).build(); + try { + ManagedHttpJsonChannel channel = baseChannel; + + HttpJsonClientInterceptor headerInterceptor = + new HttpJsonHeaderInterceptor(headerProvider.getHeaders()); + + channel = new ManagedHttpJsonInterceptorChannel(channel, new HttpJsonLoggingInterceptor()); + channel = new ManagedHttpJsonInterceptorChannel(channel, headerInterceptor); + if (interceptorProvider != null && interceptorProvider.getInterceptors() != null) { + for (HttpJsonClientInterceptor interceptor : interceptorProvider.getInterceptors()) { + channel = new ManagedHttpJsonInterceptorChannel(channel, interceptor); + } + } + + return HttpJsonTransportChannel.newBuilder().setManagedChannel(channel).build(); + } catch (Throwable t) { + baseChannel.shutdownNow(); + throw t; + } } /** The endpoint to be used for the channel. */ diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ManagedHttpJsonChannel.java b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ManagedHttpJsonChannel.java index 87767bee5c7f..bf79e17d7d89 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ManagedHttpJsonChannel.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ManagedHttpJsonChannel.java @@ -51,12 +51,35 @@ public class ManagedHttpJsonChannel implements HttpJsonChannel, BackgroundResour private final Executor executor; private final boolean usingDefaultExecutor; private final String endpoint; - private final HttpTransport httpTransport; + private volatile HttpTransport httpTransport; + private final boolean usingDefaultTransport; private final ScheduledExecutorService deadlineScheduledExecutorService; private boolean isTransportShutdown; protected ManagedHttpJsonChannel() { - this(null, true, null, null); + this(null, true, null, null, true); + } + + /** + * Constructor for subclasses that delegate all calls to a wrapped channel. The argument is + * unused; it only distinguishes this overload from {@link #ManagedHttpJsonChannel()}, which would + * otherwise allocate a transport and executor that the wrapper never uses or shuts down. + */ + ManagedHttpJsonChannel(boolean isDelegatingWrapper) { + this.executor = null; + this.usingDefaultExecutor = false; + this.endpoint = null; + this.httpTransport = null; + this.usingDefaultTransport = false; + this.deadlineScheduledExecutorService = null; + } + + /** + * Returns a monotonic generation counter tracking the number of successful refreshes or channel + * rotations performed by this channel. Always {@code 0} for channels that do not refresh. + */ + public long getGeneration() { + return 0; } String getEndpoint() { @@ -68,11 +91,20 @@ HttpTransport getHttpTransport() { return httpTransport; } + /** + * Replaces the transport used by calls created after this method returns. Calls that were already + * created keep using the transport they were created with. + */ + void setHttpTransport(HttpTransport httpTransport) { + this.httpTransport = httpTransport; + } + private ManagedHttpJsonChannel( @Nullable Executor executor, boolean usingDefaultExecutor, @Nullable String endpoint, - @Nullable HttpTransport httpTransport) { + @Nullable HttpTransport httpTransport, + boolean usingDefaultTransport) { this.executor = executor; this.usingDefaultExecutor = usingDefaultExecutor; this.endpoint = endpoint; @@ -82,6 +114,7 @@ private ManagedHttpJsonChannel( new NetHttpTransport.Builder()) .build() : httpTransport; + this.usingDefaultTransport = usingDefaultTransport || httpTransport == null; this.deadlineScheduledExecutorService = Executors.newSingleThreadScheduledExecutor(); } @@ -98,6 +131,22 @@ public HttpJsonClientCall newCall( deadlineScheduledExecutorService); } + /** + * Refreshes or recreates the underlying transport of this channel if a certificate rotation has + * been detected. By default, this is a no-op. + */ + public void refresh() { + // No-op: this channel has no certificate to rotate. Overridden by RefreshingHttpJsonChannel. + } + + /** + * Returns true if a certificate rotation has been detected on disk and this channel should be + * refreshed, or false otherwise. Always {@code false} for channels that do not refresh. + */ + public boolean shouldRefresh() { + return false; + } + @VisibleForTesting Executor getExecutor() { return executor; @@ -116,7 +165,9 @@ public synchronized void shutdown() { ((ExecutorService) executor).shutdown(); } deadlineScheduledExecutorService.shutdown(); - httpTransport.shutdown(); + if (usingDefaultTransport) { + httpTransport.shutdown(); + } isTransportShutdown = true; } catch (IOException e) { // TODO: Log this scenario once we implemented the Cloud SDK logging. @@ -158,7 +209,9 @@ public void shutdownNow() { ((ExecutorService) executor).shutdownNow(); } deadlineScheduledExecutorService.shutdownNow(); - httpTransport.shutdown(); + if (usingDefaultTransport) { + httpTransport.shutdown(); + } isTransportShutdown = true; } catch (IOException e) { // TODO: Log this scenario once we implemented the Cloud SDK logging. @@ -205,9 +258,11 @@ public static class Builder { private String endpoint; private HttpTransport httpTransport; private boolean usingDefaultExecutor; + private boolean usingDefaultTransport; private Builder() { this.usingDefaultExecutor = false; + this.usingDefaultTransport = false; } public Builder setExecutor(Executor executor) { @@ -225,6 +280,11 @@ public Builder setHttpTransport(HttpTransport httpTransport) { return this; } + Builder setManageHttpTransport(boolean manageHttpTransport) { + this.usingDefaultTransport = manageHttpTransport; + return this; + } + public ManagedHttpJsonChannel build() { Preconditions.checkNotNull(endpoint); @@ -237,14 +297,8 @@ public ManagedHttpJsonChannel build() { usingDefaultExecutor = true; } - if (httpTransport == null) { - httpTransport = - HttpJsonConscryptUtils.configureConscryptSecurityProvider( - new NetHttpTransport.Builder()) - .build(); - } - - return new ManagedHttpJsonChannel(executor, usingDefaultExecutor, endpoint, httpTransport); + return new ManagedHttpJsonChannel( + executor, usingDefaultExecutor, endpoint, httpTransport, usingDefaultTransport); } } } diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ManagedHttpJsonInterceptorChannel.java b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ManagedHttpJsonInterceptorChannel.java index eaaa8c3a7c56..9adbfdd5c329 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ManagedHttpJsonInterceptorChannel.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ManagedHttpJsonInterceptorChannel.java @@ -29,7 +29,9 @@ */ package com.google.api.gax.httpjson; +import com.google.api.client.http.HttpTransport; import com.google.common.annotations.VisibleForTesting; +import java.util.concurrent.Executor; import java.util.concurrent.TimeUnit; import org.jspecify.annotations.NullMarked; @@ -41,22 +43,57 @@ class ManagedHttpJsonInterceptorChannel extends ManagedHttpJsonChannel { ManagedHttpJsonInterceptorChannel( ManagedHttpJsonChannel channel, HttpJsonClientInterceptor interceptor) { - super(); + super(true); this.channel = channel; this.interceptor = interceptor; } + /** {@inheritDoc} */ + @Override + public long getGeneration() { + return channel.getGeneration(); + } + @VisibleForTesting ManagedHttpJsonChannel getChannel() { return channel; } + @Override + String getEndpoint() { + return channel.getEndpoint(); + } + + @Override + @VisibleForTesting + HttpTransport getHttpTransport() { + return channel.getHttpTransport(); + } + + @Override + @VisibleForTesting + Executor getExecutor() { + return channel.getExecutor(); + } + @Override public HttpJsonClientCall newCall( ApiMethodDescriptor methodDescriptor, HttpJsonCallOptions callOptions) { return interceptor.interceptCall(methodDescriptor, callOptions, channel); } + /** {@inheritDoc} */ + @Override + public void refresh() { + channel.refresh(); + } + + /** {@inheritDoc} */ + @Override + public boolean shouldRefresh() { + return channel.shouldRefresh(); + } + @Override public synchronized void shutdown() { channel.shutdown(); diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/RefreshingHttpJsonChannel.java b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/RefreshingHttpJsonChannel.java new file mode 100644 index 000000000000..6d20a69139f8 --- /dev/null +++ b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/RefreshingHttpJsonChannel.java @@ -0,0 +1,213 @@ +/* + * Copyright 2026 Google LLC + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google LLC nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.google.api.gax.httpjson; + +import com.google.api.client.http.HttpTransport; +import com.google.api.core.InternalApi; +import com.google.api.gax.rpc.mtls.CertificateRotationTracker; +import com.google.api.gax.rpc.mtls.WorkloadCertificateUtils; +import com.google.common.annotations.VisibleForTesting; +import java.util.concurrent.Executor; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; +import java.util.function.Function; +import java.util.function.Supplier; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * An implementation of {@link ManagedHttpJsonChannel} that supports dynamic mTLS certificate + * rotation. When the workload certificate on disk changes, {@link #refresh()} replaces the {@link + * HttpTransport} of the underlying channel. Calls that were already created keep using the + * transport they were created with, so in-flight requests are not interrupted. + */ +@InternalApi +public class RefreshingHttpJsonChannel extends ManagedHttpJsonChannel { + + private static final Logger LOG = Logger.getLogger(RefreshingHttpJsonChannel.class.getName()); + + private final CertificateRotationTracker rotationTracker; + private final Supplier transportFactory; + private final String workloadCertPath; + private final ManagedHttpJsonChannel delegate; + private final Object refreshLock = new Object(); + private final AtomicLong generation = new AtomicLong(0); + + /** + * @param transportFactory creates a transport configured with the certificate currently on disk + * @param channelFactory creates the underlying channel from the initial transport + * @param workloadCertPath path of the workload certificate to monitor for rotation + */ + public RefreshingHttpJsonChannel( + Supplier transportFactory, + Function channelFactory, + String workloadCertPath) { + super(true); + this.transportFactory = transportFactory; + this.workloadCertPath = workloadCertPath; + // Record the baseline fingerprint before the initial transport loads the certificate from disk, + // so a rotation between the two steps is detected as a fingerprint change. + this.rotationTracker = + new CertificateRotationTracker(this::getWorkloadCertPath, this::getCertificateFingerprint); + this.delegate = channelFactory.apply(transportFactory.get()); + } + + @VisibleForTesting + String getWorkloadCertPath() { + return workloadCertPath; + } + + @VisibleForTesting + String getCertificateFingerprint(String certPath) { + return WorkloadCertificateUtils.getCertificateFingerprint(certPath); + } + + /** {@inheritDoc} */ + @Override + public boolean shouldRefresh() { + return rotationTracker.shouldRefresh(); + } + + /** {@inheritDoc} */ + @Override + public void refresh() { + // A generation change while waiting for the lock means a concurrent refresh already swapped in + // a transport with a new certificate, so there is no need to read the certificate again. + long generationBeforeLock = generation.get(); + synchronized (refreshLock) { + if (isShutdown()) { + return; + } + if (generation.get() != generationBeforeLock) { + LOG.fine( + "HTTP/JSON channel was already refreshed by a concurrent thread, skipping duplicate" + + " refresh"); + return; + } + String currentDiskFingerprint = rotationTracker.readDiskFingerprint(); + if (currentDiskFingerprint.isEmpty()) { + return; + } + + // Double-check inside refreshLock + if (rotationTracker.isAlreadyActive(currentDiskFingerprint)) { + LOG.fine( + "HTTP/JSON channel was already refreshed by a concurrent thread, skipping duplicate" + + " refresh"); + return; + } + + LOG.info("mTLS certificate rotation detected. Refreshing HTTP/JSON transport."); + + HttpTransport newTransport; + try { + newTransport = transportFactory.get(); + } catch (Exception e) { + LOG.log(Level.WARNING, "Failed to refresh HTTP/JSON transport, keeping old transport", e); + return; + } + // The previous transport is not shut down: calls created before the swap may still be using + // it, and it needs no explicit shutdown because its idle keep-alive connections expire. + delegate.setHttpTransport(newTransport); + // Order matters: swap the transport, then bump generation, then mark the tracker refreshed, + // so any failing RPC that observes the new fingerprint also observes the new generation. + generation.incrementAndGet(); + rotationTracker.markRefreshed(currentDiskFingerprint); + } + } + + /** {@inheritDoc} */ + @Override + public long getGeneration() { + return generation.get(); + } + + @Override + public HttpJsonClientCall newCall( + ApiMethodDescriptor methodDescriptor, HttpJsonCallOptions callOptions) { + return delegate.newCall(methodDescriptor, callOptions); + } + + @Override + Executor getExecutor() { + return delegate.getExecutor(); + } + + @Override + String getEndpoint() { + return delegate.getEndpoint(); + } + + @Override + @VisibleForTesting + HttpTransport getHttpTransport() { + return delegate.getHttpTransport(); + } + + @VisibleForTesting + void invalidateDiskFingerprintCache() { + rotationTracker.invalidateCache(); + } + + @Override + public void shutdown() { + // Serialized with refresh() so that a transport swap cannot race with shutdown. + synchronized (refreshLock) { + delegate.shutdown(); + } + } + + @Override + public boolean isShutdown() { + return delegate.isShutdown(); + } + + @Override + public boolean isTerminated() { + return delegate.isTerminated(); + } + + @Override + public void shutdownNow() { + synchronized (refreshLock) { + delegate.shutdownNow(); + } + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return delegate.awaitTermination(duration, unit); + } + + @Override + public void close() { + shutdown(); + } +} diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/HttpJsonCallContextTest.java b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/HttpJsonCallContextTest.java index 08044522e729..6963ca2c1f88 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/HttpJsonCallContextTest.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/HttpJsonCallContextTest.java @@ -47,6 +47,7 @@ import com.google.auth.Credentials; import com.google.common.collect.ImmutableMap; import com.google.common.truth.Truth; +import java.time.Duration; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -207,6 +208,19 @@ void testWithLongerTimeout() { .isEqualTo(java.time.Duration.ofSeconds(5)); } + @Test + void testWithNullOrZeroTimeoutClearsExistingTimeout() { + HttpJsonCallContext ctxWithTimeout = + HttpJsonCallContext.createDefault().withTimeoutDuration(Duration.ofSeconds(5)); + + // Sanity check + Truth.assertThat(ctxWithTimeout.getTimeoutDuration()).isEqualTo(Duration.ofSeconds(5)); + + Duration nullTimeout = null; + assertNull(ctxWithTimeout.withTimeoutDuration(nullTimeout).getTimeoutDuration()); + assertNull(ctxWithTimeout.withTimeoutDuration(Duration.ZERO).getTimeoutDuration()); + } + @Test void testMergeWithNullTimeout() { java.time.Duration timeout = java.time.Duration.ofSeconds(10); @@ -334,4 +348,55 @@ void testMergeOptions() { assertEquals(testContext2, mergedContext.getOption(contextKey2)); assertEquals(testContext3, mergedContext.getOption(contextKey3)); } + + @Test + void testWithChannelClearsStaleTransportChannel() { + ManagedHttpJsonChannel channel1 = + mock(ManagedHttpJsonChannel.class, Mockito.withSettings().withoutAnnotations()); + ManagedHttpJsonChannel channel2 = + mock(ManagedHttpJsonChannel.class, Mockito.withSettings().withoutAnnotations()); + + HttpJsonTransportChannel transportChannel1 = + HttpJsonTransportChannel.newBuilder().setManagedChannel(channel1).build(); + + HttpJsonCallContext context = + HttpJsonCallContext.createDefault().withTransportChannel(transportChannel1); + Truth.assertThat(context.getTransportChannel()).isSameInstanceAs(transportChannel1); + + // Retains transportChannel when setting same channel + Truth.assertThat(context.withChannel(channel1).getTransportChannel()) + .isSameInstanceAs(transportChannel1); + + // Clears transportChannel to null when setting null or a different channel + HttpJsonCallContext nullChannelContext = context.withChannel(null); + Truth.assertThat(nullChannelContext.getChannel()).isNull(); + Truth.assertThat(nullChannelContext.getTransportChannel()).isNull(); + Truth.assertThat(context.withChannel(channel2).getTransportChannel()).isNull(); + + // Merging a context with a cleared channel into the original context keeps the original + // channel and transportChannel + HttpJsonCallContext mergedWithNullChannel = context.merge(nullChannelContext); + Truth.assertThat(mergedWithNullChannel.getChannel()).isSameInstanceAs(channel1); + Truth.assertThat(mergedWithNullChannel.getTransportChannel()) + .isSameInstanceAs(transportChannel1); + } + + @Test + void testMergeClearsStaleTransportChannel() { + ManagedHttpJsonChannel channel1 = + mock(ManagedHttpJsonChannel.class, Mockito.withSettings().withoutAnnotations()); + ManagedHttpJsonChannel channel2 = + mock(ManagedHttpJsonChannel.class, Mockito.withSettings().withoutAnnotations()); + + HttpJsonTransportChannel transportChannel1 = + HttpJsonTransportChannel.newBuilder().setManagedChannel(channel1).build(); + + HttpJsonCallContext context1 = + HttpJsonCallContext.createDefault().withTransportChannel(transportChannel1); + HttpJsonCallContext context2 = HttpJsonCallContext.createDefault().withChannel(channel2); + + HttpJsonCallContext merged = context1.merge(context2); + Truth.assertThat(merged.getChannel()).isSameInstanceAs(channel2); + Truth.assertThat(merged.getTransportChannel()).isNull(); + } } diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTest.java b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTest.java index 8c95c1d2e1c4..749876c4a005 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTest.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTest.java @@ -31,21 +31,33 @@ import static com.google.common.truth.Truth.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.mockito.Mockito.mock; +import com.google.api.client.http.HttpTransport; import com.google.api.client.http.javanet.NetHttpTransport; +import com.google.api.gax.rpc.HeaderProvider; import com.google.api.gax.rpc.TransportChannelProvider; import com.google.api.gax.rpc.mtls.AbstractMtlsTransportChannelTest; import com.google.api.gax.rpc.mtls.CertificateBasedAccess; +import com.google.api.gax.rpc.testing.FakeMtlsProvider; import com.google.auth.mtls.MtlsProvider; import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; import java.security.GeneralSecurityException; +import java.security.KeyStore; import java.util.Collections; import java.util.Map; import java.util.concurrent.Executor; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.atomic.AtomicReference; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; +import org.mockito.Mockito; class InstantiatingHttpJsonChannelProviderTest extends AbstractMtlsTransportChannelTest { @@ -55,9 +67,10 @@ class InstantiatingHttpJsonChannelProviderTest extends AbstractMtlsTransportChan @BeforeEach public void setup() throws IOException { - certificateBasedAccess = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_MTLS_ENDPOINT") ? "never" : "false"); + certificateBasedAccess = Mockito.mock(CertificateBasedAccess.class); + Mockito.when(certificateBasedAccess.getMtlsEndpointUsagePolicy()) + .thenReturn(CertificateBasedAccess.MtlsEndpointUsagePolicy.NEVER); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(false); } @Test @@ -179,20 +192,340 @@ void managedChannelUsesCustomExecutor() throws IOException { instantiatingHttpJsonChannelProvider.getTransportChannel().shutdownNow(); } - @Override - protected Object getMtlsObjectFromTransportChannel( - MtlsProvider provider, CertificateBasedAccess certificateBasedAccess) + @Test + void managedChannelDoesNotShutdownCustomHttpTransport() throws IOException { + HttpTransport mockHttpTransport = Mockito.mock(HttpTransport.class); + + InstantiatingHttpJsonChannelProvider provider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint(DEFAULT_ENDPOINT) + .setHttpTransport(mockHttpTransport) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + provider = (InstantiatingHttpJsonChannelProvider) provider.withHeaders(DEFAULT_HEADER_MAP); + + HttpJsonTransportChannel httpJsonTransportChannel = provider.getTransportChannel(); + + // Verify custom transport is injected (direct ManagedHttpJsonChannel when workloadCertPath is + // null) + ManagedHttpJsonInterceptorChannel interceptorChannel = + (ManagedHttpJsonInterceptorChannel) httpJsonTransportChannel.getManagedChannel(); + ManagedHttpJsonInterceptorChannel managedHttpJsonChannel = + (ManagedHttpJsonInterceptorChannel) interceptorChannel.getChannel(); + ManagedHttpJsonChannel channel = managedHttpJsonChannel.getChannel(); + + assertThat(channel.getHttpTransport()).isEqualTo(mockHttpTransport); + + // Perform a shutdown + provider.getTransportChannel().shutdownNow(); + + // Verify that shutdown() was NOT called on the custom HttpTransport + Mockito.verify(mockHttpTransport, Mockito.never()).shutdown(); + } + + @Test + void channelCreation_withWorkloadCertPath_wrapsWithRefreshingHttpJsonChannel() + throws IOException, GeneralSecurityException { + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + Mockito.when(certificateBasedAccess.getWorkloadCertPath()).thenReturn("fake/cert/path.json"); + MtlsProvider mtlsProvider = + new FakeMtlsProvider(FakeMtlsProvider.createTestMtlsKeyStore(), "", false); + + InstantiatingHttpJsonChannelProvider provider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint(DEFAULT_ENDPOINT) + .setMtlsProvider(mtlsProvider) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + provider = (InstantiatingHttpJsonChannelProvider) provider.withHeaders(DEFAULT_HEADER_MAP); + + HttpJsonTransportChannel httpJsonTransportChannel = provider.getTransportChannel(); + + ManagedHttpJsonInterceptorChannel interceptorChannel = + (ManagedHttpJsonInterceptorChannel) httpJsonTransportChannel.getManagedChannel(); + ManagedHttpJsonInterceptorChannel managedHttpJsonChannel = + (ManagedHttpJsonInterceptorChannel) interceptorChannel.getChannel(); + assertThat(managedHttpJsonChannel.getChannel()).isInstanceOf(RefreshingHttpJsonChannel.class); + + provider.getTransportChannel().shutdownNow(); + } + + @Test + void channelCreation_withCustomHttpTransport_ignoresWorkloadCertPathAndDoesNotWrap() + throws IOException, GeneralSecurityException { + // mTLS is otherwise fully configured, so only the custom transport prevents wrapping. Lenient + // because a custom transport is expected to skip these lookups. + Mockito.lenient().when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + Mockito.lenient() + .when(certificateBasedAccess.getWorkloadCertPath()) + .thenReturn("fake/cert/path.json"); + MtlsProvider mtlsProvider = + new FakeMtlsProvider(FakeMtlsProvider.createTestMtlsKeyStore(), "", false); + HttpTransport mockHttpTransport = Mockito.mock(HttpTransport.class); + + InstantiatingHttpJsonChannelProvider provider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint(DEFAULT_ENDPOINT) + .setHttpTransport(mockHttpTransport) + .setMtlsProvider(mtlsProvider) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + provider = (InstantiatingHttpJsonChannelProvider) provider.withHeaders(DEFAULT_HEADER_MAP); + + HttpJsonTransportChannel httpJsonTransportChannel = provider.getTransportChannel(); + + ManagedHttpJsonInterceptorChannel interceptorChannel = + (ManagedHttpJsonInterceptorChannel) httpJsonTransportChannel.getManagedChannel(); + ManagedHttpJsonInterceptorChannel managedHttpJsonChannel = + (ManagedHttpJsonInterceptorChannel) interceptorChannel.getChannel(); + assertThat(managedHttpJsonChannel.getChannel()) + .isNotInstanceOf(RefreshingHttpJsonChannel.class); + Mockito.verify(certificateBasedAccess, Mockito.never()).getWorkloadCertPath(); + + httpJsonTransportChannel.shutdownNow(); + } + + @Test + void getTransportChannel_withMtlsKeyStore_usesMtlsTransport() throws IOException { + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + MtlsProvider mtlsProvider = + new FakeMtlsProvider(FakeMtlsProvider.createTestMtlsKeyStore(), "", false); + + InstantiatingHttpJsonChannelProvider provider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint(DEFAULT_ENDPOINT) + .setMtlsProvider(mtlsProvider) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + provider = (InstantiatingHttpJsonChannelProvider) provider.withHeaders(DEFAULT_HEADER_MAP); + + HttpJsonTransportChannel httpJsonTransportChannel = provider.getTransportChannel(); + ManagedHttpJsonInterceptorChannel interceptorChannel = + (ManagedHttpJsonInterceptorChannel) httpJsonTransportChannel.getManagedChannel(); + ManagedHttpJsonChannel channel = + ((ManagedHttpJsonInterceptorChannel) interceptorChannel.getChannel()).getChannel(); + + assertThat(channel).isNotInstanceOf(RefreshingHttpJsonChannel.class); + assertThat(((NetHttpTransport) channel.getHttpTransport()).isMtls()).isTrue(); + + httpJsonTransportChannel.shutdownNow(); + } + + @Test + void refresh_whenKeyStoreUnavailableDuringRotation_keepsCurrentTransport(@TempDir Path tempDir) + throws IOException { + Path certPath = tempDir.resolve("cert.pem"); + Files.write(certPath, "certificate-v1".getBytes(StandardCharsets.UTF_8)); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + Mockito.when(certificateBasedAccess.getWorkloadCertPath()).thenReturn(certPath.toString()); + KeyStore keyStore = FakeMtlsProvider.createTestMtlsKeyStore(); + AtomicReference currentKeyStore = new AtomicReference<>(keyStore); + MtlsProvider mtlsProvider = + new MtlsProvider() { + @Override + public KeyStore getKeyStore() { + return currentKeyStore.get(); + } + + @Override + public boolean isAvailable() { + return true; + } + }; + + InstantiatingHttpJsonChannelProvider provider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint(DEFAULT_ENDPOINT) + .setMtlsProvider(mtlsProvider) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + provider = (InstantiatingHttpJsonChannelProvider) provider.withHeaders(DEFAULT_HEADER_MAP); + HttpJsonTransportChannel httpJsonTransportChannel = provider.getTransportChannel(); + ManagedHttpJsonInterceptorChannel interceptorChannel = + (ManagedHttpJsonInterceptorChannel) httpJsonTransportChannel.getManagedChannel(); + RefreshingHttpJsonChannel channel = + (RefreshingHttpJsonChannel) + ((ManagedHttpJsonInterceptorChannel) interceptorChannel.getChannel()).getChannel(); + HttpTransport initialTransport = channel.getHttpTransport(); + assertThat(((NetHttpTransport) initialTransport).isMtls()).isTrue(); + + // The certificate rotates on disk, but the provider cannot return the new key store yet. + Files.write(certPath, "certificate-v2".getBytes(StandardCharsets.UTF_8)); + currentKeyStore.set(null); + assertThat(channel.shouldRefresh()).isTrue(); + channel.refresh(); + + // The current authenticated transport is kept instead of one without a client certificate. + assertThat(channel.getHttpTransport()).isSameInstanceAs(initialTransport); + assertThat(channel.getGeneration()).isEqualTo(0); + assertThat(channel.shouldRefresh()).isTrue(); + + // Once the key store is available again, the next refresh swaps in a new mTLS transport. + currentKeyStore.set(keyStore); + channel.refresh(); + assertThat(channel.getHttpTransport()).isNotSameInstanceAs(initialTransport); + assertThat(((NetHttpTransport) channel.getHttpTransport()).isMtls()).isTrue(); + assertThat(channel.getGeneration()).isEqualTo(1); + + httpJsonTransportChannel.shutdownNow(); + } + + @Test + void getTransportChannel_whenMtlsKeyStoreThrowsIOException_throwsCheckedIOException() + throws Exception { + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + Mockito.when(certificateBasedAccess.getWorkloadCertPath()).thenReturn("fake/cert/path.json"); + MtlsProvider failingMtlsProvider = + Mockito.mock(MtlsProvider.class, Mockito.withSettings().withoutAnnotations()); + Mockito.when(failingMtlsProvider.getKeyStore()) + .thenThrow(new IOException("Simulated keystore read failure")); + + InstantiatingHttpJsonChannelProvider provider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint(DEFAULT_ENDPOINT) + .setMtlsProvider(failingMtlsProvider) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + final InstantiatingHttpJsonChannelProvider finalProvider = + (InstantiatingHttpJsonChannelProvider) provider.withHeaders(DEFAULT_HEADER_MAP); + + // Must throw checked IOException directly (not wrapped in RuntimeException) + IOException thrown = assertThrows(IOException.class, finalProvider::getTransportChannel); + assertThat(thrown).hasMessageThat().contains("Simulated keystore read failure"); + } + + @Test + void getTransportChannel_whenMtlsActiveAndKeyStoreNull_throwsIOException() { + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + MtlsProvider providerWithNullKeyStore = new FakeMtlsProvider(null, "", false); + + InstantiatingHttpJsonChannelProvider provider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint(DEFAULT_ENDPOINT) + .setMtlsProvider(providerWithNullKeyStore) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + InstantiatingHttpJsonChannelProvider finalProvider = + (InstantiatingHttpJsonChannelProvider) provider.withHeaders(DEFAULT_HEADER_MAP); + + IOException thrown = assertThrows(IOException.class, finalProvider::getTransportChannel); + assertThat(thrown).hasMessageThat().contains("Failed to initialize mTLS HttpTransport"); + } + + @Test + void getTransportChannel_whenRotationEnabledAndKeyStoreNull_throwsIOException() { + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + Mockito.when(certificateBasedAccess.getWorkloadCertPath()).thenReturn("fake/cert/path.json"); + MtlsProvider providerWithNullKeyStore = new FakeMtlsProvider(null, "", false); + + InstantiatingHttpJsonChannelProvider provider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint(DEFAULT_ENDPOINT) + .setMtlsProvider(providerWithNullKeyStore) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + InstantiatingHttpJsonChannelProvider finalProvider = + (InstantiatingHttpJsonChannelProvider) provider.withHeaders(DEFAULT_HEADER_MAP); + + IOException thrown = assertThrows(IOException.class, finalProvider::getTransportChannel); + assertThat(thrown).hasMessageThat().contains("Failed to initialize mTLS HttpTransport"); + } + + @Test + void getTransportChannel_whenKeyStoreUninitialized_wrapsGeneralSecurityException() + throws Exception { + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + Mockito.when(certificateBasedAccess.getWorkloadCertPath()).thenReturn("fake/cert/path.json"); + // A KeyStore that was never loaded makes transport creation fail with a KeyStoreException. + KeyStore uninitializedKeyStore = KeyStore.getInstance("PKCS12"); + MtlsProvider providerWithBadKeyStore = new FakeMtlsProvider(uninitializedKeyStore, "", false); + + InstantiatingHttpJsonChannelProvider provider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint(DEFAULT_ENDPOINT) + .setMtlsProvider(providerWithBadKeyStore) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + InstantiatingHttpJsonChannelProvider finalProvider = + (InstantiatingHttpJsonChannelProvider) provider.withHeaders(DEFAULT_HEADER_MAP); + + // The GeneralSecurityException must be unwrapped from the factory's RuntimeException, so that + // getTransportChannel() surfaces it as the direct cause of its checked IOException. + IOException thrown = assertThrows(IOException.class, finalProvider::getTransportChannel); + assertThat(thrown).hasCauseThat().isInstanceOf(GeneralSecurityException.class); + } + + @Test + void getTransportChannel_whenMtlsKeyStoreThrowsRuntimeException_propagatesUnwrapped() + throws Exception { + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + Mockito.when(certificateBasedAccess.getWorkloadCertPath()).thenReturn("fake/cert/path.json"); + IllegalStateException failure = new IllegalStateException("Simulated keystore failure"); + MtlsProvider failingMtlsProvider = + Mockito.mock(MtlsProvider.class, Mockito.withSettings().withoutAnnotations()); + Mockito.when(failingMtlsProvider.getKeyStore()).thenThrow(failure); + + InstantiatingHttpJsonChannelProvider provider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint(DEFAULT_ENDPOINT) + .setMtlsProvider(failingMtlsProvider) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + InstantiatingHttpJsonChannelProvider finalProvider = + (InstantiatingHttpJsonChannelProvider) provider.withHeaders(DEFAULT_HEADER_MAP); + + IllegalStateException thrown = + assertThrows(IllegalStateException.class, finalProvider::getTransportChannel); + assertThat(thrown).isSameInstanceAs(failure); + } + + @Test + void createHttpTransport_withMtlsKeyStore_returnsMtlsTransport() throws IOException, GeneralSecurityException { + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + MtlsProvider provider = + new FakeMtlsProvider(FakeMtlsProvider.createTestMtlsKeyStore(), "", false); + InstantiatingHttpJsonChannelProvider channelProvider = InstantiatingHttpJsonChannelProvider.newBuilder() - .setEndpoint("localhost:8080") + .setEndpoint(DEFAULT_ENDPOINT) .setMtlsProvider(provider) .setCertificateBasedAccess(certificateBasedAccess) - .setHeaderProvider(Collections::emptyMap) - .setExecutor(Runnable::run) .build(); - NetHttpTransport transport = (NetHttpTransport) channelProvider.createHttpTransport(); - return (transport != null && transport.isMtls()) ? transport : null; + + HttpTransport transport = channelProvider.createHttpTransport(); + assertThat(transport).isNotNull(); + assertThat(transport).isInstanceOf(NetHttpTransport.class); + assertThat(((NetHttpTransport) transport).isMtls()).isTrue(); + } + + @Test + void createHttpTransport_whenMtlsProviderNullOrNotUsingClientCert_returnsNonMtlsTransport() + throws IOException, GeneralSecurityException { + InstantiatingHttpJsonChannelProvider nullMtlsProviderChannelProvider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint(DEFAULT_ENDPOINT) + .setMtlsProvider(null) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + NetHttpTransport nullMtlsProviderTransport = + (NetHttpTransport) nullMtlsProviderChannelProvider.createHttpTransport(); + assertThat(nullMtlsProviderTransport).isNotNull(); + assertThat(nullMtlsProviderTransport.isMtls()).isFalse(); + + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(false); + MtlsProvider provider = + new FakeMtlsProvider(FakeMtlsProvider.createTestMtlsKeyStore(), "", false); + InstantiatingHttpJsonChannelProvider disabledMtlsChannelProvider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint(DEFAULT_ENDPOINT) + .setMtlsProvider(provider) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + NetHttpTransport disabledMtlsTransport = + (NetHttpTransport) disabledMtlsChannelProvider.createHttpTransport(); + assertThat(disabledMtlsTransport).isNotNull(); + assertThat(disabledMtlsTransport.isMtls()).isFalse(); } @Test @@ -214,4 +547,21 @@ void testConfigureConscryptSecurityProvider_returnsConfiguredBuilder() { HttpJsonConscryptUtils.configureConscryptSecurityProvider(builder); assertThat(result).isSameInstanceAs(builder); } + + @Override + protected Object getMtlsObjectFromTransportChannel( + MtlsProvider provider, CertificateBasedAccess certificateBasedAccess) + throws IOException, GeneralSecurityException { + InstantiatingHttpJsonChannelProvider channelProvider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint("localhost:8080") + .setMtlsProvider(provider) + .setCertificateBasedAccess(certificateBasedAccess) + .setHeaderProvider( + mock(HeaderProvider.class, Mockito.withSettings().withoutAnnotations())) + .setExecutor(mock(Executor.class)) + .build(); + NetHttpTransport transport = (NetHttpTransport) channelProvider.createHttpTransport(); + return (transport != null && transport.isMtls()) ? transport : null; + } } diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/RefreshingHttpJsonChannelTest.java b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/RefreshingHttpJsonChannelTest.java new file mode 100644 index 000000000000..768411f1a13a --- /dev/null +++ b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/RefreshingHttpJsonChannelTest.java @@ -0,0 +1,607 @@ +/* + * Copyright 2026 Google LLC + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google LLC nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.google.api.gax.httpjson; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotSame; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import com.google.api.client.http.HttpTransport; +import com.google.api.client.testing.http.MockHttpTransport; +import com.google.api.gax.httpjson.testing.MockHttpService; +import com.google.protobuf.Field; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Queue; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Function; +import java.util.function.Supplier; +import javax.annotation.Nullable; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class RefreshingHttpJsonChannelTest { + private static final ApiMethodDescriptor FAKE_METHOD_DESCRIPTOR = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.v1.Fake/FakeMethod") + .setHttpMethod("POST") + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/fake/v1/name/{name}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor(request -> new HashMap<>()) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("*", request.toBuilder().clearName().build(), false)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Field.getDefaultInstance()) + .build()) + .build(); + + private static class FakeHttpJsonClientCall + extends HttpJsonClientCall { + @Override + public void start(Listener responseListener, HttpJsonMetadata requestHeaders) {} + + @Override + public void request(int numMessages) {} + + @Override + public void cancel(@Nullable String message, @Nullable Throwable cause) {} + + @Override + public void sendMessage(RequestT message) {} + + @Override + public void halfClose() {} + } + + private static class FakeManagedHttpJsonChannel extends ManagedHttpJsonChannel { + private volatile boolean isShutdown = false; + private volatile boolean isTerminated = false; + private HttpJsonClientCall nextCall = null; + + @Override + String getEndpoint() { + return "https://fake.endpoint:443"; + } + + @Override + public void shutdown() { + isShutdown = true; + } + + @Override + public void shutdownNow() { + isShutdown = true; + isTerminated = true; + } + + @Override + public boolean isShutdown() { + return isShutdown; + } + + @Override + public boolean isTerminated() { + return isTerminated; + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) { + return isTerminated; + } + + @Override + @SuppressWarnings("unchecked") + public HttpJsonClientCall newCall( + ApiMethodDescriptor methodDescriptor, + HttpJsonCallOptions callOptions) { + if (nextCall != null) { + return (HttpJsonClientCall) nextCall; + } + return new FakeHttpJsonClientCall<>(); + } + } + + private AtomicInteger transportFactoryCount; + private HttpTransport lastCreatedTransport; + private FakeManagedHttpJsonChannel lastCreatedChannel; + private String testCertPath; + private String testFingerprint; + private boolean shouldThrowOnFactory; + private List createdChannels; + + private Supplier transportFactory = + () -> { + if (shouldThrowOnFactory) { + throw new RuntimeException("Simulated factory failure"); + } + transportFactoryCount.incrementAndGet(); + lastCreatedTransport = new MockHttpTransport(); + return lastCreatedTransport; + }; + + private Function channelFactory = + transport -> { + lastCreatedChannel = new FakeManagedHttpJsonChannel(); + lastCreatedChannel.setHttpTransport(transport); + return lastCreatedChannel; + }; + + @BeforeEach + void setUp() { + transportFactoryCount = new AtomicInteger(0); + testCertPath = "/fake/path"; + testFingerprint = "fingerprint1"; + shouldThrowOnFactory = false; + createdChannels = new ArrayList<>(); + } + + @AfterEach + void tearDown() { + for (RefreshingHttpJsonChannel channel : createdChannels) { + channel.shutdownNow(); + } + } + + private RefreshingHttpJsonChannel createTestChannel() { + RefreshingHttpJsonChannel ch = + new RefreshingHttpJsonChannel( + () -> transportFactory.get(), + transport -> channelFactory.apply(transport), + "fake/cert/path.json") { + @Override + String getWorkloadCertPath() { + return testCertPath; + } + + @Override + String getCertificateFingerprint(String certPath) { + return testFingerprint; + } + }; + createdChannels.add(ch); + return ch; + } + + private void rotateCertificate(RefreshingHttpJsonChannel channel) { + channel.invalidateDiskFingerprintCache(); + testFingerprint = "fingerprint2"; + } + + @Test + void testShouldRefreshFalseWhenCertPathNull() { + testCertPath = null; + RefreshingHttpJsonChannel channel = createTestChannel(); + assertFalse(channel.shouldRefresh()); + } + + @Test + void testShouldRefreshFalseWhenUnchanged() { + RefreshingHttpJsonChannel channel = createTestChannel(); + + channel.invalidateDiskFingerprintCache(); // Invalidate 1-second cache + assertFalse(channel.shouldRefresh()); + } + + @Test + void testShouldRefreshTrueWhenChanged() { + RefreshingHttpJsonChannel channel = createTestChannel(); + + rotateCertificate(channel); + + assertTrue(channel.shouldRefresh()); + } + + @Test + void shouldRefresh_doesNotCacheNegativeResultAndDetectsSubsequentRotationImmediately() { + RefreshingHttpJsonChannel channel = createTestChannel(); + + // First check returns false (unchanged fingerprint) + assertFalse(channel.shouldRefresh()); + + // Immediately change fingerprint WITHOUT invalidating cache + testFingerprint = "fingerprint2"; + + // Must immediately detect rotation because negative/unchanged checks are not cached for 1s + assertTrue(channel.shouldRefresh()); + + // Refresh updates activeCertFingerprint and clears cache + channel.refresh(); + assertFalse(channel.shouldRefresh()); + } + + @Test + void rotationDuringInitialTransportCreation_isDetectedAndRefreshed() { + transportFactory = + () -> { + if (transportFactoryCount.incrementAndGet() == 1) { + // Simulate the certificate rotating on disk while the initial transport loads it. + testFingerprint = "fingerprint2"; + } + lastCreatedTransport = new MockHttpTransport(); + return lastCreatedTransport; + }; + + RefreshingHttpJsonChannel channel = createTestChannel(); + + // The baseline was recorded before the initial transport was created, so the rotation is seen. + assertTrue(channel.shouldRefresh()); + + channel.refresh(); + assertEquals(2, transportFactoryCount.get()); + assertEquals(1, channel.getGeneration()); + assertFalse(channel.shouldRefresh()); + } + + @Test + void refresh_swapsTransportAndKeepsChannel() { + RefreshingHttpJsonChannel channel = createTestChannel(); + FakeManagedHttpJsonChannel underlyingChannel = lastCreatedChannel; + HttpTransport initialTransport = channel.getHttpTransport(); + assertSame(lastCreatedTransport, initialTransport); + + rotateCertificate(channel); + channel.refresh(); + + assertEquals(2, transportFactoryCount.get()); + assertNotSame(initialTransport, channel.getHttpTransport()); + assertSame(lastCreatedTransport, channel.getHttpTransport()); + // The underlying channel (and its executors) is reused rather than replaced or shut down. + assertSame(underlyingChannel, lastCreatedChannel); + assertFalse(underlyingChannel.isShutdown()); + assertEquals(1, channel.getGeneration()); + assertFalse(channel.shouldRefresh()); + } + + @Test + void refresh_whenCertificateFileEmpty_keepsTransportAndGeneration() { + RefreshingHttpJsonChannel channel = createTestChannel(); + HttpTransport initialTransport = channel.getHttpTransport(); + + // A rotation is detected, but when refresh() re-reads the file the rotator has truncated it + // and not yet written the new certificate. + rotateCertificate(channel); + assertTrue(channel.shouldRefresh()); + testFingerprint = ""; + channel.refresh(); + + // Nothing is swapped and the generation is unchanged, so the failed call is not retried. + assertEquals(1, transportFactoryCount.get()); + assertSame(initialTransport, channel.getHttpTransport()); + assertEquals(0, channel.getGeneration()); + // While the file stays empty, no refresh is requested. + channel.invalidateDiskFingerprintCache(); + assertFalse(channel.shouldRefresh()); + + // Once the new certificate is written, the next check refreshes normally. + testFingerprint = "fingerprint2"; + assertTrue(channel.shouldRefresh()); + channel.refresh(); + assertEquals(2, transportFactoryCount.get()); + assertNotSame(initialTransport, channel.getHttpTransport()); + assertEquals(1, channel.getGeneration()); + } + + @Test + void callCreatedBeforeRefresh_usesOriginalTransport() throws Exception { + MockHttpService originalService = + new MockHttpService(Collections.singletonList(FAKE_METHOD_DESCRIPTOR), "google.com:443"); + MockHttpService rotatedService = + new MockHttpService(Collections.singletonList(FAKE_METHOD_DESCRIPTOR), "google.com:443"); + Field message = Field.newBuilder().setName("bob").setNumber(1).build(); + originalService.addResponse(message); + rotatedService.addResponse(message); + Queue transports = + new ArrayDeque<>(Arrays.asList(originalService, rotatedService)); + transportFactory = transports::remove; + channelFactory = + transport -> + ManagedHttpJsonChannel.newBuilder() + .setEndpoint("google.com:443") + .setHttpTransport(transport) + .build(); + RefreshingHttpJsonChannel channel = createTestChannel(); + HttpJsonCallOptions callOptions = HttpJsonCallOptions.newBuilder().build(); + HttpJsonCallContext callContext = HttpJsonCallContext.createDefault(); + + HttpJsonClientCall callBeforeRefresh = + channel.newCall(FAKE_METHOD_DESCRIPTOR, callOptions); + + rotateCertificate(channel); + channel.refresh(); + assertEquals(1, channel.getGeneration()); + + assertEquals( + message, + HttpJsonClientCalls.futureUnaryCall(callBeforeRefresh, message, callContext) + .get(10, TimeUnit.SECONDS)); + assertEquals(1, originalService.getRequestPaths().size()); + assertEquals(0, rotatedService.getRequestPaths().size()); + + HttpJsonClientCall callAfterRefresh = + channel.newCall(FAKE_METHOD_DESCRIPTOR, callOptions); + assertEquals( + message, + HttpJsonClientCalls.futureUnaryCall(callAfterRefresh, message, callContext) + .get(10, TimeUnit.SECONDS)); + assertEquals(1, originalService.getRequestPaths().size()); + assertEquals(1, rotatedService.getRequestPaths().size()); + } + + @Test + void testRefreshDoesNotCreateTransportWhenShutdown() { + RefreshingHttpJsonChannel channel = createTestChannel(); + assertEquals(1, transportFactoryCount.get()); + + channel.shutdown(); + rotateCertificate(channel); + channel.refresh(); + + assertEquals(1, transportFactoryCount.get()); + assertEquals(0, channel.getGeneration()); + } + + @Test + void shutdown_waitsForInProgressRefresh() throws Exception { + CountDownLatch refreshStarted = new CountDownLatch(1); + CountDownLatch releaseRefresh = new CountDownLatch(1); + transportFactory = + () -> { + if (transportFactoryCount.incrementAndGet() > 1) { + refreshStarted.countDown(); + try { + releaseRefresh.await(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + return new MockHttpTransport(); + }; + RefreshingHttpJsonChannel channel = createTestChannel(); + FakeManagedHttpJsonChannel underlyingChannel = lastCreatedChannel; + rotateCertificate(channel); + + Thread refreshThread = new Thread(channel::refresh); + Thread shutdownThread = new Thread(channel::shutdown); + try { + refreshThread.start(); + assertTrue(refreshStarted.await(5, TimeUnit.SECONDS)); + shutdownThread.start(); + + shutdownThread.join(200); + assertTrue(shutdownThread.isAlive()); + assertFalse(underlyingChannel.isShutdown()); + } finally { + releaseRefresh.countDown(); + } + refreshThread.join(5000); + shutdownThread.join(5000); + assertFalse(refreshThread.isAlive()); + assertFalse(shutdownThread.isAlive()); + assertEquals(1, channel.getGeneration()); + assertTrue(underlyingChannel.isShutdown()); + } + + @Test + void refresh_concurrentRefreshWhileWaitingForLock_skipsWithoutReadingDisk() throws Exception { + CountDownLatch refreshStarted = new CountDownLatch(1); + CountDownLatch releaseRefresh = new CountDownLatch(1); + transportFactory = + () -> { + if (transportFactoryCount.incrementAndGet() == 2) { + refreshStarted.countDown(); + try { + releaseRefresh.await(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + return new MockHttpTransport(); + }; + RefreshingHttpJsonChannel channel = createTestChannel(); + rotateCertificate(channel); + + Thread refreshingThread = new Thread(channel::refresh); + Thread waitingThread = new Thread(channel::refresh); + try { + refreshingThread.start(); + assertTrue(refreshStarted.await(5, TimeUnit.SECONDS)); + waitingThread.start(); + long deadline = System.nanoTime() + TimeUnit.SECONDS.toNanos(5); + while (waitingThread.getState() != Thread.State.BLOCKED) { + assertTrue(System.nanoTime() < deadline); + Thread.sleep(1); + } + // Rotate again before the first refresh completes. A waiter that re-read the certificate + // would see this fingerprint and refresh a second time. + testFingerprint = "fingerprint3"; + } finally { + releaseRefresh.countDown(); + } + refreshingThread.join(5000); + waitingThread.join(5000); + assertFalse(refreshingThread.isAlive()); + assertFalse(waitingThread.isAlive()); + + // Only the initial transport and the concurrent refresh created transports; the waiter skipped. + assertEquals(2, transportFactoryCount.get()); + assertEquals(1, channel.getGeneration()); + // The second rotation is still detected for the next UNAUTHENTICATED failure. + channel.invalidateDiskFingerprintCache(); + assertTrue(channel.shouldRefresh()); + } + + @Test + void testRefreshFactoryExceptionDoesNotWedgeFingerprint() { + RefreshingHttpJsonChannel channel = createTestChannel(); + HttpTransport initialTransport = channel.getHttpTransport(); + assertEquals(1, transportFactoryCount.get()); + + shouldThrowOnFactory = true; + rotateCertificate(channel); + + // Factory failure is logged and the existing transport is kept + channel.refresh(); + assertEquals(1, transportFactoryCount.get()); + assertEquals(0, channel.getGeneration()); + assertSame(initialTransport, channel.getHttpTransport()); + + // Because the factory threw, the new fingerprint is not recorded as active, so the channel + // still reports that it should be refreshed. + assertTrue(channel.shouldRefresh()); + + shouldThrowOnFactory = false; + channel.refresh(); + assertEquals(2, transportFactoryCount.get()); + assertFalse(channel.shouldRefresh()); + } + + @Test + void testShutdownNowSetsIsShutdown() { + RefreshingHttpJsonChannel channel = createTestChannel(); + assertFalse(channel.isShutdown()); + + channel.shutdownNow(); + + assertTrue(channel.isShutdown()); + } + + @Test + void testAwaitTerminationZeroTimeoutOnTerminatedChannelReturnsTrue() throws InterruptedException { + RefreshingHttpJsonChannel channel = createTestChannel(); + lastCreatedChannel.isTerminated = true; + + channel.shutdown(); + assertTrue(channel.awaitTermination(0, TimeUnit.MILLISECONDS)); + } + + @Test + void testChannelDelegationMethods() { + RefreshingHttpJsonChannel channel = createTestChannel(); + FakeManagedHttpJsonChannel underlyingChannel = lastCreatedChannel; + FakeHttpJsonClientCall fakeCall = new FakeHttpJsonClientCall<>(); + underlyingChannel.nextCall = fakeCall; + + assertEquals(underlyingChannel.getEndpoint(), channel.getEndpoint()); + assertEquals(underlyingChannel.getHttpTransport(), channel.getHttpTransport()); + assertEquals(underlyingChannel.getExecutor(), channel.getExecutor()); + assertSame(fakeCall, channel.newCall(null, null)); + } + + @Test + void close_shutsDownUnderlyingChannel() { + RefreshingHttpJsonChannel channel = createTestChannel(); + + channel.close(); + + assertTrue(lastCreatedChannel.isShutdown()); + assertTrue(channel.isShutdown()); + } + + @Test + void testConcurrentNewCallDuringRefresh() throws InterruptedException { + RefreshingHttpJsonChannel channel = createTestChannel(); + int threadCount = 10; + ExecutorService executorService = Executors.newFixedThreadPool(threadCount); + CountDownLatch start = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(threadCount); + AtomicInteger successCount = new AtomicInteger(0); + + for (int i = 0; i < threadCount; i++) { + executorService.submit( + () -> { + try { + start.await(); + channel.newCall(null, null); + successCount.incrementAndGet(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } finally { + latch.countDown(); + } + }); + } + + rotateCertificate(channel); + // Release the workers just before refreshing so their calls overlap the transport swap. + start.countDown(); + channel.refresh(); + + assertTrue(latch.await(5, TimeUnit.SECONDS)); + executorService.shutdown(); + assertTrue(executorService.awaitTermination(5, TimeUnit.SECONDS)); + + assertEquals(threadCount, successCount.get()); + assertEquals(1, channel.getGeneration()); + } + + @Test + void testGenerationIncrementAndLifecycleOnDelegatingWrapper() throws Exception { + RefreshingHttpJsonChannel channel = createTestChannel(); + assertEquals(0, channel.getGeneration()); + + rotateCertificate(channel); + channel.refresh(); + + assertEquals(1, channel.getGeneration()); + + // Verify lifecycle methods on delegating wrapper do not throw NullPointerException + assertFalse(channel.isShutdown()); + assertFalse(channel.isTerminated()); + channel.shutdown(); + assertTrue(channel.isShutdown()); + channel.shutdownNow(); + assertTrue(channel.isTerminated()); + assertTrue(channel.awaitTermination(1, TimeUnit.SECONDS)); + } +} diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetrySettings.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetrySettings.java index d69fd310c2c0..e6729459b775 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetrySettings.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetrySettings.java @@ -189,7 +189,7 @@ public final org.threeten.bp.Duration getInitialRpcTimeout() { * connection has been terminated). * *

{@link #getTotalTimeout()} caps how long the logic should keep trying the RPC until it gives - * up completely. If {@link #getTotalTimeout()} is set, initialRpcTimeout should be <= + * up completely. If {@link #getTotalTimeout()} is set, initialRpcTimeout should be <= * totalTimeout. * *

If there are no configurations, Retries have the default initial RPC timeout value of {@code @@ -356,7 +356,7 @@ public final Builder setInitialRpcTimeout(org.threeten.bp.Duration initialTimeou * the connection has been terminated). * *

{@link #getTotalTimeout()} caps how long the logic should keep trying the RPC until it - * gives up completely. If {@link #getTotalTimeout()} is set, initialRpcTimeout should be <= + * gives up completely. If {@link #getTotalTimeout()} is set, initialRpcTimeout should be <= * totalTimeout. * *

If there are no configurations, Retries have the default initial RPC timeout value of @@ -491,7 +491,7 @@ public final org.threeten.bp.Duration getInitialRpcTimeout() { * the connection has been terminated). * *

{@link #getTotalTimeout()} caps how long the logic should keep trying the RPC until it - * gives up completely. If {@link #getTotalTimeout()} is set, initialRpcTimeout should be <= + * gives up completely. If {@link #getTotalTimeout()} is set, initialRpcTimeout should be <= * totalTimeout. * *

If there are no configurations, Retries have the default initial RPC timeout value of diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/StreamingRetryAlgorithm.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/StreamingRetryAlgorithm.java index e4d5461a6b4e..2ad0f6180e6c 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/StreamingRetryAlgorithm.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/StreamingRetryAlgorithm.java @@ -102,13 +102,26 @@ public StreamingRetryAlgorithm( (ServerStreamingAttemptException) previousThrowable; previousThrowable = previousThrowable.getCause(); - // If we have made progress in the last attempt, then reset the delays + // If we have made progress in the last attempt, then reset the delays and attempt counts. + // The next attempt is computed from a fresh baseline, so that result algorithms comparing + // the attempt count with the overall attempt count see the reset stream as a new sequence + // of attempts. The previous overall attempt count is then added back so that it keeps + // increasing across resets. if (attemptException.hasSeenResponses()) { - previousSettings = + int previousOverallAttemptCount = previousSettings.getOverallAttemptCount(); + TimedAttemptSettings resetSettings = createFirstAttempt(context).toBuilder() .setFirstAttemptStartTimeNanos(previousSettings.getFirstAttemptStartTimeNanos()) - .setOverallAttemptCount(previousSettings.getOverallAttemptCount()) .build(); + TimedAttemptSettings nextSettings = + super.createNextAttempt(context, previousThrowable, previousResponse, resetSettings); + if (nextSettings == null) { + return null; + } + return nextSettings.toBuilder() + .setOverallAttemptCount( + nextSettings.getOverallAttemptCount() + previousOverallAttemptCount) + .build(); } } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ApiCallContext.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ApiCallContext.java index 67b5e5b285d1..36d6fd966e55 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ApiCallContext.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ApiCallContext.java @@ -42,7 +42,6 @@ import java.util.Map; import java.util.Set; import javax.annotation.Nonnull; -import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; /** @@ -55,7 +54,6 @@ * *

This is transport specific and each transport has an implementation with its own options. */ -@NullMarked @InternalExtensionOnly public interface ApiCallContext extends RetryingContext { @@ -65,6 +63,18 @@ public interface ApiCallContext extends RetryingContext { /** Returns a new ApiCallContext with the given channel set. */ ApiCallContext withTransportChannel(TransportChannel channel); + /** + * Returns the {@link TransportChannel} associated with this call context, or {@code null} if none + * is set. + * + *

Note: By default, this method returns {@code null}. If an implementation does not override + * this method, automatic mTLS certificate rotation and channel refreshing in retrying callables + * will be disabled. + */ + default TransportChannel getTransportChannel() { + return null; + } + /** Returns a new ApiCallContext with the given Endpoint Context. */ ApiCallContext withEndpointContext(EndpointContext endpointContext); diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ApiResultRetryAlgorithm.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ApiResultRetryAlgorithm.java index 7d04d38d2605..f42c52037f63 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ApiResultRetryAlgorithm.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ApiResultRetryAlgorithm.java @@ -30,16 +30,68 @@ package com.google.api.gax.rpc; import com.google.api.gax.retrying.BasicResultRetryAlgorithm; +import com.google.api.gax.retrying.RetrySettings; import com.google.api.gax.retrying.RetryingContext; +import com.google.api.gax.retrying.TimedAttemptSettings; +import java.time.Duration; import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; /* Package-private for internal use. */ @NullMarked class ApiResultRetryAlgorithm extends BasicResultRetryAlgorithm { - /** Returns true if previousThrowable is an {@link ApiException} that is retryable. */ @Override - public boolean shouldRetry(Throwable previousThrowable, ResponseT previousResponse) { + public @Nullable TimedAttemptSettings createNextAttempt( + @Nullable Throwable previousThrowable, + @Nullable ResponseT previousResponse, + TimedAttemptSettings previousSettings) { + return createNextAttempt(null, previousThrowable, previousResponse, previousSettings); + } + + @Override + public @Nullable TimedAttemptSettings createNextAttempt( + @Nullable RetryingContext context, + @Nullable Throwable previousThrowable, + @Nullable ResponseT previousResponse, + TimedAttemptSettings previousSettings) { + if (isChannelRefreshed(previousThrowable) + && previousSettings.getOverallAttemptCount() == previousSettings.getAttemptCount()) { + RetrySettings globalSettings = previousSettings.getGlobalSettings(); + if (globalSettings.getMaxAttempts() == 0 + && globalSettings.getTotalTimeoutDuration().isZero()) { + globalSettings = globalSettings.toBuilder().setMaxAttempts(1).build(); + } + return previousSettings.toBuilder() + .setGlobalSettings(globalSettings) + .setRetryDelayDuration(Duration.ZERO) + .setRandomizedRetryDelayDuration(Duration.ZERO) + .setAttemptCount(previousSettings.getAttemptCount()) + .setOverallAttemptCount(previousSettings.getOverallAttemptCount() + 1) + .build(); + } + if (isChannelRefreshed(previousThrowable)) { + // The single rotation retry has already been used. Return exhausted settings so the retry + // framework stops, rather than returning null and falling back to exponential backoff. + int exhaustedAttemptCount = previousSettings.getAttemptCount() + 1; + return previousSettings.toBuilder() + .setGlobalSettings( + previousSettings.getGlobalSettings().toBuilder() + .setMaxAttempts(exhaustedAttemptCount) + .build()) + .setAttemptCount(exhaustedAttemptCount) + .setOverallAttemptCount(previousSettings.getOverallAttemptCount() + 1) + .build(); + } + return null; + } + + @Override + public boolean shouldRetry( + @Nullable Throwable previousThrowable, @Nullable ResponseT previousResponse) { + if (isChannelRefreshed(previousThrowable)) { + return true; + } return (previousThrowable instanceof ApiException) && ((ApiException) previousThrowable).isRetryable(); } @@ -52,7 +104,15 @@ public boolean shouldRetry(Throwable previousThrowable, ResponseT previousRespon */ @Override public boolean shouldRetry( - RetryingContext context, Throwable previousThrowable, ResponseT previousResponse) { + RetryingContext context, + @Nullable Throwable previousThrowable, + @Nullable ResponseT previousResponse) { + // A failure on a channel that has since been refreshed (e.g. after an mTLS certificate + // rotation) is eligible for a retry regardless of the configured retryable codes; + // createNextAttempt limits it to a single retry. + if (isChannelRefreshed(previousThrowable)) { + return true; + } if (context.getRetryableCodes() != null) { // Ignore the isRetryable() value of the throwable if the RetryingContext has a specific list // of codes that should be retried. @@ -63,4 +123,9 @@ public boolean shouldRetry( } return shouldRetry(previousThrowable, previousResponse); } + + private static boolean isChannelRefreshed(@Nullable Throwable throwable) { + return throwable instanceof UnauthenticatedException + && ((UnauthenticatedException) throwable).isChannelRefreshed(); + } } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/AttemptCallable.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/AttemptCallable.java index 897e1f2dae8e..148f1851e3b4 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/AttemptCallable.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/AttemptCallable.java @@ -34,7 +34,10 @@ import com.google.api.gax.retrying.NonCancellableFuture; import com.google.api.gax.retrying.RetryingFuture; import com.google.common.base.Preconditions; +import com.google.common.util.concurrent.MoreExecutors; import java.util.concurrent.Callable; +import java.util.logging.Level; +import java.util.logging.Logger; import org.jspecify.annotations.NullMarked; /** @@ -48,6 +51,7 @@ */ @NullMarked class AttemptCallable implements Callable { + private static final Logger LOG = Logger.getLogger(AttemptCallable.class.getName()); private final UnaryCallable callable; private final RequestT request; private final ApiCallContext originalCallContext; @@ -85,8 +89,45 @@ public ResponseT call() { .getTracer() .attemptStarted(request, externalFuture.getAttemptSettings().getOverallAttemptCount()); + TransportChannel transportChannel = callContext.getTransportChannel(); + final long attemptGeneration = + transportChannel != null ? transportChannel.getGeneration() : 0; + ApiFuture internalFuture = callable.futureCall(request, callContext); - externalFuture.setAttemptFuture(internalFuture); + final ApiCallContext finalContext = callContext; + ApiFuture mappedFuture = + ApiFutures.catching( + internalFuture, + UnauthenticatedException.class, + unauthenticatedException -> { + TransportChannel channel = finalContext.getTransportChannel(); + if (channel != null) { + // If another request already refreshed the channel, retry without checking the + // certificate on disk again. Otherwise, check for a rotation and refresh. + boolean shouldRetry = channel.getGeneration() > attemptGeneration; + if (!shouldRetry) { + try { + if (channel.shouldRefresh()) { + channel.refresh(); + } + } catch (Exception e) { + LOG.log( + Level.WARNING, + "Failed to refresh transport channel after authentication error", + e); + } + shouldRetry = channel.getGeneration() > attemptGeneration; + } + + if (shouldRetry) { + throw unauthenticatedException.withChannelRefreshed(); + } + } + throw unauthenticatedException; + }, + MoreExecutors.directExecutor()); + + externalFuture.setAttemptFuture(mappedFuture); } catch (Throwable e) { externalFuture.setAttemptFuture(ApiFutures.immediateFailedFuture(e)); } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/BidiStreamingCallable.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/BidiStreamingCallable.java index 97e22d6ee41f..c8fe6b2a59d3 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/BidiStreamingCallable.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/BidiStreamingCallable.java @@ -29,6 +29,8 @@ */ package com.google.api.gax.rpc; +import java.util.logging.Level; +import java.util.logging.Logger; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -42,6 +44,7 @@ */ @NullMarked public abstract class BidiStreamingCallable { + private static final Logger LOG = Logger.getLogger(BidiStreamingCallable.class.getName()); protected BidiStreamingCallable() {} @@ -241,11 +244,47 @@ public BidiStreamingCallable withDefaultCallContext( return new BidiStreamingCallable() { @Override public ClientStream internalCall( - ResponseObserver responseObserver, + final ResponseObserver responseObserver, ClientStreamReadyObserver onReady, ApiCallContext thisCallContext) { - return BidiStreamingCallable.this.internalCall( - responseObserver, onReady, defaultCallContext.merge(thisCallContext)); + final ApiCallContext mergedContext = defaultCallContext.merge(thisCallContext); + ResponseObserver refreshingObserver = + new ResponseObserver() { + @Override + public void onStart(StreamController controller) { + responseObserver.onStart(controller); + } + + @Override + public void onResponse(ResponseT response) { + responseObserver.onResponse(response); + } + + @Override + public void onError(Throwable t) { + if (t instanceof UnauthenticatedException) { + TransportChannel transportChannel = mergedContext.getTransportChannel(); + if (transportChannel != null && transportChannel.shouldRefresh()) { + try { + transportChannel.refresh(); + } catch (Exception e) { + LOG.log( + Level.WARNING, + "Failed to refresh transport channel after authentication error", + e); + } + } + } + responseObserver.onError(t); + } + + @Override + public void onComplete() { + responseObserver.onComplete(); + } + }; + + return BidiStreamingCallable.this.internalCall(refreshingObserver, onReady, mergedContext); } }; } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientStreamingCallable.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientStreamingCallable.java index 854ce3fd5de8..5c87e4c558b7 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientStreamingCallable.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientStreamingCallable.java @@ -29,6 +29,8 @@ */ package com.google.api.gax.rpc; +import java.util.logging.Level; +import java.util.logging.Logger; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -42,6 +44,7 @@ */ @NullMarked public abstract class ClientStreamingCallable { + private static final Logger LOG = Logger.getLogger(ClientStreamingCallable.class.getName()); protected ClientStreamingCallable() {} @@ -77,9 +80,40 @@ public ClientStreamingCallable withDefaultCallContext( return new ClientStreamingCallable() { @Override public ApiStreamObserver clientStreamingCall( - ApiStreamObserver responseObserver, ApiCallContext thisCallContext) { - return ClientStreamingCallable.this.clientStreamingCall( - responseObserver, defaultCallContext.merge(thisCallContext)); + final ApiStreamObserver responseObserver, ApiCallContext thisCallContext) { + final ApiCallContext mergedContext = defaultCallContext.merge(thisCallContext); + ApiStreamObserver refreshingObserver = + new ApiStreamObserver() { + @Override + public void onNext(ResponseT response) { + responseObserver.onNext(response); + } + + @Override + public void onError(Throwable t) { + if (t instanceof UnauthenticatedException) { + TransportChannel transportChannel = mergedContext.getTransportChannel(); + if (transportChannel != null && transportChannel.shouldRefresh()) { + try { + transportChannel.refresh(); + } catch (Exception e) { + LOG.log( + Level.WARNING, + "Failed to refresh transport channel after authentication error", + e); + } + } + } + responseObserver.onError(t); + } + + @Override + public void onCompleted() { + responseObserver.onCompleted(); + } + }; + + return ClientStreamingCallable.this.clientStreamingCall(refreshingObserver, mergedContext); } }; } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ServerStreamingAttemptCallable.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ServerStreamingAttemptCallable.java index af6e8014e38a..efc374a50ec3 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ServerStreamingAttemptCallable.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ServerStreamingAttemptCallable.java @@ -37,6 +37,8 @@ import com.google.errorprone.annotations.concurrent.GuardedBy; import java.util.concurrent.Callable; import java.util.concurrent.CancellationException; +import java.util.logging.Level; +import java.util.logging.Logger; import org.jspecify.annotations.NullMarked; /** @@ -96,6 +98,8 @@ */ @NullMarked final class ServerStreamingAttemptCallable implements Callable { + private static final Logger LOG = + Logger.getLogger(ServerStreamingAttemptCallable.class.getName()); private final Object lock = new Object(); private final ServerStreamingCallable innerCallable; @@ -221,6 +225,10 @@ public Void call() { .getTracer() .attemptStarted(request, outerRetryingFuture.getAttemptSettings().getOverallAttemptCount()); + final ApiCallContext finalContext = attemptContext; + TransportChannel channelForAttempt = finalContext.getTransportChannel(); + final long attemptGeneration = + channelForAttempt != null ? channelForAttempt.getGeneration() : 0; innerCallable.call( request, new StateCheckingResponseObserver() { @@ -236,6 +244,35 @@ public void onResponseImpl(ResponseT response) { @Override public void onErrorImpl(Throwable t) { + Throwable cause = t; + if (cause instanceof ServerStreamingAttemptException) { + cause = cause.getCause(); + } + if (cause instanceof UnauthenticatedException) { + UnauthenticatedException unauthenticatedException = (UnauthenticatedException) cause; + TransportChannel transportChannel = finalContext.getTransportChannel(); + if (transportChannel != null) { + // If another request already refreshed the channel, retry without checking the + // certificate on disk again. Otherwise, check for a rotation and refresh. + boolean shouldRetry = transportChannel.getGeneration() > attemptGeneration; + if (!shouldRetry) { + try { + if (transportChannel.shouldRefresh()) { + transportChannel.refresh(); + } + } catch (Exception e) { + LOG.log( + Level.WARNING, + "Failed to refresh transport channel after authentication error", + e); + } + shouldRetry = transportChannel.getGeneration() > attemptGeneration; + } + if (shouldRetry) { + t = unauthenticatedException.withChannelRefreshed(); + } + } + } onAttemptError(t); } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/TransportChannel.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/TransportChannel.java index 1866092e28f9..cad80d4f87b3 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/TransportChannel.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/TransportChannel.java @@ -31,10 +31,8 @@ import com.google.api.core.InternalExtensionOnly; import com.google.api.gax.core.BackgroundResource; -import org.jspecify.annotations.NullMarked; /** Class whose instances can issue RPCs on a particular transport. */ -@NullMarked @InternalExtensionOnly public interface TransportChannel extends BackgroundResource { @@ -49,4 +47,28 @@ public interface TransportChannel extends BackgroundResource { * Returns an empty {@link ApiCallContext} that is compatible with this {@code TransportChannel}. */ ApiCallContext getEmptyCallContext(); + + /** + * Refreshes or recreates the underlying network connections of this transport channel. + * + *

By default, this is a no-op for transports that do not require stateful connection lifecycle + * management. + */ + default void refresh() {} + + /** + * Returns true if a certificate rotation has been detected on disk and the transport channel + * should be refreshed, or false otherwise. + */ + default boolean shouldRefresh() { + return false; + } + + /** + * Returns a monotonic generation counter tracking the number of successful refreshes or channel + * rotations performed by this transport channel. + */ + default long getGeneration() { + return 0; + } } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/UnauthenticatedException.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/UnauthenticatedException.java index 0c93f07e6b51..d18989264572 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/UnauthenticatedException.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/UnauthenticatedException.java @@ -30,6 +30,7 @@ package com.google.api.gax.rpc; import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; /** * Exception thrown when the request does not have valid authentication credentials for the @@ -37,18 +38,33 @@ */ @NullMarked public class UnauthenticatedException extends ApiException { + // Pinned to the value computed for previous releases (gax 2.83.0 to 2.87.0) so that adding + // members does not break Java serialization compatibility with them. + private static final long serialVersionUID = 6971115068105015909L; + + /** + * Whether this failure happened on a transport channel that has since been refreshed (for + * example, after an mTLS certificate rotation), making the request eligible for a single + * immediate retry on the refreshed channel. Only meaningful within the process that observed the + * failure, so it is not serialized. + */ + private final transient boolean channelRefreshed; + public UnauthenticatedException(Throwable cause, StatusCode statusCode, boolean retryable) { super(cause, statusCode, retryable); + this.channelRefreshed = false; } public UnauthenticatedException( String message, Throwable cause, StatusCode statusCode, boolean retryable) { super(message, cause, statusCode, retryable); + this.channelRefreshed = false; } public UnauthenticatedException( Throwable cause, StatusCode statusCode, boolean retryable, ErrorDetails errorDetails) { super(cause, statusCode, retryable, errorDetails); + this.channelRefreshed = false; } public UnauthenticatedException( @@ -58,5 +74,38 @@ public UnauthenticatedException( boolean retryable, ErrorDetails errorDetails) { super(message, cause, statusCode, retryable, errorDetails); + this.channelRefreshed = false; + } + + private UnauthenticatedException( + @Nullable String message, + @Nullable Throwable cause, + StatusCode statusCode, + boolean retryable, + @Nullable ErrorDetails errorDetails, + boolean channelRefreshed) { + super(message, cause, statusCode, retryable, errorDetails); + this.channelRefreshed = channelRefreshed; + } + + /** Returns whether this failure happened on a transport channel that has since been refreshed. */ + boolean isChannelRefreshed() { + return channelRefreshed; + } + + /** + * Returns a copy of this exception marked as having happened on a channel that has since been + * refreshed. The copy keeps the message, cause, status code, {@link #isRetryable()} value, error + * details, stack trace and suppressed exceptions of this exception. + */ + UnauthenticatedException withChannelRefreshed() { + UnauthenticatedException newEx = + new UnauthenticatedException( + getMessage(), getCause(), getStatusCode(), isRetryable(), getErrorDetails(), true); + newEx.setStackTrace(getStackTrace()); + for (Throwable suppressed : getSuppressed()) { + newEx.addSuppressed(suppressed); + } + return newEx; } } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/CertificateBasedAccess.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/CertificateBasedAccess.java index 99f2cca9b53d..d77378ad9612 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/CertificateBasedAccess.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/CertificateBasedAccess.java @@ -32,21 +32,20 @@ import com.google.api.core.InternalApi; import com.google.api.gax.rpc.internal.EnvironmentProvider; -import org.jspecify.annotations.NullMarked; +import com.google.auth.mtls.MtlsUtils; +import com.google.auth.oauth2.PropertyProvider; /** * Utility class for handling certificate-based access configurations. * - *

This class handles the processing of GOOGLE_API_USE_CLIENT_CERTIFICATE and - * GOOGLE_API_USE_MTLS_ENDPOINT environment variables according to https://google.aip.dev/auth/4114 + *

This class handles the processing of GOOGLE_API_USE_CLIENT_CERTIFICATE, + * GOOGLE_API_CERTIFICATE_CONFIG, and GOOGLE_API_USE_MTLS_ENDPOINT configurations. */ -@NullMarked @InternalApi public class CertificateBasedAccess { private final EnvironmentProvider envProvider; - /** The EnvironmentProvider mechanism supports env var injection for unit tests. */ public CertificateBasedAccess(EnvironmentProvider envProvider) { this.envProvider = envProvider; } @@ -66,20 +65,35 @@ public enum MtlsEndpointUsagePolicy { ALWAYS; } + private com.google.auth.oauth2.EnvironmentProvider getAuthEnvProvider() { + return name -> envProvider.getenv(name); + } + + private PropertyProvider getAuthPropertyProvider() { + return System::getProperty; + } + /** Returns if mutual TLS client certificate should be used. */ public boolean useMtlsClientCertificate() { - String useClientCertificate = envProvider.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE"); - return "true".equals(useClientCertificate); + return MtlsUtils.useMtlsClientCertificate(getAuthEnvProvider(), getAuthPropertyProvider()); } /** Returns the current mutual TLS endpoint usage policy. */ public MtlsEndpointUsagePolicy getMtlsEndpointUsagePolicy() { String mtlsEndpointUsagePolicy = envProvider.getenv("GOOGLE_API_USE_MTLS_ENDPOINT"); - if ("never".equals(mtlsEndpointUsagePolicy)) { + if ("never".equalsIgnoreCase(mtlsEndpointUsagePolicy)) { return MtlsEndpointUsagePolicy.NEVER; - } else if ("always".equals(mtlsEndpointUsagePolicy)) { + } else if ("always".equalsIgnoreCase(mtlsEndpointUsagePolicy)) { return MtlsEndpointUsagePolicy.ALWAYS; } return MtlsEndpointUsagePolicy.AUTO; } + + /** + * Resolves and returns the path to the mutual TLS client certificate, or null if none should be + * used. + */ + public String getWorkloadCertPath() { + return MtlsUtils.getWorkloadCertPath(getAuthEnvProvider(), getAuthPropertyProvider()); + } } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/CertificateRotationTracker.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/CertificateRotationTracker.java new file mode 100644 index 000000000000..8c390ea8d17b --- /dev/null +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/CertificateRotationTracker.java @@ -0,0 +1,205 @@ +/* + * Copyright 2026 Google LLC + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google LLC nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.google.api.gax.rpc.mtls; + +import com.google.api.core.InternalApi; +import com.google.common.base.Strings; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.locks.ReentrantLock; +import java.util.function.Function; +import java.util.function.Supplier; +import org.jspecify.annotations.Nullable; + +/** + * Thread-safe helper that tracks workload certificate fingerprints on disk to detect mTLS + * certificate rotations for transport channels ({@code ChannelPool} and {@code + * RefreshingHttpJsonChannel}). + * + *

For internal use only. + */ +@InternalApi +public class CertificateRotationTracker { + + /** + * Duration (1 second) for which a detected certificate rotation (where the disk fingerprint + * differs from {@code activeCertFingerprint}) is cached in memory. + * + *

When a certificate rotates on disk, many concurrent in-flight RPCs may fail with {@code + * UNAUTHENTICATED} simultaneously and call {@link #shouldRefresh()}. Caching positive rotation + * detections for 1 second coalesces disk reads ({@code Files.readAllBytes}) and SHA-256 hashing + * across concurrent threads to prevent a thundering herd of file I/O, while bounding maximum + * staleness to 1 second. + */ + private static final long POSITIVE_ROTATION_CACHE_TTL_NANOS = TimeUnit.SECONDS.toNanos(1); + + private static final class DiskCheckResult { + final String fingerprint; + final long sequence; + final long timestampNanos; + + DiskCheckResult(String fingerprint, long sequence, long timestampNanos) { + this.fingerprint = fingerprint; + this.sequence = sequence; + this.timestampNanos = timestampNanos; + } + } + + private final Supplier certPathSupplier; + private final Function fingerprintReader; + private volatile String activeCertFingerprint; + private volatile DiskCheckResult lastDiskCheck = null; + private final ReentrantLock diskCheckLock = new ReentrantLock(); + private final AtomicLong diskCheckSequence = new AtomicLong(0); + + /** + * Creates a tracker for a fixed workload certificate path using {@link + * WorkloadCertificateUtils#getCertificateFingerprint(String)}. + */ + public CertificateRotationTracker(@Nullable String workloadCertPath) { + this(() -> workloadCertPath, WorkloadCertificateUtils::getCertificateFingerprint); + } + + /** + * Creates a tracker with custom certificate path and fingerprint suppliers (used by transports + * that expose package-private overrides for testing). + */ + public CertificateRotationTracker( + Supplier certPathSupplier, Function fingerprintReader) { + this.certPathSupplier = certPathSupplier; + this.fingerprintReader = fingerprintReader; + String initialCertPath = certPathSupplier.get(); + this.activeCertFingerprint = + initialCertPath != null + ? Strings.nullToEmpty(fingerprintReader.apply(initialCertPath)) + : ""; + } + + /** + * Returns {@code true} if a workload certificate path is configured, readable, and its current + * SHA-256 fingerprint on disk differs from the active fingerprint. + */ + public boolean shouldRefresh() { + String certPath = certPathSupplier.get(); + if (certPath == null) { + return false; + } + String currentDiskFingerprint = getOrUpdateDiskFingerprint(certPath); + if (currentDiskFingerprint.isEmpty()) { + return false; + } + return !currentDiskFingerprint.equalsIgnoreCase(activeCertFingerprint); + } + + private String getOrUpdateDiskFingerprint(String certPath) { + long seqBeforeLock = diskCheckSequence.get(); + long now = System.nanoTime(); + DiskCheckResult cached = lastDiskCheck; + if (cached != null + && !cached.fingerprint.isEmpty() + && !cached.fingerprint.equalsIgnoreCase(this.activeCertFingerprint) + && (now - cached.timestampNanos < POSITIVE_ROTATION_CACHE_TTL_NANOS)) { + return cached.fingerprint; + } + + diskCheckLock.lock(); + try { + now = System.nanoTime(); + cached = lastDiskCheck; + if (cached != null + && !cached.fingerprint.isEmpty() + && (cached.sequence > seqBeforeLock + || (!cached.fingerprint.equalsIgnoreCase(this.activeCertFingerprint) + && (now - cached.timestampNanos < POSITIVE_ROTATION_CACHE_TTL_NANOS)))) { + return cached.fingerprint; + } + long newSeq = diskCheckSequence.incrementAndGet(); + String fingerprint = Strings.nullToEmpty(fingerprintReader.apply(certPath)); + if (!fingerprint.isEmpty()) { + lastDiskCheck = new DiskCheckResult(fingerprint, newSeq, System.nanoTime()); + } else { + lastDiskCheck = null; + } + return fingerprint; + } finally { + diskCheckLock.unlock(); + } + } + + /** + * Reads the current certificate fingerprint directly from disk (bypassing the 1-second cache), + * returning {@code ""} if no workload certificate path is configured or if the file is currently + * unreadable/empty. + */ + public String readDiskFingerprint() { + String certPath = certPathSupplier.get(); + if (certPath == null) { + return ""; + } + return Strings.nullToEmpty(fingerprintReader.apply(certPath)); + } + + /** + * Returns {@code true} if {@code diskFingerprint} matches the currently active certificate + * fingerprint. + */ + public boolean isAlreadyActive(String diskFingerprint) { + return diskFingerprint != null && diskFingerprint.equalsIgnoreCase(this.activeCertFingerprint); + } + + /** + * Updates the active certificate fingerprint after a successful channel refresh and clears any + * cached disk check result. + * + *

This holds {@code diskCheckLock} so that a disk check already in progress cannot write its + * (possibly old) result back to the cache after the switch. + */ + public void markRefreshed(String newFingerprint) { + if (newFingerprint != null && !newFingerprint.isEmpty()) { + diskCheckLock.lock(); + try { + this.activeCertFingerprint = newFingerprint; + this.lastDiskCheck = null; + } finally { + diskCheckLock.unlock(); + } + } + } + + /** Returns the currently active certificate fingerprint (or {@code ""} if none). */ + public String getActiveCertFingerprint() { + return activeCertFingerprint; + } + + /** Invalidates the cached disk check result. Visible for testing. */ + public void invalidateCache() { + this.lastDiskCheck = null; + } +} diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/WorkloadCertificateUtils.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/WorkloadCertificateUtils.java new file mode 100644 index 000000000000..94fb36db1ac3 --- /dev/null +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/WorkloadCertificateUtils.java @@ -0,0 +1,64 @@ +/* + * Copyright 2026 Google LLC + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google LLC nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.google.api.gax.rpc.mtls; + +import com.google.api.core.InternalApi; +import com.google.auth.mtls.MtlsUtils; +import java.io.File; + +/** Internal utility class for managing dynamic workload certificates. */ +@InternalApi +public class WorkloadCertificateUtils { + + private static final String EMPTY_FILE_SHA256 = + "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"; + + private WorkloadCertificateUtils() {} + + /** + * Computes the SHA-256 fingerprint of the certificate file at {@code certPath}, returning {@code + * ""} if the path is {@code null}, unreadable, empty (e.g., temporarily truncated to 0 bytes + * mid-write by an external certificate rotator), or hashes to the empty-byte digest. + * + *

Returning {@code ""} on unreadable or empty files ensures callers ({@code shouldRefresh()} + * and {@code refresh()}) safely skip refreshing during transient mid-write states rather than + * treating an empty digest as a certificate rotation mismatch. + */ + public static String getCertificateFingerprint(String certPath) { + if (certPath == null || new File(certPath).length() == 0) { + return ""; + } + String fingerprint = MtlsUtils.getCertificateFingerprint(certPath); + if (fingerprint == null || EMPTY_FILE_SHA256.equalsIgnoreCase(fingerprint)) { + return ""; + } + return fingerprint; + } +} diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/ApiResultRetryAlgorithmTest.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/ApiResultRetryAlgorithmTest.java index 300a0ad30130..1e730d2db1f3 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/ApiResultRetryAlgorithmTest.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/ApiResultRetryAlgorithmTest.java @@ -29,14 +29,25 @@ */ package com.google.api.gax.rpc; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import com.google.api.core.NanoClock; +import com.google.api.gax.retrying.ExponentialRetryAlgorithm; +import com.google.api.gax.retrying.RetryAlgorithm; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.retrying.ServerStreamingAttemptException; +import com.google.api.gax.retrying.StreamingRetryAlgorithm; +import com.google.api.gax.retrying.TimedAttemptSettings; import com.google.api.gax.rpc.StatusCode.Code; import com.google.api.gax.rpc.testing.FakeStatusCode; import com.google.common.collect.Sets; +import java.time.Duration; import java.util.Collections; import org.junit.jupiter.api.Test; import org.mockito.Mockito; @@ -111,4 +122,477 @@ void testShouldRetryWithContextWithEmptyRetryableCodes() { ApiResultRetryAlgorithm algorithm = new ApiResultRetryAlgorithm<>(); assertFalse(algorithm.shouldRetry(context, unavailableException, null)); } + + @Test + void testRotationRetryWithNonRetryableSettings_maxAttemptsOne() { + ApiCallContext context = + mock(ApiCallContext.class, Mockito.withSettings().withoutAnnotations()); + when(context.getRetryableCodes()).thenReturn(Collections.emptySet()); + + RetrySettings settings = + RetrySettings.newBuilder() + .setMaxAttempts(1) + .setInitialRpcTimeoutDuration(Duration.ofSeconds(10)) + .setMaxRpcTimeoutDuration(Duration.ofSeconds(10)) + .setTotalTimeoutDuration(Duration.ofSeconds(10)) + .build(); + + ApiResultRetryAlgorithm resultAlgorithm = new ApiResultRetryAlgorithm<>(); + ExponentialRetryAlgorithm timedAlgorithm = + new ExponentialRetryAlgorithm(settings, NanoClock.getDefaultClock()); + RetryAlgorithm retryAlgorithm = new RetryAlgorithm<>(resultAlgorithm, timedAlgorithm); + + TimedAttemptSettings firstAttempt = retryAlgorithm.createFirstAttempt(context); + UnauthenticatedException rotationEx = rotationException(); + + // First rotation failure: grants immediate free retry without incrementing attemptCount + TimedAttemptSettings nextAttempt = + retryAlgorithm.createNextAttempt(context, rotationEx, null, firstAttempt); + assertNotNull(nextAttempt); + assertEquals(Duration.ZERO, nextAttempt.getRetryDelayDuration()); + assertEquals(Duration.ZERO, nextAttempt.getRandomizedRetryDelayDuration()); + assertEquals(0, nextAttempt.getAttemptCount()); + assertEquals(1, nextAttempt.getOverallAttemptCount()); + assertTrue(retryAlgorithm.shouldRetry(context, rotationEx, null, nextAttempt)); + + // Second consecutive failure: overallAttemptCount (1) != attemptCount (0), so no free retry + TimedAttemptSettings thirdAttempt = + retryAlgorithm.createNextAttempt(context, rotationEx, null, nextAttempt); + assertNotNull(thirdAttempt); + assertEquals(1, thirdAttempt.getAttemptCount()); + assertEquals(2, thirdAttempt.getOverallAttemptCount()); + assertFalse(retryAlgorithm.shouldRetry(context, rotationEx, null, thirdAttempt)); + } + + @Test + void testRotationRetryWithNonRetryableSettings_zeroMaxAttemptsZeroTotalTimeout() { + ApiCallContext context = + mock(ApiCallContext.class, Mockito.withSettings().withoutAnnotations()); + when(context.getRetryableCodes()).thenReturn(Collections.emptySet()); + + RetrySettings settings = + RetrySettings.newBuilder().setMaxAttempts(0).setTotalTimeoutDuration(Duration.ZERO).build(); + + ApiResultRetryAlgorithm resultAlgorithm = new ApiResultRetryAlgorithm<>(); + ExponentialRetryAlgorithm timedAlgorithm = + new ExponentialRetryAlgorithm(settings, NanoClock.getDefaultClock()); + RetryAlgorithm retryAlgorithm = new RetryAlgorithm<>(resultAlgorithm, timedAlgorithm); + + TimedAttemptSettings firstAttempt = retryAlgorithm.createFirstAttempt(context); + UnauthenticatedException rotationEx = rotationException(); + + TimedAttemptSettings nextAttempt = + retryAlgorithm.createNextAttempt(context, rotationEx, null, firstAttempt); + assertNotNull(nextAttempt); + assertEquals(1, nextAttempt.getGlobalSettings().getMaxAttempts()); + assertEquals(0, nextAttempt.getAttemptCount()); + assertEquals(1, nextAttempt.getOverallAttemptCount()); + assertTrue(retryAlgorithm.shouldRetry(context, rotationEx, null, nextAttempt)); + + // Subsequent failure is rejected + TimedAttemptSettings thirdAttempt = + retryAlgorithm.createNextAttempt(context, rotationEx, null, nextAttempt); + assertNotNull(thirdAttempt); + assertFalse(retryAlgorithm.shouldRetry(context, rotationEx, null, thirdAttempt)); + } + + @Test + void testRotationRetryAfterTransientErrorPreservesRemainingBudget() { + ApiCallContext context = + mock(ApiCallContext.class, Mockito.withSettings().withoutAnnotations()); + when(context.getRetryableCodes()).thenReturn(Sets.newHashSet(Code.UNAVAILABLE)); + + RetrySettings settings = + RetrySettings.newBuilder() + .setMaxAttempts(3) + .setInitialRetryDelayDuration(Duration.ofMillis(100)) + .setRetryDelayMultiplier(2.0) + .setMaxRetryDelayDuration(Duration.ofSeconds(1)) + .setTotalTimeoutDuration(Duration.ofSeconds(30)) + .build(); + + ApiResultRetryAlgorithm resultAlgorithm = new ApiResultRetryAlgorithm<>(); + ExponentialRetryAlgorithm timedAlgorithm = + new ExponentialRetryAlgorithm(settings, NanoClock.getDefaultClock()); + RetryAlgorithm retryAlgorithm = new RetryAlgorithm<>(resultAlgorithm, timedAlgorithm); + + TimedAttemptSettings attempt0 = retryAlgorithm.createFirstAttempt(context); + ApiException unavailableEx = + new ApiException(null, new FakeStatusCode(Code.UNAVAILABLE), /* retryable= */ true); + UnauthenticatedException rotationEx = rotationException(); + + // Attempt 0 fails with UNAVAILABLE -> normal retry (attemptCount = 1, overallAttemptCount = 1) + TimedAttemptSettings attempt1 = + retryAlgorithm.createNextAttempt(context, unavailableEx, null, attempt0); + assertEquals(1, attempt1.getAttemptCount()); + assertEquals(1, attempt1.getOverallAttemptCount()); + assertTrue(retryAlgorithm.shouldRetry(context, unavailableEx, null, attempt1)); + + // Attempt 1 fails with rotation 401 -> free zero-delay retry (attemptCount = 1, + // overallAttemptCount = 2) + TimedAttemptSettings attempt2 = + retryAlgorithm.createNextAttempt(context, rotationEx, null, attempt1); + assertEquals(Duration.ZERO, attempt2.getRetryDelayDuration()); + assertEquals(1, attempt2.getAttemptCount()); + assertEquals(2, attempt2.getOverallAttemptCount()); + assertTrue(retryAlgorithm.shouldRetry(context, rotationEx, null, attempt2)); + + // Attempt 2 fails with UNAVAILABLE -> normal retry still allowed (attemptCount = 2 < + // maxAttempts = 3) + TimedAttemptSettings attempt3 = + retryAlgorithm.createNextAttempt(context, unavailableEx, null, attempt2); + assertEquals(2, attempt3.getAttemptCount()); + assertEquals(3, attempt3.getOverallAttemptCount()); + assertTrue(retryAlgorithm.shouldRetry(context, unavailableEx, null, attempt3)); + } + + @Test + void testSecondRotationFailureStopsWithTotalTimeoutAndNoMaxAttempts() { + ApiCallContext context = + mock(ApiCallContext.class, Mockito.withSettings().withoutAnnotations()); + when(context.getRetryableCodes()).thenReturn(Collections.emptySet()); + + RetrySettings settings = + RetrySettings.newBuilder() + .setMaxAttempts(0) + .setInitialRetryDelayDuration(Duration.ofMillis(100)) + .setRetryDelayMultiplier(2.0) + .setMaxRetryDelayDuration(Duration.ofSeconds(1)) + .setTotalTimeoutDuration(Duration.ofMinutes(10)) + .build(); + + ApiResultRetryAlgorithm resultAlgorithm = new ApiResultRetryAlgorithm<>(); + ExponentialRetryAlgorithm timedAlgorithm = + new ExponentialRetryAlgorithm(settings, NanoClock.getDefaultClock()); + RetryAlgorithm retryAlgorithm = new RetryAlgorithm<>(resultAlgorithm, timedAlgorithm); + + TimedAttemptSettings firstAttempt = retryAlgorithm.createFirstAttempt(context); + UnauthenticatedException rotationEx = rotationException(); + + TimedAttemptSettings rotationRetry = + retryAlgorithm.createNextAttempt(context, rotationEx, null, firstAttempt); + assertTrue(retryAlgorithm.shouldRetry(context, rotationEx, null, rotationRetry)); + + // A second rotation-marked failure must stop immediately instead of retrying with backoff + // until the total timeout expires. + TimedAttemptSettings afterSecondFailure = + retryAlgorithm.createNextAttempt(context, rotationEx, null, rotationRetry); + assertNotNull(afterSecondFailure); + assertFalse(retryAlgorithm.shouldRetry(context, rotationEx, null, afterSecondFailure)); + } + + @Test + void testSecondRotationFailureStopsDespiteRemainingMaxAttempts() { + ApiCallContext context = + mock(ApiCallContext.class, Mockito.withSettings().withoutAnnotations()); + when(context.getRetryableCodes()).thenReturn(Sets.newHashSet(Code.UNAVAILABLE)); + + RetrySettings settings = + RetrySettings.newBuilder() + .setMaxAttempts(5) + .setInitialRetryDelayDuration(Duration.ofMillis(100)) + .setRetryDelayMultiplier(2.0) + .setMaxRetryDelayDuration(Duration.ofSeconds(1)) + .setTotalTimeoutDuration(Duration.ofMinutes(10)) + .build(); + + ApiResultRetryAlgorithm resultAlgorithm = new ApiResultRetryAlgorithm<>(); + ExponentialRetryAlgorithm timedAlgorithm = + new ExponentialRetryAlgorithm(settings, NanoClock.getDefaultClock()); + RetryAlgorithm retryAlgorithm = new RetryAlgorithm<>(resultAlgorithm, timedAlgorithm); + + TimedAttemptSettings firstAttempt = retryAlgorithm.createFirstAttempt(context); + UnauthenticatedException rotationEx = rotationException(); + + TimedAttemptSettings rotationRetry = + retryAlgorithm.createNextAttempt(context, rotationEx, null, firstAttempt); + assertTrue(retryAlgorithm.shouldRetry(context, rotationEx, null, rotationRetry)); + + // UNAUTHENTICATED is not a retryable code, so a second rotation-marked failure must stop + // instead of consuming the method's remaining attempts. + TimedAttemptSettings afterSecondFailure = + retryAlgorithm.createNextAttempt(context, rotationEx, null, rotationRetry); + assertNotNull(afterSecondFailure); + assertFalse(retryAlgorithm.shouldRetry(context, rotationEx, null, afterSecondFailure)); + } + + @Test + void testStreamRotationRetryAfterProgressNotBlockedByEarlierRetry() { + ApiCallContext context = + mock(ApiCallContext.class, Mockito.withSettings().withoutAnnotations()); + when(context.getRetryableCodes()).thenReturn(Sets.newHashSet(Code.UNAVAILABLE)); + + RetrySettings settings = + RetrySettings.newBuilder() + .setMaxAttempts(5) + .setInitialRetryDelayDuration(Duration.ofMillis(100)) + .setRetryDelayMultiplier(2.0) + .setMaxRetryDelayDuration(Duration.ofSeconds(1)) + .setTotalTimeoutDuration(Duration.ofMinutes(10)) + .build(); + + StreamingRetryAlgorithm retryAlgorithm = + new StreamingRetryAlgorithm<>( + new ApiResultRetryAlgorithm(), + new ExponentialRetryAlgorithm(settings, NanoClock.getDefaultClock())); + ApiException unavailableEx = + new ApiException(null, new FakeStatusCode(Code.UNAVAILABLE), /* retryable= */ true); + UnauthenticatedException rotationEx = rotationException(); + + // The first attempt fails with UNAVAILABLE before receiving any messages: normal retry. + TimedAttemptSettings attempt1 = + retryAlgorithm.createNextAttempt( + context, + new ServerStreamingAttemptException(unavailableEx, true, false), + null, + retryAlgorithm.createFirstAttempt(context)); + assertEquals(1, attempt1.getAttemptCount()); + assertEquals(1, attempt1.getOverallAttemptCount()); + + // The second attempt receives messages and then fails with a rotation error. The earlier + // retry must not prevent the free rotation retry. + ServerStreamingAttemptException rotationAfterProgress = + new ServerStreamingAttemptException(rotationEx, true, true); + TimedAttemptSettings attempt2 = + retryAlgorithm.createNextAttempt(context, rotationAfterProgress, null, attempt1); + assertNotNull(attempt2); + assertEquals(Duration.ZERO, attempt2.getRetryDelayDuration()); + assertEquals(Duration.ZERO, attempt2.getRandomizedRetryDelayDuration()); + assertEquals(0, attempt2.getAttemptCount()); + assertEquals(2, attempt2.getOverallAttemptCount()); + assertTrue(retryAlgorithm.shouldRetry(context, rotationAfterProgress, null, attempt2)); + + // A repeated rotation error without further progress stops the stream. + ServerStreamingAttemptException rotationWithoutProgress = + new ServerStreamingAttemptException(rotationEx, true, false); + TimedAttemptSettings attempt3 = + retryAlgorithm.createNextAttempt(context, rotationWithoutProgress, null, attempt2); + assertNotNull(attempt3); + assertEquals(3, attempt3.getOverallAttemptCount()); + assertFalse(retryAlgorithm.shouldRetry(context, rotationWithoutProgress, null, attempt3)); + } + + @Test + void testStreamProgressResetKeepsOverallAttemptCountIncreasing() { + ApiCallContext context = + mock(ApiCallContext.class, Mockito.withSettings().withoutAnnotations()); + when(context.getRetryableCodes()).thenReturn(Sets.newHashSet(Code.UNAVAILABLE)); + + RetrySettings settings = + RetrySettings.newBuilder() + .setMaxAttempts(5) + .setInitialRetryDelayDuration(Duration.ofMillis(100)) + .setRetryDelayMultiplier(2.0) + .setMaxRetryDelayDuration(Duration.ofSeconds(1)) + .setTotalTimeoutDuration(Duration.ofMinutes(10)) + .build(); + + StreamingRetryAlgorithm retryAlgorithm = + new StreamingRetryAlgorithm<>( + new ApiResultRetryAlgorithm(), + new ExponentialRetryAlgorithm(settings, NanoClock.getDefaultClock())); + ApiException unavailableEx = + new ApiException(null, new FakeStatusCode(Code.UNAVAILABLE), /* retryable= */ true); + ServerStreamingAttemptException unavailableWithoutProgress = + new ServerStreamingAttemptException(unavailableEx, true, false); + ServerStreamingAttemptException unavailableAfterProgress = + new ServerStreamingAttemptException(unavailableEx, true, true); + + TimedAttemptSettings attempt1 = + retryAlgorithm.createNextAttempt( + context, unavailableWithoutProgress, null, retryAlgorithm.createFirstAttempt(context)); + TimedAttemptSettings attempt2 = + retryAlgorithm.createNextAttempt(context, unavailableWithoutProgress, null, attempt1); + assertEquals(2, attempt2.getAttemptCount()); + assertEquals(2, attempt2.getOverallAttemptCount()); + + // Progress resets the attempt count, but the overall attempt count keeps increasing. + TimedAttemptSettings attempt3 = + retryAlgorithm.createNextAttempt(context, unavailableAfterProgress, null, attempt2); + assertEquals(1, attempt3.getAttemptCount()); + assertEquals(3, attempt3.getOverallAttemptCount()); + assertEquals(settings.getInitialRetryDelayDuration(), attempt3.getRetryDelayDuration()); + assertEquals( + attempt2.getFirstAttemptStartTimeNanos(), attempt3.getFirstAttemptStartTimeNanos()); + assertTrue(retryAlgorithm.shouldRetry(context, unavailableAfterProgress, null, attempt3)); + } + + @Test + void testStreamProgressResetReturnsNullWhenNotRetryable() { + ApiCallContext context = + mock(ApiCallContext.class, Mockito.withSettings().withoutAnnotations()); + when(context.getRetryableCodes()).thenReturn(Collections.emptySet()); + + StreamingRetryAlgorithm retryAlgorithm = + new StreamingRetryAlgorithm<>( + new ApiResultRetryAlgorithm(), + new ExponentialRetryAlgorithm( + RetrySettings.newBuilder().setMaxAttempts(5).build(), NanoClock.getDefaultClock())); + ApiException unavailableEx = + new ApiException(null, new FakeStatusCode(Code.UNAVAILABLE), /* retryable= */ true); + + TimedAttemptSettings next = + retryAlgorithm.createNextAttempt( + context, + new ServerStreamingAttemptException(unavailableEx, true, true), + null, + retryAlgorithm.createFirstAttempt(context)); + assertNull(next); + } + + @Test + void testConfiguredUnauthenticated_notFlagged_usesNormalBackoff() { + // No per-call retryable codes: the method's configuration is carried by isRetryable(). + ApiCallContext context = + mock(ApiCallContext.class, Mockito.withSettings().withoutAnnotations()); + when(context.getRetryableCodes()).thenReturn(null); + RetrySettings settings = + RetrySettings.newBuilder() + .setMaxAttempts(5) + .setInitialRetryDelayDuration(Duration.ofMillis(100)) + .setRetryDelayMultiplier(2.0) + .setMaxRetryDelayDuration(Duration.ofSeconds(1)) + .setTotalTimeoutDuration(Duration.ofMinutes(10)) + .build(); + RetryAlgorithm retryAlgorithm = + new RetryAlgorithm<>( + new ApiResultRetryAlgorithm(), + new ExponentialRetryAlgorithm(settings, NanoClock.getDefaultClock())); + // UNAUTHENTICATED configured as retryable, not caused by a channel refresh. + UnauthenticatedException configuredEx = + new UnauthenticatedException( + "Invalid token", null, new FakeStatusCode(Code.UNAUTHENTICATED), /* retryable= */ true); + + TimedAttemptSettings attempt = retryAlgorithm.createFirstAttempt(context); + for (int i = 1; i < 5; i++) { + attempt = retryAlgorithm.createNextAttempt(context, configuredEx, null, attempt); + assertNotNull(attempt); + assertEquals(i, attempt.getAttemptCount()); + assertEquals(i, attempt.getOverallAttemptCount()); + assertTrue(attempt.getRetryDelayDuration().compareTo(Duration.ZERO) > 0); + assertTrue(retryAlgorithm.shouldRetry(context, configuredEx, null, attempt)); + } + // The fifth failure exhausts maxAttempts = 5. + attempt = retryAlgorithm.createNextAttempt(context, configuredEx, null, attempt); + assertFalse(retryAlgorithm.shouldRetry(context, configuredEx, null, attempt)); + } + + @Test + void testContextRetryableCodesExcludeUnauthenticated_notFlagged_notRetried() { + ApiCallContext context = + mock(ApiCallContext.class, Mockito.withSettings().withoutAnnotations()); + when(context.getRetryableCodes()).thenReturn(Sets.newHashSet(Code.UNAVAILABLE)); + // Retryable according to the method's configuration, but the per-call codes exclude it. + UnauthenticatedException configuredEx = + new UnauthenticatedException( + "Invalid token", null, new FakeStatusCode(Code.UNAUTHENTICATED), /* retryable= */ true); + + ApiResultRetryAlgorithm algorithm = new ApiResultRetryAlgorithm<>(); + assertFalse(algorithm.shouldRetry(context, configuredEx, null)); + assertNull( + algorithm.createNextAttempt( + context, + configuredEx, + null, + new ExponentialRetryAlgorithm( + RetrySettings.newBuilder().setMaxAttempts(5).build(), + NanoClock.getDefaultClock()) + .createFirstAttempt())); + } + + @Test + void testFlagged_nullContext_retriesOnce() { + RetrySettings settings = RetrySettings.newBuilder().setMaxAttempts(1).build(); + RetryAlgorithm retryAlgorithm = + new RetryAlgorithm<>( + new ApiResultRetryAlgorithm(), + new ExponentialRetryAlgorithm(settings, NanoClock.getDefaultClock())); + UnauthenticatedException rotationEx = rotationException(); + + TimedAttemptSettings rotationRetry = + retryAlgorithm.createNextAttempt( + null, rotationEx, null, retryAlgorithm.createFirstAttempt(null)); + assertNotNull(rotationRetry); + assertEquals(Duration.ZERO, rotationRetry.getRetryDelayDuration()); + assertEquals(0, rotationRetry.getAttemptCount()); + assertEquals(1, rotationRetry.getOverallAttemptCount()); + assertTrue(retryAlgorithm.shouldRetry(null, rotationEx, null, rotationRetry)); + + TimedAttemptSettings afterSecondFailure = + retryAlgorithm.createNextAttempt(null, rotationEx, null, rotationRetry); + assertFalse(retryAlgorithm.shouldRetry(null, rotationEx, null, afterSecondFailure)); + } + + @Test + void testFlagged_contextWithoutRetryableCodes_retriesOnce() { + ApiCallContext context = + mock(ApiCallContext.class, Mockito.withSettings().withoutAnnotations()); + when(context.getRetryableCodes()).thenReturn(null); + RetrySettings settings = RetrySettings.newBuilder().setMaxAttempts(1).build(); + RetryAlgorithm retryAlgorithm = + new RetryAlgorithm<>( + new ApiResultRetryAlgorithm(), + new ExponentialRetryAlgorithm(settings, NanoClock.getDefaultClock())); + // Not retryable by configuration (isRetryable() == false), but caused by a channel refresh. + UnauthenticatedException rotationEx = rotationException(); + + TimedAttemptSettings rotationRetry = + retryAlgorithm.createNextAttempt( + context, rotationEx, null, retryAlgorithm.createFirstAttempt(context)); + assertNotNull(rotationRetry); + assertEquals(Duration.ZERO, rotationRetry.getRetryDelayDuration()); + assertTrue(retryAlgorithm.shouldRetry(context, rotationEx, null, rotationRetry)); + + TimedAttemptSettings afterSecondFailure = + retryAlgorithm.createNextAttempt(context, rotationEx, null, rotationRetry); + assertFalse(retryAlgorithm.shouldRetry(context, rotationEx, null, afterSecondFailure)); + } + + @Test + void testConfiguredUnauthenticated_afterRotationRetry_continuesWithNormalPolicy() { + ApiCallContext context = + mock(ApiCallContext.class, Mockito.withSettings().withoutAnnotations()); + when(context.getRetryableCodes()).thenReturn(null); + RetrySettings settings = + RetrySettings.newBuilder() + .setMaxAttempts(3) + .setInitialRetryDelayDuration(Duration.ofMillis(100)) + .setRetryDelayMultiplier(2.0) + .setMaxRetryDelayDuration(Duration.ofSeconds(1)) + .setTotalTimeoutDuration(Duration.ofMinutes(10)) + .build(); + RetryAlgorithm retryAlgorithm = + new RetryAlgorithm<>( + new ApiResultRetryAlgorithm(), + new ExponentialRetryAlgorithm(settings, NanoClock.getDefaultClock())); + UnauthenticatedException configuredEx = + new UnauthenticatedException( + "Expired cert", null, new FakeStatusCode(Code.UNAUTHENTICATED), /* retryable= */ true); + UnauthenticatedException rotationEx = configuredEx.withChannelRefreshed(); + + // A rotation failure gets the free zero-delay retry without consuming an attempt. + TimedAttemptSettings rotationRetry = + retryAlgorithm.createNextAttempt( + context, rotationEx, null, retryAlgorithm.createFirstAttempt(context)); + assertEquals(Duration.ZERO, rotationRetry.getRetryDelayDuration()); + assertEquals(0, rotationRetry.getAttemptCount()); + + // A later, unrelated failure on the same channel follows the configured policy with backoff. + TimedAttemptSettings normalRetry = + retryAlgorithm.createNextAttempt(context, configuredEx, null, rotationRetry); + assertNotNull(normalRetry); + assertEquals(1, normalRetry.getAttemptCount()); + assertTrue(normalRetry.getRetryDelayDuration().compareTo(Duration.ZERO) > 0); + assertTrue(retryAlgorithm.shouldRetry(context, configuredEx, null, normalRetry)); + } + + /** + * An UNAUTHENTICATED failure caused by a channel refresh, where UNAUTHENTICATED is not configured + * as retryable (the common case). + */ + private static UnauthenticatedException rotationException() { + return new UnauthenticatedException( + "Expired cert", null, new FakeStatusCode(Code.UNAUTHENTICATED), /* retryable= */ false) + .withChannelRefreshed(); + } } diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/AttemptCallableTest.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/AttemptCallableTest.java index 4b5da578862c..a1e148c241b6 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/AttemptCallableTest.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/AttemptCallableTest.java @@ -30,16 +30,23 @@ package com.google.api.gax.rpc; import static com.google.common.truth.Truth.assertThat; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import com.google.api.core.ApiFuture; import com.google.api.core.SettableApiFuture; import com.google.api.gax.retrying.RetrySettings; import com.google.api.gax.retrying.RetryingFuture; import com.google.api.gax.retrying.TimedAttemptSettings; import com.google.api.gax.rpc.testing.FakeCallContext; +import com.google.api.gax.rpc.testing.FakeChannel; +import com.google.api.gax.rpc.testing.FakeStatusCode; +import com.google.api.gax.rpc.testing.FakeTransportChannel; import com.google.api.gax.tracing.ApiTracer; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.atomic.AtomicInteger; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -133,4 +140,388 @@ void testRpcTimeoutIsNotErased() { assertThat(capturedCallContext.getValue().getTimeoutDuration()).isEqualTo(callerTimeout); } + + @Test + void testRefreshedUnauthenticated_flaggedAndPreservesContext() { + FakeTransportChannel transportChannel = + FakeTransportChannel.create(new FakeChannel()).setShouldRefresh(true); + ApiCallContext callContext = + FakeCallContext.createDefault().withTransportChannel(transportChannel); + + UnauthenticatedException originalEx = + new UnauthenticatedException( + "Expired cert", + new IllegalStateException("Root cause"), + FakeStatusCode.of(StatusCode.Code.UNAUTHENTICATED), + false); + originalEx.setStackTrace( + new StackTraceElement[] {new StackTraceElement("foo", "bar", "Baz.java", 123)}); + originalEx.addSuppressed(new RuntimeException("Suppressed cause")); + + SettableApiFuture failedFuture = SettableApiFuture.create(); + failedFuture.setException(originalEx); + when(mockInnerCallable.futureCall(Mockito.anyString(), Mockito.any())).thenReturn(failedFuture); + + AttemptCallable callable = + new AttemptCallable<>(mockInnerCallable, "fake-request", callContext); + callable.setExternalFuture(mockExternalFuture); + + callable.call(); + + ArgumentCaptor futureCaptor = ArgumentCaptor.forClass(ApiFuture.class); + Mockito.verify(mockExternalFuture, Mockito.times(2)).setAttemptFuture(futureCaptor.capture()); + + Throwable thrown = null; + try { + futureCaptor.getValue().get(); + } catch (Exception e) { + thrown = e.getCause(); + } + + assertThat(thrown).isInstanceOf(UnauthenticatedException.class); + UnauthenticatedException rethrown = (UnauthenticatedException) thrown; + assertThat(rethrown.isChannelRefreshed()).isTrue(); + // The original retryable setting is preserved. + assertThat(rethrown.isRetryable()).isFalse(); + assertThat(rethrown.getMessage()).isEqualTo(originalEx.getMessage()); + assertThat(rethrown.getStatusCode()).isEqualTo(originalEx.getStatusCode()); + assertThat(rethrown.getCause()).isEqualTo(originalEx.getCause()); + assertThat(rethrown.getStackTrace()).isEqualTo(originalEx.getStackTrace()); + assertThat(rethrown.getSuppressed().length).isEqualTo(1); + assertThat(rethrown.getSuppressed()[0]).isInstanceOf(RuntimeException.class); + } + + @Test + void testSiblingInFlightRequest_channelRotatedInFlight_flaggedWithoutDuplicateRefresh() { + FakeChannel innerChannel = new FakeChannel(); + innerChannel.setGeneration(1); + // Initially shouldRefresh is false because sibling request already completed the refresh + innerChannel.setShouldRefresh(false); + FakeTransportChannel transportChannel = FakeTransportChannel.create(innerChannel); + + ApiCallContext callContext = + FakeCallContext.createDefault().withTransportChannel(transportChannel); + + UnauthenticatedException originalEx = + new UnauthenticatedException( + "Expired cert", null, FakeStatusCode.of(StatusCode.Code.UNAUTHENTICATED), false); + + SettableApiFuture failedFuture = SettableApiFuture.create(); + failedFuture.setException(originalEx); + when(mockInnerCallable.futureCall(Mockito.anyString(), Mockito.any())) + .thenAnswer( + invocation -> { + // While request was in flight, sibling finished rotation and bumped generation to 2 + innerChannel.setGeneration(2); + return failedFuture; + }); + + AttemptCallable callable = + new AttemptCallable<>(mockInnerCallable, "fake-request", callContext); + callable.setExternalFuture(mockExternalFuture); + + callable.call(); + + ArgumentCaptor futureCaptor = ArgumentCaptor.forClass(ApiFuture.class); + Mockito.verify(mockExternalFuture, Mockito.times(2)).setAttemptFuture(futureCaptor.capture()); + + Throwable thrown = null; + try { + futureCaptor.getValue().get(); + } catch (Exception e) { + thrown = e.getCause(); + } + + assertThat(thrown).isInstanceOf(UnauthenticatedException.class); + UnauthenticatedException rethrown = (UnauthenticatedException) thrown; + // Sibling request should be flagged for a retry on the new channel + assertThat(rethrown.isChannelRefreshed()).isTrue(); + // But should NOT have triggered a second refresh call + assertThat(innerChannel.getRefreshCount()).isEqualTo(0); + } + + @Test + void testPermanentUnauthenticatedFailure_sameGeneration_notFlagged() { + FakeChannel innerChannel = new FakeChannel(); + innerChannel.setGeneration(1); + innerChannel.setShouldRefresh(false); + FakeTransportChannel transportChannel = FakeTransportChannel.create(innerChannel); + + ApiCallContext callContext = + FakeCallContext.createDefault().withTransportChannel(transportChannel); + + UnauthenticatedException originalEx = + new UnauthenticatedException( + "Invalid credentials", null, FakeStatusCode.of(StatusCode.Code.UNAUTHENTICATED), false); + + SettableApiFuture failedFuture = SettableApiFuture.create(); + failedFuture.setException(originalEx); + when(mockInnerCallable.futureCall(Mockito.anyString(), Mockito.any())).thenReturn(failedFuture); + + AttemptCallable callable = + new AttemptCallable<>(mockInnerCallable, "fake-request", callContext); + callable.setExternalFuture(mockExternalFuture); + + callable.call(); + + ArgumentCaptor futureCaptor = ArgumentCaptor.forClass(ApiFuture.class); + Mockito.verify(mockExternalFuture, Mockito.times(2)).setAttemptFuture(futureCaptor.capture()); + + Throwable thrown = null; + try { + futureCaptor.getValue().get(); + } catch (Exception e) { + thrown = e.getCause(); + } + + assertThat(thrown).isInstanceOf(UnauthenticatedException.class); + UnauthenticatedException rethrown = (UnauthenticatedException) thrown; + // Genuine permanent error on same generation is not flagged for a rotation retry + assertThat(rethrown.isRetryable()).isFalse(); + assertThat(rethrown.isChannelRefreshed()).isFalse(); + assertThat(innerChannel.getRefreshCount()).isEqualTo(0); + } + + @Test + void testRefreshThrowsException_notFlaggedWhenGenerationUnchanged() { + AtomicInteger refreshCalls = new AtomicInteger(); + FakeChannel fakeChannel = + new FakeChannel() { + @Override + public boolean shouldRefresh() { + return true; + } + + @Override + public void refresh() { + refreshCalls.incrementAndGet(); + throw new RuntimeException("Refresh error"); + } + }; + FakeTransportChannel transportChannel = FakeTransportChannel.create(fakeChannel); + + ApiCallContext callContext = + FakeCallContext.createDefault().withTransportChannel(transportChannel); + + UnauthenticatedException originalEx = + new UnauthenticatedException( + "Expired cert", null, FakeStatusCode.of(StatusCode.Code.UNAUTHENTICATED), false); + + SettableApiFuture failedFuture = SettableApiFuture.create(); + failedFuture.setException(originalEx); + when(mockInnerCallable.futureCall(Mockito.anyString(), Mockito.any())).thenReturn(failedFuture); + + AttemptCallable callable = + new AttemptCallable<>(mockInnerCallable, "fake-request", callContext); + callable.setExternalFuture(mockExternalFuture); + + callable.call(); + + ArgumentCaptor futureCaptor = ArgumentCaptor.forClass(ApiFuture.class); + Mockito.verify(mockExternalFuture, Mockito.times(2)).setAttemptFuture(futureCaptor.capture()); + + Throwable thrown = null; + try { + futureCaptor.getValue().get(); + } catch (Exception e) { + thrown = e.getCause(); + } + + assertThat(thrown).isInstanceOf(UnauthenticatedException.class); + UnauthenticatedException rethrown = (UnauthenticatedException) thrown; + assertThat(rethrown.isRetryable()).isFalse(); + assertThat(rethrown.isChannelRefreshed()).isFalse(); + assertThat(refreshCalls.get()).isEqualTo(1); + } + + @Test + void testRefreshReturnsWithoutAdvancingGeneration_notFlagged() { + FakeChannel fakeChannel = + new FakeChannel() { + @Override + public boolean shouldRefresh() { + return true; + } + + @Override + public void refresh() { + // Simulates refresh() returning early without rotating any channel (e.g. unreadable + // cert) + } + }; + FakeTransportChannel transportChannel = FakeTransportChannel.create(fakeChannel); + + ApiCallContext callContext = + FakeCallContext.createDefault().withTransportChannel(transportChannel); + + UnauthenticatedException originalEx = + new UnauthenticatedException( + "Expired cert", null, FakeStatusCode.of(StatusCode.Code.UNAUTHENTICATED), false); + + SettableApiFuture failedFuture = SettableApiFuture.create(); + failedFuture.setException(originalEx); + when(mockInnerCallable.futureCall(Mockito.anyString(), Mockito.any())).thenReturn(failedFuture); + + AttemptCallable callable = + new AttemptCallable<>(mockInnerCallable, "fake-request", callContext); + callable.setExternalFuture(mockExternalFuture); + + callable.call(); + + ArgumentCaptor futureCaptor = ArgumentCaptor.forClass(ApiFuture.class); + Mockito.verify(mockExternalFuture, Mockito.times(2)).setAttemptFuture(futureCaptor.capture()); + + Throwable thrown = null; + try { + futureCaptor.getValue().get(); + } catch (Exception e) { + thrown = e.getCause(); + } + + assertThat(thrown).isInstanceOf(UnauthenticatedException.class); + UnauthenticatedException rethrown = (UnauthenticatedException) thrown; + assertThat(rethrown.isRetryable()).isFalse(); + assertThat(rethrown.isChannelRefreshed()).isFalse(); + } + + @Test + void testRefreshThrowsException_flaggedIfConcurrentThreadAdvancedGeneration() { + FakeChannel fakeChannel = + new FakeChannel() { + @Override + public boolean shouldRefresh() { + return true; + } + + @Override + public void refresh() { + // Concurrent thread advanced generation before/during refresh failure + setGeneration(getGeneration() + 1); + throw new RuntimeException("Refresh error on this thread"); + } + }; + FakeTransportChannel transportChannel = FakeTransportChannel.create(fakeChannel); + + ApiCallContext callContext = + FakeCallContext.createDefault().withTransportChannel(transportChannel); + + UnauthenticatedException originalEx = + new UnauthenticatedException( + "Expired cert", null, FakeStatusCode.of(StatusCode.Code.UNAUTHENTICATED), false); + + SettableApiFuture failedFuture = SettableApiFuture.create(); + failedFuture.setException(originalEx); + when(mockInnerCallable.futureCall(Mockito.anyString(), Mockito.any())).thenReturn(failedFuture); + + AttemptCallable callable = + new AttemptCallable<>(mockInnerCallable, "fake-request", callContext); + callable.setExternalFuture(mockExternalFuture); + + callable.call(); + + ArgumentCaptor futureCaptor = ArgumentCaptor.forClass(ApiFuture.class); + Mockito.verify(mockExternalFuture, Mockito.times(2)).setAttemptFuture(futureCaptor.capture()); + + Throwable thrown = null; + try { + futureCaptor.getValue().get(); + } catch (Exception e) { + thrown = e.getCause(); + } + + assertThat(thrown).isInstanceOf(UnauthenticatedException.class); + UnauthenticatedException rethrown = (UnauthenticatedException) thrown; + assertThat(rethrown.isChannelRefreshed()).isTrue(); + } + + @Test + void testGenerationAlreadyAdvanced_flaggedWithoutCheckingShouldRefresh() { + AtomicInteger shouldRefreshCalls = new AtomicInteger(); + FakeChannel fakeChannel = + new FakeChannel() { + @Override + public boolean shouldRefresh() { + shouldRefreshCalls.incrementAndGet(); + return true; + } + }; + UnauthenticatedException originalEx = + new UnauthenticatedException( + "Expired cert", null, FakeStatusCode.of(StatusCode.Code.UNAUTHENTICATED), false); + SettableApiFuture failedFuture = SettableApiFuture.create(); + failedFuture.setException(originalEx); + when(mockInnerCallable.futureCall(Mockito.anyString(), Mockito.any())) + .thenAnswer( + invocation -> { + // Another request rotated the channel while this one was in flight. + fakeChannel.setGeneration(fakeChannel.getGeneration() + 1); + return failedFuture; + }); + + UnauthenticatedException rethrown = callAndGetUnauthenticated(fakeChannel); + + assertThat(rethrown.isChannelRefreshed()).isTrue(); + // The certificate on disk is not checked again, and no second refresh happens. + assertThat(shouldRefreshCalls.get()).isEqualTo(0); + assertThat(fakeChannel.getRefreshCount()).isEqualTo(0); + } + + @Test + void testShouldRefreshThrows_originalUnauthenticatedPreserved() { + FakeChannel fakeChannel = + new FakeChannel() { + @Override + public boolean shouldRefresh() { + throw new IllegalStateException("Unable to read certificate"); + } + }; + UnauthenticatedException originalEx = + new UnauthenticatedException( + "Expired cert", null, FakeStatusCode.of(StatusCode.Code.UNAUTHENTICATED), false); + SettableApiFuture failedFuture = SettableApiFuture.create(); + failedFuture.setException(originalEx); + when(mockInnerCallable.futureCall(Mockito.anyString(), Mockito.any())).thenReturn(failedFuture); + + UnauthenticatedException rethrown = callAndGetUnauthenticated(fakeChannel); + + assertThat(rethrown).isSameInstanceAs(originalEx); + assertThat(rethrown.isChannelRefreshed()).isFalse(); + assertThat(fakeChannel.getRefreshCount()).isEqualTo(0); + } + + @Test + void testConfiguredRetryableUnauthenticated_sameGeneration_notFlagged() { + FakeChannel fakeChannel = new FakeChannel().setShouldRefresh(false); + UnauthenticatedException originalEx = + new UnauthenticatedException( + "Token expired", null, FakeStatusCode.of(StatusCode.Code.UNAUTHENTICATED), true); + SettableApiFuture failedFuture = SettableApiFuture.create(); + failedFuture.setException(originalEx); + when(mockInnerCallable.futureCall(Mockito.anyString(), Mockito.any())).thenReturn(failedFuture); + + UnauthenticatedException rethrown = callAndGetUnauthenticated(fakeChannel); + + // Left to the normal retry policy: still retryable, but not a rotation retry. + assertThat(rethrown).isSameInstanceAs(originalEx); + assertThat(rethrown.isRetryable()).isTrue(); + assertThat(rethrown.isChannelRefreshed()).isFalse(); + } + + private UnauthenticatedException callAndGetUnauthenticated(FakeChannel fakeChannel) { + ApiCallContext callContext = + FakeCallContext.createDefault() + .withTransportChannel(FakeTransportChannel.create(fakeChannel)); + AttemptCallable callable = + new AttemptCallable<>(mockInnerCallable, "fake-request", callContext); + callable.setExternalFuture(mockExternalFuture); + + callable.call(); + + ArgumentCaptor futureCaptor = ArgumentCaptor.forClass(ApiFuture.class); + Mockito.verify(mockExternalFuture, Mockito.times(2)).setAttemptFuture(futureCaptor.capture()); + ExecutionException e = + assertThrows(ExecutionException.class, () -> futureCaptor.getValue().get()); + assertThat(e.getCause()).isInstanceOf(UnauthenticatedException.class); + return (UnauthenticatedException) e.getCause(); + } } diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/EndpointContextTest.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/EndpointContextTest.java index 4c1b5320de4c..950b9f9dd7a7 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/EndpointContextTest.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/EndpointContextTest.java @@ -76,9 +76,10 @@ void mtlsEndpointResolver_switchToMtlsAllowedIsFalse() throws IOException { new FakeMtlsProvider( FakeMtlsProvider.createTestMtlsKeyStore(), "", throwExceptionForGetKeyStore); boolean switchToMtlsEndpointAllowed = false; - CertificateBasedAccess certificateBasedAccess = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_MTLS_ENDPOINT") ? "auto" : "true"); + CertificateBasedAccess certificateBasedAccess = Mockito.mock(CertificateBasedAccess.class); + Mockito.when(certificateBasedAccess.getMtlsEndpointUsagePolicy()) + .thenReturn(CertificateBasedAccess.MtlsEndpointUsagePolicy.AUTO); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); Truth.assertThat( defaultEndpointContextBuilder.mtlsEndpointResolver( DEFAULT_ENDPOINT, @@ -96,9 +97,10 @@ void mtlsEndpointResolver_switchToMtlsAllowedIsTrue_mtlsUsageAuto() throws IOExc new FakeMtlsProvider( FakeMtlsProvider.createTestMtlsKeyStore(), "", throwExceptionForGetKeyStore); boolean switchToMtlsEndpointAllowed = true; - CertificateBasedAccess certificateBasedAccess = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_MTLS_ENDPOINT") ? "auto" : "true"); + CertificateBasedAccess certificateBasedAccess = Mockito.mock(CertificateBasedAccess.class); + Mockito.when(certificateBasedAccess.getMtlsEndpointUsagePolicy()) + .thenReturn(CertificateBasedAccess.MtlsEndpointUsagePolicy.AUTO); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); Truth.assertThat( defaultEndpointContextBuilder.mtlsEndpointResolver( DEFAULT_ENDPOINT, @@ -116,9 +118,10 @@ void mtlsEndpointResolver_switchToMtlsAllowedIsTrue_mtlsUsageAlways() throws IOE new FakeMtlsProvider( FakeMtlsProvider.createTestMtlsKeyStore(), "", throwExceptionForGetKeyStore); boolean switchToMtlsEndpointAllowed = true; - CertificateBasedAccess certificateBasedAccess = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_MTLS_ENDPOINT") ? "always" : "true"); + CertificateBasedAccess certificateBasedAccess = Mockito.mock(CertificateBasedAccess.class); + Mockito.when(certificateBasedAccess.getMtlsEndpointUsagePolicy()) + .thenReturn(CertificateBasedAccess.MtlsEndpointUsagePolicy.ALWAYS); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); Truth.assertThat( defaultEndpointContextBuilder.mtlsEndpointResolver( DEFAULT_ENDPOINT, @@ -136,9 +139,10 @@ void mtlsEndpointResolver_switchToMtlsAllowedIsTrue_mtlsUsageNever() throws IOEx new FakeMtlsProvider( FakeMtlsProvider.createTestMtlsKeyStore(), "", throwExceptionForGetKeyStore); boolean switchToMtlsEndpointAllowed = true; - CertificateBasedAccess certificateBasedAccess = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_MTLS_ENDPOINT") ? "never" : "true"); + CertificateBasedAccess certificateBasedAccess = Mockito.mock(CertificateBasedAccess.class); + Mockito.when(certificateBasedAccess.getMtlsEndpointUsagePolicy()) + .thenReturn(CertificateBasedAccess.MtlsEndpointUsagePolicy.NEVER); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); Truth.assertThat( defaultEndpointContextBuilder.mtlsEndpointResolver( DEFAULT_ENDPOINT, @@ -155,9 +159,10 @@ void mtlsEndpointResolver_switchToMtlsAllowedIsTrue_useCertificateIsFalse_nullMt boolean throwExceptionForGetKeyStore = false; MtlsProvider mtlsProvider = new FakeMtlsProvider(null, "", throwExceptionForGetKeyStore); boolean switchToMtlsEndpointAllowed = true; - CertificateBasedAccess certificateBasedAccess = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_MTLS_ENDPOINT") ? "auto" : "false"); + CertificateBasedAccess certificateBasedAccess = Mockito.mock(CertificateBasedAccess.class); + Mockito.when(certificateBasedAccess.getMtlsEndpointUsagePolicy()) + .thenReturn(CertificateBasedAccess.MtlsEndpointUsagePolicy.AUTO); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(false); Truth.assertThat( defaultEndpointContextBuilder.mtlsEndpointResolver( DEFAULT_ENDPOINT, @@ -173,9 +178,10 @@ void mtlsEndpointResolver_getKeyStore_throwsIOException() throws IOException { boolean throwExceptionForGetKeyStore = true; MtlsProvider mtlsProvider = new FakeMtlsProvider(null, "", throwExceptionForGetKeyStore); boolean switchToMtlsEndpointAllowed = true; - CertificateBasedAccess certificateBasedAccess = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_MTLS_ENDPOINT") ? "auto" : "true"); + CertificateBasedAccess certificateBasedAccess = Mockito.mock(CertificateBasedAccess.class); + Mockito.when(certificateBasedAccess.getMtlsEndpointUsagePolicy()) + .thenReturn(CertificateBasedAccess.MtlsEndpointUsagePolicy.AUTO); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); assertThrows( IOException.class, () -> @@ -271,9 +277,10 @@ void endpointContextBuild_noUniverseDomain_noEndpoints() throws IOException { void endpointContextBuild_mtlsConfigured_GDU() throws IOException { MtlsProvider mtlsProvider = new FakeMtlsProvider(FakeMtlsProvider.createTestMtlsKeyStore(), "", false); - CertificateBasedAccess certificateBasedAccess = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_MTLS_ENDPOINT") ? "always" : "true"); + CertificateBasedAccess certificateBasedAccess = Mockito.mock(CertificateBasedAccess.class); + Mockito.when(certificateBasedAccess.getMtlsEndpointUsagePolicy()) + .thenReturn(CertificateBasedAccess.MtlsEndpointUsagePolicy.ALWAYS); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); EndpointContext endpointContext = defaultEndpointContextBuilder .setClientSettingsEndpoint(null) @@ -292,9 +299,10 @@ void endpointContextBuild_mtlsConfigured_nonGDU_throwsIllegalArgumentException() throws IOException { MtlsProvider mtlsProvider = new FakeMtlsProvider(FakeMtlsProvider.createTestMtlsKeyStore(), "", false); - CertificateBasedAccess certificateBasedAccess = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_MTLS_ENDPOINT") ? "always" : "true"); + CertificateBasedAccess certificateBasedAccess = Mockito.mock(CertificateBasedAccess.class); + Mockito.when(certificateBasedAccess.getMtlsEndpointUsagePolicy()) + .thenReturn(CertificateBasedAccess.MtlsEndpointUsagePolicy.ALWAYS); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); EndpointContext.Builder endpointContextBuilder = defaultEndpointContextBuilder .setUniverseDomain("random.com") diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/ServerStreamingAttemptCallableTest.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/ServerStreamingAttemptCallableTest.java index 4cdd3cc018cc..9cfe8ac8df5d 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/ServerStreamingAttemptCallableTest.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/ServerStreamingAttemptCallableTest.java @@ -29,27 +29,39 @@ */ package com.google.api.gax.rpc; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.mock; import com.google.api.core.AbstractApiFuture; import com.google.api.core.ApiFuture; +import com.google.api.core.NanoClock; +import com.google.api.gax.core.FakeApiClock; +import com.google.api.gax.retrying.ExponentialRetryAlgorithm; import com.google.api.gax.retrying.RetrySettings; import com.google.api.gax.retrying.RetryingFuture; import com.google.api.gax.retrying.ServerStreamingAttemptException; +import com.google.api.gax.retrying.SimpleStreamResumptionStrategy; import com.google.api.gax.retrying.StreamResumptionStrategy; +import com.google.api.gax.retrying.StreamingRetryAlgorithm; import com.google.api.gax.retrying.TimedAttemptSettings; import com.google.api.gax.rpc.StatusCode.Code; import com.google.api.gax.rpc.testing.FakeApiException; import com.google.api.gax.rpc.testing.FakeCallContext; +import com.google.api.gax.rpc.testing.FakeChannel; +import com.google.api.gax.rpc.testing.FakeStatusCode; +import com.google.api.gax.rpc.testing.FakeTransportChannel; import com.google.api.gax.rpc.testing.MockStreamingApi.MockServerStreamingCall; import com.google.api.gax.rpc.testing.MockStreamingApi.MockServerStreamingCallable; import com.google.api.gax.tracing.BaseApiTracer; import com.google.common.collect.Queues; import com.google.common.truth.Truth; +import java.time.Duration; import java.util.concurrent.BlockingDeque; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.Mockito; @@ -248,6 +260,188 @@ void testInitialRetry() { Truth.assertThat(call.getRequest()).isEqualTo("request > 0"); } + @Test + @SuppressWarnings("ConstantConditions") + void testUnauthenticatedRefreshWithoutGenerationAdvance_notFlagged() { + TransportChannel transportChannel = Mockito.mock(TransportChannel.class); + Mockito.when(transportChannel.shouldRefresh()).thenReturn(true); + + ApiCallContext context = Mockito.mock(ApiCallContext.class); + Mockito.when(context.getTransportChannel()).thenReturn(transportChannel); + Mockito.when(context.getTracer()).thenReturn(BaseApiTracer.getInstance()); + Mockito.when(context.getTimeoutDuration()).thenReturn(Duration.ofHours(5)); + + resumptionStrategy = new MyStreamResumptionStrategy(); + ServerStreamingAttemptCallable callable = createCallable(context); + callable.start(); + + MockServerStreamingCall call = innerCallable.popLastCall(); + + // Send initial error + UnauthenticatedException initialError = + new UnauthenticatedException("test", null, FakeStatusCode.of(Code.UNAUTHENTICATED), false); + call.getController().getObserver().onError(initialError); + + // Should notify the outer future + ExecutionException ee = + assertThrows( + ExecutionException.class, + () -> fakeRetryingFuture.getAttemptResult().get(1, TimeUnit.SECONDS)); + Throwable outerError = ee.getCause(); + Mockito.verify(transportChannel).refresh(); + Truth.assertThat(outerError).isInstanceOf(ServerStreamingAttemptException.class); + Truth.assertThat(((ServerStreamingAttemptException) outerError).hasSeenResponses()).isFalse(); + Truth.assertThat(((ServerStreamingAttemptException) outerError).canResume()).isTrue(); + Truth.assertThat(outerError.getCause()).isInstanceOf(UnauthenticatedException.class); + Truth.assertThat(((UnauthenticatedException) outerError.getCause()).isRetryable()).isFalse(); + Truth.assertThat(((UnauthenticatedException) outerError.getCause()).isChannelRefreshed()) + .isFalse(); + } + + @Test + @SuppressWarnings("ConstantConditions") + void testUnauthenticatedRefreshWithGenerationAdvance_flagsChannelRefreshed() { + TransportChannel transportChannel = Mockito.mock(TransportChannel.class); + AtomicLong generation = new AtomicLong(0); + Mockito.when(transportChannel.getGeneration()).thenAnswer(inv -> generation.get()); + Mockito.when(transportChannel.shouldRefresh()).thenReturn(true); + Mockito.doAnswer( + inv -> { + generation.incrementAndGet(); + return null; + }) + .when(transportChannel) + .refresh(); + + ApiCallContext context = Mockito.mock(ApiCallContext.class); + Mockito.when(context.getTransportChannel()).thenReturn(transportChannel); + Mockito.when(context.getTracer()).thenReturn(BaseApiTracer.getInstance()); + Mockito.when(context.getTimeoutDuration()).thenReturn(Duration.ofHours(5)); + + resumptionStrategy = new MyStreamResumptionStrategy(); + ServerStreamingAttemptCallable callable = createCallable(context); + callable.start(); + + MockServerStreamingCall call = innerCallable.popLastCall(); + + UnauthenticatedException initialError = + new UnauthenticatedException("test", null, FakeStatusCode.of(Code.UNAUTHENTICATED), false); + call.getController().getObserver().onError(initialError); + + ExecutionException ee = + assertThrows( + ExecutionException.class, + () -> fakeRetryingFuture.getAttemptResult().get(1, TimeUnit.SECONDS)); + Throwable outerError = ee.getCause(); + Mockito.verify(transportChannel).refresh(); + Truth.assertThat(outerError).isInstanceOf(ServerStreamingAttemptException.class); + Truth.assertThat(((ServerStreamingAttemptException) outerError).canResume()).isTrue(); + Truth.assertThat(outerError.getCause()).isInstanceOf(UnauthenticatedException.class); + Truth.assertThat(((UnauthenticatedException) outerError.getCause()).isChannelRefreshed()) + .isTrue(); + Truth.assertThat(((UnauthenticatedException) outerError.getCause()).isRetryable()).isFalse(); + Truth.assertThat(outerError.getCause().getStackTrace()).isEqualTo(initialError.getStackTrace()); + // A fixed clock keeps the fake attempt (started at t=0) within its total timeout. + StreamingRetryAlgorithm retryAlgorithm = + new StreamingRetryAlgorithm<>( + new ApiResultRetryAlgorithm<>(), + new ExponentialRetryAlgorithm(RetrySettings.newBuilder().build(), new FakeApiClock(0))); + // Mirror the retry executor: compute the next attempt, then ask whether to run it. + TimedAttemptSettings nextAttempt = + retryAlgorithm.createNextAttempt(outerError, null, fakeRetryingFuture.getAttemptSettings()); + Truth.assertThat(nextAttempt).isNotNull(); + Truth.assertThat(retryAlgorithm.shouldRetry(outerError, null, nextAttempt)).isTrue(); + + // Verify retry call resumes stream + callable.call(); + call = innerCallable.popLastCall(); + Truth.assertThat(call.getRequest()).isEqualTo("request > 0"); + } + + @Test + @SuppressWarnings("ConstantConditions") + void testUnauthenticatedRefreshWithNonResumableStreamDoesNotRetry() { + TransportChannel transportChannel = Mockito.mock(TransportChannel.class); + AtomicLong generation = new AtomicLong(0); + Mockito.when(transportChannel.getGeneration()).thenAnswer(inv -> generation.get()); + Mockito.when(transportChannel.shouldRefresh()).thenReturn(true); + Mockito.doAnswer( + inv -> { + generation.incrementAndGet(); + return null; + }) + .when(transportChannel) + .refresh(); + + ApiCallContext context = Mockito.mock(ApiCallContext.class); + Mockito.when(context.getTransportChannel()).thenReturn(transportChannel); + Mockito.when(context.getTracer()).thenReturn(BaseApiTracer.getInstance()); + Mockito.when(context.getTimeoutDuration()).thenReturn(Duration.ofHours(5)); + + // SimpleStreamResumptionStrategy cannot resume once a response has been received + resumptionStrategy = new SimpleStreamResumptionStrategy<>(); + ServerStreamingAttemptCallable callable = createCallable(context); + callable.start(); + + MockServerStreamingCall call = innerCallable.popLastCall(); + call.getController().getObserver().onResponse("response1"); + + UnauthenticatedException initialError = + new UnauthenticatedException("test", null, FakeStatusCode.of(Code.UNAUTHENTICATED), false); + call.getController().getObserver().onError(initialError); + + ExecutionException ee = + assertThrows( + ExecutionException.class, + () -> fakeRetryingFuture.getAttemptResult().get(1, TimeUnit.SECONDS)); + Throwable outerError = ee.getCause(); + Mockito.verify(transportChannel).refresh(); + Truth.assertThat(outerError).isInstanceOf(ServerStreamingAttemptException.class); + ServerStreamingAttemptException attemptEx = (ServerStreamingAttemptException) outerError; + Truth.assertThat(attemptEx.canResume()).isFalse(); + Truth.assertThat(((UnauthenticatedException) attemptEx.getCause()).isChannelRefreshed()) + .isTrue(); + Truth.assertThat( + new StreamingRetryAlgorithm<>( + new ApiResultRetryAlgorithm<>(), + new ExponentialRetryAlgorithm( + RetrySettings.newBuilder().build(), NanoClock.getDefaultClock())) + .shouldRetry(attemptEx, null, fakeRetryingFuture.getAttemptSettings())) + .isFalse(); + } + + @Test + @SuppressWarnings("ConstantConditions") + void testRefreshThrowsException_originalErrorNotLost() { + TransportChannel transportChannel = Mockito.mock(TransportChannel.class); + Mockito.when(transportChannel.shouldRefresh()).thenReturn(true); + Mockito.doThrow(new RuntimeException("Refresh error")).when(transportChannel).refresh(); + + ApiCallContext context = Mockito.mock(ApiCallContext.class); + Mockito.when(context.getTransportChannel()).thenReturn(transportChannel); + Mockito.when(context.getTracer()).thenReturn(BaseApiTracer.getInstance()); + Mockito.when(context.getTimeoutDuration()).thenReturn(Duration.ofHours(5)); + + resumptionStrategy = new MyStreamResumptionStrategy(); + ServerStreamingAttemptCallable callable = createCallable(context); + callable.start(); + + MockServerStreamingCall call = innerCallable.popLastCall(); + + UnauthenticatedException initialError = + new UnauthenticatedException("test", null, FakeStatusCode.of(Code.UNAUTHENTICATED), false); + call.getController().getObserver().onError(initialError); + + ExecutionException ee = + assertThrows( + ExecutionException.class, + () -> fakeRetryingFuture.getAttemptResult().get(1, TimeUnit.SECONDS)); + Throwable outerError = ee.getCause(); + Mockito.verify(transportChannel).refresh(); + Truth.assertThat(outerError).isInstanceOf(ServerStreamingAttemptException.class); + Truth.assertThat(outerError.getCause()).isEqualTo(initialError); + } + @Test @SuppressWarnings("ConstantConditions") void testMidRetry() { @@ -403,6 +597,139 @@ public String processResponse(String response) { .containsExactly("first+suffix", "second+suffix", "third+suffix"); } + @Test + void testUnauthenticatedException_whenChannelRefreshes_flagsChannelRefreshed() throws Exception { + FakeChannel fakeChannel = new FakeChannel(); + fakeChannel.setShouldRefresh(true); + ApiCallContext context = + FakeCallContext.createDefault() + .withTransportChannel(FakeTransportChannel.create(fakeChannel)); + + ServerStreamingAttemptCallable callable = createCallable(context); + callable.start(); + + MockServerStreamingCall call = innerCallable.popLastCall(); + UnauthenticatedException unauthEx = + new UnauthenticatedException( + "cert expired", null, new FakeStatusCode(Code.UNAUTHENTICATED), false); + call.getController().getObserver().onError(unauthEx); + + ExecutionException ex = + assertThrows( + ExecutionException.class, + () -> fakeRetryingFuture.getAttemptResult().get(1, TimeUnit.SECONDS)); + Truth.assertThat(ex.getCause()).isInstanceOf(ServerStreamingAttemptException.class); + Throwable cause = ex.getCause().getCause(); + Truth.assertThat(cause).isInstanceOf(UnauthenticatedException.class); + Truth.assertThat(((UnauthenticatedException) cause).isChannelRefreshed()).isTrue(); + Truth.assertThat(fakeChannel.getRefreshCount()).isEqualTo(1); + } + + @Test + void testUnauthenticatedException_whenChannelRefreshFails_notFlagged() throws Exception { + AtomicInteger refreshCalls = new AtomicInteger(); + FakeChannel fakeChannel = + new FakeChannel() { + @Override + public void refresh() { + refreshCalls.incrementAndGet(); + throw new RuntimeException("Refresh failed"); + } + }; + fakeChannel.setShouldRefresh(true); + ApiCallContext context = + FakeCallContext.createDefault() + .withTransportChannel(FakeTransportChannel.create(fakeChannel)); + + ServerStreamingAttemptCallable callable = createCallable(context); + callable.start(); + + MockServerStreamingCall call = innerCallable.popLastCall(); + UnauthenticatedException unauthEx = + new UnauthenticatedException( + "cert expired", null, new FakeStatusCode(Code.UNAUTHENTICATED), false); + call.getController().getObserver().onError(unauthEx); + + ExecutionException ex = + assertThrows( + ExecutionException.class, + () -> fakeRetryingFuture.getAttemptResult().get(1, TimeUnit.SECONDS)); + Truth.assertThat(refreshCalls.get()).isEqualTo(1); + Truth.assertThat(ex.getCause()).isInstanceOf(ServerStreamingAttemptException.class); + Throwable cause = ex.getCause().getCause(); + Truth.assertThat(cause).isInstanceOf(UnauthenticatedException.class); + Truth.assertThat(((UnauthenticatedException) cause).isRetryable()).isFalse(); + Truth.assertThat(((UnauthenticatedException) cause).isChannelRefreshed()).isFalse(); + } + + @Test + void testUnauthenticated_generationAlreadyAdvanced_flaggedWithoutCheckingShouldRefresh() + throws Exception { + TransportChannel transportChannel = Mockito.mock(TransportChannel.class); + AtomicLong generation = new AtomicLong(0); + Mockito.when(transportChannel.getGeneration()).thenAnswer(inv -> generation.get()); + + ApiCallContext context = Mockito.mock(ApiCallContext.class); + Mockito.when(context.getTransportChannel()).thenReturn(transportChannel); + Mockito.when(context.getTracer()).thenReturn(BaseApiTracer.getInstance()); + Mockito.when(context.getTimeoutDuration()).thenReturn(Duration.ofHours(5)); + + resumptionStrategy = new MyStreamResumptionStrategy(); + ServerStreamingAttemptCallable callable = createCallable(context); + callable.start(); + + MockServerStreamingCall call = innerCallable.popLastCall(); + // Another request rotated the channel while this stream was open. + generation.incrementAndGet(); + call.getController() + .getObserver() + .onError( + new UnauthenticatedException( + "cert expired", null, new FakeStatusCode(Code.UNAUTHENTICATED), false)); + + ExecutionException ex = + assertThrows( + ExecutionException.class, + () -> fakeRetryingFuture.getAttemptResult().get(1, TimeUnit.SECONDS)); + Throwable cause = ex.getCause().getCause(); + Truth.assertThat(cause).isInstanceOf(UnauthenticatedException.class); + Truth.assertThat(((UnauthenticatedException) cause).isChannelRefreshed()).isTrue(); + Mockito.verify(transportChannel, Mockito.never()).shouldRefresh(); + Mockito.verify(transportChannel, Mockito.never()).refresh(); + } + + @Test + void testUnauthenticated_shouldRefreshThrows_originalErrorPreserved() throws Exception { + FakeChannel fakeChannel = + new FakeChannel() { + @Override + public boolean shouldRefresh() { + throw new IllegalStateException("Unable to read certificate"); + } + }; + ApiCallContext context = + FakeCallContext.createDefault() + .withTransportChannel(FakeTransportChannel.create(fakeChannel)); + + ServerStreamingAttemptCallable callable = createCallable(context); + callable.start(); + + MockServerStreamingCall call = innerCallable.popLastCall(); + UnauthenticatedException unauthEx = + new UnauthenticatedException( + "cert expired", null, new FakeStatusCode(Code.UNAUTHENTICATED), false); + call.getController().getObserver().onError(unauthEx); + + ExecutionException ex = + assertThrows( + ExecutionException.class, + () -> fakeRetryingFuture.getAttemptResult().get(1, TimeUnit.SECONDS)); + Truth.assertThat(ex.getCause()).isInstanceOf(ServerStreamingAttemptException.class); + Truth.assertThat(ex.getCause().getCause()).isSameInstanceAs(unauthEx); + Truth.assertThat(unauthEx.isChannelRefreshed()).isFalse(); + Truth.assertThat(fakeChannel.getRefreshCount()).isEqualTo(0); + } + static class MyStreamResumptionStrategy implements StreamResumptionStrategy { private int responseCount; diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/StreamingCallableTest.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/StreamingCallableTest.java index 6f9584826893..92d2b3a9cc8e 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/StreamingCallableTest.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/StreamingCallableTest.java @@ -29,6 +29,7 @@ */ package com.google.api.gax.rpc; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertSame; import static org.mockito.Mockito.mock; @@ -129,7 +130,7 @@ void testClientStreamingCall() { ClientStreamingCallable callable = stashCallable.withDefaultCallContext(defaultCallContext); callable.clientStreamingCall(observer); - assertSame(observer, stashCallable.getActualObserver()); + assertNotNull(stashCallable.getActualObserver()); assertSame(defaultCallContext, stashCallable.getContext()); } @@ -158,7 +159,7 @@ void testClientStreamingCallWithContext() { ClientStreamingCallable callable = stashCallable.withDefaultCallContext(FakeCallContext.createDefault()); callable.clientStreamingCall(observer, context); - assertSame(observer, stashCallable.getActualObserver()); + assertNotNull(stashCallable.getActualObserver()); FakeCallContext actualContext = (FakeCallContext) stashCallable.getContext(); assertSame(channel, actualContext.getChannel()); assertSame(credentials, actualContext.getCredentials()); diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/UnauthenticatedExceptionTest.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/UnauthenticatedExceptionTest.java new file mode 100644 index 000000000000..083de5286277 --- /dev/null +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/UnauthenticatedExceptionTest.java @@ -0,0 +1,183 @@ +/* + * Copyright 2026 Google LLC + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google LLC nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.google.api.gax.rpc; + +import static com.google.common.truth.Truth.assertThat; + +import com.google.api.gax.rpc.testing.FakeStatusCode; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.ObjectStreamClass; +import java.io.Serializable; +import java.util.Base64; +import java.util.Collections; +import org.junit.jupiter.api.Test; + +class UnauthenticatedExceptionTest { + + /** + * An {@link UnauthenticatedException} with message "serialized by released gax", no cause, an + * empty stack trace, retryable {@code true} and a {@link SerializableStatusCode} of + * UNAUTHENTICATED, Java-serialized with the released gax 2.87.0 jar. + */ + private static final String SERIALIZED_BY_GAX_2_87_0 = + "rO0ABXNyAC9jb20uZ29vZ2xlLmFwaS5nYXgucnBjLlVuYXV0aGVudGljYXRlZEV4Y2VwdGlvbmC+YDhKxcJlAgAAeHIAI2NvbS5nb29nbGUuYXBpLmdheC5ycGMuQXBpRXhjZXB0aW9uw0h4sCzSVFQCAANaAAlyZXRyeWFibGVMAAxlcnJvckRldGFpbHN0ACVMY29tL2dvb2dsZS9hcGkvZ2F4L3JwYy9FcnJvckRldGFpbHM7TAAKc3RhdHVzQ29kZXQAI0xjb20vZ29vZ2xlL2FwaS9nYXgvcnBjL1N0YXR1c0NvZGU7eHIAGmphdmEubGFuZy5SdW50aW1lRXhjZXB0aW9unl8GRwo0g+UCAAB4cgATamF2YS5sYW5nLkV4Y2VwdGlvbtD9Hz4aOxzEAgAAeHIAE2phdmEubGFuZy5UaHJvd2FibGXVxjUnOXe4ywMABEwABWNhdXNldAAVTGphdmEvbGFuZy9UaHJvd2FibGU7TAANZGV0YWlsTWVzc2FnZXQAEkxqYXZhL2xhbmcvU3RyaW5nO1sACnN0YWNrVHJhY2V0AB5bTGphdmEvbGFuZy9TdGFja1RyYWNlRWxlbWVudDtMABRzdXBwcmVzc2VkRXhjZXB0aW9uc3QAEExqYXZhL3V0aWwvTGlzdDt4cHB0ABpzZXJpYWxpemVkIGJ5IHJlbGVhc2VkIGdheHVyAB5bTGphdmEubGFuZy5TdGFja1RyYWNlRWxlbWVudDsCRio8PP0iOQIAAHhwAAAAAHNyAB9qYXZhLnV0aWwuQ29sbGVjdGlvbnMkRW1wdHlMaXN0ergXtDynnt4CAAB4cHgBcHNyAEpjb20uZ29vZ2xlLmFwaS5nYXgucnBjLlVuYXV0aGVudGljYXRlZEV4Y2VwdGlvblRlc3QkU2VyaWFsaXphYmxlU3RhdHVzQ29kZQAAAAAAAAABAgABTAAEY29kZXQAKExjb20vZ29vZ2xlL2FwaS9nYXgvcnBjL1N0YXR1c0NvZGUkQ29kZTt4cH5yACZjb20uZ29vZ2xlLmFwaS5nYXgucnBjLlN0YXR1c0NvZGUkQ29kZQAAAAAAAAAAEgAAeHIADmphdmEubGFuZy5FbnVtAAAAAAAAAAASAAB4cHQAD1VOQVVUSEVOVElDQVRFRA=="; + + /** A serializable {@link StatusCode}, since the transport implementations are not. */ + static final class SerializableStatusCode implements StatusCode, Serializable { + private static final long serialVersionUID = 1L; + private final Code code; + + SerializableStatusCode(Code code) { + this.code = code; + } + + @Override + public Code getCode() { + return code; + } + + @Override + public Object getTransportCode() { + return code.name(); + } + } + + @Test + void publicConstructors_areNotChannelRefreshed() { + StatusCode statusCode = FakeStatusCode.of(StatusCode.Code.UNAUTHENTICATED); + ErrorDetails errorDetails = + ErrorDetails.builder().setRawErrorMessages(Collections.emptyList()).build(); + + assertThat(new UnauthenticatedException(null, statusCode, true).isChannelRefreshed()).isFalse(); + assertThat(new UnauthenticatedException("msg", null, statusCode, true).isChannelRefreshed()) + .isFalse(); + assertThat( + new UnauthenticatedException(null, statusCode, true, errorDetails).isChannelRefreshed()) + .isFalse(); + assertThat( + new UnauthenticatedException("msg", null, statusCode, true, errorDetails) + .isChannelRefreshed()) + .isFalse(); + } + + @Test + void withChannelRefreshed_preservesFields() { + ErrorDetails errorDetails = + ErrorDetails.builder().setRawErrorMessages(Collections.emptyList()).build(); + IllegalStateException cause = new IllegalStateException("root cause"); + StatusCode statusCode = FakeStatusCode.of(StatusCode.Code.UNAUTHENTICATED); + UnauthenticatedException original = + new UnauthenticatedException("Expired cert", cause, statusCode, false, errorDetails); + original.setStackTrace( + new StackTraceElement[] {new StackTraceElement("foo", "bar", "Baz.java", 123)}); + RuntimeException suppressed = new RuntimeException("suppressed"); + original.addSuppressed(suppressed); + + UnauthenticatedException refreshed = original.withChannelRefreshed(); + + assertThat(refreshed).isNotSameInstanceAs(original); + assertThat(refreshed.isChannelRefreshed()).isTrue(); + assertThat(original.isChannelRefreshed()).isFalse(); + assertThat(refreshed.getMessage()).isEqualTo(original.getMessage()); + assertThat(refreshed.getCause()).isSameInstanceAs(cause); + assertThat(refreshed.getStatusCode()).isSameInstanceAs(statusCode); + assertThat(refreshed.getErrorDetails()).isSameInstanceAs(errorDetails); + assertThat(refreshed.getStackTrace()).isEqualTo(original.getStackTrace()); + assertThat(refreshed.getSuppressed()).asList().containsExactly(suppressed); + } + + @Test + void withChannelRefreshed_keepsIsRetryable() { + StatusCode statusCode = FakeStatusCode.of(StatusCode.Code.UNAUTHENTICATED); + + assertThat( + new UnauthenticatedException("msg", null, statusCode, false) + .withChannelRefreshed() + .isRetryable()) + .isFalse(); + assertThat( + new UnauthenticatedException("msg", null, statusCode, true) + .withChannelRefreshed() + .isRetryable()) + .isTrue(); + } + + @Test + void serialVersionUID_matchesReleasedValue() { + // gax 2.83.0 to 2.87.0 did not declare a serialVersionUID; this is the value the JVM computed + // for them. Keeping it avoids InvalidClassException across versions. + assertThat(ObjectStreamClass.lookup(UnauthenticatedException.class).getSerialVersionUID()) + .isEqualTo(6971115068105015909L); + } + + @Test + void deserializesExceptionSerializedByReleasedGax() throws Exception { + Object deserialized = deserialize(Base64.getDecoder().decode(SERIALIZED_BY_GAX_2_87_0)); + + assertThat(deserialized).isInstanceOf(UnauthenticatedException.class); + UnauthenticatedException ex = (UnauthenticatedException) deserialized; + assertThat(ex.getMessage()).isEqualTo("serialized by released gax"); + assertThat(ex.getStatusCode().getCode()).isEqualTo(StatusCode.Code.UNAUTHENTICATED); + assertThat(ex.isRetryable()).isTrue(); + assertThat(ex.isChannelRefreshed()).isFalse(); + } + + @Test + void withChannelRefreshed_flagNotSerialized() throws Exception { + UnauthenticatedException refreshed = + new UnauthenticatedException( + "msg", null, new SerializableStatusCode(StatusCode.Code.UNAUTHENTICATED), false) + .withChannelRefreshed(); + + UnauthenticatedException roundTripped = + (UnauthenticatedException) deserialize(serialize(refreshed)); + + assertThat(roundTripped.getMessage()).isEqualTo("msg"); + assertThat(roundTripped.isRetryable()).isFalse(); + assertThat(roundTripped.isChannelRefreshed()).isFalse(); + } + + private static byte[] serialize(Object object) throws Exception { + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + try (ObjectOutputStream out = new ObjectOutputStream(bytes)) { + out.writeObject(object); + } + return bytes.toByteArray(); + } + + private static Object deserialize(byte[] bytes) throws Exception { + try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes))) { + return in.readObject(); + } + } +} diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/mtls/AbstractMtlsTransportChannelTest.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/mtls/AbstractMtlsTransportChannelTest.java index bea4674b765b..3bdfcc7c1ab6 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/mtls/AbstractMtlsTransportChannelTest.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/mtls/AbstractMtlsTransportChannelTest.java @@ -40,6 +40,7 @@ import java.io.IOException; import java.security.GeneralSecurityException; import org.junit.jupiter.api.Test; +import org.mockito.Mockito; public abstract class AbstractMtlsTransportChannelTest { /** @@ -63,9 +64,10 @@ void testNotUseClientCertificate() throws IOException, GeneralSecurityException @Test void testUseClientCertificate() throws IOException, GeneralSecurityException { - CertificateBasedAccess certificateBasedAccess = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_MTLS_ENDPOINT") ? "auto" : "true"); + CertificateBasedAccess certificateBasedAccess = Mockito.mock(CertificateBasedAccess.class); + Mockito.when(certificateBasedAccess.getMtlsEndpointUsagePolicy()) + .thenReturn(CertificateBasedAccess.MtlsEndpointUsagePolicy.AUTO); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); MtlsProvider provider = new FakeMtlsProvider(FakeMtlsProvider.createTestMtlsKeyStore(), "", false); assertNotNull(getMtlsObjectFromTransportChannel(provider, certificateBasedAccess)); @@ -73,9 +75,10 @@ void testUseClientCertificate() throws IOException, GeneralSecurityException { @Test void testNoClientCertificate() throws IOException, GeneralSecurityException { - CertificateBasedAccess certificateBasedAccess = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_MTLS_ENDPOINT") ? "auto" : "true"); + CertificateBasedAccess certificateBasedAccess = Mockito.mock(CertificateBasedAccess.class); + Mockito.when(certificateBasedAccess.getMtlsEndpointUsagePolicy()) + .thenReturn(CertificateBasedAccess.MtlsEndpointUsagePolicy.AUTO); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); MtlsProvider provider = new FakeMtlsProvider(null, "", false); assertNull(getMtlsObjectFromTransportChannel(provider, certificateBasedAccess)); } @@ -83,9 +86,10 @@ void testNoClientCertificate() throws IOException, GeneralSecurityException { @Test void testGetKeyStoreThrows() throws GeneralSecurityException { // Test the case where provider.getKeyStore() throws. - CertificateBasedAccess certificateBasedAccess = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_MTLS_ENDPOINT") ? "auto" : "true"); + CertificateBasedAccess certificateBasedAccess = Mockito.mock(CertificateBasedAccess.class); + Mockito.when(certificateBasedAccess.getMtlsEndpointUsagePolicy()) + .thenReturn(CertificateBasedAccess.MtlsEndpointUsagePolicy.AUTO); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); MtlsProvider provider = new FakeMtlsProvider(null, "", true); IOException actual = assertThrows( diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/mtls/CertificateBasedAccessTest.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/mtls/CertificateBasedAccessTest.java index e328e0af4799..44c23ce2c9b5 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/mtls/CertificateBasedAccessTest.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/mtls/CertificateBasedAccessTest.java @@ -32,52 +32,133 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; +import java.io.File; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.util.HashMap; +import java.util.Map; import org.junit.jupiter.api.Test; class CertificateBasedAccessTest { + private static class TestEnv { + private final Map env = new HashMap<>(); + + TestEnv() { + // Hermetically isolate tests from the host's ~/.config/gcloud/certificate_config.json + env.put("CLOUDSDK_CONFIG", "/nonexistent/test/gcloud"); + } + + void set(String key, String val) { + env.put(key, val); + } + + String get(String name) { + return env.get(name); + } + } + + private CertificateBasedAccess createCba(TestEnv env) { + return new CertificateBasedAccess(env::get); + } + @Test void testUseMtlsEndpointAlways() { - CertificateBasedAccess cba = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_MTLS_ENDPOINT") ? "always" : "false"); + TestEnv env = new TestEnv(); + env.set("GOOGLE_API_USE_MTLS_ENDPOINT", "always"); + CertificateBasedAccess cba = createCba(env); assertEquals( CertificateBasedAccess.MtlsEndpointUsagePolicy.ALWAYS, cba.getMtlsEndpointUsagePolicy()); } @Test void testUseMtlsEndpointAuto() { - CertificateBasedAccess cba = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_MTLS_ENDPOINT") ? "auto" : "false"); + TestEnv env = new TestEnv(); + env.set("GOOGLE_API_USE_MTLS_ENDPOINT", "auto"); + CertificateBasedAccess cba = createCba(env); assertEquals( CertificateBasedAccess.MtlsEndpointUsagePolicy.AUTO, cba.getMtlsEndpointUsagePolicy()); } @Test void testUseMtlsEndpointNever() { - CertificateBasedAccess cba = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_MTLS_ENDPOINT") ? "never" : "false"); + TestEnv env = new TestEnv(); + env.set("GOOGLE_API_USE_MTLS_ENDPOINT", "never"); + CertificateBasedAccess cba = createCba(env); + assertEquals( + CertificateBasedAccess.MtlsEndpointUsagePolicy.NEVER, cba.getMtlsEndpointUsagePolicy()); + } + + @Test + void testUseMtlsEndpointCaseInsensitive() { + TestEnv env = new TestEnv(); + env.set("GOOGLE_API_USE_MTLS_ENDPOINT", "ALWAYS"); + CertificateBasedAccess cba = createCba(env); + assertEquals( + CertificateBasedAccess.MtlsEndpointUsagePolicy.ALWAYS, cba.getMtlsEndpointUsagePolicy()); + + env.set("GOOGLE_API_USE_MTLS_ENDPOINT", "NEVER"); assertEquals( CertificateBasedAccess.MtlsEndpointUsagePolicy.NEVER, cba.getMtlsEndpointUsagePolicy()); } @Test - void testUseMtlsClientCertificateTrue() { - CertificateBasedAccess cba = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_CLIENT_CERTIFICATE") ? "true" : "auto"); + void testUseMtlsClientCertificateExplicitTrueNoCredentials() { + TestEnv env = new TestEnv(); + env.set("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + CertificateBasedAccess cba = createCba(env); + // Explicit 'true' enables mTLS client certificate usage (for ECP / custom MtlsProvider) even + // when no workload cert files are present, while getWorkloadCertPath returns null so file + // rotation polling is not active. assertTrue(cba.useMtlsClientCertificate()); + assertNull(cba.getWorkloadCertPath()); } @Test - void testUseMtlsClientCertificateFalse() { - CertificateBasedAccess cba = - new CertificateBasedAccess( - name -> name.equals("GOOGLE_API_USE_CLIENT_CERTIFICATE") ? "false" : "auto"); + void testUseMtlsClientCertificateExplicitFalse() { + TestEnv env = new TestEnv(); + env.set("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false"); + + CertificateBasedAccess cba = createCba(env); + assertFalse(cba.useMtlsClientCertificate()); + assertNull(cba.getWorkloadCertPath()); + } + + @Test + void testUseMtlsClientCertificateUnsetNoFiles() { + TestEnv env = new TestEnv(); + CertificateBasedAccess cba = createCba(env); assertFalse(cba.useMtlsClientCertificate()); + assertNull(cba.getWorkloadCertPath()); + } + + @Test + void testUseMtlsClientCertificateConfigMissingConfigFile_throwsIllegalStateException() { + TestEnv env = new TestEnv(); + env.set("GOOGLE_API_CERTIFICATE_CONFIG", "/nonexistent/config.json"); + + CertificateBasedAccess cba = createCba(env); + + // Non-existent config file on disk specified via explicit env var throws IllegalStateException + // (Fail Closed) + assertThrows(IllegalStateException.class, () -> cba.useMtlsClientCertificate()); + assertThrows(IllegalStateException.class, () -> cba.getWorkloadCertPath()); + } + + @Test + void testWorkloadCertificateUtilsEmptyFileReturnsEmptyString() throws Exception { + File tempFile = File.createTempFile("test-cert-empty", ".pem"); + tempFile.deleteOnExit(); + // 0-byte truncated file mid-write should return empty string rather than SHA-256 of empty bytes + assertEquals( + "", WorkloadCertificateUtils.getCertificateFingerprint(tempFile.getAbsolutePath())); + + Files.write(tempFile.toPath(), "test-cert-content".getBytes(StandardCharsets.UTF_8)); + String fp = WorkloadCertificateUtils.getCertificateFingerprint(tempFile.getAbsolutePath()); + assertFalse(fp.isEmpty()); } } diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/mtls/CertificateRotationTrackerTest.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/mtls/CertificateRotationTrackerTest.java new file mode 100644 index 000000000000..f1fe388039b9 --- /dev/null +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/mtls/CertificateRotationTrackerTest.java @@ -0,0 +1,345 @@ +/* + * Copyright 2026 Google LLC + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google LLC nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.google.api.gax.rpc.mtls; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Function; +import org.junit.jupiter.api.Test; + +class CertificateRotationTrackerTest { + + private static final String CERT_PATH = "/fake/cert/path"; + + /** Fingerprint reader backed by {@link #fingerprint} that counts disk reads. */ + private final AtomicReference fingerprint = new AtomicReference<>("F1"); + + private final AtomicInteger reads = new AtomicInteger(); + private final Function reader = + path -> { + assertEquals(CERT_PATH, path); + reads.incrementAndGet(); + return fingerprint.get(); + }; + + private CertificateRotationTracker newTracker() { + return new CertificateRotationTracker(() -> CERT_PATH, reader); + } + + @Test + void constructor_readsBaselineFingerprint() { + CertificateRotationTracker tracker = newTracker(); + + assertEquals("F1", tracker.getActiveCertFingerprint()); + assertEquals(1, reads.get()); + } + + @Test + void constructor_withoutCertPath_hasEmptyFingerprintAndNeverReadsDisk() { + CertificateRotationTracker tracker = new CertificateRotationTracker(() -> null, reader); + + assertEquals("", tracker.getActiveCertFingerprint()); + assertFalse(tracker.shouldRefresh()); + assertEquals("", tracker.readDiskFingerprint()); + assertEquals(0, reads.get()); + } + + @Test + void constructor_withUnreadableCert_hasEmptyFingerprint() { + fingerprint.set(null); + + assertEquals("", newTracker().getActiveCertFingerprint()); + } + + @Test + void shouldRefresh_whenCertUnchanged_returnsFalse() { + assertFalse(newTracker().shouldRefresh()); + } + + @Test + void shouldRefresh_whenCertChanged_returnsTrue() { + CertificateRotationTracker tracker = newTracker(); + fingerprint.set("F2"); + + assertTrue(tracker.shouldRefresh()); + } + + @Test + void shouldRefresh_comparesFingerprintsCaseInsensitively() { + fingerprint.set("abcdef"); + CertificateRotationTracker tracker = newTracker(); + fingerprint.set("ABCDEF"); + + assertFalse(tracker.shouldRefresh()); + } + + @Test + void shouldRefresh_whenCertUnreadable_returnsFalse() { + CertificateRotationTracker tracker = newTracker(); + fingerprint.set(""); + + assertFalse(tracker.shouldRefresh()); + } + + @Test + void shouldRefresh_cachesDetectedRotation() { + CertificateRotationTracker tracker = newTracker(); + fingerprint.set("F2"); + + assertTrue(tracker.shouldRefresh()); + assertTrue(tracker.shouldRefresh()); + // One baseline read plus one disk check; the second call is served from the cache. + assertEquals(2, reads.get()); + } + + @Test + void shouldRefresh_doesNotCacheUnchangedResult() { + CertificateRotationTracker tracker = newTracker(); + + assertFalse(tracker.shouldRefresh()); + fingerprint.set("F2"); + + // The rotation is detected immediately rather than after a cache TTL. + assertTrue(tracker.shouldRefresh()); + assertEquals(3, reads.get()); + } + + @Test + void readDiskFingerprint_bypassesCache() { + CertificateRotationTracker tracker = newTracker(); + fingerprint.set("F2"); + assertTrue(tracker.shouldRefresh()); + fingerprint.set("F3"); + + assertEquals("F3", tracker.readDiskFingerprint()); + } + + @Test + void readDiskFingerprint_whenCertUnreadable_returnsEmpty() { + CertificateRotationTracker tracker = newTracker(); + fingerprint.set(null); + + assertEquals("", tracker.readDiskFingerprint()); + } + + @Test + void markRefreshed_updatesActiveFingerprintAndClearsCachedRotation() { + CertificateRotationTracker tracker = newTracker(); + fingerprint.set("F2"); + assertTrue(tracker.shouldRefresh()); + + tracker.markRefreshed("F2"); + + assertEquals("F2", tracker.getActiveCertFingerprint()); + assertTrue(tracker.isAlreadyActive("F2")); + assertFalse(tracker.shouldRefresh()); + } + + @Test + void markRefreshed_ignoresNullAndEmptyFingerprints() { + CertificateRotationTracker tracker = newTracker(); + + tracker.markRefreshed(null); + tracker.markRefreshed(""); + + assertEquals("F1", tracker.getActiveCertFingerprint()); + } + + @Test + void isAlreadyActive_matchesActiveFingerprintCaseInsensitively() { + fingerprint.set("abcdef"); + CertificateRotationTracker tracker = newTracker(); + + assertTrue(tracker.isAlreadyActive("abcdef")); + assertTrue(tracker.isAlreadyActive("ABCDEF")); + assertFalse(tracker.isAlreadyActive("other")); + assertFalse(tracker.isAlreadyActive(null)); + } + + @Test + void invalidateCache_forcesNextCheckToReadDisk() { + CertificateRotationTracker tracker = newTracker(); + fingerprint.set("F2"); + assertTrue(tracker.shouldRefresh()); + // The certificate is rolled back while the rotation is cached. + fingerprint.set("F1"); + assertTrue(tracker.shouldRefresh()); + + tracker.invalidateCache(); + + assertFalse(tracker.shouldRefresh()); + } + + @Test + void shouldRefresh_rereadsDiskOnceCachedRotationExpires() throws InterruptedException { + CertificateRotationTracker tracker = newTracker(); + fingerprint.set("F2"); + assertTrue(tracker.shouldRefresh()); + // The certificate becomes unreadable while the rotation is cached; the cached rotation is + // still reported until it expires. + fingerprint.set(""); + assertTrue(tracker.shouldRefresh()); + + // Wait past the 1 second cache TTL. + Thread.sleep(1100); + + // The expired entry is not used: the disk is read again, and an unreadable certificate is not + // reported as a rotation. + assertFalse(tracker.shouldRefresh()); + fingerprint.set("F1"); + assertFalse(tracker.shouldRefresh()); + } + + @Test + void shouldRefresh_whenCertBecomesReadableAfterUnreadableBaseline_detectsRotation() { + // For example, the certificate had not been written yet when the channel was created. + fingerprint.set(""); + CertificateRotationTracker tracker = newTracker(); + assertEquals("", tracker.getActiveCertFingerprint()); + assertFalse(tracker.shouldRefresh()); + + fingerprint.set("F1"); + + assertTrue(tracker.shouldRefresh()); + tracker.markRefreshed("F1"); + assertFalse(tracker.shouldRefresh()); + } + + @Test + void stringConstructor_withNullOrMissingCert_hasEmptyFingerprintAndNoRotation() { + for (String certPath : new String[] {null, "/nonexistent/workload-cert.pem"}) { + CertificateRotationTracker tracker = new CertificateRotationTracker(certPath); + + assertEquals("", tracker.getActiveCertFingerprint()); + assertEquals("", tracker.readDiskFingerprint()); + assertFalse(tracker.shouldRefresh()); + } + } + + /** + * Creates a tracker whose first disk check after the constructor's baseline read blocks, after + * reading the current fingerprint, until {@code releaseRead} is counted down. + */ + private CertificateRotationTracker newTrackerWithBlockingDiskCheck( + CountDownLatch readStarted, CountDownLatch releaseRead) { + return new CertificateRotationTracker( + () -> CERT_PATH, + path -> { + String read = reader.apply(path); + if (reads.get() == 2) { + readStarted.countDown(); + try { + releaseRead.await(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + return read; + }); + } + + /** Waits until {@code thread} is parked waiting for a lock, or has finished. */ + private static void awaitWaitingOrTerminated(Thread thread) throws InterruptedException { + long deadline = System.nanoTime() + TimeUnit.SECONDS.toNanos(5); + while (thread.getState() != Thread.State.WAITING + && thread.getState() != Thread.State.TERMINATED) { + assertTrue(System.nanoTime() < deadline); + Thread.sleep(1); + } + } + + @Test + void shouldRefresh_concurrentCallersShareOneDiskReadOfRotation() throws Exception { + CountDownLatch readStarted = new CountDownLatch(1); + CountDownLatch releaseRead = new CountDownLatch(1); + CertificateRotationTracker tracker = newTrackerWithBlockingDiskCheck(readStarted, releaseRead); + fingerprint.set("F2"); + AtomicReference firstResult = new AtomicReference<>(); + AtomicReference secondResult = new AtomicReference<>(); + + Thread first = new Thread(() -> firstResult.set(tracker.shouldRefresh())); + Thread second = new Thread(() -> secondResult.set(tracker.shouldRefresh())); + try { + first.start(); + assertTrue(readStarted.await(5, TimeUnit.SECONDS)); + // Another failing RPC checks for a rotation while the first disk check is in progress. + second.start(); + awaitWaitingOrTerminated(second); + } finally { + releaseRead.countDown(); + } + first.join(5000); + second.join(5000); + assertFalse(first.isAlive()); + assertFalse(second.isAlive()); + + assertEquals(Boolean.TRUE, firstResult.get()); + assertEquals(Boolean.TRUE, secondResult.get()); + // One baseline read plus a single disk check shared by both callers. + assertEquals(2, reads.get()); + } + + @Test + void markRefreshed_duringInProgressDiskCheck_doesNotLeaveStaleCachedFingerprint() + throws Exception { + CountDownLatch readStarted = new CountDownLatch(1); + CountDownLatch releaseRead = new CountDownLatch(1); + CertificateRotationTracker tracker = newTrackerWithBlockingDiskCheck(readStarted, releaseRead); + + Thread diskCheckThread = new Thread(tracker::shouldRefresh); + Thread markThread = new Thread(() -> tracker.markRefreshed("F2")); + try { + diskCheckThread.start(); + assertTrue(readStarted.await(5, TimeUnit.SECONDS)); + // The certificate rotates and a refresh switches to it while the disk check that read the + // old certificate is still in progress. + fingerprint.set("F2"); + markThread.start(); + awaitWaitingOrTerminated(markThread); + } finally { + releaseRead.countDown(); + } + diskCheckThread.join(5000); + markThread.join(5000); + assertFalse(diskCheckThread.isAlive()); + assertFalse(markThread.isAlive()); + + // The old fingerprint read by the in-progress check must not be left in the cache, where it + // would make shouldRefresh() report a rotation that has already been handled. + assertEquals("F2", tracker.getActiveCertFingerprint()); + assertFalse(tracker.shouldRefresh()); + } +} diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeCallContext.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeCallContext.java index 1cdefe435d55..e41dc041220d 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeCallContext.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeCallContext.java @@ -241,6 +241,11 @@ public FakeChannel getChannel() { return channel; } + @Override + public TransportChannel getTransportChannel() { + return channel != null ? FakeTransportChannel.create(channel) : null; + } + @Override public java.time.Duration getTimeoutDuration() { return timeout; diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeChannel.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeChannel.java index b725da363b3b..9acfc703b9c3 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeChannel.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeChannel.java @@ -32,4 +32,36 @@ import com.google.api.core.InternalApi; @InternalApi("for testing") -public class FakeChannel {} +public class FakeChannel { + private volatile boolean shouldRefresh = false; + private volatile int refreshCount = 0; + + public FakeChannel setShouldRefresh(boolean shouldRefresh) { + this.shouldRefresh = shouldRefresh; + return this; + } + + public boolean shouldRefresh() { + return shouldRefresh; + } + + public void refresh() { + refreshCount++; + generation++; + } + + public int getRefreshCount() { + return refreshCount; + } + + private volatile long generation = 0; + + public FakeChannel setGeneration(long generation) { + this.generation = generation; + return this; + } + + public long getGeneration() { + return generation; + } +} diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeTransportChannel.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeTransportChannel.java index 0d4abac8f1c6..7d92556b88d5 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeTransportChannel.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeTransportChannel.java @@ -41,6 +41,48 @@ public class FakeTransportChannel implements TransportChannel { private volatile boolean isShutdown = false; private volatile Map headers; private volatile Executor executor; + private volatile boolean shouldRefresh = false; + private volatile int refreshCount = 0; + + public FakeTransportChannel setShouldRefresh(boolean shouldRefresh) { + if (channel != null) { + channel.setShouldRefresh(shouldRefresh); + } + this.shouldRefresh = shouldRefresh; + return this; + } + + @Override + public boolean shouldRefresh() { + return channel != null ? channel.shouldRefresh() : shouldRefresh; + } + + @Override + public void refresh() { + if (channel != null) { + channel.refresh(); + } + refreshCount++; + } + + public int getRefreshCount() { + return channel != null ? channel.getRefreshCount() : refreshCount; + } + + private volatile long generation = 0; + + public FakeTransportChannel setGeneration(long generation) { + if (channel != null) { + channel.setGeneration(generation); + } + this.generation = generation; + return this; + } + + @Override + public long getGeneration() { + return channel != null ? channel.getGeneration() : generation; + } private FakeTransportChannel(FakeChannel channel) { this.channel = channel; From 6f8311e00adb5a1e99e7113203a269db654df372 Mon Sep 17 00:00:00 2001 From: macastelaz <34776182+macastelaz@users.noreply.github.com> Date: Tue, 6 Oct 2026 12:01:09 -0500 Subject: [PATCH 04/12] fix(bigquery): remove duplicate test dependencies from google-cloud-bigquery pom (#14587) ## Why Every PR into `agentic-identities-bound-token` is currently failing CI (for example #14559 and #14557, about 35 jobs each) with: ``` [ERROR] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: com.google.cloud:google-cloud-storage:jar -> duplicate declaration of version (?) [ERROR] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: com.google.cloud:google-cloud-datacatalog:jar -> duplicate declaration of version 1.102.0-SNAPSHOT [ERROR] The build could not read 1 project ``` `java-bigquery/google-cloud-bigquery/pom.xml` declares `google-cloud-storage` and `google-cloud-datacatalog` twice in ``. This has been the case for a while, but Maven 3.9 only logged a `[WARNING]`. The GitHub `ubuntu-24.04` runner image `20261004` upgraded Maven from 3.9.16 to 3.10.0, which treats it as an error, so any job that loads the reactor now fails immediately. ## Change Remove the second declaration of each dependency (11 lines, one file): - `google-cloud-storage`: drops the later test-scoped entry. This is the same change as #14586 on `main`. - `google-cloud-datacatalog`: drops the second, identical test-scoped entry. `main` no longer has this dependency in this pom, so #14586 doesn't need it. ## Verification - `mvn help:effective-pom` on the module before and after: the effective `` section is identical. `google-cloud-storage` stays test-scoped because the parent's `dependencyManagement` sets `test`, and the two datacatalog entries were identical. - Each artifact now appears once in ``; the pom parses as valid XML. --- java-bigquery/google-cloud-bigquery/pom.xml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/java-bigquery/google-cloud-bigquery/pom.xml b/java-bigquery/google-cloud-bigquery/pom.xml index 2c5fc8df4e8d..12416367a130 100644 --- a/java-bigquery/google-cloud-bigquery/pom.xml +++ b/java-bigquery/google-cloud-bigquery/pom.xml @@ -162,11 +162,6 @@ test 2.98.0-SNAPSHOT - - com.google.cloud - google-cloud-storage - test - org.junit.jupiter junit-jupiter-api @@ -192,12 +187,6 @@ mockito-core test - - com.google.cloud - google-cloud-datacatalog - test - 1.102.0-SNAPSHOT - com.google.api.grpc proto-google-cloud-datacatalog-v1 From cf211ea98b8436ff67c2bb287ff87a020f7ad1fb Mon Sep 17 00:00:00 2001 From: macastelaz <34776182+macastelaz@users.noreply.github.com> Date: Wed, 7 Oct 2026 15:31:21 -0500 Subject: [PATCH 05/12] fix(gax-httpjson): use Conscrypt TrustManagerFactory for mTLS SSLContext (#14556) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit > [!IMPORTANT] > **This must merge before the `agentic-identities-bound-token` feature branch is merged to `main`.** Without it, HTTP/JSON clients fail by default wherever mTLS is enabled automatically (see below). ## Problem When mTLS is active, `InstantiatingHttpJsonChannelProvider.configureMtls()` builds a Conscrypt `SSLContext` but initializes it with the JDK (SunJSSE) PKIX `TrustManagerFactory`. On TLS 1.3, Conscrypt passes authType `"GENERIC"` to the trust manager. SunJSSE's end-entity checks reject that authType for server certificates that are CA-issued and carry a KeyUsage extension, which includes Google front ends. So every mTLS HTTP/JSON handshake fails with: ``` javax.net.ssl.SSLHandshakeException: Unknown authType: GENERIC Caused by: java.security.cert.CertificateException: Unknown authType: GENERIC ``` The bug is already on `main`, but there it only triggers when `GOOGLE_API_USE_CLIENT_CERTIFICATE=true` is set explicitly. On this feature branch, #13995 enables mTLS automatically whenever a workload certificate config is present, so on Cloud Run (agent identity) **every HTTP/JSON client fails by default**. gRPC isn't affected. The non-mTLS path isn't affected either, because google-http-client already pairs Conscrypt with a provider-matched trust manager there. A second provider mismatch shows up on JDK 26: the mTLS `SSLContext` also used the JDK's default (`SunX509`) `KeyManagerFactory`. Since JDK 26 ([JDK-8359956](https://bugs.openjdk.org/browse/JDK-8359956)), that key manager applies algorithm constraints to the client certificate. Called from a Conscrypt handshake, it rejects valid certificates (e.g. `SHA256withRSA`), so the client sends an empty certificate chain and the server aborts with `certificate_required`. ## Fix Use Conscrypt's own PKIX `TrustManagerFactory` (`TrustManagerFactory.getInstance("PKIX", conscryptProvider)`) for the mTLS `SSLContext`. I called the JDK API directly rather than `SslUtils.getPkixTrustManagerFactory(Provider)`, which only exists in google-http-client 2.2.0+. Likewise, use Conscrypt's own `KeyManagerFactory` (`KeyManagerFactory.getInstance("PKIX", conscryptProvider)`), so the trust manager and key manager both come from the same provider as the `SSLContext`. Conscrypt's trust manager loads the same default trust store as the JDK. Verified on JDK 21: 174 anchors in both, the same set, and both honor `-Djavax.net.ssl.trustStore` overrides identically. ## Testing - New `InstantiatingHttpJsonChannelProviderTls13Test`: a local JDK TLS 1.3 server presents a CA-issued leaf with KeyUsage and requires a client certificate. The test asserts that the transport completes the request and presents its client certificate. - Without the fix: fails with `Unknown authType: GENERIC`. - With the fix: passes. - Skips when Conscrypt native or TLS 1.3 is unavailable. - Full `gax-httpjson` suite on the current `agentic-identities-bound-token` (with #13995 merged): 194/194 pass on JDK 8, 11, 17, 21, 25 and 26. On JDK 26, the Tls13 test fails without the `KeyManagerFactory` change: the client sends an empty certificate chain and times out. - End-to-end with #13995's certificate-rotation support, on JDK 21 with Conscrypt active: 22 scenarios with real KMS and BigQuery Storage GAPIC clients against local mTLS servers, where the certificate rotates on disk. - With this fix: all 22 pass. That includes HTTP/JSON rotation, in-flight calls during refresh, and stress with `close()`. The refreshed transport still uses Conscrypt's socket factory. - Without this fix: every HTTP/JSON mTLS scenario fails with `Unknown authType: GENERIC`. Limiting the test server to TLS 1.2 makes the error go away, which confirms that the TLS 1.3 authType is the trigger. - Logs: https://paste.googleplex.com/5563956459077632 (with fix), https://paste.googleplex.com/5467233782988800 (without fix, JDK 21 set) - Live on Cloud Run (agent identity), combined #13873 + #13995 build, default env: | | gRPC | HTTP/JSON | |---|---|---| | Before | ✅ | ❌ `Unknown authType: GENERIC` | | After | ✅ | ✅ authenticated over mTLS with a bound token | --- .../gax-java/gax-httpjson/BUILD.bazel | 4 + .../InstantiatingHttpJsonChannelProvider.java | 24 +- ...atingHttpJsonChannelProviderTls13Test.java | 279 ++++++++++++++++++ .../google/api/gax/httpjson/tls13TestCa.pem | 19 ++ .../httpjson/tls13TestServerCertAndKey.pem | 48 +++ 5 files changed, 368 insertions(+), 6 deletions(-) create mode 100644 sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTls13Test.java create mode 100644 sdk-platform-java/gax-java/gax-httpjson/src/test/resources/com/google/api/gax/httpjson/tls13TestCa.pem create mode 100644 sdk-platform-java/gax-java/gax-httpjson/src/test/resources/com/google/api/gax/httpjson/tls13TestServerCertAndKey.pem diff --git a/sdk-platform-java/gax-java/gax-httpjson/BUILD.bazel b/sdk-platform-java/gax-java/gax-httpjson/BUILD.bazel index c4f78edb79a2..e97aedebabfd 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/BUILD.bazel +++ b/sdk-platform-java/gax-java/gax-httpjson/BUILD.bazel @@ -53,6 +53,10 @@ java_library( srcs = glob(["src/test/java/**/*.java"]), javacopts = _JAVA_COPTS, plugins = ["//:auto_value_plugin"], + resources = glob([ + "src/test/resources/com/google/api/gax/httpjson/tls13TestCa.pem", + "src/test/resources/com/google/api/gax/httpjson/tls13TestServerCertAndKey.pem", + ]), visibility = ["//visibility:public"], deps = [":gax_httpjson"] + _COMPILE_DEPS + _TEST_COMPILE_DEPS, ) diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java index 226c5a155feb..42360f65e959 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java @@ -53,7 +53,9 @@ import java.util.function.Supplier; import java.util.logging.Level; import java.util.logging.Logger; +import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManagerFactory; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -218,18 +220,28 @@ private NetHttpTransport.Builder configureMtls(NetHttpTransport.Builder builder) // Fall back to standard JDK JSSE if Conscrypt provider is unavailable return builder; } - // Explicitly initialize SSLContext with the Conscrypt provider so that the client certificate - // key managers - // and trust manager factory (TMF) are bound to Conscrypt's TLS implementation (supporting PQC - // key exchange). + // NetHttpTransport.Builder.trustCertificates() in google-http-client initializes with the + // default SunX509 KeyManagerFactory (via SslUtils.getDefaultKeyManagerFactory()), which is not + // supported by Conscrypt. Explicitly initialize SSLContext with the Conscrypt provider so that + // the client certificate key managers and trust manager factory (TMF) are bound to Conscrypt's + // TLS implementation (supporting PQC key exchange). SSLContext sslContext = SSLContext.getInstance("TLS", conscryptProvider); + // The TrustManagerFactory must come from the same provider as the SSLContext. On TLS 1.3, + // Conscrypt passes authType "GENERIC" to the trust manager, which the JDK (SunJSSE) PKIX + // trust manager rejects for CA-issued server certificates that carry a KeyUsage extension + // (e.g. Google front ends), failing the handshake with "Unknown authType: GENERIC". + // Conscrypt's trust manager loads the same default trust store as the JDK. + // The KeyManagerFactory must also come from Conscrypt: since JDK 26 (JDK-8359956) the JDK's + // SunX509 key manager applies algorithm constraints to the client certificate, and when called + // from a Conscrypt handshake it rejects valid certificates (e.g. SHA256withRSA), so no client + // certificate is sent. SslUtils.initSslContext( sslContext, null, - SslUtils.getPkixTrustManagerFactory(), + TrustManagerFactory.getInstance("PKIX", conscryptProvider), mtlsKeyStore, "", - SslUtils.getDefaultKeyManagerFactory()); + KeyManagerFactory.getInstance("PKIX", conscryptProvider)); builder.setSslSocketFactory(sslContext.getSocketFactory()); return builder; } diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTls13Test.java b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTls13Test.java new file mode 100644 index 000000000000..99bd98bb9fb6 --- /dev/null +++ b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTls13Test.java @@ -0,0 +1,279 @@ +/* + * Copyright 2026 Google LLC + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google LLC nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.google.api.gax.httpjson; + +import static com.google.common.truth.Truth.assertThat; + +import com.google.api.client.http.GenericUrl; +import com.google.api.client.http.HttpResponse; +import com.google.api.client.http.HttpTransport; +import com.google.api.client.util.SecurityUtils; +import com.google.api.gax.rpc.mtls.CertificateBasedAccess; +import com.google.api.gax.rpc.testing.FakeMtlsProvider; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.net.InetAddress; +import java.nio.charset.StandardCharsets; +import java.security.KeyStore; +import java.security.cert.CertificateFactory; +import java.security.cert.X509Certificate; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import javax.net.ssl.KeyManagerFactory; +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLServerSocket; +import javax.net.ssl.SSLSocket; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledIf; +import org.junit.jupiter.api.io.TempDir; +import org.mockito.Mockito; + +/** + * Handshake test for the Conscrypt-backed mTLS {@link HttpTransport} built by {@link + * InstantiatingHttpJsonChannelProvider}. + * + *

Regression test for "Unknown authType: GENERIC": on TLS 1.3, Conscrypt passes the authType + * {@code "GENERIC"} to its trust manager. If the trust manager comes from the JDK (SunJSSE) rather + * than Conscrypt, it rejects server certificates that are issued by a trusted CA and carry a + * KeyUsage extension (as Google front ends' certificates do), and every mTLS HTTP/JSON handshake + * fails. A self-signed server certificate that is itself the trust anchor does not reproduce the + * issue, so the server here presents a CA-issued leaf with KeyUsage. + * + *

The transport always uses the default trust store, so this test points {@code + * javax.net.ssl.trustStore} at a temporary store containing only the test CA, and restores the + * previous value afterwards. + */ +@EnabledIf( + value = "isConscryptAndTls13Available", + disabledReason = "Conscrypt native library or TLS 1.3 is unavailable on this platform") +class InstantiatingHttpJsonChannelProviderTls13Test { + + private static final String RESOURCE_DIR = "com/google/api/gax/httpjson/"; + private static final String TRUST_STORE_PROPERTY = "javax.net.ssl.trustStore"; + private static final String TRUST_STORE_PASSWORD_PROPERTY = "javax.net.ssl.trustStorePassword"; + private static final String TRUST_STORE_PASSWORD = "changeit"; + + @TempDir File tempDir; + + private String previousTrustStore; + private String previousTrustStorePassword; + private ExecutorService serverExecutor; + + /** Condition for {@link EnabledIf}; must be static because it is used at class level. */ + static boolean isConscryptAndTls13Available() { + return HttpJsonConscryptUtils.getConscryptProvider() != null && isTls13Supported(); + } + + @BeforeEach + void setUp() throws Exception { + previousTrustStore = System.getProperty(TRUST_STORE_PROPERTY); + previousTrustStorePassword = System.getProperty(TRUST_STORE_PASSWORD_PROPERTY); + File trustStoreFile = writeTrustStoreWithTestCa(); + System.setProperty(TRUST_STORE_PROPERTY, trustStoreFile.getAbsolutePath()); + System.setProperty(TRUST_STORE_PASSWORD_PROPERTY, TRUST_STORE_PASSWORD); + + serverExecutor = Executors.newSingleThreadExecutor(); + } + + @AfterEach + void tearDown() { + restoreProperty(TRUST_STORE_PROPERTY, previousTrustStore); + restoreProperty(TRUST_STORE_PASSWORD_PROPERTY, previousTrustStorePassword); + if (serverExecutor != null) { + serverExecutor.shutdownNow(); + } + } + + @Test + void createHttpTransport_withMtlsAndConscrypt_completesTls13HandshakeWithCaIssuedServerCert() + throws Exception { + CertificateBasedAccess certificateBasedAccess = Mockito.mock(CertificateBasedAccess.class); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + InstantiatingHttpJsonChannelProvider channelProvider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint("localhost:443") + .setMtlsProvider( + new FakeMtlsProvider(FakeMtlsProvider.createTestMtlsKeyStore(), "", false)) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + HttpTransport transport = channelProvider.createHttpTransport(); + assertThat(transport).isNotNull(); + + final SSLServerSocket serverSocket = createTls13ServerSocket(); + try { + Future clientCertificatePresented = + serverExecutor.submit(() -> serveSingleRequest(serverSocket)); + + HttpResponse response = + transport + .createRequestFactory() + .buildGetRequest( + new GenericUrl("https://localhost:" + serverSocket.getLocalPort() + "/")) + .execute(); + try { + assertThat(response.getStatusCode()).isEqualTo(200); + assertThat(response.parseAsString()).isEqualTo("ok"); + } finally { + response.disconnect(); + } + // execute() is synchronous so the server task is already done; timeout guards against hangs. + assertThat(clientCertificatePresented.get(10, TimeUnit.SECONDS)).isTrue(); + } finally { + serverSocket.close(); + } + } + + /** Accepts one connection, answers one HTTP request, and reports if a client cert was sent. */ + private static boolean serveSingleRequest(SSLServerSocket serverSocket) throws Exception { + SSLSocket socket = (SSLSocket) serverSocket.accept(); + try { + socket.startHandshake(); + boolean clientCertificatePresented = socket.getSession().getPeerCertificates().length > 0; + BufferedReader reader = + new BufferedReader( + new InputStreamReader(socket.getInputStream(), StandardCharsets.US_ASCII)); + String line; + while ((line = reader.readLine()) != null && !line.isEmpty()) { + // Drain request headers. + } + OutputStream out = socket.getOutputStream(); + out.write( + ("HTTP/1.1 200 OK\r\nContent-Length: 2\r\nConnection: close\r\n\r\nok") + .getBytes(StandardCharsets.US_ASCII)); + out.flush(); + return clientCertificatePresented; + } finally { + socket.close(); + } + } + + /** + * Creates a JDK TLS 1.3 server that presents a CA-issued leaf certificate with KeyUsage and + * requires (but does not validate) a client certificate. + */ + private static SSLServerSocket createTls13ServerSocket() throws Exception { + KeyStore serverKeyStore; + InputStream certAndKey = openResource("tls13TestServerCertAndKey.pem"); + try { + serverKeyStore = SecurityUtils.createMtlsKeyStore(certAndKey); + } finally { + certAndKey.close(); + } + KeyManagerFactory keyManagerFactory = + KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); + keyManagerFactory.init(serverKeyStore, new char[0]); + + SSLContext serverContext = SSLContext.getInstance("TLSv1.3"); + serverContext.init( + keyManagerFactory.getKeyManagers(), new TrustManager[] {new AcceptAllTrustManager()}, null); + SSLServerSocket serverSocket = + (SSLServerSocket) + serverContext + .getServerSocketFactory() + .createServerSocket(0, 1, InetAddress.getLoopbackAddress()); + serverSocket.setEnabledProtocols(new String[] {"TLSv1.3"}); + serverSocket.setNeedClientAuth(true); + return serverSocket; + } + + private File writeTrustStoreWithTestCa() throws Exception { + X509Certificate caCertificate; + InputStream caPem = openResource("tls13TestCa.pem"); + try { + caCertificate = + (X509Certificate) CertificateFactory.getInstance("X.509").generateCertificate(caPem); + } finally { + caPem.close(); + } + KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType()); + trustStore.load(null, null); + trustStore.setCertificateEntry("gax-test-ca", caCertificate); + File trustStoreFile = new File(tempDir, "truststore"); + OutputStream out = new FileOutputStream(trustStoreFile); + try { + trustStore.store(out, TRUST_STORE_PASSWORD.toCharArray()); + } finally { + out.close(); + } + return trustStoreFile; + } + + private static InputStream openResource(String name) { + InputStream stream = + InstantiatingHttpJsonChannelProviderTls13Test.class + .getClassLoader() + .getResourceAsStream(RESOURCE_DIR + name); + if (stream == null) { + throw new IllegalStateException("Missing test resource: " + RESOURCE_DIR + name); + } + return stream; + } + + private static boolean isTls13Supported() { + try { + SSLContext.getInstance("TLSv1.3"); + return true; + } catch (Exception e) { + return false; + } + } + + private static void restoreProperty(String key, String value) { + if (value == null) { + System.clearProperty(key); + } else { + System.setProperty(key, value); + } + } + + /** Server-side trust manager: the test only checks that a client certificate is presented. */ + private static final class AcceptAllTrustManager implements X509TrustManager { + @Override + public void checkClientTrusted(X509Certificate[] chain, String authType) {} + + @Override + public void checkServerTrusted(X509Certificate[] chain, String authType) {} + + @Override + public X509Certificate[] getAcceptedIssuers() { + return new X509Certificate[0]; + } + } +} diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/test/resources/com/google/api/gax/httpjson/tls13TestCa.pem b/sdk-platform-java/gax-java/gax-httpjson/src/test/resources/com/google/api/gax/httpjson/tls13TestCa.pem new file mode 100644 index 000000000000..404d562e5297 --- /dev/null +++ b/sdk-platform-java/gax-java/gax-httpjson/src/test/resources/com/google/api/gax/httpjson/tls13TestCa.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDHzCCAgegAwIBAgIUZEyXXbTT3KXPPzN6Z6b30/GQ26wwDQYJKoZIhvcNAQEL +BQAwFjEUMBIGA1UEAwwLR0FYIFRlc3QgQ0EwIBcNMjYwOTMwMDMzNzM5WhgPMjEy +NjA5MDYwMzM3MzlaMBYxFDASBgNVBAMMC0dBWCBUZXN0IENBMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkLx+Kh78x1ktPpvGf3ITPS7xwr7rU6Pt/Z34 +AKodCSBCrt/d3BhkGiy8w3IqWN7mIy2ujdoKeUau4NJiYdz3A16XZ1nhvp7J3tK5 +a6SSxO95lVwy70nafTO8ApFYKawKLKNWvGqChM95AI6+Q7dTzzGArpwJxCK0p7dp +4bKjhpSOZaW46VdpCsLwoPJmXNlDpAL5O3nrvdnfilHVCqWHoAZk7ESwQcwm8vP6 +5suLUSvpagPfMRabFTEv91PsmVhB8KjSu8/kGPAC1F7RLyZK31a0Kb5wNwW+69cb +kxjUEhNux7/SHTF250kF2vQ+nFrnUQZSGM8cHU8qpeaOsTFDRwIDAQABo2MwYTAd +BgNVHQ4EFgQU7pHELECvL5hdK8Y3N1x6GZSzSjkwHwYDVR0jBBgwFoAU7pHELECv +L5hdK8Y3N1x6GZSzSjkwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw +DQYJKoZIhvcNAQELBQADggEBACCyzuu0K4HF0iMu1rj+adlpYUzl6uwkKBuL6fRJ +sTxe0ftgWWcFXJV+P6T+maGu7DMANqbADpWqQbAHMNbSXxPSfGgOd2tS+jg/OOef +go1MhsMUpgxSN9PvWAfhiVIhgF7pdjdVP2qiObx7F/Qo/Xmr0MEy61mmeCbWENBj +jC7DsCo5SWo6kMjvb6dz5G+f+4LElQKCQbBGAOm00XlERE/W7WfUMBzNFhLCHrVs +CRq5lIGxek8DEIC8oXtt/7g0KoKVkOCNj2ZXljEQgi4awoYHqlTRXw/nlctJJ8xs +DLmvfUObHIo66rliDG1Pco/Ce9FVewUJz2WQXJK/mGuuesA= +-----END CERTIFICATE----- diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/test/resources/com/google/api/gax/httpjson/tls13TestServerCertAndKey.pem b/sdk-platform-java/gax-java/gax-httpjson/src/test/resources/com/google/api/gax/httpjson/tls13TestServerCertAndKey.pem new file mode 100644 index 000000000000..b424ecafa2c7 --- /dev/null +++ b/sdk-platform-java/gax-java/gax-httpjson/src/test/resources/com/google/api/gax/httpjson/tls13TestServerCertAndKey.pem @@ -0,0 +1,48 @@ +-----BEGIN CERTIFICATE----- +MIIDTTCCAjWgAwIBAgIUA8zck3uCk3uCK7FqAgRrbQjayGEwDQYJKoZIhvcNAQEL +BQAwFjEUMBIGA1UEAwwLR0FYIFRlc3QgQ0EwIBcNMjYwOTMwMDMzNzM5WhgPMjEy +NjA5MDYwMzM3MzlaMBQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAMLalJEkZTlTkPbSayD72lYxibZ8JLtRP4OaK/Mr +yvhv8JX5JgSxY3fW2FkpYLBFO3fKFyyPRf2pJTHTpvBjyy/xZnyMHltT9uurF58b +kfAzZDLphJdICTXVL9cEHzCJ+AVFJ85bbLDhCcAd5urCZClqOD6QoM7aLsSurwLQ +eeAP44XwcX+2+VvNfB6YFUgjVreTD+c1xD9OsbMFQuWzv/uDkl6KciOkeuAGOOJh +8ylcugFDOfb9ZWWQRiDo9BiIc/6HIhNk8jo8hCgofcxR/MRZNRKOQ4ilsbNkrjo0 +MusuRQq2mcC4yLZRRo7Jtk2FQYysg2e0mbHKroQhmRIP2wcCAwEAAaOBkjCBjzAa +BgNVHREEEzARgglsb2NhbGhvc3SHBH8AAAEwDgYDVR0PAQH/BAQDAgWgMBMGA1Ud +JQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFL5u77FZtvQz +x06t35j/m9a+PVVNMB8GA1UdIwQYMBaAFO6RxCxAry+YXSvGNzdcehmUs0o5MA0G +CSqGSIb3DQEBCwUAA4IBAQBwAaP5bHnvfObJcl7rKOSfXFKhjm0j5De8BNbS5Dcs +Z22gkuri5qgj8MEwGt4Wu4mxopYD18AbWKt8e7mC5+mJgkydSLvRtJxx5geNw0CD +8TJK8MTpJGJtBKoxC26kxZyHTM6GLO3iAXMzuDFbeW4xpESezoaKsctwlUaAQNO+ +taASUFDy9CJ24SDsiWBmSrTZoNqcCbB3yyYS6Wrx1Et1GYmeTtvx8qo9GjGoil/t +9mWgYhb52Wg+7EO5NQa1eIZ23ZgWg4w7CRqPyjqmOM/ygCmHvoNGuOdbMzSc8o5P +i9S6gTwaU7OBa8vrKdMk+LPkmcHs82qujVYqvU1rMV5a +-----END CERTIFICATE----- +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDC2pSRJGU5U5D2 +0msg+9pWMYm2fCS7UT+DmivzK8r4b/CV+SYEsWN31thZKWCwRTt3yhcsj0X9qSUx +06bwY8sv8WZ8jB5bU/brqxefG5HwM2Qy6YSXSAk11S/XBB8wifgFRSfOW2yw4QnA +HebqwmQpajg+kKDO2i7Erq8C0HngD+OF8HF/tvlbzXwemBVII1a3kw/nNcQ/TrGz +BULls7/7g5JeinIjpHrgBjjiYfMpXLoBQzn2/WVlkEYg6PQYiHP+hyITZPI6PIQo +KH3MUfzEWTUSjkOIpbGzZK46NDLrLkUKtpnAuMi2UUaOybZNhUGMrINntJmxyq6E +IZkSD9sHAgMBAAECggEAB9NPdCTKC+tXPxJkSwbSVfPXXATQVNWGf3qJmVKA7ElS +mDNRW47kN8PhHHOU9n9RTBZJp/h5Dx7j54Rgh/b6Cgrf2tClx3UvzXcpk7I/wi3O +MF1AffLeq9LMAQ6hUgm4dD26w4bYbqIbCiQpSfRUoXUqnRih3KzWg/+f97T3sA/h +SSNH67sQ/SmaqujmCDsXoVF8Ad0bGzEkEVbn7QgXX+C+DxxA6wGvRER7YRfzhxaz +e1B0rdRLTwlAycKOGPvp+7mVrs1KTELyj8rJp6dNzTpll1W4Y5MeJivSjTpEtPzN +Fo6Wh6+/+wLyXcYUknJMfTlt3GcYdAzhREEXBM34gQKBgQDz0/HtQPulpv8jtoms +m7TiIcRuOHbK+ojt5s9dQ6ikYuCOJ3CnCPLX5T7Eo7yl/NvPhqSr15GbqbHNutLt +FL9Gh5L8H+Z7i/hmmAou59WXIcQOfOS+/ZFi1rpE8Fhp10/dYRSznIG4vaN19DBF +Og4a4n5CR+mRgxcQvt32URiCvwKBgQDMlMJ/rCfN2SAQYXwIE8+7viknMVxyoC1T +ggAVfj+XUdEgPeD8+cKIuQ2E0ino4+wLve6zo5skcw+COKFS7QZcL8xT0oYjRX0I +SZFUGhUnuSDv8rbFx25m27IfQ/FicFFdOHK3n1MbX+I0IfKyYvFrL3DfSuKuZKam +ODIy6PFhuQKBgQCxKxvrDQDNSR6y0HwRE8LHXUnh3N1Ud97vHnsmhXcQm1gXcskE +Vhg+j7CgKWl2ItmFXYxh4O1IcnFjz5Bb/GtP0EsZMATFWNtRkMA1fPdSLZLMBCwi +KxVtACGw3gMgRPcfIN9t8xa/KeyQVLKOWrTNDC458w7gUKR94nJd/GcW+QKBgHiI +HJ/D+h+ZkP6VsNHBel6OhwiEWIdgP9Q3f30qSKUKmz93tZrWO/r5rDFY8UA5KNUy +LfTAq6Mp9zUt0D5fT6P4tVWdb1JQmn3LekgmpdglhnZYdb7I5Q7M2YD6Mrlgm09k +9pGg2QID1+4HIkpfaQVRihrEsBE3U8gSy+CaxbxhAoGBALZn4isHqbH/+H3em7Mc +ITRF2xPhHlCv0SHHn6UHoWVFYXmgF+bjX43wVSjmPL9PusSvH+gBxeYpKQSm9Hjp +eoQirtVJPCVmS5e8pKmmJBAUbRHk1umUR7lwgfTlTnIwEOCD+ApaqWByTdsHNPL1 +fazDXasxJ7y760qDNo7UCbec +-----END PRIVATE KEY----- From 1de87fd55308f09438bf6464350d8bdd311eabf3 Mon Sep 17 00:00:00 2001 From: macastelaz <34776182+macastelaz@users.noreply.github.com> Date: Fri, 9 Oct 2026 20:35:45 -0500 Subject: [PATCH 06/12] feat(auth): add DISABLE_BOUND_ID_TOKEN option to opt out of certificate-bound ID tokens (#14559) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit > [!IMPORTANT] > **This must merge before the `agentic-identities-bound-token` feature branch is merged to `main`.** Docs PR #14557 documents this option. ## Why When an agent identity certificate is available, `ComputeEngineCredentials` requests certificate-bound ID tokens by default. A bound ID token is only accepted by targets that authenticate the caller over mTLS with the same certificate. Targets reached over standard HTTPS, such as a Cloud Run service's `*.run.app` URL or a custom domain, reject it with `401 Unauthorized`. Per the [ID token binding 1-pager](https://docs.google.com/document/d/1yL_xdDimlUlUyid6HDtqZUIMQjX9VznwzXn1SBABjZc/edit?pli=1&resourcekey=0-GxSXGdfH5Ni_nSI9f7xkQg&tab=t.0#heading=h.94fnt3dk2gx) (Sep 30 decision), ID tokens stay bound by default, and callers get a per-target `bind_id_token` setting to turn binding off where needed. The process-wide opt-out (`GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=false`) is unchanged. ## What changes - New `IdTokenProvider.Option.DISABLE_BOUND_ID_TOKEN`. Callers pass it per target, the same way as `FORMAT_FULL` and `LICENSES_TRUE`: ```java IdTokenCredentials.newBuilder() .setIdTokenProvider((IdTokenProvider) credentials) .setTargetAudience("https://my-service-12345.us-central1.run.app") .setOptions(Arrays.asList(IdTokenProvider.Option.DISABLE_BOUND_ID_TOKEN)) .build(); ``` - `ComputeEngineCredentials.idTokenWithAudience()`: with the option, the certificate lookup is skipped and the identity endpoint is called with a plain GET. Without it, behavior is unchanged (bound whenever a certificate is available and binding isn't turned off by the env var). - Other credential types (`ServiceAccountCredentials`, `ImpersonatedCredentials`, `UserCredentials`) already ignore options they don't use, so the same code works outside agent identity environments. - Access tokens are unaffected. ### API shape `Option` is a set of on/off flags rather than a value, so this adds only the "off" flag (`DISABLE_BOUND_ID_TOKEN`). Leaving it unset means "auto", which currently means bound. This matches the 1-pager's tri-state (unset = auto) without adding an "enable" flag that would do nothing today; one can be added later without breaking callers if "auto" starts deciding per target. Python exposes the same control as `bind_id_token: Optional[bool]` (googleapis/google-cloud-python#18559). ## Tests ### Unit tests New `ComputeEngineCredentialsTest` cases, all with an agent identity certificate present and binding enabled: - `idTokenWithAudience_disableBoundIdToken_requestsUnboundToken`: GET, no request body, no forced `format=full`. - `idTokenWithAudience_disableBoundIdTokenWithFormatFull_requestsUnboundFullToken`: still GET; `format=full` is kept when the caller asks for it. - `idTokenWithAudience_disableBoundIdToken_skipsCertificateLookup`: with a certificate config pointing to a missing file, the default request fails, but the opted-out request succeeds, which shows the certificate is never read. - `idTokenCredentials_withDisableBoundIdTokenOption_requestsUnboundToken`: the option set on `IdTokenCredentials` reaches `ComputeEngineCredentials`. The existing bound-ID-token tests are unchanged and still pass. Full `oauth2_http` suite: 1064 tests, 0 failures. `fmt` is clean. ### Live test on GKE Run on a GKE cluster with agent identity enabled, using a test-only local merge of this PR with #14595 (GKE support) and #14556 (already on the base branch). A single process fetches ID tokens through `IdTokenCredentials` from `ComputeEngineCredentials` (ADC) and sends them to an agent-to-agent receiver pod. The receiver accepts only bound tokens over mTLS (whose `cnf` must match the client certificate), and only unbound tokens over plain HTTP. | Check | Defaults | `GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=false` | |---|---|---| | ID token with `DISABLE_BOUND_ID_TOKEN` | **unbound** (no `cnf`); receiver: plain HTTP 200, mTLS 401 | unbound | | ID token for another target without the option, same credentials, fetched afterwards | **still bound** (`cnf` = certificate leaf); receiver: mTLS 200 | unbound | | Access token after the ID-token opt-out | **still bound** (401 on a plain, non-mTLS endpoint) | unbound | The option unbinds only the ID token it's set on. Other targets and access tokens are unaffected, and it's harmless when binding is already off. **Internal links (Googlers only):** [results](https://paste.googleplex.com/5926225961418752) · [harness](https://paste.googleplex.com/5713819712749568) · cluster [setup](https://paste.googleplex.com/5635555912712192) and [manifests](https://paste.googleplex.com/6258309762514944) (shared with #14595) --- .../auth/oauth2/ComputeEngineCredentials.java | 7 +- .../google/auth/oauth2/IdTokenProvider.java | 24 ++++- .../oauth2/ComputeEngineCredentialsTest.java | 93 +++++++++++++++++++ 3 files changed, 122 insertions(+), 2 deletions(-) diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java index 686c5389d5e3..ab483ef2ecfe 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java @@ -490,6 +490,8 @@ public AccessToken refreshAccessToken() throws IOException { *
* IdTokenProvider.Option.FORMAT_FULL
* IdTokenProvider.Option.LICENSES_TRUE
+ * IdTokenProvider.Option.DISABLE_BOUND_ID_TOKEN (request an ID token that is not bound to the + * agent identity certificate)
* If no options are set, the defaults are "&format=standard&licenses=false" * @throws IOException if the attempt to get an IdToken failed * @return IdToken object which includes the raw id_token, JsonWebSignature @@ -497,7 +499,10 @@ public AccessToken refreshAccessToken() throws IOException { @Override public IdToken idTokenWithAudience( String targetAudience, @Nullable List options) throws IOException { - String boundTokenPayload = AgentIdentityUtils.getBoundTokenPayload(); + // Checked before getBoundTokenPayload() so an opted-out target skips the certificate lookup. + boolean bindIdToken = + options == null || !options.contains(IdTokenProvider.Option.DISABLE_BOUND_ID_TOKEN); + String boundTokenPayload = bindIdToken ? AgentIdentityUtils.getBoundTokenPayload() : null; GenericUrl documentUrl = new GenericUrl(getIdentityDocumentUrl()); if (boundTokenPayload != null) { documentUrl.set("format", "full"); diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/IdTokenProvider.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/IdTokenProvider.java index d1dc1112b85f..e1673f19d3da 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/IdTokenProvider.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/IdTokenProvider.java @@ -48,6 +48,7 @@ public interface IdTokenProvider { *

    *
  • FORMAT_FULL *
  • LICENSES_TRUE + *
  • DISABLE_BOUND_ID_TOKEN *
* *
@@ -60,7 +61,28 @@ public interface IdTokenProvider { public enum Option { FORMAT_FULL("formatFull"), LICENSES_TRUE("licensesTrue"), - INCLUDE_EMAIL("includeEmail"); + INCLUDE_EMAIL("includeEmail"), + /** + * Requests an ID token that is not bound to the workload's agent identity certificate. + * + *

This option is only supported by {@link ComputeEngineCredentials}; other {@link + * IdTokenProvider} implementations do not request bound ID tokens and ignore this option. + * + *

When an agent identity certificate is available, {@link ComputeEngineCredentials} requests + * certificate-bound ID tokens by default. A bound ID token is only accepted by targets that + * authenticate the caller over mTLS with the same certificate. Pass this option for targets + * that are called over standard (non-mTLS) HTTPS, for example a Cloud Run service reached + * through its {@code *.run.app} URL or a custom domain. + * + *

Unlike the {@code GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=false} environment variable, which + * globally disables certificate-bound access tokens and ID tokens across the entire process, + * this option applies per call (or per {@link IdTokenCredentials} instance) and leaves access + * tokens and other ID token requests bound. If this option is not set, the library decides + * whether to bind the ID token. Currently, it is bound whenever an agent identity certificate + * is available and token binding is not globally disabled by {@code + * GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=false}. + */ + DISABLE_BOUND_ID_TOKEN("disableBoundIdToken"); private final String option; diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ComputeEngineCredentialsTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ComputeEngineCredentialsTest.java index 9d3e0f6d2b11..bc589082af2b 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ComputeEngineCredentialsTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ComputeEngineCredentialsTest.java @@ -1386,6 +1386,99 @@ void idTokenWithAudience_withValidCertAndKey_requestsBoundToken() throws IOExcep assertEquals(expectedCert, ((String) bodyJson.get("certificate_chain")).trim()); } + @Test + void idTokenWithAudience_disableBoundIdToken_requestsUnboundToken() throws IOException { + setupCertAndKeyConfig(); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "true"); + MockMetadataServerTransportFactory transportFactory = new MockMetadataServerTransportFactory(); + transportFactory.transport.setServiceAccountEmail(SA_CLIENT_EMAIL); + transportFactory.transport.setIdToken(STANDARD_ID_TOKEN); + + ComputeEngineCredentials credentials = + ComputeEngineCredentials.newBuilder().setHttpTransportFactory(transportFactory).build(); + IdToken token = + credentials.idTokenWithAudience( + "https://foo.bar", Arrays.asList(IdTokenProvider.Option.DISABLE_BOUND_ID_TOKEN)); + + assertNotNull(token); + MockLowLevelHttpRequest request = transportFactory.transport.getRequest(); + assertEquals("GET", transportFactory.transport.getRequestMethod()); + assertTrue(request.getUrl().contains("audience=https://foo.bar")); + assertFalse(request.getUrl().contains("format=full")); + assertNull(request.getStreamingContent()); + } + + @Test + void idTokenWithAudience_disableBoundIdTokenWithFormatFull_requestsUnboundFullToken() + throws IOException { + setupCertAndKeyConfig(); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "true"); + MockMetadataServerTransportFactory transportFactory = new MockMetadataServerTransportFactory(); + transportFactory.transport.setServiceAccountEmail(SA_CLIENT_EMAIL); + transportFactory.transport.setIdToken(FULL_ID_TOKEN); + + ComputeEngineCredentials credentials = + ComputeEngineCredentials.newBuilder().setHttpTransportFactory(transportFactory).build(); + credentials.idTokenWithAudience( + "https://foo.bar", + Arrays.asList( + IdTokenProvider.Option.FORMAT_FULL, IdTokenProvider.Option.DISABLE_BOUND_ID_TOKEN)); + + MockLowLevelHttpRequest request = transportFactory.transport.getRequest(); + assertEquals("GET", transportFactory.transport.getRequestMethod()); + assertTrue(request.getUrl().contains("format=full")); + assertNull(request.getStreamingContent()); + } + + @Test + void idTokenWithAudience_disableBoundIdToken_skipsCertificateLookup() throws IOException { + // The certificate config points to a missing file, which fails a bound token request. With + // DISABLE_BOUND_ID_TOKEN the certificate is never looked up, so the unbound request succeeds. + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "true"); + envProvider.setEnv( + AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, + tempDir.resolve("missing_config.json").toAbsolutePath().toString()); + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + AgentIdentityUtils.setTimeService(millis -> {}); + MockMetadataServerTransportFactory transportFactory = new MockMetadataServerTransportFactory(); + transportFactory.transport.setServiceAccountEmail(SA_CLIENT_EMAIL); + transportFactory.transport.setIdToken(STANDARD_ID_TOKEN); + ComputeEngineCredentials credentials = + ComputeEngineCredentials.newBuilder().setHttpTransportFactory(transportFactory).build(); + + assertThrows(IOException.class, () -> credentials.idTokenWithAudience("https://foo.bar", null)); + + IdToken token = + credentials.idTokenWithAudience( + "https://foo.bar", Arrays.asList(IdTokenProvider.Option.DISABLE_BOUND_ID_TOKEN)); + assertNotNull(token); + assertEquals("GET", transportFactory.transport.getRequestMethod()); + } + + @Test + void idTokenCredentials_withDisableBoundIdTokenOption_requestsUnboundToken() throws IOException { + setupCertAndKeyConfig(); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "true"); + MockMetadataServerTransportFactory transportFactory = new MockMetadataServerTransportFactory(); + transportFactory.transport.setServiceAccountEmail(SA_CLIENT_EMAIL); + transportFactory.transport.setIdToken(STANDARD_ID_TOKEN); + ComputeEngineCredentials credentials = + ComputeEngineCredentials.newBuilder().setHttpTransportFactory(transportFactory).build(); + + IdTokenCredentials idTokenCredentials = + IdTokenCredentials.newBuilder() + .setIdTokenProvider(credentials) + .setTargetAudience("https://foo.bar") + .setOptions(Arrays.asList(IdTokenProvider.Option.DISABLE_BOUND_ID_TOKEN)) + .build(); + idTokenCredentials.refresh(); + + MockLowLevelHttpRequest request = transportFactory.transport.getRequest(); + assertEquals("GET", transportFactory.transport.getRequestMethod()); + assertTrue(request.getUrl().contains("audience=https://foo.bar")); + assertNull(request.getStreamingContent()); + } + @Test void refreshAccessToken_boundToken404_throwsEndpointDoesNotSupportBoundTokensMessage() throws IOException { From 103734a7c6392892a43d663b7c86871468b11bd4 Mon Sep 17 00:00:00 2001 From: macastelaz <34776182+macastelaz@users.noreply.github.com> Date: Fri, 9 Oct 2026 21:41:06 -0500 Subject: [PATCH 07/12] docs(auth): document certificate-bound tokens for agent identities (#14557) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit > [!IMPORTANT] > **Merge after #14559**, which adds `IdTokenProvider.Option.DISABLE_BOUND_ID_TOKEN` referenced here. Both must merge before the `agentic-identities-bound-token` feature branch is merged to `main`. ## What this adds Docs only; no code changes. - **`ComputeEngineCredentials` class Javadoc**: adds a brief summary noting that when a workload certificate for an agent identity is available, `ComputeEngineCredentials` requests certificate-bound access tokens and ID tokens by default, with pointers to `IdTokenProvider.Option.DISABLE_BOUND_ID_TOKEN` and the [Google Auth Library guide](https://cloud.google.com/java/getting-started/getting-started-with-google-auth-library). - The full "Certificate-bound tokens for agent identities" user guide section (covering environment variables, per-target ID token opt-out, and the ADK for Java limitation) is being added to the DevSite `getting-started-with-google-auth-library` page (`cl/996749889`) alongside the Cloud Run documentation (`cl/990396526`). ## Release notes `google-auth-library-java/CHANGELOG.md` is generated, so release notes come from commit messages. Suggested text for the `BEGIN_COMMIT_OVERRIDE` block of the feature-branch → `main` merge PR: ``` feat(auth): request certificate-bound tokens for agent identities by default. Set GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=false to opt out. feat(auth): add IdTokenProvider.Option.DISABLE_BOUND_ID_TOKEN to request unbound ID tokens for specific targets. docs(auth): known limitation: ADK for Java doesn't support mTLS yet; agents that use it must set GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=false. ``` ## Testing - `google-java-format` and `javadoc:javadoc` pass. --- .../com/google/auth/oauth2/ComputeEngineCredentials.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java index ab483ef2ecfe..7495e3d08827 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java @@ -81,7 +81,11 @@ /** * OAuth2 credentials representing the built-in service account for a Google Compute Engine VM. * - *

Fetches access tokens from the Google Compute Engine metadata server. + *

Fetches access tokens from the Google Compute Engine metadata server. When a workload + * certificate for an agent identity is available, requests certificate-bound access tokens and ID + * tokens by default (see {@code IdTokenProvider.Option.DISABLE_BOUND_ID_TOKEN} and the Google + * Auth Library guide). * *

These credentials use the IAM API to sign data. See {@link #sign(byte[])} for more details. */ From 9a905c4c3ca366f4182d094a59f3bc48dfeabe11 Mon Sep 17 00:00:00 2001 From: macastelaz <34776182+macastelaz@users.noreply.github.com> Date: Wed, 14 Oct 2026 08:27:08 -0500 Subject: [PATCH 08/12] feat(auth): support GKE agent identity credential bundle for bound tokens and mTLS (#14595) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Why GKE delivers agent identity credentials (Pod Certificates) as a single combined PEM file, holding the certificate chain and a PKCS#8 private key, at: ``` /var/run/secrets/workload-spiffe-credentials/x509.credential-bundle.private-key.pem ``` The feature branch already handles Cloud Run, where a certificate config points into the well-known directory. On GKE there is no certificate config, so neither the transport nor the token side found the certificate. This is the Java counterpart of googleapis/google-cloud-python#18559. Background: go/gke-security-identity/features/agent_identity_diy.md and go/sdk-mds-bound-token. ## What changes When **no certificate configuration exists** (`GOOGLE_API_CERTIFICATE_CONFIG` is unset and there is no `~/.config/gcloud/certificate_config.json`), a readable, non-empty bundle now: - **Transport:** turns on mTLS automatically. - `MtlsUtils.getWorkloadCertPath` / `useMtlsClientCertificate` return the bundle path. - `DefaultMtlsProviderFactory.create()` builds its keystore from the bundle via a new package-private `X509Provider.createForTransport()`. - Every GAX transport (`EndpointContext`, gRPC, HTTP/JSON) goes through that factory. - **Tokens:** `AgentIdentityUtils` resolves the same bundle, so `ComputeEngineCredentials` requests tokens bound to the certificate the transport presents. - With `GOOGLE_API_USE_CLIENT_CERTIFICATE=true`, the bundle takes precedence over the Cloud Run well-known files for the same reason. **Kept unchanged:** - `GOOGLE_API_USE_CLIENT_CERTIFICATE=false` and `GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=false` still opt out. - An explicit or default certificate config (including ECP) always beats the bundle, on both sides. - **The bundle is never polled for.** GKE writes it before the container starts, and polling for a missing file would delay every workload that isn't an agent. - **Workload identity federation X.509 is unchanged.** The public `X509Provider` constructors don't fall back to the bundle. Only the transport factory does. - If the bundle disappears during the read (rotation), the transport reports `CertificateSourceUnavailableException` rather than a generic `IOException`. If it's briefly missing after a credential was cached, the token side falls back to the cached credential, but only while the bundle is still allowed (no certificate configuration has appeared). **New API:** a public static `MtlsUtils.hasCertificateConfiguration(...)` on an `@InternalApi` class. This is additive only. ## Differences from Python (intentional) - Python also checks `CLOUDSDK_CONTEXT_AWARE_CERTIFICATE_CONFIG_FILE_PATH`. Java has no equivalent env var. - Python temporarily keeps default **ID tokens** unbound on Cloud Run (when `GOOGLE_API_CERTIFICATE_CONFIG` is set). That gate is temporary and Python-only, so it isn't copied here. On GKE, both libraries bind ID tokens by default. #14559 adds the per-target `DISABLE_BOUND_ID_TOKEN` opt-out. ## Related - #14556 (HTTP/JSON mTLS fix, merged) enables mTLS over HTTP/JSON transports. - #14559 (`DISABLE_BOUND_ID_TOKEN`) is the per-target ID-token opt-out. ## Tests ### Unit tests - `MtlsUtilsTest`: - bundle present, absent, a directory, or empty; - `USE_CLIENT_CERTIFICATE=false`; - a default config without a workload section (ECP) blocks the bundle; - an explicit config takes precedence; - `hasCertificateConfiguration` / `getGkeCredentialBundlePath`. - `X509ProviderTest`: - transport provider with cert-first and key-first bundles; - an explicit config, or an override path, takes precedence; - unavailable when there is no bundle; - the public constructor ignores the bundle (WIF). - `AgentIdentityUtilsTest`: - implicit discovery with zero sleeps; - the cached credential stays bound; - opt-outs, a default gcloud config, and a non-agent cert all leave the token unbound; - an empty or absent bundle returns null without polling; - explicit true finds the bundle, never polls for it, and prefers it over the Cloud Run files; - fallback to the cache after the bundle is deleted, and no fallback once a certificate config has appeared (implicit and explicit paths). Full `oauth2_http` suite: 1089 tests, 0 failures. `fmt` is clean. ### Live test on GKE - **Cluster:** a GKE cluster with agent identity enabled. - **Pods:** the test pods get the agent identity credential bundle at `/var/run/secrets/workload-spiffe-credentials/x509.credential-bundle.private-key.pem`. - **Image:** built from this PR's jars merged with #14556, which is already on the base branch and is required for HTTP/JSON mTLS. It uses ADC with default settings and no client options. - **Details:** cluster setup, manifests and full logs are in the internal links below. **Checks:** - **GCS over raw HTTP:** read through `storage.mtls.googleapis.com` with the transport certificate. The same token on plain `storage.googleapis.com` gets 401, which proves the token is bound. - **GAX Resource Manager client:** `getProject` over gRPC and HTTP/JSON. - **ID tokens:** sent to an agent-to-agent receiver pod. It accepts only bound tokens over mTLS whose `cnf` matches the client certificate, and only unbound tokens over plain HTTP. | Scenario | Token | GAX resolved endpoint | GAX gRPC / HTTP-JSON | GCS mTLS / plain | ID token mTLS / plain | |---|---|---|---|---|---| | Defaults | Bound; `cnf` = bundle leaf = transport cert | `cloudresourcemanager.mtls.googleapis.com` | ✅ / ✅ | 200 / **401** | **200** / 401 | | `GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN=false` | Unbound | mTLS endpoint | ✅ / ✅ | 200 / 200 | 401 / **200** | | `GOOGLE_API_USE_CLIENT_CERTIFICATE=false` | Unbound | plain endpoint | ✅ / ✅ | 200 / 200 | 401 / **200** | | `GOOGLE_API_USE_CLIENT_CERTIFICATE=true` | Bound (bundle) | mTLS endpoint | ✅ / ✅ | 200 / **401** | **200** / 401 | | Pod without agent identity | Unbound, no mTLS | plain endpoint | authenticated / authenticated | — / authenticated | n/a | **Timing:** the first token fetch took about 0.5–1s in every scenario. A pod without the bundle has no polling delay. **Internal links (Googlers only):** [setup](https://paste.googleplex.com/5635555912712192) · [manifests](https://paste.googleplex.com/6258309762514944) · [harness](https://paste.googleplex.com/4882197073494016) · [build/run](https://paste.googleplex.com/5942061774274560) · [results](https://paste.googleplex.com/5072605959290880) **Out of scope for this PR (tracked separately):** - **Leaf-only keystore:** `X509Provider`'s keystore holds only the leaf certificate, through google-http-client `SecurityUtils.createMtlsKeyStore`. Google APIs over `*.mtls.googleapis.com` are unaffected. Agent-to-agent mTLS against a peer that trusts only the SPIFFE root fails unless the caller presents the full chain. --- .../auth/mtls/DefaultMtlsProviderFactory.java | 9 +- .../java/com/google/auth/mtls/MtlsUtils.java | 88 ++++++- .../com/google/auth/mtls/X509Provider.java | 83 ++++++- .../auth/oauth2/AgentIdentityCacheUtils.java | 16 ++ .../auth/oauth2/AgentIdentityUtils.java | 104 +++++++- .../com/google/auth/mtls/MtlsUtilsTest.java | 134 +++++++++++ .../google/auth/mtls/X509ProviderTest.java | 158 +++++++++++++ .../auth/oauth2/AgentIdentityUtilsTest.java | 223 ++++++++++++++++++ 8 files changed, 793 insertions(+), 22 deletions(-) diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/DefaultMtlsProviderFactory.java b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/DefaultMtlsProviderFactory.java index 8538f10c0d48..7b9b824d5e87 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/DefaultMtlsProviderFactory.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/DefaultMtlsProviderFactory.java @@ -40,9 +40,10 @@ public class DefaultMtlsProviderFactory { /** * Creates an instance of {@link MtlsProvider}. It first attempts to create an {@link - * com.google.auth.mtls.X509Provider}. If the certificate source is unavailable, it falls back to - * creating a {@link SecureConnectProvider}. If the secure connect provider also fails, it throws - * a {@link com.google.auth.mtls.CertificateSourceUnavailableException}. + * com.google.auth.mtls.X509Provider}, which also falls back to the GKE credential bundle when no + * certificate configuration is present. If the certificate source is unavailable, it falls back + * to creating a {@link SecureConnectProvider}. If the secure connect provider also fails, it + * throws a {@link com.google.auth.mtls.CertificateSourceUnavailableException}. * * @return an instance of {@link MtlsProvider}. * @throws com.google.auth.mtls.CertificateSourceUnavailableException if neither provider can be @@ -53,7 +54,7 @@ public static MtlsProvider create() throws IOException { // Note: The caller should handle CertificateSourceUnavailableException gracefully, since // it is an expected error case. All other IOExceptions are unexpected and should be surfaced // up the call stack. - MtlsProvider mtlsProvider = new X509Provider(); + MtlsProvider mtlsProvider = X509Provider.createWithGkeCredentialBundleFallback(); if (mtlsProvider.isAvailable()) { return mtlsProvider; } diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsUtils.java b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsUtils.java index d46d3822f827..479e644b1d47 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsUtils.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsUtils.java @@ -33,6 +33,7 @@ import com.google.api.core.InternalApi; import com.google.auth.oauth2.EnvironmentProvider; import com.google.auth.oauth2.PropertyProvider; +import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Strings; import com.google.common.io.BaseEncoding; import java.io.File; @@ -58,10 +59,78 @@ public class MtlsUtils { static final String WELL_KNOWN_CERTIFICATE_CONFIG_FILE = "certificate_config.json"; static final String CLOUDSDK_CONFIG_DIRECTORY = "gcloud"; + /** + * Well-known path of the combined certificate chain and private key bundle that GKE delivers to + * pods with Agent Identity (Pod Certificates). Used as a fallback client certificate source when + * no certificate configuration file is configured or present. + */ + static final String GKE_CREDENTIAL_BUNDLE_PATH = + "/var/run/secrets/workload-spiffe-credentials/x509.credential-bundle.private-key.pem"; + + // Overridable via setGkeCredentialBundlePathForTesting so unit tests can point to a temp file. + private static volatile String gkeCredentialBundlePath = GKE_CREDENTIAL_BUNDLE_PATH; + private MtlsUtils() { // Prevent instantiation for Utility class } + /** + * Returns {@code true} if a certificate configuration is configured or present: either {@code + * GOOGLE_API_CERTIFICATE_CONFIG} is set, or the well-known gcloud {@code certificate_config.json} + * file exists. When this returns {@code true}, the GKE credential bundle fallback is not used, so + * the certificate used for mTLS and the certificate bound to tokens always come from the same + * source. + */ + public static boolean hasCertificateConfiguration( + EnvironmentProvider envProvider, PropertyProvider propProvider) { + if (!Strings.isNullOrEmpty(envProvider.getEnv(CERTIFICATE_CONFIGURATION_ENV_VARIABLE))) { + return true; + } + try { + return getWellKnownCertificateConfigFile(envProvider, propProvider).exists(); + } catch (IOException e) { + // APPDATA missing on Windows, etc. No well-known configuration file. + return false; + } + } + + /** + * Returns the GKE credential bundle path if no certificate configuration is configured or present + * (see {@link #hasCertificateConfiguration}) and the bundle exists and is readable; otherwise + * returns {@code null}. + */ + static @Nullable String getGkeCredentialBundlePath( + EnvironmentProvider envProvider, PropertyProvider propProvider) { + if (hasCertificateConfiguration(envProvider, propProvider)) { + return null; + } + return findGkeCredentialBundle(); + } + + /** + * Returns {@code true} if the GKE credential bundle at {@code path} is a readable, non-empty + * regular file. + */ + public static boolean isGkeCredentialBundleReady(String path) { + File bundle = new File(path); + return bundle.isFile() && bundle.canRead() && bundle.length() > 0; + } + + /** + * Returns the GKE credential bundle path if it is a readable, non-empty regular file, otherwise + * null. + */ + private static @Nullable String findGkeCredentialBundle() { + String path = gkeCredentialBundlePath; + return isGkeCredentialBundleReady(path) ? path : null; + } + + /** Overrides the GKE credential bundle path for testing; {@code null} restores the default. */ + @VisibleForTesting + static void setGkeCredentialBundlePathForTesting(@Nullable String path) { + gkeCredentialBundlePath = path != null ? path : GKE_CREDENTIAL_BUNDLE_PATH; + } + /** * Returns if mutual TLS client certificate should be used. Returns true if valid workload * certificates are configured or if GOOGLE_API_USE_CLIENT_CERTIFICATE is explicitly set to true @@ -89,16 +158,20 @@ public static boolean useMtlsClientCertificate( *

    *
  1. Non-null {@link String} (Valid happy path): A valid workload certificate * configuration was found and both the certificate and private key files exist and are - * readable. + * readable; or no certificate configuration is set or present and the GKE credential bundle + * ({@code /var/run/secrets/workload-spiffe-credentials/ + * x509.credential-bundle.private-key.pem}) exists and is readable, in which case the bundle + * path is returned. *
  2. {@link IllegalStateException} (Invalid state - fail closed): An explicit {@code * GOOGLE_API_CERTIFICATE_CONFIG} path or an existing default well-known certificate * configuration file is missing, unreadable, malformed, or references missing/unreadable * certificate or private key files. This is treated as an unrecoverable misconfiguration. *
  3. {@code null} (Safe fallback / fail open): Client certificates are explicitly * disabled via {@code GOOGLE_API_USE_CLIENT_CERTIFICATE=false}, no explicit configuration - * is set and the default well-known configuration file does not exist on disk, or the - * configuration specifies an non-workload source (e.g., ECP/PKCS11 without a {@code - * workload} section). Callers can proceed without workload certificate file polling. + * is set and neither the default well-known configuration file nor a readable GKE + * credential bundle exists on disk, or the configuration specifies an non-workload source + * (e.g., ECP/PKCS11 without a {@code workload} section). Callers can proceed without + * workload certificate file polling. *
*/ public static @Nullable String getWorkloadCertPath( @@ -175,9 +248,14 @@ public static boolean useMtlsClientCertificate( checkCertAndKeyFilesReadable(config, defaultConfigFile.getAbsolutePath(), true); return config.getCertPath(); } + // A default configuration file exists without a workload section (e.g. ECP); it takes + // precedence over the GKE credential bundle. + return null; } - return null; + // 3. GKE credential bundle (Pod Certificates), used only when no certificate configuration + // file is configured or present. The combined bundle serves as both certificate and key. + return findGkeCredentialBundle(); } private static void checkCertAndKeyFilesReadable( diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/X509Provider.java b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/X509Provider.java index 911c0fdcf922..e6f529b087be 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/X509Provider.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/X509Provider.java @@ -38,6 +38,7 @@ import com.google.auth.oauth2.SystemPropertyProvider; import java.io.File; import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.SequenceInputStream; @@ -54,7 +55,8 @@ public class X509Provider implements MtlsProvider { private final EnvironmentProvider envProvider; private final PropertyProvider propProvider; - private final String certConfigPathOverride; + private final @Nullable String certConfigPathOverride; + private final boolean allowGkeCredentialBundle; /** * Creates an X509 provider with an override path for the certificate configuration, bypassing the @@ -70,9 +72,39 @@ public X509Provider( EnvironmentProvider envProvider, PropertyProvider propProvider, String certConfigPathOverride) { + this(envProvider, propProvider, certConfigPathOverride, false); + } + + /** + * Creates an X509 provider that optionally falls back to the GKE credential bundle when no + * certificate configuration is present. + * + * @param envProvider environment provider used for environment variables + * @param propProvider property provider used for system properties + * @param certConfigPathOverride the path to read the certificate configuration from. + * @param allowGkeCredentialBundle whether to fall back to the GKE credential bundle when no + * certificate configuration is present and {@code certConfigPathOverride} is null. + */ + X509Provider( + EnvironmentProvider envProvider, + PropertyProvider propProvider, + @Nullable String certConfigPathOverride, + boolean allowGkeCredentialBundle) { this.envProvider = envProvider; this.propProvider = propProvider; this.certConfigPathOverride = certConfigPathOverride; + this.allowGkeCredentialBundle = allowGkeCredentialBundle; + } + + /** + * Creates an X.509 provider that, in addition to the locations checked by {@link + * #X509Provider()}, falls back to the GKE credential bundle when no certificate configuration is + * present, so that the transport uses the same certificate that {@link + * MtlsUtils#getWorkloadCertPath} reports for certificate-bound tokens. + */ + static X509Provider createWithGkeCredentialBundleFallback() { + return new X509Provider( + SystemEnvironmentProvider.getInstance(), SystemPropertyProvider.getInstance(), null, true); } /** @@ -105,6 +137,10 @@ public X509Provider() { *
  • The certificate config override path, if set. *
  • The path pointed to by the "GOOGLE_API_CERTIFICATE_CONFIG" environment variable *
  • The well known gcloud location for the certificate configuration file. + *
  • If none of the above is configured or present, and this provider was created with {@link + * #createWithGkeCredentialBundleFallback()}, the GKE credential bundle at {@code + * /var/run/secrets/workload-spiffe-credentials/x509.credential-bundle.private-key.pem}, + * which contains both the certificate chain and the private key. * * * @return a KeyStore containing the X.509 certificate specified by the certificate configuration. @@ -114,9 +150,48 @@ public X509Provider() { */ @Override public KeyStore getKeyStore() throws CertificateSourceUnavailableException, IOException { - WorkloadCertificateConfiguration workloadCertConfig = - MtlsUtils.getWorkloadCertificateConfiguration( - envProvider, propProvider, certConfigPathOverride); + WorkloadCertificateConfiguration workloadCertConfig; + try { + workloadCertConfig = + MtlsUtils.getWorkloadCertificateConfiguration( + envProvider, propProvider, certConfigPathOverride); + } catch (CertificateSourceUnavailableException configUnavailable) { + // Only fall back to the GKE credential bundle when created for the mTLS transport + // (allowGkeCredentialBundle == true, rather than public X.509 WIF constructors) and when no + // explicit certificate configuration path override was passed to the constructor. + if (allowGkeCredentialBundle && certConfigPathOverride == null) { + // getWorkloadCertificateConfiguration also throws CertificateSourceUnavailableException + // when GOOGLE_API_CERTIFICATE_CONFIG is explicitly set or when a well-known + // certificate_config.json exists with only a non-workload (e.g. ECP) configuration; + // getGkeCredentialBundlePath checks hasCertificateConfiguration so we do not fall back to + // the GKE bundle in those cases. + String gkeCredentialBundlePath = + MtlsUtils.getGkeCredentialBundlePath(envProvider, propProvider); + if (gkeCredentialBundlePath != null) { + try (InputStream bundleStream = new FileInputStream(new File(gkeCredentialBundlePath))) { + return SecurityUtils.createMtlsKeyStore(bundleStream); + } catch (FileNotFoundException e) { + // The bundle was removed (e.g. mid-rotation) after the availability check. + throw new CertificateSourceUnavailableException( + "GKE credential bundle at " + + gkeCredentialBundlePath + + " was removed before it could be read (for example, during certificate" + + " rotation). Retry the request or verify that the GKE Pod Certificate volume" + + " is mounted.", + e); + } catch (Exception e) { + throw new IOException( + "X509Provider: Unable to load GKE credential bundle at " + + gkeCredentialBundlePath + + ". Verify that the file contains a valid PEM-encoded X.509 certificate chain" + + " and PKCS#8 private key, or set GOOGLE_API_USE_CLIENT_CERTIFICATE=false to" + + " disable mTLS.", + e); + } + } + } + throw configUnavailable; + } // Read the certificate and private key file paths into streams. try (InputStream certStream = new FileInputStream(new File(workloadCertConfig.getCertPath())); diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCacheUtils.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCacheUtils.java index f8f4c188a60c..eacad1065247 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCacheUtils.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCacheUtils.java @@ -166,6 +166,12 @@ static final class CachedAgentIdentityInfo { */ final @Nullable CertInfo certInfo; + /** + * Whether {@link #certMetadata} points to the well-known GKE credential bundle path ({@link + * AgentIdentityUtils#isGkeCredentialBundle}). + */ + final boolean isGkeCredentialBundle; + /** * Constructs a cached snapshot of Agent Identity evaluation state and file metadata. * @@ -190,6 +196,16 @@ static final class CachedAgentIdentityInfo { this.keyMetadata = keyMetadata; this.shouldRequestBoundToken = shouldRequestBoundToken; this.certInfo = certInfo; + this.isGkeCredentialBundle = + certMetadata != null && AgentIdentityUtils.isGkeCredentialBundle(certMetadata.getPath()); + } + + /** + * Returns {@code true} if this cached entry was discovered from the well-known directory (not a + * certificate config file) and has both certificate and key metadata available for fallback. + */ + boolean canUseWellKnownFallback() { + return configMetadata == null && certMetadata != null && keyMetadata != null; } } diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityUtils.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityUtils.java index 21f55a527e88..49aa3033424e 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityUtils.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityUtils.java @@ -32,6 +32,7 @@ import com.google.api.client.json.GenericJson; import com.google.api.client.json.JsonObjectParser; +import com.google.auth.mtls.MtlsUtils; import com.google.auth.oauth2.AgentIdentityCacheUtils.CachedAgentIdentityInfo; import com.google.auth.oauth2.AgentIdentityCacheUtils.FileMetadata; import com.google.auth.oauth2.AgentIdentityCertificateValidationUtils.InvalidCertificateException; @@ -92,6 +93,22 @@ final class AgentIdentityUtils { private static volatile String wellKnownDir = "/var/run/secrets/workload-spiffe-credentials/"; + /** + * File name of the combined certificate chain and private key bundle that GKE delivers to the + * well-known directory for pods with Agent Identity (Pod Certificates). + * + *

    When {@link #GOOGLE_API_CERTIFICATE_CONFIG} is unset and no well-known gcloud certificate + * configuration file exists, the presence of this bundle auto-enables mTLS on its own (no {@link + * #GOOGLE_API_USE_CLIENT_CERTIFICATE} required). It is never polled for, because GKE delivers it + * before the container starts and polling on its absence would delay every workload without Agent + * Identity. It must be a readable, non-empty file. When present and allowed, it takes precedence + * over the other well-known files, matching the certificate the transport presents. + */ + static final String GKE_CREDENTIAL_BUNDLE_FILE = "x509.credential-bundle.private-key.pem"; + + private static volatile String gkeCredentialBundlePath = + Paths.get(wellKnownDir, GKE_CREDENTIAL_BUNDLE_FILE).toString(); + // Retries for verifying certificate and private key matching during atomic key rotation. private static final int CERT_KEY_MATCH_RETRIES = 3; @@ -117,6 +134,8 @@ final class AgentIdentityUtils { private static volatile EnvironmentProvider environmentProvider = SystemEnvironmentProvider.getInstance(); + private static volatile PropertyProvider propertyProvider = SystemPropertyProvider.getInstance(); + private static volatile TimeService timeService = Thread::sleep; // Tracks whether initial container startup discovery has completed. The 30-second @@ -281,6 +300,21 @@ private static boolean isPathInWellKnownDir(final @Nullable String pathStr) { } } + /** Returns {@code true} if {@code path} is the GKE credential bundle in the well-known dir. */ + static boolean isGkeCredentialBundle(final @Nullable String path) { + return path != null && gkeCredentialBundlePath.equals(path); + } + + /** + * Returns whether the resolved certificate paths came from a workload certificate configuration + * or point at the GKE credential bundle (either of which can enable mTLS without {@link + * #GOOGLE_API_USE_CLIENT_CERTIFICATE} being set to {@code "true"}). + */ + private static boolean hasWorkloadConfigOrGkeBundle( + final boolean hasWorkloadConfig, final @Nullable String certPath) { + return hasWorkloadConfig || isGkeCredentialBundle(certPath); + } + /** * Retrieves the certificate and raw PEM content for the Agent Identity. * @@ -318,18 +352,21 @@ private static boolean isPathInWellKnownDir(final @Nullable String pathStr) { } // isCachedInfoValid() verified that the cached certificate file still exists on disk with // matching metadata, so certsPresent is guaranteed to be true here. - if (!shouldEnableMtls( - /* certsPresent= */ true, /* configExists= */ initialCached.configMetadata != null)) { + boolean hasConfigOrGkeBundle = + hasWorkloadConfigOrGkeBundle( + initialCached.configMetadata != null, initialCached.certMetadata.getPath()); + if (!shouldEnableMtls(/* certsPresent= */ true, hasConfigOrGkeBundle)) { return null; } return initialCached.certInfo; } ResolvedCertAndKeyPaths paths = resolveCertAndKeyPaths(certConfigPath, initialCached); - boolean configExists = paths.hasWorkloadConfig(); + boolean hasConfigOrGkeBundle = + hasWorkloadConfigOrGkeBundle(paths.hasWorkloadConfig(), paths.getCertPath()); boolean certsPresent = !Strings.isNullOrEmpty(paths.getCertPath()); - if (!shouldEnableMtls(certsPresent, configExists)) { + if (!shouldEnableMtls(certsPresent, hasConfigOrGkeBundle)) { if (isMtlsExplicitlyDisabled()) { mtlsDisabledEvaluated = true; } @@ -652,10 +689,42 @@ private static ResolvedCertAndKeyPaths getPathsFromConfigWithRetry( /** Searches for certificates at well-known locations with retry logic. */ private static ResolvedCertAndKeyPaths getWellKnownCertificatePathWithRetry( final @Nullable CachedAgentIdentityInfo initialCached) throws IOException { + if (isMtlsExplicitlyDisabled()) { + initialStartupCompleted = true; + return new ResolvedCertAndKeyPaths(null, null, false); + } + + // Unlike the Cloud Run well-known files below (which may be delivered asynchronously and are + // polled for up to 30s on initial startup), GKE mounts the Pod Certificate volume before the + // container starts, so we perform a single immediate check per call without startup polling. + // When found, we mark initialStartupCompleted = true so subsequent refreshes during rotation do + // not enter the 30s startup polling loop. + // The GKE credential bundle is only used when no well-known gcloud certificate configuration + // file exists (it would otherwise be the transport's mTLS certificate source). + boolean gkeBundleAllowed = + !MtlsUtils.hasCertificateConfiguration(environmentProvider, propertyProvider); + String gkeBundlePath = gkeCredentialBundlePath; + if (gkeBundleAllowed && MtlsUtils.isGkeCredentialBundleReady(gkeBundlePath)) { + initialStartupCompleted = true; + // GKE combined bundle file contains both certificate chain and private key + return new ResolvedCertAndKeyPaths(gkeBundlePath, gkeBundlePath, false); + } + if (!isMtlsExplicitlyEnabled()) { - // Without a config file (configExists == false), mTLS is only enabled when - // GOOGLE_API_USE_CLIENT_CERTIFICATE is explicitly "true". + // Without a config file or GOOGLE_API_USE_CLIENT_CERTIFICATE="true", only the GKE credential + // bundle can auto-enable mTLS. If a GKE credential was previously cached and the bundle is + // transiently unavailable (e.g. mid-rotation), return the cached paths so + // loadAndVerifyCredentials can fall back to the cached credential. initialStartupCompleted = true; + CachedAgentIdentityInfo fallbackCached = + AgentIdentityCacheUtils.getLatestOrInitialCache(initialCached); + if (gkeBundleAllowed + && fallbackCached != null + && fallbackCached.canUseWellKnownFallback() + && fallbackCached.isGkeCredentialBundle) { + return new ResolvedCertAndKeyPaths( + fallbackCached.certMetadata.getPath(), fallbackCached.keyMetadata.getPath(), false); + } return new ResolvedCertAndKeyPaths(null, null, false); } @@ -715,9 +784,10 @@ private static ResolvedCertAndKeyPaths getWellKnownCertificatePathWithRetry( CachedAgentIdentityInfo fallbackCached = AgentIdentityCacheUtils.getLatestOrInitialCache(initialCached); if (fallbackCached != null - && fallbackCached.configMetadata == null - && fallbackCached.certMetadata != null - && fallbackCached.keyMetadata != null) { + && fallbackCached.canUseWellKnownFallback() + // A cached GKE credential is only reused while the GKE bundle is still allowed (no + // certificate configuration exists), matching the certificate the transport presents. + && (!fallbackCached.isGkeCredentialBundle || gkeBundleAllowed)) { return new ResolvedCertAndKeyPaths( fallbackCached.certMetadata.getPath(), fallbackCached.keyMetadata.getPath(), false); } @@ -738,6 +808,9 @@ private static ResolvedCertAndKeyPaths getWellKnownCertificatePathWithRetry( * workload config exists ({@code configExists == true}), whereas when {@code * GOOGLE_API_USE_CLIENT_CERTIFICATE="true"} (Case 1), mTLS is enabled whenever {@code * certsPresent == true} even from the well-known directory ({@code configExists == false}). + * + *

    Callers pass {@code configExists == true} for the GKE credential bundle as well (see {@link + * #GKE_CREDENTIAL_BUNDLE_FILE}), since its presence auto-enables mTLS on its own. */ static boolean shouldEnableMtls(final boolean certsPresent, final boolean configExists) throws IOException { @@ -836,7 +909,9 @@ private static ResolvedCertAndKeyPaths extractPathsFromConfig(final String certC @VisibleForTesting static void resetForTest() { wellKnownDir = "/var/run/secrets/workload-spiffe-credentials/"; + gkeCredentialBundlePath = Paths.get(wellKnownDir, GKE_CREDENTIAL_BUNDLE_FILE).toString(); environmentProvider = SystemEnvironmentProvider.getInstance(); + propertyProvider = SystemPropertyProvider.getInstance(); timeService = Thread::sleep; resetCachedState(); } @@ -857,6 +932,7 @@ static String getWellKnownDir() { @VisibleForTesting static void setWellKnownDir(final String dir) { wellKnownDir = dir; + gkeCredentialBundlePath = Paths.get(dir, GKE_CREDENTIAL_BUNDLE_FILE).toString(); resetCachedState(); } @@ -867,6 +943,16 @@ static void setEnvironmentProvider(final EnvironmentProvider provider) { resetCachedState(); } + /** + * Sets the system property provider for testing. Used to resolve the well-known gcloud + * certificate configuration file location. + */ + @VisibleForTesting + static void setPropertyProvider(final PropertyProvider provider) { + propertyProvider = provider; + resetCachedState(); + } + /** Sets the time and sleep service for testing. */ @VisibleForTesting static void setTimeService(final TimeService service) { diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java index d5fdc840d804..546dfbd2c220 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java @@ -39,6 +39,8 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; @@ -46,6 +48,18 @@ class MtlsUtilsTest { @TempDir Path tempDir; + @BeforeEach + void setUp() { + // Never consult the real GKE well-known path from tests. + MtlsUtils.setGkeCredentialBundlePathForTesting( + tempDir.resolve("no-gke-bundle").resolve("bundle.pem").toString()); + } + + @AfterEach + void tearDown() { + MtlsUtils.setGkeCredentialBundlePathForTesting(null); + } + @Test void getCertificatePath_succeeds() throws IOException { Path configFile = tempDir.resolve("config.json"); @@ -738,4 +752,124 @@ void getCertificateFingerprint_invalidOrNull_returnsNull() { assertNull(MtlsUtils.getCertificateFingerprint("/nonexistent/file.crt")); assertNull(MtlsUtils.getCertificateFingerprint(tempDir.toString())); // Directory } + + // --- GKE Credential Bundle Tests --- + + private PropertyProvider homeInTempDir() { + return (name, def) -> { + if ("user.home".equals(name)) return tempDir.resolve("home").toString(); + if ("os.name".equals(name)) return "Linux"; + return def; + }; + } + + private Path writeGkeBundle() throws IOException { + Path bundle = tempDir.resolve("x509.credential-bundle.private-key.pem"); + Files.write(bundle, "bundle".getBytes()); + MtlsUtils.setGkeCredentialBundlePathForTesting(bundle.toString()); + return bundle; + } + + private void writeDefaultGcloudConfig(String content) throws IOException { + Path gcloudDir = tempDir.resolve("home").resolve(".config").resolve("gcloud"); + Files.createDirectories(gcloudDir); + Files.write(gcloudDir.resolve("certificate_config.json"), content.getBytes()); + } + + @Test + void getWorkloadCertPath_noConfig_gkeBundlePresent_returnsBundlePath() throws IOException { + Path bundle = writeGkeBundle(); + EnvironmentProvider envProvider = name -> null; + + assertEquals(bundle.toString(), MtlsUtils.getWorkloadCertPath(envProvider, homeInTempDir())); + assertTrue(MtlsUtils.useMtlsClientCertificate(envProvider, homeInTempDir())); + } + + @Test + void getWorkloadCertPath_noConfig_gkeBundleAbsent_returnsNull() { + MtlsUtils.setGkeCredentialBundlePathForTesting(tempDir.resolve("missing.pem").toString()); + EnvironmentProvider envProvider = name -> null; + + assertNull(MtlsUtils.getWorkloadCertPath(envProvider, homeInTempDir())); + assertFalse(MtlsUtils.useMtlsClientCertificate(envProvider, homeInTempDir())); + } + + @Test + void getWorkloadCertPath_gkeBundleIsDirectory_returnsNull() throws IOException { + Path dir = Files.createDirectory(tempDir.resolve("x509.credential-bundle.private-key.pem")); + MtlsUtils.setGkeCredentialBundlePathForTesting(dir.toString()); + + assertNull(MtlsUtils.getWorkloadCertPath(name -> null, homeInTempDir())); + } + + @Test + void getWorkloadCertPath_gkeBundleEmpty_returnsNull() throws IOException { + Path bundle = Files.createFile(tempDir.resolve("x509.credential-bundle.private-key.pem")); + MtlsUtils.setGkeCredentialBundlePathForTesting(bundle.toString()); + EnvironmentProvider envProvider = name -> null; + + assertNull(MtlsUtils.getWorkloadCertPath(envProvider, homeInTempDir())); + assertFalse(MtlsUtils.useMtlsClientCertificate(envProvider, homeInTempDir())); + assertNull(MtlsUtils.getGkeCredentialBundlePath(envProvider, homeInTempDir())); + } + + @Test + void getWorkloadCertPath_useClientCertFalse_ignoresGkeBundle() throws IOException { + writeGkeBundle(); + EnvironmentProvider envProvider = + name -> "GOOGLE_API_USE_CLIENT_CERTIFICATE".equals(name) ? "false" : null; + + assertNull(MtlsUtils.getWorkloadCertPath(envProvider, homeInTempDir())); + assertFalse(MtlsUtils.useMtlsClientCertificate(envProvider, homeInTempDir())); + } + + @Test + void getWorkloadCertPath_defaultConfigWithoutWorkload_ignoresGkeBundle() throws IOException { + writeGkeBundle(); + writeDefaultGcloudConfig("{\"cert_configs\":{\"enterprise_certificates\":{\"libs\":[]}}}"); + + assertNull(MtlsUtils.getWorkloadCertPath(name -> null, homeInTempDir())); + } + + @Test + void getWorkloadCertPath_explicitConfig_takesPrecedenceOverGkeBundle() throws IOException { + writeGkeBundle(); + Path certFile = Files.write(tempDir.resolve("cert.pem"), "cert".getBytes()); + Path keyFile = Files.write(tempDir.resolve("key.pem"), "key".getBytes()); + Path configFile = tempDir.resolve("config.json"); + Files.write( + configFile, + ("{\"cert_configs\":{\"workload\":{\"cert_path\":\"" + + certFile + + "\",\"key_path\":\"" + + keyFile + + "\"}}}") + .getBytes()); + EnvironmentProvider envProvider = + name -> "GOOGLE_API_CERTIFICATE_CONFIG".equals(name) ? configFile.toString() : null; + + assertEquals(certFile.toString(), MtlsUtils.getWorkloadCertPath(envProvider, homeInTempDir())); + } + + @Test + void hasCertificateConfiguration_reflectsExplicitEnvAndDefaultFile() throws IOException { + assertFalse(MtlsUtils.hasCertificateConfiguration(name -> null, homeInTempDir())); + assertTrue( + MtlsUtils.hasCertificateConfiguration( + name -> "GOOGLE_API_CERTIFICATE_CONFIG".equals(name) ? "/any/path.json" : null, + homeInTempDir())); + + writeDefaultGcloudConfig("{}"); + assertTrue(MtlsUtils.hasCertificateConfiguration(name -> null, homeInTempDir())); + } + + @Test + void getGkeCredentialBundlePath_onlyWhenNoConfiguration() throws IOException { + Path bundle = writeGkeBundle(); + assertEquals( + bundle.toString(), MtlsUtils.getGkeCredentialBundlePath(name -> null, homeInTempDir())); + + writeDefaultGcloudConfig("{}"); + assertNull(MtlsUtils.getGkeCredentialBundlePath(name -> null, homeInTempDir())); + } } diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/X509ProviderTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/X509ProviderTest.java index 5ddd1a169d29..493189b68c7a 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/X509ProviderTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/X509ProviderTest.java @@ -31,7 +31,9 @@ package com.google.auth.mtls; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -50,10 +52,12 @@ import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; class X509ProviderTest { private static final String TEST_CERT_PATH = "testresources/mtls/test_cert.pem"; + private static final String TEST_KEY_PATH = "testresources/mtls/test_key.pem"; private static final String TEST_CONFIG_PATH = "testresources/mtls/certificate_config.json"; @Test @@ -208,4 +212,158 @@ void x509Provider_malformedCert_throws() throws IOException { assertThrows(Exception.class, testProvider::getKeyStore); } + + @Test + void x509Provider_noConfig_usesGkeCredentialBundle(@TempDir Path tempDir) throws Exception { + Path bundle = writeGkeBundle(tempDir, /* keyFirst= */ false); + MtlsUtils.setGkeCredentialBundlePathForTesting(bundle.toString()); + try { + X509Provider testProvider = + new X509Provider(new TestEnvironmentProvider(), noGcloudConfig(tempDir), null, true); + + KeyStore store = testProvider.getKeyStore(); + assertEquals(1, store.size()); + assertNotNull(store.getCertificateAlias(loadTestCert())); + assertTrue(testProvider.isAvailable()); + } finally { + MtlsUtils.setGkeCredentialBundlePathForTesting(null); + } + } + + @Test + void x509Provider_noConfig_usesGkeCredentialBundleWithKeyFirst(@TempDir Path tempDir) + throws Exception { + Path bundle = writeGkeBundle(tempDir, /* keyFirst= */ true); + MtlsUtils.setGkeCredentialBundlePathForTesting(bundle.toString()); + try { + X509Provider testProvider = + new X509Provider(new TestEnvironmentProvider(), noGcloudConfig(tempDir), null, true); + + KeyStore store = testProvider.getKeyStore(); + assertNotNull(store.getCertificateAlias(loadTestCert())); + } finally { + MtlsUtils.setGkeCredentialBundlePathForTesting(null); + } + } + + @Test + void x509Provider_explicitConfigEnv_takesPrecedenceOverGkeCredentialBundle(@TempDir Path tempDir) + throws Exception { + MtlsUtils.setGkeCredentialBundlePathForTesting( + tempDir.resolve("does_not_matter.pem").toString()); + try { + TestEnvironmentProvider envProvider = new TestEnvironmentProvider(); + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", "badfile.txt"); + // Even with a bundle present, an explicit config is used (and fails here). + writeGkeBundleAt(tempDir.resolve("does_not_matter.pem"), false); + X509Provider testProvider = + new X509Provider(envProvider, noGcloudConfig(tempDir), null, true); + + CertificateSourceUnavailableException e = + assertThrows(CertificateSourceUnavailableException.class, testProvider::getKeyStore); + assertFalse(String.valueOf(e.getMessage()).contains("GKE")); + } finally { + MtlsUtils.setGkeCredentialBundlePathForTesting(null); + } + } + + @Test + void x509Provider_defaultGcloudConfig_takesPrecedenceOverGkeCredentialBundle( + @TempDir Path tempDir) throws Exception { + Path bundle = writeGkeBundle(tempDir, false); + MtlsUtils.setGkeCredentialBundlePathForTesting(bundle.toString()); + try { + Path gcloudDir = tempDir.resolve("home").resolve(".config").resolve("gcloud"); + Files.createDirectories(gcloudDir); + Files.write( + gcloudDir.resolve("certificate_config.json"), + "{\"cert_configs\":{\"enterprise_certificates\":{}}}".getBytes(UTF_8)); + + X509Provider testProvider = + new X509Provider(new TestEnvironmentProvider(), noGcloudConfig(tempDir), null, true); + + CertificateSourceUnavailableException e = + assertThrows(CertificateSourceUnavailableException.class, testProvider::getKeyStore); + assertFalse(String.valueOf(e.getMessage()).contains("GKE")); + } finally { + MtlsUtils.setGkeCredentialBundlePathForTesting(null); + } + } + + @Test + void x509Provider_overridePath_ignoresGkeCredentialBundle(@TempDir Path tempDir) + throws Exception { + Path bundle = writeGkeBundle(tempDir, false); + MtlsUtils.setGkeCredentialBundlePathForTesting(bundle.toString()); + try { + X509Provider testProvider = + new X509Provider( + new TestEnvironmentProvider(), noGcloudConfig(tempDir), "badfile.txt", true); + + CertificateSourceUnavailableException e = + assertThrows(CertificateSourceUnavailableException.class, testProvider::getKeyStore); + assertFalse(String.valueOf(e.getMessage()).contains("GKE")); + } finally { + MtlsUtils.setGkeCredentialBundlePathForTesting(null); + } + } + + @Test + void x509Provider_noConfigAndNoGkeCredentialBundle_isUnavailable(@TempDir Path tempDir) + throws Exception { + MtlsUtils.setGkeCredentialBundlePathForTesting(tempDir.resolve("missing.pem").toString()); + try { + X509Provider testProvider = + new X509Provider(new TestEnvironmentProvider(), noGcloudConfig(tempDir), null, true); + + assertThrows(CertificateSourceUnavailableException.class, testProvider::getKeyStore); + assertFalse(testProvider.isAvailable()); + } finally { + MtlsUtils.setGkeCredentialBundlePathForTesting(null); + } + } + + @Test + void x509Provider_publicConstructor_ignoresGkeCredentialBundle(@TempDir Path tempDir) + throws Exception { + Path bundle = writeGkeBundle(tempDir, false); + MtlsUtils.setGkeCredentialBundlePathForTesting(bundle.toString()); + try { + // Non-transport callers (e.g. workload identity federation X.509 credentials) keep the + // existing certificate configuration lookup and never fall back to the GKE bundle. + X509Provider testProvider = + new X509Provider(new TestEnvironmentProvider(), noGcloudConfig(tempDir), null); + + assertThrows(CertificateSourceUnavailableException.class, testProvider::getKeyStore); + assertFalse(testProvider.isAvailable()); + } finally { + MtlsUtils.setGkeCredentialBundlePathForTesting(null); + } + } + + /** Property provider whose user.home has no gcloud certificate_config.json. */ + private static TestPropertyProvider noGcloudConfig(Path tempDir) { + TestPropertyProvider propProvider = new TestPropertyProvider(); + propProvider.setProperty("os.name", "Linux"); + propProvider.setProperty("user.home", tempDir.resolve("home").toString()); + return propProvider; + } + + private static Certificate loadTestCert() throws IOException, CertificateException { + try (FileInputStream fis = new FileInputStream(new File(TEST_CERT_PATH))) { + return CertificateFactory.getInstance("X.509").generateCertificate(fis); + } + } + + private static Path writeGkeBundle(Path dir, boolean keyFirst) throws IOException { + return writeGkeBundleAt(dir.resolve("x509.credential-bundle.private-key.pem"), keyFirst); + } + + private static Path writeGkeBundleAt(Path bundle, boolean keyFirst) throws IOException { + String cert = new String(Files.readAllBytes(new File(TEST_CERT_PATH).toPath()), UTF_8); + String key = new String(Files.readAllBytes(new File(TEST_KEY_PATH).toPath()), UTF_8); + String content = keyFirst ? key + "\n" + cert : cert + "\n" + key; + Files.write(bundle, content.getBytes(UTF_8)); + return bundle; + } } diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/AgentIdentityUtilsTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/AgentIdentityUtilsTest.java index e9302576435f..d6d25407a394 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/AgentIdentityUtilsTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/AgentIdentityUtilsTest.java @@ -71,6 +71,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; @@ -95,6 +96,7 @@ class AgentIdentityUtilsTest { "spiffe://agents.global.org-INVALID.system.id.goog/path"; private TestEnvironmentProvider envProvider; + private TestPropertyProvider propertyProvider; @TempDir private Path tempDir; @BeforeEach @@ -102,6 +104,12 @@ void setUp() throws IOException { envProvider = new TestEnvironmentProvider(); AgentIdentityUtils.setEnvironmentProvider(envProvider); AgentIdentityUtils.setTimeService(new FakeTimeService()); + // Resolve the well-known gcloud certificate_config.json under a temp home, so a real config on + // the machine running the tests cannot affect GKE credential bundle discovery. + propertyProvider = new TestPropertyProvider(); + propertyProvider.setProperty("os.name", "Linux"); + propertyProvider.setProperty("user.home", tempDir.resolve("home").toString()); + AgentIdentityUtils.setPropertyProvider(propertyProvider); } @AfterEach @@ -1808,6 +1816,221 @@ public void verifyKeyPair_unsupportedKeyAlgorithm_throwsUnsupportedKeyAlgorithmE assertTrue(e.getMessage().contains("Unsupported key algorithm: DSA")); } + // --- GKE credential bundle (x509.credential-bundle.private-key.pem) --- + + private Path writeGkeBundleInWellKnownDir(String certResource, String keyResource) + throws Exception { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + String certPem = + new String( + Files.readAllBytes(Paths.get(resourcePath(certResource))), StandardCharsets.UTF_8); + String keyPem = + new String( + Files.readAllBytes(Paths.get(resourcePath(keyResource))), StandardCharsets.UTF_8); + Path bundle = tempDir.resolve(AgentIdentityUtils.GKE_CREDENTIAL_BUNDLE_FILE); + Files.write(bundle, (certPem + "\n" + keyPem).getBytes(StandardCharsets.UTF_8)); + return bundle; + } + + private Path writeAgentGkeBundle() throws Exception { + return writeGkeBundleInWellKnownDir( + "agent/agent_spiffe_cert.pem", "agent/agent_spiffe_key.pem"); + } + + @Test + public void getAgentIdentityCertInfo_gkeBundle_implicit_returnsCertWithoutPolling() + throws Exception { + writeAgentGkeBundle(); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + AgentIdentityUtils.CertInfo info = AgentIdentityUtils.getAgentIdentityCertInfo(); + + assertNotNull(info); + assertTrue( + AgentIdentityCertificateValidationUtils.shouldRequestBoundToken(info.getCertificate())); + assertTrue(info.getCertContent().contains("BEGIN CERTIFICATE")); + assertFalse(info.getCertContent().contains("PRIVATE KEY")); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_gkeBundle_secondCallUsesCacheAndStaysBound() + throws Exception { + writeAgentGkeBundle(); + + AgentIdentityUtils.CertInfo first = AgentIdentityUtils.getAgentIdentityCertInfo(); + AgentIdentityUtils.CertInfo second = AgentIdentityUtils.getAgentIdentityCertInfo(); + + assertNotNull(first); + assertSame(first, second); + } + + @Test + public void getAgentIdentityCertInfo_gkeBundle_useClientCertFalse_returnsNull() throws Exception { + writeAgentGkeBundle(); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_USE_CLIENT_CERTIFICATE, "false"); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + @Test + public void getAgentIdentityCertInfo_gkeBundle_enableRuntimeBoundTokenFalse_returnsNull() + throws Exception { + writeAgentGkeBundle(); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN, "false"); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + @Test + public void getAgentIdentityCertInfo_gkeBundle_defaultGcloudConfigExists_returnsNull() + throws Exception { + writeAgentGkeBundle(); + Path gcloudDir = tempDir.resolve("home").resolve(".config").resolve("gcloud"); + Files.createDirectories(gcloudDir); + Files.write(gcloudDir.resolve("certificate_config.json"), "{}".getBytes()); + + // The gcloud config is the transport's mTLS certificate source, so tokens must not be bound to + // the GKE certificate. + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + @Test + public void getAgentIdentityCertInfo_gkeBundle_nonAgentCertificate_returnsNull() + throws Exception { + writeGkeBundleInWellKnownDir("mtls/test_cert.pem", "mtls/test_key.pem"); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + @Test + public void getAgentIdentityCertInfo_gkeBundleAbsent_returnsNullWithoutPolling() + throws Exception { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_gkeBundle_useClientCertTrue_isDiscovered() throws Exception { + writeAgentGkeBundle(); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_USE_CLIENT_CERTIFICATE, "true"); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + assertNotNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_gkeBundleEmpty_returnsNullWithoutPolling() throws Exception { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + Files.createFile(tempDir.resolve(AgentIdentityUtils.GKE_CREDENTIAL_BUNDLE_FILE)); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_gkeBundle_useClientCertTrue_isNotPolledFor() + throws Exception { + AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_USE_CLIENT_CERTIFICATE, "true"); + FakeTimeService fakeTime = new FakeTimeService(); + AtomicBoolean written = new AtomicBoolean(false); + fakeTime.setOnSleepCallback( + () -> { + if (written.compareAndSet(false, true)) { + try { + writeAgentGkeBundle(); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + }); + AgentIdentityUtils.setTimeService(fakeTime); + + // The bundle appears during startup polling, but only the Cloud Run files are polled for. + assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertTrue(written.get()); + + // After startup, the bundle is found by the single up-front check. + assertNotNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + @Test + public void getAgentIdentityCertInfo_gkeBundle_takesPrecedenceOverCloudRunFilesWhenExplicit() + throws Exception { + // The transport presents the GKE bundle when no certificate config exists, so the token must be + // bound to it even if other well-known files are present. + writeAgentGkeBundle(); + copyResource("mtls/test_cert.pem", tempDir.resolve("certificates.pem")); + copyResource("mtls/test_key.pem", tempDir.resolve("private_key.pem")); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_USE_CLIENT_CERTIFICATE, "true"); + + // The GKE bundle (agent cert) wins over certificates.pem/private_key.pem (non-agent cert). + AgentIdentityUtils.CertInfo info = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info); + } + + @Test + public void getAgentIdentityCertInfo_gkeBundleRemovedAfterCaching_fallsBackToCachedCredential() + throws Exception { + Path bundle = writeAgentGkeBundle(); + AgentIdentityUtils.CertInfo first = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(first); + + // Simulate a transient gap during rotation. + Files.delete(bundle); + + assertSame(first, AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + private void writeDefaultGcloudCertificateConfig() throws Exception { + Path gcloudDir = tempDir.resolve("home").resolve(".config").resolve("gcloud"); + Files.createDirectories(gcloudDir); + Files.write(gcloudDir.resolve("certificate_config.json"), "{}".getBytes()); + } + + @Test + public void getAgentIdentityCertInfo_gkeBundleRemovedAfterCaching_configAppears_doesNotUseCache() + throws Exception { + Path bundle = writeAgentGkeBundle(); + assertNotNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + + // The bundle is transiently missing and a certificate config now exists, so the transport + // presents the config's certificate; the cached GKE credential must not be reused. + Files.delete(bundle); + writeDefaultGcloudCertificateConfig(); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + } + + @Test + public void + getAgentIdentityCertInfo_gkeBundleRemovedAfterCaching_configAppears_explicit_doesNotUseCache() + throws Exception { + Path bundle = writeAgentGkeBundle(); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_USE_CLIENT_CERTIFICATE, "true"); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + assertNotNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + + Files.delete(bundle); + writeDefaultGcloudCertificateConfig(); + + // No other well-known files exist and the cached GKE credential is not allowed anymore. + assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertEquals(0, fakeTime.getSleepCount()); + } + private String resourcePath(String resource) throws Exception { URL url = getClass().getClassLoader().getResource(resource); assertNotNull(url, "Test resource " + resource + " not found"); From 4aad503952ba0ebc7a4cb63d3c13fc4670979a80 Mon Sep 17 00:00:00 2001 From: macastelaz <34776182+macastelaz@users.noreply.github.com> Date: Wed, 14 Oct 2026 11:00:48 -0500 Subject: [PATCH 09/12] fix(gax): drop jsr305 annotations left over after syncing with main (#14626) ## Why After the `main` sync (`03af2000542`), the `dependencies` check fails on every PR targeting this branch, for example #14559: ``` [ERROR] Used undeclared dependencies found: [ERROR] com.google.code.findbugs:jsr305:jar:3.0.2:compile ... gax-grpc / gax-httpjson: Dependency problems found ``` `main` moved GAX off `jsr305`: it uses JSpecify for nullness, and `gax-grpc`/`gax-httpjson` no longer declare `jsr305`. Two `javax.annotation` uses that came in with #13995 (certificate rotation retries) are still on this branch. They compile, because `jsr305` still arrives transitively, but `dependency:analyze` correctly flags them. ## What changes These are annotation-only edits with no behavior change: - **`gax-grpc/.../ChannelPool.java`:** the `@GuardedBy("entryWriteLock")` annotation (from `javax.annotation.concurrent`) becomes a `// Guarded by entryWriteLock.` comment. I didn't switch to Error Prone's `@GuardedBy`, because `gax-grpc` doesn't depend on Error Prone annotations, so that would just trade one undeclared dependency for another. On `main`, `gax-grpc` uses no `@GuardedBy`. - **`gax-httpjson/.../RefreshingHttpJsonChannelTest.java`:** `javax.annotation.Nullable` becomes `org.jspecify.annotations.Nullable`, as in the rest of GAX. These are the only `javax.annotation` imports in `gax-java`, `google-auth-library-java` and `java-core` that are on this branch but not on `main`. ## Tests `dependency:analyze` was run the same way as `.kokoro/dependencies.sh` (`mvn dependency:analyze -Pquick-build -DfailOnWarning=true -Dmdep.analyze.skip=false`) on `gax-grpc` and `gax-httpjson`: - without this change: `Used undeclared dependencies found: com.google.code.findbugs:jsr305`, BUILD FAILURE (the same as CI); - with this change: BUILD SUCCESS. Unit tests: `gax-grpc` 252 and `gax-httpjson` 234 tests, 0 failures. `fmt` is clean. --- .../src/main/java/com/google/api/gax/grpc/ChannelPool.java | 3 +-- .../google/api/gax/httpjson/RefreshingHttpJsonChannelTest.java | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/ChannelPool.java b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/ChannelPool.java index afd59512158a..d31a76619725 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/ChannelPool.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/ChannelPool.java @@ -58,7 +58,6 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.logging.Level; import java.util.logging.Logger; -import javax.annotation.concurrent.GuardedBy; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -93,7 +92,7 @@ class ChannelPool extends ManagedChannel { private final CertificateRotationTracker rotationTracker; private final Object entryWriteLock = new Object(); - @GuardedBy("entryWriteLock") + // Guarded by entryWriteLock. private boolean isShutdown = false; private final AtomicLong generation = new AtomicLong(0); diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/RefreshingHttpJsonChannelTest.java b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/RefreshingHttpJsonChannelTest.java index 768411f1a13a..74f462bf831a 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/RefreshingHttpJsonChannelTest.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/RefreshingHttpJsonChannelTest.java @@ -54,7 +54,7 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Function; import java.util.function.Supplier; -import javax.annotation.Nullable; +import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; From 215fabbd9fb160e7aedc9614a6bf82ef611e3420 Mon Sep 17 00:00:00 2001 From: macastelaz <34776182+macastelaz@users.noreply.github.com> Date: Fri, 16 Oct 2026 08:36:32 -0500 Subject: [PATCH 10/12] fix(auth): present the full certificate chain for mTLS (#14621) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Why `X509Provider` and `SecureConnectProvider` build their mTLS key store with google-http-client's `SecurityUtils.createMtlsKeyStore`. That method keeps only the **first** `CERTIFICATE` in the PEM input, so Java presents only the leaf certificate in the TLS handshake. This is unchanged in the latest google-http-client release (2.2.0). - **Google APIs over `*.mtls.googleapis.com` are unaffected**, because Google's front ends already know the intermediates. - **Peers that trust only a root CA can't verify the leaf without the intermediate**, so they reject the handshake. - A common case is agent-to-agent mTLS, where the receiving agent trusts the SPIFFE trust bundle. - Agent identity certificates on GKE (and Cloud Run) are issued by an intermediate CA, so a Java agent that reuses the SDK's mTLS key store can't call such a peer. - Python sends the whole chain (`load_cert_chain`). This bug predates the agent identity work; the agent identity testing caught it. ## What changes **New package-private `MtlsKeyStoreUtils.createMtlsKeyStore(InputStream)`.** It replaces the upstream method. - **The change:** the key entry's chain holds **every distinct certificate**, in input order. The first certificate is still the leaf. - **Same as upstream:** key store type (JKS), alias, empty password, accepted key format (PKCS#8 `PRIVATE KEY`), which private key is chosen when there are several, and error messages. - **Also different from upstream:** the input is decoded as UTF-8 instead of the platform default charset, and it's read to the end. Upstream stopped once it had a certificate and a key. **Used by:** - `X509Provider.getKeyStore()`, on both the certificate-configuration path (Cloud Run, WIF X.509) and the GKE credential-bundle path; - `SecureConnectProvider.getKeyStore()` (ECP), which drains the bytes already buffered on the helper's stdout after the process exits so a background child process holding stdout open cannot block waiting for EOF. **Inputs that worked before still work.** Because more of the input is now parsed, once a certificate and a private key have been found (the point where upstream stopped reading): - a malformed later PEM section ends the input instead of failing; - an extra certificate that can't be parsed is left out of the chain (and logged at `FINE`). **Unchanged:** - exception wrapping in the providers; - the token side: the `cnf` binding is still the leaf thumbprint, read from the certificate file; - the public API (no clirr impact). **Known limitations (unchanged from before):** - GAX's deprecated `com.google.api.gax.rpc.mtls.MtlsProvider` (ECP-only) still uses the upstream method. GAX's transports don't use it; they use `com.google.auth.mtls.MtlsProvider` through `DefaultMtlsProviderFactory`. - There's no check that the private key matches the first certificate (same as upstream). ## Tests ### Unit tests - `MtlsKeyStoreUtilsTest` (new), using a generated test chain (root → intermediate → leaf, EC P-256, long validity) in `testresources/mtls/test_chain_{cert,key}.pem`: - upstream `SecurityUtils.createMtlsKeyStore` keeps only the leaf for the same input. This pins down the bug, and the test fails if upstream ever fixes it; - leaf + intermediate (and 3-certificate chains) in order, with the certificates first or the key first, and duplicate certificates deduplicated; - the private key matches the leaf (sign/verify); - a single certificate gives the same alias, type, certificate and key as `SecurityUtils.createMtlsKeyStore`; - non-certificate sections are ignored; - with several private keys, the same key is chosen as upstream: the last one before the first certificate, or the first one after it. Each of these tests runs upstream on the same input and compares the encoded key bytes; - a malformed trailing section after a certificate and key is ignored, while a malformed section after only a certificate or only a key throws `IllegalArgumentException`, and an `IOException` mid-stream propagates; - an unparsable or empty extra certificate is left out; - an unparsable leaf, a missing certificate, or a missing key throws, with the same messages as before. - `X509ProviderTest`: a GKE bundle with an intermediate (certificates first, and key first as GKE writes it), and a certificate config whose `cert_path` holds a chain, all give leaf + intermediate. - `SecureConnectProviderTest`: helper output with a chain gives leaf + intermediate, and only buffered stdout bytes are read after the process exits. The provider tests fail without the fix (`expected: <2> but was: <1>`). Full `oauth2_http` suite passes. `fmt` is clean. ### Live tests | Environment | Check | Before | After | |---|---|---|---| | GKE agent identity | Agent-to-agent mTLS using the SDK's `DefaultMtlsProviderFactory` key store, against a receiver that trusts only the SPIFFE root | `Broken pipe` (handshake rejected) | **200** | | GKE agent identity | GCS over `storage.mtls.googleapis.com`, GAX clients over gRPC and HTTP/JSON, bound tokens | pass | pass (unchanged) | | Workload identity federation X.509 (STS mTLS) | Token exchange with a leaf-only `cert_path` | success, leaf sent | success, leaf sent | | Workload identity federation X.509 (STS mTLS) | Token exchange with a leaf + intermediate `cert_path` | success, **leaf only** sent | success, **leaf + intermediate** sent | The certificates sent were confirmed from the TLS handshake debug log. The live tests ran on the first commit (`b2876a4d3a9`). Subsequent commits only refine how unusual or malformed inputs are handled, plus tests, so well-formed GKE and WIF files behave the same. **Internal links (Googlers only):** [live test results](https://paste.googleplex.com/5884065727774720) · GKE [setup](https://paste.googleplex.com/5635555912712192), [manifests](https://paste.googleplex.com/6258309762514944) and [harness](https://paste.googleplex.com/4882197073494016) (shared with #14595) --- .../google/auth/mtls/MtlsKeyStoreUtils.java | 173 +++++++++ .../auth/mtls/SecureConnectProvider.java | 24 +- .../com/google/auth/mtls/X509Provider.java | 8 +- .../auth/mtls/MtlsKeyStoreUtilsTest.java | 345 ++++++++++++++++++ .../auth/mtls/SecureConnectProviderTest.java | 60 ++- .../google/auth/mtls/X509ProviderTest.java | 79 +++- .../testresources/mtls/test_chain_cert.pem | 23 ++ .../testresources/mtls/test_chain_key.pem | 5 + 8 files changed, 706 insertions(+), 11 deletions(-) create mode 100644 google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsKeyStoreUtils.java create mode 100644 google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsKeyStoreUtilsTest.java create mode 100644 google-auth-library-java/oauth2_http/testresources/mtls/test_chain_cert.pem create mode 100644 google-auth-library-java/oauth2_http/testresources/mtls/test_chain_key.pem diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsKeyStoreUtils.java b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsKeyStoreUtils.java new file mode 100644 index 000000000000..d8f51c61935f --- /dev/null +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsKeyStoreUtils.java @@ -0,0 +1,173 @@ +/* + * Copyright 2026 Google LLC + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google LLC nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.google.auth.mtls; + +import com.google.api.client.util.PemReader; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; +import java.security.GeneralSecurityException; +import java.security.KeyFactory; +import java.security.KeyStore; +import java.security.PrivateKey; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.security.cert.CertificateFactory; +import java.security.cert.X509Certificate; +import java.security.spec.PKCS8EncodedKeySpec; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; +import org.jspecify.annotations.NullMarked; + +/** + * Builds the mTLS {@link KeyStore} from PEM-encoded certificates and a private key. + * + *

    This replaces {@code com.google.api.client.util.SecurityUtils#createMtlsKeyStore}, which keeps + * only the first certificate. Here the key entry holds every distinct certificate in the input, so + * the intermediate certificates are presented too. Some peers (for example, another workload that + * trusts only a root CA) need them to verify the client certificate. Because every certificate in + * the input is sent in the TLS handshake, the input should hold only the leaf certificate and its + * intermediates. + * + *

    Everything else matches the upstream method: key store type (JKS), alias, empty password, + * accepted key format (PKCS#8 {@code PRIVATE KEY}), which private key is chosen, and error + * messages. Any input that the upstream method accepted is still accepted, even though more of it + * is now used: once a certificate and a private key have been found (the point where the upstream + * method stopped reading), a malformed later PEM section ends the input instead of failing, and an + * extra certificate that cannot be parsed is left out of the chain. Unlike the upstream method, the + * input is decoded as UTF-8 rather than the platform default charset, and it is read to the end. + */ +@NullMarked +final class MtlsKeyStoreUtils { + + private static final Logger LOGGER = Logger.getLogger(MtlsKeyStoreUtils.class.getName()); + + private MtlsKeyStoreUtils() {} + + /** + * Creates a key store holding one private key entry. + * + * @param certAndKey PEM input containing one or more {@code CERTIFICATE} sections and a PKCS#8 + * {@code PRIVATE KEY} section, in any order. The first certificate must be the one that + * matches the private key (the leaf); the remaining distinct certificates are kept in input + * order as the rest of the chain. If there are several private keys, the one used is the same + * as upstream: the last one before the first certificate, or else the first one after it. The + * stream is read to the end and is not closed. + * @throws IllegalArgumentException if the input has no certificate or no private key, or if a PEM + * section before both a certificate and a private key have been read is malformed + * @throws GeneralSecurityException if the first certificate or the private key cannot be parsed, + * or the key store cannot be created + * @throws IOException if the input cannot be read + */ + static KeyStore createMtlsKeyStore(InputStream certAndKey) + throws GeneralSecurityException, IOException { + List certificates = new ArrayList<>(); + byte[] privateKey = null; + PemReader reader = new PemReader(new InputStreamReader(certAndKey, StandardCharsets.UTF_8)); + while (true) { + PemReader.Section section; + try { + section = reader.readNextSection(); + } catch (IllegalArgumentException e) { + if (!certificates.isEmpty() && privateKey != null) { + // Malformed trailing content after a usable certificate and key: stop here, as the + // upstream method (which stopped reading at this point) would have. + break; + } + throw e; + } + if (section == null) { + break; + } + if ("CERTIFICATE".equals(section.getTitle())) { + byte[] certBytes = section.getBase64DecodedBytes(); + if (!containsCertificate(certificates, certBytes)) { + certificates.add(certBytes); + } + } else if ("PRIVATE KEY".equals(section.getTitle()) + && (privateKey == null || certificates.isEmpty())) { + // Same choice as upstream: a later key replaces an earlier one until the first certificate + // has been seen. + privateKey = section.getBase64DecodedBytes(); + } + } + if (certificates.isEmpty()) { + throw new IllegalArgumentException("certificate is missing from certAndKey string"); + } + if (privateKey == null) { + throw new IllegalArgumentException("private key is missing from certAndKey string"); + } + + CertificateFactory certFactory = CertificateFactory.getInstance("X.509"); + List chain = new ArrayList<>(certificates.size()); + chain.add(parseCertificate(certFactory, certificates.get(0))); + for (int i = 1; i < certificates.size(); i++) { + try { + chain.add(parseCertificate(certFactory, certificates.get(i))); + } catch (CertificateException | RuntimeException e) { + // The upstream method never parsed extra certificates; leave this one out rather than + // fail. + LOGGER.log(Level.FINE, "Skipping unparsable extra certificate in mTLS chain", e); + } + } + PrivateKey key = + KeyFactory.getInstance(chain.get(0).getPublicKey().getAlgorithm()) + .generatePrivate(new PKCS8EncodedKeySpec(privateKey)); + + KeyStore keyStore = KeyStore.getInstance("JKS"); + keyStore.load(null); + keyStore.setKeyEntry("alias", key, new char[] {}, chain.toArray(new X509Certificate[0])); + return keyStore; + } + + private static boolean containsCertificate(List certificates, byte[] candidate) { + for (byte[] existing : certificates) { + if (Arrays.equals(existing, candidate)) { + return true; + } + } + return false; + } + + private static X509Certificate parseCertificate(CertificateFactory certFactory, byte[] der) + throws CertificateException { + Certificate cert = certFactory.generateCertificate(new ByteArrayInputStream(der)); + if (cert == null) { + throw new CertificateException("Empty certificate"); + } + return (X509Certificate) cert; + } +} diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/SecureConnectProvider.java b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/SecureConnectProvider.java index 06294c611c7b..b030a992a9dd 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/SecureConnectProvider.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/SecureConnectProvider.java @@ -32,10 +32,11 @@ import com.google.api.client.json.JsonParser; import com.google.api.client.json.gson.GsonFactory; -import com.google.api.client.util.SecurityUtils; import com.google.api.core.InternalApi; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ImmutableList; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; @@ -147,8 +148,25 @@ static KeyStore getKeyStore(InputStream metadata, ProcessProvider processProvide "SecureConnect: Cert provider command failed with exit code: " + exitCode); } - // Create mTLS key store with the input certificates from shell command. - return SecurityUtils.createMtlsKeyStore(process.getInputStream()); + // Create mTLS key store with the input certificates from shell command. Read only the bytes + // already buffered now that the process has exited, so a background child process holding + // stdout open cannot block waiting for EOF. + ByteArrayOutputStream stdout = new ByteArrayOutputStream(); + try (InputStream processOut = process.getInputStream()) { + if (processOut != null) { + for (int available = processOut.available(); + available > 0; + available = processOut.available()) { + byte[] buffer = new byte[available]; + int read = processOut.read(buffer); + if (read <= 0) { + break; + } + stdout.write(buffer, 0, read); + } + } + } + return MtlsKeyStoreUtils.createMtlsKeyStore(new ByteArrayInputStream(stdout.toByteArray())); } @VisibleForTesting diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/X509Provider.java b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/X509Provider.java index e6f529b087be..fa7deeda21ca 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/X509Provider.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/X509Provider.java @@ -30,7 +30,6 @@ package com.google.auth.mtls; -import com.google.api.client.util.SecurityUtils; import com.google.api.core.InternalApi; import com.google.auth.oauth2.EnvironmentProvider; import com.google.auth.oauth2.PropertyProvider; @@ -143,7 +142,8 @@ public X509Provider() { * which contains both the certificate chain and the private key. * * - * @return a KeyStore containing the X.509 certificate specified by the certificate configuration. + * @return a KeyStore containing the X.509 certificate chain and private key from the certificate + * source above. * @throws CertificateSourceUnavailableException if the certificate source is unavailable (ex. * missing configuration file) * @throws IOException if a general I/O error occurs while creating the KeyStore @@ -169,7 +169,7 @@ public KeyStore getKeyStore() throws CertificateSourceUnavailableException, IOEx MtlsUtils.getGkeCredentialBundlePath(envProvider, propProvider); if (gkeCredentialBundlePath != null) { try (InputStream bundleStream = new FileInputStream(new File(gkeCredentialBundlePath))) { - return SecurityUtils.createMtlsKeyStore(bundleStream); + return MtlsKeyStoreUtils.createMtlsKeyStore(bundleStream); } catch (FileNotFoundException e) { // The bundle was removed (e.g. mid-rotation) after the availability check. throw new CertificateSourceUnavailableException( @@ -201,7 +201,7 @@ public KeyStore getKeyStore() throws CertificateSourceUnavailableException, IOEx new SequenceInputStream(certStream, privateKeyStream)) { // Build a key store using the combined stream. - return SecurityUtils.createMtlsKeyStore(certAndPrivateKeyStream); + return MtlsKeyStoreUtils.createMtlsKeyStore(certAndPrivateKeyStream); } catch (CertificateSourceUnavailableException e) { // Throw the CertificateSourceUnavailableException without wrapping. throw e; diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsKeyStoreUtilsTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsKeyStoreUtilsTest.java new file mode 100644 index 000000000000..5f1e8fca0545 --- /dev/null +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsKeyStoreUtilsTest.java @@ -0,0 +1,345 @@ +/* + * Copyright 2026 Google LLC + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google LLC nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.google.auth.mtls; + +import static java.nio.charset.StandardCharsets.UTF_8; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import com.google.api.client.util.SecurityUtils; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FilterInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.security.KeyStore; +import java.security.PrivateKey; +import java.security.Signature; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.security.spec.InvalidKeySpecException; +import java.util.Collections; +import org.junit.jupiter.api.Test; + +class MtlsKeyStoreUtilsTest { + + // Leaf (CN=Test Leaf) followed by the intermediate that signed it (CN=Test Intermediate CA). + static final String CHAIN_CERT_PATH = "testresources/mtls/test_chain_cert.pem"; + // PKCS#8 private key for the leaf in CHAIN_CERT_PATH. + static final String CHAIN_KEY_PATH = "testresources/mtls/test_chain_key.pem"; + private static final String SINGLE_CERT_PATH = "testresources/mtls/test_cert.pem"; + private static final String SINGLE_KEY_PATH = "testresources/mtls/test_key.pem"; + + @Test + void createMtlsKeyStore_certificatesFirst_keepsFullChainInOrder() throws Exception { + KeyStore keyStore = + MtlsKeyStoreUtils.createMtlsKeyStore(stream(read(CHAIN_CERT_PATH), read(CHAIN_KEY_PATH))); + + assertLeafThenIntermediate(keyStore); + } + + @Test + void createMtlsKeyStore_keyFirst_keepsFullChainInOrder() throws Exception { + KeyStore keyStore = + MtlsKeyStoreUtils.createMtlsKeyStore(stream(read(CHAIN_KEY_PATH), read(CHAIN_CERT_PATH))); + + assertLeafThenIntermediate(keyStore); + } + + @Test + void createMtlsKeyStore_threeCertificates_keepsFullChainInOrder() throws Exception { + KeyStore keyStore = + MtlsKeyStoreUtils.createMtlsKeyStore( + stream(read(CHAIN_CERT_PATH), read(SINGLE_CERT_PATH), read(CHAIN_KEY_PATH))); + + Certificate[] chain = keyStore.getCertificateChain(onlyAlias(keyStore)); + assertEquals(3, chain.length); + assertEquals("CN=Test Leaf", subject(chain[0])); + assertEquals("CN=Test Intermediate CA", subject(chain[1])); + assertEquals( + subject( + SecurityUtils.createMtlsKeyStore(stream(read(SINGLE_CERT_PATH), read(SINGLE_KEY_PATH))) + .getCertificate("alias")), + subject(chain[2])); + } + + @Test + void createMtlsKeyStore_duplicateCertificates_deduplicated() throws Exception { + // Simulates X509Provider concatenating cert_path and key_path when both point to the same + // combined PEM bundle. + String combinedBundle = read(CHAIN_CERT_PATH) + "\n" + read(CHAIN_KEY_PATH); + KeyStore keyStore = + MtlsKeyStoreUtils.createMtlsKeyStore(stream(combinedBundle, combinedBundle)); + + assertLeafThenIntermediate(keyStore); + } + + @Test + void upstreamCreateMtlsKeyStore_keepsOnlyLeaf() throws Exception { + // Documents why MtlsKeyStoreUtils exists. If google-http-client starts keeping the full chain, + // this fails and the helper can be replaced by the upstream method again. + KeyStore keyStore = + SecurityUtils.createMtlsKeyStore(stream(read(CHAIN_CERT_PATH), read(CHAIN_KEY_PATH))); + + assertEquals(1, keyStore.getCertificateChain(onlyAlias(keyStore)).length); + } + + @Test + void createMtlsKeyStore_privateKeyMatchesLeaf() throws Exception { + KeyStore keyStore = + MtlsKeyStoreUtils.createMtlsKeyStore(stream(read(CHAIN_CERT_PATH), read(CHAIN_KEY_PATH))); + String alias = onlyAlias(keyStore); + PrivateKey key = (PrivateKey) keyStore.getKey(alias, new char[] {}); + Certificate leaf = keyStore.getCertificateChain(alias)[0]; + + byte[] data = "chain".getBytes(UTF_8); + Signature signer = Signature.getInstance("SHA256withECDSA"); + signer.initSign(key); + signer.update(data); + byte[] signature = signer.sign(); + Signature verifier = Signature.getInstance("SHA256withECDSA"); + verifier.initVerify(leaf.getPublicKey()); + verifier.update(data); + assertTrue(verifier.verify(signature)); + } + + @Test + void createMtlsKeyStore_singleCertificate_sameAsBefore() throws Exception { + KeyStore keyStore = + MtlsKeyStoreUtils.createMtlsKeyStore(stream(read(SINGLE_CERT_PATH), read(SINGLE_KEY_PATH))); + KeyStore expected = + SecurityUtils.createMtlsKeyStore(stream(read(SINGLE_CERT_PATH), read(SINGLE_KEY_PATH))); + + String alias = onlyAlias(keyStore); + assertEquals(Collections.list(expected.aliases()), Collections.list(keyStore.aliases())); + assertEquals(expected.getType(), keyStore.getType()); + Certificate[] chain = keyStore.getCertificateChain(alias); + assertEquals(1, chain.length); + assertArrayEquals(expected.getCertificate(alias).getEncoded(), chain[0].getEncoded()); + assertArrayEquals( + expected.getKey(alias, new char[] {}).getEncoded(), + keyStore.getKey(alias, new char[] {}).getEncoded()); + } + + @Test + void createMtlsKeyStore_ignoresOtherSections() throws Exception { + String other = "-----BEGIN EC PARAMETERS-----\nBggqhkjOPQMBBw==\n-----END EC PARAMETERS-----\n"; + KeyStore keyStore = + MtlsKeyStoreUtils.createMtlsKeyStore( + stream(other, read(CHAIN_CERT_PATH), other, read(CHAIN_KEY_PATH))); + + assertEquals(2, keyStore.getCertificateChain(onlyAlias(keyStore)).length); + } + + @Test + void createMtlsKeyStore_keysBeforeCertificate_usesLastKeyLikeUpstream() throws Exception { + // RSA key, then the leaf's EC key, then the certificates: the key just before the first + // certificate is used. + String input = + String.join("\n", read(SINGLE_KEY_PATH), read(CHAIN_KEY_PATH), read(CHAIN_CERT_PATH)); + + KeyStore keyStore = MtlsKeyStoreUtils.createMtlsKeyStore(stream(input)); + KeyStore upstream = SecurityUtils.createMtlsKeyStore(stream(input)); + + byte[] expectedKeyBytes = expectedChainKeyEncoded(); + assertArrayEquals( + expectedKeyBytes, keyStore.getKey(onlyAlias(keyStore), new char[] {}).getEncoded()); + assertArrayEquals( + expectedKeyBytes, upstream.getKey(onlyAlias(upstream), new char[] {}).getEncoded()); + assertLeafThenIntermediate(keyStore); + } + + @Test + void createMtlsKeyStore_keysBeforeCertificate_lastKeyDoesNotMatch_throwsLikeUpstream() + throws Exception { + // The leaf's EC key, then an RSA key, then the certificates: the RSA key is chosen and cannot + // be read as an EC key, in both implementations. + String input = + String.join("\n", read(CHAIN_KEY_PATH), read(SINGLE_KEY_PATH), read(CHAIN_CERT_PATH)); + + assertThrows( + InvalidKeySpecException.class, () -> MtlsKeyStoreUtils.createMtlsKeyStore(stream(input))); + assertThrows( + InvalidKeySpecException.class, () -> SecurityUtils.createMtlsKeyStore(stream(input))); + } + + @Test + void createMtlsKeyStore_keysAfterCertificate_usesFirstKeyLikeUpstream() throws Exception { + String input = + String.join("\n", read(CHAIN_CERT_PATH), read(CHAIN_KEY_PATH), read(SINGLE_KEY_PATH)); + + KeyStore keyStore = MtlsKeyStoreUtils.createMtlsKeyStore(stream(input)); + KeyStore upstream = SecurityUtils.createMtlsKeyStore(stream(input)); + + byte[] expectedKeyBytes = expectedChainKeyEncoded(); + assertArrayEquals( + expectedKeyBytes, keyStore.getKey(onlyAlias(keyStore), new char[] {}).getEncoded()); + assertArrayEquals( + expectedKeyBytes, upstream.getKey(onlyAlias(upstream), new char[] {}).getEncoded()); + assertLeafThenIntermediate(keyStore); + } + + @Test + void createMtlsKeyStore_malformedTrailingSection_ignored() throws Exception { + // A section with no end tag after a usable certificate and key. The upstream method stopped + // reading before reaching it, so it must not cause a failure now. Putting the intermediate + // after the key also checks that reading continues past the first certificate and key. + String[] leafAndIntermediate = + read(CHAIN_CERT_PATH).split("(?<=-----END CERTIFICATE-----)\r?\n"); + KeyStore keyStore = + MtlsKeyStoreUtils.createMtlsKeyStore( + stream( + leafAndIntermediate[0], + read(CHAIN_KEY_PATH), + leafAndIntermediate[1], + "-----BEGIN CERTIFICATE-----\nAAAA")); + + assertLeafThenIntermediate(keyStore); + } + + @Test + void createMtlsKeyStore_malformedSectionAfterOnlyCertificate_throws() throws Exception { + assertThrows( + IllegalArgumentException.class, + () -> + MtlsKeyStoreUtils.createMtlsKeyStore( + stream(read(CHAIN_CERT_PATH), "-----BEGIN PRIVATE KEY-----\nAAAA"))); + } + + @Test + void createMtlsKeyStore_malformedSectionAfterOnlyKey_throws() throws Exception { + assertThrows( + IllegalArgumentException.class, + () -> + MtlsKeyStoreUtils.createMtlsKeyStore( + stream(read(CHAIN_KEY_PATH), "-----BEGIN CERTIFICATE-----\nAAAA"))); + } + + @Test + void createMtlsKeyStore_ioExceptionAfterCertAndKey_throws() throws Exception { + String[] leafAndIntermediate = + read(CHAIN_CERT_PATH).split("(?<=-----END CERTIFICATE-----)\r?\n"); + byte[] validPrefix = (read(CHAIN_KEY_PATH) + "\n" + leafAndIntermediate[0]).getBytes(UTF_8); + InputStream failingStream = + new FilterInputStream(new ByteArrayInputStream(validPrefix)) { + @Override + public int read(byte[] b, int off, int len) throws IOException { + int n = super.read(b, off, len); + if (n == -1) { + throw new IOException("disk read error while reading intermediate"); + } + return n; + } + }; + + assertThrows(IOException.class, () -> MtlsKeyStoreUtils.createMtlsKeyStore(failingStream)); + } + + @Test + void createMtlsKeyStore_unparsableExtraCertificate_leftOut() throws Exception { + String[] leafAndIntermediate = + read(CHAIN_CERT_PATH).split("(?<=-----END CERTIFICATE-----)\r?\n"); + String bad = "-----BEGIN CERTIFICATE-----\nAAAA\n-----END CERTIFICATE-----"; + String empty = "-----BEGIN CERTIFICATE-----\n-----END CERTIFICATE-----"; + KeyStore keyStore = + MtlsKeyStoreUtils.createMtlsKeyStore( + stream( + leafAndIntermediate[0], bad, empty, leafAndIntermediate[1], read(CHAIN_KEY_PATH))); + + assertLeafThenIntermediate(keyStore); + } + + @Test + void createMtlsKeyStore_unparsableLeaf_throws() throws Exception { + String bad = "-----BEGIN CERTIFICATE-----\nAAAA\n-----END CERTIFICATE-----"; + assertThrows( + CertificateException.class, + () -> + MtlsKeyStoreUtils.createMtlsKeyStore( + stream(bad, read(CHAIN_CERT_PATH), read(CHAIN_KEY_PATH)))); + } + + @Test + void createMtlsKeyStore_missingCertificate_throws() throws Exception { + IllegalArgumentException e = + assertThrows( + IllegalArgumentException.class, + () -> MtlsKeyStoreUtils.createMtlsKeyStore(stream(read(CHAIN_KEY_PATH)))); + assertEquals("certificate is missing from certAndKey string", e.getMessage()); + } + + @Test + void createMtlsKeyStore_missingPrivateKey_throws() throws Exception { + IllegalArgumentException e = + assertThrows( + IllegalArgumentException.class, + () -> MtlsKeyStoreUtils.createMtlsKeyStore(stream(read(CHAIN_CERT_PATH)))); + assertEquals("private key is missing from certAndKey string", e.getMessage()); + } + + static String read(String path) throws IOException { + return new String(Files.readAllBytes(new File(path).toPath()), UTF_8); + } + + /** Asserts the key store's single entry holds the test leaf followed by its intermediate. */ + static void assertLeafThenIntermediate(KeyStore keyStore) throws Exception { + Certificate[] chain = keyStore.getCertificateChain(onlyAlias(keyStore)); + assertEquals(2, chain.length); + assertEquals("CN=Test Leaf", subject(chain[0])); + assertEquals("CN=Test Intermediate CA", subject(chain[1])); + } + + private static ByteArrayInputStream stream(String... parts) { + return new ByteArrayInputStream(String.join("\n", parts).getBytes(UTF_8)); + } + + private static String onlyAlias(KeyStore keyStore) throws Exception { + assertEquals(1, keyStore.size()); + String alias = keyStore.aliases().nextElement(); + assertNotNull(keyStore.getCertificateChain(alias)); + return alias; + } + + private static byte[] expectedChainKeyEncoded() throws Exception { + KeyStore expected = + SecurityUtils.createMtlsKeyStore(stream(read(CHAIN_CERT_PATH), read(CHAIN_KEY_PATH))); + return expected.getKey(onlyAlias(expected), new char[] {}).getEncoded(); + } + + private static String subject(Certificate certificate) { + return ((X509Certificate) certificate).getSubjectX500Principal().getName(); + } +} diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/SecureConnectProviderTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/SecureConnectProviderTest.java index fab805fa9520..87e1e23a8336 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/SecureConnectProviderTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/SecureConnectProviderTest.java @@ -35,9 +35,12 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; +import com.google.auth.TestUtils; +import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.security.KeyStore; import java.util.List; import org.junit.jupiter.api.Test; @@ -47,10 +50,16 @@ private static class TestCertProviderCommandProcess extends Process { private final boolean runForever; private final int exitValue; + private final InputStream stdout; public TestCertProviderCommandProcess(int exitValue, boolean runForever) { + this(exitValue, runForever, null); + } + + TestCertProviderCommandProcess(int exitValue, boolean runForever, InputStream stdout) { this.runForever = runForever; this.exitValue = exitValue; + this.stdout = stdout; } @Override @@ -60,7 +69,7 @@ public OutputStream getOutputStream() { @Override public InputStream getInputStream() { - return null; + return stdout; } @Override @@ -101,6 +110,55 @@ public Process createProcess(InputStream metadata) throws IOException { } } + @Test + void testGetKeyStore_certificateChain_keepsFullChain() throws Exception { + String stdout = + MtlsKeyStoreUtilsTest.read(MtlsKeyStoreUtilsTest.CHAIN_CERT_PATH) + + "\n" + + MtlsKeyStoreUtilsTest.read(MtlsKeyStoreUtilsTest.CHAIN_KEY_PATH); + SecureConnectProvider.ProcessProvider processProvider = + metadata -> + new TestCertProviderCommandProcess(0, false, TestUtils.stringToInputStream(stdout)); + + KeyStore store = + SecureConnectProvider.getKeyStore(TestUtils.stringToInputStream("{}"), processProvider); + + MtlsKeyStoreUtilsTest.assertLeafThenIntermediate(store); + } + + @Test + void testGetKeyStore_stdoutHeldOpenAfterBufferedBytes_doesNotReadToEof() throws Exception { + String stdout = + MtlsKeyStoreUtilsTest.read(MtlsKeyStoreUtilsTest.CHAIN_CERT_PATH) + + "\n" + + MtlsKeyStoreUtilsTest.read(MtlsKeyStoreUtilsTest.CHAIN_KEY_PATH); + InputStream neverEndingStdout = + new FilterInputStream(TestUtils.stringToInputStream(stdout)) { + @Override + public int read() throws IOException { + if (available() == 0) { + throw new AssertionError("Attempted to read past buffered stdout bytes"); + } + return super.read(); + } + + @Override + public int read(byte[] b, int off, int len) throws IOException { + if (available() == 0) { + throw new AssertionError("Attempted to read past buffered stdout bytes"); + } + return super.read(b, off, len); + } + }; + SecureConnectProvider.ProcessProvider processProvider = + metadata -> new TestCertProviderCommandProcess(0, false, neverEndingStdout); + + KeyStore store = + SecureConnectProvider.getKeyStore(TestUtils.stringToInputStream("{}"), processProvider); + + MtlsKeyStoreUtilsTest.assertLeafThenIntermediate(store); + } + @Test void testGetKeyStoreNonZeroExitCode() { try (InputStream metadata = diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/X509ProviderTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/X509ProviderTest.java index 493189b68c7a..e9d7182cf310 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/X509ProviderTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/X509ProviderTest.java @@ -246,6 +246,68 @@ void x509Provider_noConfig_usesGkeCredentialBundleWithKeyFirst(@TempDir Path tem } } + @Test + void x509Provider_gkeCredentialBundleWithIntermediate_keepsFullChain(@TempDir Path tempDir) + throws Exception { + Path bundle = + writeGkeBundle( + tempDir, + MtlsKeyStoreUtilsTest.CHAIN_CERT_PATH, + MtlsKeyStoreUtilsTest.CHAIN_KEY_PATH, + /* keyFirst= */ false); + MtlsUtils.setGkeCredentialBundlePathForTesting(bundle.toString()); + try { + X509Provider testProvider = + new X509Provider(new TestEnvironmentProvider(), noGcloudConfig(tempDir), null, true); + + KeyStore store = testProvider.getKeyStore(); + // The intermediate is presented too, so peers that only trust the root can verify the leaf. + MtlsKeyStoreUtilsTest.assertLeafThenIntermediate(store); + } finally { + MtlsUtils.setGkeCredentialBundlePathForTesting(null); + } + } + + @Test + void x509Provider_keyFirstGkeCredentialBundleWithIntermediate_keepsFullChain( + @TempDir Path tempDir) throws Exception { + // GKE pod certificate bundles put the private key before the certificate chain. + Path bundle = + writeGkeBundle( + tempDir, + MtlsKeyStoreUtilsTest.CHAIN_CERT_PATH, + MtlsKeyStoreUtilsTest.CHAIN_KEY_PATH, + /* keyFirst= */ true); + MtlsUtils.setGkeCredentialBundlePathForTesting(bundle.toString()); + try { + X509Provider testProvider = + new X509Provider(new TestEnvironmentProvider(), noGcloudConfig(tempDir), null, true); + + MtlsKeyStoreUtilsTest.assertLeafThenIntermediate(testProvider.getKeyStore()); + } finally { + MtlsUtils.setGkeCredentialBundlePathForTesting(null); + } + } + + @Test + void x509Provider_certFileWithIntermediate_keepsFullChain(@TempDir Path tempDir) + throws Exception { + Path config = tempDir.resolve("certificate_config.json"); + Files.write( + config, + ("{\"cert_configs\":{\"workload\":{\"cert_path\":\"" + + MtlsKeyStoreUtilsTest.CHAIN_CERT_PATH + + "\",\"key_path\":\"" + + MtlsKeyStoreUtilsTest.CHAIN_KEY_PATH + + "\"}}}") + .getBytes(UTF_8)); + + X509Provider testProvider = new X509Provider(config.toString()); + + KeyStore store = testProvider.getKeyStore(); + MtlsKeyStoreUtilsTest.assertLeafThenIntermediate(store); + } + @Test void x509Provider_explicitConfigEnv_takesPrecedenceOverGkeCredentialBundle(@TempDir Path tempDir) throws Exception { @@ -356,12 +418,23 @@ private static Certificate loadTestCert() throws IOException, CertificateExcepti } private static Path writeGkeBundle(Path dir, boolean keyFirst) throws IOException { - return writeGkeBundleAt(dir.resolve("x509.credential-bundle.private-key.pem"), keyFirst); + return writeGkeBundle(dir, TEST_CERT_PATH, TEST_KEY_PATH, keyFirst); + } + + private static Path writeGkeBundle(Path dir, String certPath, String keyPath, boolean keyFirst) + throws IOException { + return writeGkeBundleAt( + dir.resolve("x509.credential-bundle.private-key.pem"), certPath, keyPath, keyFirst); } private static Path writeGkeBundleAt(Path bundle, boolean keyFirst) throws IOException { - String cert = new String(Files.readAllBytes(new File(TEST_CERT_PATH).toPath()), UTF_8); - String key = new String(Files.readAllBytes(new File(TEST_KEY_PATH).toPath()), UTF_8); + return writeGkeBundleAt(bundle, TEST_CERT_PATH, TEST_KEY_PATH, keyFirst); + } + + private static Path writeGkeBundleAt( + Path bundle, String certPath, String keyPath, boolean keyFirst) throws IOException { + String cert = new String(Files.readAllBytes(new File(certPath).toPath()), UTF_8); + String key = new String(Files.readAllBytes(new File(keyPath).toPath()), UTF_8); String content = keyFirst ? key + "\n" + cert : cert + "\n" + key; Files.write(bundle, content.getBytes(UTF_8)); return bundle; diff --git a/google-auth-library-java/oauth2_http/testresources/mtls/test_chain_cert.pem b/google-auth-library-java/oauth2_http/testresources/mtls/test_chain_cert.pem new file mode 100644 index 000000000000..5465eb9a51b1 --- /dev/null +++ b/google-auth-library-java/oauth2_http/testresources/mtls/test_chain_cert.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIIB2TCCAX+gAwIBAgIUNavUXQ/rulG+3syxU0MrxecWQGQwCgYIKoZIzj0EAwIw +HzEdMBsGA1UEAwwUVGVzdCBJbnRlcm1lZGlhdGUgQ0EwIBcNMjYxMDA5MTUxODM3 +WhgPMjEyNjA5MTUxNTE4MzdaMBQxEjAQBgNVBAMMCVRlc3QgTGVhZjBZMBMGByqG +SM49AgEGCCqGSM49AwEHA0IABFFirHZTwx/ld55xeocgpp0rQME9O9ATEonLHecx +RYlG8N0eMNTC4PyIVCQPfHnrI167YpwCk2nyh+HS8wl3UrOjgaEwgZ4wDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwIwKQYD +VR0RBCIwIIYec3BpZmZlOi8vZXhhbXBsZS50ZXN0L3dvcmtsb2FkMB0GA1UdDgQW +BBSXEYG9sUpIGjEVcNnv5z6R/Y0UGjAfBgNVHSMEGDAWgBQtGnDllv2kiVva8/vP +KnPkeOYblTAKBggqhkjOPQQDAgNIADBFAiBFg0vUmv7/I2KMcnIlDMpxwQhl7KUH +fTvnJUu3TlCq3wIhAMpR49B2EVADdJTP630dUMbxQl7i0KoSinyZe+eXbGo7 +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIBoTCCAUagAwIBAgIULt67iL18WCU7vF52uolgyC26bL8wCgYIKoZIzj0EAwIw +FzEVMBMGA1UEAwwMVGVzdCBSb290IENBMCAXDTI2MTAwOTE1MTgzN1oYDzIxMjYw +OTE1MTUxODM3WjAfMR0wGwYDVQQDDBRUZXN0IEludGVybWVkaWF0ZSBDQTBZMBMG +ByqGSM49AgEGCCqGSM49AwEHA0IABPOMvOWtJYOV6I9Sp6C7gzA3iOi3VCz9kZQ2 +iW86iUDpk+S5jso0pP3gJy8hdJBLGkcmm9L+x4CaRcCSePsQ/vyjZjBkMBIGA1Ud +EwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBQtGnDllv2k +iVva8/vPKnPkeOYblTAfBgNVHSMEGDAWgBT8Ay0RXQdWDWCi9PzNTwvXx+W+KzAK +BggqhkjOPQQDAgNJADBGAiEA/K0vk+MiOpF0G0Rrpw2tpi+DtIXUlkPLSTzXVGMn +cGgCIQChgI06W0im1y5pz3ymwTewRSF7MDlCgKt+pALGcZv1Gw== +-----END CERTIFICATE----- diff --git a/google-auth-library-java/oauth2_http/testresources/mtls/test_chain_key.pem b/google-auth-library-java/oauth2_http/testresources/mtls/test_chain_key.pem new file mode 100644 index 000000000000..37ef3f333f18 --- /dev/null +++ b/google-auth-library-java/oauth2_http/testresources/mtls/test_chain_key.pem @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgnkUdqWqfKVO0qTH6 +WByFOh5OjqL9NOuQebS1JhEL7SChRANCAARRYqx2U8Mf5XeecXqHIKadK0DBPTvQ +ExKJyx3nMUWJRvDdHjDUwuD8iFQkD3x56yNeu2KcApNp8ofh0vMJd1Kz +-----END PRIVATE KEY----- From c40c5333b722cf8c2ce9f606f4559f5498d46104 Mon Sep 17 00:00:00 2001 From: macastelaz <34776182+macastelaz@users.noreply.github.com> Date: Fri, 16 Oct 2026 10:28:28 -0500 Subject: [PATCH 11/12] fix(auth,gax): align Java mTLS and agent identity certificate handling with Python parity (#14658) ## Why An audit comparing the Java (`agentic-identities-bound-token`) and Python (`googleapis/google-cloud-python#18559`) agent identity and mTLS implementations surfaced several edge-case behavioral differences: 1. **GAX silent fallback on mTLS initialization error:** When `CertificateBasedAccess.useMtlsClientCertificate()` is `true` and `DefaultMtlsProviderFactory.create()` throws an `IOException` (for example, `CertificateSourceUnavailableException` when a certificate file disappears mid-read or a configured certificate path is invalid/corrupt), `EndpointContext`, `InstantiatingGrpcChannelProvider`, and `InstantiatingHttpJsonChannelProvider` caught the `IOException` and silently degraded to `mtlsProvider = null` (sending requests over an unauthenticated channel or regular endpoint without client certificates). 2. **Startup polling when `GOOGLE_API_CERTIFICATE_CONFIG` is unset:** In `AgentIdentityUtils.getWellKnownCertificatePathWithRetry()`, when `GOOGLE_API_CERTIFICATE_CONFIG` was unset and `GOOGLE_API_USE_CLIENT_CERTIFICATE=true` was set on a non-agent GCE VM where no certificates exist, Java polled the well-known Cloud Run paths for ~3 seconds and threw an `IOException` on timeout instead of falling back to unbound tokens in 0ms. 3. **Symlinked parent directories and empty (0-byte) files during startup polling:** - `AgentIdentityUtils.isPathInWellKnownDir(String)` used `Files.exists(path)` before calling `toRealPath()`, which skipped symlink resolution when the leaf certificate file did not yet exist on disk (e.g., on systems where `/var/run` is a symlink to `/run` and `GOOGLE_API_CERTIFICATE_CONFIG` uses `/run/secrets/workload-spiffe-credentials/...`). - `AgentIdentityCacheUtils.checkExistsOrAccessDenied(Path)` only checked file existence via `BasicFileAttributes` without verifying `attrs.isRegularFile() && attrs.size() > 0`, which could cause startup polling to return immediately on a newly created 0-byte file before certificate contents were written. 4. **`GOOGLE_API_USE_CLIENT_CERTIFICATE` non-boolean values:** `MtlsUtils.useMtlsClientCertificate()` and `MtlsUtils.getWorkloadCertPath()` only checked for `"true"` and `"false"`, allowing arbitrary non-boolean values (e.g., `"invalid"` or `"1"`) to fall through to auto-discovery instead of treating any non-`"true"` value as disabled. ## What changes - **GAX (`CertificateBasedAccess`, `EndpointContext`, `InstantiatingGrpcChannelProvider`, `InstantiatingHttpJsonChannelProvider`):** - Propagate `IOException` from `DefaultMtlsProviderFactory.create()` (routed via package-private `CertificateBasedAccess.createDefaultMtlsProvider()`) when `certificateBasedAccess.useMtlsClientCertificate()` is `true`, failing closed instead of degrading to `mtlsProvider = null`. - When `useMtlsClientCertificate()` is `false`, `IOException` during default `MtlsProvider` creation continues to be logged at `FINE` and ignored. - **`AgentIdentityUtils` & `AgentIdentityCacheUtils`:** - Remove the retry loop and `IOException` throw from `getWellKnownCertificatePathWithRetry()` when `GOOGLE_API_CERTIFICATE_CONFIG` is unset; check well-known paths once (`GKE_CREDENTIAL_BUNDLE_PATH`, `WELL_KNOWN_CREDENTIAL_BUNDLE_PATH`, `WELL_KNOWN_CERT_PATH` + `WELL_KNOWN_KEY_PATH`) and immediately return `certsPresent=false` if none are present. - Startup polling remains exclusively gated on `GOOGLE_API_CERTIFICATE_CONFIG` pointing inside `/var/run/secrets/workload-spiffe-credentials/`. - Add `resolveRealPathAllowingMissing(Path)` to resolve symlinks on the nearest existing ancestor directory and re-append remaining relative path components in `isPathInWellKnownDir(String)`. - Require `attrs.isRegularFile() && attrs.size() > 0` in `AgentIdentityCacheUtils.checkExistsOrAccessDenied(Path)` so polling waits until certificate files are non-empty regular files (`> 0` bytes). - **`MtlsUtils`:** - Treat any non-empty trimmed value of `GOOGLE_API_USE_CLIENT_CERTIFICATE` other than `"true"` (case-insensitive) as disabled (`false` / `null`) in both `useMtlsClientCertificate()` and `getWorkloadCertPath()`. ## Tests - **`EndpointContextTest`, `InstantiatingGrpcChannelProviderTest`, `InstantiatingHttpJsonChannelProviderTest`:** - Added tests verifying that `IOException` from `createDefaultMtlsProvider()` is propagated when `useMtlsClientCertificate()` is `true` and ignored when `useMtlsClientCertificate()` is `false`. - **`AgentIdentityUtilsTest`:** - Updated unset `GOOGLE_API_CERTIFICATE_CONFIG` tests to verify 0-sleep non-polling behavior and immediate `null` return when no well-known certificates exist, even when `GOOGLE_API_USE_CLIENT_CERTIFICATE=true`. - Added tests for 0-byte -> populated file polling in `getConfigFilePathWithRetry` and `getWorkloadCertPathFromConfigWithRetry`. - Added test for `isPathInWellKnownDir` with symlinked parent directory and non-existent leaf file. - **`MtlsUtilsTest`:** - Added tests verifying non-boolean values of `GOOGLE_API_USE_CLIENT_CERTIFICATE` (`"invalid"`) return `false` in `useMtlsClientCertificate()` and `null` in `getWorkloadCertPath()` even when workload certificates exist on disk. --- .../java/com/google/auth/mtls/MtlsUtils.java | 28 ++-- .../auth/oauth2/AgentIdentityCacheUtils.java | 11 +- .../auth/oauth2/AgentIdentityUtils.java | 110 +++++++------ .../com/google/auth/mtls/MtlsUtilsTest.java | 11 ++ .../auth/oauth2/AgentIdentityUtilsTest.java | 150 +++++++++++++----- .../InstantiatingGrpcChannelProvider.java | 22 +-- .../InstantiatingGrpcChannelProviderTest.java | 45 ++++++ .../InstantiatingHttpJsonChannelProvider.java | 23 +-- ...tantiatingHttpJsonChannelProviderTest.java | 45 ++++++ .../google/api/gax/rpc/EndpointContext.java | 17 +- .../gax/rpc/mtls/CertificateBasedAccess.java | 8 + .../api/gax/rpc/EndpointContextTest.java | 36 +++++ 12 files changed, 364 insertions(+), 142 deletions(-) diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsUtils.java b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsUtils.java index 479e644b1d47..4f0d4c034b6d 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsUtils.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/MtlsUtils.java @@ -131,16 +131,23 @@ static void setGkeCredentialBundlePathForTesting(@Nullable String path) { gkeCredentialBundlePath = path != null ? path : GKE_CREDENTIAL_BUNDLE_PATH; } + private static boolean isUseClientCertificateExplicitlyDisabled( + @Nullable String useClientCertificate) { + return !Strings.isNullOrEmpty(useClientCertificate) + && !"true".equalsIgnoreCase(useClientCertificate); + } + /** * Returns if mutual TLS client certificate should be used. Returns true if valid workload * certificates are configured or if GOOGLE_API_USE_CLIENT_CERTIFICATE is explicitly set to true * (e.g. for Enterprise Certificate Proxy or custom MtlsProviders), unless explicitly disabled via - * GOOGLE_API_USE_CLIENT_CERTIFICATE=false. + * GOOGLE_API_USE_CLIENT_CERTIFICATE (set to a non-empty value other than "true"). */ public static boolean useMtlsClientCertificate( EnvironmentProvider envProvider, PropertyProvider propProvider) { - String useClientCertificate = envProvider.getEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE"); - if ("false".equalsIgnoreCase(useClientCertificate)) { + String rawVal = envProvider.getEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE"); + String useClientCertificate = rawVal != null ? rawVal.trim() : null; + if (isUseClientCertificateExplicitlyDisabled(useClientCertificate)) { return false; } if (getWorkloadCertPath(envProvider, propProvider) != null) { @@ -167,17 +174,18 @@ public static boolean useMtlsClientCertificate( * configuration file is missing, unreadable, malformed, or references missing/unreadable * certificate or private key files. This is treated as an unrecoverable misconfiguration. *

  • {@code null} (Safe fallback / fail open): Client certificates are explicitly - * disabled via {@code GOOGLE_API_USE_CLIENT_CERTIFICATE=false}, no explicit configuration - * is set and neither the default well-known configuration file nor a readable GKE - * credential bundle exists on disk, or the configuration specifies an non-workload source - * (e.g., ECP/PKCS11 without a {@code workload} section). Callers can proceed without - * workload certificate file polling. + * disabled via {@code GOOGLE_API_USE_CLIENT_CERTIFICATE} (any non-empty value other than + * {@code "true"}), no explicit configuration is set and neither the default well-known + * configuration file nor a readable GKE credential bundle exists on disk, or the + * configuration specifies an non-workload source (e.g., ECP/PKCS11 without a {@code + * workload} section). Callers can proceed without workload certificate file polling. * */ public static @Nullable String getWorkloadCertPath( EnvironmentProvider envProvider, PropertyProvider propProvider) { - String useClientCertificate = envProvider.getEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE"); - if ("false".equalsIgnoreCase(useClientCertificate)) { + String rawVal = envProvider.getEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE"); + String useClientCertificate = rawVal != null ? rawVal.trim() : null; + if (isUseClientCertificateExplicitlyDisabled(useClientCertificate)) { return null; } diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCacheUtils.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCacheUtils.java index eacad1065247..0dfa9d63c8a4 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCacheUtils.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityCacheUtils.java @@ -352,19 +352,22 @@ static boolean tryUpdateCache( } /** - * Checks if a file exists and is readable, throwing {@link AccessDeniedException} if permission - * is denied. + * Checks if a file exists, is a non-empty regular file, and is readable, throwing {@link + * AccessDeniedException} if permission is denied. */ static boolean checkExistsOrAccessDenied(final Path path) throws AccessDeniedException { try { - Files.readAttributes(path, BasicFileAttributes.class); + BasicFileAttributes attrs = Files.readAttributes(path, BasicFileAttributes.class); + if (!attrs.isRegularFile()) { + return false; + } if (!Files.isReadable(path)) { if (!Files.exists(path)) { return false; // Deleted mid-rotation; let the caller retry. } throw new AccessDeniedException(path.toString()); } - return true; + return attrs.size() > 0; } catch (AccessDeniedException e) { throw e; } catch (IOException e) { diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityUtils.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityUtils.java index 49aa3033424e..2bbe599df301 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityUtils.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/AgentIdentityUtils.java @@ -286,14 +286,36 @@ private static boolean isMtlsExplicitlyDisabled() { return !Strings.isNullOrEmpty(useClientCert) && !"true".equalsIgnoreCase(useClientCert); } + /** + * Resolves symlinks on existing ancestor directories of {@code path} (for example, {@code + * /var/run} to {@code /run} before startup files are created), preserving any trailing + * non-existent path elements. + */ + private static Path resolveRealPathAllowingMissing(final Path path) { + Path normalized = path.toAbsolutePath().normalize(); + Path current = normalized; + while (current != null) { + try { + Path realCurrent = current.toRealPath(); + Path relative = current.relativize(normalized); + return relative.toString().isEmpty() + ? realCurrent + : realCurrent.resolve(relative).normalize(); + } catch (IOException e) { + current = current.getParent(); + } + } + return normalized; + } + /** Checks whether the given path resides within the well-known certificate directory. */ private static boolean isPathInWellKnownDir(final @Nullable String pathStr) { if (Strings.isNullOrEmpty(pathStr)) { return false; } try { - Path path = Paths.get(pathStr).toAbsolutePath().normalize(); - Path wellKnown = Paths.get(wellKnownDir).toAbsolutePath().normalize(); + Path path = resolveRealPathAllowingMissing(Paths.get(pathStr)); + Path wellKnown = resolveRealPathAllowingMissing(Paths.get(wellKnownDir)); return path.startsWith(wellKnown); } catch (Exception e) { return false; @@ -686,7 +708,7 @@ private static ResolvedCertAndKeyPaths getPathsFromConfigWithRetry( lastParseException); } - /** Searches for certificates at well-known locations with retry logic. */ + /** Searches for certificates at well-known locations. */ private static ResolvedCertAndKeyPaths getWellKnownCertificatePathWithRetry( final @Nullable CachedAgentIdentityInfo initialCached) throws IOException { if (isMtlsExplicitlyDisabled()) { @@ -694,11 +716,11 @@ private static ResolvedCertAndKeyPaths getWellKnownCertificatePathWithRetry( return new ResolvedCertAndKeyPaths(null, null, false); } - // Unlike the Cloud Run well-known files below (which may be delivered asynchronously and are - // polled for up to 30s on initial startup), GKE mounts the Pod Certificate volume before the - // container starts, so we perform a single immediate check per call without startup polling. - // When found, we mark initialStartupCompleted = true so subsequent refreshes during rotation do - // not enter the 30s startup polling loop. + // Startup polling is only performed when GOOGLE_API_CERTIFICATE_CONFIG is set and points to the + // well-known directory (see getPathsFromConfigWithRetry). When GOOGLE_API_CERTIFICATE_CONFIG is + // unset, GKE mounts the Pod Certificate volume before the container starts (and on GCE an empty + // well-known directory may exist without any certificates ever being delivered), so we perform + // a single immediate check without startup polling. // The GKE credential bundle is only used when no well-known gcloud certificate configuration // file exists (it would otherwise be the transport's mTLS certificate source). boolean gkeBundleAllowed = @@ -732,52 +754,31 @@ private static ResolvedCertAndKeyPaths getWellKnownCertificatePathWithRetry( String certOnlyPath = Paths.get(wellKnownDir, "certificates.pem").toString(); String keyOnlyPath = Paths.get(wellKnownDir, "private_key.pem").toString(); - boolean shouldPoll = !initialStartupCompleted; - int maxCycles = shouldPoll ? TOTAL_POLL_CYCLES : 1; - - boolean warned = false; - for (int cycle = 0; cycle < maxCycles; cycle++) { - try { - if (AgentIdentityCacheUtils.checkExistsOrAccessDenied(Paths.get(bundlePath))) { - initialStartupCompleted = true; - // Combined bundle file contains both certificate chain and private key - return new ResolvedCertAndKeyPaths(bundlePath, bundlePath, false); - } - if (AgentIdentityCacheUtils.checkExistsOrAccessDenied(Paths.get(certOnlyPath)) - && AgentIdentityCacheUtils.checkExistsOrAccessDenied(Paths.get(keyOnlyPath))) { - initialStartupCompleted = true; - return new ResolvedCertAndKeyPaths(certOnlyPath, keyOnlyPath, false); - } - } catch (AccessDeniedException e) { + try { + if (AgentIdentityCacheUtils.checkExistsOrAccessDenied(Paths.get(bundlePath))) { initialStartupCompleted = true; - LoggingUtils.log( - LOGGER_PROVIDER, - Level.FINE, - Collections.emptyMap(), - "Permission denied reading well-known certificates. Falling back to unbound token."); - return new ResolvedCertAndKeyPaths(null, null, false); - } catch (Exception e) { - // Fall through to retry + // Combined bundle file contains both certificate chain and private key + return new ResolvedCertAndKeyPaths(bundlePath, bundlePath, false); } - - if (cycle + 1 < maxCycles) { - if (shouldPoll && !warned) { - LoggingUtils.log( - LOGGER_PROVIDER, - Level.FINE, - Collections.emptyMap(), - String.format( - "Well-known certificate file not found at %s. Retrying for up to %d seconds.", - wellKnownDir, TOTAL_TIMEOUT_MS / 1000)); - warned = true; - } - try { - timeService.sleep(getSleepIntervalMs(cycle)); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - throw new IOException("Interrupted while waiting for well-known certificate files.", e); - } + if (AgentIdentityCacheUtils.checkExistsOrAccessDenied(Paths.get(certOnlyPath)) + && AgentIdentityCacheUtils.checkExistsOrAccessDenied(Paths.get(keyOnlyPath))) { + initialStartupCompleted = true; + return new ResolvedCertAndKeyPaths(certOnlyPath, keyOnlyPath, false); } + } catch (AccessDeniedException e) { + initialStartupCompleted = true; + LoggingUtils.log( + LOGGER_PROVIDER, + Level.FINE, + Collections.emptyMap(), + "Permission denied reading well-known certificates. Falling back to unbound token."); + return new ResolvedCertAndKeyPaths(null, null, false); + } catch (Exception e) { + LoggingUtils.log( + LOGGER_PROVIDER, + Level.FINE, + Collections.emptyMap(), + "Unexpected error checking well-known certificates: " + e.getMessage()); } initialStartupCompleted = true; @@ -792,12 +793,7 @@ private static ResolvedCertAndKeyPaths getWellKnownCertificatePathWithRetry( fallbackCached.certMetadata.getPath(), fallbackCached.keyMetadata.getPath(), false); } - throw new IOException( - String.format( - "Unable to find well-known Agent Identity certificate file at %s for bound token" - + " request. Token binding protection is failing. You can turn off this" - + " protection by setting %s to false to fall back to unbound tokens.", - wellKnownDir, GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN)); + return new ResolvedCertAndKeyPaths(null, null, false); } /** diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java index 546dfbd2c220..1e85e6b11b08 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java @@ -823,6 +823,17 @@ void getWorkloadCertPath_useClientCertFalse_ignoresGkeBundle() throws IOExceptio assertFalse(MtlsUtils.useMtlsClientCertificate(envProvider, homeInTempDir())); } + @Test + void getWorkloadCertPath_useClientCertNonTrueValues_disablesMtls() throws IOException { + writeGkeBundle(); + for (String disabledVal : new String[] {"0", "no", "FALSE", "off", "random"}) { + EnvironmentProvider envProvider = + name -> "GOOGLE_API_USE_CLIENT_CERTIFICATE".equals(name) ? disabledVal : null; + assertNull(MtlsUtils.getWorkloadCertPath(envProvider, homeInTempDir())); + assertFalse(MtlsUtils.useMtlsClientCertificate(envProvider, homeInTempDir())); + } + } + @Test void getWorkloadCertPath_defaultConfigWithoutWorkload_ignoresGkeBundle() throws IOException { writeGkeBundle(); diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/AgentIdentityUtilsTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/AgentIdentityUtilsTest.java index d6d25407a394..26680489dd25 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/AgentIdentityUtilsTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/AgentIdentityUtilsTest.java @@ -71,7 +71,6 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; @@ -590,7 +589,7 @@ public void getAgentIdentityCertInfo_mismatch_throwsIOExceptionAfterRetries() th @Test public void - getAgentIdentityCertInfo_wellKnownDirExistsNoFiles_explicitlyEnabled_retriesAndThrowsIOException() + getAgentIdentityCertInfo_wellKnownDirExistsNoFiles_explicitlyEnabled_returnsNullWithoutPolling() throws IOException { AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); FakeTimeService fakeTime = new FakeTimeService(); @@ -598,8 +597,23 @@ public void getAgentIdentityCertInfo_mismatch_throwsIOExceptionAfterRetries() th envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); - assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); - assertTrue(fakeTime.getSleepCount() > 0); + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertEquals(0, fakeTime.getSleepCount()); + } + + @Test + public void + getAgentIdentityCertInfo_wellKnownDirMissing_explicitlyEnabled_returnsNullWithoutPolling() + throws IOException { + AgentIdentityUtils.setWellKnownDir( + tempDir.resolve("non_existent_well_known").toAbsolutePath().toString() + "/"); + FakeTimeService fakeTime = new FakeTimeService(); + AgentIdentityUtils.setTimeService(fakeTime); + envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertEquals(0, fakeTime.getSleepCount()); } @Test @@ -1004,13 +1018,15 @@ public void getAgentIdentityCertInfo_partialJsonDuringStartupPoll_retriesAndSucc @Test public void - getAgentIdentityCertInfo_startupPollTimeout_subsequentRefreshDoesNotPollAndThrowsIOException() + getAgentIdentityCertInfo_configInWellKnownDirTimeout_subsequentRefreshDoesNotPollAndThrowsIOException() throws Exception { AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); FakeTimeService fakeTime = new FakeTimeService(); AgentIdentityUtils.setTimeService(fakeTime); - envProvider.setEnv("GOOGLE_API_CERTIFICATE_CONFIG", null); - envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "true"); + envProvider.setEnv( + "GOOGLE_API_CERTIFICATE_CONFIG", + tempDir.resolve("missing_config.json").toAbsolutePath().toString()); + envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", null); // Initial call polls for all 100 cycles (99 sleeps) and fails closed with IOException assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); @@ -1022,24 +1038,86 @@ public void getAgentIdentityCertInfo_partialJsonDuringStartupPoll_retriesAndSucc } @Test - public void - getAgentIdentityCertInfo_configInWellKnownDirTimeout_subsequentRefreshDoesNotPollAndThrowsIOException() - throws Exception { + public void getAgentIdentityCertInfo_zeroByteFilesDuringStartupPoll_waitsUntilNonEmpty() + throws Exception { AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); + Path targetCertPath = tempDir.resolve("certificates.pem"); + Path targetKeyPath = tempDir.resolve("private_key.pem"); + // Create 0-byte files simulating CSI driver creating file entries before writing content + Files.createFile(targetCertPath); + Files.createFile(targetKeyPath); + + Path configFile = tempDir.resolve("credentials.json"); + writeWorkloadConfig(configFile, targetCertPath, targetKeyPath); + envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, configFile.toString()); + + // Populate after sleep 4 and 5 so loadAndVerifyCredentials's 3 attempts (2 sleeps) cannot + // mask a broken 0-byte startup poll check. FakeTimeService fakeTime = new FakeTimeService(); + fakeTime.setOnSleepCallback( + () -> { + if (fakeTime.getSleepCount() == 4) { + try { + // First populate only cert; key is still 0 bytes + copyResource("agent/agent_spiffe_cert.pem", targetCertPath); + } catch (Exception e) { + throw new RuntimeException(e); + } + } else if (fakeTime.getSleepCount() == 5) { + try { + // Then populate key + copyResource("agent/agent_spiffe_key.pem", targetKeyPath); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + }); AgentIdentityUtils.setTimeService(fakeTime); + + AgentIdentityUtils.CertInfo info = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info); + assertEquals(5, fakeTime.getSleepCount()); + } + + @Test + public void getAgentIdentityCertInfo_symlinkedWellKnownDir_pollsForStartupFiles() + throws Exception { + Path realWellKnown = Files.createDirectory(tempDir.resolve("real_run_secrets")); + Path symlinkWellKnown = tempDir.resolve("var_run_secrets"); + try { + Files.createSymbolicLink(symlinkWellKnown, realWellKnown); + } catch (UnsupportedOperationException | IOException e) { + Assumptions.assumeTrue(false, "Symbolic links not supported: " + e.getMessage()); + } + + // Configure wellKnownDir via symlink path (/var/run/...) while GOOGLE_API_CERTIFICATE_CONFIG + // uses the real path (/run/...) for a file that does not exist yet at startup. + AgentIdentityUtils.setWellKnownDir(symlinkWellKnown.toAbsolutePath().toString() + "/"); + Path configViaRealPath = realWellKnown.resolve("credentials.json"); + Path certViaRealPath = realWellKnown.resolve("certificates.pem"); + Path keyViaRealPath = realWellKnown.resolve("private_key.pem"); envProvider.setEnv( - "GOOGLE_API_CERTIFICATE_CONFIG", - tempDir.resolve("missing_config.json").toAbsolutePath().toString()); - envProvider.setEnv("GOOGLE_API_USE_CLIENT_CERTIFICATE", null); + AgentIdentityUtils.GOOGLE_API_CERTIFICATE_CONFIG, + configViaRealPath.toAbsolutePath().toString()); - // Initial call polls for all 100 cycles (99 sleeps) and fails closed with IOException - assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); - assertEquals(99, fakeTime.getSleepCount()); + FakeTimeService fakeTime = new FakeTimeService(); + fakeTime.setOnSleepCallback( + () -> { + if (fakeTime.getSleepCount() == 1) { + try { + copyResource("agent/agent_spiffe_cert.pem", certViaRealPath); + copyResource("agent/agent_spiffe_key.pem", keyViaRealPath); + writeWorkloadConfig(configViaRealPath, certViaRealPath, keyViaRealPath); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + }); + AgentIdentityUtils.setTimeService(fakeTime); - // Subsequent token refresh fails closed immediately without sleeping - assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); - assertEquals(99, fakeTime.getSleepCount()); + AgentIdentityUtils.CertInfo info = AgentIdentityUtils.getAgentIdentityCertInfo(); + assertNotNull(info); + assertEquals(1, fakeTime.getSleepCount()); } @Test @@ -1140,8 +1218,9 @@ public void getAgentIdentityCertInfo_implicitDiscovery_bundleWithoutPrivateKey_t } @Test - public void getAgentIdentityCertInfo_explicitMtlsEnabled_missingPrivateKey_throwsIOException() - throws Exception { + public void + getAgentIdentityCertInfo_explicitMtlsEnabled_missingPrivateKey_returnsNullWithoutPolling() + throws Exception { AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); URL certUrl = getClass().getClassLoader().getResource("agent/agent_spiffe_cert.pem"); assertNotNull(certUrl); @@ -1153,10 +1232,8 @@ public void getAgentIdentityCertInfo_explicitMtlsEnabled_missingPrivateKey_throw FakeTimeService fakeTime = new FakeTimeService(); AgentIdentityUtils.setTimeService(fakeTime); - IOException e = assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); - assertTrue( - e.getMessage().contains("Unable to find well-known Agent Identity certificate file")); - assertEquals(99, fakeTime.getSleepCount()); + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertEquals(0, fakeTime.getSleepCount()); } @Test @@ -1944,25 +2021,16 @@ public void getAgentIdentityCertInfo_gkeBundle_useClientCertTrue_isNotPolledFor( AgentIdentityUtils.setWellKnownDir(tempDir.toAbsolutePath().toString() + "/"); envProvider.setEnv(AgentIdentityUtils.GOOGLE_API_USE_CLIENT_CERTIFICATE, "true"); FakeTimeService fakeTime = new FakeTimeService(); - AtomicBoolean written = new AtomicBoolean(false); - fakeTime.setOnSleepCallback( - () -> { - if (written.compareAndSet(false, true)) { - try { - writeAgentGkeBundle(); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - }); AgentIdentityUtils.setTimeService(fakeTime); - // The bundle appears during startup polling, but only the Cloud Run files are polled for. - assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); - assertTrue(written.get()); + // Without GOOGLE_API_CERTIFICATE_CONFIG, no startup polling occurs when the bundle is absent. + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertEquals(0, fakeTime.getSleepCount()); - // After startup, the bundle is found by the single up-front check. + // Once the bundle is written, it is found by the single up-front check. + writeAgentGkeBundle(); assertNotNull(AgentIdentityUtils.getAgentIdentityCertInfo()); + assertEquals(0, fakeTime.getSleepCount()); } @Test @@ -2027,7 +2095,7 @@ public void getAgentIdentityCertInfo_gkeBundleRemovedAfterCaching_configAppears_ writeDefaultGcloudCertificateConfig(); // No other well-known files exist and the cached GKE credential is not allowed anymore. - assertThrows(IOException.class, AgentIdentityUtils::getAgentIdentityCertInfo); + assertNull(AgentIdentityUtils.getAgentIdentityCertInfo()); assertEquals(0, fakeTime.getSleepCount()); } diff --git a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java index f31ac845fdcb..91299357da10 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java @@ -46,7 +46,6 @@ import com.google.auth.ApiKeyCredentials; import com.google.auth.Credentials; import com.google.auth.mtls.CertificateSourceUnavailableException; -import com.google.auth.mtls.DefaultMtlsProviderFactory; import com.google.auth.mtls.MtlsProvider; import com.google.auth.oauth2.ComputeEngineCredentials; import com.google.auth.oauth2.SecureSessionAgent; @@ -1408,18 +1407,23 @@ public InstantiatingGrpcChannelProvider build() { if (mtlsProvider == null) { // Attempt to create default MtlsProvider from environment. try { - mtlsProvider = DefaultMtlsProviderFactory.create(); + mtlsProvider = certificateBasedAccess.createDefaultMtlsProvider(); } catch (CertificateSourceUnavailableException e) { // This is okay. Leave mtlsProvider as null so that we will not auto-upgrade // to mTLS endpoints. See https://google.aip.dev/auth/4114. } catch (IOException e) { - LOG.log( - Level.WARNING, - "DefaultMtlsProviderFactory encountered unexpected IOException: " + e.getMessage()); - LOG.log( - Level.WARNING, - "mTLS configuration was detected on the device, but mTLS failed to initialize." - + " Falling back to non-mTLS channel."); + mtlsProvider = + new MtlsProvider() { + @Override + public boolean isAvailable() throws IOException { + throw e; + } + + @Override + public KeyStore getKeyStore() throws IOException { + throw e; + } + }; } } } diff --git a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java index a7b28c7d709e..5ffb6943a4fe 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java @@ -52,6 +52,7 @@ import com.google.auth.ApiKeyCredentials; import com.google.auth.Credentials; import com.google.auth.http.AuthHttpConstants; +import com.google.auth.mtls.CertificateSourceUnavailableException; import com.google.auth.mtls.MtlsProvider; import com.google.auth.oauth2.CloudShellCredentials; import com.google.auth.oauth2.ComputeEngineCredentials; @@ -1443,6 +1444,50 @@ void createChannelBuilder_whenMtlsActiveAndKeyStoreNull_throwsIOException() { assertThat(thrown).hasMessageThat().contains("Failed to initialize mTLS channel credentials"); } + @Test + void createChannelBuilder_whenDefaultMtlsProviderThrowsIOException_propagatesIOException() + throws Exception { + CertificateBasedAccess mtlsCertificateBasedAccess = + mock(CertificateBasedAccess.class, Mockito.withSettings().withoutAnnotations()); + Mockito.when(mtlsCertificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + IOException expected = new IOException("Corrupt PEM file"); + Mockito.when(mtlsCertificateBasedAccess.createDefaultMtlsProvider()).thenThrow(expected); + + InstantiatingGrpcChannelProvider provider = + InstantiatingGrpcChannelProvider.newBuilder() + .setCertificateBasedAccess(mtlsCertificateBasedAccess) + .setAttemptDirectPath(false) + .setEndpoint(DEFAULT_ENDPOINT) + .setHeaderProvider( + mock(HeaderProvider.class, Mockito.withSettings().withoutAnnotations())) + .build(); + + IOException thrown = assertThrows(IOException.class, provider::createChannelBuilder); + assertThat(thrown).isSameInstanceAs(expected); + } + + @Test + void + createChannelBuilder_whenDefaultMtlsProviderThrowsCertificateSourceUnavailable_fallsBackWithoutMtls() + throws Exception { + CertificateBasedAccess mtlsCertificateBasedAccess = + mock(CertificateBasedAccess.class, Mockito.withSettings().withoutAnnotations()); + Mockito.when(mtlsCertificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + Mockito.when(mtlsCertificateBasedAccess.createDefaultMtlsProvider()) + .thenThrow(new CertificateSourceUnavailableException("No certificates on disk")); + + InstantiatingGrpcChannelProvider provider = + InstantiatingGrpcChannelProvider.newBuilder() + .setCertificateBasedAccess(mtlsCertificateBasedAccess) + .setAttemptDirectPath(false) + .setEndpoint(DEFAULT_ENDPOINT) + .setHeaderProvider( + mock(HeaderProvider.class, Mockito.withSettings().withoutAnnotations())) + .build(); + + assertThat(provider.createChannelBuilder()).isNotNull(); + } + private static class FakeLogHandler extends Handler { List records = new ArrayList<>(); diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java index d1c2ea0f1c97..0766a8032df1 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider.java @@ -40,7 +40,6 @@ import com.google.api.gax.rpc.mtls.CertificateBasedAccess; import com.google.auth.Credentials; import com.google.auth.mtls.CertificateSourceUnavailableException; -import com.google.auth.mtls.DefaultMtlsProviderFactory; import com.google.auth.mtls.MtlsProvider; import com.google.common.annotations.VisibleForTesting; import java.io.IOException; @@ -51,7 +50,6 @@ import java.util.concurrent.Executor; import java.util.concurrent.ScheduledExecutorService; import java.util.function.Supplier; -import java.util.logging.Level; import java.util.logging.Logger; import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; @@ -453,18 +451,23 @@ public InstantiatingHttpJsonChannelProvider build() { if (mtlsProvider == null) { // Attempt to create default MtlsProvider from environment. try { - mtlsProvider = DefaultMtlsProviderFactory.create(); + mtlsProvider = certificateBasedAccess.createDefaultMtlsProvider(); } catch (CertificateSourceUnavailableException e) { // This is okay. Leave mtlsProvider as null so that we will not auto-upgrade // to mTLS endpoints. See https://google.aip.dev/auth/4114. } catch (IOException e) { - LOG.log( - Level.WARNING, - "DefaultMtlsProviderFactory encountered unexpected IOException: " + e.getMessage()); - LOG.log( - Level.WARNING, - "mTLS configuration was detected on the device, but mTLS failed to initialize." - + " Falling back to non-mTLS channel."); + mtlsProvider = + new MtlsProvider() { + @Override + public boolean isAvailable() throws IOException { + throw e; + } + + @Override + public KeyStore getKeyStore() throws IOException { + throw e; + } + }; } } } diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTest.java b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTest.java index 749876c4a005..74a578da24cb 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTest.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/test/java/com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProviderTest.java @@ -41,6 +41,7 @@ import com.google.api.gax.rpc.mtls.AbstractMtlsTransportChannelTest; import com.google.api.gax.rpc.mtls.CertificateBasedAccess; import com.google.api.gax.rpc.testing.FakeMtlsProvider; +import com.google.auth.mtls.CertificateSourceUnavailableException; import com.google.auth.mtls.MtlsProvider; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -479,6 +480,50 @@ void getTransportChannel_whenMtlsKeyStoreThrowsRuntimeException_propagatesUnwrap assertThat(thrown).isSameInstanceAs(failure); } + @Test + void getTransportChannel_whenDefaultMtlsProviderThrowsIOException_propagatesIOException() + throws Exception { + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + IOException expected = new IOException("Corrupt PEM file"); + Mockito.when(certificateBasedAccess.createDefaultMtlsProvider()).thenThrow(expected); + + InstantiatingHttpJsonChannelProvider provider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint(DEFAULT_ENDPOINT) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + InstantiatingHttpJsonChannelProvider finalProvider = + (InstantiatingHttpJsonChannelProvider) provider.withHeaders(DEFAULT_HEADER_MAP); + + IOException thrown = assertThrows(IOException.class, finalProvider::getTransportChannel); + assertThat(thrown).isSameInstanceAs(expected); + } + + @Test + void + getTransportChannel_whenDefaultMtlsProviderThrowsCertificateSourceUnavailable_fallsBackWithoutMtls() + throws Exception { + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + Mockito.when(certificateBasedAccess.createDefaultMtlsProvider()) + .thenThrow(new CertificateSourceUnavailableException("No certificates on disk")); + + InstantiatingHttpJsonChannelProvider provider = + InstantiatingHttpJsonChannelProvider.newBuilder() + .setEndpoint(DEFAULT_ENDPOINT) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + InstantiatingHttpJsonChannelProvider finalProvider = + (InstantiatingHttpJsonChannelProvider) provider.withHeaders(DEFAULT_HEADER_MAP); + + HttpTransport transport = finalProvider.createHttpTransport(); + assertThat(transport).isInstanceOf(NetHttpTransport.class); + assertThat(((NetHttpTransport) transport).isMtls()).isFalse(); + + HttpJsonTransportChannel channel = finalProvider.getTransportChannel(); + assertThat(channel).isNotNull(); + channel.shutdownNow(); + } + @Test void createHttpTransport_withMtlsKeyStore_returnsMtlsTransport() throws IOException, GeneralSecurityException { diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/EndpointContext.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/EndpointContext.java index 0c0ef9a69b9c..2fdb3974087f 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/EndpointContext.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/EndpointContext.java @@ -34,7 +34,6 @@ import com.google.api.gax.rpc.mtls.CertificateBasedAccess; import com.google.auth.Credentials; import com.google.auth.mtls.CertificateSourceUnavailableException; -import com.google.auth.mtls.DefaultMtlsProviderFactory; import com.google.auth.mtls.MtlsProvider; import com.google.auth.oauth2.ComputeEngineCredentials; import com.google.auto.value.AutoValue; @@ -42,7 +41,6 @@ import com.google.common.base.Strings; import com.google.common.net.HostAndPort; import java.io.IOException; -import java.util.logging.Level; import java.util.logging.Logger; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -65,7 +63,11 @@ public abstract class EndpointContext { // static block initialization for exception handling static { try { - INSTANCE = EndpointContext.newBuilder().setServiceName("").build(); + INSTANCE = + EndpointContext.newBuilder() + .setServiceName("") + .setCertificateBasedAccess(new CertificateBasedAccess(name -> "false")) + .build(); } catch (IOException e) { throw new RuntimeException("Unable to create a default empty EndpointContext", e); } @@ -309,16 +311,9 @@ private String determineEndpoint() throws IOException { if (certificateBasedAccess.useMtlsClientCertificate()) { if (mtlsProvider == null) { try { - mtlsProvider = DefaultMtlsProviderFactory.create(); + mtlsProvider = certificateBasedAccess.createDefaultMtlsProvider(); } catch (CertificateSourceUnavailableException e) { // This is okay. Leave mtlsProvider as null; - } catch (IOException e) { - LOG.log( - Level.WARNING, - "DefaultMtlsProviderFactory encountered unexpected IOException: " + e.getMessage()); - LOG.log( - Level.WARNING, - "mTLS configuration was detected on the device, but mTLS failed to initialize. Falling back to non-mTLS channel."); } } } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/CertificateBasedAccess.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/CertificateBasedAccess.java index d77378ad9612..59a2b674404c 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/CertificateBasedAccess.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/mtls/CertificateBasedAccess.java @@ -32,8 +32,11 @@ import com.google.api.core.InternalApi; import com.google.api.gax.rpc.internal.EnvironmentProvider; +import com.google.auth.mtls.DefaultMtlsProviderFactory; +import com.google.auth.mtls.MtlsProvider; import com.google.auth.mtls.MtlsUtils; import com.google.auth.oauth2.PropertyProvider; +import java.io.IOException; /** * Utility class for handling certificate-based access configurations. @@ -96,4 +99,9 @@ public MtlsEndpointUsagePolicy getMtlsEndpointUsagePolicy() { public String getWorkloadCertPath() { return MtlsUtils.getWorkloadCertPath(getAuthEnvProvider(), getAuthPropertyProvider()); } + + /** Creates the default {@link MtlsProvider} for the environment. */ + public MtlsProvider createDefaultMtlsProvider() throws IOException { + return DefaultMtlsProviderFactory.create(); + } } diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/EndpointContextTest.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/EndpointContextTest.java index 950b9f9dd7a7..e388676a8c89 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/EndpointContextTest.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/EndpointContextTest.java @@ -38,6 +38,7 @@ import com.google.api.gax.rpc.mtls.CertificateBasedAccess; import com.google.api.gax.rpc.testing.FakeMtlsProvider; import com.google.auth.Credentials; +import com.google.auth.mtls.CertificateSourceUnavailableException; import com.google.auth.mtls.MtlsProvider; import com.google.auth.oauth2.ComputeEngineCredentials; import com.google.common.truth.Truth; @@ -743,4 +744,39 @@ void getUrlDomain_nonGDUUniverseDomain() throws IOException { defaultEndpointContextBuilder.setUniverseDomain("random.com").build(); Truth.assertThat(endpointContext.getUrlDomain()).isEqualTo("test.random.com"); } + + @Test + void endpointContextBuild_whenDefaultMtlsProviderThrowsIOException_propagatesIOException() + throws Exception { + CertificateBasedAccess certificateBasedAccess = Mockito.mock(CertificateBasedAccess.class); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + IOException expected = new IOException("Corrupt PEM file"); + Mockito.when(certificateBasedAccess.createDefaultMtlsProvider()).thenThrow(expected); + + EndpointContext.Builder builder = + defaultEndpointContextBuilder + .setMtlsProvider(null) + .setCertificateBasedAccess(certificateBasedAccess); + IOException actual = assertThrows(IOException.class, builder::build); + Truth.assertThat(actual).isSameInstanceAs(expected); + } + + @Test + void + endpointContextBuild_whenDefaultMtlsProviderThrowsCertificateSourceUnavailable_fallsBackToRegularEndpoint() + throws Exception { + CertificateBasedAccess certificateBasedAccess = Mockito.mock(CertificateBasedAccess.class); + Mockito.when(certificateBasedAccess.useMtlsClientCertificate()).thenReturn(true); + Mockito.when(certificateBasedAccess.getMtlsEndpointUsagePolicy()) + .thenReturn(CertificateBasedAccess.MtlsEndpointUsagePolicy.AUTO); + Mockito.when(certificateBasedAccess.createDefaultMtlsProvider()) + .thenThrow(new CertificateSourceUnavailableException("No certificates on disk")); + + EndpointContext endpointContext = + defaultEndpointContextBuilder + .setMtlsProvider(null) + .setCertificateBasedAccess(certificateBasedAccess) + .build(); + Truth.assertThat(endpointContext.resolvedEndpoint()).isEqualTo(DEFAULT_ENDPOINT); + } } From 121549f7820f5a42721e7a83a0570c19f87e1582 Mon Sep 17 00:00:00 2001 From: Matt Castelaz Date: Fri, 16 Oct 2026 16:27:21 +0000 Subject: [PATCH 12/12] test(auth): skip unreadable config test when running as root --- .../javatests/com/google/auth/mtls/MtlsUtilsTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java index 1e85e6b11b08..34395805b5e9 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/mtls/MtlsUtilsTest.java @@ -40,6 +40,7 @@ import java.nio.file.Files; import java.nio.file.Path; import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; @@ -407,6 +408,7 @@ void getWorkloadCertPath_explicitConfigUnreadable_throwsIllegalStateException() File file = configFile.toFile(); if (file.setReadable(false)) { try { + Assumptions.assumeFalse(file.canRead(), "Current user can read any file (e.g. root)"); EnvironmentProvider envProvider = name -> "GOOGLE_API_CERTIFICATE_CONFIG".equals(name) ? configFile.toString() : null; PropertyProvider propProvider = (name, def) -> def;