From 24e024cd254f0bb868e659447fea27625fb2d2ca Mon Sep 17 00:00:00 2001 From: JoeWang1127 Date: Wed, 12 Aug 2026 20:46:00 +0000 Subject: [PATCH] feat(workloadidentity): onboard a new library --- gapic-libraries-bom/pom.xml | 7 + java-workloadidentity/.repo-metadata.json | 15 + java-workloadidentity/README.md | 210 ++ .../google-cloud-workloadidentity-bom/pom.xml | 45 + .../google-cloud-workloadidentity/pom.xml | 117 + .../v1/WorkloadIdentityClient.java | 732 +++++++ .../v1/WorkloadIdentitySettings.java | 294 +++ .../workloadidentity/v1/gapic_metadata.json | 27 + .../workloadidentity/v1/package-info.java | 43 + .../GrpcWorkloadIdentityCallableFactory.java | 115 + .../v1/stub/GrpcWorkloadIdentityStub.java | 266 +++ ...tpJsonWorkloadIdentityCallableFactory.java | 103 + .../v1/stub/HttpJsonWorkloadIdentityStub.java | 439 ++++ .../workloadidentity/v1/stub/Version.java | 27 + .../v1/stub/WorkloadIdentityStub.java | 82 + .../v1/stub/WorkloadIdentityStubSettings.java | 559 +++++ .../reflect-config.json | 1658 +++++++++++++++ .../workloadidentity/v1/MockLocations.java | 59 + .../v1/MockLocationsImpl.java | 105 + .../v1/MockWorkloadIdentity.java | 59 + .../v1/MockWorkloadIdentityImpl.java | 83 + .../WorkloadIdentityClientHttpJsonTest.java | 306 +++ .../v1/WorkloadIdentityClientTest.java | 292 +++ .../pom.xml | 45 + .../v1/WorkloadIdentityGrpc.java | 427 ++++ java-workloadidentity/pom.xml | 58 + .../clirr-ignored-differences.xml | 80 + .../pom.xml | 41 + .../v1/GenerateServiceAgentsRequest.java | 671 ++++++ ...GenerateServiceAgentsRequestOrBuilder.java | 72 + .../v1/GenerateServiceAgentsResponse.java | 951 +++++++++ ...enerateServiceAgentsResponseOrBuilder.java | 84 + .../v1/OperationMetadata.java | 1874 +++++++++++++++++ .../v1/OperationMetadataOrBuilder.java | 230 ++ .../workloadidentity/v1/ServiceAgent.java | 1763 ++++++++++++++++ .../v1/ServiceAgentOrBuilder.java | 206 ++ .../v1/ServiceProducerName.java | 454 ++++ .../workloadidentity/v1/ServiceProto.java | 198 ++ .../cloud/workloadidentity/v1/service.proto | 178 ++ .../SyncGenerateServiceAgents.java | 54 + .../getlocation/SyncGetLocation.java | 56 + .../SyncCreateSetCredentialsProvider.java | 45 + .../create/SyncCreateSetEndpoint.java | 42 + .../SyncCreateUseHttpJsonTransport.java | 41 + .../AsyncGenerateServiceAgents.java | 53 + .../AsyncGenerateServiceAgentsLRO.java | 54 + .../SyncGenerateServiceAgents.java | 50 + ...erateServiceAgentsServiceproducername.java | 45 + .../SyncGenerateServiceAgentsString.java | 46 + .../getlocation/AsyncGetLocation.java | 45 + .../getlocation/SyncGetLocation.java | 42 + .../listlocations/AsyncListLocations.java | 54 + .../AsyncListLocationsPaged.java | 62 + .../listlocations/SyncListLocations.java | 50 + .../SyncGenerateServiceAgents.java | 54 + .../getlocation/SyncGetLocation.java | 56 + librarian.yaml | 267 +-- pom.xml | 1 + versions.txt | 5 + 59 files changed, 13837 insertions(+), 260 deletions(-) create mode 100644 java-workloadidentity/.repo-metadata.json create mode 100644 java-workloadidentity/README.md create mode 100644 java-workloadidentity/google-cloud-workloadidentity-bom/pom.xml create mode 100644 java-workloadidentity/google-cloud-workloadidentity/pom.xml create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityClient.java create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/WorkloadIdentitySettings.java create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/gapic_metadata.json create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/package-info.java create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/GrpcWorkloadIdentityCallableFactory.java create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/GrpcWorkloadIdentityStub.java create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/HttpJsonWorkloadIdentityCallableFactory.java create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/HttpJsonWorkloadIdentityStub.java create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/Version.java create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/WorkloadIdentityStub.java create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/WorkloadIdentityStubSettings.java create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/main/resources/META-INF/native-image/com.google.cloud.workloadidentity.v1/reflect-config.json create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockLocations.java create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockLocationsImpl.java create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockWorkloadIdentity.java create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockWorkloadIdentityImpl.java create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityClientHttpJsonTest.java create mode 100644 java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityClientTest.java create mode 100644 java-workloadidentity/grpc-google-cloud-workloadidentity-v1/pom.xml create mode 100644 java-workloadidentity/grpc-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityGrpc.java create mode 100644 java-workloadidentity/pom.xml create mode 100644 java-workloadidentity/proto-google-cloud-workloadidentity-v1/clirr-ignored-differences.xml create mode 100644 java-workloadidentity/proto-google-cloud-workloadidentity-v1/pom.xml create mode 100644 java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsRequest.java create mode 100644 java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsRequestOrBuilder.java create mode 100644 java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsResponse.java create mode 100644 java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsResponseOrBuilder.java create mode 100644 java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/OperationMetadata.java create mode 100644 java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/OperationMetadataOrBuilder.java create mode 100644 java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceAgent.java create mode 100644 java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceAgentOrBuilder.java create mode 100644 java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceProducerName.java create mode 100644 java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceProto.java create mode 100644 java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/proto/google/cloud/workloadidentity/v1/service.proto create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/stub/workloadidentitystubsettings/generateserviceagents/SyncGenerateServiceAgents.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/stub/workloadidentitystubsettings/getlocation/SyncGetLocation.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/create/SyncCreateSetCredentialsProvider.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/create/SyncCreateSetEndpoint.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/create/SyncCreateUseHttpJsonTransport.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/AsyncGenerateServiceAgents.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/AsyncGenerateServiceAgentsLRO.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/SyncGenerateServiceAgents.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/SyncGenerateServiceAgentsServiceproducername.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/SyncGenerateServiceAgentsString.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/getlocation/AsyncGetLocation.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/getlocation/SyncGetLocation.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/listlocations/AsyncListLocations.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/listlocations/AsyncListLocationsPaged.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/listlocations/SyncListLocations.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentitysettings/generateserviceagents/SyncGenerateServiceAgents.java create mode 100644 java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentitysettings/getlocation/SyncGetLocation.java diff --git a/gapic-libraries-bom/pom.xml b/gapic-libraries-bom/pom.xml index 2c6e2f024636..29c8b963751d 100644 --- a/gapic-libraries-bom/pom.xml +++ b/gapic-libraries-bom/pom.xml @@ -1528,6 +1528,13 @@ pom import + + com.google.cloud + google-cloud-workloadidentity-bom + 0.1.0-SNAPSHOT + pom + import + com.google.cloud google-cloud-workloadmanager-bom diff --git a/java-workloadidentity/.repo-metadata.json b/java-workloadidentity/.repo-metadata.json new file mode 100644 index 000000000000..60cd874d2cfd --- /dev/null +++ b/java-workloadidentity/.repo-metadata.json @@ -0,0 +1,15 @@ +{ + "api_shortname": "workloadidentity", + "name_pretty": "Workload Identity", + "product_documentation": "https://cloud.google.com/iam/", + "api_description": "", + "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-workloadidentity/latest/overview", + "release_level": "preview", + "transport": "grpc+rest", + "language": "java", + "repo": "googleapis/google-cloud-java", + "repo_short": "java-workloadidentity", + "distribution_name": "com.google.cloud:google-cloud-workloadidentity", + "api_id": "workloadidentity.googleapis.com", + "library_type": "GAPIC_AUTO" +} \ No newline at end of file diff --git a/java-workloadidentity/README.md b/java-workloadidentity/README.md new file mode 100644 index 000000000000..82dcc1b0d9e3 --- /dev/null +++ b/java-workloadidentity/README.md @@ -0,0 +1,210 @@ +# Google Workload Identity Client for Java + +Java idiomatic client for [Workload Identity][product-docs]. + +[![Maven][maven-version-image]][maven-version-link] +![Stability][stability-image] + +- [Product Documentation][product-docs] +- [Client Library Documentation][javadocs] + +> Note: This client is a work-in-progress, and may occasionally +> make backwards-incompatible changes. + + +## Quickstart + +If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file: + +```xml + + + + com.google.cloud + libraries-bom + 26.86.0 + pom + import + + + + + + + com.google.cloud + google-cloud-workloadidentity + + +``` + +If you are using Maven without the BOM, add this to your dependencies: + + +```xml + + com.google.cloud + google-cloud-workloadidentity + 0.0.0 + +``` + +If you are using Gradle 5.x or later, add this to your dependencies: + +```Groovy +implementation platform('com.google.cloud:libraries-bom:26.86.0') + +implementation 'com.google.cloud:google-cloud-workloadidentity' +``` + +If you are using Gradle without BOM, add this to your dependencies: + +```Groovy +implementation 'com.google.cloud:google-cloud-workloadidentity:0.0.0' +``` + +If you are using SBT, add this to your dependencies: + +```Scala +libraryDependencies += "com.google.cloud" % "google-cloud-workloadidentity" % "0.0.0" +``` + +## Authentication + +See the [Authentication][authentication] section in the base directory's README. + +## Authorization + +The client application making API calls must be granted [authorization scopes][auth-scopes] required for the desired Workload Identity APIs, and the authenticated principal must have the [IAM role(s)][predefined-iam-roles] required to access GCP resources using the Workload Identity API calls. + +## Getting Started + +### Prerequisites + +You will need a [Google Cloud Platform Console][developer-console] project with the Workload Identity [API enabled][enable-api]. +You will need to [enable billing][enable-billing] to use Google Workload Identity. +[Follow these instructions][create-project] to get your project set up. You will also need to set up the local development environment by +[installing the Google Cloud Command Line Interface][cloud-cli] and running the following commands in command line: +`gcloud auth login` and `gcloud config set project [YOUR PROJECT ID]`. + +### Installation and setup + +You'll need to obtain the `google-cloud-workloadidentity` library. See the [Quickstart](#quickstart) section +to add `google-cloud-workloadidentity` as a dependency in your code. + +## About Workload Identity + + +[Workload Identity][product-docs] + +See the [Workload Identity client library docs][javadocs] to learn how to +use this Workload Identity Client Library. + + + + + + +## Troubleshooting + +To get help, follow the instructions in the [shared Troubleshooting document][troubleshooting]. + +## Transport + +Workload Identity uses both gRPC and HTTP/JSON for the transport layer. + +## Supported Java Versions + +Java 8 or above is required for using this client. + +Google's Java client libraries, +[Google Cloud Client Libraries][cloudlibs] +and +[Google Cloud API Libraries][apilibs], +follow the +[Oracle Java SE support roadmap][oracle] +(see the Oracle Java SE Product Releases section). + +### For new development + +In general, new feature development occurs with support for the lowest Java +LTS version covered by Oracle's Premier Support (which typically lasts 5 years +from initial General Availability). If the minimum required JVM for a given +library is changed, it is accompanied by a [semver][semver] major release. + +Java 11 and (in September 2021) Java 17 are the best choices for new +development. + +### Keeping production systems current + +Google tests its client libraries with all current LTS versions covered by +Oracle's Extended Support (which typically lasts 8 years from initial +General Availability). + +#### Legacy support + +Google's client libraries support legacy versions of Java runtimes with long +term stable libraries that don't receive feature updates on a best efforts basis +as it may not be possible to backport all patches. + +Google provides updates on a best efforts basis to apps that continue to use +Java 7, though apps might need to upgrade to current versions of the library +that supports their JVM. + +#### Where to find specific information + +The latest versions and the supported Java versions are identified on +the individual GitHub repository `github.com/GoogleAPIs/java-SERVICENAME` +and on [google-cloud-java][g-c-j]. + +## Versioning +This library follows [Semantic Versioning](http://semver.org/). + + +It is currently in major version zero (``0.y.z``), which means that anything may change at any time +and the public API should not be considered stable. + + +## Contributing + + +Contributions to this library are always welcome and highly encouraged. + +See [CONTRIBUTING][contributing] for more information how to get started. + +Please note that this project is released with a Contributor Code of Conduct. By participating in +this project you agree to abide by its terms. See [Code of Conduct][code-of-conduct] for more +information. + + +## License + +Apache 2.0 - See [LICENSE][license] for more information. + +Java is a registered trademark of Oracle and/or its affiliates. + +[product-docs]: https://cloud.google.com/iam/ +[javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-workloadidentity/latest/overview +[stability-image]: https://img.shields.io/badge/stability-preview-yellow +[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-workloadidentity.svg +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-workloadidentity/0.0.0 +[authentication]: https://github.com/googleapis/google-cloud-java#authentication +[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes +[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles +[iam-policy]: https://cloud.google.com/iam/docs/overview#cloud-iam-policy +[developer-console]: https://console.developers.google.com/ +[create-project]: https://cloud.google.com/resource-manager/docs/creating-managing-projects +[cloud-cli]: https://cloud.google.com/cli +[troubleshooting]: https://github.com/googleapis/google-cloud-java/blob/main/TROUBLESHOOTING.md +[contributing]: https://github.com/googleapis/google-cloud-java/blob/main/CONTRIBUTING.md +[code-of-conduct]: https://github.com/googleapis/google-cloud-java/blob/main/CODE_OF_CONDUCT.md#contributor-code-of-conduct +[license]: https://github.com/googleapis/google-cloud-java/blob/main/LICENSE +[enable-billing]: https://cloud.google.com/apis/docs/getting-started#enabling_billing +[enable-api]: https://console.cloud.google.com/flows/enableapi?apiid=workloadidentity.googleapis.com +[libraries-bom]: https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM +[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png + +[semver]: https://semver.org/ +[cloudlibs]: https://cloud.google.com/apis/docs/client-libraries-explained +[apilibs]: https://cloud.google.com/apis/docs/client-libraries-explained#google_api_client_libraries +[oracle]: https://www.oracle.com/java/technologies/java-se-support-roadmap.html +[g-c-j]: http://github.com/googleapis/google-cloud-java diff --git a/java-workloadidentity/google-cloud-workloadidentity-bom/pom.xml b/java-workloadidentity/google-cloud-workloadidentity-bom/pom.xml new file mode 100644 index 000000000000..3ee79a9d4906 --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity-bom/pom.xml @@ -0,0 +1,45 @@ + + + 4.0.0 + com.google.cloud + google-cloud-workloadidentity-bom + 0.1.0-SNAPSHOT + pom + + com.google.cloud + google-cloud-pom-parent + 1.90.0-SNAPSHOT + ../../google-cloud-pom-parent/pom.xml + + + Google Workload Identity BOM + + BOM for Workload Identity + + + + true + + + + + + + com.google.cloud + google-cloud-workloadidentity + 0.1.0-SNAPSHOT + + + com.google.api.grpc + grpc-google-cloud-workloadidentity-v1 + 0.1.0-SNAPSHOT + + + com.google.api.grpc + proto-google-cloud-workloadidentity-v1 + 0.1.0-SNAPSHOT + + + + + \ No newline at end of file diff --git a/java-workloadidentity/google-cloud-workloadidentity/pom.xml b/java-workloadidentity/google-cloud-workloadidentity/pom.xml new file mode 100644 index 000000000000..1a95890a5813 --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/pom.xml @@ -0,0 +1,117 @@ + + + 4.0.0 + com.google.cloud + google-cloud-workloadidentity + 0.1.0-SNAPSHOT + jar + Google Workload Identity + Workload Identity + + com.google.cloud + google-cloud-workloadidentity-parent + 0.1.0-SNAPSHOT + + + google-cloud-workloadidentity + + + + io.grpc + grpc-api + + + io.grpc + grpc-stub + + + io.grpc + grpc-protobuf + + + com.google.api + api-common + + + com.google.protobuf + protobuf-java + + + com.google.api.grpc + proto-google-common-protos + + + + com.google.api.grpc + proto-google-cloud-workloadidentity-v1 + + + + com.google.guava + guava + + + com.google.api + gax + + + com.google.api + gax-grpc + + + com.google.api + gax-httpjson + + + com.google.api.grpc + proto-google-iam-v1 + + + org.threeten + threetenbp + + + + + com.google.api.grpc + grpc-google-common-protos + test + + + com.google.api.grpc + grpc-google-iam-v1 + test + + + junit + junit + test + + + + com.google.api.grpc + grpc-google-cloud-workloadidentity-v1 + test + + + + + com.google.api + gax + testlib + test + + + com.google.api + gax-grpc + testlib + test + + + com.google.api + gax-httpjson + testlib + test + + + \ No newline at end of file diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityClient.java b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityClient.java new file mode 100644 index 000000000000..e01e3bddf1f4 --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityClient.java @@ -0,0 +1,732 @@ +/* + * 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.cloud.workloadidentity.v1; + +import com.google.api.core.ApiFuture; +import com.google.api.core.ApiFutures; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.httpjson.longrunning.OperationsClient; +import com.google.api.gax.longrunning.OperationFuture; +import com.google.api.gax.paging.AbstractFixedSizeCollection; +import com.google.api.gax.paging.AbstractPage; +import com.google.api.gax.paging.AbstractPagedListResponse; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.PageContext; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.cloud.workloadidentity.v1.stub.WorkloadIdentityStub; +import com.google.cloud.workloadidentity.v1.stub.WorkloadIdentityStubSettings; +import com.google.common.util.concurrent.MoreExecutors; +import com.google.longrunning.Operation; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Service Description: Service describing handlers for resources + * + *

This class provides the ability to make remote calls to the backing service through method + * calls that map to API methods. Sample code to get started: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) {
+ *   GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
+ *   Location response = workloadIdentityClient.getLocation(request);
+ * }
+ * }
+ * + *

Note: close() needs to be called on the WorkloadIdentityClient object to clean up resources + * such as threads. In the example above, try-with-resources is used, which automatically calls + * close(). + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Methods
MethodDescriptionMethod Variants

GenerateServiceAgents

Creates all service agents for a given resource, location and service producer.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • generateServiceAgentsAsync(GenerateServiceAgentsRequest request) + *

+ *

Methods that return long-running operations have "Async" method variants that return `OperationFuture`, which is used to track polling of the service.

+ *
    + *
  • generateServiceAgentsAsync(ServiceProducerName parent) + *

  • generateServiceAgentsAsync(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • generateServiceAgentsOperationCallable() + *

  • generateServiceAgentsCallable() + *

+ *

ListLocations

Lists information about the supported locations for this service. + *

This method lists locations based on the resource scope provided inthe [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: ***Global locations**: If `name` is empty, the method lists thepublic locations available to all projects. * **Project-specificlocations**: If `name` follows the format`projects/{project}`, the method lists locations visible to thatspecific project. This includes public, private, or otherproject-specific locations enabled for the project. + *

For gRPC and client library implementations, the resource name ispassed as the `name` field. For direct service calls, the resourcename isincorporated into the request path based on the specific serviceimplementation and version.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listLocations(ListLocationsRequest request) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listLocationsPagedCallable() + *

  • listLocationsCallable() + *

+ *

GetLocation

Gets information about a location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getLocation(GetLocationRequest request) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getLocationCallable() + *

+ *
+ * + *

See the individual methods for example code. + * + *

Many parameters require resource names to be formatted in a particular way. To assist with + * these names, this class includes a format method for each type of name, and additionally a parse + * method to extract the individual identifiers contained within names that are returned. + * + *

This class can be customized by passing in a custom instance of WorkloadIdentitySettings to + * create(). For example: + * + *

To customize credentials: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * WorkloadIdentitySettings workloadIdentitySettings =
+ *     WorkloadIdentitySettings.newBuilder()
+ *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
+ *         .build();
+ * WorkloadIdentityClient workloadIdentityClient =
+ *     WorkloadIdentityClient.create(workloadIdentitySettings);
+ * }
+ * + *

To customize the endpoint: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * WorkloadIdentitySettings workloadIdentitySettings =
+ *     WorkloadIdentitySettings.newBuilder().setEndpoint(myEndpoint).build();
+ * WorkloadIdentityClient workloadIdentityClient =
+ *     WorkloadIdentityClient.create(workloadIdentitySettings);
+ * }
+ * + *

To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over + * the wire: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * WorkloadIdentitySettings workloadIdentitySettings =
+ *     WorkloadIdentitySettings.newHttpJsonBuilder().build();
+ * WorkloadIdentityClient workloadIdentityClient =
+ *     WorkloadIdentityClient.create(workloadIdentitySettings);
+ * }
+ * + *

Please refer to the GitHub repository's samples for more quickstart code snippets. + */ +@NullMarked +@Generated("by gapic-generator-java") +public class WorkloadIdentityClient implements BackgroundResource { + private final @Nullable WorkloadIdentitySettings settings; + private final WorkloadIdentityStub stub; + private final OperationsClient httpJsonOperationsClient; + private final com.google.longrunning.OperationsClient operationsClient; + + /** Constructs an instance of WorkloadIdentityClient with default settings. */ + public static final WorkloadIdentityClient create() throws IOException { + return create(WorkloadIdentitySettings.newBuilder().build()); + } + + /** + * Constructs an instance of WorkloadIdentityClient, using the given settings. The channels are + * created based on the settings passed in, or defaults for any settings that are not set. + */ + public static final WorkloadIdentityClient create(WorkloadIdentitySettings settings) + throws IOException { + return new WorkloadIdentityClient(settings); + } + + /** + * Constructs an instance of WorkloadIdentityClient, using the given stub for making calls. This + * is for advanced usage - prefer using create(WorkloadIdentitySettings). + */ + public static final WorkloadIdentityClient create(WorkloadIdentityStub stub) { + return new WorkloadIdentityClient(stub); + } + + /** + * Constructs an instance of WorkloadIdentityClient, using the given settings. This is protected + * so that it is easy to make a subclass, but otherwise, the static factory methods should be + * preferred. + */ + protected WorkloadIdentityClient(WorkloadIdentitySettings settings) throws IOException { + this.settings = settings; + this.stub = ((WorkloadIdentityStubSettings) settings.getStubSettings()).createStub(); + this.operationsClient = + com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub()); + this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub()); + } + + protected WorkloadIdentityClient(WorkloadIdentityStub stub) { + this.settings = null; + this.stub = stub; + this.operationsClient = + com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub()); + this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub()); + } + + public final @Nullable WorkloadIdentitySettings getSettings() { + return settings; + } + + public WorkloadIdentityStub getStub() { + return stub; + } + + /** + * Returns the OperationsClient that can be used to query the status of a long-running operation + * returned by another API method call. + */ + public final com.google.longrunning.OperationsClient getOperationsClient() { + return operationsClient; + } + + /** + * Returns the OperationsClient that can be used to query the status of a long-running operation + * returned by another API method call. + */ + @BetaApi + public final OperationsClient getHttpJsonOperationsClient() { + return httpJsonOperationsClient; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates all service agents for a given resource, location and service producer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) {
+   *   ServiceProducerName parent =
+   *       ServiceProducerName.ofProjectLocationServiceProducerName(
+   *           "[PROJECT]", "[LOCATION]", "[SERVICE_PRODUCER]");
+   *   GenerateServiceAgentsResponse response =
+   *       workloadIdentityClient.generateServiceAgentsAsync(parent).get();
+   * }
+   * }
+ * + * @param parent Required. The parent resource. The `location` for the parent resource must be + * `global`. + *

Examples: + *

- projects/1234/locations/global/serviceProducers/bigquery.googleapis.com - + * folders/2344/locations/global/serviceProducers/vertexai.googleapis.com - + * organizations/3344/locations/global/serviceProducers/iam.googleapis.com + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture + generateServiceAgentsAsync(@Nullable ServiceProducerName parent) { + GenerateServiceAgentsRequest request = + GenerateServiceAgentsRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return generateServiceAgentsAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates all service agents for a given resource, location and service producer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) {
+   *   String parent =
+   *       ServiceProducerName.ofProjectLocationServiceProducerName(
+   *               "[PROJECT]", "[LOCATION]", "[SERVICE_PRODUCER]")
+   *           .toString();
+   *   GenerateServiceAgentsResponse response =
+   *       workloadIdentityClient.generateServiceAgentsAsync(parent).get();
+   * }
+   * }
+ * + * @param parent Required. The parent resource. The `location` for the parent resource must be + * `global`. + *

Examples: + *

- projects/1234/locations/global/serviceProducers/bigquery.googleapis.com - + * folders/2344/locations/global/serviceProducers/vertexai.googleapis.com - + * organizations/3344/locations/global/serviceProducers/iam.googleapis.com + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture + generateServiceAgentsAsync(String parent) { + GenerateServiceAgentsRequest request = + GenerateServiceAgentsRequest.newBuilder().setParent(parent).build(); + return generateServiceAgentsAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates all service agents for a given resource, location and service producer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) {
+   *   GenerateServiceAgentsRequest request =
+   *       GenerateServiceAgentsRequest.newBuilder()
+   *           .setParent(
+   *               ServiceProducerName.ofProjectLocationServiceProducerName(
+   *                       "[PROJECT]", "[LOCATION]", "[SERVICE_PRODUCER]")
+   *                   .toString())
+   *           .build();
+   *   GenerateServiceAgentsResponse response =
+   *       workloadIdentityClient.generateServiceAgentsAsync(request).get();
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture + generateServiceAgentsAsync(GenerateServiceAgentsRequest request) { + return generateServiceAgentsOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates all service agents for a given resource, location and service producer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) {
+   *   GenerateServiceAgentsRequest request =
+   *       GenerateServiceAgentsRequest.newBuilder()
+   *           .setParent(
+   *               ServiceProducerName.ofProjectLocationServiceProducerName(
+   *                       "[PROJECT]", "[LOCATION]", "[SERVICE_PRODUCER]")
+   *                   .toString())
+   *           .build();
+   *   OperationFuture future =
+   *       workloadIdentityClient.generateServiceAgentsOperationCallable().futureCall(request);
+   *   // Do something.
+   *   GenerateServiceAgentsResponse response = future.get();
+   * }
+   * }
+ */ + public final OperationCallable< + GenerateServiceAgentsRequest, GenerateServiceAgentsResponse, OperationMetadata> + generateServiceAgentsOperationCallable() { + return stub.generateServiceAgentsOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates all service agents for a given resource, location and service producer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) {
+   *   GenerateServiceAgentsRequest request =
+   *       GenerateServiceAgentsRequest.newBuilder()
+   *           .setParent(
+   *               ServiceProducerName.ofProjectLocationServiceProducerName(
+   *                       "[PROJECT]", "[LOCATION]", "[SERVICE_PRODUCER]")
+   *                   .toString())
+   *           .build();
+   *   ApiFuture future =
+   *       workloadIdentityClient.generateServiceAgentsCallable().futureCall(request);
+   *   // Do something.
+   *   Operation response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable + generateServiceAgentsCallable() { + return stub.generateServiceAgentsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists information about the supported locations for this service. + * + *

This method lists locations based on the resource scope provided inthe + * [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: + * ***Global locations**: If `name` is empty, the method lists thepublic + * locations available to all projects. * **Project-specificlocations**: If + * `name` follows the format`projects/{project}`, the method lists locations visible to + * thatspecific project. This includes public, private, or otherproject-specific locations enabled + * for the project. + * + *

For gRPC and client library implementations, the resource name ispassed as the `name` field. + * For direct service calls, the resourcename isincorporated into the request path based on the + * specific serviceimplementation and version. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) {
+   *   ListLocationsRequest request =
+   *       ListLocationsRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   for (Location element : workloadIdentityClient.listLocations(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListLocationsPagedResponse listLocations(ListLocationsRequest request) { + return listLocationsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists information about the supported locations for this service. + * + *

This method lists locations based on the resource scope provided inthe + * [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: + * ***Global locations**: If `name` is empty, the method lists thepublic + * locations available to all projects. * **Project-specificlocations**: If + * `name` follows the format`projects/{project}`, the method lists locations visible to + * thatspecific project. This includes public, private, or otherproject-specific locations enabled + * for the project. + * + *

For gRPC and client library implementations, the resource name ispassed as the `name` field. + * For direct service calls, the resourcename isincorporated into the request path based on the + * specific serviceimplementation and version. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) {
+   *   ListLocationsRequest request =
+   *       ListLocationsRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future =
+   *       workloadIdentityClient.listLocationsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Location element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listLocationsPagedCallable() { + return stub.listLocationsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists information about the supported locations for this service. + * + *

This method lists locations based on the resource scope provided inthe + * [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: + * ***Global locations**: If `name` is empty, the method lists thepublic + * locations available to all projects. * **Project-specificlocations**: If + * `name` follows the format`projects/{project}`, the method lists locations visible to + * thatspecific project. This includes public, private, or otherproject-specific locations enabled + * for the project. + * + *

For gRPC and client library implementations, the resource name ispassed as the `name` field. + * For direct service calls, the resourcename isincorporated into the request path based on the + * specific serviceimplementation and version. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) {
+   *   ListLocationsRequest request =
+   *       ListLocationsRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   while (true) {
+   *     ListLocationsResponse response =
+   *         workloadIdentityClient.listLocationsCallable().call(request);
+   *     for (Location element : response.getLocationsList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listLocationsCallable() { + return stub.listLocationsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets information about a location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) {
+   *   GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
+   *   Location response = workloadIdentityClient.getLocation(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Location getLocation(GetLocationRequest request) { + return getLocationCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets information about a location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) {
+   *   GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
+   *   ApiFuture future = workloadIdentityClient.getLocationCallable().futureCall(request);
+   *   // Do something.
+   *   Location response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getLocationCallable() { + return stub.getLocationCallable(); + } + + @Override + public final void close() { + stub.close(); + } + + @Override + public void shutdown() { + stub.shutdown(); + } + + @Override + public boolean isShutdown() { + return stub.isShutdown(); + } + + @Override + public boolean isTerminated() { + return stub.isTerminated(); + } + + @Override + public void shutdownNow() { + stub.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return stub.awaitTermination(duration, unit); + } + + public static class ListLocationsPagedResponse + extends AbstractPagedListResponse< + ListLocationsRequest, + ListLocationsResponse, + Location, + ListLocationsPage, + ListLocationsFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListLocationsPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListLocationsPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListLocationsPagedResponse(ListLocationsPage page) { + super(page, ListLocationsFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListLocationsPage + extends AbstractPage< + ListLocationsRequest, ListLocationsResponse, Location, ListLocationsPage> { + + private ListLocationsPage( + @Nullable PageContext context, + @Nullable ListLocationsResponse response) { + super(context, response); + } + + private static ListLocationsPage createEmptyPage() { + return new ListLocationsPage(null, null); + } + + @Override + protected ListLocationsPage createPage( + @Nullable PageContext context, + @Nullable ListLocationsResponse response) { + return new ListLocationsPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + @Nullable PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListLocationsFixedSizeCollection + extends AbstractFixedSizeCollection< + ListLocationsRequest, + ListLocationsResponse, + Location, + ListLocationsPage, + ListLocationsFixedSizeCollection> { + + private ListLocationsFixedSizeCollection( + @Nullable List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListLocationsFixedSizeCollection createEmptyCollection() { + return new ListLocationsFixedSizeCollection(null, 0); + } + + @Override + protected ListLocationsFixedSizeCollection createCollection( + @Nullable List pages, int collectionSize) { + return new ListLocationsFixedSizeCollection(pages, collectionSize); + } + } +} diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/WorkloadIdentitySettings.java b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/WorkloadIdentitySettings.java new file mode 100644 index 000000000000..6b2f18cd72e9 --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/WorkloadIdentitySettings.java @@ -0,0 +1,294 @@ +/* + * 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.cloud.workloadidentity.v1; + +import static com.google.cloud.workloadidentity.v1.WorkloadIdentityClient.ListLocationsPagedResponse; + +import com.google.api.core.ApiFunction; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.ClientSettings; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.cloud.workloadidentity.v1.stub.WorkloadIdentityStubSettings; +import com.google.longrunning.Operation; +import java.io.IOException; +import java.util.List; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Settings class to configure an instance of {@link WorkloadIdentityClient}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (workloadidentity.googleapis.com) and default port (443) are + * used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

The builder of this class is recursive, so contained classes are themselves builders. When + * build() is called, the tree of builders is called to create the complete settings object. + * + *

For example, to set the + * [RetrySettings](https://cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.retrying.RetrySettings) + * of getLocation: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * WorkloadIdentitySettings.Builder workloadIdentitySettingsBuilder =
+ *     WorkloadIdentitySettings.newBuilder();
+ * workloadIdentitySettingsBuilder
+ *     .getLocationSettings()
+ *     .setRetrySettings(
+ *         workloadIdentitySettingsBuilder
+ *             .getLocationSettings()
+ *             .getRetrySettings()
+ *             .toBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofSeconds(1))
+ *             .setInitialRpcTimeoutDuration(Duration.ofSeconds(5))
+ *             .setMaxAttempts(5)
+ *             .setMaxRetryDelayDuration(Duration.ofSeconds(30))
+ *             .setMaxRpcTimeoutDuration(Duration.ofSeconds(60))
+ *             .setRetryDelayMultiplier(1.3)
+ *             .setRpcTimeoutMultiplier(1.5)
+ *             .setTotalTimeoutDuration(Duration.ofSeconds(300))
+ *             .build());
+ * WorkloadIdentitySettings workloadIdentitySettings = workloadIdentitySettingsBuilder.build();
+ * }
+ * + * Please refer to the [Client Side Retry + * Guide](https://docs.cloud.google.com/java/docs/client-retries) for additional support in setting + * retries. + * + *

To configure the RetrySettings of a Long Running Operation method, create an + * OperationTimedPollAlgorithm object and update the RPC's polling algorithm. For example, to + * configure the RetrySettings for generateServiceAgents: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * WorkloadIdentitySettings.Builder workloadIdentitySettingsBuilder =
+ *     WorkloadIdentitySettings.newBuilder();
+ * TimedRetryAlgorithm timedRetryAlgorithm =
+ *     OperationalTimedPollAlgorithm.create(
+ *         RetrySettings.newBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofMillis(500))
+ *             .setRetryDelayMultiplier(1.5)
+ *             .setMaxRetryDelayDuration(Duration.ofMillis(5000))
+ *             .setTotalTimeoutDuration(Duration.ofHours(24))
+ *             .build());
+ * workloadIdentitySettingsBuilder
+ *     .createClusterOperationSettings()
+ *     .setPollingAlgorithm(timedRetryAlgorithm)
+ *     .build();
+ * }
+ */ +@NullMarked +@Generated("by gapic-generator-java") +public class WorkloadIdentitySettings extends ClientSettings { + + /** Returns the object with the settings used for calls to generateServiceAgents. */ + public UnaryCallSettings + generateServiceAgentsSettings() { + return ((WorkloadIdentityStubSettings) getStubSettings()).generateServiceAgentsSettings(); + } + + /** Returns the object with the settings used for calls to generateServiceAgents. */ + public OperationCallSettings< + GenerateServiceAgentsRequest, GenerateServiceAgentsResponse, OperationMetadata> + generateServiceAgentsOperationSettings() { + return ((WorkloadIdentityStubSettings) getStubSettings()) + .generateServiceAgentsOperationSettings(); + } + + /** Returns the object with the settings used for calls to listLocations. */ + public PagedCallSettings + listLocationsSettings() { + return ((WorkloadIdentityStubSettings) getStubSettings()).listLocationsSettings(); + } + + /** Returns the object with the settings used for calls to getLocation. */ + public UnaryCallSettings getLocationSettings() { + return ((WorkloadIdentityStubSettings) getStubSettings()).getLocationSettings(); + } + + public static final WorkloadIdentitySettings create(WorkloadIdentityStubSettings stub) + throws IOException { + return new WorkloadIdentitySettings.Builder(stub.toBuilder()).build(); + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return WorkloadIdentityStubSettings.defaultExecutorProviderBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return WorkloadIdentityStubSettings.getDefaultEndpoint(); + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return WorkloadIdentityStubSettings.getDefaultServiceScopes(); + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return WorkloadIdentityStubSettings.defaultCredentialsProviderBuilder(); + } + + /** Returns a builder for the default gRPC ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return WorkloadIdentityStubSettings.defaultGrpcTransportProviderBuilder(); + } + + /** Returns a builder for the default REST ChannelProvider for this service. */ + @BetaApi + public static InstantiatingHttpJsonChannelProvider.Builder + defaultHttpJsonTransportProviderBuilder() { + return WorkloadIdentityStubSettings.defaultHttpJsonTransportProviderBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return WorkloadIdentityStubSettings.defaultTransportChannelProvider(); + } + + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return WorkloadIdentityStubSettings.defaultApiClientHeaderProviderBuilder(); + } + + /** Returns a new gRPC builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new REST builder for this class. */ + public static Builder newHttpJsonBuilder() { + return Builder.createHttpJsonDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(@Nullable ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected WorkloadIdentitySettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + } + + /** Builder for WorkloadIdentitySettings. */ + public static class Builder extends ClientSettings.Builder { + + protected Builder() throws IOException { + this(((ClientContext) null)); + } + + protected Builder(@Nullable ClientContext clientContext) { + super(WorkloadIdentityStubSettings.newBuilder(clientContext)); + } + + protected Builder(WorkloadIdentitySettings settings) { + super(settings.getStubSettings().toBuilder()); + } + + protected Builder(WorkloadIdentityStubSettings.Builder stubSettings) { + super(stubSettings); + } + + private static Builder createDefault() { + return new Builder(WorkloadIdentityStubSettings.newBuilder()); + } + + private static Builder createHttpJsonDefault() { + return new Builder(WorkloadIdentityStubSettings.newHttpJsonBuilder()); + } + + public WorkloadIdentityStubSettings.Builder getStubSettingsBuilder() { + return ((WorkloadIdentityStubSettings.Builder) getStubSettings()); + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) { + super.applyToAllUnaryMethods( + getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater); + return this; + } + + /** Returns the builder for the settings used for calls to generateServiceAgents. */ + public UnaryCallSettings.Builder + generateServiceAgentsSettings() { + return getStubSettingsBuilder().generateServiceAgentsSettings(); + } + + /** Returns the builder for the settings used for calls to generateServiceAgents. */ + public OperationCallSettings.Builder< + GenerateServiceAgentsRequest, GenerateServiceAgentsResponse, OperationMetadata> + generateServiceAgentsOperationSettings() { + return getStubSettingsBuilder().generateServiceAgentsOperationSettings(); + } + + /** Returns the builder for the settings used for calls to listLocations. */ + public PagedCallSettings.Builder< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings() { + return getStubSettingsBuilder().listLocationsSettings(); + } + + /** Returns the builder for the settings used for calls to getLocation. */ + public UnaryCallSettings.Builder getLocationSettings() { + return getStubSettingsBuilder().getLocationSettings(); + } + + @Override + public WorkloadIdentitySettings build() throws IOException { + return new WorkloadIdentitySettings(this); + } + } +} diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/gapic_metadata.json b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/gapic_metadata.json new file mode 100644 index 000000000000..c4d40b324a33 --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/gapic_metadata.json @@ -0,0 +1,27 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "java", + "protoPackage": "google.cloud.workloadidentity.v1", + "libraryPackage": "com.google.cloud.workloadidentity.v1", + "services": { + "WorkloadIdentity": { + "clients": { + "grpc": { + "libraryClient": "WorkloadIdentityClient", + "rpcs": { + "GenerateServiceAgents": { + "methods": ["generateServiceAgentsAsync", "generateServiceAgentsAsync", "generateServiceAgentsAsync", "generateServiceAgentsOperationCallable", "generateServiceAgentsCallable"] + }, + "GetLocation": { + "methods": ["getLocation", "getLocationCallable"] + }, + "ListLocations": { + "methods": ["listLocations", "listLocationsPagedCallable", "listLocationsCallable"] + } + } + } + } + } + } +} \ No newline at end of file diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/package-info.java b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/package-info.java new file mode 100644 index 000000000000..a0f74e32be1a --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/package-info.java @@ -0,0 +1,43 @@ +/* + * 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. + */ + +/** + * A client to Workload Identity API + * + *

The interfaces provided are listed below, along with usage samples. + * + *

======================= WorkloadIdentityClient ======================= + * + *

Service Description: Service describing handlers for resources + * + *

Sample for WorkloadIdentityClient: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) {
+ *   GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
+ *   Location response = workloadIdentityClient.getLocation(request);
+ * }
+ * }
+ */ +@Generated("by gapic-generator-java") +package com.google.cloud.workloadidentity.v1; + +import javax.annotation.Generated; diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/GrpcWorkloadIdentityCallableFactory.java b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/GrpcWorkloadIdentityCallableFactory.java new file mode 100644 index 000000000000..0f6f2ce8f16f --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/GrpcWorkloadIdentityCallableFactory.java @@ -0,0 +1,115 @@ +/* + * 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.cloud.workloadidentity.v1.stub; + +import com.google.api.gax.grpc.GrpcCallSettings; +import com.google.api.gax.grpc.GrpcCallableFactory; +import com.google.api.gax.grpc.GrpcStubCallableFactory; +import com.google.api.gax.rpc.BatchingCallSettings; +import com.google.api.gax.rpc.BidiStreamingCallable; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.ClientStreamingCallable; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallable; +import com.google.api.gax.rpc.StreamingCallSettings; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.OperationsStub; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * gRPC callable factory implementation for the WorkloadIdentity service API. + * + *

This class is for advanced usage. + */ +@NullMarked +@Generated("by gapic-generator-java") +public class GrpcWorkloadIdentityCallableFactory implements GrpcStubCallableFactory { + + @Override + public UnaryCallable createUnaryCallable( + GrpcCallSettings grpcCallSettings, + UnaryCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createUnaryCallable(grpcCallSettings, callSettings, clientContext); + } + + @Override + public + UnaryCallable createPagedCallable( + GrpcCallSettings grpcCallSettings, + PagedCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createPagedCallable(grpcCallSettings, callSettings, clientContext); + } + + @Override + public UnaryCallable createBatchingCallable( + GrpcCallSettings grpcCallSettings, + BatchingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createBatchingCallable( + grpcCallSettings, callSettings, clientContext); + } + + @Override + public + OperationCallable createOperationCallable( + GrpcCallSettings grpcCallSettings, + OperationCallSettings callSettings, + ClientContext clientContext, + OperationsStub operationsStub) { + return GrpcCallableFactory.createOperationCallable( + grpcCallSettings, callSettings, clientContext, operationsStub); + } + + @Override + public + BidiStreamingCallable createBidiStreamingCallable( + GrpcCallSettings grpcCallSettings, + StreamingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createBidiStreamingCallable( + grpcCallSettings, callSettings, clientContext); + } + + @Override + public + ServerStreamingCallable createServerStreamingCallable( + GrpcCallSettings grpcCallSettings, + ServerStreamingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createServerStreamingCallable( + grpcCallSettings, callSettings, clientContext); + } + + @Override + public + ClientStreamingCallable createClientStreamingCallable( + GrpcCallSettings grpcCallSettings, + StreamingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createClientStreamingCallable( + grpcCallSettings, callSettings, clientContext); + } +} diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/GrpcWorkloadIdentityStub.java b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/GrpcWorkloadIdentityStub.java new file mode 100644 index 000000000000..63a557e087a1 --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/GrpcWorkloadIdentityStub.java @@ -0,0 +1,266 @@ +/* + * 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.cloud.workloadidentity.v1.stub; + +import static com.google.cloud.workloadidentity.v1.WorkloadIdentityClient.ListLocationsPagedResponse; + +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.core.BackgroundResourceAggregation; +import com.google.api.gax.grpc.GrpcCallSettings; +import com.google.api.gax.grpc.GrpcStubCallableFactory; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.RequestParamsBuilder; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest; +import com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse; +import com.google.cloud.workloadidentity.v1.OperationMetadata; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.GrpcOperationsStub; +import io.grpc.MethodDescriptor; +import io.grpc.protobuf.ProtoUtils; +import java.io.IOException; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * gRPC stub implementation for the WorkloadIdentity service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@NullMarked +@Generated("by gapic-generator-java") +public class GrpcWorkloadIdentityStub extends WorkloadIdentityStub { + private static final MethodDescriptor + generateServiceAgentsMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.workloadidentity.v1.WorkloadIdentity/GenerateServiceAgents") + .setRequestMarshaller( + ProtoUtils.marshaller(GenerateServiceAgentsRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + listLocationsMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.location.Locations/ListLocations") + .setRequestMarshaller( + ProtoUtils.marshaller(ListLocationsRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListLocationsResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor getLocationMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.location.Locations/GetLocation") + .setRequestMarshaller(ProtoUtils.marshaller(GetLocationRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Location.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private final UnaryCallable + generateServiceAgentsCallable; + private final OperationCallable< + GenerateServiceAgentsRequest, GenerateServiceAgentsResponse, OperationMetadata> + generateServiceAgentsOperationCallable; + private final UnaryCallable listLocationsCallable; + private final UnaryCallable + listLocationsPagedCallable; + private final UnaryCallable getLocationCallable; + + private final BackgroundResource backgroundResources; + private final GrpcOperationsStub operationsStub; + private final GrpcStubCallableFactory callableFactory; + + public static final GrpcWorkloadIdentityStub create(WorkloadIdentityStubSettings settings) + throws IOException { + return new GrpcWorkloadIdentityStub(settings, ClientContext.create(settings)); + } + + public static final GrpcWorkloadIdentityStub create(ClientContext clientContext) + throws IOException { + return new GrpcWorkloadIdentityStub( + WorkloadIdentityStubSettings.newBuilder().build(), clientContext); + } + + public static final GrpcWorkloadIdentityStub create( + ClientContext clientContext, GrpcStubCallableFactory callableFactory) throws IOException { + return new GrpcWorkloadIdentityStub( + WorkloadIdentityStubSettings.newBuilder().build(), clientContext, callableFactory); + } + + /** + * Constructs an instance of GrpcWorkloadIdentityStub, using the given settings. This is protected + * so that it is easy to make a subclass, but otherwise, the static factory methods should be + * preferred. + */ + protected GrpcWorkloadIdentityStub( + WorkloadIdentityStubSettings settings, ClientContext clientContext) throws IOException { + this(settings, clientContext, new GrpcWorkloadIdentityCallableFactory()); + } + + /** + * Constructs an instance of GrpcWorkloadIdentityStub, using the given settings. This is protected + * so that it is easy to make a subclass, but otherwise, the static factory methods should be + * preferred. + */ + protected GrpcWorkloadIdentityStub( + WorkloadIdentityStubSettings settings, + ClientContext clientContext, + GrpcStubCallableFactory callableFactory) + throws IOException { + this.callableFactory = callableFactory; + this.operationsStub = GrpcOperationsStub.create(clientContext, callableFactory); + + GrpcCallSettings + generateServiceAgentsTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(generateServiceAgentsMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings listLocationsTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listLocationsMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + GrpcCallSettings getLocationTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getLocationMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + + this.generateServiceAgentsCallable = + callableFactory.createUnaryCallable( + generateServiceAgentsTransportSettings, + settings.generateServiceAgentsSettings(), + clientContext); + this.generateServiceAgentsOperationCallable = + callableFactory.createOperationCallable( + generateServiceAgentsTransportSettings, + settings.generateServiceAgentsOperationSettings(), + clientContext, + operationsStub); + this.listLocationsCallable = + callableFactory.createUnaryCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.listLocationsPagedCallable = + callableFactory.createPagedCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.getLocationCallable = + callableFactory.createUnaryCallable( + getLocationTransportSettings, settings.getLocationSettings(), clientContext); + + this.backgroundResources = + new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + public GrpcOperationsStub getOperationsStub() { + return operationsStub; + } + + @Override + public UnaryCallable generateServiceAgentsCallable() { + return generateServiceAgentsCallable; + } + + @Override + public OperationCallable< + GenerateServiceAgentsRequest, GenerateServiceAgentsResponse, OperationMetadata> + generateServiceAgentsOperationCallable() { + return generateServiceAgentsOperationCallable; + } + + @Override + public UnaryCallable listLocationsCallable() { + return listLocationsCallable; + } + + @Override + public UnaryCallable + listLocationsPagedCallable() { + return listLocationsPagedCallable; + } + + @Override + public UnaryCallable getLocationCallable() { + return getLocationCallable; + } + + @Override + public final void close() { + try { + backgroundResources.close(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new IllegalStateException("Failed to close resource", e); + } + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/HttpJsonWorkloadIdentityCallableFactory.java b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/HttpJsonWorkloadIdentityCallableFactory.java new file mode 100644 index 000000000000..26b9faa22645 --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/HttpJsonWorkloadIdentityCallableFactory.java @@ -0,0 +1,103 @@ +/* + * 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.cloud.workloadidentity.v1.stub; + +import com.google.api.gax.httpjson.HttpJsonCallSettings; +import com.google.api.gax.httpjson.HttpJsonCallableFactory; +import com.google.api.gax.httpjson.HttpJsonOperationSnapshotCallable; +import com.google.api.gax.httpjson.HttpJsonStubCallableFactory; +import com.google.api.gax.httpjson.longrunning.stub.OperationsStub; +import com.google.api.gax.rpc.BatchingCallSettings; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallable; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.longrunning.Operation; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * REST callable factory implementation for the WorkloadIdentity service API. + * + *

This class is for advanced usage. + */ +@NullMarked +@Generated("by gapic-generator-java") +public class HttpJsonWorkloadIdentityCallableFactory + implements HttpJsonStubCallableFactory { + + @Override + public UnaryCallable createUnaryCallable( + HttpJsonCallSettings httpJsonCallSettings, + UnaryCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createUnaryCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public + UnaryCallable createPagedCallable( + HttpJsonCallSettings httpJsonCallSettings, + PagedCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createPagedCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public UnaryCallable createBatchingCallable( + HttpJsonCallSettings httpJsonCallSettings, + BatchingCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createBatchingCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public + OperationCallable createOperationCallable( + HttpJsonCallSettings httpJsonCallSettings, + OperationCallSettings callSettings, + ClientContext clientContext, + OperationsStub operationsStub) { + UnaryCallable innerCallable = + HttpJsonCallableFactory.createBaseUnaryCallable( + httpJsonCallSettings, callSettings.getInitialCallSettings(), clientContext); + HttpJsonOperationSnapshotCallable initialCallable = + new HttpJsonOperationSnapshotCallable( + innerCallable, + httpJsonCallSettings.getMethodDescriptor().getOperationSnapshotFactory()); + return HttpJsonCallableFactory.createOperationCallable( + callSettings, clientContext, operationsStub.longRunningClient(), initialCallable); + } + + @Override + public + ServerStreamingCallable createServerStreamingCallable( + HttpJsonCallSettings httpJsonCallSettings, + ServerStreamingCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createServerStreamingCallable( + httpJsonCallSettings, callSettings, clientContext); + } +} diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/HttpJsonWorkloadIdentityStub.java b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/HttpJsonWorkloadIdentityStub.java new file mode 100644 index 000000000000..6ef63a842a7e --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/HttpJsonWorkloadIdentityStub.java @@ -0,0 +1,439 @@ +/* + * 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.cloud.workloadidentity.v1.stub; + +import static com.google.cloud.workloadidentity.v1.WorkloadIdentityClient.ListLocationsPagedResponse; + +import com.google.api.HttpRule; +import com.google.api.core.InternalApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.core.BackgroundResourceAggregation; +import com.google.api.gax.httpjson.ApiMethodDescriptor; +import com.google.api.gax.httpjson.HttpJsonCallSettings; +import com.google.api.gax.httpjson.HttpJsonOperationSnapshot; +import com.google.api.gax.httpjson.HttpJsonStubCallableFactory; +import com.google.api.gax.httpjson.ProtoMessageRequestFormatter; +import com.google.api.gax.httpjson.ProtoMessageResponseParser; +import com.google.api.gax.httpjson.ProtoRestSerializer; +import com.google.api.gax.httpjson.longrunning.stub.HttpJsonOperationsStub; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.RequestParamsBuilder; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest; +import com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse; +import com.google.cloud.workloadidentity.v1.OperationMetadata; +import com.google.common.collect.ImmutableMap; +import com.google.longrunning.Operation; +import com.google.protobuf.TypeRegistry; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * REST stub implementation for the WorkloadIdentity service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@NullMarked +@Generated("by gapic-generator-java") +public class HttpJsonWorkloadIdentityStub extends WorkloadIdentityStub { + private static final TypeRegistry typeRegistry = + TypeRegistry.newBuilder() + .add(GenerateServiceAgentsResponse.getDescriptor()) + .add(OperationMetadata.getDescriptor()) + .build(); + + private static final ApiMethodDescriptor + generateServiceAgentsMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.workloadidentity.v1.WorkloadIdentity/GenerateServiceAgents") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=projects/*/locations/*/serviceProducers/*}:generateServiceAgents", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setAdditionalPaths( + "/v1/{parent=folders/*/locations/*/serviceProducers/*}:generateServiceAgents", + "/v1/{parent=organizations/*/locations/*/serviceProducers/*}:generateServiceAgents") + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("*", request.toBuilder().clearParent().build(), true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (GenerateServiceAgentsRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + listLocationsMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.location.Locations/ListLocations") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*}/locations", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setAdditionalPaths( + "/v1/{name=folders/*}/locations", "/v1/{name=organizations/*}/locations") + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListLocationsResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getLocationMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.location.Locations/GetLocation") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*/locations/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setAdditionalPaths( + "/v1/{name=folders/*/locations/*}", + "/v1/{name=organizations/*/locations/*}") + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Location.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private final UnaryCallable + generateServiceAgentsCallable; + private final OperationCallable< + GenerateServiceAgentsRequest, GenerateServiceAgentsResponse, OperationMetadata> + generateServiceAgentsOperationCallable; + private final UnaryCallable listLocationsCallable; + private final UnaryCallable + listLocationsPagedCallable; + private final UnaryCallable getLocationCallable; + + private final BackgroundResource backgroundResources; + private final HttpJsonOperationsStub httpJsonOperationsStub; + private final HttpJsonStubCallableFactory callableFactory; + + public static final HttpJsonWorkloadIdentityStub create(WorkloadIdentityStubSettings settings) + throws IOException { + return new HttpJsonWorkloadIdentityStub(settings, ClientContext.create(settings)); + } + + public static final HttpJsonWorkloadIdentityStub create(ClientContext clientContext) + throws IOException { + return new HttpJsonWorkloadIdentityStub( + WorkloadIdentityStubSettings.newHttpJsonBuilder().build(), clientContext); + } + + public static final HttpJsonWorkloadIdentityStub create( + ClientContext clientContext, HttpJsonStubCallableFactory callableFactory) throws IOException { + return new HttpJsonWorkloadIdentityStub( + WorkloadIdentityStubSettings.newHttpJsonBuilder().build(), clientContext, callableFactory); + } + + /** + * Constructs an instance of HttpJsonWorkloadIdentityStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected HttpJsonWorkloadIdentityStub( + WorkloadIdentityStubSettings settings, ClientContext clientContext) throws IOException { + this(settings, clientContext, new HttpJsonWorkloadIdentityCallableFactory()); + } + + /** + * Constructs an instance of HttpJsonWorkloadIdentityStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected HttpJsonWorkloadIdentityStub( + WorkloadIdentityStubSettings settings, + ClientContext clientContext, + HttpJsonStubCallableFactory callableFactory) + throws IOException { + this.callableFactory = callableFactory; + this.httpJsonOperationsStub = + HttpJsonOperationsStub.create( + clientContext, + callableFactory, + typeRegistry, + ImmutableMap.builder() + .put( + "google.longrunning.Operations.CancelOperation", + HttpRule.newBuilder() + .setPost("/v1/{name=projects/*/locations/*/operations/*}:cancel") + .addAdditionalBindings( + HttpRule.newBuilder() + .setPost("/v1/{name=folders/*/locations/*/operations/*}:cancel") + .build()) + .addAdditionalBindings( + HttpRule.newBuilder() + .setPost( + "/v1/{name=organizations/*/locations/*/operations/*}:cancel") + .build()) + .build()) + .put( + "google.longrunning.Operations.DeleteOperation", + HttpRule.newBuilder() + .setDelete("/v1/{name=projects/*/locations/*/operations/*}") + .addAdditionalBindings( + HttpRule.newBuilder() + .setDelete("/v1/{name=folders/*/locations/*/operations/*}") + .build()) + .addAdditionalBindings( + HttpRule.newBuilder() + .setDelete("/v1/{name=organizations/*/locations/*/operations/*}") + .build()) + .build()) + .put( + "google.longrunning.Operations.GetOperation", + HttpRule.newBuilder() + .setGet("/v1/{name=projects/*/locations/*/operations/*}") + .addAdditionalBindings( + HttpRule.newBuilder() + .setGet("/v1/{name=folders/*/locations/*/operations/*}") + .build()) + .addAdditionalBindings( + HttpRule.newBuilder() + .setGet("/v1/{name=organizations/*/locations/*/operations/*}") + .build()) + .build()) + .put( + "google.longrunning.Operations.ListOperations", + HttpRule.newBuilder() + .setGet("/v1/{name=projects/*/locations/*}/operations") + .addAdditionalBindings( + HttpRule.newBuilder() + .setGet("/v1/{name=folders/*/locations/*}/operations") + .build()) + .addAdditionalBindings( + HttpRule.newBuilder() + .setGet("/v1/{name=organizations/*/locations/*}/operations") + .build()) + .build()) + .build()); + + HttpJsonCallSettings + generateServiceAgentsTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(generateServiceAgentsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings + listLocationsTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listLocationsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + HttpJsonCallSettings getLocationTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getLocationMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + + this.generateServiceAgentsCallable = + callableFactory.createUnaryCallable( + generateServiceAgentsTransportSettings, + settings.generateServiceAgentsSettings(), + clientContext); + this.generateServiceAgentsOperationCallable = + callableFactory.createOperationCallable( + generateServiceAgentsTransportSettings, + settings.generateServiceAgentsOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.listLocationsCallable = + callableFactory.createUnaryCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.listLocationsPagedCallable = + callableFactory.createPagedCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.getLocationCallable = + callableFactory.createUnaryCallable( + getLocationTransportSettings, settings.getLocationSettings(), clientContext); + + this.backgroundResources = + new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + @InternalApi + public static List getMethodDescriptors() { + List methodDescriptors = new ArrayList<>(); + methodDescriptors.add(generateServiceAgentsMethodDescriptor); + methodDescriptors.add(listLocationsMethodDescriptor); + methodDescriptors.add(getLocationMethodDescriptor); + return methodDescriptors; + } + + public HttpJsonOperationsStub getHttpJsonOperationsStub() { + return httpJsonOperationsStub; + } + + @Override + public UnaryCallable generateServiceAgentsCallable() { + return generateServiceAgentsCallable; + } + + @Override + public OperationCallable< + GenerateServiceAgentsRequest, GenerateServiceAgentsResponse, OperationMetadata> + generateServiceAgentsOperationCallable() { + return generateServiceAgentsOperationCallable; + } + + @Override + public UnaryCallable listLocationsCallable() { + return listLocationsCallable; + } + + @Override + public UnaryCallable + listLocationsPagedCallable() { + return listLocationsPagedCallable; + } + + @Override + public UnaryCallable getLocationCallable() { + return getLocationCallable; + } + + @Override + public final void close() { + try { + backgroundResources.close(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new IllegalStateException("Failed to close resource", e); + } + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/Version.java b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/Version.java new file mode 100644 index 000000000000..ae275ebfb9ef --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/Version.java @@ -0,0 +1,27 @@ +/* + * 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.cloud.workloadidentity.v1.stub; + +import com.google.api.core.InternalApi; + +@InternalApi("For internal use only") +final class Version { + // {x-version-update-start:google-cloud-workloadidentity:current} + static final String VERSION = "0.0.0-SNAPSHOT"; + // {x-version-update-end} + +} diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/WorkloadIdentityStub.java b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/WorkloadIdentityStub.java new file mode 100644 index 000000000000..7e6128189e85 --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/WorkloadIdentityStub.java @@ -0,0 +1,82 @@ +/* + * 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.cloud.workloadidentity.v1.stub; + +import static com.google.cloud.workloadidentity.v1.WorkloadIdentityClient.ListLocationsPagedResponse; + +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest; +import com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse; +import com.google.cloud.workloadidentity.v1.OperationMetadata; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.OperationsStub; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Base stub class for the WorkloadIdentity service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@NullMarked +@Generated("by gapic-generator-java") +public abstract class WorkloadIdentityStub implements BackgroundResource { + + public @Nullable OperationsStub getOperationsStub() { + return null; + } + + public com.google.api.gax.httpjson.longrunning.stub.@Nullable OperationsStub + getHttpJsonOperationsStub() { + return null; + } + + public OperationCallable< + GenerateServiceAgentsRequest, GenerateServiceAgentsResponse, OperationMetadata> + generateServiceAgentsOperationCallable() { + throw new UnsupportedOperationException( + "Not implemented: generateServiceAgentsOperationCallable()"); + } + + public UnaryCallable generateServiceAgentsCallable() { + throw new UnsupportedOperationException("Not implemented: generateServiceAgentsCallable()"); + } + + public UnaryCallable + listLocationsPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listLocationsPagedCallable()"); + } + + public UnaryCallable listLocationsCallable() { + throw new UnsupportedOperationException("Not implemented: listLocationsCallable()"); + } + + public UnaryCallable getLocationCallable() { + throw new UnsupportedOperationException("Not implemented: getLocationCallable()"); + } + + @Override + public abstract void close(); +} diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/WorkloadIdentityStubSettings.java b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/WorkloadIdentityStubSettings.java new file mode 100644 index 000000000000..a38dedd64dc6 --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/main/java/com/google/cloud/workloadidentity/v1/stub/WorkloadIdentityStubSettings.java @@ -0,0 +1,559 @@ +/* + * 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.cloud.workloadidentity.v1.stub; + +import static com.google.cloud.workloadidentity.v1.WorkloadIdentityClient.ListLocationsPagedResponse; + +import com.google.api.core.ApiFunction; +import com.google.api.core.ApiFuture; +import com.google.api.core.BetaApi; +import com.google.api.core.ObsoleteApi; +import com.google.api.gax.core.GaxProperties; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.GrpcTransportChannel; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.grpc.ProtoOperationTransformers; +import com.google.api.gax.httpjson.GaxHttpJsonProperties; +import com.google.api.gax.httpjson.HttpJsonTransportChannel; +import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; +import com.google.api.gax.longrunning.OperationSnapshot; +import com.google.api.gax.longrunning.OperationTimedPollAlgorithm; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.rpc.ApiCallContext; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.LibraryMetadata; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.PageContext; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.PagedListDescriptor; +import com.google.api.gax.rpc.PagedListResponseFactory; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.StubSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest; +import com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse; +import com.google.cloud.workloadidentity.v1.OperationMetadata; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; +import com.google.longrunning.Operation; +import java.io.IOException; +import java.time.Duration; +import java.util.List; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Settings class to configure an instance of {@link WorkloadIdentityStub}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (workloadidentity.googleapis.com) and default port (443) are + * used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

The builder of this class is recursive, so contained classes are themselves builders. When + * build() is called, the tree of builders is called to create the complete settings object. + * + *

For example, to set the + * [RetrySettings](https://cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.retrying.RetrySettings) + * of getLocation: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * WorkloadIdentityStubSettings.Builder workloadIdentitySettingsBuilder =
+ *     WorkloadIdentityStubSettings.newBuilder();
+ * workloadIdentitySettingsBuilder
+ *     .getLocationSettings()
+ *     .setRetrySettings(
+ *         workloadIdentitySettingsBuilder
+ *             .getLocationSettings()
+ *             .getRetrySettings()
+ *             .toBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofSeconds(1))
+ *             .setInitialRpcTimeoutDuration(Duration.ofSeconds(5))
+ *             .setMaxAttempts(5)
+ *             .setMaxRetryDelayDuration(Duration.ofSeconds(30))
+ *             .setMaxRpcTimeoutDuration(Duration.ofSeconds(60))
+ *             .setRetryDelayMultiplier(1.3)
+ *             .setRpcTimeoutMultiplier(1.5)
+ *             .setTotalTimeoutDuration(Duration.ofSeconds(300))
+ *             .build());
+ * WorkloadIdentityStubSettings workloadIdentitySettings = workloadIdentitySettingsBuilder.build();
+ * }
+ * + * Please refer to the [Client Side Retry + * Guide](https://docs.cloud.google.com/java/docs/client-retries) for additional support in setting + * retries. + * + *

To configure the RetrySettings of a Long Running Operation method, create an + * OperationTimedPollAlgorithm object and update the RPC's polling algorithm. For example, to + * configure the RetrySettings for generateServiceAgents: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * WorkloadIdentityStubSettings.Builder workloadIdentitySettingsBuilder =
+ *     WorkloadIdentityStubSettings.newBuilder();
+ * TimedRetryAlgorithm timedRetryAlgorithm =
+ *     OperationalTimedPollAlgorithm.create(
+ *         RetrySettings.newBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofMillis(500))
+ *             .setRetryDelayMultiplier(1.5)
+ *             .setMaxRetryDelayDuration(Duration.ofMillis(5000))
+ *             .setTotalTimeoutDuration(Duration.ofHours(24))
+ *             .build());
+ * workloadIdentitySettingsBuilder
+ *     .createClusterOperationSettings()
+ *     .setPollingAlgorithm(timedRetryAlgorithm)
+ *     .build();
+ * }
+ */ +@NullMarked +@Generated("by gapic-generator-java") +@SuppressWarnings("CanonicalDuration") +public class WorkloadIdentityStubSettings extends StubSettings { + /** The default scopes of the service. */ + private static final ImmutableList DEFAULT_SERVICE_SCOPES = + ImmutableList.builder().add("https://www.googleapis.com/auth/cloud-platform").build(); + + private final UnaryCallSettings + generateServiceAgentsSettings; + private final OperationCallSettings< + GenerateServiceAgentsRequest, GenerateServiceAgentsResponse, OperationMetadata> + generateServiceAgentsOperationSettings; + private final PagedCallSettings< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings; + private final UnaryCallSettings getLocationSettings; + + private static final PagedListDescriptor + LIST_LOCATIONS_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListLocationsRequest injectToken(ListLocationsRequest payload, String token) { + return ListLocationsRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListLocationsRequest injectPageSize(ListLocationsRequest payload, int pageSize) { + return ListLocationsRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListLocationsRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListLocationsResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListLocationsResponse payload) { + return payload.getLocationsList(); + } + }; + + private static final PagedListResponseFactory< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + LIST_LOCATIONS_PAGE_STR_FACT = + new PagedListResponseFactory< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListLocationsRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, LIST_LOCATIONS_PAGE_STR_DESC, request, context); + return ListLocationsPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + /** Returns the object with the settings used for calls to generateServiceAgents. */ + public UnaryCallSettings + generateServiceAgentsSettings() { + return generateServiceAgentsSettings; + } + + /** Returns the object with the settings used for calls to generateServiceAgents. */ + public OperationCallSettings< + GenerateServiceAgentsRequest, GenerateServiceAgentsResponse, OperationMetadata> + generateServiceAgentsOperationSettings() { + return generateServiceAgentsOperationSettings; + } + + /** Returns the object with the settings used for calls to listLocations. */ + public PagedCallSettings + listLocationsSettings() { + return listLocationsSettings; + } + + /** Returns the object with the settings used for calls to getLocation. */ + public UnaryCallSettings getLocationSettings() { + return getLocationSettings; + } + + public WorkloadIdentityStub createStub() throws IOException { + if (getTransportChannelProvider() + .getTransportName() + .equals(GrpcTransportChannel.getGrpcTransportName())) { + return GrpcWorkloadIdentityStub.create(this); + } + if (getTransportChannelProvider() + .getTransportName() + .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) { + return HttpJsonWorkloadIdentityStub.create(this); + } + throw new UnsupportedOperationException( + String.format( + "Transport not supported: %s", getTransportChannelProvider().getTransportName())); + } + + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "workloadidentity"; + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return InstantiatingExecutorProvider.newBuilder(); + } + + /** Returns the default service endpoint. */ + @ObsoleteApi("Use getEndpoint() instead") + public static String getDefaultEndpoint() { + return "workloadidentity.googleapis.com:443"; + } + + /** Returns the default mTLS service endpoint. */ + public static String getDefaultMtlsEndpoint() { + return "workloadidentity.mtls.googleapis.com:443"; + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return DEFAULT_SERVICE_SCOPES; + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return GoogleCredentialsProvider.newBuilder() + .setScopesToApply(DEFAULT_SERVICE_SCOPES) + .setUseJwtAccessWithScope(true); + } + + /** Returns a builder for the default gRPC ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return InstantiatingGrpcChannelProvider.newBuilder() + .setMaxInboundMessageSize(Integer.MAX_VALUE); + } + + /** Returns a builder for the default REST ChannelProvider for this service. */ + @BetaApi + public static InstantiatingHttpJsonChannelProvider.Builder + defaultHttpJsonTransportProviderBuilder() { + return InstantiatingHttpJsonChannelProvider.newBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return defaultGrpcTransportProviderBuilder().build(); + } + + public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(WorkloadIdentityStubSettings.class)) + .setTransportToken( + GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); + } + + public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(WorkloadIdentityStubSettings.class)) + .setTransportToken( + GaxHttpJsonProperties.getHttpJsonTokenName(), + GaxHttpJsonProperties.getHttpJsonVersion()); + } + + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return WorkloadIdentityStubSettings.defaultGrpcApiClientHeaderProviderBuilder(); + } + + /** Returns a new gRPC builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new REST builder for this class. */ + public static Builder newHttpJsonBuilder() { + return Builder.createHttpJsonDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(@Nullable ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected WorkloadIdentityStubSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + + generateServiceAgentsSettings = settingsBuilder.generateServiceAgentsSettings().build(); + generateServiceAgentsOperationSettings = + settingsBuilder.generateServiceAgentsOperationSettings().build(); + listLocationsSettings = settingsBuilder.listLocationsSettings().build(); + getLocationSettings = settingsBuilder.getLocationSettings().build(); + } + + @Override + protected LibraryMetadata getLibraryMetadata() { + return LibraryMetadata.newBuilder() + .setArtifactName("com.google.cloud:google-cloud-workloadidentity") + .setRepository("googleapis/google-cloud-java") + .setVersion(Version.VERSION) + .build(); + } + + /** Builder for WorkloadIdentityStubSettings. */ + public static class Builder extends StubSettings.Builder { + private final ImmutableList> unaryMethodSettingsBuilders; + private final UnaryCallSettings.Builder + generateServiceAgentsSettings; + private final OperationCallSettings.Builder< + GenerateServiceAgentsRequest, GenerateServiceAgentsResponse, OperationMetadata> + generateServiceAgentsOperationSettings; + private final PagedCallSettings.Builder< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings; + private final UnaryCallSettings.Builder getLocationSettings; + private static final ImmutableMap> + RETRYABLE_CODE_DEFINITIONS; + + static { + ImmutableMap.Builder> definitions = + ImmutableMap.builder(); + definitions.put( + "retry_policy_0_codes", + ImmutableSet.copyOf(Lists.newArrayList(StatusCode.Code.UNAVAILABLE))); + definitions.put("no_retry_codes", ImmutableSet.copyOf(Lists.newArrayList())); + RETRYABLE_CODE_DEFINITIONS = definitions.build(); + } + + private static final ImmutableMap RETRY_PARAM_DEFINITIONS; + + static { + ImmutableMap.Builder definitions = ImmutableMap.builder(); + RetrySettings settings = null; + settings = + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(1000L)) + .setRetryDelayMultiplier(1.3) + .setMaxRetryDelayDuration(Duration.ofMillis(10000L)) + .setInitialRpcTimeoutDuration(Duration.ofMillis(60000L)) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ofMillis(60000L)) + .setTotalTimeoutDuration(Duration.ofMillis(60000L)) + .build(); + definitions.put("retry_policy_0_params", settings); + settings = RetrySettings.newBuilder().setRpcTimeoutMultiplier(1.0).build(); + definitions.put("no_retry_params", settings); + RETRY_PARAM_DEFINITIONS = definitions.build(); + } + + protected Builder() { + this(((ClientContext) null)); + } + + protected Builder(@Nullable ClientContext clientContext) { + super(clientContext); + + generateServiceAgentsSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + generateServiceAgentsOperationSettings = OperationCallSettings.newBuilder(); + listLocationsSettings = PagedCallSettings.newBuilder(LIST_LOCATIONS_PAGE_STR_FACT); + getLocationSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of( + generateServiceAgentsSettings, listLocationsSettings, getLocationSettings); + initDefaults(this); + } + + protected Builder(WorkloadIdentityStubSettings settings) { + super(settings); + + generateServiceAgentsSettings = settings.generateServiceAgentsSettings.toBuilder(); + generateServiceAgentsOperationSettings = + settings.generateServiceAgentsOperationSettings.toBuilder(); + listLocationsSettings = settings.listLocationsSettings.toBuilder(); + getLocationSettings = settings.getLocationSettings.toBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of( + generateServiceAgentsSettings, listLocationsSettings, getLocationSettings); + } + + private static Builder createDefault() { + Builder builder = new Builder(((ClientContext) null)); + + builder.setTransportChannelProvider(defaultTransportChannelProvider()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); + builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); + builder.setSwitchToMtlsEndpointAllowed(true); + + return initDefaults(builder); + } + + private static Builder createHttpJsonDefault() { + Builder builder = new Builder(((ClientContext) null)); + + builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build()); + builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); + builder.setSwitchToMtlsEndpointAllowed(true); + + return initDefaults(builder); + } + + private static Builder initDefaults(Builder builder) { + builder + .generateServiceAgentsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .listLocationsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .getLocationSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .generateServiceAgentsOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + .newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create( + GenerateServiceAgentsResponse.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(1000L)) + .setRetryDelayMultiplier(2.0) + .setMaxRetryDelayDuration(Duration.ofMillis(10000L)) + .setInitialRpcTimeoutDuration(Duration.ZERO) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ZERO) + .setTotalTimeoutDuration(Duration.ofMillis(900000L)) + .build())); + + return builder; + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) { + super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); + return this; + } + + public ImmutableList> unaryMethodSettingsBuilders() { + return unaryMethodSettingsBuilders; + } + + /** Returns the builder for the settings used for calls to generateServiceAgents. */ + public UnaryCallSettings.Builder + generateServiceAgentsSettings() { + return generateServiceAgentsSettings; + } + + /** Returns the builder for the settings used for calls to generateServiceAgents. */ + public OperationCallSettings.Builder< + GenerateServiceAgentsRequest, GenerateServiceAgentsResponse, OperationMetadata> + generateServiceAgentsOperationSettings() { + return generateServiceAgentsOperationSettings; + } + + /** Returns the builder for the settings used for calls to listLocations. */ + public PagedCallSettings.Builder< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings() { + return listLocationsSettings; + } + + /** Returns the builder for the settings used for calls to getLocation. */ + public UnaryCallSettings.Builder getLocationSettings() { + return getLocationSettings; + } + + @Override + public WorkloadIdentityStubSettings build() throws IOException { + return new WorkloadIdentityStubSettings(this); + } + } +} diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/main/resources/META-INF/native-image/com.google.cloud.workloadidentity.v1/reflect-config.json b/java-workloadidentity/google-cloud-workloadidentity/src/main/resources/META-INF/native-image/com.google.cloud.workloadidentity.v1/reflect-config.json new file mode 100644 index 000000000000..0949d2014191 --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/main/resources/META-INF/native-image/com.google.cloud.workloadidentity.v1/reflect-config.json @@ -0,0 +1,1658 @@ +[ + { + "name": "com.google.api.BatchingConfigProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingConfigProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingSettingsProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingSettingsProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibraryDestination", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibraryOrganization", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibrarySettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibrarySettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CommonLanguageSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CommonLanguageSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CppSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CppSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CustomHttpPattern", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CustomHttpPattern$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.DotnetSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.DotnetSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.FieldBehavior", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.FlowControlLimitExceededBehaviorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.GoSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.GoSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Http", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Http$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.HttpRule", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.HttpRule$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.JavaSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.JavaSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.LaunchStage", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings$LongRunning", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings$LongRunning$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.NodeSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.NodeSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PhpSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PhpSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Publishing", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Publishing$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings$ExperimentalFeatures", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings$ExperimentalFeatures$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor$History", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor$Style", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceReference", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceReference$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.RubySettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.RubySettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.SelectiveGapicGeneration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.SelectiveGapicGeneration$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.GetLocationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.GetLocationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.Location", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.Location$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.workloadidentity.v1.OperationMetadata", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.workloadidentity.v1.OperationMetadata$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.workloadidentity.v1.ServiceAgent", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.workloadidentity.v1.ServiceAgent$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.workloadidentity.v1.ServiceAgent$State", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.CancelOperationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.CancelOperationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.DeleteOperationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.DeleteOperationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.GetOperationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.GetOperationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.ListOperationsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.ListOperationsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.ListOperationsResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.ListOperationsResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.Operation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.Operation$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.OperationInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.OperationInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.WaitOperationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.WaitOperationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Any", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Any$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ExtensionRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ExtensionRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ReservedRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ReservedRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$Edition", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto$EnumReservedRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto$EnumReservedRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$EnforceNamingStyle", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$EnumType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$FieldPresence", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$JsonFormat", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$MessageEncoding", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$RepeatedFieldEncoding", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$Utf8Validation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$VisibilityFeature", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$VisibilityFeature$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$VisibilityFeature$DefaultSymbolVisibility", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults$FeatureSetEditionDefault", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults$FeatureSetEditionDefault$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto$Label", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto$Type", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$CType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$EditionDefault", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$EditionDefault$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$FeatureSupport", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$FeatureSupport$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$JSType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$OptionRetention", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$OptionTargetType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorSet", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorSet$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileOptions$OptimizeMode", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Annotation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Annotation$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Annotation$Semantic", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MessageOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MessageOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodOptions$IdempotencyLevel", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo$Location", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo$Location$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SymbolVisibility", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption$NamePart", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption$NamePart$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Duration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Duration$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Empty", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Empty$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Timestamp", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Timestamp$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.rpc.Status", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.rpc.Status$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + } +] \ No newline at end of file diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockLocations.java b/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockLocations.java new file mode 100644 index 000000000000..a660ebf4ce5f --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockLocations.java @@ -0,0 +1,59 @@ +/* + * 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.cloud.workloadidentity.v1; + +import com.google.api.core.BetaApi; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.protobuf.AbstractMessage; +import io.grpc.ServerServiceDefinition; +import java.util.List; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockLocations implements MockGrpcService { + private final MockLocationsImpl serviceImpl; + + public MockLocations() { + serviceImpl = new MockLocationsImpl(); + } + + @Override + public List getRequests() { + return serviceImpl.getRequests(); + } + + @Override + public void addResponse(AbstractMessage response) { + serviceImpl.addResponse(response); + } + + @Override + public void addException(Exception exception) { + serviceImpl.addException(exception); + } + + @Override + public ServerServiceDefinition getServiceDefinition() { + return serviceImpl.bindService(); + } + + @Override + public void reset() { + serviceImpl.reset(); + } +} diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockLocationsImpl.java b/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockLocationsImpl.java new file mode 100644 index 000000000000..27b5ea2661b9 --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockLocationsImpl.java @@ -0,0 +1,105 @@ +/* + * 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.cloud.workloadidentity.v1; + +import com.google.api.core.BetaApi; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.cloud.location.LocationsGrpc.LocationsImplBase; +import com.google.protobuf.AbstractMessage; +import io.grpc.stub.StreamObserver; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockLocationsImpl extends LocationsImplBase { + private List requests; + private Queue responses; + + public MockLocationsImpl() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + public List getRequests() { + return requests; + } + + public void addResponse(AbstractMessage response) { + responses.add(response); + } + + public void setResponses(List responses) { + this.responses = new LinkedList(responses); + } + + public void addException(Exception exception) { + responses.add(exception); + } + + public void reset() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + @Override + public void listLocations( + ListLocationsRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListLocationsResponse) { + requests.add(request); + responseObserver.onNext(((ListLocationsResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListLocations, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListLocationsResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getLocation(GetLocationRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Location) { + requests.add(request); + responseObserver.onNext(((Location) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetLocation, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Location.class.getName(), + Exception.class.getName()))); + } + } +} diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockWorkloadIdentity.java b/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockWorkloadIdentity.java new file mode 100644 index 000000000000..ff171b174d72 --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockWorkloadIdentity.java @@ -0,0 +1,59 @@ +/* + * 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.cloud.workloadidentity.v1; + +import com.google.api.core.BetaApi; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.protobuf.AbstractMessage; +import io.grpc.ServerServiceDefinition; +import java.util.List; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockWorkloadIdentity implements MockGrpcService { + private final MockWorkloadIdentityImpl serviceImpl; + + public MockWorkloadIdentity() { + serviceImpl = new MockWorkloadIdentityImpl(); + } + + @Override + public List getRequests() { + return serviceImpl.getRequests(); + } + + @Override + public void addResponse(AbstractMessage response) { + serviceImpl.addResponse(response); + } + + @Override + public void addException(Exception exception) { + serviceImpl.addException(exception); + } + + @Override + public ServerServiceDefinition getServiceDefinition() { + return serviceImpl.bindService(); + } + + @Override + public void reset() { + serviceImpl.reset(); + } +} diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockWorkloadIdentityImpl.java b/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockWorkloadIdentityImpl.java new file mode 100644 index 000000000000..b786649ba575 --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/MockWorkloadIdentityImpl.java @@ -0,0 +1,83 @@ +/* + * 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.cloud.workloadidentity.v1; + +import com.google.api.core.BetaApi; +import com.google.cloud.workloadidentity.v1.WorkloadIdentityGrpc.WorkloadIdentityImplBase; +import com.google.longrunning.Operation; +import com.google.protobuf.AbstractMessage; +import io.grpc.stub.StreamObserver; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockWorkloadIdentityImpl extends WorkloadIdentityImplBase { + private List requests; + private Queue responses; + + public MockWorkloadIdentityImpl() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + public List getRequests() { + return requests; + } + + public void addResponse(AbstractMessage response) { + responses.add(response); + } + + public void setResponses(List responses) { + this.responses = new LinkedList(responses); + } + + public void addException(Exception exception) { + responses.add(exception); + } + + public void reset() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + @Override + public void generateServiceAgents( + GenerateServiceAgentsRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Operation) { + requests.add(request); + responseObserver.onNext(((Operation) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GenerateServiceAgents, expected %s or" + + " %s", + response == null ? "null" : response.getClass().getName(), + Operation.class.getName(), + Exception.class.getName()))); + } + } +} diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityClientHttpJsonTest.java b/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityClientHttpJsonTest.java new file mode 100644 index 000000000000..9411a5a3a917 --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityClientHttpJsonTest.java @@ -0,0 +1,306 @@ +/* + * 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.cloud.workloadidentity.v1; + +import static com.google.cloud.workloadidentity.v1.WorkloadIdentityClient.ListLocationsPagedResponse; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.httpjson.GaxHttpJsonProperties; +import com.google.api.gax.httpjson.testing.MockHttpService; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ApiException; +import com.google.api.gax.rpc.ApiExceptionFactory; +import com.google.api.gax.rpc.InvalidArgumentException; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.testing.FakeStatusCode; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.cloud.workloadidentity.v1.stub.HttpJsonWorkloadIdentityStub; +import com.google.common.collect.Lists; +import com.google.longrunning.Operation; +import com.google.protobuf.Any; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.concurrent.ExecutionException; +import javax.annotation.Generated; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +@Generated("by gapic-generator-java") +public class WorkloadIdentityClientHttpJsonTest { + private static MockHttpService mockService; + private static WorkloadIdentityClient client; + + @BeforeClass + public static void startStaticServer() throws IOException { + mockService = + new MockHttpService( + HttpJsonWorkloadIdentityStub.getMethodDescriptors(), + WorkloadIdentitySettings.getDefaultEndpoint()); + WorkloadIdentitySettings settings = + WorkloadIdentitySettings.newHttpJsonBuilder() + .setTransportChannelProvider( + WorkloadIdentitySettings.defaultHttpJsonTransportProviderBuilder() + .setHttpTransport(mockService) + .build()) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = WorkloadIdentityClient.create(settings); + } + + @AfterClass + public static void stopServer() { + client.close(); + } + + @Before + public void setUp() {} + + @After + public void tearDown() throws Exception { + mockService.reset(); + } + + @Test + public void generateServiceAgentsTest() throws Exception { + GenerateServiceAgentsResponse expectedResponse = + GenerateServiceAgentsResponse.newBuilder() + .addAllServiceAgents(new ArrayList()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("generateServiceAgentsTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + ServiceProducerName parent = + ServiceProducerName.ofProjectLocationServiceProducerName( + "[PROJECT]", "[LOCATION]", "[SERVICE_PRODUCER]"); + + GenerateServiceAgentsResponse actualResponse = client.generateServiceAgentsAsync(parent).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void generateServiceAgentsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ServiceProducerName parent = + ServiceProducerName.ofProjectLocationServiceProducerName( + "[PROJECT]", "[LOCATION]", "[SERVICE_PRODUCER]"); + client.generateServiceAgentsAsync(parent).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void generateServiceAgentsTest2() throws Exception { + GenerateServiceAgentsResponse expectedResponse = + GenerateServiceAgentsResponse.newBuilder() + .addAllServiceAgents(new ArrayList()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("generateServiceAgentsTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + String parent = + "projects/project-4707/locations/location-4707/serviceProducers/serviceProducer-4707"; + + GenerateServiceAgentsResponse actualResponse = client.generateServiceAgentsAsync(parent).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void generateServiceAgentsExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = + "projects/project-4707/locations/location-4707/serviceProducers/serviceProducer-4707"; + client.generateServiceAgentsAsync(parent).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void listLocationsTest() throws Exception { + Location responsesElement = Location.newBuilder().build(); + ListLocationsResponse expectedResponse = + ListLocationsResponse.newBuilder() + .setNextPageToken("") + .addAllLocations(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("projects/project-3664") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + + ListLocationsPagedResponse pagedListResponse = client.listLocations(request); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listLocationsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("projects/project-3664") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + client.listLocations(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getLocationTest() throws Exception { + Location expectedResponse = + Location.newBuilder() + .setName("name3373707") + .setLocationId("locationId1541836720") + .setDisplayName("displayName1714148973") + .putAllLabels(new HashMap()) + .setMetadata(Any.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + GetLocationRequest request = + GetLocationRequest.newBuilder() + .setName("projects/project-9062/locations/location-9062") + .build(); + + Location actualResponse = client.getLocation(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getLocationExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + GetLocationRequest request = + GetLocationRequest.newBuilder() + .setName("projects/project-9062/locations/location-9062") + .build(); + client.getLocation(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } +} diff --git a/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityClientTest.java b/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityClientTest.java new file mode 100644 index 000000000000..23abf902ec9b --- /dev/null +++ b/java-workloadidentity/google-cloud-workloadidentity/src/test/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityClientTest.java @@ -0,0 +1,292 @@ +/* + * 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.cloud.workloadidentity.v1; + +import static com.google.cloud.workloadidentity.v1.WorkloadIdentityClient.ListLocationsPagedResponse; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.testing.LocalChannelProvider; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.api.gax.grpc.testing.MockServiceHelper; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.InvalidArgumentException; +import com.google.api.gax.rpc.StatusCode; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.collect.Lists; +import com.google.longrunning.Operation; +import com.google.protobuf.AbstractMessage; +import com.google.protobuf.Any; +import io.grpc.StatusRuntimeException; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.ExecutionException; +import javax.annotation.Generated; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +@Generated("by gapic-generator-java") +public class WorkloadIdentityClientTest { + private static MockLocations mockLocations; + private static MockServiceHelper mockServiceHelper; + private static MockWorkloadIdentity mockWorkloadIdentity; + private LocalChannelProvider channelProvider; + private WorkloadIdentityClient client; + + @BeforeClass + public static void startStaticServer() { + mockWorkloadIdentity = new MockWorkloadIdentity(); + mockLocations = new MockLocations(); + mockServiceHelper = + new MockServiceHelper( + UUID.randomUUID().toString(), + Arrays.asList(mockWorkloadIdentity, mockLocations)); + mockServiceHelper.start(); + } + + @AfterClass + public static void stopServer() { + mockServiceHelper.stop(); + } + + @Before + public void setUp() throws IOException { + mockServiceHelper.reset(); + channelProvider = mockServiceHelper.createChannelProvider(); + WorkloadIdentitySettings settings = + WorkloadIdentitySettings.newBuilder() + .setTransportChannelProvider(channelProvider) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = WorkloadIdentityClient.create(settings); + } + + @After + public void tearDown() throws Exception { + client.close(); + } + + @Test + public void generateServiceAgentsTest() throws Exception { + GenerateServiceAgentsResponse expectedResponse = + GenerateServiceAgentsResponse.newBuilder() + .addAllServiceAgents(new ArrayList()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("generateServiceAgentsTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockWorkloadIdentity.addResponse(resultOperation); + + ServiceProducerName parent = + ServiceProducerName.ofProjectLocationServiceProducerName( + "[PROJECT]", "[LOCATION]", "[SERVICE_PRODUCER]"); + + GenerateServiceAgentsResponse actualResponse = client.generateServiceAgentsAsync(parent).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockWorkloadIdentity.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GenerateServiceAgentsRequest actualRequest = + ((GenerateServiceAgentsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void generateServiceAgentsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockWorkloadIdentity.addException(exception); + + try { + ServiceProducerName parent = + ServiceProducerName.ofProjectLocationServiceProducerName( + "[PROJECT]", "[LOCATION]", "[SERVICE_PRODUCER]"); + client.generateServiceAgentsAsync(parent).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void generateServiceAgentsTest2() throws Exception { + GenerateServiceAgentsResponse expectedResponse = + GenerateServiceAgentsResponse.newBuilder() + .addAllServiceAgents(new ArrayList()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("generateServiceAgentsTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockWorkloadIdentity.addResponse(resultOperation); + + String parent = "parent-995424086"; + + GenerateServiceAgentsResponse actualResponse = client.generateServiceAgentsAsync(parent).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockWorkloadIdentity.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GenerateServiceAgentsRequest actualRequest = + ((GenerateServiceAgentsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void generateServiceAgentsExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockWorkloadIdentity.addException(exception); + + try { + String parent = "parent-995424086"; + client.generateServiceAgentsAsync(parent).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void listLocationsTest() throws Exception { + Location responsesElement = Location.newBuilder().build(); + ListLocationsResponse expectedResponse = + ListLocationsResponse.newBuilder() + .setNextPageToken("") + .addAllLocations(Arrays.asList(responsesElement)) + .build(); + mockLocations.addResponse(expectedResponse); + + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + + ListLocationsPagedResponse pagedListResponse = client.listLocations(request); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0)); + + List actualRequests = mockLocations.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListLocationsRequest actualRequest = ((ListLocationsRequest) actualRequests.get(0)); + + Assert.assertEquals(request.getName(), actualRequest.getName()); + Assert.assertEquals(request.getFilter(), actualRequest.getFilter()); + Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize()); + Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listLocationsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockLocations.addException(exception); + + try { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + client.listLocations(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getLocationTest() throws Exception { + Location expectedResponse = + Location.newBuilder() + .setName("name3373707") + .setLocationId("locationId1541836720") + .setDisplayName("displayName1714148973") + .putAllLabels(new HashMap()) + .setMetadata(Any.newBuilder().build()) + .build(); + mockLocations.addResponse(expectedResponse); + + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + + Location actualResponse = client.getLocation(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockLocations.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetLocationRequest actualRequest = ((GetLocationRequest) actualRequests.get(0)); + + Assert.assertEquals(request.getName(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getLocationExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockLocations.addException(exception); + + try { + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + client.getLocation(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } +} diff --git a/java-workloadidentity/grpc-google-cloud-workloadidentity-v1/pom.xml b/java-workloadidentity/grpc-google-cloud-workloadidentity-v1/pom.xml new file mode 100644 index 000000000000..7495237233cf --- /dev/null +++ b/java-workloadidentity/grpc-google-cloud-workloadidentity-v1/pom.xml @@ -0,0 +1,45 @@ + + 4.0.0 + com.google.api.grpc + grpc-google-cloud-workloadidentity-v1 + 0.1.0-SNAPSHOT + grpc-google-cloud-workloadidentity-v1 + GRPC library for google-cloud-workloadidentity + + com.google.cloud + google-cloud-workloadidentity-parent + 0.1.0-SNAPSHOT + + + + io.grpc + grpc-api + + + io.grpc + grpc-stub + + + io.grpc + grpc-protobuf + + + com.google.protobuf + protobuf-java + + + com.google.api.grpc + proto-google-common-protos + + + com.google.api.grpc + proto-google-cloud-workloadidentity-v1 + + + com.google.guava + guava + + + diff --git a/java-workloadidentity/grpc-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityGrpc.java b/java-workloadidentity/grpc-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityGrpc.java new file mode 100644 index 000000000000..93a299619a88 --- /dev/null +++ b/java-workloadidentity/grpc-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/WorkloadIdentityGrpc.java @@ -0,0 +1,427 @@ +/* + * 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.cloud.workloadidentity.v1; + +import static io.grpc.MethodDescriptor.generateFullMethodName; + +/** + * + * + *
+ * Service describing handlers for resources
+ * 
+ */ +@io.grpc.stub.annotations.GrpcGenerated +public final class WorkloadIdentityGrpc { + + private WorkloadIdentityGrpc() {} + + public static final java.lang.String SERVICE_NAME = + "google.cloud.workloadidentity.v1.WorkloadIdentity"; + + // Static method descriptors that strictly reflect the proto. + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest, + com.google.longrunning.Operation> + getGenerateServiceAgentsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GenerateServiceAgents", + requestType = com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest.class, + responseType = com.google.longrunning.Operation.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest, + com.google.longrunning.Operation> + getGenerateServiceAgentsMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest, + com.google.longrunning.Operation> + getGenerateServiceAgentsMethod; + if ((getGenerateServiceAgentsMethod = WorkloadIdentityGrpc.getGenerateServiceAgentsMethod) + == null) { + synchronized (WorkloadIdentityGrpc.class) { + if ((getGenerateServiceAgentsMethod = WorkloadIdentityGrpc.getGenerateServiceAgentsMethod) + == null) { + WorkloadIdentityGrpc.getGenerateServiceAgentsMethod = + getGenerateServiceAgentsMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + generateFullMethodName(SERVICE_NAME, "GenerateServiceAgents")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.longrunning.Operation.getDefaultInstance())) + .setSchemaDescriptor( + new WorkloadIdentityMethodDescriptorSupplier("GenerateServiceAgents")) + .build(); + } + } + } + return getGenerateServiceAgentsMethod; + } + + /** Creates a new async stub that supports all call types for the service */ + public static WorkloadIdentityStub newStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public WorkloadIdentityStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new WorkloadIdentityStub(channel, callOptions); + } + }; + return WorkloadIdentityStub.newStub(factory, channel); + } + + /** Creates a new blocking-style stub that supports all types of calls on the service */ + public static WorkloadIdentityBlockingV2Stub newBlockingV2Stub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public WorkloadIdentityBlockingV2Stub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new WorkloadIdentityBlockingV2Stub(channel, callOptions); + } + }; + return WorkloadIdentityBlockingV2Stub.newStub(factory, channel); + } + + /** + * Creates a new blocking-style stub that supports unary and streaming output calls on the service + */ + public static WorkloadIdentityBlockingStub newBlockingStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public WorkloadIdentityBlockingStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new WorkloadIdentityBlockingStub(channel, callOptions); + } + }; + return WorkloadIdentityBlockingStub.newStub(factory, channel); + } + + /** Creates a new ListenableFuture-style stub that supports unary calls on the service */ + public static WorkloadIdentityFutureStub newFutureStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public WorkloadIdentityFutureStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new WorkloadIdentityFutureStub(channel, callOptions); + } + }; + return WorkloadIdentityFutureStub.newStub(factory, channel); + } + + /** + * + * + *
+   * Service describing handlers for resources
+   * 
+ */ + public interface AsyncService { + + /** + * + * + *
+     * Creates all service agents for a given resource, location and service
+     * producer.
+     * 
+ */ + default void generateServiceAgents( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getGenerateServiceAgentsMethod(), responseObserver); + } + } + + /** + * Base class for the server implementation of the service WorkloadIdentity. + * + *
+   * Service describing handlers for resources
+   * 
+ */ + public abstract static class WorkloadIdentityImplBase + implements io.grpc.BindableService, AsyncService { + + @java.lang.Override + public final io.grpc.ServerServiceDefinition bindService() { + return WorkloadIdentityGrpc.bindService(this); + } + } + + /** + * A stub to allow clients to do asynchronous rpc calls to service WorkloadIdentity. + * + *
+   * Service describing handlers for resources
+   * 
+ */ + public static final class WorkloadIdentityStub + extends io.grpc.stub.AbstractAsyncStub { + private WorkloadIdentityStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected WorkloadIdentityStub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new WorkloadIdentityStub(channel, callOptions); + } + + /** + * + * + *
+     * Creates all service agents for a given resource, location and service
+     * producer.
+     * 
+ */ + public void generateServiceAgents( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGenerateServiceAgentsMethod(), getCallOptions()), + request, + responseObserver); + } + } + + /** + * A stub to allow clients to do synchronous rpc calls to service WorkloadIdentity. + * + *
+   * Service describing handlers for resources
+   * 
+ */ + public static final class WorkloadIdentityBlockingV2Stub + extends io.grpc.stub.AbstractBlockingStub { + private WorkloadIdentityBlockingV2Stub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected WorkloadIdentityBlockingV2Stub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new WorkloadIdentityBlockingV2Stub(channel, callOptions); + } + + /** + * + * + *
+     * Creates all service agents for a given resource, location and service
+     * producer.
+     * 
+ */ + public com.google.longrunning.Operation generateServiceAgents( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getGenerateServiceAgentsMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do limited synchronous rpc calls to service WorkloadIdentity. + * + *
+   * Service describing handlers for resources
+   * 
+ */ + public static final class WorkloadIdentityBlockingStub + extends io.grpc.stub.AbstractBlockingStub { + private WorkloadIdentityBlockingStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected WorkloadIdentityBlockingStub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new WorkloadIdentityBlockingStub(channel, callOptions); + } + + /** + * + * + *
+     * Creates all service agents for a given resource, location and service
+     * producer.
+     * 
+ */ + public com.google.longrunning.Operation generateServiceAgents( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGenerateServiceAgentsMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do ListenableFuture-style rpc calls to service WorkloadIdentity. + * + *
+   * Service describing handlers for resources
+   * 
+ */ + public static final class WorkloadIdentityFutureStub + extends io.grpc.stub.AbstractFutureStub { + private WorkloadIdentityFutureStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected WorkloadIdentityFutureStub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new WorkloadIdentityFutureStub(channel, callOptions); + } + + /** + * + * + *
+     * Creates all service agents for a given resource, location and service
+     * producer.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + generateServiceAgents( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGenerateServiceAgentsMethod(), getCallOptions()), request); + } + } + + private static final int METHODID_GENERATE_SERVICE_AGENTS = 0; + + private static final class MethodHandlers + implements io.grpc.stub.ServerCalls.UnaryMethod, + io.grpc.stub.ServerCalls.ServerStreamingMethod, + io.grpc.stub.ServerCalls.ClientStreamingMethod, + io.grpc.stub.ServerCalls.BidiStreamingMethod { + private final AsyncService serviceImpl; + private final int methodId; + + MethodHandlers(AsyncService serviceImpl, int methodId) { + this.serviceImpl = serviceImpl; + this.methodId = methodId; + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public void invoke(Req request, io.grpc.stub.StreamObserver responseObserver) { + switch (methodId) { + case METHODID_GENERATE_SERVICE_AGENTS: + serviceImpl.generateServiceAgents( + (com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + default: + throw new AssertionError(); + } + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public io.grpc.stub.StreamObserver invoke( + io.grpc.stub.StreamObserver responseObserver) { + switch (methodId) { + default: + throw new AssertionError(); + } + } + } + + public static final io.grpc.ServerServiceDefinition bindService(AsyncService service) { + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) + .addMethod( + getGenerateServiceAgentsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest, + com.google.longrunning.Operation>(service, METHODID_GENERATE_SERVICE_AGENTS))) + .build(); + } + + private abstract static class WorkloadIdentityBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoFileDescriptorSupplier, + io.grpc.protobuf.ProtoServiceDescriptorSupplier { + WorkloadIdentityBaseDescriptorSupplier() {} + + @java.lang.Override + public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() { + return com.google.cloud.workloadidentity.v1.ServiceProto.getDescriptor(); + } + + @java.lang.Override + public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() { + return getFileDescriptor().findServiceByName("WorkloadIdentity"); + } + } + + private static final class WorkloadIdentityFileDescriptorSupplier + extends WorkloadIdentityBaseDescriptorSupplier { + WorkloadIdentityFileDescriptorSupplier() {} + } + + private static final class WorkloadIdentityMethodDescriptorSupplier + extends WorkloadIdentityBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoMethodDescriptorSupplier { + private final java.lang.String methodName; + + WorkloadIdentityMethodDescriptorSupplier(java.lang.String methodName) { + this.methodName = methodName; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() { + return getServiceDescriptor().findMethodByName(methodName); + } + } + + private static volatile io.grpc.ServiceDescriptor serviceDescriptor; + + public static io.grpc.ServiceDescriptor getServiceDescriptor() { + io.grpc.ServiceDescriptor result = serviceDescriptor; + if (result == null) { + synchronized (WorkloadIdentityGrpc.class) { + result = serviceDescriptor; + if (result == null) { + serviceDescriptor = + result = + io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME) + .setSchemaDescriptor(new WorkloadIdentityFileDescriptorSupplier()) + .addMethod(getGenerateServiceAgentsMethod()) + .build(); + } + } + } + return result; + } +} diff --git a/java-workloadidentity/pom.xml b/java-workloadidentity/pom.xml new file mode 100644 index 000000000000..67a0ccf2a898 --- /dev/null +++ b/java-workloadidentity/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + com.google.cloud + google-cloud-workloadidentity-parent + pom + 0.1.0-SNAPSHOT + Google Workload Identity Parent + + Java idiomatic client for Google Cloud Platform services. + + + + com.google.cloud + google-cloud-jar-parent + 1.90.0-SNAPSHOT + ../google-cloud-jar-parent/pom.xml + + + + UTF-8 + UTF-8 + github + google-cloud-workloadidentity-parent + + + + + + + com.google.cloud + google-cloud-workloadidentity + 0.1.0-SNAPSHOT + + + com.google.api.grpc + grpc-google-cloud-workloadidentity-v1 + 0.1.0-SNAPSHOT + + + com.google.api.grpc + proto-google-cloud-workloadidentity-v1 + 0.1.0-SNAPSHOT + + + + + + + + google-cloud-workloadidentity + grpc-google-cloud-workloadidentity-v1 + proto-google-cloud-workloadidentity-v1 + + google-cloud-workloadidentity-bom + + + \ No newline at end of file diff --git a/java-workloadidentity/proto-google-cloud-workloadidentity-v1/clirr-ignored-differences.xml b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/clirr-ignored-differences.xml new file mode 100644 index 000000000000..72ef065174be --- /dev/null +++ b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/clirr-ignored-differences.xml @@ -0,0 +1,80 @@ + + + + + 7012 + com/google/cloud/workloadidentity/v1/*OrBuilder + * get*(*) + + + 7012 + com/google/cloud/workloadidentity/v1/*OrBuilder + boolean contains*(*) + + + 7012 + com/google/cloud/workloadidentity/v1/*OrBuilder + boolean has*(*) + + + + 7006 + com/google/cloud/workloadidentity/v1/** + * getDefaultInstanceForType() + ** + + + 7006 + com/google/cloud/workloadidentity/v1/** + * addRepeatedField(*) + ** + + + 7006 + com/google/cloud/workloadidentity/v1/** + * clear() + ** + + + 7006 + com/google/cloud/workloadidentity/v1/** + * clearField(*) + ** + + + 7006 + com/google/cloud/workloadidentity/v1/** + * clearOneof(*) + ** + + + 7006 + com/google/cloud/workloadidentity/v1/** + * clone() + ** + + + 7006 + com/google/cloud/workloadidentity/v1/** + * mergeUnknownFields(*) + ** + + + 7006 + com/google/cloud/workloadidentity/v1/** + * setField(*) + ** + + + 7006 + com/google/cloud/workloadidentity/v1/** + * setRepeatedField(*) + ** + + + 7006 + com/google/cloud/workloadidentity/v1/** + * setUnknownFields(*) + ** + + diff --git a/java-workloadidentity/proto-google-cloud-workloadidentity-v1/pom.xml b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/pom.xml new file mode 100644 index 000000000000..8c1f4cdf8281 --- /dev/null +++ b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/pom.xml @@ -0,0 +1,41 @@ + + 4.0.0 + com.google.api.grpc + proto-google-cloud-workloadidentity-v1 + 0.1.0-SNAPSHOT + proto-google-cloud-workloadidentity-v1 + Proto library for google-cloud-workloadidentity + + com.google.cloud + google-cloud-workloadidentity-parent + 0.1.0-SNAPSHOT + + + + com.google.protobuf + protobuf-java + + + com.google.api.grpc + proto-google-common-protos + + + com.google.api.grpc + proto-google-iam-v1 + + + com.google.api + api-common + + + com.google.guava + guava + + + org.jspecify + jspecify + + + diff --git a/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsRequest.java b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsRequest.java new file mode 100644 index 000000000000..716c5fecdebb --- /dev/null +++ b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsRequest.java @@ -0,0 +1,671 @@ +/* + * 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/workloadidentity/v1/service.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.workloadidentity.v1; + +/** + * + * + *
+ * Message for creating all ServiceAgents for a ServiceProducer in a project and
+ * location.
+ * 
+ * + * Protobuf type {@code google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest} + */ +@com.google.protobuf.Generated +public final class GenerateServiceAgentsRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest) + GenerateServiceAgentsRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "GenerateServiceAgentsRequest"); + } + + // Use GenerateServiceAgentsRequest.newBuilder() to construct. + private GenerateServiceAgentsRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GenerateServiceAgentsRequest() { + parent_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest.class, + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. The parent resource. The `location` for the parent resource must
+   * be `global`.
+   *
+   * Examples:
+   *
+   * - projects/1234/locations/global/serviceProducers/bigquery.googleapis.com
+   * - folders/2344/locations/global/serviceProducers/vertexai.googleapis.com
+   * - organizations/3344/locations/global/serviceProducers/iam.googleapis.com
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The parent resource. The `location` for the parent resource must
+   * be `global`.
+   *
+   * Examples:
+   *
+   * - projects/1234/locations/global/serviceProducers/bigquery.googleapis.com
+   * - folders/2344/locations/global/serviceProducers/vertexai.googleapis.com
+   * - organizations/3344/locations/global/serviceProducers/iam.googleapis.com
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest)) { + return super.equals(obj); + } + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest other = + (com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for creating all ServiceAgents for a ServiceProducer in a project and
+   * location.
+   * 
+ * + * Protobuf type {@code google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest) + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest.class, + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest.Builder.class); + } + + // Construct using + // com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest + getDefaultInstanceForType() { + return com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest build() { + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest buildPartial() { + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest result = + new com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest) { + return mergeFrom((com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest other) { + if (other + == com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object parent_ = ""; + + /** + * + * + *
+     * Required. The parent resource. The `location` for the parent resource must
+     * be `global`.
+     *
+     * Examples:
+     *
+     * - projects/1234/locations/global/serviceProducers/bigquery.googleapis.com
+     * - folders/2344/locations/global/serviceProducers/vertexai.googleapis.com
+     * - organizations/3344/locations/global/serviceProducers/iam.googleapis.com
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The parent resource. The `location` for the parent resource must
+     * be `global`.
+     *
+     * Examples:
+     *
+     * - projects/1234/locations/global/serviceProducers/bigquery.googleapis.com
+     * - folders/2344/locations/global/serviceProducers/vertexai.googleapis.com
+     * - organizations/3344/locations/global/serviceProducers/iam.googleapis.com
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The parent resource. The `location` for the parent resource must
+     * be `global`.
+     *
+     * Examples:
+     *
+     * - projects/1234/locations/global/serviceProducers/bigquery.googleapis.com
+     * - folders/2344/locations/global/serviceProducers/vertexai.googleapis.com
+     * - organizations/3344/locations/global/serviceProducers/iam.googleapis.com
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The parent resource. The `location` for the parent resource must
+     * be `global`.
+     *
+     * Examples:
+     *
+     * - projects/1234/locations/global/serviceProducers/bigquery.googleapis.com
+     * - folders/2344/locations/global/serviceProducers/vertexai.googleapis.com
+     * - organizations/3344/locations/global/serviceProducers/iam.googleapis.com
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The parent resource. The `location` for the parent resource must
+     * be `global`.
+     *
+     * Examples:
+     *
+     * - projects/1234/locations/global/serviceProducers/bigquery.googleapis.com
+     * - folders/2344/locations/global/serviceProducers/vertexai.googleapis.com
+     * - organizations/3344/locations/global/serviceProducers/iam.googleapis.com
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest) + private static final com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest(); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GenerateServiceAgentsRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsRequestOrBuilder.java b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsRequestOrBuilder.java new file mode 100644 index 000000000000..3f8313c0cacb --- /dev/null +++ b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsRequestOrBuilder.java @@ -0,0 +1,72 @@ +/* + * 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/workloadidentity/v1/service.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.workloadidentity.v1; + +@com.google.protobuf.Generated +public interface GenerateServiceAgentsRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The parent resource. The `location` for the parent resource must
+   * be `global`.
+   *
+   * Examples:
+   *
+   * - projects/1234/locations/global/serviceProducers/bigquery.googleapis.com
+   * - folders/2344/locations/global/serviceProducers/vertexai.googleapis.com
+   * - organizations/3344/locations/global/serviceProducers/iam.googleapis.com
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. The parent resource. The `location` for the parent resource must
+   * be `global`.
+   *
+   * Examples:
+   *
+   * - projects/1234/locations/global/serviceProducers/bigquery.googleapis.com
+   * - folders/2344/locations/global/serviceProducers/vertexai.googleapis.com
+   * - organizations/3344/locations/global/serviceProducers/iam.googleapis.com
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); +} diff --git a/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsResponse.java b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsResponse.java new file mode 100644 index 000000000000..f677f293c741 --- /dev/null +++ b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsResponse.java @@ -0,0 +1,951 @@ +/* + * 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/workloadidentity/v1/service.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.workloadidentity.v1; + +/** + * + * + *
+ * Message for creating all ServiceAgents for a ServiceProducer in a project and
+ * location.
+ * 
+ * + * Protobuf type {@code google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse} + */ +@com.google.protobuf.Generated +public final class GenerateServiceAgentsResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse) + GenerateServiceAgentsResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "GenerateServiceAgentsResponse"); + } + + // Use GenerateServiceAgentsResponse.newBuilder() to construct. + private GenerateServiceAgentsResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GenerateServiceAgentsResponse() { + serviceAgents_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse.class, + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse.Builder.class); + } + + public static final int SERVICE_AGENTS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List serviceAgents_; + + /** + * + * + *
+   * The list of service agents
+   * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + @java.lang.Override + public java.util.List getServiceAgentsList() { + return serviceAgents_; + } + + /** + * + * + *
+   * The list of service agents
+   * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + @java.lang.Override + public java.util.List + getServiceAgentsOrBuilderList() { + return serviceAgents_; + } + + /** + * + * + *
+   * The list of service agents
+   * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + @java.lang.Override + public int getServiceAgentsCount() { + return serviceAgents_.size(); + } + + /** + * + * + *
+   * The list of service agents
+   * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + @java.lang.Override + public com.google.cloud.workloadidentity.v1.ServiceAgent getServiceAgents(int index) { + return serviceAgents_.get(index); + } + + /** + * + * + *
+   * The list of service agents
+   * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + @java.lang.Override + public com.google.cloud.workloadidentity.v1.ServiceAgentOrBuilder getServiceAgentsOrBuilder( + int index) { + return serviceAgents_.get(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < serviceAgents_.size(); i++) { + output.writeMessage(1, serviceAgents_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < serviceAgents_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, serviceAgents_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse)) { + return super.equals(obj); + } + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse other = + (com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse) obj; + + if (!getServiceAgentsList().equals(other.getServiceAgentsList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getServiceAgentsCount() > 0) { + hash = (37 * hash) + SERVICE_AGENTS_FIELD_NUMBER; + hash = (53 * hash) + getServiceAgentsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for creating all ServiceAgents for a ServiceProducer in a project and
+   * location.
+   * 
+ * + * Protobuf type {@code google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse) + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse.class, + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse.Builder.class); + } + + // Construct using + // com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (serviceAgentsBuilder_ == null) { + serviceAgents_ = java.util.Collections.emptyList(); + } else { + serviceAgents_ = null; + serviceAgentsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse + getDefaultInstanceForType() { + return com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse build() { + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse buildPartial() { + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse result = + new com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse result) { + if (serviceAgentsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + serviceAgents_ = java.util.Collections.unmodifiableList(serviceAgents_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.serviceAgents_ = serviceAgents_; + } else { + result.serviceAgents_ = serviceAgentsBuilder_.build(); + } + } + + private void buildPartial0( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse result) { + int from_bitField0_ = bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse) { + return mergeFrom( + (com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse other) { + if (other + == com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse + .getDefaultInstance()) return this; + if (serviceAgentsBuilder_ == null) { + if (!other.serviceAgents_.isEmpty()) { + if (serviceAgents_.isEmpty()) { + serviceAgents_ = other.serviceAgents_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureServiceAgentsIsMutable(); + serviceAgents_.addAll(other.serviceAgents_); + } + onChanged(); + } + } else { + if (!other.serviceAgents_.isEmpty()) { + if (serviceAgentsBuilder_.isEmpty()) { + serviceAgentsBuilder_.dispose(); + serviceAgentsBuilder_ = null; + serviceAgents_ = other.serviceAgents_; + bitField0_ = (bitField0_ & ~0x00000001); + serviceAgentsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetServiceAgentsFieldBuilder() + : null; + } else { + serviceAgentsBuilder_.addAllMessages(other.serviceAgents_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.workloadidentity.v1.ServiceAgent m = + input.readMessage( + com.google.cloud.workloadidentity.v1.ServiceAgent.parser(), + extensionRegistry); + if (serviceAgentsBuilder_ == null) { + ensureServiceAgentsIsMutable(); + serviceAgents_.add(m); + } else { + serviceAgentsBuilder_.addMessage(m); + } + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.util.List serviceAgents_ = + java.util.Collections.emptyList(); + + private void ensureServiceAgentsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + serviceAgents_ = + new java.util.ArrayList( + serviceAgents_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.workloadidentity.v1.ServiceAgent, + com.google.cloud.workloadidentity.v1.ServiceAgent.Builder, + com.google.cloud.workloadidentity.v1.ServiceAgentOrBuilder> + serviceAgentsBuilder_; + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public java.util.List + getServiceAgentsList() { + if (serviceAgentsBuilder_ == null) { + return java.util.Collections.unmodifiableList(serviceAgents_); + } else { + return serviceAgentsBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public int getServiceAgentsCount() { + if (serviceAgentsBuilder_ == null) { + return serviceAgents_.size(); + } else { + return serviceAgentsBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public com.google.cloud.workloadidentity.v1.ServiceAgent getServiceAgents(int index) { + if (serviceAgentsBuilder_ == null) { + return serviceAgents_.get(index); + } else { + return serviceAgentsBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public Builder setServiceAgents( + int index, com.google.cloud.workloadidentity.v1.ServiceAgent value) { + if (serviceAgentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServiceAgentsIsMutable(); + serviceAgents_.set(index, value); + onChanged(); + } else { + serviceAgentsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public Builder setServiceAgents( + int index, com.google.cloud.workloadidentity.v1.ServiceAgent.Builder builderForValue) { + if (serviceAgentsBuilder_ == null) { + ensureServiceAgentsIsMutable(); + serviceAgents_.set(index, builderForValue.build()); + onChanged(); + } else { + serviceAgentsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public Builder addServiceAgents(com.google.cloud.workloadidentity.v1.ServiceAgent value) { + if (serviceAgentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServiceAgentsIsMutable(); + serviceAgents_.add(value); + onChanged(); + } else { + serviceAgentsBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public Builder addServiceAgents( + int index, com.google.cloud.workloadidentity.v1.ServiceAgent value) { + if (serviceAgentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServiceAgentsIsMutable(); + serviceAgents_.add(index, value); + onChanged(); + } else { + serviceAgentsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public Builder addServiceAgents( + com.google.cloud.workloadidentity.v1.ServiceAgent.Builder builderForValue) { + if (serviceAgentsBuilder_ == null) { + ensureServiceAgentsIsMutable(); + serviceAgents_.add(builderForValue.build()); + onChanged(); + } else { + serviceAgentsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public Builder addServiceAgents( + int index, com.google.cloud.workloadidentity.v1.ServiceAgent.Builder builderForValue) { + if (serviceAgentsBuilder_ == null) { + ensureServiceAgentsIsMutable(); + serviceAgents_.add(index, builderForValue.build()); + onChanged(); + } else { + serviceAgentsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public Builder addAllServiceAgents( + java.lang.Iterable values) { + if (serviceAgentsBuilder_ == null) { + ensureServiceAgentsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, serviceAgents_); + onChanged(); + } else { + serviceAgentsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public Builder clearServiceAgents() { + if (serviceAgentsBuilder_ == null) { + serviceAgents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + serviceAgentsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public Builder removeServiceAgents(int index) { + if (serviceAgentsBuilder_ == null) { + ensureServiceAgentsIsMutable(); + serviceAgents_.remove(index); + onChanged(); + } else { + serviceAgentsBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public com.google.cloud.workloadidentity.v1.ServiceAgent.Builder getServiceAgentsBuilder( + int index) { + return internalGetServiceAgentsFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public com.google.cloud.workloadidentity.v1.ServiceAgentOrBuilder getServiceAgentsOrBuilder( + int index) { + if (serviceAgentsBuilder_ == null) { + return serviceAgents_.get(index); + } else { + return serviceAgentsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public java.util.List + getServiceAgentsOrBuilderList() { + if (serviceAgentsBuilder_ != null) { + return serviceAgentsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(serviceAgents_); + } + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public com.google.cloud.workloadidentity.v1.ServiceAgent.Builder addServiceAgentsBuilder() { + return internalGetServiceAgentsFieldBuilder() + .addBuilder(com.google.cloud.workloadidentity.v1.ServiceAgent.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public com.google.cloud.workloadidentity.v1.ServiceAgent.Builder addServiceAgentsBuilder( + int index) { + return internalGetServiceAgentsFieldBuilder() + .addBuilder( + index, com.google.cloud.workloadidentity.v1.ServiceAgent.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of service agents
+     * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + public java.util.List + getServiceAgentsBuilderList() { + return internalGetServiceAgentsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.workloadidentity.v1.ServiceAgent, + com.google.cloud.workloadidentity.v1.ServiceAgent.Builder, + com.google.cloud.workloadidentity.v1.ServiceAgentOrBuilder> + internalGetServiceAgentsFieldBuilder() { + if (serviceAgentsBuilder_ == null) { + serviceAgentsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.workloadidentity.v1.ServiceAgent, + com.google.cloud.workloadidentity.v1.ServiceAgent.Builder, + com.google.cloud.workloadidentity.v1.ServiceAgentOrBuilder>( + serviceAgents_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + serviceAgents_ = null; + } + return serviceAgentsBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse) + private static final com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse(); + } + + public static com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GenerateServiceAgentsResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsResponseOrBuilder.java b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsResponseOrBuilder.java new file mode 100644 index 000000000000..63772b24f387 --- /dev/null +++ b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/GenerateServiceAgentsResponseOrBuilder.java @@ -0,0 +1,84 @@ +/* + * 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/workloadidentity/v1/service.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.workloadidentity.v1; + +@com.google.protobuf.Generated +public interface GenerateServiceAgentsResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The list of service agents
+   * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + java.util.List getServiceAgentsList(); + + /** + * + * + *
+   * The list of service agents
+   * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + com.google.cloud.workloadidentity.v1.ServiceAgent getServiceAgents(int index); + + /** + * + * + *
+   * The list of service agents
+   * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + int getServiceAgentsCount(); + + /** + * + * + *
+   * The list of service agents
+   * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + java.util.List + getServiceAgentsOrBuilderList(); + + /** + * + * + *
+   * The list of service agents
+   * 
+ * + * repeated .google.cloud.workloadidentity.v1.ServiceAgent service_agents = 1; + */ + com.google.cloud.workloadidentity.v1.ServiceAgentOrBuilder getServiceAgentsOrBuilder(int index); +} diff --git a/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/OperationMetadata.java b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/OperationMetadata.java new file mode 100644 index 000000000000..b92fc50b945d --- /dev/null +++ b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/OperationMetadata.java @@ -0,0 +1,1874 @@ +/* + * 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/workloadidentity/v1/service.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.workloadidentity.v1; + +/** + * + * + *
+ * Represents the metadata of the long-running operation.
+ * 
+ * + * Protobuf type {@code google.cloud.workloadidentity.v1.OperationMetadata} + */ +@com.google.protobuf.Generated +public final class OperationMetadata extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.workloadidentity.v1.OperationMetadata) + OperationMetadataOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "OperationMetadata"); + } + + // Use OperationMetadata.newBuilder() to construct. + private OperationMetadata(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private OperationMetadata() { + target_ = ""; + verb_ = ""; + statusMessage_ = ""; + apiVersion_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_OperationMetadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_OperationMetadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.workloadidentity.v1.OperationMetadata.class, + com.google.cloud.workloadidentity.v1.OperationMetadata.Builder.class); + } + + private int bitField0_; + public static final int CREATE_TIME_FIELD_NUMBER = 1; + private com.google.protobuf.Timestamp createTime_; + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + public static final int END_TIME_FIELD_NUMBER = 2; + private com.google.protobuf.Timestamp endTime_; + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the endTime field is set. + */ + @java.lang.Override + public boolean hasEndTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The endTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getEndTime() { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder() { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } + + public static final int TARGET_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object target_ = ""; + + /** + * + * + *
+   * Output only. Server-defined resource path for the target of the operation.
+   * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The target. + */ + @java.lang.Override + public java.lang.String getTarget() { + java.lang.Object ref = target_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + target_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Server-defined resource path for the target of the operation.
+   * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for target. + */ + @java.lang.Override + public com.google.protobuf.ByteString getTargetBytes() { + java.lang.Object ref = target_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + target_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VERB_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object verb_ = ""; + + /** + * + * + *
+   * Output only. Name of the verb executed by the operation.
+   * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The verb. + */ + @java.lang.Override + public java.lang.String getVerb() { + java.lang.Object ref = verb_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + verb_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Name of the verb executed by the operation.
+   * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for verb. + */ + @java.lang.Override + public com.google.protobuf.ByteString getVerbBytes() { + java.lang.Object ref = verb_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + verb_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int STATUS_MESSAGE_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object statusMessage_ = ""; + + /** + * + * + *
+   * Output only. Human-readable status of the operation, if any.
+   * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The statusMessage. + */ + @java.lang.Override + public java.lang.String getStatusMessage() { + java.lang.Object ref = statusMessage_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + statusMessage_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Human-readable status of the operation, if any.
+   * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for statusMessage. + */ + @java.lang.Override + public com.google.protobuf.ByteString getStatusMessageBytes() { + java.lang.Object ref = statusMessage_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + statusMessage_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int REQUESTED_CANCELLATION_FIELD_NUMBER = 6; + private boolean requestedCancellation_ = false; + + /** + * + * + *
+   * Output only. Identifies whether the user has requested cancellation
+   * of the operation. Operations that have been cancelled successfully
+   * have
+   * [google.longrunning.Operation.error][google.longrunning.Operation.error]
+   * value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`,
+   * corresponding to `Code.CANCELLED`.
+   * 
+ * + * bool requested_cancellation = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The requestedCancellation. + */ + @java.lang.Override + public boolean getRequestedCancellation() { + return requestedCancellation_; + } + + public static final int API_VERSION_FIELD_NUMBER = 7; + + @SuppressWarnings("serial") + private volatile java.lang.Object apiVersion_ = ""; + + /** + * + * + *
+   * Output only. API version used to start the operation.
+   * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The apiVersion. + */ + @java.lang.Override + public java.lang.String getApiVersion() { + java.lang.Object ref = apiVersion_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + apiVersion_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. API version used to start the operation.
+   * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for apiVersion. + */ + @java.lang.Override + public com.google.protobuf.ByteString getApiVersionBytes() { + java.lang.Object ref = apiVersion_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + apiVersion_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getEndTime()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(target_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, target_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(verb_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, verb_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(statusMessage_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, statusMessage_); + } + if (requestedCancellation_ != false) { + output.writeBool(6, requestedCancellation_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(apiVersion_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 7, apiVersion_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getEndTime()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(target_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, target_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(verb_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, verb_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(statusMessage_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, statusMessage_); + } + if (requestedCancellation_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(6, requestedCancellation_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(apiVersion_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(7, apiVersion_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.workloadidentity.v1.OperationMetadata)) { + return super.equals(obj); + } + com.google.cloud.workloadidentity.v1.OperationMetadata other = + (com.google.cloud.workloadidentity.v1.OperationMetadata) obj; + + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasEndTime() != other.hasEndTime()) return false; + if (hasEndTime()) { + if (!getEndTime().equals(other.getEndTime())) return false; + } + if (!getTarget().equals(other.getTarget())) return false; + if (!getVerb().equals(other.getVerb())) return false; + if (!getStatusMessage().equals(other.getStatusMessage())) return false; + if (getRequestedCancellation() != other.getRequestedCancellation()) return false; + if (!getApiVersion().equals(other.getApiVersion())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasEndTime()) { + hash = (37 * hash) + END_TIME_FIELD_NUMBER; + hash = (53 * hash) + getEndTime().hashCode(); + } + hash = (37 * hash) + TARGET_FIELD_NUMBER; + hash = (53 * hash) + getTarget().hashCode(); + hash = (37 * hash) + VERB_FIELD_NUMBER; + hash = (53 * hash) + getVerb().hashCode(); + hash = (37 * hash) + STATUS_MESSAGE_FIELD_NUMBER; + hash = (53 * hash) + getStatusMessage().hashCode(); + hash = (37 * hash) + REQUESTED_CANCELLATION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getRequestedCancellation()); + hash = (37 * hash) + API_VERSION_FIELD_NUMBER; + hash = (53 * hash) + getApiVersion().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.workloadidentity.v1.OperationMetadata parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.workloadidentity.v1.OperationMetadata parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.OperationMetadata parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.workloadidentity.v1.OperationMetadata parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.OperationMetadata parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.workloadidentity.v1.OperationMetadata parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.OperationMetadata parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.workloadidentity.v1.OperationMetadata parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.OperationMetadata parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.workloadidentity.v1.OperationMetadata parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.OperationMetadata parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.workloadidentity.v1.OperationMetadata parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.workloadidentity.v1.OperationMetadata prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Represents the metadata of the long-running operation.
+   * 
+ * + * Protobuf type {@code google.cloud.workloadidentity.v1.OperationMetadata} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.workloadidentity.v1.OperationMetadata) + com.google.cloud.workloadidentity.v1.OperationMetadataOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_OperationMetadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_OperationMetadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.workloadidentity.v1.OperationMetadata.class, + com.google.cloud.workloadidentity.v1.OperationMetadata.Builder.class); + } + + // Construct using com.google.cloud.workloadidentity.v1.OperationMetadata.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetCreateTimeFieldBuilder(); + internalGetEndTimeFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + endTime_ = null; + if (endTimeBuilder_ != null) { + endTimeBuilder_.dispose(); + endTimeBuilder_ = null; + } + target_ = ""; + verb_ = ""; + statusMessage_ = ""; + requestedCancellation_ = false; + apiVersion_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_OperationMetadata_descriptor; + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.OperationMetadata getDefaultInstanceForType() { + return com.google.cloud.workloadidentity.v1.OperationMetadata.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.OperationMetadata build() { + com.google.cloud.workloadidentity.v1.OperationMetadata result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.OperationMetadata buildPartial() { + com.google.cloud.workloadidentity.v1.OperationMetadata result = + new com.google.cloud.workloadidentity.v1.OperationMetadata(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.workloadidentity.v1.OperationMetadata result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.endTime_ = endTimeBuilder_ == null ? endTime_ : endTimeBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.target_ = target_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.verb_ = verb_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.statusMessage_ = statusMessage_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.requestedCancellation_ = requestedCancellation_; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.apiVersion_ = apiVersion_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.workloadidentity.v1.OperationMetadata) { + return mergeFrom((com.google.cloud.workloadidentity.v1.OperationMetadata) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.workloadidentity.v1.OperationMetadata other) { + if (other == com.google.cloud.workloadidentity.v1.OperationMetadata.getDefaultInstance()) + return this; + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasEndTime()) { + mergeEndTime(other.getEndTime()); + } + if (!other.getTarget().isEmpty()) { + target_ = other.target_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getVerb().isEmpty()) { + verb_ = other.verb_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getStatusMessage().isEmpty()) { + statusMessage_ = other.statusMessage_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (other.getRequestedCancellation() != false) { + setRequestedCancellation(other.getRequestedCancellation()); + } + if (!other.getApiVersion().isEmpty()) { + apiVersion_ = other.apiVersion_; + bitField0_ |= 0x00000040; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + input.readMessage(internalGetEndTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + target_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + verb_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 42: + { + statusMessage_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + case 48: + { + requestedCancellation_ = input.readBool(); + bitField0_ |= 0x00000020; + break; + } // case 48 + case 58: + { + apiVersion_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000040; + break; + } // case 58 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + } else { + createTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && createTime_ != null + && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCreateTimeBuilder().mergeFrom(value); + } else { + createTime_ = value; + } + } else { + createTimeBuilder_.mergeFrom(value); + } + if (createTime_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + bitField0_ = (bitField0_ & ~0x00000001); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetCreateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp endTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + endTimeBuilder_; + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the endTime field is set. + */ + public boolean hasEndTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The endTime. + */ + public com.google.protobuf.Timestamp getEndTime() { + if (endTimeBuilder_ == null) { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } else { + return endTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEndTime(com.google.protobuf.Timestamp value) { + if (endTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + endTime_ = value; + } else { + endTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEndTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (endTimeBuilder_ == null) { + endTime_ = builderForValue.build(); + } else { + endTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeEndTime(com.google.protobuf.Timestamp value) { + if (endTimeBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && endTime_ != null + && endTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getEndTimeBuilder().mergeFrom(value); + } else { + endTime_ = value; + } + } else { + endTimeBuilder_.mergeFrom(value); + } + if (endTime_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearEndTime() { + bitField0_ = (bitField0_ & ~0x00000002); + endTime_ = null; + if (endTimeBuilder_ != null) { + endTimeBuilder_.dispose(); + endTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getEndTimeBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetEndTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder() { + if (endTimeBuilder_ != null) { + return endTimeBuilder_.getMessageOrBuilder(); + } else { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetEndTimeFieldBuilder() { + if (endTimeBuilder_ == null) { + endTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getEndTime(), getParentForChildren(), isClean()); + endTime_ = null; + } + return endTimeBuilder_; + } + + private java.lang.Object target_ = ""; + + /** + * + * + *
+     * Output only. Server-defined resource path for the target of the operation.
+     * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The target. + */ + public java.lang.String getTarget() { + java.lang.Object ref = target_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + target_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Server-defined resource path for the target of the operation.
+     * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for target. + */ + public com.google.protobuf.ByteString getTargetBytes() { + java.lang.Object ref = target_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + target_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Server-defined resource path for the target of the operation.
+     * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The target to set. + * @return This builder for chaining. + */ + public Builder setTarget(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + target_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Server-defined resource path for the target of the operation.
+     * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearTarget() { + target_ = getDefaultInstance().getTarget(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Server-defined resource path for the target of the operation.
+     * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for target to set. + * @return This builder for chaining. + */ + public Builder setTargetBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + target_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object verb_ = ""; + + /** + * + * + *
+     * Output only. Name of the verb executed by the operation.
+     * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The verb. + */ + public java.lang.String getVerb() { + java.lang.Object ref = verb_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + verb_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Name of the verb executed by the operation.
+     * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for verb. + */ + public com.google.protobuf.ByteString getVerbBytes() { + java.lang.Object ref = verb_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + verb_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Name of the verb executed by the operation.
+     * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The verb to set. + * @return This builder for chaining. + */ + public Builder setVerb(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + verb_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Name of the verb executed by the operation.
+     * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearVerb() { + verb_ = getDefaultInstance().getVerb(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Name of the verb executed by the operation.
+     * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for verb to set. + * @return This builder for chaining. + */ + public Builder setVerbBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + verb_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object statusMessage_ = ""; + + /** + * + * + *
+     * Output only. Human-readable status of the operation, if any.
+     * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The statusMessage. + */ + public java.lang.String getStatusMessage() { + java.lang.Object ref = statusMessage_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + statusMessage_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Human-readable status of the operation, if any.
+     * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for statusMessage. + */ + public com.google.protobuf.ByteString getStatusMessageBytes() { + java.lang.Object ref = statusMessage_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + statusMessage_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Human-readable status of the operation, if any.
+     * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The statusMessage to set. + * @return This builder for chaining. + */ + public Builder setStatusMessage(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + statusMessage_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Human-readable status of the operation, if any.
+     * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearStatusMessage() { + statusMessage_ = getDefaultInstance().getStatusMessage(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Human-readable status of the operation, if any.
+     * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for statusMessage to set. + * @return This builder for chaining. + */ + public Builder setStatusMessageBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + statusMessage_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private boolean requestedCancellation_; + + /** + * + * + *
+     * Output only. Identifies whether the user has requested cancellation
+     * of the operation. Operations that have been cancelled successfully
+     * have
+     * [google.longrunning.Operation.error][google.longrunning.Operation.error]
+     * value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`,
+     * corresponding to `Code.CANCELLED`.
+     * 
+ * + * bool requested_cancellation = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The requestedCancellation. + */ + @java.lang.Override + public boolean getRequestedCancellation() { + return requestedCancellation_; + } + + /** + * + * + *
+     * Output only. Identifies whether the user has requested cancellation
+     * of the operation. Operations that have been cancelled successfully
+     * have
+     * [google.longrunning.Operation.error][google.longrunning.Operation.error]
+     * value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`,
+     * corresponding to `Code.CANCELLED`.
+     * 
+ * + * bool requested_cancellation = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The requestedCancellation to set. + * @return This builder for chaining. + */ + public Builder setRequestedCancellation(boolean value) { + + requestedCancellation_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Identifies whether the user has requested cancellation
+     * of the operation. Operations that have been cancelled successfully
+     * have
+     * [google.longrunning.Operation.error][google.longrunning.Operation.error]
+     * value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`,
+     * corresponding to `Code.CANCELLED`.
+     * 
+ * + * bool requested_cancellation = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearRequestedCancellation() { + bitField0_ = (bitField0_ & ~0x00000020); + requestedCancellation_ = false; + onChanged(); + return this; + } + + private java.lang.Object apiVersion_ = ""; + + /** + * + * + *
+     * Output only. API version used to start the operation.
+     * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The apiVersion. + */ + public java.lang.String getApiVersion() { + java.lang.Object ref = apiVersion_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + apiVersion_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. API version used to start the operation.
+     * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for apiVersion. + */ + public com.google.protobuf.ByteString getApiVersionBytes() { + java.lang.Object ref = apiVersion_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + apiVersion_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. API version used to start the operation.
+     * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The apiVersion to set. + * @return This builder for chaining. + */ + public Builder setApiVersion(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + apiVersion_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. API version used to start the operation.
+     * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearApiVersion() { + apiVersion_ = getDefaultInstance().getApiVersion(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. API version used to start the operation.
+     * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for apiVersion to set. + * @return This builder for chaining. + */ + public Builder setApiVersionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + apiVersion_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.workloadidentity.v1.OperationMetadata) + } + + // @@protoc_insertion_point(class_scope:google.cloud.workloadidentity.v1.OperationMetadata) + private static final com.google.cloud.workloadidentity.v1.OperationMetadata DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.workloadidentity.v1.OperationMetadata(); + } + + public static com.google.cloud.workloadidentity.v1.OperationMetadata getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public OperationMetadata parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.OperationMetadata getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/OperationMetadataOrBuilder.java b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/OperationMetadataOrBuilder.java new file mode 100644 index 000000000000..b8b7452f5363 --- /dev/null +++ b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/OperationMetadataOrBuilder.java @@ -0,0 +1,230 @@ +/* + * 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/workloadidentity/v1/service.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.workloadidentity.v1; + +@com.google.protobuf.Generated +public interface OperationMetadataOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.workloadidentity.v1.OperationMetadata) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the endTime field is set. + */ + boolean hasEndTime(); + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The endTime. + */ + com.google.protobuf.Timestamp getEndTime(); + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Server-defined resource path for the target of the operation.
+   * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The target. + */ + java.lang.String getTarget(); + + /** + * + * + *
+   * Output only. Server-defined resource path for the target of the operation.
+   * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for target. + */ + com.google.protobuf.ByteString getTargetBytes(); + + /** + * + * + *
+   * Output only. Name of the verb executed by the operation.
+   * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The verb. + */ + java.lang.String getVerb(); + + /** + * + * + *
+   * Output only. Name of the verb executed by the operation.
+   * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for verb. + */ + com.google.protobuf.ByteString getVerbBytes(); + + /** + * + * + *
+   * Output only. Human-readable status of the operation, if any.
+   * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The statusMessage. + */ + java.lang.String getStatusMessage(); + + /** + * + * + *
+   * Output only. Human-readable status of the operation, if any.
+   * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for statusMessage. + */ + com.google.protobuf.ByteString getStatusMessageBytes(); + + /** + * + * + *
+   * Output only. Identifies whether the user has requested cancellation
+   * of the operation. Operations that have been cancelled successfully
+   * have
+   * [google.longrunning.Operation.error][google.longrunning.Operation.error]
+   * value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`,
+   * corresponding to `Code.CANCELLED`.
+   * 
+ * + * bool requested_cancellation = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The requestedCancellation. + */ + boolean getRequestedCancellation(); + + /** + * + * + *
+   * Output only. API version used to start the operation.
+   * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The apiVersion. + */ + java.lang.String getApiVersion(); + + /** + * + * + *
+   * Output only. API version used to start the operation.
+   * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for apiVersion. + */ + com.google.protobuf.ByteString getApiVersionBytes(); +} diff --git a/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceAgent.java b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceAgent.java new file mode 100644 index 000000000000..ee9875d9c6ed --- /dev/null +++ b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceAgent.java @@ -0,0 +1,1763 @@ +/* + * 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/workloadidentity/v1/service.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.workloadidentity.v1; + +/** + * + * + *
+ * Message describing ServiceAgent object
+ * 
+ * + * Protobuf type {@code google.cloud.workloadidentity.v1.ServiceAgent} + */ +@com.google.protobuf.Generated +public final class ServiceAgent extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.workloadidentity.v1.ServiceAgent) + ServiceAgentOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "ServiceAgent"); + } + + // Use ServiceAgent.newBuilder() to construct. + private ServiceAgent(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ServiceAgent() { + name_ = ""; + container_ = ""; + serviceProducer_ = ""; + principal_ = ""; + role_ = ""; + state_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_ServiceAgent_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_ServiceAgent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.workloadidentity.v1.ServiceAgent.class, + com.google.cloud.workloadidentity.v1.ServiceAgent.Builder.class); + } + + /** + * + * + *
+   * Enum for service agent `state`.
+   * 
+ * + * Protobuf enum {@code google.cloud.workloadidentity.v1.ServiceAgent.State} + */ + public enum State implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+     * Default service agent `state`. This value is used if the
+     * state is omitted.
+     * 
+ * + * STATE_UNSPECIFIED = 0; + */ + STATE_UNSPECIFIED(0), + /** + * + * + *
+     * Indicates that the service agent has been created and can be used.
+     * 
+ * + * ACTIVE = 1; + */ + ACTIVE(1), + /** + * + * + *
+     * Indicates that the service agent was not created.
+     * 
+ * + * FAILED = 2; + */ + FAILED(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "State"); + } + + /** + * + * + *
+     * Default service agent `state`. This value is used if the
+     * state is omitted.
+     * 
+ * + * STATE_UNSPECIFIED = 0; + */ + public static final int STATE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+     * Indicates that the service agent has been created and can be used.
+     * 
+ * + * ACTIVE = 1; + */ + public static final int ACTIVE_VALUE = 1; + + /** + * + * + *
+     * Indicates that the service agent was not created.
+     * 
+ * + * FAILED = 2; + */ + public static final int FAILED_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static State valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static State forNumber(int value) { + switch (value) { + case 0: + return STATE_UNSPECIFIED; + case 1: + return ACTIVE; + case 2: + return FAILED; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public State findValueByNumber(int number) { + return State.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.workloadidentity.v1.ServiceAgent.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final State[] VALUES = values(); + + public static State valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private State(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.workloadidentity.v1.ServiceAgent.State) + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Identifier. The name of the service agent resource
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Identifier. The name of the service agent resource
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CONTAINER_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object container_ = ""; + + /** + * + * + *
+   * Optional. Name of the container that the service agent is associated with.
+   * For example:
+   * * projects/1234
+   * * folders/1234
+   * * organizations/2344
+   * 
+ * + * + * string container = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The container. + */ + @java.lang.Override + public java.lang.String getContainer() { + java.lang.Object ref = container_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + container_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Name of the container that the service agent is associated with.
+   * For example:
+   * * projects/1234
+   * * folders/1234
+   * * organizations/2344
+   * 
+ * + * + * string container = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for container. + */ + @java.lang.Override + public com.google.protobuf.ByteString getContainerBytes() { + java.lang.Object ref = container_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + container_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SERVICE_PRODUCER_FIELD_NUMBER = 6; + + @SuppressWarnings("serial") + private volatile java.lang.Object serviceProducer_ = ""; + + /** + * + * + *
+   * Optional. The service the agent belongs to.
+   * For example, bigquery.googleapis.com
+   * 
+ * + * string service_producer = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The serviceProducer. + */ + @java.lang.Override + public java.lang.String getServiceProducer() { + java.lang.Object ref = serviceProducer_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceProducer_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. The service the agent belongs to.
+   * For example, bigquery.googleapis.com
+   * 
+ * + * string service_producer = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for serviceProducer. + */ + @java.lang.Override + public com.google.protobuf.ByteString getServiceProducerBytes() { + java.lang.Object ref = serviceProducer_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceProducer_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PRINCIPAL_FIELD_NUMBER = 7; + + @SuppressWarnings("serial") + private volatile java.lang.Object principal_ = ""; + + /** + * + * + *
+   * Optional. The principal identifier for the service agent. This identifier
+   * is used in allow policies to grant access to the service agent.
+   * 
+ * + * string principal = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The principal. + */ + @java.lang.Override + public java.lang.String getPrincipal() { + java.lang.Object ref = principal_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + principal_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. The principal identifier for the service agent. This identifier
+   * is used in allow policies to grant access to the service agent.
+   * 
+ * + * string principal = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for principal. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPrincipalBytes() { + java.lang.Object ref = principal_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + principal_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ROLE_FIELD_NUMBER = 9; + + @SuppressWarnings("serial") + private volatile java.lang.Object role_ = ""; + + /** + * + * + *
+   * Optional. The role that should be granted to service agent on consumer
+   * project, if any. For example, "roles/aiplatform.serviceAgent".
+   * 
+ * + * string role = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The role. + */ + @java.lang.Override + public java.lang.String getRole() { + java.lang.Object ref = role_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + role_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. The role that should be granted to service agent on consumer
+   * project, if any. For example, "roles/aiplatform.serviceAgent".
+   * 
+ * + * string role = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for role. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRoleBytes() { + java.lang.Object ref = role_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + role_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int STATE_FIELD_NUMBER = 10; + private int state_ = 0; + + /** + * + * + *
+   * Output only. Service agent state.
+   * 
+ * + * + * .google.cloud.workloadidentity.v1.ServiceAgent.State state = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for state. + */ + @java.lang.Override + public int getStateValue() { + return state_; + } + + /** + * + * + *
+   * Output only. Service agent state.
+   * 
+ * + * + * .google.cloud.workloadidentity.v1.ServiceAgent.State state = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The state. + */ + @java.lang.Override + public com.google.cloud.workloadidentity.v1.ServiceAgent.State getState() { + com.google.cloud.workloadidentity.v1.ServiceAgent.State result = + com.google.cloud.workloadidentity.v1.ServiceAgent.State.forNumber(state_); + return result == null + ? com.google.cloud.workloadidentity.v1.ServiceAgent.State.UNRECOGNIZED + : result; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(container_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, container_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(serviceProducer_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 6, serviceProducer_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(principal_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 7, principal_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(role_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 9, role_); + } + if (state_ + != com.google.cloud.workloadidentity.v1.ServiceAgent.State.STATE_UNSPECIFIED.getNumber()) { + output.writeEnum(10, state_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(container_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, container_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(serviceProducer_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(6, serviceProducer_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(principal_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(7, principal_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(role_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(9, role_); + } + if (state_ + != com.google.cloud.workloadidentity.v1.ServiceAgent.State.STATE_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(10, state_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.workloadidentity.v1.ServiceAgent)) { + return super.equals(obj); + } + com.google.cloud.workloadidentity.v1.ServiceAgent other = + (com.google.cloud.workloadidentity.v1.ServiceAgent) obj; + + if (!getName().equals(other.getName())) return false; + if (!getContainer().equals(other.getContainer())) return false; + if (!getServiceProducer().equals(other.getServiceProducer())) return false; + if (!getPrincipal().equals(other.getPrincipal())) return false; + if (!getRole().equals(other.getRole())) return false; + if (state_ != other.state_) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + CONTAINER_FIELD_NUMBER; + hash = (53 * hash) + getContainer().hashCode(); + hash = (37 * hash) + SERVICE_PRODUCER_FIELD_NUMBER; + hash = (53 * hash) + getServiceProducer().hashCode(); + hash = (37 * hash) + PRINCIPAL_FIELD_NUMBER; + hash = (53 * hash) + getPrincipal().hashCode(); + hash = (37 * hash) + ROLE_FIELD_NUMBER; + hash = (53 * hash) + getRole().hashCode(); + hash = (37 * hash) + STATE_FIELD_NUMBER; + hash = (53 * hash) + state_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.workloadidentity.v1.ServiceAgent parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.workloadidentity.v1.ServiceAgent parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.ServiceAgent parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.workloadidentity.v1.ServiceAgent parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.ServiceAgent parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.workloadidentity.v1.ServiceAgent parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.ServiceAgent parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.workloadidentity.v1.ServiceAgent parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.ServiceAgent parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.workloadidentity.v1.ServiceAgent parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.workloadidentity.v1.ServiceAgent parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.workloadidentity.v1.ServiceAgent parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.workloadidentity.v1.ServiceAgent prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message describing ServiceAgent object
+   * 
+ * + * Protobuf type {@code google.cloud.workloadidentity.v1.ServiceAgent} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.workloadidentity.v1.ServiceAgent) + com.google.cloud.workloadidentity.v1.ServiceAgentOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_ServiceAgent_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_ServiceAgent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.workloadidentity.v1.ServiceAgent.class, + com.google.cloud.workloadidentity.v1.ServiceAgent.Builder.class); + } + + // Construct using com.google.cloud.workloadidentity.v1.ServiceAgent.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + container_ = ""; + serviceProducer_ = ""; + principal_ = ""; + role_ = ""; + state_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.workloadidentity.v1.ServiceProto + .internal_static_google_cloud_workloadidentity_v1_ServiceAgent_descriptor; + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.ServiceAgent getDefaultInstanceForType() { + return com.google.cloud.workloadidentity.v1.ServiceAgent.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.ServiceAgent build() { + com.google.cloud.workloadidentity.v1.ServiceAgent result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.ServiceAgent buildPartial() { + com.google.cloud.workloadidentity.v1.ServiceAgent result = + new com.google.cloud.workloadidentity.v1.ServiceAgent(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.workloadidentity.v1.ServiceAgent result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.container_ = container_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.serviceProducer_ = serviceProducer_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.principal_ = principal_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.role_ = role_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.state_ = state_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.workloadidentity.v1.ServiceAgent) { + return mergeFrom((com.google.cloud.workloadidentity.v1.ServiceAgent) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.workloadidentity.v1.ServiceAgent other) { + if (other == com.google.cloud.workloadidentity.v1.ServiceAgent.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getContainer().isEmpty()) { + container_ = other.container_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getServiceProducer().isEmpty()) { + serviceProducer_ = other.serviceProducer_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getPrincipal().isEmpty()) { + principal_ = other.principal_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getRole().isEmpty()) { + role_ = other.role_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (other.state_ != 0) { + setStateValue(other.getStateValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 42: + { + container_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 42 + case 50: + { + serviceProducer_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 50 + case 58: + { + principal_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 58 + case 74: + { + role_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 74 + case 80: + { + state_ = input.readEnum(); + bitField0_ |= 0x00000020; + break; + } // case 80 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Identifier. The name of the service agent resource
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Identifier. The name of the service agent resource
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Identifier. The name of the service agent resource
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. The name of the service agent resource
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. The name of the service agent resource
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object container_ = ""; + + /** + * + * + *
+     * Optional. Name of the container that the service agent is associated with.
+     * For example:
+     * * projects/1234
+     * * folders/1234
+     * * organizations/2344
+     * 
+ * + * + * string container = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The container. + */ + public java.lang.String getContainer() { + java.lang.Object ref = container_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + container_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Name of the container that the service agent is associated with.
+     * For example:
+     * * projects/1234
+     * * folders/1234
+     * * organizations/2344
+     * 
+ * + * + * string container = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for container. + */ + public com.google.protobuf.ByteString getContainerBytes() { + java.lang.Object ref = container_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + container_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Name of the container that the service agent is associated with.
+     * For example:
+     * * projects/1234
+     * * folders/1234
+     * * organizations/2344
+     * 
+ * + * + * string container = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @param value The container to set. + * @return This builder for chaining. + */ + public Builder setContainer(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + container_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Name of the container that the service agent is associated with.
+     * For example:
+     * * projects/1234
+     * * folders/1234
+     * * organizations/2344
+     * 
+ * + * + * string container = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearContainer() { + container_ = getDefaultInstance().getContainer(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Name of the container that the service agent is associated with.
+     * For example:
+     * * projects/1234
+     * * folders/1234
+     * * organizations/2344
+     * 
+ * + * + * string container = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for container to set. + * @return This builder for chaining. + */ + public Builder setContainerBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + container_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object serviceProducer_ = ""; + + /** + * + * + *
+     * Optional. The service the agent belongs to.
+     * For example, bigquery.googleapis.com
+     * 
+ * + * string service_producer = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The serviceProducer. + */ + public java.lang.String getServiceProducer() { + java.lang.Object ref = serviceProducer_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceProducer_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. The service the agent belongs to.
+     * For example, bigquery.googleapis.com
+     * 
+ * + * string service_producer = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for serviceProducer. + */ + public com.google.protobuf.ByteString getServiceProducerBytes() { + java.lang.Object ref = serviceProducer_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceProducer_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. The service the agent belongs to.
+     * For example, bigquery.googleapis.com
+     * 
+ * + * string service_producer = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The serviceProducer to set. + * @return This builder for chaining. + */ + public Builder setServiceProducer(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + serviceProducer_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The service the agent belongs to.
+     * For example, bigquery.googleapis.com
+     * 
+ * + * string service_producer = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearServiceProducer() { + serviceProducer_ = getDefaultInstance().getServiceProducer(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The service the agent belongs to.
+     * For example, bigquery.googleapis.com
+     * 
+ * + * string service_producer = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for serviceProducer to set. + * @return This builder for chaining. + */ + public Builder setServiceProducerBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + serviceProducer_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object principal_ = ""; + + /** + * + * + *
+     * Optional. The principal identifier for the service agent. This identifier
+     * is used in allow policies to grant access to the service agent.
+     * 
+ * + * string principal = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The principal. + */ + public java.lang.String getPrincipal() { + java.lang.Object ref = principal_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + principal_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. The principal identifier for the service agent. This identifier
+     * is used in allow policies to grant access to the service agent.
+     * 
+ * + * string principal = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for principal. + */ + public com.google.protobuf.ByteString getPrincipalBytes() { + java.lang.Object ref = principal_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + principal_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. The principal identifier for the service agent. This identifier
+     * is used in allow policies to grant access to the service agent.
+     * 
+ * + * string principal = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The principal to set. + * @return This builder for chaining. + */ + public Builder setPrincipal(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + principal_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The principal identifier for the service agent. This identifier
+     * is used in allow policies to grant access to the service agent.
+     * 
+ * + * string principal = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPrincipal() { + principal_ = getDefaultInstance().getPrincipal(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The principal identifier for the service agent. This identifier
+     * is used in allow policies to grant access to the service agent.
+     * 
+ * + * string principal = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for principal to set. + * @return This builder for chaining. + */ + public Builder setPrincipalBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + principal_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object role_ = ""; + + /** + * + * + *
+     * Optional. The role that should be granted to service agent on consumer
+     * project, if any. For example, "roles/aiplatform.serviceAgent".
+     * 
+ * + * string role = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The role. + */ + public java.lang.String getRole() { + java.lang.Object ref = role_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + role_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. The role that should be granted to service agent on consumer
+     * project, if any. For example, "roles/aiplatform.serviceAgent".
+     * 
+ * + * string role = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for role. + */ + public com.google.protobuf.ByteString getRoleBytes() { + java.lang.Object ref = role_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + role_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. The role that should be granted to service agent on consumer
+     * project, if any. For example, "roles/aiplatform.serviceAgent".
+     * 
+ * + * string role = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The role to set. + * @return This builder for chaining. + */ + public Builder setRole(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + role_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The role that should be granted to service agent on consumer
+     * project, if any. For example, "roles/aiplatform.serviceAgent".
+     * 
+ * + * string role = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearRole() { + role_ = getDefaultInstance().getRole(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The role that should be granted to service agent on consumer
+     * project, if any. For example, "roles/aiplatform.serviceAgent".
+     * 
+ * + * string role = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for role to set. + * @return This builder for chaining. + */ + public Builder setRoleBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + role_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private int state_ = 0; + + /** + * + * + *
+     * Output only. Service agent state.
+     * 
+ * + * + * .google.cloud.workloadidentity.v1.ServiceAgent.State state = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for state. + */ + @java.lang.Override + public int getStateValue() { + return state_; + } + + /** + * + * + *
+     * Output only. Service agent state.
+     * 
+ * + * + * .google.cloud.workloadidentity.v1.ServiceAgent.State state = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The enum numeric value on the wire for state to set. + * @return This builder for chaining. + */ + public Builder setStateValue(int value) { + state_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Service agent state.
+     * 
+ * + * + * .google.cloud.workloadidentity.v1.ServiceAgent.State state = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The state. + */ + @java.lang.Override + public com.google.cloud.workloadidentity.v1.ServiceAgent.State getState() { + com.google.cloud.workloadidentity.v1.ServiceAgent.State result = + com.google.cloud.workloadidentity.v1.ServiceAgent.State.forNumber(state_); + return result == null + ? com.google.cloud.workloadidentity.v1.ServiceAgent.State.UNRECOGNIZED + : result; + } + + /** + * + * + *
+     * Output only. Service agent state.
+     * 
+ * + * + * .google.cloud.workloadidentity.v1.ServiceAgent.State state = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The state to set. + * @return This builder for chaining. + */ + public Builder setState(com.google.cloud.workloadidentity.v1.ServiceAgent.State value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000020; + state_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Service agent state.
+     * 
+ * + * + * .google.cloud.workloadidentity.v1.ServiceAgent.State state = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearState() { + bitField0_ = (bitField0_ & ~0x00000020); + state_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.workloadidentity.v1.ServiceAgent) + } + + // @@protoc_insertion_point(class_scope:google.cloud.workloadidentity.v1.ServiceAgent) + private static final com.google.cloud.workloadidentity.v1.ServiceAgent DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.workloadidentity.v1.ServiceAgent(); + } + + public static com.google.cloud.workloadidentity.v1.ServiceAgent getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ServiceAgent parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.workloadidentity.v1.ServiceAgent getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceAgentOrBuilder.java b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceAgentOrBuilder.java new file mode 100644 index 000000000000..fe0ae0e1453d --- /dev/null +++ b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceAgentOrBuilder.java @@ -0,0 +1,206 @@ +/* + * 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/workloadidentity/v1/service.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.workloadidentity.v1; + +@com.google.protobuf.Generated +public interface ServiceAgentOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.workloadidentity.v1.ServiceAgent) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Identifier. The name of the service agent resource
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Identifier. The name of the service agent resource
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Optional. Name of the container that the service agent is associated with.
+   * For example:
+   * * projects/1234
+   * * folders/1234
+   * * organizations/2344
+   * 
+ * + * + * string container = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The container. + */ + java.lang.String getContainer(); + + /** + * + * + *
+   * Optional. Name of the container that the service agent is associated with.
+   * For example:
+   * * projects/1234
+   * * folders/1234
+   * * organizations/2344
+   * 
+ * + * + * string container = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for container. + */ + com.google.protobuf.ByteString getContainerBytes(); + + /** + * + * + *
+   * Optional. The service the agent belongs to.
+   * For example, bigquery.googleapis.com
+   * 
+ * + * string service_producer = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The serviceProducer. + */ + java.lang.String getServiceProducer(); + + /** + * + * + *
+   * Optional. The service the agent belongs to.
+   * For example, bigquery.googleapis.com
+   * 
+ * + * string service_producer = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for serviceProducer. + */ + com.google.protobuf.ByteString getServiceProducerBytes(); + + /** + * + * + *
+   * Optional. The principal identifier for the service agent. This identifier
+   * is used in allow policies to grant access to the service agent.
+   * 
+ * + * string principal = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The principal. + */ + java.lang.String getPrincipal(); + + /** + * + * + *
+   * Optional. The principal identifier for the service agent. This identifier
+   * is used in allow policies to grant access to the service agent.
+   * 
+ * + * string principal = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for principal. + */ + com.google.protobuf.ByteString getPrincipalBytes(); + + /** + * + * + *
+   * Optional. The role that should be granted to service agent on consumer
+   * project, if any. For example, "roles/aiplatform.serviceAgent".
+   * 
+ * + * string role = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The role. + */ + java.lang.String getRole(); + + /** + * + * + *
+   * Optional. The role that should be granted to service agent on consumer
+   * project, if any. For example, "roles/aiplatform.serviceAgent".
+   * 
+ * + * string role = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for role. + */ + com.google.protobuf.ByteString getRoleBytes(); + + /** + * + * + *
+   * Output only. Service agent state.
+   * 
+ * + * + * .google.cloud.workloadidentity.v1.ServiceAgent.State state = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for state. + */ + int getStateValue(); + + /** + * + * + *
+   * Output only. Service agent state.
+   * 
+ * + * + * .google.cloud.workloadidentity.v1.ServiceAgent.State state = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The state. + */ + com.google.cloud.workloadidentity.v1.ServiceAgent.State getState(); +} diff --git a/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceProducerName.java b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceProducerName.java new file mode 100644 index 000000000000..119ce1c1c832 --- /dev/null +++ b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceProducerName.java @@ -0,0 +1,454 @@ +/* + * 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.cloud.workloadidentity.v1; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.pathtemplate.ValidationException; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@NullMarked +@Generated("by gapic-generator-java") +public class ServiceProducerName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION_SERVICE_PRODUCER = + PathTemplate.createWithoutUrlEncoding( + "projects/{project}/locations/{location}/serviceProducers/{service_producer}"); + private static final PathTemplate FOLDER_LOCATION_SERVICE_PRODUCER = + PathTemplate.createWithoutUrlEncoding( + "folders/{folder}/locations/{location}/serviceProducers/{service_producer}"); + private static final PathTemplate ORGANIZATION_LOCATION_SERVICE_PRODUCER = + PathTemplate.createWithoutUrlEncoding( + "organizations/{organization}/locations/{location}/serviceProducers/{service_producer}"); + private volatile Map fieldValuesMap; + private PathTemplate pathTemplate; + private String fixedValue; + private final String project; + private final String location; + private final String serviceProducer; + private final String folder; + private final String organization; + + @Deprecated + protected ServiceProducerName() { + project = null; + location = null; + serviceProducer = null; + folder = null; + organization = null; + } + + private ServiceProducerName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + serviceProducer = Preconditions.checkNotNull(builder.getServiceProducer()); + folder = null; + organization = null; + pathTemplate = PROJECT_LOCATION_SERVICE_PRODUCER; + } + + private ServiceProducerName(FolderLocationServiceProducerBuilder builder) { + folder = Preconditions.checkNotNull(builder.getFolder()); + location = Preconditions.checkNotNull(builder.getLocation()); + serviceProducer = Preconditions.checkNotNull(builder.getServiceProducer()); + project = null; + organization = null; + pathTemplate = FOLDER_LOCATION_SERVICE_PRODUCER; + } + + private ServiceProducerName(OrganizationLocationServiceProducerBuilder builder) { + organization = Preconditions.checkNotNull(builder.getOrganization()); + location = Preconditions.checkNotNull(builder.getLocation()); + serviceProducer = Preconditions.checkNotNull(builder.getServiceProducer()); + project = null; + folder = null; + pathTemplate = ORGANIZATION_LOCATION_SERVICE_PRODUCER; + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getServiceProducer() { + return serviceProducer; + } + + public String getFolder() { + return folder; + } + + public String getOrganization() { + return organization; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static Builder newProjectLocationServiceProducerBuilder() { + return new Builder(); + } + + public static FolderLocationServiceProducerBuilder newFolderLocationServiceProducerBuilder() { + return new FolderLocationServiceProducerBuilder(); + } + + public static OrganizationLocationServiceProducerBuilder + newOrganizationLocationServiceProducerBuilder() { + return new OrganizationLocationServiceProducerBuilder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static ServiceProducerName of(String project, String location, String serviceProducer) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setServiceProducer(serviceProducer) + .build(); + } + + public static ServiceProducerName ofProjectLocationServiceProducerName( + String project, String location, String serviceProducer) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setServiceProducer(serviceProducer) + .build(); + } + + public static ServiceProducerName ofFolderLocationServiceProducerName( + String folder, String location, String serviceProducer) { + return newFolderLocationServiceProducerBuilder() + .setFolder(folder) + .setLocation(location) + .setServiceProducer(serviceProducer) + .build(); + } + + public static ServiceProducerName ofOrganizationLocationServiceProducerName( + String organization, String location, String serviceProducer) { + return newOrganizationLocationServiceProducerBuilder() + .setOrganization(organization) + .setLocation(location) + .setServiceProducer(serviceProducer) + .build(); + } + + public static String format(String project, String location, String serviceProducer) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setServiceProducer(serviceProducer) + .build() + .toString(); + } + + public static String formatProjectLocationServiceProducerName( + String project, String location, String serviceProducer) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setServiceProducer(serviceProducer) + .build() + .toString(); + } + + public static String formatFolderLocationServiceProducerName( + String folder, String location, String serviceProducer) { + return newFolderLocationServiceProducerBuilder() + .setFolder(folder) + .setLocation(location) + .setServiceProducer(serviceProducer) + .build() + .toString(); + } + + public static String formatOrganizationLocationServiceProducerName( + String organization, String location, String serviceProducer) { + return newOrganizationLocationServiceProducerBuilder() + .setOrganization(organization) + .setLocation(location) + .setServiceProducer(serviceProducer) + .build() + .toString(); + } + + public static @Nullable ServiceProducerName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + if (PROJECT_LOCATION_SERVICE_PRODUCER.matches(formattedString)) { + Map matchMap = PROJECT_LOCATION_SERVICE_PRODUCER.match(formattedString); + return ofProjectLocationServiceProducerName( + matchMap.get("project"), matchMap.get("location"), matchMap.get("service_producer")); + } else if (FOLDER_LOCATION_SERVICE_PRODUCER.matches(formattedString)) { + Map matchMap = FOLDER_LOCATION_SERVICE_PRODUCER.match(formattedString); + return ofFolderLocationServiceProducerName( + matchMap.get("folder"), matchMap.get("location"), matchMap.get("service_producer")); + } else if (ORGANIZATION_LOCATION_SERVICE_PRODUCER.matches(formattedString)) { + Map matchMap = ORGANIZATION_LOCATION_SERVICE_PRODUCER.match(formattedString); + return ofOrganizationLocationServiceProducerName( + matchMap.get("organization"), matchMap.get("location"), matchMap.get("service_producer")); + } + throw new ValidationException("ServiceProducerName.parse: formattedString not in valid format"); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List<@Nullable ServiceProducerName> values) { + List list = new ArrayList<>(values.size()); + for (ServiceProducerName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION_SERVICE_PRODUCER.matches(formattedString) + || FOLDER_LOCATION_SERVICE_PRODUCER.matches(formattedString) + || ORGANIZATION_LOCATION_SERVICE_PRODUCER.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (serviceProducer != null) { + fieldMapBuilder.put("service_producer", serviceProducer); + } + if (folder != null) { + fieldMapBuilder.put("folder", folder); + } + if (organization != null) { + fieldMapBuilder.put("organization", organization); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return fixedValue != null ? fixedValue : pathTemplate.instantiate(getFieldValuesMap()); + } + + @Override + public boolean equals(@Nullable Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + ServiceProducerName that = ((ServiceProducerName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.serviceProducer, that.serviceProducer) + && Objects.equals(this.folder, that.folder) + && Objects.equals(this.organization, that.organization); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(fixedValue); + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(serviceProducer); + h *= 1000003; + h ^= Objects.hashCode(folder); + h *= 1000003; + h ^= Objects.hashCode(organization); + return h; + } + + /** Builder for projects/{project}/locations/{location}/serviceProducers/{service_producer}. */ + public static class Builder { + private String project; + private String location; + private String serviceProducer; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getServiceProducer() { + return serviceProducer; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + public Builder setServiceProducer(String serviceProducer) { + this.serviceProducer = serviceProducer; + return this; + } + + private Builder(ServiceProducerName serviceProducerName) { + Preconditions.checkArgument( + Objects.equals(serviceProducerName.pathTemplate, PROJECT_LOCATION_SERVICE_PRODUCER), + "toBuilder is only supported when ServiceProducerName has the pattern of" + + " projects/{project}/locations/{location}/serviceProducers/{service_producer}"); + this.project = serviceProducerName.project; + this.location = serviceProducerName.location; + this.serviceProducer = serviceProducerName.serviceProducer; + } + + public ServiceProducerName build() { + return new ServiceProducerName(this); + } + } + + /** Builder for folders/{folder}/locations/{location}/serviceProducers/{service_producer}. */ + public static class FolderLocationServiceProducerBuilder { + private String folder; + private String location; + private String serviceProducer; + + protected FolderLocationServiceProducerBuilder() {} + + public String getFolder() { + return folder; + } + + public String getLocation() { + return location; + } + + public String getServiceProducer() { + return serviceProducer; + } + + public FolderLocationServiceProducerBuilder setFolder(String folder) { + this.folder = folder; + return this; + } + + public FolderLocationServiceProducerBuilder setLocation(String location) { + this.location = location; + return this; + } + + public FolderLocationServiceProducerBuilder setServiceProducer(String serviceProducer) { + this.serviceProducer = serviceProducer; + return this; + } + + public ServiceProducerName build() { + return new ServiceProducerName(this); + } + } + + /** + * Builder for + * organizations/{organization}/locations/{location}/serviceProducers/{service_producer}. + */ + public static class OrganizationLocationServiceProducerBuilder { + private String organization; + private String location; + private String serviceProducer; + + protected OrganizationLocationServiceProducerBuilder() {} + + public String getOrganization() { + return organization; + } + + public String getLocation() { + return location; + } + + public String getServiceProducer() { + return serviceProducer; + } + + public OrganizationLocationServiceProducerBuilder setOrganization(String organization) { + this.organization = organization; + return this; + } + + public OrganizationLocationServiceProducerBuilder setLocation(String location) { + this.location = location; + return this; + } + + public OrganizationLocationServiceProducerBuilder setServiceProducer(String serviceProducer) { + this.serviceProducer = serviceProducer; + return this; + } + + public ServiceProducerName build() { + return new ServiceProducerName(this); + } + } +} diff --git a/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceProto.java b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceProto.java new file mode 100644 index 000000000000..96e51faf4ab3 --- /dev/null +++ b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/java/com/google/cloud/workloadidentity/v1/ServiceProto.java @@ -0,0 +1,198 @@ +/* + * 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/workloadidentity/v1/service.proto +// Protobuf Java Version: 4.33.6 + +package com.google.cloud.workloadidentity.v1; + +@com.google.protobuf.Generated +public final class ServiceProto extends com.google.protobuf.GeneratedFile { + private ServiceProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 6, + /* suffix= */ "", + "ServiceProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_workloadidentity_v1_ServiceAgent_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_workloadidentity_v1_ServiceAgent_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_workloadidentity_v1_OperationMetadata_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_workloadidentity_v1_OperationMetadata_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + ".google/cloud/workloadidentity/v1/service.proto\022 google.cloud.workloadidentity." + + "v1\032\034google/api/annotations.proto\032\027google" + + "/api/client.proto\032\037google/api/field_beha" + + "vior.proto\032\031google/api/resource.proto\032#g" + + "oogle/longrunning/operations.proto\032\037google/protobuf/timestamp.proto\"\246\005\n" + + "\014ServiceAgent\022\021\n" + + "\004name\030\001 \001(\tB\003\340A\010\022\034\n" + + "\tcontainer\030\005 \001(\tB\t\340A\001\372A\003\n" + + "\001*\022\035\n" + + "\020service_producer\030\006 \001(\tB\003\340A\001\022\026\n" + + "\tprincipal\030\007 \001(\tB\003\340A\001\022\021\n" + + "\004role\030\t \001(\tB\003\340A\001\022H\n" + + "\005state\030\n" + + " \001(\01624.google.cloud.workloadidentity.v1.ServiceAgent.StateB\003\340A\003\"6\n" + + "\005State\022\025\n" + + "\021STATE_UNSPECIFIED\020\000\022\n\n" + + "\006ACTIVE\020\001\022\n\n" + + "\006FAILED\020\002:\230\003\352A\224\003\n" + + ",workloadidentity.googleapis.com/ServiceAgent\022iprojects" + + "/{project}/locations/{location}/serviceProducers/{service_producer}/serviceAgent" + + "s/{service_agent}\022gfolders/{folder}/locations/{location}/serviceProducers/{servi" + + "ce_producer}/serviceAgents/{service_agent}\022sorganizations/{organization}/locatio" + + "ns/{location}/serviceProducers/{service_producer}/serviceAgents/{service_agent}*\r" + + "serviceAgents2\014serviceAgent\"g\n" + + "\034GenerateServiceAgentsRequest\022G\n" + + "\006parent\030\001 \001(\tB7\340A\002\372A1\n" + + "/workloadidentity.googleapis.com/ServiceProducer\"g\n" + + "\035GenerateServiceAgentsResponse\022F\n" + + "\016service_agents\030\001 \003(\0132..google." + + "cloud.workloadidentity.v1.ServiceAgent\"\200\002\n" + + "\021OperationMetadata\0224\n" + + "\013create_time\030\001 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0221\n" + + "\010end_time\030\002 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\023\n" + + "\006target\030\003 \001(\tB\003\340A\003\022\021\n" + + "\004verb\030\004 \001(\tB\003\340A\003\022\033\n" + + "\016status_message\030\005 \001(\tB\003\340A\003\022#\n" + + "\026requested_cancellation\030\006 \001(\010B\003\340A\003\022\030\n" + + "\013api_version\030\007 \001(\tB\003\340A\0032\243\004\n" + + "\020WorkloadIdentity\022\271\003\n" + + "\025GenerateServiceAgents\022>.google.cloud.workloadidentity.v1.GenerateServiceAgent" + + "sRequest\032\035.google.longrunning.Operation\"\300\002\312A2\n" + + "\035GenerateServiceAgentsResponse\022\021Op" + + "erationMetadata\332A\006parent\202\323\344\223\002\373\001\"L/v1/{pa" + + "rent=projects/*/locations/*/serviceProducers/*}:generateServiceAgents:\001*ZP\"K/v1/" + + "{parent=folders/*/locations/*/serviceProducers/*}:generateServiceAgents:\001*ZV\"Q/v" + + "1/{parent=organizations/*/locations/*/serviceProducers/*}:generateServiceAgents:" + + "\001*\032S\312A\037workloadidentity.googleapis.com\322A" + + ".https://www.googleapis.com/auth/cloud-platformB\230\004\n" + + "$com.google.cloud.workloadidentity.v1B\014ServiceProtoP\001ZPcloud.google.c" + + "om/go/workloadidentity/apiv1/workloadidentitypb;workloadidentitypb\252\002" + + " Google.Cloud.WorkloadIdentity.V1\312\002 Google\\Cloud\\Wor" + + "kloadIdentity\\V1\352\002#Google::Cloud::WorkloadIdentity::V1\352A\240\002\n" + + "/workloadidentity.googleapis.com/ServiceProducer\022Kprojects/{p" + + "roject}/locations/{location}/serviceProducers/{service_producer}\022Ifolders/{folde" + + "r}/locations/{location}/serviceProducers/{service_producer}\022Uorganizations/{orga" + + "nization}/locations/{location}/serviceProducers/{service_producer}b\006proto3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.AnnotationsProto.getDescriptor(), + com.google.api.ClientProto.getDescriptor(), + com.google.api.FieldBehaviorProto.getDescriptor(), + com.google.api.ResourceProto.getDescriptor(), + com.google.longrunning.OperationsProto.getDescriptor(), + com.google.protobuf.TimestampProto.getDescriptor(), + }); + internal_static_google_cloud_workloadidentity_v1_ServiceAgent_descriptor = + getDescriptor().getMessageType(0); + internal_static_google_cloud_workloadidentity_v1_ServiceAgent_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_workloadidentity_v1_ServiceAgent_descriptor, + new java.lang.String[] { + "Name", "Container", "ServiceProducer", "Principal", "Role", "State", + }); + internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsRequest_descriptor = + getDescriptor().getMessageType(1); + internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsRequest_descriptor, + new java.lang.String[] { + "Parent", + }); + internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsResponse_descriptor = + getDescriptor().getMessageType(2); + internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsResponse_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_workloadidentity_v1_GenerateServiceAgentsResponse_descriptor, + new java.lang.String[] { + "ServiceAgents", + }); + internal_static_google_cloud_workloadidentity_v1_OperationMetadata_descriptor = + getDescriptor().getMessageType(3); + internal_static_google_cloud_workloadidentity_v1_OperationMetadata_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_workloadidentity_v1_OperationMetadata_descriptor, + new java.lang.String[] { + "CreateTime", + "EndTime", + "Target", + "Verb", + "StatusMessage", + "RequestedCancellation", + "ApiVersion", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.AnnotationsProto.getDescriptor(); + com.google.api.ClientProto.getDescriptor(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.api.ResourceProto.getDescriptor(); + com.google.longrunning.OperationsProto.getDescriptor(); + com.google.protobuf.TimestampProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.ClientProto.defaultHost); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + registry.add(com.google.api.AnnotationsProto.http); + registry.add(com.google.api.ClientProto.methodSignature); + registry.add(com.google.api.ClientProto.oauthScopes); + registry.add(com.google.api.ResourceProto.resource); + registry.add(com.google.api.ResourceProto.resourceDefinition); + registry.add(com.google.api.ResourceProto.resourceReference); + registry.add(com.google.longrunning.OperationsProto.operationInfo); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/proto/google/cloud/workloadidentity/v1/service.proto b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/proto/google/cloud/workloadidentity/v1/service.proto new file mode 100644 index 000000000000..a708cfe11119 --- /dev/null +++ b/java-workloadidentity/proto-google-cloud-workloadidentity-v1/src/main/proto/google/cloud/workloadidentity/v1/service.proto @@ -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. + +syntax = "proto3"; + +package google.cloud.workloadidentity.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.WorkloadIdentity.V1"; +option go_package = "cloud.google.com/go/workloadidentity/apiv1/workloadidentitypb;workloadidentitypb"; +option java_multiple_files = true; +option java_outer_classname = "ServiceProto"; +option java_package = "com.google.cloud.workloadidentity.v1"; +option php_namespace = "Google\\Cloud\\WorkloadIdentity\\V1"; +option ruby_package = "Google::Cloud::WorkloadIdentity::V1"; +option (google.api.resource_definition) = { + type: "workloadidentity.googleapis.com/ServiceProducer" + pattern: "projects/{project}/locations/{location}/serviceProducers/{service_producer}" + pattern: "folders/{folder}/locations/{location}/serviceProducers/{service_producer}" + pattern: "organizations/{organization}/locations/{location}/serviceProducers/{service_producer}" +}; + +// Service describing handlers for resources +service WorkloadIdentity { + option (google.api.default_host) = "workloadidentity.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates all service agents for a given resource, location and service + // producer. + rpc GenerateServiceAgents(GenerateServiceAgentsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/serviceProducers/*}:generateServiceAgents" + body: "*" + additional_bindings { + post: "/v1/{parent=folders/*/locations/*/serviceProducers/*}:generateServiceAgents" + body: "*" + } + additional_bindings { + post: "/v1/{parent=organizations/*/locations/*/serviceProducers/*}:generateServiceAgents" + body: "*" + } + }; + option (google.api.method_signature) = "parent"; + option (google.longrunning.operation_info) = { + response_type: "GenerateServiceAgentsResponse" + metadata_type: "OperationMetadata" + }; + } +} + +// Message describing ServiceAgent object +message ServiceAgent { + option (google.api.resource) = { + type: "workloadidentity.googleapis.com/ServiceAgent" + pattern: "projects/{project}/locations/{location}/serviceProducers/{service_producer}/serviceAgents/{service_agent}" + pattern: "folders/{folder}/locations/{location}/serviceProducers/{service_producer}/serviceAgents/{service_agent}" + pattern: "organizations/{organization}/locations/{location}/serviceProducers/{service_producer}/serviceAgents/{service_agent}" + plural: "serviceAgents" + singular: "serviceAgent" + }; + + // Enum for service agent `state`. + enum State { + // Default service agent `state`. This value is used if the + // state is omitted. + STATE_UNSPECIFIED = 0; + + // Indicates that the service agent has been created and can be used. + ACTIVE = 1; + + // Indicates that the service agent was not created. + FAILED = 2; + } + + // Identifier. The name of the service agent resource + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Optional. Name of the container that the service agent is associated with. + // For example: + // * projects/1234 + // * folders/1234 + // * organizations/2344 + string container = 5 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { type: "*" } + ]; + + // Optional. The service the agent belongs to. + // For example, bigquery.googleapis.com + string service_producer = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The principal identifier for the service agent. This identifier + // is used in allow policies to grant access to the service agent. + string principal = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The role that should be granted to service agent on consumer + // project, if any. For example, "roles/aiplatform.serviceAgent". + string role = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Service agent state. + State state = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message for creating all ServiceAgents for a ServiceProducer in a project and +// location. +message GenerateServiceAgentsRequest { + // Required. The parent resource. The `location` for the parent resource must + // be `global`. + // + // Examples: + // + // - projects/1234/locations/global/serviceProducers/bigquery.googleapis.com + // - folders/2344/locations/global/serviceProducers/vertexai.googleapis.com + // - organizations/3344/locations/global/serviceProducers/iam.googleapis.com + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "workloadidentity.googleapis.com/ServiceProducer" + } + ]; +} + +// Message for creating all ServiceAgents for a ServiceProducer in a project and +// location. +message GenerateServiceAgentsResponse { + // The list of service agents + repeated ServiceAgent service_agents = 1; +} + +// Represents the metadata of the long-running operation. +message OperationMetadata { + // Output only. The time the operation was created. + google.protobuf.Timestamp create_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time the operation finished running. + google.protobuf.Timestamp end_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Server-defined resource path for the target of the operation. + string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the verb executed by the operation. + string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Human-readable status of the operation, if any. + string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies whether the user has requested cancellation + // of the operation. Operations that have been cancelled successfully + // have + // [google.longrunning.Operation.error][google.longrunning.Operation.error] + // value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`, + // corresponding to `Code.CANCELLED`. + bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. API version used to start the operation. + string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/stub/workloadidentitystubsettings/generateserviceagents/SyncGenerateServiceAgents.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/stub/workloadidentitystubsettings/generateserviceagents/SyncGenerateServiceAgents.java new file mode 100644 index 000000000000..c7b60db9653c --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/stub/workloadidentitystubsettings/generateserviceagents/SyncGenerateServiceAgents.java @@ -0,0 +1,54 @@ +/* + * 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.cloud.workloadidentity.v1.stub.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentityStubSettings_GenerateServiceAgents_sync] +import com.google.api.gax.longrunning.OperationalTimedPollAlgorithm; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.retrying.TimedRetryAlgorithm; +import com.google.cloud.workloadidentity.v1.stub.WorkloadIdentityStubSettings; +import java.time.Duration; + +public class SyncGenerateServiceAgents { + + public static void main(String[] args) throws Exception { + syncGenerateServiceAgents(); + } + + public static void syncGenerateServiceAgents() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + WorkloadIdentityStubSettings.Builder workloadIdentitySettingsBuilder = + WorkloadIdentityStubSettings.newBuilder(); + TimedRetryAlgorithm timedRetryAlgorithm = + OperationalTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(500)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelayDuration(Duration.ofMillis(5000)) + .setTotalTimeoutDuration(Duration.ofHours(24)) + .build()); + workloadIdentitySettingsBuilder + .createClusterOperationSettings() + .setPollingAlgorithm(timedRetryAlgorithm) + .build(); + } +} +// [END workloadidentity_v1_generated_WorkloadIdentityStubSettings_GenerateServiceAgents_sync] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/stub/workloadidentitystubsettings/getlocation/SyncGetLocation.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/stub/workloadidentitystubsettings/getlocation/SyncGetLocation.java new file mode 100644 index 000000000000..40f14cd872bd --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/stub/workloadidentitystubsettings/getlocation/SyncGetLocation.java @@ -0,0 +1,56 @@ +/* + * 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.cloud.workloadidentity.v1.stub.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentityStubSettings_GetLocation_sync] +import com.google.cloud.workloadidentity.v1.stub.WorkloadIdentityStubSettings; +import java.time.Duration; + +public class SyncGetLocation { + + public static void main(String[] args) throws Exception { + syncGetLocation(); + } + + public static void syncGetLocation() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + WorkloadIdentityStubSettings.Builder workloadIdentitySettingsBuilder = + WorkloadIdentityStubSettings.newBuilder(); + workloadIdentitySettingsBuilder + .getLocationSettings() + .setRetrySettings( + workloadIdentitySettingsBuilder + .getLocationSettings() + .getRetrySettings() + .toBuilder() + .setInitialRetryDelayDuration(Duration.ofSeconds(1)) + .setInitialRpcTimeoutDuration(Duration.ofSeconds(5)) + .setMaxAttempts(5) + .setMaxRetryDelayDuration(Duration.ofSeconds(30)) + .setMaxRpcTimeoutDuration(Duration.ofSeconds(60)) + .setRetryDelayMultiplier(1.3) + .setRpcTimeoutMultiplier(1.5) + .setTotalTimeoutDuration(Duration.ofSeconds(300)) + .build()); + WorkloadIdentityStubSettings workloadIdentitySettings = workloadIdentitySettingsBuilder.build(); + } +} +// [END workloadidentity_v1_generated_WorkloadIdentityStubSettings_GetLocation_sync] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/create/SyncCreateSetCredentialsProvider.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/create/SyncCreateSetCredentialsProvider.java new file mode 100644 index 000000000000..fb939e64fdf0 --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/create/SyncCreateSetCredentialsProvider.java @@ -0,0 +1,45 @@ +/* + * 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.cloud.workloadidentity.v1.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentity_Create_SetCredentialsProvider_sync] +import com.google.api.gax.core.FixedCredentialsProvider; +import com.google.cloud.workloadidentity.v1.WorkloadIdentityClient; +import com.google.cloud.workloadidentity.v1.WorkloadIdentitySettings; +import com.google.cloud.workloadidentity.v1.myCredentials; + +public class SyncCreateSetCredentialsProvider { + + public static void main(String[] args) throws Exception { + syncCreateSetCredentialsProvider(); + } + + public static void syncCreateSetCredentialsProvider() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + WorkloadIdentitySettings workloadIdentitySettings = + WorkloadIdentitySettings.newBuilder() + .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)) + .build(); + WorkloadIdentityClient workloadIdentityClient = + WorkloadIdentityClient.create(workloadIdentitySettings); + } +} +// [END workloadidentity_v1_generated_WorkloadIdentity_Create_SetCredentialsProvider_sync] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/create/SyncCreateSetEndpoint.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/create/SyncCreateSetEndpoint.java new file mode 100644 index 000000000000..b63fd8c821fc --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/create/SyncCreateSetEndpoint.java @@ -0,0 +1,42 @@ +/* + * 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.cloud.workloadidentity.v1.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentity_Create_SetEndpoint_sync] +import com.google.cloud.workloadidentity.v1.WorkloadIdentityClient; +import com.google.cloud.workloadidentity.v1.WorkloadIdentitySettings; +import com.google.cloud.workloadidentity.v1.myEndpoint; + +public class SyncCreateSetEndpoint { + + public static void main(String[] args) throws Exception { + syncCreateSetEndpoint(); + } + + public static void syncCreateSetEndpoint() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + WorkloadIdentitySettings workloadIdentitySettings = + WorkloadIdentitySettings.newBuilder().setEndpoint(myEndpoint).build(); + WorkloadIdentityClient workloadIdentityClient = + WorkloadIdentityClient.create(workloadIdentitySettings); + } +} +// [END workloadidentity_v1_generated_WorkloadIdentity_Create_SetEndpoint_sync] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/create/SyncCreateUseHttpJsonTransport.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/create/SyncCreateUseHttpJsonTransport.java new file mode 100644 index 000000000000..461a16e8a8a6 --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/create/SyncCreateUseHttpJsonTransport.java @@ -0,0 +1,41 @@ +/* + * 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.cloud.workloadidentity.v1.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentity_Create_UseHttpJsonTransport_sync] +import com.google.cloud.workloadidentity.v1.WorkloadIdentityClient; +import com.google.cloud.workloadidentity.v1.WorkloadIdentitySettings; + +public class SyncCreateUseHttpJsonTransport { + + public static void main(String[] args) throws Exception { + syncCreateUseHttpJsonTransport(); + } + + public static void syncCreateUseHttpJsonTransport() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + WorkloadIdentitySettings workloadIdentitySettings = + WorkloadIdentitySettings.newHttpJsonBuilder().build(); + WorkloadIdentityClient workloadIdentityClient = + WorkloadIdentityClient.create(workloadIdentitySettings); + } +} +// [END workloadidentity_v1_generated_WorkloadIdentity_Create_UseHttpJsonTransport_sync] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/AsyncGenerateServiceAgents.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/AsyncGenerateServiceAgents.java new file mode 100644 index 000000000000..d0cafc660eb2 --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/AsyncGenerateServiceAgents.java @@ -0,0 +1,53 @@ +/* + * 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.cloud.workloadidentity.v1.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentity_GenerateServiceAgents_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest; +import com.google.cloud.workloadidentity.v1.ServiceProducerName; +import com.google.cloud.workloadidentity.v1.WorkloadIdentityClient; +import com.google.longrunning.Operation; + +public class AsyncGenerateServiceAgents { + + public static void main(String[] args) throws Exception { + asyncGenerateServiceAgents(); + } + + public static void asyncGenerateServiceAgents() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) { + GenerateServiceAgentsRequest request = + GenerateServiceAgentsRequest.newBuilder() + .setParent( + ServiceProducerName.ofProjectLocationServiceProducerName( + "[PROJECT]", "[LOCATION]", "[SERVICE_PRODUCER]") + .toString()) + .build(); + ApiFuture future = + workloadIdentityClient.generateServiceAgentsCallable().futureCall(request); + // Do something. + Operation response = future.get(); + } + } +} +// [END workloadidentity_v1_generated_WorkloadIdentity_GenerateServiceAgents_async] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/AsyncGenerateServiceAgentsLRO.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/AsyncGenerateServiceAgentsLRO.java new file mode 100644 index 000000000000..69d9e6d22197 --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/AsyncGenerateServiceAgentsLRO.java @@ -0,0 +1,54 @@ +/* + * 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.cloud.workloadidentity.v1.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentity_GenerateServiceAgents_LRO_async] +import com.google.api.gax.longrunning.OperationFuture; +import com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest; +import com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse; +import com.google.cloud.workloadidentity.v1.OperationMetadata; +import com.google.cloud.workloadidentity.v1.ServiceProducerName; +import com.google.cloud.workloadidentity.v1.WorkloadIdentityClient; + +public class AsyncGenerateServiceAgentsLRO { + + public static void main(String[] args) throws Exception { + asyncGenerateServiceAgentsLRO(); + } + + public static void asyncGenerateServiceAgentsLRO() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) { + GenerateServiceAgentsRequest request = + GenerateServiceAgentsRequest.newBuilder() + .setParent( + ServiceProducerName.ofProjectLocationServiceProducerName( + "[PROJECT]", "[LOCATION]", "[SERVICE_PRODUCER]") + .toString()) + .build(); + OperationFuture future = + workloadIdentityClient.generateServiceAgentsOperationCallable().futureCall(request); + // Do something. + GenerateServiceAgentsResponse response = future.get(); + } + } +} +// [END workloadidentity_v1_generated_WorkloadIdentity_GenerateServiceAgents_LRO_async] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/SyncGenerateServiceAgents.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/SyncGenerateServiceAgents.java new file mode 100644 index 000000000000..d92c9d504cc9 --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/SyncGenerateServiceAgents.java @@ -0,0 +1,50 @@ +/* + * 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.cloud.workloadidentity.v1.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentity_GenerateServiceAgents_sync] +import com.google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest; +import com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse; +import com.google.cloud.workloadidentity.v1.ServiceProducerName; +import com.google.cloud.workloadidentity.v1.WorkloadIdentityClient; + +public class SyncGenerateServiceAgents { + + public static void main(String[] args) throws Exception { + syncGenerateServiceAgents(); + } + + public static void syncGenerateServiceAgents() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) { + GenerateServiceAgentsRequest request = + GenerateServiceAgentsRequest.newBuilder() + .setParent( + ServiceProducerName.ofProjectLocationServiceProducerName( + "[PROJECT]", "[LOCATION]", "[SERVICE_PRODUCER]") + .toString()) + .build(); + GenerateServiceAgentsResponse response = + workloadIdentityClient.generateServiceAgentsAsync(request).get(); + } + } +} +// [END workloadidentity_v1_generated_WorkloadIdentity_GenerateServiceAgents_sync] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/SyncGenerateServiceAgentsServiceproducername.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/SyncGenerateServiceAgentsServiceproducername.java new file mode 100644 index 000000000000..2df57f7b7789 --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/SyncGenerateServiceAgentsServiceproducername.java @@ -0,0 +1,45 @@ +/* + * 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.cloud.workloadidentity.v1.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentity_GenerateServiceAgents_Serviceproducername_sync] +import com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse; +import com.google.cloud.workloadidentity.v1.ServiceProducerName; +import com.google.cloud.workloadidentity.v1.WorkloadIdentityClient; + +public class SyncGenerateServiceAgentsServiceproducername { + + public static void main(String[] args) throws Exception { + syncGenerateServiceAgentsServiceproducername(); + } + + public static void syncGenerateServiceAgentsServiceproducername() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) { + ServiceProducerName parent = + ServiceProducerName.ofProjectLocationServiceProducerName( + "[PROJECT]", "[LOCATION]", "[SERVICE_PRODUCER]"); + GenerateServiceAgentsResponse response = + workloadIdentityClient.generateServiceAgentsAsync(parent).get(); + } + } +} +// [END workloadidentity_v1_generated_WorkloadIdentity_GenerateServiceAgents_Serviceproducername_sync] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/SyncGenerateServiceAgentsString.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/SyncGenerateServiceAgentsString.java new file mode 100644 index 000000000000..cd3d7c1f02a6 --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/generateserviceagents/SyncGenerateServiceAgentsString.java @@ -0,0 +1,46 @@ +/* + * 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.cloud.workloadidentity.v1.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentity_GenerateServiceAgents_String_sync] +import com.google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse; +import com.google.cloud.workloadidentity.v1.ServiceProducerName; +import com.google.cloud.workloadidentity.v1.WorkloadIdentityClient; + +public class SyncGenerateServiceAgentsString { + + public static void main(String[] args) throws Exception { + syncGenerateServiceAgentsString(); + } + + public static void syncGenerateServiceAgentsString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) { + String parent = + ServiceProducerName.ofProjectLocationServiceProducerName( + "[PROJECT]", "[LOCATION]", "[SERVICE_PRODUCER]") + .toString(); + GenerateServiceAgentsResponse response = + workloadIdentityClient.generateServiceAgentsAsync(parent).get(); + } + } +} +// [END workloadidentity_v1_generated_WorkloadIdentity_GenerateServiceAgents_String_sync] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/getlocation/AsyncGetLocation.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/getlocation/AsyncGetLocation.java new file mode 100644 index 000000000000..a6a0d51f3906 --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/getlocation/AsyncGetLocation.java @@ -0,0 +1,45 @@ +/* + * 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.cloud.workloadidentity.v1.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentity_GetLocation_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.Location; +import com.google.cloud.workloadidentity.v1.WorkloadIdentityClient; + +public class AsyncGetLocation { + + public static void main(String[] args) throws Exception { + asyncGetLocation(); + } + + public static void asyncGetLocation() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) { + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + ApiFuture future = workloadIdentityClient.getLocationCallable().futureCall(request); + // Do something. + Location response = future.get(); + } + } +} +// [END workloadidentity_v1_generated_WorkloadIdentity_GetLocation_async] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/getlocation/SyncGetLocation.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/getlocation/SyncGetLocation.java new file mode 100644 index 000000000000..cfce9388bc50 --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/getlocation/SyncGetLocation.java @@ -0,0 +1,42 @@ +/* + * 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.cloud.workloadidentity.v1.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentity_GetLocation_sync] +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.Location; +import com.google.cloud.workloadidentity.v1.WorkloadIdentityClient; + +public class SyncGetLocation { + + public static void main(String[] args) throws Exception { + syncGetLocation(); + } + + public static void syncGetLocation() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) { + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + Location response = workloadIdentityClient.getLocation(request); + } + } +} +// [END workloadidentity_v1_generated_WorkloadIdentity_GetLocation_sync] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/listlocations/AsyncListLocations.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/listlocations/AsyncListLocations.java new file mode 100644 index 000000000000..a43e37527a17 --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/listlocations/AsyncListLocations.java @@ -0,0 +1,54 @@ +/* + * 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.cloud.workloadidentity.v1.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentity_ListLocations_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.Location; +import com.google.cloud.workloadidentity.v1.WorkloadIdentityClient; + +public class AsyncListLocations { + + public static void main(String[] args) throws Exception { + asyncListLocations(); + } + + public static void asyncListLocations() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + ApiFuture future = + workloadIdentityClient.listLocationsPagedCallable().futureCall(request); + // Do something. + for (Location element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END workloadidentity_v1_generated_WorkloadIdentity_ListLocations_async] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/listlocations/AsyncListLocationsPaged.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/listlocations/AsyncListLocationsPaged.java new file mode 100644 index 000000000000..5d75788de668 --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/listlocations/AsyncListLocationsPaged.java @@ -0,0 +1,62 @@ +/* + * 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.cloud.workloadidentity.v1.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentity_ListLocations_Paged_async] +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.cloud.workloadidentity.v1.WorkloadIdentityClient; +import com.google.common.base.Strings; + +public class AsyncListLocationsPaged { + + public static void main(String[] args) throws Exception { + asyncListLocationsPaged(); + } + + public static void asyncListLocationsPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + while (true) { + ListLocationsResponse response = + workloadIdentityClient.listLocationsCallable().call(request); + for (Location element : response.getLocationsList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END workloadidentity_v1_generated_WorkloadIdentity_ListLocations_Paged_async] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/listlocations/SyncListLocations.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/listlocations/SyncListLocations.java new file mode 100644 index 000000000000..d2a11d2d7e17 --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentity/listlocations/SyncListLocations.java @@ -0,0 +1,50 @@ +/* + * 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.cloud.workloadidentity.v1.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentity_ListLocations_sync] +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.Location; +import com.google.cloud.workloadidentity.v1.WorkloadIdentityClient; + +public class SyncListLocations { + + public static void main(String[] args) throws Exception { + syncListLocations(); + } + + public static void syncListLocations() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (WorkloadIdentityClient workloadIdentityClient = WorkloadIdentityClient.create()) { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + for (Location element : workloadIdentityClient.listLocations(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END workloadidentity_v1_generated_WorkloadIdentity_ListLocations_sync] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentitysettings/generateserviceagents/SyncGenerateServiceAgents.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentitysettings/generateserviceagents/SyncGenerateServiceAgents.java new file mode 100644 index 000000000000..03a33e0b1000 --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentitysettings/generateserviceagents/SyncGenerateServiceAgents.java @@ -0,0 +1,54 @@ +/* + * 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.cloud.workloadidentity.v1.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentitySettings_GenerateServiceAgents_sync] +import com.google.api.gax.longrunning.OperationalTimedPollAlgorithm; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.retrying.TimedRetryAlgorithm; +import com.google.cloud.workloadidentity.v1.WorkloadIdentitySettings; +import java.time.Duration; + +public class SyncGenerateServiceAgents { + + public static void main(String[] args) throws Exception { + syncGenerateServiceAgents(); + } + + public static void syncGenerateServiceAgents() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + WorkloadIdentitySettings.Builder workloadIdentitySettingsBuilder = + WorkloadIdentitySettings.newBuilder(); + TimedRetryAlgorithm timedRetryAlgorithm = + OperationalTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(500)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelayDuration(Duration.ofMillis(5000)) + .setTotalTimeoutDuration(Duration.ofHours(24)) + .build()); + workloadIdentitySettingsBuilder + .createClusterOperationSettings() + .setPollingAlgorithm(timedRetryAlgorithm) + .build(); + } +} +// [END workloadidentity_v1_generated_WorkloadIdentitySettings_GenerateServiceAgents_sync] diff --git a/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentitysettings/getlocation/SyncGetLocation.java b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentitysettings/getlocation/SyncGetLocation.java new file mode 100644 index 000000000000..330f7086d066 --- /dev/null +++ b/java-workloadidentity/samples/snippets/generated/com/google/cloud/workloadidentity/v1/workloadidentitysettings/getlocation/SyncGetLocation.java @@ -0,0 +1,56 @@ +/* + * 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.cloud.workloadidentity.v1.samples; + +// [START workloadidentity_v1_generated_WorkloadIdentitySettings_GetLocation_sync] +import com.google.cloud.workloadidentity.v1.WorkloadIdentitySettings; +import java.time.Duration; + +public class SyncGetLocation { + + public static void main(String[] args) throws Exception { + syncGetLocation(); + } + + public static void syncGetLocation() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + WorkloadIdentitySettings.Builder workloadIdentitySettingsBuilder = + WorkloadIdentitySettings.newBuilder(); + workloadIdentitySettingsBuilder + .getLocationSettings() + .setRetrySettings( + workloadIdentitySettingsBuilder + .getLocationSettings() + .getRetrySettings() + .toBuilder() + .setInitialRetryDelayDuration(Duration.ofSeconds(1)) + .setInitialRpcTimeoutDuration(Duration.ofSeconds(5)) + .setMaxAttempts(5) + .setMaxRetryDelayDuration(Duration.ofSeconds(30)) + .setMaxRpcTimeoutDuration(Duration.ofSeconds(60)) + .setRetryDelayMultiplier(1.3) + .setRpcTimeoutMultiplier(1.5) + .setTotalTimeoutDuration(Duration.ofSeconds(300)) + .build()); + WorkloadIdentitySettings workloadIdentitySettings = workloadIdentitySettingsBuilder.build(); + } +} +// [END workloadidentity_v1_generated_WorkloadIdentitySettings_GetLocation_sync] diff --git a/librarian.yaml b/librarian.yaml index 5f2d4495e156..bf59b1aa43c1 100644 --- a/librarian.yaml +++ b/librarian.yaml @@ -57,7 +57,6 @@ libraries: - path: google/cloud/accessapproval/v1 java: api_description_override: enables controlling access to your organization's data by Google personnel. - released_version: 2.96.0 name_pretty_override: Access Approval product_documentation_override: https://cloud.google.com/access-approval/docs/ - name: accesscontextmanager @@ -74,7 +73,6 @@ libraries: java: api_description_override: n/a artifact_id: google-identity-accesscontextmanager - released_version: 1.96.0 name_pretty_override: Identity Access Context Manager product_documentation_override: n/a - name: admanager @@ -86,7 +84,6 @@ libraries: api_description_override: 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. artifact_id: ad-manager client_documentation_override: https://cloud.google.com/java/docs/reference/ad-manager/latest/overview - released_version: 0.54.0 library_type_override: GAPIC_AUTO name_pretty_override: Google Ad Manager API product_documentation_override: https://developers.google.com/ad-manager/api/beta @@ -98,7 +95,6 @@ libraries: omit_common_resources: true java: api_description_override: An API for accessing Advisory Notifications in Google Cloud. - released_version: 0.84.0 name_pretty_override: Advisory Notifications API product_documentation_override: https://cloud.google.com/advisory-notifications/ - name: agentidentity @@ -114,8 +110,6 @@ 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.3.0-SNAPSHOT apis: @@ -123,8 +117,6 @@ libraries: java: additional_protos: - path: google/cloud/location/locations.proto - java: - released_version: 0.2.0 - name: aiplatform version: 3.97.0-SNAPSHOT apis: @@ -153,7 +145,6 @@ libraries: - google-cloud-aiplatform/src/test/java/com/google/iam/v1/MockIAMPolicyImpl.java java: api_description_override: is an integrated suite of machine learning tools and services for building and using ML models with AutoML or custom code. It offers both novices and experts the best workbench for the entire machine learning development lifecycle. - released_version: 3.96.0 name_pretty_override: Vertex AI product_documentation_override: https://cloud.google.com/vertex-ai/docs rest_documentation: https://cloud.google.com/vertex-ai/docs/reference/rest @@ -178,7 +169,6 @@ libraries: - path: google/iam/v1/iam_policy.proto java: api_description_override: AlloyDB is a fully managed, PostgreSQL-compatible database service with industry-leading performance, availability, and scale. - released_version: 0.84.0 name_pretty_override: AlloyDB product_documentation_override: https://cloud.google.com/alloydb/ rest_documentation: https://cloud.google.com/alloydb/docs/reference/rest @@ -209,7 +199,6 @@ libraries: java: api_id_override: connectors.googleapis.com api_description_override: 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. - released_version: 0.73.0 name_pretty_override: AlloyDB connectors product_documentation_override: https://cloud.google.com/alloydb/docs rest_documentation: https://cloud.google.com/alloydb/docs/reference/rest @@ -223,7 +212,6 @@ libraries: api_description_override: allows you to manage Google Analytics accounts and properties. artifact_id: google-analytics-admin codeowner_team: '@googleapis/analytics-dpe' - released_version: 0.105.0 name_pretty_override: Analytics Admin product_documentation_override: https://developers.google.com/analytics - name: analytics-data @@ -236,7 +224,6 @@ libraries: api_description_override: provides programmatic methods to access report data in Google Analytics App+Web properties. artifact_id: google-analytics-data codeowner_team: '@googleapis/analytics-dpe' - released_version: 0.106.0 name_pretty_override: Analytics Data product_documentation_override: https://developers.google.com/analytics/trusted-testing/analytics-data - name: analyticshub @@ -245,7 +232,6 @@ libraries: - path: google/cloud/bigquery/analyticshub/v1 java: api_description_override: TBD - released_version: 0.92.0 name_pretty_override: Analytics Hub API product_documentation_override: https://cloud.google.com/bigquery/TBD - name: api-gateway @@ -255,7 +241,6 @@ libraries: java: api_id_override: apigateway.googleapis.com api_description_override: 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. - released_version: 2.95.0 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 @@ -265,7 +250,6 @@ libraries: - 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. - released_version: 2.95.0 name_pretty_override: Apigee Connect product_documentation_override: https://cloud.google.com/apigee/docs/hybrid/v1.3/apigee-connect/ - name: apihub @@ -279,7 +263,6 @@ libraries: api_id_override: apihub.googleapis.com api_description_override: 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. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-apihub/latest/overview - released_version: 0.48.0 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 @@ -289,7 +272,6 @@ libraries: - path: google/api/apikeys/v2 java: api_description_override: API Keys lets you create and manage your API keys for your projects. - released_version: 0.93.0 name_pretty_override: API Keys API product_documentation_override: https://cloud.google.com/api-keys/ - name: appengine-admin @@ -299,7 +281,6 @@ libraries: java: api_description_override: you to manage your App Engine applications. codeowner_team: '@googleapis/aap-dpes' - released_version: 2.95.0 name_pretty_override: App Engine Admin API product_documentation_override: https://cloud.google.com/appengine/docs/admin-api/ - name: apphub @@ -312,7 +293,6 @@ libraries: - path: google/iam/v1/iam_policy.proto java: api_description_override: App Hub simplifies the process of building, running, and managing applications on Google Cloud. - released_version: 0.59.0 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 @@ -327,7 +307,6 @@ libraries: api_id_override: appoptimize.googleapis.com api_description_override: 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. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-appoptimize/latest/overview - released_version: 0.5.0 library_type_override: GAPIC_AUTO name_pretty_override: App Optimize API product_documentation_override: https://docs.cloud.google.com/app-optimize/overview @@ -339,7 +318,6 @@ libraries: api_description_override: provides programmatic methods to the Area 120 Tables API. artifact_id: google-area120-tables group_id: com.google.area120 - released_version: 0.99.0 name_pretty_override: Area 120 Tables product_documentation_override: https://area120.google.com/ - name: artifact-registry @@ -356,7 +334,6 @@ libraries: java: api_description_override: 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. codeowner_team: '@googleapis/aap-dpes' - released_version: 1.94.0 name_pretty_override: Artifact Registry product_documentation_override: https://cloud.google.com/artifact-registry rest_documentation: https://cloud.google.com/artifact-registry/docs/reference/rest @@ -376,7 +353,6 @@ libraries: api_reference: https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview api_description_override: provides inventory services based on a time series database. This database keeps a five week history of Google Cloud asset metadata. The Cloud Asset Inventory export service allows you to export all asset metadata at a certain timestamp or export event change history during a timeframe. issue_tracker_override: https://issuetracker.google.com/issues/new?component=187210 - released_version: 3.99.0 name_pretty_override: Cloud Asset Inventory product_documentation_override: https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview - name: assured-workloads @@ -386,7 +362,6 @@ libraries: - path: google/cloud/assuredworkloads/v1beta1 java: api_description_override: allows you to secure your government workloads and accelerate your path to running compliant workloads on Google Cloud with Assured Workloads for Government. - released_version: 2.95.0 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 @@ -401,7 +376,6 @@ libraries: api_id_override: auditmanager.googleapis.com api_description_override: Lists information about the supported locations for this service. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-auditmanager/latest/overview - released_version: 0.13.0 library_type_override: GAPIC_AUTO name_pretty_override: Audit Manager API product_documentation_override: https://cloud.google.com/audit-manager/docs @@ -413,7 +387,6 @@ libraries: java: api_description_override: makes the power of machine learning available to you even if you have limited knowledge of machine learning. You can use AutoML to build on Google's machine learning capabilities to create your own custom machine learning models that are tailored to your business needs, and then integrate those models into your applications and web sites. issue_tracker_override: https://issuetracker.google.com/savedsearches/559744 - released_version: 2.95.0 name_pretty_override: Cloud Auto ML product_documentation_override: https://cloud.google.com/automl/docs/ rest_documentation: https://cloud.google.com/automl/docs/reference/rest @@ -431,7 +404,6 @@ libraries: api_id_override: backstory.googleapis.com api_description_override: Common Universal Data Model (UDM) and Entity protos used by Chronicle. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-backstory/latest/overview - released_version: 0.3.0 library_type_override: GAPIC_AUTO name_pretty_override: Malachite Common Protos product_documentation_override: https://cloud.google.com/chronicle/docs/secops/secops-overview @@ -447,7 +419,6 @@ libraries: api_id_override: backupdr.googleapis.com api_description_override: 'Backup and DR Service is a powerful, centralized, cloud-first backup and disaster recovery solution for cloud-based and hybrid workloads. ' client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-backupdr/latest/overview - released_version: 0.54.0 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 @@ -461,7 +432,6 @@ libraries: - path: google/iam/v1/iam_policy.proto java: api_description_override: Bring your Oracle workloads to Google Cloud with Bare Metal Solution and jumpstart your cloud journey with minimal risk. - released_version: 0.95.0 name_pretty_override: Bare Metal Solution product_documentation_override: https://cloud.google.com/bare-metal/docs rest_documentation: https://cloud.google.com/bare-metal/docs/reference/rest @@ -480,7 +450,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: n/a - released_version: 0.95.0 name_pretty_override: Cloud Batch product_documentation_override: https://cloud.google.com/ - name: beyondcorp-appconnections @@ -494,7 +463,6 @@ libraries: java: api_description_override: 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. api_shortname_override: beyondcorp-appconnections - released_version: 0.93.0 name_pretty_override: BeyondCorp AppConnections product_documentation_override: https://cloud.google.com/beyondcorp-enterprise/ - name: beyondcorp-appconnectors @@ -508,7 +476,6 @@ libraries: java: api_description_override: provides methods to manage (create/read/update/delete) BeyondCorp AppConnectors. api_shortname_override: beyondcorp-appconnectors - released_version: 0.93.0 name_pretty_override: BeyondCorp AppConnectors product_documentation_override: cloud.google.com/beyondcorp-enterprise/ - name: beyondcorp-appgateways @@ -523,7 +490,6 @@ libraries: api_id_override: beyondcorp.googleapis.com api_description_override: A zero trust solution that enables secure access to applications and resources, and offers integrated threat and data protection. api_shortname_override: beyondcorp-appgateways - released_version: 0.93.0 name_pretty_override: BeyondCorp AppGateways product_documentation_override: https://cloud.google.com/beyondcorp-enterprise/ - name: beyondcorp-clientconnectorservices @@ -538,7 +504,6 @@ libraries: api_id_override: beyondcorp.googleapis.com api_description_override: A zero trust solution that enables secure access to applications and resources, and offers integrated threat and data protection. api_shortname_override: beyondcorp-clientconnectorservices - released_version: 0.93.0 name_pretty_override: BeyondCorp ClientConnectorServices product_documentation_override: https://cloud.google.com/beyondcorp-enterprise/ - name: beyondcorp-clientgateways @@ -553,7 +518,6 @@ libraries: api_id_override: beyondcorp.googleapis.com api_description_override: A zero trust solution that enables secure access to applications and resources, and offers integrated threat and data protection. api_shortname_override: beyondcorp-clientgateways - released_version: 0.93.0 name_pretty_override: BeyondCorp ClientGateways product_documentation_override: https://cloud.google.com/beyondcorp-enterprise/ - name: biglake @@ -565,7 +529,6 @@ libraries: - path: google/cloud/bigquery/biglake/v1alpha1 java: 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. - released_version: 0.83.0 name_pretty_override: BigLake product_documentation_override: https://cloud.google.com/biglake - name: bigquery-data-exchange @@ -577,7 +540,6 @@ libraries: - path: google/cloud/location/locations.proto java: 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. - released_version: 2.90.0 name_pretty_override: Analytics Hub product_documentation_override: https://cloud.google.com/analytics-hub - name: bigqueryconnection @@ -588,7 +550,6 @@ libraries: java: api_description_override: allows users to manage BigQuery connections to external data sources. client_documentation_override: https://cloud.google.com/bigquery/docs/reference/reservations/rpc/google.cloud.bigquery.reservation.v1beta1 - released_version: 2.97.0 name_pretty_override: Cloud BigQuery Connection product_documentation_override: https://cloud.google.com/bigquery/docs/reference/bigqueryconnection/rest - name: bigquerydatapolicy @@ -600,7 +561,6 @@ libraries: - path: google/cloud/bigquery/datapolicies/v1beta1 java: api_description_override: Allows users to manage BigQuery data policies. - released_version: 0.92.0 name_pretty_override: BigQuery DataPolicy API product_documentation_override: https://cloud.google.com/bigquery/docs/reference/datapolicy/ - name: bigquerydatatransfer @@ -635,7 +595,6 @@ libraries: java: api_description_override: transfers data from partner SaaS applications to Google BigQuery on a scheduled, managed basis. issue_tracker_override: https://issuetracker.google.com/savedsearches/559654 - released_version: 2.95.0 name_pretty_override: BigQuery Data Transfer Service product_documentation_override: https://cloud.google.com/bigquery/transfer/ - name: bigquerymigration @@ -645,7 +604,6 @@ libraries: - path: google/cloud/bigquery/migration/v2alpha java: api_description_override: BigQuery Migration API - released_version: 0.98.0 name_pretty_override: BigQuery Migration product_documentation_override: https://cloud.google.com/bigquery/docs rest_documentation: https://cloud.google.com/bigquery/docs/reference/rest @@ -655,7 +613,6 @@ libraries: - path: google/cloud/bigquery/reservation/v1 java: api_description_override: allows users to manage their flat-rate BigQuery reservations. - released_version: 2.96.0 name_pretty_override: Cloud BigQuery Reservation product_documentation_override: https://cloud.google.com/bigquery/docs/reference/reservations/rpc - name: bigquerystorage @@ -783,7 +740,6 @@ libraries: client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-bigquerystorage/latest/history codeowner_team: '@googleapis/bigquery-team' issue_tracker_override: https://issuetracker.google.com/savedsearches/559654 - released_version: 3.31.0 library_type_override: GAPIC_COMBO name_pretty_override: BigQuery Storage product_documentation_override: https://cloud.google.com/bigquery/docs/reference/storage/ @@ -880,7 +836,6 @@ libraries: - google-cloud-bigtable-bom extra_versioned_modules: google-cloud-bigtable-emulator,google-cloud-bigtable-emulator-core issue_tracker_override: https://issuetracker.google.com/savedsearches/559777 - released_version: 2.81.0 library_type_override: GAPIC_COMBO name_pretty_override: Cloud Bigtable product_documentation_override: https://cloud.google.com/bigtable @@ -896,7 +851,6 @@ libraries: java: api_description_override: allows developers to manage their billing accounts or browse the catalog of SKUs and pricing. issue_tracker_override: https://issuetracker.google.com/savedsearches/559770 - released_version: 2.95.0 name_pretty_override: Cloud Billing product_documentation_override: https://cloud.google.com/billing/docs rest_documentation: https://cloud.google.com/billing/docs/reference/rest @@ -908,7 +862,6 @@ libraries: - path: google/cloud/billing/budgets/v1beta1 java: api_description_override: allows you to avoid surprises on your bill by creating budgets to monitor all your Google Cloud charges in one place. - released_version: 2.95.0 name_pretty_override: Cloud Billing Budgets product_documentation_override: https://cloud.google.com/billing/docs/how-to/budgets - name: binary-authorization @@ -920,7 +873,6 @@ libraries: api_id_override: binaryauthorization.googleapis.com api_description_override: ' 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' codeowner_team: '@googleapis/aap-dpes' - released_version: 1.94.0 name_pretty_override: Binary Authorization product_documentation_override: https://cloud.google.com/binary-authorization/docs rest_documentation: https://cloud.google.com/binary-authorization/docs/reference/rest @@ -933,7 +885,6 @@ libraries: api_id_override: capacityplanner.googleapis.com api_description_override: Provides programmatic access to Capacity Planner features. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-capacityplanner/latest/overview - released_version: 0.18.0 library_type_override: GAPIC_AUTO name_pretty_override: Capacity Planner API product_documentation_override: https://cloud.google.com/capacity-planner/docs @@ -947,7 +898,6 @@ libraries: java: api_id_override: certificatemanager.googleapis.com api_description_override: lets you acquire and manage TLS (SSL) certificates for use with Cloud Load Balancing. - released_version: 0.98.0 name_pretty_override: Certificate Manager product_documentation_override: https://cloud.google.com/certificate-manager/docs - name: ces @@ -965,7 +915,6 @@ libraries: api_id_override: ces.googleapis.com api_description_override: Customer Experience Agent Studio (CX Agent Studio) is a minimal code conversational agent builder. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-ces/latest/overview - released_version: 0.11.0 library_type_override: GAPIC_AUTO name_pretty_override: Gemini Enterprise for Customer Experience API product_documentation_override: https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps @@ -976,7 +925,6 @@ libraries: - path: google/cloud/channel/v1 java: api_description_override: 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. - released_version: 3.99.0 name_pretty_override: Channel Services product_documentation_override: https://cloud.google.com/channel/docs rest_documentation: https://cloud.google.com/channel/docs/reference/rest @@ -987,7 +935,6 @@ libraries: - path: google/chat/v1 java: api_description_override: 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. - released_version: 0.59.0 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 @@ -999,7 +946,6 @@ libraries: api_id_override: chronicle.googleapis.com api_description_override: 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 client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-chronicle/latest/overview - released_version: 0.33.0 library_type_override: GAPIC_AUTO name_pretty_override: Chronicle API product_documentation_override: https://cloud.google.com/chronicle/docs/secops/secops-overview @@ -1018,7 +964,6 @@ libraries: api_id_override: cloudapiregistry.googleapis.com api_description_override: 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. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-cloudapiregistry/latest/overview - released_version: 0.14.0 library_type_override: GAPIC_AUTO name_pretty_override: Cloud API Registry API product_documentation_override: https://docs.cloud.google.com/api-registry/docs/overview @@ -1036,7 +981,6 @@ libraries: artifact_id: google-cloud-build codeowner_team: '@googleapis/aap-dpes' issue_tracker_override: https://issuetracker.google.com/savedsearches/5226584 - released_version: 3.97.0 name_pretty_override: Cloud Build product_documentation_override: https://cloud.google.com/cloud-build/ - name: cloudcommerceconsumerprocurement @@ -1046,7 +990,6 @@ libraries: - path: google/cloud/commerce/consumer/procurement/v1alpha1 java: 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. - released_version: 0.93.0 name_pretty_override: Cloud Commerce Consumer Procurement product_documentation_override: https://cloud.google.com/marketplace/ - name: cloudcontrolspartner @@ -1056,7 +999,6 @@ libraries: - path: google/cloud/cloudcontrolspartner/v1beta java: api_description_override: Provides insights about your customers and their Assured Workloads based on your Sovereign Controls by Partners offering. - released_version: 0.59.0 name_pretty_override: Cloud Controls Partner API product_documentation_override: https://cloud.google.com/sovereign-controls-by-partners/docs/sovereign-partners - name: cloudquotas @@ -1073,7 +1015,6 @@ libraries: Cloud Quotas API provides GCP service consumers with management and observability for resource usage, quotas, and restrictions of the services they consume. - released_version: 0.63.0 name_pretty_override: Cloud Quotas API product_documentation_override: https://cloud.google.com/cloudquotas/docs/ - name: cloudsecuritycompliance @@ -1087,7 +1028,6 @@ libraries: api_id_override: cloudsecuritycompliance.googleapis.com api_description_override: Compliance Manager uses software-defined controls that let you assess support for multiple compliance programs and security requirements within a Google Cloud organization client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-cloudsecuritycompliance/latest/overview - released_version: 0.22.0 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 @@ -1098,7 +1038,6 @@ libraries: - path: google/cloud/support/v2beta java: api_description_override: Manages Google Cloud technical support cases for Customer Care support offerings. - released_version: 0.79.0 name_pretty_override: Google Cloud Support API product_documentation_override: https://cloud.google.com/support/docs/reference/support-api/ - name: commerceproducer @@ -1108,8 +1047,6 @@ libraries: java: additional_protos: - path: google/cloud/location/locations.proto - java: - released_version: 0.1.0 - name: common-protos version: 2.75.0-SNAPSHOT apis: @@ -1217,7 +1154,6 @@ libraries: - proto-google-common-protos-bom - proto-google-common-protos group_id: com.google.api.grpc - released_version: 2.74.0 library_type_override: OTHER name_pretty_override: Common Protos product_documentation_override: https://github.com/googleapis/api-common-protos @@ -1240,7 +1176,6 @@ libraries: api_description_override: 'delivers virtual machines running in Google''s innovative data centers and worldwide fiber network. Compute Engine''s tooling and workflow support enable scaling from single instances to global, load-balanced cloud computing. Compute Engine''s VMs boot quickly, come with persistent disk storage, deliver consistent performance and are available in many configurations. ' excluded_poms: - grpc-google-cloud-compute-v1 - released_version: 1.105.0 name_pretty_override: Compute Engine product_documentation_override: https://cloud.google.com/compute/ - name: confidentialcomputing @@ -1256,7 +1191,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: Protect data in-use with Confidential VMs, Confidential GKE, Confidential Dataproc, and Confidential Space. - released_version: 0.81.0 name_pretty_override: Confidential Computing API product_documentation_override: https://cloud.google.com/confidential-computing/ - name: configdelivery @@ -1274,7 +1208,6 @@ libraries: api_id_override: configdelivery.googleapis.com api_description_override: ConfigDelivery service manages the deployment of kubernetes configuration to a fleet of kubernetes clusters. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-configdelivery/latest/overview - released_version: 0.29.0 library_type_override: GAPIC_AUTO name_pretty_override: Config Delivery API product_documentation_override: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/concepts/fleet-packages @@ -1287,7 +1220,6 @@ libraries: api_id_override: connectgateway.googleapis.com api_description_override: The Connect Gateway service allows connectivity from external parties to connected Kubernetes clusters. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-connectgateway/latest/overview - released_version: 0.47.0 library_type_override: GAPIC_AUTO name_pretty_override: Connect Gateway API product_documentation_override: https://cloud.google.com/kubernetes-engine/enterprise/multicluster-management/gateway @@ -1298,7 +1230,6 @@ libraries: java: api_description_override: ' helps users detect and visualize patterns in their contact center data.' codeowner_team: '@googleapis/api-contact-center-insights' - released_version: 2.95.0 name_pretty_override: CCAI Insights product_documentation_override: https://cloud.google.com/dialogflow/priv/docs/insights/ - name: container @@ -1313,7 +1244,6 @@ libraries: api_description_override: is an enterprise-grade platform for containerized applications, including stateful and stateless, AI and ML, Linux and Windows, complex and simple web apps, API, and backend services. Leverage industry-first features like four-way auto-scaling and no-stress management. Optimize GPU and TPU provisioning, use integrated developer tools, and get multi-cluster support from SREs. codeowner_team: '@googleapis/cloud-sdk-java-team' issue_tracker_override: https://issuetracker.google.com/savedsearches/559777 - released_version: 2.98.0 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 @@ -1354,7 +1284,6 @@ libraries: api_description_override: is a service that provides vulnerability scanning and metadata storage for software artifacts. The service performs vulnerability scans on built software artifacts, such as the images in Container Registry, then stores the resulting metadata and makes it available for consumption through an API. The metadata may come from several sources, including vulnerability scanning, other Cloud services, and third-party providers. codeowner_team: '@googleapis/aap-dpes' issue_tracker_override: https://issuetracker.google.com/savedsearches/559777 - released_version: 2.96.0 name_pretty_override: Cloud Container Analysis product_documentation_override: https://cloud.google.com/container-registry/docs/container-analysis - name: contentwarehouse @@ -1363,7 +1292,6 @@ libraries: - 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. - released_version: 0.91.0 name_pretty_override: Document AI Warehouse product_documentation_override: https://cloud.google.com/document-warehouse/docs/overview - name: data-fusion @@ -1373,7 +1301,6 @@ libraries: - path: google/cloud/datafusion/v1beta1 java: api_description_override: is a fully managed, cloud-native, enterprise data integration service for quickly building and managing data pipelines. - released_version: 1.95.0 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 @@ -1385,7 +1312,6 @@ libraries: api_id_override: databasecenter.googleapis.com api_description_override: 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. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-databasecenter/latest/overview - released_version: 0.16.0 library_type_override: GAPIC_AUTO name_pretty_override: Database Center API product_documentation_override: https://cloud.google.com/database-center/docs/overview @@ -1404,7 +1330,6 @@ libraries: - proto-google-cloud-datacatalog-v1beta1/src/main/java/com/google/cloud/datacatalog/v1beta1/FieldName.java java: api_description_override: is a fully managed and highly scalable data discovery and metadata management service. - released_version: 1.101.0 name_pretty_override: Data Catalog product_documentation_override: https://cloud.google.com/data-catalog - name: dataflow @@ -1413,7 +1338,6 @@ libraries: - path: google/dataflow/v1beta3 java: api_description_override: is a managed service for executing a wide variety of data processing patterns. - released_version: 0.99.0 name_pretty_override: Dataflow product_documentation_override: https://cloud.google.com/dataflow/docs rest_documentation: https://cloud.google.com/dataflow/docs/reference/rest @@ -1433,7 +1357,6 @@ libraries: - path: google/iam/v1/iam_policy.proto java: api_description_override: Help analytics teams manage data inside BigQuery using SQL. - released_version: 0.94.0 name_pretty_override: Cloud Dataform product_documentation_override: https://cloud.google.com/dataform/docs - name: datalabeling @@ -1444,7 +1367,6 @@ libraries: - google-cloud-datalabeling/src/test/java/com/google/cloud/datalabeling/it/ITSystemTest.java java: api_description_override: is a service that lets you work with human labelers to generate highly accurate labels for a collection of data that you can use to train your machine learning models. - released_version: 0.215.0 name_pretty_override: Data Labeling 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 @@ -1456,7 +1378,6 @@ libraries: - path: google/cloud/datacatalog/lineage/configmanagement/v1 java: api_description_override: Lineage is used to track data flows between assets over time. - released_version: 0.87.0 name_pretty_override: Data Lineage product_documentation_override: https://cloud.google.com/dataplex/docs/about-data-lineage - name: datamanager @@ -1468,7 +1389,6 @@ libraries: api_description_override: A unified ingestion API for data partners, agencies and advertisers to connect first-party data across Google advertising products. artifact_id: data-manager client_documentation_override: https://cloud.google.com/java/docs/reference/data-manager/latest/overview - released_version: 0.16.0 library_type_override: GAPIC_AUTO name_pretty_override: Data Manager API product_documentation_override: https://developers.google.com/data-manager @@ -1483,7 +1403,6 @@ libraries: - path: google/iam/v1/iam_policy.proto java: api_description_override: 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. - released_version: 1.93.0 name_pretty_override: Cloud Dataplex product_documentation_override: https://cloud.google.com/dataplex rest_documentation: https://cloud.google.com/dataplex/docs/reference/rest @@ -1499,7 +1418,6 @@ libraries: api_description_override: is a faster, easier, more cost-effective way to run Apache Spark and Apache Hadoop. codeowner_team: '@googleapis/api-dataproc' issue_tracker_override: https://issuetracker.google.com/savedsearches/559745 - released_version: 4.92.0 name_pretty_override: Dataproc product_documentation_override: https://cloud.google.com/dataproc rest_documentation: https://cloud.google.com/dataproc/docs/reference/rest @@ -1524,7 +1442,6 @@ libraries: - path: google/iam/v1/iam_policy.proto java: api_description_override: 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. - released_version: 2.96.0 name_pretty_override: Dataproc Metastore product_documentation_override: https://cloud.google.com/dataproc-metastore/docs rest_documentation: https://cloud.google.com/dataproc-metastore/docs/reference/rest @@ -1548,7 +1465,6 @@ libraries: - grpc-google-cloud-datastore-v1 extra_versioned_modules: datastore-v1-proto-client issue_tracker_override: https://issuetracker.google.com/savedsearches/559768 - released_version: 3.3.0 library_type_override: GAPIC_COMBO name_pretty_override: Cloud Datastore product_documentation_override: https://cloud.google.com/datastore @@ -1564,7 +1480,6 @@ libraries: - path: google/cloud/datastream/v1alpha1 java: api_description_override: 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. - released_version: 1.94.0 name_pretty_override: Datastream product_documentation_override: https://cloud.google.com/datastream/docs rest_documentation: https://cloud.google.com/datastream/docs/reference/rest @@ -1579,7 +1494,6 @@ libraries: java: api_description_override: is a service that automates delivery of your applications to a series of target environments in a defined sequence codeowner_team: '@googleapis/aap-dpes' - released_version: 1.93.0 name_pretty_override: Google Cloud Deploy product_documentation_override: https://cloud.google.com/deploy/docs - name: developerconnect @@ -1593,7 +1507,6 @@ libraries: api_id_override: developerconnect.googleapis.com api_description_override: Connect third-party source code management to Google client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-developerconnect/latest/overview - released_version: 0.52.0 library_type_override: GAPIC_AUTO name_pretty_override: Developer Connect API product_documentation_override: https://cloud.google.com/developer-connect/docs/overview @@ -1606,7 +1519,6 @@ libraries: api_description_override: The Developer Knowledge API provides access to Google's developer knowledge artifact_id: google-cloud-developer-knowledge client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-developer-knowledge/latest/overview - released_version: 0.3.0 library_type_override: GAPIC_AUTO name_pretty_override: Developer Knowledge API product_documentation_override: https://developers.google.com/knowledge @@ -1618,7 +1530,6 @@ libraries: api_id_override: devicestreaming.googleapis.com api_description_override: The Cloud API for device streaming usage. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-devicestreaming/latest/overview - released_version: 0.35.0 library_type_override: GAPIC_AUTO name_pretty_override: Device Streaming API product_documentation_override: https://cloud.google.com/device-streaming/docs @@ -1694,7 +1605,6 @@ libraries: java: api_description_override: is an end-to-end, build-once deploy-everywhere development suite for creating conversational interfaces for websites, mobile applications, popular messaging platforms, and IoT devices. You can use it to build interfaces (such as chatbots and conversational IVR) that enable natural and rich interactions between your users and your business. Dialogflow Enterprise Edition users have access to Google Cloud Support and a service level agreement (SLA) for production deployments. issue_tracker_override: https://issuetracker.google.com/savedsearches/5300385 - released_version: 4.101.0 name_pretty_override: Dialogflow API product_documentation_override: https://cloud.google.com/dialogflow-enterprise/ - name: dialogflow-cx @@ -1711,7 +1621,6 @@ libraries: java: api_description_override: 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. api_shortname_override: dialogflow-cx - released_version: 0.106.0 name_pretty_override: Dialogflow CX product_documentation_override: https://cloud.google.com/dialogflow/cx/docs rest_documentation: https://cloud.google.com/dialogflow/cx/docs/reference/rest @@ -1733,7 +1642,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: A Cloud API that offers search and recommendation discoverability for documents from different industry verticals (e.g. media, retail, etc.). - released_version: 0.91.0 name_pretty_override: Discovery Engine API product_documentation_override: https://cloud.google.com/discovery-engine/media/docs - name: distributedcloudedge @@ -1747,7 +1655,6 @@ libraries: api_id_override: edgecontainer.googleapis.com api_description_override: 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. api_shortname_override: distributedcloudedge - released_version: 0.92.0 name_pretty_override: Google Distributed Cloud Edge product_documentation_override: https://cloud.google.com/distributed-cloud/edge/latest/ - name: dlp @@ -1792,7 +1699,6 @@ libraries: java: api_description_override: provides programmatic access to a powerful detection engine for personally identifiable information and other privacy-sensitive data in unstructured data streams, like text blocks and images. issue_tracker_override: https://issuetracker.google.com/savedsearches/5548083 - released_version: 3.99.0 name_pretty_override: Cloud Data Loss Prevention product_documentation_override: https://cloud.google.com/dlp/docs/ rest_documentation: https://cloud.google.com/dlp/docs/reference/rest @@ -1804,7 +1710,6 @@ libraries: java: api_id_override: datamigration.googleapis.com api_description_override: 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. - released_version: 2.94.0 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 @@ -1822,7 +1727,6 @@ libraries: java: api_description_override: allows developers to unlock insights from your documents with machine learning. issue_tracker_override: https://issuetracker.google.com/savedsearches/559755 - released_version: 2.99.0 name_pretty_override: Document AI product_documentation_override: https://cloud.google.com/compute/docs/documentai/ - name: domains @@ -1833,7 +1737,6 @@ libraries: - path: google/cloud/domains/v1alpha2 java: api_description_override: allows you to register and manage domains by using Cloud Domains. - released_version: 1.92.0 name_pretty_override: Cloud Domains product_documentation_override: https://cloud.google.com/domains - name: edgenetwork @@ -1845,7 +1748,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: Network management API for Distributed Cloud Edge. - released_version: 0.63.0 name_pretty_override: Distributed Cloud Edge Network API product_documentation_override: https://cloud.google.com/distributed-cloud/edge/latest/docs/overview - name: enterpriseknowledgegraph @@ -1854,7 +1756,6 @@ libraries: - 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. - released_version: 0.91.0 name_pretty_override: Enterprise Knowledge Graph product_documentation_override: https://cloud.google.com/enterprise-knowledge-graph/docs/overview - name: errorreporting @@ -1908,7 +1809,6 @@ libraries: java: api_description_override: 'counts, analyzes, and aggregates the crashes in your running cloud services. A centralized error management interface displays the results with sorting and filtering capabilities. A dedicated view shows the error details: time chart, occurrences, affected user count, first- and last-seen dates and a cleaned exception stack trace. Opt in to receive email and mobile alerts on new errors.' issue_tracker_override: https://issuetracker.google.com/savedsearches/559780 - released_version: 0.216.0-beta name_pretty_override: Error Reporting product_documentation_override: https://cloud.google.com/error-reporting billing_not_required: true @@ -1918,7 +1818,6 @@ libraries: - 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. - released_version: 2.95.0 name_pretty_override: Essential Contacts API product_documentation_override: https://cloud.google.com/resource-manager/docs/managing-notification-contacts/ - name: eventarc @@ -1932,7 +1831,6 @@ libraries: java: api_description_override: lets you asynchronously deliver events from Google services, SaaS, and your own apps using loosely coupled services that react to state changes. Eventarc requires no infrastructure management, you can optimize productivity and costs while building a modern, event-driven solution. codeowner_team: '@googleapis/aap-dpes' - released_version: 1.95.0 name_pretty_override: Eventarc product_documentation_override: https://cloud.google.com/eventarc/docs rest_documentation: https://cloud.google.com/eventarc/docs/reference/rest @@ -1944,7 +1842,6 @@ libraries: java: api_id_override: eventarc-publishing.googleapis.com api_description_override: lets you asynchronously deliver events from Google services, SaaS, and your own apps using loosely coupled services that react to state changes. - released_version: 0.95.0 name_pretty_override: Eventarc Publishing product_documentation_override: https://cloud.google.com/eventarc/docs rest_documentation: https://cloud.google.com/eventarc/docs/reference/rest @@ -1964,7 +1861,6 @@ libraries: generate_proto_classes: true java: api_description_override: 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. - released_version: 1.96.0 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 @@ -1979,7 +1875,6 @@ libraries: api_id_override: financialservices.googleapis.com api_description_override: 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. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-financialservices/latest/overview - released_version: 0.36.0 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 @@ -2043,7 +1938,6 @@ libraries: - google-cloud-firestore - google-cloud-firestore-bom issue_tracker_override: https://issuetracker.google.com/savedsearches/5337669 - released_version: 3.45.0 library_type_override: GAPIC_COMBO name_pretty_override: Cloud Firestore product_documentation_override: https://cloud.google.com/firestore @@ -2076,7 +1970,6 @@ libraries: java: api_description_override: is a scalable pay as you go Functions-as-a-Service (FaaS) to run your code with zero server management. codeowner_team: '@googleapis/aap-dpes' - released_version: 2.97.0 name_pretty_override: Cloud Functions product_documentation_override: https://cloud.google.com/functions rest_documentation: https://cloud.google.com/functions/docs/reference/rest @@ -2092,7 +1985,6 @@ libraries: api_id_override: gdchardwaremanagement.googleapis.com api_description_override: 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. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-gdchardwaremanagement/latest/overview - released_version: 0.50.0 library_type_override: GAPIC_AUTO name_pretty_override: GDC Hardware Management API product_documentation_override: https://cloud.google.com/distributed-cloud/edge/latest/docs @@ -2112,7 +2004,6 @@ libraries: api_id_override: geminidataanalytics.googleapis.com api_description_override: 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. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-geminidataanalytics/latest/overview - released_version: 0.23.0 library_type_override: GAPIC_AUTO name_pretty_override: Data Analytics API with Gemini product_documentation_override: https://cloud.google.com/gemini/docs/conversational-analytics-api/overview @@ -2129,7 +2020,6 @@ libraries: api_id_override: gkebackup.googleapis.com api_description_override: is a service for backing up and restoring workloads in GKE. api_shortname_override: gke-backup - released_version: 0.94.0 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 ' - name: gke-connect-gateway @@ -2138,7 +2028,6 @@ libraries: - 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. - released_version: 0.96.0 name_pretty_override: Connect Gateway API product_documentation_override: https://cloud.google.com/anthos/multicluster-management/gateway/ - name: gke-multi-cloud @@ -2149,7 +2038,6 @@ libraries: api_id_override: gkemulticloud.googleapis.com api_description_override: enables you to provision and manage GKE clusters running on AWS and Azure infrastructure through a centralized Google Cloud backed control plane. api_shortname_override: gke-multi-cloud - released_version: 0.94.0 name_pretty_override: Anthos Multicloud product_documentation_override: https://cloud.google.com/anthos/clusters/docs/multi-cloud - name: gkehub @@ -2181,7 +2069,6 @@ libraries: samples: false java: 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. - released_version: 1.95.0 name_pretty_override: GKE Hub API product_documentation_override: https://cloud.google.com/anthos/gke/docs/ - name: gkerecommender @@ -2192,20 +2079,15 @@ libraries: api_id_override: gkerecommender.googleapis.com api_description_override: lets you analyze the performance and cost-efficiency of your inference workloads, and make data-driven decisions about resource allocation and model deployment strategies. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-gkerecommender/latest/overview - released_version: 0.15.0 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 - name: google-cloud-java version: 1.90.0-SNAPSHOT skip_generate: true - java: - released_version: 1.89.0 - name: google-cloud-pom-parent version: 1.90.0-SNAPSHOT skip_generate: true - java: - released_version: 1.89.0 - name: grafeas version: 2.97.0-SNAPSHOT apis: @@ -2231,7 +2113,6 @@ libraries: client_documentation_override: https://cloud.google.com/java/docs/reference/grafeas/latest/overview codeowner_team: '@googleapis/aap-dpes' group_id: io.grafeas - released_version: 2.96.0 name_pretty_override: Grafeas product_documentation_override: https://grafeas.io skip_pom_updates: true @@ -2289,7 +2170,6 @@ libraries: samples: false java: api_description_override: are customized applications that integrate with Google Workspace productivity applications. - released_version: 2.95.0 name_pretty_override: Google Workspace Add-ons API product_documentation_override: https://developers.google.com/workspace/add-ons/overview - name: health @@ -2300,7 +2180,6 @@ libraries: api_id_override: health.googleapis.com api_description_override: The Google Health API lets you view and manage health and fitness metrics and measurement data. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-health/latest/overview - released_version: 0.4.0 library_type_override: GAPIC_AUTO name_pretty_override: Google Health API product_documentation_override: https://developers.google.com/health/api @@ -2320,7 +2199,6 @@ libraries: api_id_override: hypercomputecluster.googleapis.com api_description_override: simplifies cluster management across compute, network, and storage client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-hypercomputecluster/latest/overview - released_version: 0.15.0 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 @@ -2374,7 +2252,6 @@ libraries: - google-iam-policy - proto-google-iam-v1 group_id: com.google.api.grpc - released_version: 1.69.0 library_type_override: OTHER name_pretty_override: IAM product_documentation_override: https://cloud.google.com/iam @@ -2388,7 +2265,6 @@ libraries: api_description_override: you to manage your Service Accounts and IAM bindings. api_shortname_override: iam-admin artifact_id: google-iam-admin - released_version: 3.90.0 name_pretty_override: IAM Admin API product_documentation_override: https://cloud.google.com/iam/docs/apis - name: iam-policy @@ -2432,7 +2308,6 @@ libraries: - proto-google-iam-v1-bom - google-iam-policy - proto-google-iam-v1 - released_version: 1.92.0 name_pretty_override: Cloud IAM Policy product_documentation_override: n/a - name: iamcredentials @@ -2442,7 +2317,6 @@ libraries: java: api_description_override: creates short-lived, limited-privilege credentials for IAM service accounts. issue_tracker_override: https://issuetracker.google.com/issues/new?component=187161 - released_version: 2.95.0 name_pretty_override: IAM Service Account Credentials API product_documentation_override: https://cloud.google.com/iam/credentials/reference/rest/ billing_not_required: true @@ -2454,7 +2328,6 @@ libraries: api_id_override: iap.googleapis.com api_description_override: Controls access to cloud applications running on Google Cloud Platform. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-iap/latest/overview - released_version: 0.51.0 library_type_override: GAPIC_AUTO name_pretty_override: Cloud Identity-Aware Proxy API product_documentation_override: https://cloud.google.com/iap @@ -2464,7 +2337,6 @@ libraries: - 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.' - released_version: 1.94.0 name_pretty_override: Intrusion Detection System product_documentation_override: https://cloud.google.com/intrusion-detection-system/docs - name: infra-manager @@ -2478,7 +2350,6 @@ libraries: java: api_id_override: config.googleapis.com api_description_override: Creates and manages Google Cloud Platform resources and infrastructure. - released_version: 0.72.0 name_pretty_override: Infrastructure Manager API product_documentation_override: https://cloud.google.com/infrastructure-manager/docs/overview - name: iot @@ -2488,7 +2359,6 @@ libraries: java: api_description_override: is a complete set of tools to connect, process, store, and analyze data both at the edge and in the cloud. The platform consists of scalable, fully-managed cloud services; an integrated software stack for edge/on-premises computing with machine learning capabilities for all your IoT needs. issue_tracker_override: https://issuetracker.google.com/issues?q=status:open%20componentid:310170 - released_version: 2.95.0 name_pretty_override: Cloud Internet of Things (IoT) Core product_documentation_override: https://cloud.google.com/iot - name: java-shopping-merchant-issue-resolution @@ -2501,7 +2371,6 @@ libraries: api_description_override: Programatically manage your Merchant Issues artifact_id: google-shopping-merchant-issue-resolution client_documentation_override: https://cloud.google.com/java/docs/reference/google-shopping-merchant-issue-resolution/latest/overview - released_version: 1.23.0 library_type_override: GAPIC_AUTO name_pretty_override: Merchant Issue Resolution API product_documentation_override: https://developers.google.com/merchant/api @@ -2515,7 +2384,6 @@ libraries: api_description_override: Programmatically manage your Merchant Center Accounts artifact_id: google-shopping-merchant-order-tracking client_documentation_override: https://cloud.google.com/java/docs/reference/google-shopping-merchant-order-tracking/latest/overview - released_version: 1.23.0 library_type_override: GAPIC_AUTO name_pretty_override: Merchant Order Tracking API product_documentation_override: https://developers.google.com/merchant/api @@ -2742,7 +2610,6 @@ libraries: java: api_description_override: a cloud-hosted key management service that lets you manage cryptographic keys for your cloud services the same way you do on-premises. You can generate, use, rotate, and destroy AES256, RSA 2048, RSA 3072, RSA 4096, EC P256, and EC P384 cryptographic keys. Cloud KMS is integrated with Cloud IAM and Cloud Audit Logging so that you can manage permissions on individual keys and monitor how these are used. Use Cloud KMS to protect secrets and other sensitive data that you need to store in Google Cloud Platform. issue_tracker_override: https://issuetracker.google.com/savedsearches/5264932 - released_version: 2.98.0 name_pretty_override: Cloud Key Management Service product_documentation_override: https://cloud.google.com/kms - name: kmsinventory @@ -2751,7 +2618,6 @@ libraries: - path: google/cloud/kms/inventory/v1 java: api_description_override: KMS Inventory API. - released_version: 0.84.0 name_pretty_override: KMS Inventory API product_documentation_override: https://cloud.google.com/kms/docs/ rest_documentation: https://cloud.google.com/kms/docs/reference/rest @@ -2765,7 +2631,6 @@ libraries: java: api_description_override: provides natural language understanding technologies to developers, including sentiment analysis, entity analysis, entity sentiment analysis, content classification, and syntax analysis. This API is part of the larger Cloud Machine Learning API family. issue_tracker_override: https://issuetracker.google.com/savedsearches/559753 - released_version: 2.96.0 name_pretty_override: Natural Language product_documentation_override: https://cloud.google.com/natural-language/docs/ rest_documentation: https://cloud.google.com/natural-language/docs/reference/rest @@ -2781,7 +2646,6 @@ libraries: api_id_override: licensemanager.googleapis.com api_description_override: License Manager is a tool to manage and track third-party licenses on Google Cloud. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-licensemanager/latest/overview - released_version: 0.28.0 library_type_override: GAPIC_AUTO name_pretty_override: License Manager API product_documentation_override: https://cloud.google.com/compute/docs/instances/windows/ms-licensing @@ -2794,7 +2658,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: is a suite of services and tools for managing, processing, and transforming life sciences data. - released_version: 0.97.0 name_pretty_override: Cloud Life Sciences product_documentation_override: https://cloud.google.com/life-sciences/docs rest_documentation: https://cloud.google.com/life-sciences/docs/reference/rest @@ -2807,7 +2670,6 @@ libraries: api_id_override: locationfinder.googleapis.com api_description_override: 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. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-locationfinder/latest/overview - released_version: 0.20.0 library_type_override: GAPIC_AUTO name_pretty_override: Cloud Location Finder API product_documentation_override: https://cloud.google.com/location-finder/docs/overview @@ -2971,7 +2833,6 @@ libraries: client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-logging/latest/history codeowner_team: '@googleapis/cloud-sdk-java-team' issue_tracker_override: https://issuetracker.google.com/savedsearches/559764 - released_version: 3.36.0 library_type_override: GAPIC_COMBO name_pretty_override: Cloud Logging product_documentation_override: https://cloud.google.com/logging/docs @@ -2988,7 +2849,6 @@ libraries: api_id_override: lustre.googleapis.com api_description_override: Google Cloud Managed Lustre delivers a high-performance, fully managed parallel file system optimized for AI and HPC applications. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-lustre/latest/overview - released_version: 0.35.0 library_type_override: GAPIC_AUTO name_pretty_override: Google Cloud Managed Lustre API product_documentation_override: https://cloud.google.com/managed-lustre/docs @@ -3007,7 +2867,6 @@ libraries: api_id_override: maintenance.googleapis.com api_description_override: The Maintenance API provides a centralized view of planned disruptive maintenance events across supported Google Cloud products. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-maintenance/latest/overview - released_version: 0.29.0 library_type_override: GAPIC_AUTO name_pretty_override: Maintenance API product_documentation_override: https://cloud.google.com/unified-maintenance/docs/overview @@ -3019,7 +2878,6 @@ libraries: java: api_id_override: managedidentities.googleapis.com 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. - released_version: 1.93.0 name_pretty_override: Managed Service for Microsoft Active Directory product_documentation_override: https://cloud.google.com/managed-microsoft-ad/ - name: managedkafka @@ -3033,7 +2891,6 @@ libraries: api_id_override: managedkafka.googleapis.com api_description_override: Manage Apache Kafka clusters and resources. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-managedkafka/latest/overview - released_version: 0.51.0 library_type_override: GAPIC_AUTO name_pretty_override: Managed Service for Apache Kafka product_documentation_override: https://cloud.google.com/managed-kafka @@ -3046,7 +2903,6 @@ libraries: api_description_override: 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. api_shortname_override: maps-addressvalidation artifact_id: google-maps-addressvalidation - released_version: 0.89.0 name_pretty_override: Address Validation API product_documentation_override: https://developers.google.com/maps/documentation/address-validation/ - name: maps-area-insights @@ -3059,7 +2915,6 @@ libraries: api_shortname_override: maps-area-insights artifact_id: google-maps-area-insights client_documentation_override: https://cloud.google.com/java/docs/reference/google-maps-area-insights/latest/overview - released_version: 0.46.0 library_type_override: GAPIC_AUTO name_pretty_override: Places Insights API product_documentation_override: https://developers.google.com/maps/documentation/places-insights @@ -3073,7 +2928,6 @@ libraries: api_shortname_override: maps-fleetengine artifact_id: google-maps-fleetengine client_documentation_override: https://cloud.google.com/java/docs/reference/google-maps-fleetengine/latest/overview - released_version: 0.42.0 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 @@ -3087,7 +2941,6 @@ libraries: api_shortname_override: maps-fleetengine-delivery artifact_id: google-maps-fleetengine-delivery client_documentation_override: https://cloud.google.com/java/docs/reference/google-maps-fleetengine-delivery/latest/overview - released_version: 0.42.0 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 @@ -3100,7 +2953,6 @@ libraries: api_description_override: The Geocoding API is a service that accepts a place as an address, latitude and longitude coordinates, or Place ID. artifact_id: google-maps-geocode client_documentation_override: https://cloud.google.com/java/docs/reference/google-maps-geocode/latest/overview - released_version: 0.7.0 library_type_override: GAPIC_AUTO name_pretty_override: Geocoding API product_documentation_override: https://developers.google.com/maps/documentation/geocoding/overview @@ -3111,7 +2963,6 @@ libraries: java: artifact_id: google-maps-isochrones group_id: com.google.maps - released_version: 0.1.0 - name: maps-mapmanagement version: 0.5.0-SNAPSHOT apis: @@ -3121,7 +2972,6 @@ libraries: api_description_override: 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. artifact_id: google-maps-mapmanagement client_documentation_override: https://cloud.google.com/java/docs/reference/google-maps-mapmanagement/latest/overview - released_version: 0.4.0 library_type_override: GAPIC_AUTO name_pretty_override: Map Management API product_documentation_override: https://developers.google.com/maps/documentation/mapmanagement/overview @@ -3136,7 +2986,6 @@ libraries: that they can use to enrich their experience of Maps Platform solutions (e.g. styling, routing). api_shortname_override: maps-mapsplatformdatasets artifact_id: google-maps-mapsplatformdatasets - released_version: 0.84.0 name_pretty_override: Maps Platform Datasets API product_documentation_override: https://developers.google.com/maps/documentation - name: maps-navconnect @@ -3146,7 +2995,6 @@ libraries: java: artifact_id: google-maps-navconnect group_id: com.google.maps - released_version: 0.1.0 - name: maps-places version: 0.67.0-SNAPSHOT apis: @@ -3158,7 +3006,6 @@ libraries: api_description_override: The Places API allows developers to access a variety of search and retrieval endpoints for a Place. api_shortname_override: maps-places artifact_id: google-maps-places - released_version: 0.66.0 name_pretty_override: Places API (New) product_documentation_override: https://developers.google.com/maps/documentation/places/web-service/ - name: maps-routeoptimization @@ -3170,7 +3017,6 @@ libraries: api_description_override: 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. artifact_id: google-maps-routeoptimization client_documentation_override: https://cloud.google.com/java/docs/reference/google-maps-routeoptimization/latest/overview - released_version: 0.53.0 library_type_override: GAPIC_AUTO name_pretty_override: Route Optimization API product_documentation_override: https://developers.google.com/maps/documentation/route-optimization @@ -3185,7 +3031,6 @@ libraries: api_description_override: 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. api_shortname_override: maps-routing artifact_id: google-maps-routing - released_version: 1.80.0 name_pretty_override: Routes API product_documentation_override: https://developers.google.com/maps/documentation/routes - name: maps-solar @@ -3198,7 +3043,6 @@ libraries: api_shortname_override: maps-solar artifact_id: google-maps-solar client_documentation_override: https://cloud.google.com/java/docs/reference/google-maps-solar/latest/overview - released_version: 0.54.0 library_type_override: GAPIC_AUTO name_pretty_override: Solar API product_documentation_override: https://developers.google.com/maps/documentation/solar/overview @@ -3215,7 +3059,6 @@ libraries: artifact_id: admin client_documentation_override: https://cloud.google.com/java/docs/reference/admin/latest/overview group_id: com.google.ads-marketingplatform - released_version: 0.44.0 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 @@ -3225,7 +3068,6 @@ libraries: - path: google/cloud/mediatranslation/v1beta1 java: api_description_override: provides enterprise quality translation from/to various media types. - released_version: 0.101.0 name_pretty_override: Media Translation API product_documentation_override: https://cloud.google.com/ billing_not_required: true @@ -3236,7 +3078,6 @@ libraries: - path: google/apps/meet/v2beta java: 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 - released_version: 0.62.0 name_pretty_override: Google Meet API product_documentation_override: https://developers.google.com/meet/api/guides/overview - name: memcache @@ -3252,7 +3093,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: is a fully-managed in-memory data store service for Memcache. - released_version: 2.95.0 name_pretty_override: Cloud Memcache product_documentation_override: https://cloud.google.com/memorystore/ billing_not_required: true @@ -3265,7 +3105,6 @@ libraries: - path: google/cloud/location/locations.proto java: 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 - released_version: 0.77.0 name_pretty_override: Migration Center API product_documentation_override: https://cloud.google.com/migration-center/docs/migration-center-overview - name: modelarmor @@ -3283,7 +3122,6 @@ libraries: api_id_override: modelarmor.googleapis.com api_description_override: 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. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-modelarmor/latest/overview - released_version: 0.36.0 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 @@ -3334,7 +3172,6 @@ libraries: java: api_description_override: collects metrics, events, and metadata from Google Cloud, Amazon Web Services (AWS), hosted uptime probes, and application instrumentation. Using the BindPlane service, you can also collect this data from over 150 common application components, on-premise systems, and hybrid cloud systems. Stackdriver ingests that data and generates insights via dashboards, charts, and alerts. BindPlane is included with your Google Cloud project at no additional cost. issue_tracker_override: https://issuetracker.google.com/savedsearches/559785 - released_version: 3.96.0 name_pretty_override: Stackdriver Monitoring product_documentation_override: https://cloud.google.com/monitoring/docs - name: monitoring-dashboards @@ -3350,7 +3187,6 @@ libraries: api_description_override: are one way for you to view and analyze metric data. The Cloud Console provides predefined dashboards that require no setup or configuration. You can also define custom dashboards. With custom dashboards, you have complete control over the charts that are displayed and their configuration. api_shortname_override: monitoring-dashboards artifact_id: google-cloud-monitoring-dashboard - released_version: 2.97.0 name_pretty_override: Monitoring Dashboards product_documentation_override: https://cloud.google.com/monitoring/charts/dashboards - name: monitoring-metricsscope @@ -3361,7 +3197,6 @@ libraries: api_id_override: monitoring.googleapis.com api_description_override: The metrics scope defines the set of Google Cloud projects whose metrics the current Google Cloud project can access. api_shortname_override: monitoring-metricsscope - released_version: 0.89.0 name_pretty_override: Monitoring Metrics Scopes product_documentation_override: https://cloud.google.com/monitoring/api/ref_v3/rest/v1/locations.global.metricsScopes - name: netapp @@ -3373,7 +3208,6 @@ libraries: - path: google/cloud/location/locations.proto java: 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. - released_version: 0.74.0 name_pretty_override: NetApp API product_documentation_override: https://cloud.google.com/netapp/volumes/docs/discover/overview - name: network-management @@ -3629,7 +3463,6 @@ libraries: public void testIamPermissionsTest() throws Exception { java: api_description_override: provides a collection of network performance monitoring and diagnostic capabilities. - released_version: 1.96.0 name_pretty_override: Network Management API product_documentation_override: https://cloud.google.com/network-intelligence-center/docs/connectivity-tests/reference/networkmanagement/rest/ - name: network-security @@ -3647,7 +3480,6 @@ libraries: - path: google/iam/v1/iam_policy.proto java: api_description_override: n/a - released_version: 0.98.0 name_pretty_override: Network Security API product_documentation_override: https://cloud.google.com/traffic-director/docs/reference/network-security/rest - name: networkconnectivity @@ -3666,7 +3498,6 @@ libraries: - path: google/cloud/networkconnectivity/v1alpha1 java: 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 - released_version: 1.94.0 name_pretty_override: Network Connectivity Center product_documentation_override: https://cloud.google.com/network-connectivity/docs - name: networkservices @@ -3681,7 +3512,6 @@ libraries: api_id_override: networkservices.googleapis.com api_description_override: 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. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-networkservices/latest/overview - released_version: 0.51.0 library_type_override: GAPIC_AUTO name_pretty_override: Network Services API product_documentation_override: https://cloud.google.com/products/networking @@ -3705,7 +3535,6 @@ libraries: - path: google/iam/v1/iam_policy.proto java: 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. - released_version: 1.93.0 name_pretty_override: AI Platform Notebooks product_documentation_override: https://cloud.google.com/ai-platform-notebooks - name: optimization @@ -3714,7 +3543,6 @@ libraries: - path: google/cloud/optimization/v1 java: api_description_override: 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. - released_version: 1.93.0 name_pretty_override: Cloud Fleet Routing product_documentation_override: https://cloud.google.com/optimization/docs rest_documentation: https://cloud.google.com/optimization/docs/reference/rest @@ -3730,7 +3558,6 @@ libraries: api_id_override: oracledatabase.googleapis.com api_description_override: The Oracle Database@Google Cloud API provides a set of APIs to manage Oracle database services, such as Exadata and Autonomous Databases. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-oracledatabase/latest/overview - released_version: 0.44.0 library_type_override: GAPIC_AUTO name_pretty_override: Oracle Database@Google Cloud API product_documentation_override: https://cloud.google.com/oracle/database/docs @@ -3743,7 +3570,6 @@ libraries: api_id_override: composer.googleapis.com api_description_override: 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. api_shortname_override: orchestration-airflow - released_version: 1.95.0 name_pretty_override: Cloud Composer product_documentation_override: https://cloud.google.com/composer/docs rest_documentation: https://cloud.google.com/composer/docs/reference/rest @@ -3761,7 +3587,6 @@ libraries: java: api_description_override: n/a client_documentation_override: https://cloud.google.com/java/docs/reference/proto-google-cloud-orgpolicy-v1/latest/overview - released_version: 2.95.0 name_pretty_override: Cloud Organization Policy product_documentation_override: n/a - name: os-config @@ -3773,7 +3598,6 @@ libraries: java: api_id_override: osconfig.googleapis.com api_description_override: provides OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances. - released_version: 2.97.0 name_pretty_override: OS Config API product_documentation_override: https://cloud.google.com/compute/docs/os-patch-management billing_not_required: true @@ -3850,7 +3674,6 @@ libraries: java: api_description_override: manages OS login configuration for Directory API users. issue_tracker_override: https://issuetracker.google.com/savedsearches/559755 - released_version: 2.94.0 name_pretty_override: Cloud OS Login product_documentation_override: https://cloud.google.com/compute/docs/oslogin/ - name: parallelstore @@ -3868,7 +3691,6 @@ libraries: api_id_override: parallelstore.googleapis.com api_description_override: 'Parallelstore is based on Intel DAOS and delivers up to 6.3x greater read throughput performance compared to competitive Lustre scratch offerings. ' client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-parallelstore/latest/overview - released_version: 0.58.0 library_type_override: GAPIC_AUTO name_pretty_override: Parallelstore API product_documentation_override: https://cloud/parallelstore?hl=en @@ -3883,7 +3705,6 @@ libraries: api_id_override: parametermanager.googleapis.com api_description_override: (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. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-parametermanager/latest/overview - released_version: 0.39.0 library_type_override: GAPIC_AUTO name_pretty_override: Parameter Manager API product_documentation_override: https://cloud.google.com/secret-manager/parameter-manager/docs/overview @@ -3893,7 +3714,6 @@ libraries: - path: google/cloud/phishingprotection/v1beta1 java: api_description_override: helps prevent users from accessing phishing sites by identifying various signals associated with malicious content, including the use of your brand assets, classifying malicious content that uses your brand and reporting the unsafe URLs to Google Safe Browsing. Once a site is propagated to Safe Browsing, users will see warnings across more than 4 billion devices. - released_version: 0.126.0 name_pretty_override: Phishing Protection product_documentation_override: https://cloud.google.com/phishing-protection/docs/ billing_not_required: true @@ -3905,7 +3725,6 @@ libraries: java: api_id_override: policytroubleshooter.googleapis.com 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. - released_version: 1.94.0 name_pretty_override: IAM Policy Troubleshooter API product_documentation_override: https://cloud.google.com/iam/docs/troubleshooting-access - name: policysimulator @@ -3914,7 +3733,6 @@ libraries: - path: google/cloud/policysimulator/v1 java: api_description_override: Policy Simulator is a collection of endpoints for creating, running, and viewing a Replay. - released_version: 0.74.0 name_pretty_override: Policy Simulator API product_documentation_override: https://cloud.google.com/policysimulator/docs/overview - name: private-catalog @@ -3924,7 +3742,6 @@ libraries: java: api_id_override: privatecatalog.googleapis.com 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. - released_version: 0.97.0 name_pretty_override: Private Catalog product_documentation_override: https://cloud.google.com/private-catalog/docs - name: privilegedaccessmanager @@ -3938,7 +3755,6 @@ libraries: api_id_override: privilegedaccessmanager.googleapis.com api_description_override: Privileged Access Manager (PAM) helps you on your journey towards least privilege and helps mitigate risks tied to privileged access misuse orabuse. PAM allows you to shift from always-on standing privileges towards on-demand access with just-in-time, time-bound, and approval-based access elevations. PAM allows IAM administrators to create entitlements that can grant just-in-time, temporary access to any resource scope. Requesters can explore eligible entitlements and request the access needed for their task. Approvers are notified when approvals await their decision. Streamlined workflows facilitated by using PAM can support various use cases, including emergency access for incident responders, time-boxed access for developers for critical deployment or maintenance, temporary access for operators for data ingestion and audits, JIT access to service accounts for automated tasks, and more. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/overview - released_version: 0.49.0 library_type_override: GAPIC_AUTO name_pretty_override: Privileged Access Manager API product_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/overview @@ -3947,8 +3763,6 @@ libraries: version: 0.2.0-SNAPSHOT apis: - path: google/cloud/productregistry/v1 - java: - released_version: 0.1.0 - name: profiler version: 2.96.0-SNAPSHOT apis: @@ -3956,7 +3770,6 @@ libraries: java: api_id_override: cloudprofiler.googleapis.com 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. - released_version: 2.95.0 name_pretty_override: Cloud Profiler product_documentation_override: https://cloud.google.com/profiler/docs - name: publicca @@ -3966,7 +3779,6 @@ libraries: - path: google/cloud/security/publicca/v1beta1 java: api_description_override: The Public Certificate Authority API may be used to create and manage ACME external account binding keys associated with Google Trust Services' publicly trusted certificate authority. - released_version: 0.92.0 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 @@ -5127,7 +4939,6 @@ libraries: client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-pubsub/latest/history codeowner_team: '@googleapis/pubsub-team' issue_tracker_override: https://issuetracker.google.com/savedsearches/559741 - released_version: 1.153.0 library_type_override: GAPIC_COMBO name_pretty_override: Cloud Pub/Sub product_documentation_override: https://cloud.google.com/pubsub/docs/ @@ -5141,7 +4952,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: Rapid Migration Assessment API - released_version: 0.78.0 name_pretty_override: Rapid Migration Assessment API product_documentation_override: https://cloud.google.com/migration-center/docs - name: recaptchaenterprise @@ -5151,7 +4961,6 @@ libraries: - path: google/cloud/recaptchaenterprise/v1beta1 java: api_description_override: is a service that protects your site from spam and abuse. - released_version: 3.92.0 name_pretty_override: reCAPTCHA Enterprise product_documentation_override: https://cloud.google.com/recaptcha-enterprise/docs/ billing_not_required: true @@ -5163,7 +4972,6 @@ libraries: - path: google/cloud/recommendationengine/v1beta1 java: api_description_override: delivers highly personalized product recommendations at scale. - released_version: 0.102.0 name_pretty_override: Recommendations AI product_documentation_override: https://cloud.google.com/recommendations-ai/ - name: recommender @@ -5173,7 +4981,6 @@ libraries: - path: google/cloud/recommender/v1beta1 java: api_description_override: delivers highly personalized product recommendations at scale. - released_version: 2.97.0 name_pretty_override: Recommender product_documentation_override: https://cloud.google.com/recommendations/ - name: redis @@ -5187,7 +4994,6 @@ libraries: java: api_description_override: is a fully managed Redis service for the Google Cloud. Applications running on Google Cloud can achieve extreme performance by leveraging the highly scalable, available, secure Redis service without the burden of managing complex Redis deployments. issue_tracker_override: https://issuetracker.google.com/savedsearches/5169231 - released_version: 2.98.0 name_pretty_override: Cloud Redis product_documentation_override: https://cloud.google.com/memorystore/docs/redis/ - name: redis-cluster @@ -5204,7 +5010,6 @@ libraries: java: api_description_override: Creates and manages Redis instances on the Google Cloud Platform. api_shortname_override: redis-cluster - released_version: 0.67.0 name_pretty_override: Google Cloud Memorystore for Redis API product_documentation_override: https://cloud.google.com/memorystore/docs/cluster - name: resourcemanager @@ -5216,7 +5021,6 @@ libraries: java: api_description_override: enables you to programmatically manage resources by project, folder, and organization. issue_tracker_override: https://issuetracker.google.com/savedsearches/559757 - released_version: 1.97.0 name_pretty_override: Resource Manager API product_documentation_override: https://cloud.google.com/resource-manager billing_not_required: true @@ -5237,7 +5041,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: Retail solutions API. - released_version: 2.97.0 name_pretty_override: Cloud Retail product_documentation_override: https://cloud.google.com/solutions/retail - name: run @@ -5249,7 +5052,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: is a managed compute platform that enables you to run containers that are invocable via requests or events. - released_version: 0.95.0 name_pretty_override: Cloud Run product_documentation_override: https://cloud.google.com/run/docs rest_documentation: https://cloud.google.com/run/docs/reference/rest @@ -5265,7 +5067,6 @@ libraries: api_id_override: saasservicemgmt.googleapis.com api_description_override: "Model, deploy, and operate your SaaS at scale.\t" client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-saasservicemgmt/latest/overview - released_version: 0.25.0 library_type_override: GAPIC_AUTO name_pretty_override: App Lifecycle Manager product_documentation_override: https://cloud.google.com/saas-runtime/docs/overview @@ -5287,7 +5088,6 @@ libraries: java: api_description_override: lets you set up scheduled units of work to be executed at defined times or regular intervals. These work units are commonly known as cron jobs. Typical use cases might include sending out a report email on a daily basis, updating some cached data every 10 minutes, or updating some summary information once an hour. issue_tracker_override: https://issuetracker.google.com/savedsearches/5411429 - released_version: 2.95.0 name_pretty_override: Google Cloud Scheduler product_documentation_override: https://cloud.google.com/scheduler/docs billing_not_required: true @@ -5307,7 +5107,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: allows you to encrypt, store, manage, and audit infrastructure and application-level secrets. - released_version: 2.95.0 name_pretty_override: Secret Management product_documentation_override: https://cloud.google.com/solutions/secrets-management/ billing_not_required: true @@ -5323,7 +5122,6 @@ libraries: api_description_override: |- Regionally deployed, single-tenant managed source code repository hosted on Google Cloud. - released_version: 0.65.0 name_pretty_override: Secure Source Manager API product_documentation_override: https://cloud.google.com/secure-source-manager/docs/overview - name: security-private-ca @@ -5338,7 +5136,6 @@ libraries: java: api_id_override: privateca.googleapis.com api_description_override: simplifies the deployment and management of private CAs without managing infrastructure. - released_version: 2.97.0 name_pretty_override: Certificate Authority Service product_documentation_override: https://cloud.google.com/certificate-authority-service/docs rest_documentation: https://cloud.google.com/certificate-authority-service/docs/reference/rest @@ -5359,7 +5156,6 @@ libraries: java: api_description_override: makes it easier for you to prevent, detect, and respond to threats. Identify security misconfigurations in virtual machines, networks, applications, and storage buckets from a centralized dashboard. Take action on them before they can potentially result in business damage or loss. Built-in capabilities can quickly surface suspicious activity in your Stackdriver security logs or indicate compromised virtual machines. Respond to threats by following actionable recommendations or exporting logs to your SIEM for further investigation. issue_tracker_override: https://issuetracker.google.com/savedsearches/559748 - released_version: 2.103.0 name_pretty_override: Security Command Center product_documentation_override: https://cloud.google.com/security-command-center billing_not_required: true @@ -5371,7 +5167,6 @@ libraries: java: api_id_override: securitycenter-settings.googleapis.com api_description_override: 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. - released_version: 0.98.0 name_pretty_override: Security Command Center Settings API product_documentation_override: https://cloud.google.com/security-command-center/ billing_not_required: true @@ -5385,7 +5180,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: Security Center Management API - released_version: 0.63.0 name_pretty_override: Security Center Management API product_documentation_override: https://cloud.google.com/securitycentermanagement/docs/overview - name: securityposture @@ -5397,7 +5191,6 @@ libraries: - path: google/cloud/location/locations.proto java: 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. - released_version: 0.60.0 name_pretty_override: Security Posture API product_documentation_override: https://cloud.google.com/security-command-center/docs/security-posture-overview - name: service-control @@ -5407,7 +5200,6 @@ libraries: - path: google/api/servicecontrol/v1 java: 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.' - released_version: 1.95.0 name_pretty_override: Service Control API product_documentation_override: https://cloud.google.com/service-infrastructure/docs/overview/ - name: service-management @@ -5422,7 +5214,6 @@ libraries: java: api_id_override: servicemanagement.googleapis.com 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. - released_version: 3.93.0 name_pretty_override: Service Management API product_documentation_override: https://cloud.google.com/service-infrastructure/docs/overview/ - name: service-usage @@ -5432,7 +5223,6 @@ libraries: - path: google/api/serviceusage/v1beta1 java: api_description_override: is an infrastructure service of Google Cloud that lets you list and manage other APIs and services in your Cloud projects. - released_version: 2.95.0 name_pretty_override: Service Usage product_documentation_override: https://cloud.google.com/service-usage/docs/overview - name: servicedirectory @@ -5448,7 +5238,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: allows the registration and lookup of service endpoints. - released_version: 2.96.0 name_pretty_override: Service Directory product_documentation_override: https://cloud.google.com/service-directory/ billing_not_required: true @@ -5463,7 +5252,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: Personalized Service Health helps you gain visibility into disruptive events impacting Google Cloud products. - released_version: 0.62.0 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 @@ -5474,7 +5262,6 @@ libraries: java: api_description_override: 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. codeowner_team: '@googleapis/aap-dpes' - released_version: 2.94.0 name_pretty_override: Cloud Shell product_documentation_override: https://cloud.google.com/shell/docs rest_documentation: https://cloud.google.com/shell/docs/reference/rest @@ -5486,7 +5273,6 @@ libraries: java: api_description_override: The CSS API is used to manage your CSS and control your CSS Products portfolio artifact_id: google-shopping-css - released_version: 0.63.0 name_pretty_override: CSS API product_documentation_override: https://developers.google.com/comparison-shopping-services/api - name: shopping-merchant-accounts @@ -5499,7 +5285,6 @@ libraries: api_description_override: Programmatically manage your Merchant Center accounts. artifact_id: google-shopping-merchant-accounts client_documentation_override: https://cloud.google.com/java/docs/reference/google-shopping-merchant-accounts/latest/overview - released_version: 1.23.0 library_type_override: GAPIC_AUTO name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api @@ -5514,7 +5299,6 @@ libraries: api_shortname_override: shopping-merchant-conversions artifact_id: google-shopping-merchant-conversions client_documentation_override: https://cloud.google.com/java/docs/reference/google-shopping-merchant-conversions/latest/overview - released_version: 1.23.0 library_type_override: GAPIC_AUTO name_pretty_override: Merchant Conversions API product_documentation_override: https://developers.google.com/merchant/api @@ -5528,7 +5312,6 @@ libraries: api_description_override: Programmatically manage your Merchant Center accounts. artifact_id: google-shopping-merchant-datasources client_documentation_override: https://cloud.google.com/java/docs/reference/google-shopping-merchant-datasources/latest/overview - released_version: 1.23.0 library_type_override: GAPIC_AUTO name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api @@ -5540,7 +5323,6 @@ libraries: java: api_description_override: Programmatically manage your Merchant Center accounts. artifact_id: google-shopping-merchant-inventories - released_version: 1.23.0 name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api - name: shopping-merchant-lfp @@ -5554,7 +5336,6 @@ libraries: api_shortname_override: shopping-merchant-lfp artifact_id: google-shopping-merchant-lfp client_documentation_override: https://cloud.google.com/java/docs/reference/google-shopping-merchant-lfp/latest/overview - released_version: 1.23.0 library_type_override: GAPIC_AUTO name_pretty_override: Merchant LFP API product_documentation_override: https://developers.google.com/merchant/api @@ -5569,7 +5350,6 @@ libraries: api_shortname_override: shopping-merchant-notifications artifact_id: google-shopping-merchant-notifications client_documentation_override: https://cloud.google.com/java/docs/reference/google-shopping-merchant-notifications/latest/overview - released_version: 1.23.0 library_type_override: GAPIC_AUTO name_pretty_override: Merchant Notifications API product_documentation_override: https://developers.google.com/merchant/api @@ -5582,7 +5362,6 @@ libraries: api_description_override: Programmatically manage your products. artifact_id: google-shopping-merchant-productstudio client_documentation_override: https://cloud.google.com/java/docs/reference/google-shopping-merchant-productstudio/latest/overview - released_version: 0.35.0 library_type_override: GAPIC_AUTO name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api @@ -5596,7 +5375,6 @@ libraries: api_description_override: Programmatically manage your Merchant Center accounts. artifact_id: google-shopping-merchant-products client_documentation_override: https://cloud.google.com/java/docs/reference/google-shopping-merchant-products/latest/overview - released_version: 1.23.0 library_type_override: GAPIC_AUTO name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api @@ -5610,7 +5388,6 @@ libraries: api_description_override: Programmatically manage your Merchant Center accounts. artifact_id: google-shopping-merchant-promotions client_documentation_override: https://cloud.google.com/java/docs/reference/google-shopping-merchant-promotions/latest/overview - released_version: 1.23.0 library_type_override: GAPIC_AUTO name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api @@ -5625,7 +5402,6 @@ libraries: api_shortname_override: shopping-merchant-quota artifact_id: google-shopping-merchant-quota client_documentation_override: https://cloud.google.com/java/docs/reference/google-shopping-merchant-quota/latest/overview - released_version: 1.23.0 library_type_override: GAPIC_AUTO name_pretty_override: Merchant Quota API product_documentation_override: https://developers.google.com/merchant/api @@ -5638,7 +5414,6 @@ libraries: java: api_description_override: Programmatically manage your Merchant Center accounts. artifact_id: google-shopping-merchant-reports - released_version: 1.23.0 name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api - name: shopping-merchant-reviews @@ -5649,7 +5424,6 @@ libraries: api_description_override: Programmatically manage your Merchant Center Accounts. artifact_id: google-shopping-merchant-reviews client_documentation_override: https://cloud.google.com/java/docs/reference/google-shopping-merchant-reviews/latest/overview - released_version: 0.41.0 library_type_override: GAPIC_AUTO name_pretty_override: Merchant API product_documentation_override: https://developers.google.com/merchant/api @@ -5715,7 +5489,6 @@ libraries: - google-cloud-spanner-bom - google-cloud-spanner issue_tracker_override: https://issuetracker.google.com/issues?q=componentid:190851%2B%20status:open - released_version: 6.120.0 library_type_override: GAPIC_COMBO min_java_version: 8 name_pretty_override: Cloud Spanner @@ -5731,7 +5504,6 @@ libraries: api_description_override: 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. api_shortname_override: spanneradapter client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-spanneradapter/latest/overview - released_version: 0.31.0 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 @@ -5752,7 +5524,6 @@ libraries: java: api_description_override: enables easy integration of Google speech recognition technologies into developer applications. Send audio and receive a text transcription from the Speech-to-Text API service. issue_tracker_override: https://issuetracker.google.com/savedsearches/559758 - released_version: 4.90.0 name_pretty_override: Cloud Speech product_documentation_override: https://cloud.google.com/speech-to-text/docs/ billing_not_required: true @@ -5769,8 +5540,6 @@ libraries: java: additional_protos: - path: google/cloud/location/locations.proto - java: - released_version: 0.1.0 - name: storage version: 2.72.0-SNAPSHOT apis: @@ -5805,7 +5574,6 @@ libraries: - google-cloud-storage extra_versioned_modules: gapic-google-cloud-storage-v2 issue_tracker_override: https://issuetracker.google.com/savedsearches/559782 - released_version: 2.71.0 library_type_override: GAPIC_COMBO name_pretty_override: Cloud Storage product_documentation_override: https://cloud.google.com/storage @@ -5817,7 +5585,6 @@ libraries: - path: google/storagetransfer/v1 java: api_description_override: Secure, low-cost services for transferring data from cloud or on-premises sources. - released_version: 1.95.0 name_pretty_override: Storage Transfer Service product_documentation_override: https://cloud.google.com/storage-transfer-service - name: storagebatchoperations @@ -5831,7 +5598,6 @@ libraries: api_id_override: storagebatchoperations.googleapis.com api_description_override: Storage batch operations is a Cloud Storage management feature that performs operations on billions of Cloud Storage objects in a serverless manner. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-storagebatchoperations/latest/overview - released_version: 0.35.0 library_type_override: GAPIC_AUTO name_pretty_override: Storage Batch Operations API product_documentation_override: https://cloud.google.com/storage/docs/batch-operations/overview @@ -5844,7 +5610,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: Provides insights capability on Google Cloud Storage - released_version: 0.80.0 name_pretty_override: Storage Insights API product_documentation_override: https://cloud.google.com/storage/docs/insights/storage-insights/ - name: talent @@ -5855,7 +5620,6 @@ libraries: java: api_description_override: allows you to transform your job search and candidate matching capabilities with Cloud Talent Solution, designed to support enterprise talent acquisition technology and evolve with your growing needs. This AI solution includes features such as Job Search and Profile Search (Beta) to provide candidates and employers with an enhanced talent acquisition experience. Learn more about Cloud Talent Solution from the product overview page. issue_tracker_override: https://issuetracker.google.com/savedsearches/559664 - released_version: 2.96.0 name_pretty_override: Talent Solution product_documentation_override: https://cloud.google.com/solutions/talent-solution/ - name: tasks @@ -5968,7 +5732,6 @@ libraries: api_description_override: a fully managed service that allows you to manage the execution, dispatch and delivery of a large number of distributed tasks. You can asynchronously perform work outside of a user request. Your tasks can be executed on App Engine or any arbitrary HTTP endpoint. codeowner_team: '@googleapis/aap-dpes' issue_tracker_override: https://issuetracker.google.com/savedsearches/5433985 - released_version: 2.95.0 name_pretty_override: Cloud Tasks product_documentation_override: https://cloud.google.com/tasks/docs/ rest_documentation: https://cloud.google.com/tasks/docs/reference/rest @@ -5986,7 +5749,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: APIs to automate 5G deployment and management of cloud infrastructure and network functions. - released_version: 0.65.0 name_pretty_override: Telco Automation API product_documentation_override: https://cloud.google.com/telecom-network-automation - name: texttospeech @@ -6000,7 +5762,6 @@ libraries: java: api_description_override: enables easy integration of Google text recognition technologies into developer applications. Send text and receive synthesized audio output from the Cloud Text-to-Speech API service. issue_tracker_override: https://issuetracker.google.com/savedsearches/5235428 - released_version: 2.96.0 name_pretty_override: Cloud Text-to-Speech product_documentation_override: https://cloud.google.com/text-to-speech billing_not_required: true @@ -6023,7 +5784,6 @@ libraries: - path: google/cloud/location/locations.proto java: api_description_override: are Google's custom-developed application-specific integrated circuits (ASICs) used to accelerate machine learning workloads. - released_version: 2.96.0 name_pretty_override: Cloud TPU product_documentation_override: https://cloud.google.com/tpu/docs rest_documentation: https://cloud.google.com/tpu/docs/reference/rest @@ -6037,7 +5797,6 @@ libraries: - google-cloud-trace/src/test/java/com/google/cloud/trace/v2/VPCServiceControlTest.java java: api_description_override: is a distributed tracing system that collects latency data from your applications and displays it in the Google Cloud Platform Console. You can track how requests propagate through your application and receive detailed near real-time performance insights. - released_version: 2.95.0 name_pretty_override: Stackdriver Trace product_documentation_override: https://cloud.google.com/trace/docs/ billing_not_required: true @@ -6050,7 +5809,6 @@ libraries: api_id_override: translate.googleapis.com api_description_override: can dynamically translate text between thousands of language pairs. Translation lets websites and programs programmatically integrate with the translation service. issue_tracker_override: https://issuetracker.google.com/savedsearches/559749 - released_version: 2.95.0 name_pretty_override: Cloud Translation product_documentation_override: https://cloud.google.com/translate/docs/ rest_documentation: https://cloud.google.com/translate/docs/reference/rest @@ -6070,7 +5828,6 @@ libraries: api_id_override: memorystore.googleapis.com api_description_override: Memorystore for Valkey is a fully managed Valkey Cluster service for Google Cloud. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-memorystore/latest/overview - released_version: 0.41.0 library_type_override: GAPIC_AUTO name_pretty_override: Memorystore API product_documentation_override: https://cloud.google.com/memorystore/docs/valkey @@ -6090,7 +5847,6 @@ libraries: api_id_override: vectorsearch.googleapis.com api_description_override: 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. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-vectorsearch/latest/overview - released_version: 0.17.0 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 @@ -6105,7 +5861,6 @@ libraries: java: api_description_override: allows developers to use Google video analysis technology as part of their applications. issue_tracker_override: https://issuetracker.google.com/savedsearches/5084810 - released_version: 2.94.0 name_pretty_override: Cloud Video Intelligence product_documentation_override: https://cloud.google.com/video-intelligence/docs/ rest_documentation: https://cloud.google.com/video-intelligence/docs/reference/rest @@ -6120,7 +5875,6 @@ libraries: java: api_description_override: 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. artifact_id: google-cloud-live-stream - released_version: 0.97.0 name_pretty_override: Live Stream API product_documentation_override: https://cloud.google.com/livestream/ - name: video-stitcher @@ -6129,7 +5883,6 @@ libraries: - 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. - released_version: 0.95.0 name_pretty_override: Video Stitcher API product_documentation_override: https://cloud.google.com/video-stitcher/ - name: video-transcoder @@ -6139,7 +5892,6 @@ libraries: java: api_id_override: transcoder.googleapis.com api_description_override: 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. - released_version: 1.94.0 name_pretty_override: Video Transcoder product_documentation_override: https://cloud.google.com/transcoder/docs rest_documentation: https://cloud.google.com/transcoder/docs/reference/rest @@ -6165,7 +5917,6 @@ libraries: java: api_description_override: allows developers to easily integrate vision detection features within applications, including image labeling, face and landmark detection, optical character recognition (OCR), and tagging of explicit content. issue_tracker_override: https://issuetracker.google.com/issues?q=status:open%20componentid:187174 - released_version: 3.93.0 name_pretty_override: Cloud Vision product_documentation_override: https://cloud.google.com/vision/docs/ rest_documentation: https://cloud.google.com/vision/docs/reference/rest @@ -6182,7 +5933,6 @@ libraries: api_id_override: visionai.googleapis.com api_description_override: Vertex AI Vision is an AI-powered platform to ingest, analyze and store video data. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-visionai/latest/overview - released_version: 0.52.0 library_type_override: GAPIC_AUTO name_pretty_override: Vision AI API product_documentation_override: https://cloud.google.com/vision-ai/docs @@ -6197,7 +5947,6 @@ libraries: - path: google/iam/v1/iam_policy.proto java: 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. - released_version: 1.95.0 name_pretty_override: VM Migration product_documentation_override: n/a - name: vmwareengine @@ -6210,7 +5959,6 @@ libraries: - path: google/iam/v1/iam_policy.proto java: api_description_override: Easily lift and shift your VMware-based applications to Google Cloud without changes to your apps, tools, or processes. - released_version: 0.89.0 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 @@ -6223,7 +5971,6 @@ libraries: - path: google/cloud/location/locations.proto java: 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. - released_version: 2.96.0 name_pretty_override: Serverless VPC Access product_documentation_override: https://cloud.google.com/vpc/docs/serverless-vpc-access - name: webrisk @@ -6233,7 +5980,6 @@ libraries: - path: google/cloud/webrisk/v1beta1 java: api_description_override: is a Google Cloud service that lets client applications check URLs against Google's constantly updated lists of unsafe web resources. Unsafe web resources include social engineering sites - such as phishing and deceptive sites - and sites that host malware or unwanted software. With the Web Risk API, you can quickly identify known bad sites, warn users before they click infected links, and prevent users from posting links to known infected pages from your site. The Web Risk API includes data on more than a million unsafe URLs and stays up to date by examining billions of URLs each day. - released_version: 2.94.0 name_pretty_override: Web Risk product_documentation_override: https://cloud.google.com/web-risk/docs/ billing_not_required: true @@ -6251,7 +5997,6 @@ libraries: java: api_description_override: identifies security vulnerabilities in your App Engine, Compute Engine, and Google Kubernetes Engine web applications. It crawls your application, following all links within the scope of your starting URLs, and attempts to exercise as many user inputs and event handlers as possible. issue_tracker_override: https://issuetracker.google.com/savedsearches/559748 - released_version: 2.95.0 name_pretty_override: Cloud Security Scanner product_documentation_override: https://cloud.google.com/security-scanner/docs/ billing_not_required: true @@ -6263,7 +6008,6 @@ libraries: java: api_description_override: allows you to ochestrate and automate Google Cloud and HTTP-based API services with serverless workflows. codeowner_team: '@googleapis/aap-dpes' - released_version: 2.95.0 name_pretty_override: Cloud Workflow Executions product_documentation_override: https://cloud.google.com/workflows rest_documentation: https://cloud.google.com/workflows/docs/reference/rest @@ -6281,10 +6025,16 @@ libraries: java: api_description_override: allows you to ochestrate and automate Google Cloud and HTTP-based API services with serverless workflows. codeowner_team: '@googleapis/aap-dpes' - released_version: 2.95.0 name_pretty_override: Cloud Workflows product_documentation_override: https://cloud.google.com/workflows rest_documentation: https://cloud.google.com/workflows/docs/reference/rest + - name: workloadidentity + version: 0.1.0-SNAPSHOT + apis: + - path: google/cloud/workloadidentity/v1 + java: + additional_protos: + - path: google/cloud/location/locations.proto - name: workloadmanager version: 0.12.0-SNAPSHOT apis: @@ -6296,7 +6046,6 @@ libraries: api_id_override: workloadmanager.googleapis.com api_description_override: 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. client_documentation_override: https://cloud.google.com/java/docs/reference/google-cloud-workloadmanager/latest/overview - released_version: 0.11.0 library_type_override: GAPIC_AUTO name_pretty_override: Workload Manager API product_documentation_override: https://docs.cloud.google.com/workload-manager/docs @@ -6308,7 +6057,6 @@ libraries: - path: google/apps/events/subscriptions/v1beta java: api_description_override: The Google Workspace Events API lets you subscribe to events and manage change notifications across Google Workspace applications. - released_version: 0.59.0 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 @@ -6327,7 +6075,6 @@ libraries: - path: google/iam/v1/iam_policy.proto java: api_description_override: 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. - released_version: 0.83.0 name_pretty_override: Cloud Workstations product_documentation_override: https://cloud.google.com/workstations rest_documentation: https://cloud.google.com/workstations/docs/reference/rest diff --git a/pom.xml b/pom.xml index 607ec21b171e..c1a286d6d611 100644 --- a/pom.xml +++ b/pom.xml @@ -277,6 +277,7 @@ java-websecurityscanner java-workflow-executions java-workflows + java-workloadidentity java-workloadmanager java-workspaceevents java-workstations diff --git a/versions.txt b/versions.txt index ae467cf52cd2..ec9aab8ba84c 100644 --- a/versions.txt +++ b/versions.txt @@ -1101,3 +1101,8 @@ 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 +google-cloud-workloadidentity-parent:0.0.0:0.1.0-SNAPSHOT +google-cloud-workloadidentity-bom:0.0.0:0.1.0-SNAPSHOT +proto-google-cloud-workloadidentity-v1:0.0.0:0.1.0-SNAPSHOT +grpc-google-cloud-workloadidentity-v1:0.0.0:0.1.0-SNAPSHOT +google-cloud-workloadidentity:0.0.0:0.1.0-SNAPSHOT