From c9d486605068c9a611e16c10e320a89a9b30662e Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Fri, 14 Aug 2026 13:15:22 -0400 Subject: [PATCH 1/3] feat(workloadidentity): generate library --- external/googleapis/update_libraries.sh | 1 + generator/generator_config.textproto | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/external/googleapis/update_libraries.sh b/external/googleapis/update_libraries.sh index c8f56eb1bcd21..898d25fce465f 100755 --- a/external/googleapis/update_libraries.sh +++ b/external/googleapis/update_libraries.sh @@ -355,6 +355,7 @@ declare -A -r LIBRARIES=( "@googleapis//google/cloud/workflows/type:type_cc_grpc" \ "@googleapis//google/cloud/workflows/executions/v1:executions_cc_grpc" )" + ["workloadidentity"]="@googleapis//google/cloud/workloadidentity/v1:workloadidentity_cc_grpc" ["workloadmanager"]="@googleapis//google/cloud/workloadmanager/v1:workloadmanager_cc_grpc" ["workstations"]="$( printf ",%s" \ diff --git a/generator/generator_config.textproto b/generator/generator_config.textproto index 84f63c752cc38..21697fd84f4eb 100644 --- a/generator/generator_config.textproto +++ b/generator/generator_config.textproto @@ -4294,6 +4294,14 @@ service { retryable_status_codes: ["kUnavailable"] } +# Workload Identity +service { + service_proto_path: "google/cloud/workloadidentity/v1/service.proto" + product_path: "google/cloud/workloadidentity/v1" + initial_copyright_year: "2026" + retryable_status_codes: ["kUnavailable"] +} + # Workload Manager service { service_proto_path: "google/cloud/workloadmanager/v1/service.proto" From 8cd3fed7abbe0d1437d8a792ec79005a54d60ddd Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Fri, 14 Aug 2026 13:39:43 -0400 Subject: [PATCH 2/3] run generators and add workloadidentity library --- CHANGELOG.md | 7 + README.md | 3 + ..._cpp_workloadidentity.expected.abi.dump.gz | Bin 0 -> 602505 bytes ci/etc/expected_install_directories | 6 + cmake/GoogleCloudCppFeatures.cmake | 1 + .../protodeps/workloadidentity.deps | 8 + .../protolists/workloadidentity.list | 1 + google/cloud/workloadidentity/BUILD.bazel | 31 + google/cloud/workloadidentity/CMakeLists.txt | 33 + google/cloud/workloadidentity/README.md | 59 ++ .../doc/environment-variables.dox | 49 ++ google/cloud/workloadidentity/doc/main.dox | 48 ++ google/cloud/workloadidentity/doc/options.dox | 10 + .../doc/override-authentication.dox | 35 ++ .../doc/override-endpoint.dox | 25 + .../doc/override-retry-policies.dox | 108 ++++ .../doc/override-universe-domain.dox | 24 + .../workloadidentity/quickstart/.bazelrc | 29 + .../workloadidentity/quickstart/BUILD.bazel | 25 + .../quickstart/CMakeLists.txt | 35 ++ .../workloadidentity/quickstart/Makefile | 35 ++ .../workloadidentity/quickstart/README.md | 135 +++++ .../quickstart/WORKSPACE.bazel | 53 ++ .../workloadidentity/quickstart/quickstart.cc | 42 ++ .../workloadidentity/v1/.repo-metadata.json | 14 + .../workload_identity_auth_decorator.cc | 159 +++++ .../workload_identity_auth_decorator.h | 105 ++++ .../workload_identity_connection_impl.cc | 297 +++++++++ .../workload_identity_connection_impl.h | 100 ++++ .../workload_identity_logging_decorator.cc | 184 ++++++ .../workload_identity_logging_decorator.h | 105 ++++ .../workload_identity_metadata_decorator.cc | 166 +++++ .../workload_identity_metadata_decorator.h | 111 ++++ .../workload_identity_option_defaults.cc | 84 +++ .../workload_identity_option_defaults.h | 37 ++ .../internal/workload_identity_retry_traits.h | 43 ++ .../v1/internal/workload_identity_sources.cc | 32 + .../v1/internal/workload_identity_stub.cc | 184 ++++++ .../v1/internal/workload_identity_stub.h | 175 ++++++ .../workload_identity_stub_factory.cc | 82 +++ .../internal/workload_identity_stub_factory.h | 47 ++ .../workload_identity_tracing_connection.cc | 137 +++++ .../workload_identity_tracing_connection.h | 94 +++ .../workload_identity_tracing_stub.cc | 175 ++++++ .../internal/workload_identity_tracing_stub.h | 113 ++++ .../mocks/mock_workload_identity_connection.h | 123 ++++ .../workload_identity_client_samples.cc | 240 ++++++++ .../v1/workload_identity_client.cc | 159 +++++ .../v1/workload_identity_client.h | 566 ++++++++++++++++++ .../v1/workload_identity_connection.cc | 126 ++++ .../v1/workload_identity_connection.h | 254 ++++++++ ..._identity_connection_idempotency_policy.cc | 80 +++ ...d_identity_connection_idempotency_policy.h | 73 +++ .../v1/workload_identity_options.h | 87 +++ libraries.bzl | 1 + 55 files changed, 4955 insertions(+) create mode 100644 ci/abi-dumps/google_cloud_cpp_workloadidentity.expected.abi.dump.gz create mode 100644 external/googleapis/protodeps/workloadidentity.deps create mode 100644 external/googleapis/protolists/workloadidentity.list create mode 100644 google/cloud/workloadidentity/BUILD.bazel create mode 100644 google/cloud/workloadidentity/CMakeLists.txt create mode 100644 google/cloud/workloadidentity/README.md create mode 100644 google/cloud/workloadidentity/doc/environment-variables.dox create mode 100644 google/cloud/workloadidentity/doc/main.dox create mode 100644 google/cloud/workloadidentity/doc/options.dox create mode 100644 google/cloud/workloadidentity/doc/override-authentication.dox create mode 100644 google/cloud/workloadidentity/doc/override-endpoint.dox create mode 100644 google/cloud/workloadidentity/doc/override-retry-policies.dox create mode 100644 google/cloud/workloadidentity/doc/override-universe-domain.dox create mode 100644 google/cloud/workloadidentity/quickstart/.bazelrc create mode 100644 google/cloud/workloadidentity/quickstart/BUILD.bazel create mode 100644 google/cloud/workloadidentity/quickstart/CMakeLists.txt create mode 100644 google/cloud/workloadidentity/quickstart/Makefile create mode 100644 google/cloud/workloadidentity/quickstart/README.md create mode 100644 google/cloud/workloadidentity/quickstart/WORKSPACE.bazel create mode 100644 google/cloud/workloadidentity/quickstart/quickstart.cc create mode 100644 google/cloud/workloadidentity/v1/.repo-metadata.json create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_auth_decorator.cc create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_auth_decorator.h create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_connection_impl.cc create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_connection_impl.h create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_logging_decorator.cc create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_logging_decorator.h create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_metadata_decorator.cc create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_metadata_decorator.h create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_option_defaults.cc create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_option_defaults.h create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_retry_traits.h create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_sources.cc create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_stub.cc create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_stub.h create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_stub_factory.cc create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_stub_factory.h create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_tracing_connection.cc create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_tracing_connection.h create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_tracing_stub.cc create mode 100644 google/cloud/workloadidentity/v1/internal/workload_identity_tracing_stub.h create mode 100644 google/cloud/workloadidentity/v1/mocks/mock_workload_identity_connection.h create mode 100644 google/cloud/workloadidentity/v1/samples/workload_identity_client_samples.cc create mode 100644 google/cloud/workloadidentity/v1/workload_identity_client.cc create mode 100644 google/cloud/workloadidentity/v1/workload_identity_client.h create mode 100644 google/cloud/workloadidentity/v1/workload_identity_connection.cc create mode 100644 google/cloud/workloadidentity/v1/workload_identity_connection.h create mode 100644 google/cloud/workloadidentity/v1/workload_identity_connection_idempotency_policy.cc create mode 100644 google/cloud/workloadidentity/v1/workload_identity_connection_idempotency_policy.h create mode 100644 google/cloud/workloadidentity/v1/workload_identity_options.h diff --git a/CHANGELOG.md b/CHANGELOG.md index 7886dcd2fb2dc..85cf4adf3c821 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,13 @@ for details on updating existing applications using v1.x.y or v2.x.y. ## v3.9.0 - TBD +### New Libraries + +We are happy to announce the following GA libraries. Unless specifically noted, +the APIs in these libraries are stable, and are ready for production use. + +- [Workload Identity API](/google/cloud/workloadidentity/README.md) + ## v3.8.0 - 2026-08 ### Removed Libraries diff --git a/README.md b/README.md index 4f6164ab164dc..5566f86157d88 100644 --- a/README.md +++ b/README.md @@ -575,6 +575,9 @@ See each library's `README.md` file for more information about: - [Workflow Executions API](google/cloud/workflows/README.md) [[quickstart]](google/cloud/workflows/quickstart/README.md) [[reference]](https://cloud.google.com/cpp/docs/reference/workflows/latest) +- [Workload Identity API](google/cloud/workloadidentity/README.md) + [[quickstart]](google/cloud/workloadidentity/quickstart/README.md) + [[reference]](https://cloud.google.com/cpp/docs/reference/workloadidentity/latest) - [Workload Manager API](google/cloud/workloadmanager/README.md) [[quickstart]](google/cloud/workloadmanager/quickstart/README.md) [[reference]](https://cloud.google.com/cpp/docs/reference/workloadmanager/latest) diff --git a/ci/abi-dumps/google_cloud_cpp_workloadidentity.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_workloadidentity.expected.abi.dump.gz new file mode 100644 index 0000000000000000000000000000000000000000..d4cf5bb9e2411d1c878d284f96da5637fa25507b GIT binary patch literal 602505 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

Pl@L*d|JcCi8D$9SnXh!r+{ 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≪2l#X1|oUnq{JlgM~ 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

S|8c?S6n#r{sB$9ZS8tb54JE)o;n*J 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�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 XWB@@K->}JF-!}AdD)g| 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 GOOGLE_CLOUD_PROJECT) + set_tests_properties(workloadidentity_quickstart + PROPERTIES LABELS "integration-test;quickstart") +endif () diff --git a/google/cloud/workloadidentity/README.md b/google/cloud/workloadidentity/README.md new file mode 100644 index 0000000000000..90d5bec152fa1 --- /dev/null +++ b/google/cloud/workloadidentity/README.md @@ -0,0 +1,59 @@ +# Workload Identity API C++ Client Library + +This directory contains an idiomatic C++ client library for the +[Workload Identity API][cloud-service-docs]. + +While this library is **GA**, please note that the Google Cloud C++ client +libraries do **not** follow [Semantic Versioning](https://semver.org/). + +## Quickstart + +The [quickstart/](quickstart/README.md) directory contains a minimal environment +to get started using this client library in a larger project. The following +"Hello World" program is used in this quickstart, and should give you a taste of +this library. + + + +```cc +#include "google/cloud/workloadidentity/v1/workload_identity_client.h" +#include +#include + +int main(int argc, char* argv[]) try { + if (argc != 2) { + std::cerr << "Usage: " << argv[0] << " project-id\n"; + return 1; + } + + namespace workloadidentity = ::google::cloud::workloadidentity_v1; + auto client = workloadidentity::WorkloadIdentityClient( + workloadidentity::MakeWorkloadIdentityConnection()); + + auto const parent = + "projects/" + std::string(argv[1]) + + "/locations/global/serviceProducers/bigquery.googleapis.com"; + auto response = client.GenerateServiceAgents(parent).get(); + if (!response) throw std::move(response).status(); + std::cout << response->DebugString() << "\n"; + + return 0; +} catch (google::cloud::Status const& status) { + std::cerr << "google::cloud::Status thrown: " << status << "\n"; + return 1; +} +``` + + + +## More Information + +- Official documentation about the [Workload Identity API][cloud-service-docs] + service +- [Reference doxygen documentation][doxygen-link] for each release of this + client library +- Detailed header comments in our [public `.h`][source-link] files + +[cloud-service-docs]: https://cloud.google.com/iam/docs/service-agents +[doxygen-link]: https://cloud.google.com/cpp/docs/reference/workloadidentity/latest/ +[source-link]: https://github.com/googleapis/google-cloud-cpp/tree/main/google/cloud/workloadidentity diff --git a/google/cloud/workloadidentity/doc/environment-variables.dox b/google/cloud/workloadidentity/doc/environment-variables.dox new file mode 100644 index 0000000000000..fb94ff9c2222c --- /dev/null +++ b/google/cloud/workloadidentity/doc/environment-variables.dox @@ -0,0 +1,49 @@ +/*! +@page workloadidentity-env Environment Variables + +A number of environment variables can be used to configure the behavior of +the library. There are also functions to configure this behavior in code. The +environment variables are convenient when troubleshooting problems. + +@section workloadidentity-env-endpoint Endpoint Overrides + + + +- `GOOGLE_CLOUD_CPP_WORKLOAD_IDENTITY_ENDPOINT=...` overrides the + `EndpointOption` (which defaults to "workloadidentity.googleapis.com") + used by `MakeWorkloadIdentityConnection()`. + + + +@see google::cloud::EndpointOption + +@section workloadidentity-env-logging Logging + +`GOOGLE_CLOUD_CPP_ENABLE_TRACING=rpc`: turns on tracing for most gRPC +calls. The library injects an additional Stub decorator that prints each gRPC +request and response. Unless you have configured your own logging backend, +you should also set `GOOGLE_CLOUD_CPP_ENABLE_CLOG` to produce any output on +the program's console. + +@see google::cloud::LoggingComponentsOption + +`GOOGLE_CLOUD_CPP_TRACING_OPTIONS=...`: modifies the behavior of gRPC tracing, +including whether messages will be output on multiple lines, or whether +string/bytes fields will be truncated. + +@see google::cloud::GrpcTracingOptionsOption + +`GOOGLE_CLOUD_CPP_ENABLE_CLOG=yes`: turns on logging in the library, basically +the library always "logs" but the logging infrastructure has no backend to +actually print anything until the application sets a backend or they set this +environment variable. + +@see google::cloud::LogBackend +@see google::cloud::LogSink + +@section workloadidentity-env-project Setting the Default Project + +`GOOGLE_CLOUD_PROJECT=...`: is used in examples and integration tests to +configure the GCP project. This has no effect in the library. + +*/ diff --git a/google/cloud/workloadidentity/doc/main.dox b/google/cloud/workloadidentity/doc/main.dox new file mode 100644 index 0000000000000..63a66afa15808 --- /dev/null +++ b/google/cloud/workloadidentity/doc/main.dox @@ -0,0 +1,48 @@ +/*! + +@mainpage Workload Identity API C++ Client Library + +An idiomatic C++ client library for the [Workload Identity API][cloud-service-docs]. + + + +While this library is **GA**, please note that the Google Cloud C++ client libraries do **not** follow +[Semantic Versioning](https://semver.org/). + +@tableofcontents{HTML:2} + +## Quickstart + +The following shows the code that you'll run in the +`google/cloud/workloadidentity/quickstart/` directory, +which should give you a taste of the Workload Identity API C++ client library API. + +@snippet quickstart.cc all + +## Main classes + + +The main class in this library is +[`workloadidentity_v1::WorkloadIdentityClient`](@ref google::cloud::workloadidentity_v1::WorkloadIdentityClient). All RPCs are exposed +as member functions of this class. Other classes provide helpers, configuration +parameters, and infrastructure to mock +[`workloadidentity_v1::WorkloadIdentityClient`](@ref google::cloud::workloadidentity_v1::WorkloadIdentityClient) when testing your +application. + + +## More Information + +- @ref common-error-handling - describes how the library reports errors. +- @ref workloadidentity-override-endpoint - describes how to override the default + endpoint. +- @ref workloadidentity-override-authentication - describes how to change the + authentication credentials used by the library. +- @ref workloadidentity-override-retry - describes how to change the default retry + policies. +- @ref workloadidentity-env - describes environment variables that can configure the + behavior of the library. +- @ref workloadidentity-override-universe-domain - describes how to override the default universe domain. + +[cloud-service-docs]: https://cloud.google.com/iam/docs/service-agents + +*/ diff --git a/google/cloud/workloadidentity/doc/options.dox b/google/cloud/workloadidentity/doc/options.dox new file mode 100644 index 0000000000000..5b203833319d5 --- /dev/null +++ b/google/cloud/workloadidentity/doc/options.dox @@ -0,0 +1,10 @@ +/*! +@defgroup google-cloud-workloadidentity-options Workload Identity API Configuration Options + +This library uses the same mechanism (`google::cloud::Options`) and the common +[options](@ref options) as all other C++ client libraries for its configuration. +Some `*Option` classes, which are only used in this library, are documented in +this page. + +@see @ref options - for an overview of client library configuration. +*/ diff --git a/google/cloud/workloadidentity/doc/override-authentication.dox b/google/cloud/workloadidentity/doc/override-authentication.dox new file mode 100644 index 0000000000000..e85dcf2986ef6 --- /dev/null +++ b/google/cloud/workloadidentity/doc/override-authentication.dox @@ -0,0 +1,35 @@ +/*! +@page workloadidentity-override-authentication How to Override the Authentication Credentials + +Unless otherwise configured, the client libraries use +[Application Default Credentials] to authenticate with Google Cloud Services. +While this works for most applications, in some cases you may need to override +this default. You can do so by providing the +[UnifiedCredentialsOption](@ref google::cloud::UnifiedCredentialsOption) +The following example shows how to explicitly load a service account key file: + + +@snippet workload_identity_client_samples.cc with-service-account + + + +Keep in mind that we chose this as an example because it is relatively easy to +understand. Consult the [Best practices for managing service account keys] +guide for more details. + +@see @ref guac - for more information on the factory functions to create +`google::cloud::Credentials` objects. + +[Best practices for managing service account keys]: https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys +[Application Default Credentials]: https://cloud.google.com/docs/authentication#adc + +*/ + +// + +/*! @page workloadidentity_v1::WorkloadIdentityClient-service-account-snippet Override workloadidentity_v1::WorkloadIdentityClient Authentication Defaults + +@snippet google/cloud/workloadidentity/v1/samples/workload_identity_client_samples.cc with-service-account + +*/ +// diff --git a/google/cloud/workloadidentity/doc/override-endpoint.dox b/google/cloud/workloadidentity/doc/override-endpoint.dox new file mode 100644 index 0000000000000..743e181271927 --- /dev/null +++ b/google/cloud/workloadidentity/doc/override-endpoint.dox @@ -0,0 +1,25 @@ +/*! +@page workloadidentity-override-endpoint How to Override the Default Endpoint + +In some cases, you may need to override the default endpoint used by the client +library. Use the +[EndpointOption](@ref google::cloud::EndpointOption) when initializing the +client library to change this default. + + +For example, this will override the default endpoint for `workloadidentity_v1::WorkloadIdentityClient`: + +@snippet workload_identity_client_samples.cc set-client-endpoint + + + +*/ + +// + +/*! @page workloadidentity_v1::WorkloadIdentityClient-endpoint-snippet Override workloadidentity_v1::WorkloadIdentityClient Endpoint Configuration + +@snippet google/cloud/workloadidentity/v1/samples/workload_identity_client_samples.cc set-client-endpoint + +*/ +// diff --git a/google/cloud/workloadidentity/doc/override-retry-policies.dox b/google/cloud/workloadidentity/doc/override-retry-policies.dox new file mode 100644 index 0000000000000..f72bc21d43617 --- /dev/null +++ b/google/cloud/workloadidentity/doc/override-retry-policies.dox @@ -0,0 +1,108 @@ +/*! +@page workloadidentity-override-retry Override Retry, Backoff, and Idempotency Policies + +When it is safe to do so, the library automatically retries requests that fail +due to a transient error. The library then uses [exponential backoff] to backoff +before trying again. Which operations are considered safe to retry, which +errors are treated as transient failures, the details of the exponential backoff +algorithm, and for how long the library retries are all configurable via +policies. + +This document provides examples showing how to override the default policies. + +The policies can be set when the `*Connection` object is created. The library +provides default policies for any policy that is not set. The application can +also override some (or all) policies when the `*Client` object is created. This +can be useful if multiple `*Client` objects share the same `*Connection` object, +but you want different retry behavior in some of the clients. Finally, the +application can override some retry policies when calling a specific member +function. + +The library uses three different options to control the retry loop. The options +have per-client names. + +@section workloadidentity-override-retry-retry-policy Configuring the transient errors and retry duration + +The `*RetryPolicyOption` controls: + +- Which errors are to be treated as transient errors. +- How long the library will keep retrying transient errors. + +You can provide your own class for this option. The library also provides two +built-in policies: + +- `*LimitedErrorCountRetryPolicy`: stops retrying after a specified number + of transient errors. +- `*LimitedTimeRetryPolicy`: stops retrying after a specified time. + +Note that a library may have more than one version of these classes. Their name +match the `*Client` and `*Connection` object they are intended to be used +with. Some `*Client` objects treat different error codes as transient errors. +In most cases, only [kUnavailable](@ref google::cloud::StatusCode) is treated +as a transient error. + +@section workloadidentity-override-retry-backoff-policy Controlling the backoff algorithm + +The `*BackoffPolicyOption` controls how long the client library will wait +before retrying a request that failed with a transient error. You can provide +your own class for this option. + +The only built-in backoff policy is +[`ExponentialBackoffPolicy`](@ref google::cloud::ExponentialBackoffPolicy). +This class implements a truncated exponential backoff algorithm, with jitter. +In summary, it doubles the current backoff time after each failure. The actual +backoff time for an RPC is chosen at random, but never exceeds the current +backoff. The current backoff is doubled after each failure, but never exceeds +(or is "truncated") if it reaches a prescribed maximum. + +@section workloadidentity-override-retry-idempotency-policy Controlling which operations are retryable + +The `*IdempotencyPolicyOption` controls which requests are retryable, as some +requests are never safe to retry. + +Only one built-in idempotency policy is provided by the library. The name +matches the name of the client it is intended for. For example, `FooBarClient` +will use `FooBarIdempotencyPolicy`. This policy is very conservative. + +@section workloadidentity-override-retry-example Example + + +For example, this will override the retry policies for `workloadidentity_v1::WorkloadIdentityClient`: + +@snippet workload_identity_client_samples.cc set-retry-policy + +This assumes you have created a custom idempotency policy. Such as: + +@snippet workload_identity_client_samples.cc custom-idempotency-policy + +This will override the polling policies for `workloadidentity_v1::WorkloadIdentityClient` + +@snippet workload_identity_client_samples.cc set-polling-policy + + + + +@section workloadidentity-override-retry-more-information More Information + +@see google::cloud::Options +@see google::cloud::BackoffPolicy +@see google::cloud::ExponentialBackoffPolicy + +[exponential backoff]: https://en.wikipedia.org/wiki/Exponential_backoff + +*/ + +// + +/*! @page workloadidentity_v1::WorkloadIdentityClient-retry-snippet Override workloadidentity_v1::WorkloadIdentityClient Retry Policies + +This shows how to override the retry policies for workloadidentity_v1::WorkloadIdentityClient: + +@snippet google/cloud/workloadidentity/v1/samples/workload_identity_client_samples.cc set-retry-policy + +Assuming you have created a custom idempotency policy. Such as: + +@snippet google/cloud/workloadidentity/v1/samples/workload_identity_client_samples.cc custom-idempotency-policy + +*/ +// diff --git a/google/cloud/workloadidentity/doc/override-universe-domain.dox b/google/cloud/workloadidentity/doc/override-universe-domain.dox new file mode 100644 index 0000000000000..3f57d4994d7c9 --- /dev/null +++ b/google/cloud/workloadidentity/doc/override-universe-domain.dox @@ -0,0 +1,24 @@ +/*! +@page workloadidentity-override-universe-domain How to Override the Default Universe Domain + +In some cases, you may need to override the default universe domain used by the +client library. Use `AddUniverseDomainOption` when initializing the client +library to change this default. + + +For example, this will override the default universe domain for `workloadidentity_v1::WorkloadIdentityClient`: + +@snippet workload_identity_client_samples.cc set-client-universe-domain + + + +*/ + +// + +/*! @page workloadidentity_v1::WorkloadIdentityClient-universe-domain-snippet Override workloadidentity_v1::WorkloadIdentityClient Universe Domain + +@snippet google/cloud/workloadidentity/v1/samples/workload_identity_client_samples.cc set-client-universe-domain + +*/ +// diff --git a/google/cloud/workloadidentity/quickstart/.bazelrc b/google/cloud/workloadidentity/quickstart/.bazelrc new file mode 100644 index 0000000000000..e88672558bca1 --- /dev/null +++ b/google/cloud/workloadidentity/quickstart/.bazelrc @@ -0,0 +1,29 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# Use host-OS-specific config lines from bazelrc files. +build --enable_platform_specific_config=true + +# The project requires C++ >= 17. +build:linux --cxxopt=-std=c++17 +build:macos --cxxopt=-std=c++17 +# Protobuf and gRPC require (or soon will require) C++17 to compile the "host" +# targets, such as protoc and the grpc plugin. +build:linux --host_cxxopt=-std=c++17 +build:macos --host_cxxopt=-std=c++17 + +# Do not create the convenience links. They are inconvenient when the build +# runs inside a docker image or if one builds a quickstart and then builds +# the project separately. +build --experimental_convenience_symlinks=ignore diff --git a/google/cloud/workloadidentity/quickstart/BUILD.bazel b/google/cloud/workloadidentity/quickstart/BUILD.bazel new file mode 100644 index 0000000000000..21dd37ebb5371 --- /dev/null +++ b/google/cloud/workloadidentity/quickstart/BUILD.bazel @@ -0,0 +1,25 @@ +# 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. + +licenses(["notice"]) # Apache 2.0 + +cc_binary( + name = "quickstart", + srcs = [ + "quickstart.cc", + ], + deps = [ + "@google_cloud_cpp//:workloadidentity", + ], +) diff --git a/google/cloud/workloadidentity/quickstart/CMakeLists.txt b/google/cloud/workloadidentity/quickstart/CMakeLists.txt new file mode 100644 index 0000000000000..4180814d1bdb8 --- /dev/null +++ b/google/cloud/workloadidentity/quickstart/CMakeLists.txt @@ -0,0 +1,35 @@ +# 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. + +# This file shows how to use the Workload Identity API C++ client library from a +# larger CMake project. + +cmake_minimum_required(VERSION 3.22...3.31) +project(google-cloud-cpp-workloadidentity-quickstart CXX) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +find_package(google_cloud_cpp_workloadidentity REQUIRED) + +# MSVC requires some additional code to select the correct runtime library +if (VCPKG_TARGET_TRIPLET MATCHES "-static$") + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") +else () + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") +endif () + +# Define your targets. +add_executable(quickstart quickstart.cc) +target_link_libraries(quickstart google-cloud-cpp::workloadidentity) diff --git a/google/cloud/workloadidentity/quickstart/Makefile b/google/cloud/workloadidentity/quickstart/Makefile new file mode 100644 index 0000000000000..a34b22bfafc9e --- /dev/null +++ b/google/cloud/workloadidentity/quickstart/Makefile @@ -0,0 +1,35 @@ +# 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. + +# This is a minimal Makefile to show how to use the Workload Identity API C++ client +# for developers who use make(1) as their build system. + +# The CXX, CXXFLAGS and CXXLD variables are hard-coded. These values work for +# our tests, but applications would typically make them configurable parameters. +CXX=g++ +CXXFLAGS=-std=c++17 +CXXLD=$(CXX) +BIN=. + +all: $(BIN)/quickstart + +# Configuration variables to compile and link against the Workload Identity API C++ +# client library. +CLIENT_MODULE := google_cloud_cpp_workloadidentity +CLIENT_CXXFLAGS := $(shell pkg-config $(CLIENT_MODULE) --cflags) +CLIENT_CXXLDFLAGS := $(shell pkg-config $(CLIENT_MODULE) --libs-only-L) +CLIENT_LIBS := $(shell pkg-config $(CLIENT_MODULE) --libs-only-l) + +$(BIN)/quickstart: quickstart.cc + $(CXXLD) $(CXXFLAGS) $(CLIENT_CXXFLAGS) $(CLIENT_CXXLDFLAGS) -o $@ $^ $(CLIENT_LIBS) diff --git a/google/cloud/workloadidentity/quickstart/README.md b/google/cloud/workloadidentity/quickstart/README.md new file mode 100644 index 0000000000000..060772f145448 --- /dev/null +++ b/google/cloud/workloadidentity/quickstart/README.md @@ -0,0 +1,135 @@ +# HOWTO: using the Workload Identity API C++ client in your project + +This directory contains small examples showing how to use the Workload Identity +API C++ client library in your own project. These instructions assume that you +have some experience as a C++ developer and that you have a working C++ +toolchain (compiler, linker, etc.) installed on your platform. + +- Packaging maintainers or developers who prefer to install the library in a + fixed directory (such as `/usr/local` or `/opt`) should consult the + [packaging guide](/doc/packaging.md). +- Developers who prefer using a package manager such as + [vcpkg](https://vcpkg.io), or [Conda](https://conda.io), should follow the + instructions for their package manager. +- Developers wanting to use the libraries as part of a larger CMake or Bazel + project should consult the current document. Note that there are similar + documents for each library in their corresponding directories. +- Developers wanting to compile the library just to run some examples or tests + should consult the + [building and installing](/README.md#building-and-installing) section of the + top-level README file. +- Contributors and developers to `google-cloud-cpp` should consult the guide to + [set up a development workstation][howto-setup-dev-workstation]. + +## Before you begin + +To run the quickstart examples you will need a working Google Cloud Platform +(GCP) project. + +## Configuring authentication for the C++ Client Library + +Like most Google Cloud Platform (GCP) services, Workload Identity API requires +that your application authenticates with the service before accessing any data. +If you are not familiar with GCP authentication please take this opportunity to +review the [Authentication methods at Google][authentication-quickstart]. + +## Using with Bazel + +> :warning: If you are using Windows or macOS there are additional instructions +> at the end of this document. + +1. Install Bazel using [the instructions][bazel-install] from the `bazel.build` + website. + +1. Compile this example using Bazel: + + ```bash + cd $HOME/google-cloud-cpp/google/cloud/workloadidentity/quickstart + bazel build ... + ``` + + Note that Bazel automatically downloads and compiles all dependencies of the + project. As it is often the case with C++ libraries, compiling these + dependencies may take several minutes. + +1. Run the example, changing the placeholder(s) to appropriate values: + + ```bash + bazel run :quickstart -- [...] + ``` + +## Using with CMake + +> :warning: If you are using Windows or macOS there are additional instructions +> at the end of this document. + +1. Install CMake. The package managers for most Linux distributions include a + package for CMake. Likewise, you can install CMake on Windows using a package + manager such as [chocolatey][choco-cmake-link], and on macOS using + [homebrew][homebrew-cmake-link]. You can also obtain the software directly + from the [cmake.org](https://cmake.org/download/). + +1. Install the dependencies with your favorite tools. As an example, if you use + [vcpkg](https://github.com/Microsoft/vcpkg.git): + + ```bash + cd $HOME/vcpkg + ./vcpkg install google-cloud-cpp[core,workloadidentity] + ``` + + Note that, as it is often the case with C++ libraries, compiling these + dependencies may take several minutes. + +1. Configure CMake, if necessary, configure the directory where you installed + the dependencies: + + ```bash + cd $HOME/google-cloud-cpp/google/cloud/workloadidentity/quickstart + cmake -S . -B .build -DCMAKE_TOOLCHAIN_FILE=$HOME/vcpkg/scripts/buildsystems/vcpkg.cmake + cmake --build .build + ``` + +1. Run the example, changing the placeholder(s) to appropriate values: + + ```bash + .build/quickstart [...] + ``` + +## Platform Specific Notes + +### macOS + +gRPC [requires][grpc-roots-pem-bug] an environment variable to configure the +trust store for SSL certificates, you can download and configure this using: + +```bash +curl -Lo roots.pem https://pki.google.com/roots.pem +export GRPC_DEFAULT_SSL_ROOTS_FILE_PATH="$PWD/roots.pem" +``` + +### Windows + +Bazel tends to create very long file names and paths. You may need to use a +short directory to store the build output, such as `c:\b`, and instruct Bazel to +use it via: + +```shell +bazel --output_user_root=c:\b build ... +``` + +gRPC [requires][grpc-roots-pem-bug] an environment variable to configure the +trust store for SSL certificates, you can download and configure this using: + +```console +@powershell -NoProfile -ExecutionPolicy unrestricted -Command ^ + (new-object System.Net.WebClient).Downloadfile( ^ + 'https://pki.google.com/roots.pem', 'roots.pem') +set GRPC_DEFAULT_SSL_ROOTS_FILE_PATH=%cd%\roots.pem +``` + +[authentication-quickstart]: https://cloud.google.com/docs/authentication/client-libraries "Authenticate for using client libraries" +[bazel-install]: https://docs.bazel.build/versions/main/install.html +[choco-cmake-link]: https://chocolatey.org/packages/cmake +[grpc-roots-pem-bug]: https://github.com/grpc/grpc/issues/16571 +[homebrew-cmake-link]: https://formulae.brew.sh/formula/cmake +[howto-setup-dev-workstation]: /doc/contributor/howto-guide-setup-development-workstation.md diff --git a/google/cloud/workloadidentity/quickstart/WORKSPACE.bazel b/google/cloud/workloadidentity/quickstart/WORKSPACE.bazel new file mode 100644 index 0000000000000..325e603c33f8a --- /dev/null +++ b/google/cloud/workloadidentity/quickstart/WORKSPACE.bazel @@ -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. + +# A minimal WORKSPACE file showing how to use the Workload Identity API +# C++ client library in Bazel-based projects. +workspace(name = "qs") + +# Add the necessary Starlark functions to fetch google-cloud-cpp. +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +# Fetch the Google Cloud C++ libraries. +# NOTE: Update this version and SHA256 as needed. +http_archive( + name = "google_cloud_cpp", + sha256 = "d0a3a670f468ddd059ffb39780df958b3ffaca12ebcae63193072b759b95add2", + strip_prefix = "google-cloud-cpp-3.8.0", + url = "https://github.com/googleapis/google-cloud-cpp/archive/v3.8.0.tar.gz", +) + +load("@google_cloud_cpp//bazel:workspace0.bzl", "gl_cpp_workspace0") + +gl_cpp_workspace0() + +load("@google_cloud_cpp//bazel:workspace1.bzl", "gl_cpp_workspace1") + +gl_cpp_workspace1() + +load("@google_cloud_cpp//bazel:workspace2.bzl", "gl_cpp_workspace2") + +gl_cpp_workspace2() + +load("@google_cloud_cpp//bazel:workspace3.bzl", "gl_cpp_workspace3") + +gl_cpp_workspace3() + +load("@google_cloud_cpp//bazel:workspace4.bzl", "gl_cpp_workspace4") + +gl_cpp_workspace4() + +load("@google_cloud_cpp//bazel:workspace5.bzl", "gl_cpp_workspace5") + +gl_cpp_workspace5() diff --git a/google/cloud/workloadidentity/quickstart/quickstart.cc b/google/cloud/workloadidentity/quickstart/quickstart.cc new file mode 100644 index 0000000000000..711b5418ae8ad --- /dev/null +++ b/google/cloud/workloadidentity/quickstart/quickstart.cc @@ -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. + +//! [all] +#include "google/cloud/workloadidentity/v1/workload_identity_client.h" +#include +#include + +int main(int argc, char* argv[]) try { + if (argc != 2) { + std::cerr << "Usage: " << argv[0] << " project-id\n"; + return 1; + } + + namespace workloadidentity = ::google::cloud::workloadidentity_v1; + auto client = workloadidentity::WorkloadIdentityClient( + workloadidentity::MakeWorkloadIdentityConnection()); + + auto const parent = + "projects/" + std::string(argv[1]) + + "/locations/global/serviceProducers/bigquery.googleapis.com"; + auto response = client.GenerateServiceAgents(parent).get(); + if (!response) throw std::move(response).status(); + std::cout << response->DebugString() << "\n"; + + return 0; +} catch (google::cloud::Status const& status) { + std::cerr << "google::cloud::Status thrown: " << status << "\n"; + return 1; +} +//! [all] diff --git a/google/cloud/workloadidentity/v1/.repo-metadata.json b/google/cloud/workloadidentity/v1/.repo-metadata.json new file mode 100644 index 0000000000000..a13d4c0f471fd --- /dev/null +++ b/google/cloud/workloadidentity/v1/.repo-metadata.json @@ -0,0 +1,14 @@ +{ + "api_id": "workloadidentity.googleapis.com", + "api_shortname": "workloadidentity", + "client_documentation": "https://cloud.google.com/cpp/docs/reference/workloadidentity/latest", + "distribution_name": "google-cloud-cpp", + "issue_tracker": "https://issuetracker.google.com/issues?q=componentid:943104%20status=open", + "language": "cpp", + "library_type": "GAPIC_AUTO", + "name_pretty": "Workload Identity API", + "product_documentation": "https://cloud.google.com/iam/docs/service-agents", + "release_level": "stable", + "repo": "googleapis/google-cloud-cpp", + "requires_billing": true +} diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_auth_decorator.cc b/google/cloud/workloadidentity/v1/internal/workload_identity_auth_decorator.cc new file mode 100644 index 0000000000000..c417191d1008f --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_auth_decorator.cc @@ -0,0 +1,159 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_auth_decorator.h" +#include "google/cloud/workloadidentity/v1/service.grpc.pb.h" +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +WorkloadIdentityAuth::WorkloadIdentityAuth( + std::shared_ptr auth, + std::shared_ptr child) + : auth_(std::move(auth)), child_(std::move(child)) {} + +future> +WorkloadIdentityAuth::AsyncGenerateServiceAgents( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) { + using ReturnType = StatusOr; + return auth_->AsyncConfigureContext(std::move(context)) + .then([cq, child = child_, options = std::move(options), + request](future>> + f) mutable { + auto context = f.get(); + if (!context) { + return make_ready_future(ReturnType(std::move(context).status())); + } + return child->AsyncGenerateServiceAgents(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr +WorkloadIdentityAuth::GenerateServiceAgents( + grpc::ClientContext& context, Options options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GenerateServiceAgents(context, options, request); +} + +StatusOr +WorkloadIdentityAuth::ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListLocations(context, options, request); +} + +StatusOr WorkloadIdentityAuth::GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetLocation(context, options, request); +} + +StatusOr +WorkloadIdentityAuth::ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListOperations(context, options, request); +} + +StatusOr WorkloadIdentityAuth::GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetOperation(context, options, request); +} + +Status WorkloadIdentityAuth::DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeleteOperation(context, options, request); +} + +Status WorkloadIdentityAuth::CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->CancelOperation(context, options, request); +} + +future> +WorkloadIdentityAuth::AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + using ReturnType = StatusOr; + return auth_->AsyncConfigureContext(std::move(context)) + .then([cq, child = child_, options = std::move(options), + request](future>> + f) mutable { + auto context = f.get(); + if (!context) { + return make_ready_future(ReturnType(std::move(context).status())); + } + return child->AsyncGetOperation(cq, *std::move(context), + std::move(options), request); + }); +} + +future WorkloadIdentityAuth::AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return auth_->AsyncConfigureContext(std::move(context)) + .then([cq, child = child_, options = std::move(options), + request](future>> + f) mutable { + auto context = f.get(); + if (!context) return make_ready_future(std::move(context).status()); + return child->AsyncCancelOperation(cq, *std::move(context), + std::move(options), request); + }); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_auth_decorator.h b/google/cloud/workloadidentity/v1/internal/workload_identity_auth_decorator.h new file mode 100644 index 0000000000000..94052f213009e --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_auth_decorator.h @@ -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. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_AUTH_DECORATOR_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_AUTH_DECORATOR_H + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_stub.h" +#include "google/cloud/internal/unified_grpc_credentials.h" +#include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" +#include +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class WorkloadIdentityAuth : public WorkloadIdentityStub { + public: + ~WorkloadIdentityAuth() override = default; + WorkloadIdentityAuth( + std::shared_ptr auth, + std::shared_ptr child); + + future> AsyncGenerateServiceAgents( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) override; + + StatusOr GenerateServiceAgents( + grpc::ClientContext& context, Options options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) override; + + StatusOr ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) override; + + StatusOr GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) override; + + StatusOr ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) override; + + StatusOr GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) override; + + future> AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) override; + + future AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::shared_ptr auth_; + std::shared_ptr child_; +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_AUTH_DECORATOR_H diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_connection_impl.cc b/google/cloud/workloadidentity/v1/internal/workload_identity_connection_impl.cc new file mode 100644 index 0000000000000..c5872ac8631e8 --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_connection_impl.cc @@ -0,0 +1,297 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_connection_impl.h" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_option_defaults.h" +#include "google/cloud/background_threads.h" +#include "google/cloud/common_options.h" +#include "google/cloud/grpc_options.h" +#include "google/cloud/internal/async_long_running_operation.h" +#include "google/cloud/internal/pagination_range.h" +#include "google/cloud/internal/retry_loop.h" +#include +#include + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN +namespace { + +std::unique_ptr retry_policy( + Options const& options) { + return options.get() + ->clone(); +} + +std::unique_ptr backoff_policy(Options const& options) { + return options + .get() + ->clone(); +} + +std::unique_ptr< + workloadidentity_v1::WorkloadIdentityConnectionIdempotencyPolicy> +idempotency_policy(Options const& options) { + return options + .get() + ->clone(); +} + +std::unique_ptr polling_policy(Options const& options) { + return options + .get() + ->clone(); +} + +} // namespace + +WorkloadIdentityConnectionImpl::WorkloadIdentityConnectionImpl( + std::unique_ptr background, + std::shared_ptr stub, + Options options) + : background_(std::move(background)), + stub_(std::move(stub)), + options_(internal::MergeOptions(std::move(options), + WorkloadIdentityConnection::options())) {} + +future> +WorkloadIdentityConnectionImpl::GenerateServiceAgents( + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->GenerateServiceAgents(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::workloadidentity::v1::GenerateServiceAgentsResponse>( + background_->cq(), current, std::move(request_copy), + [stub = stub_](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::workloadidentity::v1:: + GenerateServiceAgentsRequest const& request) { + return stub->AsyncGenerateServiceAgents(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return stub->AsyncGetOperation(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return stub->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); + }, + &google::cloud::internal::ExtractLongRunningResultResponse< + google::cloud::workloadidentity::v1::GenerateServiceAgentsResponse>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +WorkloadIdentityConnectionImpl::GenerateServiceAgents( + NoAwaitTag, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GenerateServiceAgents(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::workloadidentity::v1:: + GenerateServiceAgentsRequest const& request) { + return stub_->GenerateServiceAgents(context, options, request); + }, + *current, request, __func__); +} + +future> +WorkloadIdentityConnectionImpl::GenerateServiceAgents( + google::longrunning::Operation const& operation) { + auto current = google::cloud::internal::SaveCurrentOptions(); + if (!operation.metadata() + .Is()) { + return make_ready_future>( + internal::InvalidArgumentError( + "operation does not correspond to GenerateServiceAgents", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::workloadidentity::v1::GenerateServiceAgentsResponse>( + background_->cq(), current, operation, + [stub = stub_](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return stub->AsyncGetOperation(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return stub->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); + }, + &google::cloud::internal::ExtractLongRunningResultResponse< + google::cloud::workloadidentity::v1::GenerateServiceAgentsResponse>, + polling_policy(*current), __func__); +} + +StreamRange +WorkloadIdentityConnectionImpl::ListLocations( + google::cloud::location::ListLocationsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListLocations(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = + std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::location::ListLocationsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub]( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + return stub->ListLocations(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::location::ListLocationsResponse r) { + std::vector result( + r.locations().size()); + auto& messages = *r.mutable_locations(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +WorkloadIdentityConnectionImpl::GetLocation( + google::cloud::location::GetLocationRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetLocation(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) { + return stub_->GetLocation(context, options, request); + }, + *current, request, __func__); +} + +StreamRange +WorkloadIdentityConnectionImpl::ListOperations( + google::longrunning::ListOperationsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListOperations(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = + std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::longrunning::ListOperationsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + return stub->ListOperations(context, options, request); + }, + options, r, function_name); + }, + [](google::longrunning::ListOperationsResponse r) { + std::vector result( + r.operations().size()); + auto& messages = *r.mutable_operations(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +WorkloadIdentityConnectionImpl::GetOperation( + google::longrunning::GetOperationRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetOperation(request), + [this](grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) { + return stub_->GetOperation(context, options, request); + }, + *current, request, __func__); +} + +Status WorkloadIdentityConnectionImpl::DeleteOperation( + google::longrunning::DeleteOperationRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeleteOperation(request), + [this](grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) { + return stub_->DeleteOperation(context, options, request); + }, + *current, request, __func__); +} + +Status WorkloadIdentityConnectionImpl::CancelOperation( + google::longrunning::CancelOperationRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->CancelOperation(request), + [this](grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) { + return stub_->CancelOperation(context, options, request); + }, + *current, request, __func__); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_connection_impl.h b/google/cloud/workloadidentity/v1/internal/workload_identity_connection_impl.h new file mode 100644 index 0000000000000..3008501e0704d --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_connection_impl.h @@ -0,0 +1,100 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_CONNECTION_IMPL_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_CONNECTION_IMPL_H + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_retry_traits.h" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_stub.h" +#include "google/cloud/workloadidentity/v1/workload_identity_connection.h" +#include "google/cloud/workloadidentity/v1/workload_identity_connection_idempotency_policy.h" +#include "google/cloud/workloadidentity/v1/workload_identity_options.h" +#include "google/cloud/background_threads.h" +#include "google/cloud/backoff_policy.h" +#include "google/cloud/future.h" +#include "google/cloud/options.h" +#include "google/cloud/polling_policy.h" +#include "google/cloud/status_or.h" +#include "google/cloud/stream_range.h" +#include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" +#include + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class WorkloadIdentityConnectionImpl + : public workloadidentity_v1::WorkloadIdentityConnection { + public: + ~WorkloadIdentityConnectionImpl() override = default; + + WorkloadIdentityConnectionImpl( + std::unique_ptr background, + std::shared_ptr stub, + Options options); + + Options options() override { return options_; } + + future> + GenerateServiceAgents( + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) override; + + StatusOr GenerateServiceAgents( + NoAwaitTag, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) override; + + future> + GenerateServiceAgents( + google::longrunning::Operation const& operation) override; + + StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request) override; + + StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request) override; + + StreamRange ListOperations( + google::longrunning::ListOperationsRequest request) override; + + StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::unique_ptr background_; + std::shared_ptr stub_; + Options options_; +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_CONNECTION_IMPL_H diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_logging_decorator.cc b/google/cloud/workloadidentity/v1/internal/workload_identity_logging_decorator.cc new file mode 100644 index 0000000000000..84169417b7e10 --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_logging_decorator.cc @@ -0,0 +1,184 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_logging_decorator.h" +#include "google/cloud/workloadidentity/v1/service.grpc.pb.h" +#include "google/cloud/internal/log_wrapper.h" +#include "google/cloud/status_or.h" +#include +#include +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +WorkloadIdentityLogging::WorkloadIdentityLogging( + std::shared_ptr child, TracingOptions tracing_options, + std::set const&) + : child_(std::move(child)), tracing_options_(std::move(tracing_options)) {} + +future> +WorkloadIdentityLogging::AsyncGenerateServiceAgents( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::workloadidentity::v1:: + GenerateServiceAgentsRequest const& request) { + return child_->AsyncGenerateServiceAgents(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +WorkloadIdentityLogging::GenerateServiceAgents( + grpc::ClientContext& context, Options options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::workloadidentity::v1:: + GenerateServiceAgentsRequest const& request) { + return child_->GenerateServiceAgents(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +WorkloadIdentityLogging::ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + return child_->ListLocations(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +WorkloadIdentityLogging::GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) { + return child_->GetLocation(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +WorkloadIdentityLogging::ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + return child_->ListOperations(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr WorkloadIdentityLogging::GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) { + return child_->GetOperation(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +Status WorkloadIdentityLogging::DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) { + return child_->DeleteOperation(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +Status WorkloadIdentityLogging::CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) { + return child_->CancelOperation(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +WorkloadIdentityLogging::AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return child_->AsyncGetOperation(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +future WorkloadIdentityLogging::AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return child_->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_logging_decorator.h b/google/cloud/workloadidentity/v1/internal/workload_identity_logging_decorator.h new file mode 100644 index 0000000000000..d1575e62c5e30 --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_logging_decorator.h @@ -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. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_LOGGING_DECORATOR_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_LOGGING_DECORATOR_H + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_stub.h" +#include "google/cloud/tracing_options.h" +#include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" +#include +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class WorkloadIdentityLogging : public WorkloadIdentityStub { + public: + ~WorkloadIdentityLogging() override = default; + WorkloadIdentityLogging(std::shared_ptr child, + TracingOptions tracing_options, + std::set const& components); + + future> AsyncGenerateServiceAgents( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) override; + + StatusOr GenerateServiceAgents( + grpc::ClientContext& context, Options options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) override; + + StatusOr ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) override; + + StatusOr GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) override; + + StatusOr ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) override; + + StatusOr GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) override; + + future> AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) override; + + future AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::shared_ptr child_; + TracingOptions tracing_options_; +}; // WorkloadIdentityLogging + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_LOGGING_DECORATOR_H diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_metadata_decorator.cc b/google/cloud/workloadidentity/v1/internal/workload_identity_metadata_decorator.cc new file mode 100644 index 0000000000000..0fa52276e7fac --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_metadata_decorator.cc @@ -0,0 +1,166 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_metadata_decorator.h" +#include "google/cloud/workloadidentity/v1/service.grpc.pb.h" +#include "google/cloud/grpc_options.h" +#include "google/cloud/internal/api_client_header.h" +#include "google/cloud/internal/url_encode.h" +#include "google/cloud/status_or.h" +#include "absl/strings/str_cat.h" +#include "absl/strings/str_join.h" +#include +#include +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +WorkloadIdentityMetadata::WorkloadIdentityMetadata( + std::shared_ptr child, + std::multimap fixed_metadata, + std::string api_client_header) + : child_(std::move(child)), + fixed_metadata_(std::move(fixed_metadata)), + api_client_header_( + api_client_header.empty() + ? google::cloud::internal::GeneratedLibClientHeader() + : std::move(api_client_header)) {} + +future> +WorkloadIdentityMetadata::AsyncGenerateServiceAgents( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) { + SetMetadata(*context, *options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->AsyncGenerateServiceAgents(cq, std::move(context), + std::move(options), request); +} + +StatusOr +WorkloadIdentityMetadata::GenerateServiceAgents( + grpc::ClientContext& context, Options options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->GenerateServiceAgents(context, options, request); +} + +StatusOr +WorkloadIdentityMetadata::ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->ListLocations(context, options, request); +} + +StatusOr +WorkloadIdentityMetadata::GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetLocation(context, options, request); +} + +StatusOr +WorkloadIdentityMetadata::ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->ListOperations(context, options, request); +} + +StatusOr WorkloadIdentityMetadata::GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetOperation(context, options, request); +} + +Status WorkloadIdentityMetadata::DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->DeleteOperation(context, options, request); +} + +Status WorkloadIdentityMetadata::CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->CancelOperation(context, options, request); +} + +future> +WorkloadIdentityMetadata::AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncGetOperation(cq, std::move(context), std::move(options), + request); +} + +future WorkloadIdentityMetadata::AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); +} + +void WorkloadIdentityMetadata::SetMetadata(grpc::ClientContext& context, + Options const& options, + std::string const& request_params) { + context.AddMetadata("x-goog-request-params", request_params); + SetMetadata(context, options); +} + +void WorkloadIdentityMetadata::SetMetadata(grpc::ClientContext& context, + Options const& options) { + google::cloud::internal::SetMetadata(context, options, fixed_metadata_, + api_client_header_); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_metadata_decorator.h b/google/cloud/workloadidentity/v1/internal/workload_identity_metadata_decorator.h new file mode 100644 index 0000000000000..c65741dbdbb27 --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_metadata_decorator.h @@ -0,0 +1,111 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_METADATA_DECORATOR_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_METADATA_DECORATOR_H + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_stub.h" +#include "google/cloud/options.h" +#include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" +#include +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class WorkloadIdentityMetadata : public WorkloadIdentityStub { + public: + ~WorkloadIdentityMetadata() override = default; + WorkloadIdentityMetadata( + std::shared_ptr child, + std::multimap fixed_metadata, + std::string api_client_header = ""); + + future> AsyncGenerateServiceAgents( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) override; + + StatusOr GenerateServiceAgents( + grpc::ClientContext& context, Options options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) override; + + StatusOr ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) override; + + StatusOr GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) override; + + StatusOr ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) override; + + StatusOr GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) override; + + future> AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) override; + + future AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) override; + + private: + void SetMetadata(grpc::ClientContext& context, Options const& options, + std::string const& request_params); + void SetMetadata(grpc::ClientContext& context, Options const& options); + + std::shared_ptr child_; + std::multimap fixed_metadata_; + std::string api_client_header_; +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_METADATA_DECORATOR_H diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_option_defaults.cc b/google/cloud/workloadidentity/v1/internal/workload_identity_option_defaults.cc new file mode 100644 index 0000000000000..aea29e54dc985 --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_option_defaults.cc @@ -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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_option_defaults.h" +#include "google/cloud/workloadidentity/v1/workload_identity_connection.h" +#include "google/cloud/workloadidentity/v1/workload_identity_options.h" +#include "google/cloud/internal/populate_common_options.h" +#include "google/cloud/internal/populate_grpc_options.h" +#include +#include + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +namespace { +auto constexpr kBackoffScaling = 2.0; +} // namespace + +Options WorkloadIdentityDefaultOptions(Options options) { + options = internal::PopulateCommonOptions( + std::move(options), "GOOGLE_CLOUD_CPP_WORKLOAD_IDENTITY_ENDPOINT", "", + "GOOGLE_CLOUD_CPP_WORKLOAD_IDENTITY_AUTHORITY", + "workloadidentity.googleapis.com"); + options = internal::PopulateGrpcOptions(std::move(options)); + if (!options.has()) { + options.set( + workloadidentity_v1::WorkloadIdentityLimitedTimeRetryPolicy( + std::chrono::minutes(10)) + .clone()); + } + if (!options + .has()) { + options.set( + ExponentialBackoffPolicy( + std::chrono::seconds(0), std::chrono::seconds(1), + std::chrono::minutes(5), kBackoffScaling, kBackoffScaling) + .clone()); + } + if (!options + .has()) { + options.set( + GenericPollingPolicy< + workloadidentity_v1::WorkloadIdentityRetryPolicyOption::Type, + workloadidentity_v1::WorkloadIdentityBackoffPolicyOption::Type>( + options + .get() + ->clone(), + ExponentialBackoffPolicy(std::chrono::seconds(1), + std::chrono::minutes(5), kBackoffScaling) + .clone()) + .clone()); + } + if (!options.has()) { + options.set< + workloadidentity_v1::WorkloadIdentityConnectionIdempotencyPolicyOption>( + workloadidentity_v1:: + MakeDefaultWorkloadIdentityConnectionIdempotencyPolicy()); + } + + return options; +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_option_defaults.h b/google/cloud/workloadidentity/v1/internal/workload_identity_option_defaults.h new file mode 100644 index 0000000000000..f7ce399b5e981 --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_option_defaults.h @@ -0,0 +1,37 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_OPTION_DEFAULTS_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_OPTION_DEFAULTS_H + +#include "google/cloud/options.h" +#include "google/cloud/version.h" + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +Options WorkloadIdentityDefaultOptions(Options options); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_OPTION_DEFAULTS_H diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_retry_traits.h b/google/cloud/workloadidentity/v1/internal/workload_identity_retry_traits.h new file mode 100644 index 0000000000000..2ad1ca170c55e --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_retry_traits.h @@ -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. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_RETRY_TRAITS_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_RETRY_TRAITS_H + +#include "google/cloud/status.h" +#include "google/cloud/version.h" + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/// Define the gRPC status code semantics for retrying requests. +struct WorkloadIdentityRetryTraits { + static bool IsPermanentFailure(google::cloud::Status const& status) { + return status.code() != StatusCode::kOk && + status.code() != StatusCode::kUnavailable; + } +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_RETRY_TRAITS_H diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_sources.cc b/google/cloud/workloadidentity/v1/internal/workload_identity_sources.cc new file mode 100644 index 0000000000000..e9cf946e64f5b --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_sources.cc @@ -0,0 +1,32 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +// NOLINTBEGIN(bugprone-suspicious-include) +#include "google/cloud/workloadidentity/v1/internal/workload_identity_auth_decorator.cc" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_connection_impl.cc" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_logging_decorator.cc" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_metadata_decorator.cc" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_option_defaults.cc" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_stub.cc" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_stub_factory.cc" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_tracing_connection.cc" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_tracing_stub.cc" +#include "google/cloud/workloadidentity/v1/workload_identity_client.cc" +#include "google/cloud/workloadidentity/v1/workload_identity_connection.cc" +#include "google/cloud/workloadidentity/v1/workload_identity_connection_idempotency_policy.cc" +// NOLINTEND(bugprone-suspicious-include) diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_stub.cc b/google/cloud/workloadidentity/v1/internal/workload_identity_stub.cc new file mode 100644 index 0000000000000..5d74401ff83b9 --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_stub.cc @@ -0,0 +1,184 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_stub.h" +#include "google/cloud/workloadidentity/v1/service.grpc.pb.h" +#include "google/cloud/grpc_error_delegate.h" +#include "google/cloud/status_or.h" +#include "google/longrunning/operations.grpc.pb.h" +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +WorkloadIdentityStub::~WorkloadIdentityStub() = default; + +future> +DefaultWorkloadIdentityStub::AsyncGenerateServiceAgents( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::workloadidentity::v1:: + GenerateServiceAgentsRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncGenerateServiceAgents(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultWorkloadIdentityStub::GenerateServiceAgents( + grpc::ClientContext& context, Options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) { + google::longrunning::Operation response; + auto status = grpc_stub_->GenerateServiceAgents(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultWorkloadIdentityStub::ListLocations( + grpc::ClientContext& context, Options const&, + google::cloud::location::ListLocationsRequest const& request) { + google::cloud::location::ListLocationsResponse response; + auto status = locations_stub_->ListLocations(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultWorkloadIdentityStub::GetLocation( + grpc::ClientContext& context, Options const&, + google::cloud::location::GetLocationRequest const& request) { + google::cloud::location::Location response; + auto status = locations_stub_->GetLocation(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultWorkloadIdentityStub::ListOperations( + grpc::ClientContext& context, Options const&, + google::longrunning::ListOperationsRequest const& request) { + google::longrunning::ListOperationsResponse response; + auto status = operations_stub_->ListOperations(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultWorkloadIdentityStub::GetOperation( + grpc::ClientContext& context, Options const&, + google::longrunning::GetOperationRequest const& request) { + google::longrunning::Operation response; + auto status = operations_stub_->GetOperation(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +Status DefaultWorkloadIdentityStub::DeleteOperation( + grpc::ClientContext& context, Options const&, + google::longrunning::DeleteOperationRequest const& request) { + google::protobuf::Empty response; + auto status = operations_stub_->DeleteOperation(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return google::cloud::Status(); +} + +Status DefaultWorkloadIdentityStub::CancelOperation( + grpc::ClientContext& context, Options const&, + google::longrunning::CancelOperationRequest const& request) { + google::protobuf::Empty response; + auto status = operations_stub_->CancelOperation(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return google::cloud::Status(); +} + +future> +DefaultWorkloadIdentityStub::AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + // NOLINTNEXTLINE(performance-unnecessary-value-param) + google::cloud::internal::ImmutableOptions, + google::longrunning::GetOperationRequest const& request) { + return internal::MakeUnaryRpcImpl( + cq, + [this](grpc::ClientContext* context, + google::longrunning::GetOperationRequest const& request, + grpc::CompletionQueue* cq) { + return operations_stub_->AsyncGetOperation(context, request, cq); + }, + request, std::move(context)); +} + +future DefaultWorkloadIdentityStub::AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + // NOLINTNEXTLINE(performance-unnecessary-value-param) + google::cloud::internal::ImmutableOptions, + google::longrunning::CancelOperationRequest const& request) { + return internal::MakeUnaryRpcImpl( + cq, + [this](grpc::ClientContext* context, + google::longrunning::CancelOperationRequest const& request, + grpc::CompletionQueue* cq) { + return operations_stub_->AsyncCancelOperation(context, request, + cq); + }, + request, std::move(context)) + .then([](future> f) { + return f.get().status(); + }); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_stub.h b/google/cloud/workloadidentity/v1/internal/workload_identity_stub.h new file mode 100644 index 0000000000000..4ea14e3291241 --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_stub.h @@ -0,0 +1,175 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_STUB_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_STUB_H + +#include "google/cloud/location/locations.grpc.pb.h" +#include "google/cloud/workloadidentity/v1/service.grpc.pb.h" +#include "google/cloud/completion_queue.h" +#include "google/cloud/future.h" +#include "google/cloud/options.h" +#include "google/cloud/status_or.h" +#include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class WorkloadIdentityStub { + public: + virtual ~WorkloadIdentityStub() = 0; + + virtual future> + AsyncGenerateServiceAgents( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) = 0; + + virtual StatusOr GenerateServiceAgents( + grpc::ClientContext& context, Options options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) = 0; + + virtual StatusOr + ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) = 0; + + virtual StatusOr GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) = 0; + + virtual StatusOr ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) = 0; + + virtual StatusOr GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) = 0; + + virtual Status DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) = 0; + + virtual Status CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) = 0; + + virtual future> AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) = 0; + + virtual future AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) = 0; +}; + +class DefaultWorkloadIdentityStub : public WorkloadIdentityStub { + public: + DefaultWorkloadIdentityStub( + std::unique_ptr< + google::cloud::workloadidentity::v1::WorkloadIdentity::StubInterface> + grpc_stub, + std::unique_ptr + locations_stub, + std::unique_ptr + operations_stub) + : grpc_stub_(std::move(grpc_stub)), + locations_stub_(std::move(locations_stub)), + operations_stub_(std::move(operations_stub)) {} + + future> AsyncGenerateServiceAgents( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) override; + + StatusOr GenerateServiceAgents( + grpc::ClientContext& context, Options options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) override; + + StatusOr ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) override; + + StatusOr GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) override; + + StatusOr ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) override; + + StatusOr GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) override; + + future> AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) override; + + future AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::unique_ptr< + google::cloud::workloadidentity::v1::WorkloadIdentity::StubInterface> + grpc_stub_; + std::unique_ptr + locations_stub_; + std::unique_ptr + operations_stub_; +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_STUB_H diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_stub_factory.cc b/google/cloud/workloadidentity/v1/internal/workload_identity_stub_factory.cc new file mode 100644 index 0000000000000..b603d1c584023 --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_stub_factory.cc @@ -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. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_stub_factory.h" +#include "google/cloud/location/locations.grpc.pb.h" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_auth_decorator.h" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_logging_decorator.h" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_metadata_decorator.h" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_stub.h" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_tracing_stub.h" +#include "google/cloud/workloadidentity/v1/service.grpc.pb.h" +#include "google/cloud/common_options.h" +#include "google/cloud/grpc_options.h" +#include "google/cloud/internal/algorithm.h" +#include "google/cloud/internal/opentelemetry.h" +#include "google/cloud/log.h" +#include "google/cloud/options.h" +#include "google/longrunning/operations.grpc.pb.h" +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +std::shared_ptr CreateDefaultWorkloadIdentityStub( + std::shared_ptr auth, + Options const& options) { + auto channel = auth->CreateChannel(options.get(), + internal::MakeChannelArguments(options)); + auto service_grpc_stub = + google::cloud::workloadidentity::v1::WorkloadIdentity::NewStub(channel); + auto service_locations_stub = + google::cloud::location::Locations::NewStub(channel); + std::shared_ptr stub = + std::make_shared( + std::move(service_grpc_stub), std::move(service_locations_stub), + google::longrunning::Operations::NewStub(channel)); + + if (auth->RequiresConfigureContext()) { + stub = std::make_shared(std::move(auth), + std::move(stub)); + } + stub = std::make_shared( + std::move(stub), std::multimap{}); + if (internal::Contains(options.get(), "rpc")) { + GCP_LOG(INFO) << "Enabled logging for gRPC calls"; + stub = std::make_shared( + std::move(stub), options.get(), + options.get()); + } + if (internal::TracingEnabled(options)) { + stub = MakeWorkloadIdentityTracingStub(std::move(stub)); + } + return stub; +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_stub_factory.h b/google/cloud/workloadidentity/v1/internal/workload_identity_stub_factory.h new file mode 100644 index 0000000000000..84ed20f491976 --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_stub_factory.h @@ -0,0 +1,47 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_STUB_FACTORY_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_STUB_FACTORY_H + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_stub.h" +#include "google/cloud/internal/unified_grpc_credentials.h" +#include "google/cloud/options.h" +#include "google/cloud/version.h" +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +std::shared_ptr CreateDefaultWorkloadIdentityStub( + std::shared_ptr auth, + Options const& options); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_STUB_FACTORY_H diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_tracing_connection.cc b/google/cloud/workloadidentity/v1/internal/workload_identity_tracing_connection.cc new file mode 100644 index 0000000000000..59f8159a31f9d --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_tracing_connection.cc @@ -0,0 +1,137 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_tracing_connection.h" +#include "google/cloud/internal/opentelemetry.h" +#include "google/cloud/internal/traced_stream_range.h" +#include +#include + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +WorkloadIdentityTracingConnection::WorkloadIdentityTracingConnection( + std::shared_ptr child) + : child_(std::move(child)) {} + +future> +WorkloadIdentityTracingConnection::GenerateServiceAgents( + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) { + auto span = internal::MakeSpan( + "workloadidentity_v1::WorkloadIdentityConnection::GenerateServiceAgents"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->GenerateServiceAgents(request)); +} + +StatusOr +WorkloadIdentityTracingConnection::GenerateServiceAgents( + NoAwaitTag, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) { + auto span = internal::MakeSpan( + "workloadidentity_v1::WorkloadIdentityConnection::GenerateServiceAgents"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan( + *span, child_->GenerateServiceAgents(NoAwaitTag{}, request)); +} + +future> +WorkloadIdentityTracingConnection::GenerateServiceAgents( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "workloadidentity_v1::WorkloadIdentityConnection::GenerateServiceAgents"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->GenerateServiceAgents(operation)); +} + +StreamRange +WorkloadIdentityTracingConnection::ListLocations( + google::cloud::location::ListLocationsRequest request) { + auto span = internal::MakeSpan( + "workloadidentity_v1::WorkloadIdentityConnection::ListLocations"); + internal::OTelScope scope(span); + auto sr = child_->ListLocations(std::move(request)); + return internal::MakeTracedStreamRange( + std::move(span), std::move(sr)); +} + +StatusOr +WorkloadIdentityTracingConnection::GetLocation( + google::cloud::location::GetLocationRequest const& request) { + auto span = internal::MakeSpan( + "workloadidentity_v1::WorkloadIdentityConnection::GetLocation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetLocation(request)); +} + +StreamRange +WorkloadIdentityTracingConnection::ListOperations( + google::longrunning::ListOperationsRequest request) { + auto span = internal::MakeSpan( + "workloadidentity_v1::WorkloadIdentityConnection::ListOperations"); + internal::OTelScope scope(span); + auto sr = child_->ListOperations(std::move(request)); + return internal::MakeTracedStreamRange( + std::move(span), std::move(sr)); +} + +StatusOr +WorkloadIdentityTracingConnection::GetOperation( + google::longrunning::GetOperationRequest const& request) { + auto span = internal::MakeSpan( + "workloadidentity_v1::WorkloadIdentityConnection::GetOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetOperation(request)); +} + +Status WorkloadIdentityTracingConnection::DeleteOperation( + google::longrunning::DeleteOperationRequest const& request) { + auto span = internal::MakeSpan( + "workloadidentity_v1::WorkloadIdentityConnection::DeleteOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->DeleteOperation(request)); +} + +Status WorkloadIdentityTracingConnection::CancelOperation( + google::longrunning::CancelOperationRequest const& request) { + auto span = internal::MakeSpan( + "workloadidentity_v1::WorkloadIdentityConnection::CancelOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->CancelOperation(request)); +} + +std::shared_ptr +MakeWorkloadIdentityTracingConnection( + std::shared_ptr conn) { + if (internal::TracingEnabled(conn->options())) { + conn = std::make_shared(std::move(conn)); + } + return conn; +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_tracing_connection.h b/google/cloud/workloadidentity/v1/internal/workload_identity_tracing_connection.h new file mode 100644 index 0000000000000..dbd0a30a5e2dc --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_tracing_connection.h @@ -0,0 +1,94 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_TRACING_CONNECTION_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_TRACING_CONNECTION_H + +#include "google/cloud/workloadidentity/v1/workload_identity_connection.h" +#include "google/cloud/version.h" +#include + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class WorkloadIdentityTracingConnection + : public workloadidentity_v1::WorkloadIdentityConnection { + public: + ~WorkloadIdentityTracingConnection() override = default; + + explicit WorkloadIdentityTracingConnection( + std::shared_ptr child); + + Options options() override { return child_->options(); } + + future> + GenerateServiceAgents( + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) override; + + StatusOr GenerateServiceAgents( + NoAwaitTag, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) override; + + future> + GenerateServiceAgents( + google::longrunning::Operation const& operation) override; + + StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request) override; + + StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request) override; + + StreamRange ListOperations( + google::longrunning::ListOperationsRequest request) override; + + StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::shared_ptr child_; +}; + +/** + * Conditionally applies the tracing decorator to the given connection. + * + * The connection is only decorated if tracing is enabled (as determined by the + * connection's options). + */ +std::shared_ptr +MakeWorkloadIdentityTracingConnection( + std::shared_ptr conn); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_TRACING_CONNECTION_H diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_tracing_stub.cc b/google/cloud/workloadidentity/v1/internal/workload_identity_tracing_stub.cc new file mode 100644 index 0000000000000..2b6038d009eb2 --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_tracing_stub.cc @@ -0,0 +1,175 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_tracing_stub.h" +#include "google/cloud/internal/grpc_opentelemetry.h" +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +WorkloadIdentityTracingStub::WorkloadIdentityTracingStub( + std::shared_ptr child) + : child_(std::move(child)), propagator_(internal::MakePropagator()) {} + +future> +WorkloadIdentityTracingStub::AsyncGenerateServiceAgents( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.workloadidentity.v1.WorkloadIdentity", + "GenerateServiceAgents"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncGenerateServiceAgents(cq, context, std::move(options), + request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +WorkloadIdentityTracingStub::GenerateServiceAgents( + grpc::ClientContext& context, Options options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.workloadidentity.v1.WorkloadIdentity", + "GenerateServiceAgents"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->GenerateServiceAgents(context, options, request)); +} + +StatusOr +WorkloadIdentityTracingStub::ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.workloadidentity.v1.WorkloadIdentity", "ListLocations"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListLocations(context, options, request)); +} + +StatusOr +WorkloadIdentityTracingStub::GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.workloadidentity.v1.WorkloadIdentity", "GetLocation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetLocation(context, options, request)); +} + +StatusOr +WorkloadIdentityTracingStub::ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.workloadidentity.v1.WorkloadIdentity", "ListOperations"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListOperations(context, options, request)); +} + +StatusOr +WorkloadIdentityTracingStub::GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.workloadidentity.v1.WorkloadIdentity", "GetOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetOperation(context, options, request)); +} + +Status WorkloadIdentityTracingStub::DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.workloadidentity.v1.WorkloadIdentity", "DeleteOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->DeleteOperation(context, options, request)); +} + +Status WorkloadIdentityTracingStub::CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.workloadidentity.v1.WorkloadIdentity", "CancelOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->CancelOperation(context, options, request)); +} + +future> +WorkloadIdentityTracingStub::AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.longrunning.Operations", "GetOperation"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncGetOperation(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +future WorkloadIdentityTracingStub::AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + auto span = internal::MakeSpanGrpc("google.longrunning.Operations", + "CancelOperation"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = + child_->AsyncCancelOperation(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +std::shared_ptr MakeWorkloadIdentityTracingStub( + std::shared_ptr stub) { + return std::make_shared(std::move(stub)); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/workloadidentity/v1/internal/workload_identity_tracing_stub.h b/google/cloud/workloadidentity/v1/internal/workload_identity_tracing_stub.h new file mode 100644 index 0000000000000..e74d5742b6458 --- /dev/null +++ b/google/cloud/workloadidentity/v1/internal/workload_identity_tracing_stub.h @@ -0,0 +1,113 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_TRACING_STUB_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_TRACING_STUB_H + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_stub.h" +#include "google/cloud/internal/trace_propagator.h" +#include "google/cloud/options.h" +#include "google/cloud/version.h" +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace workloadidentity_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class WorkloadIdentityTracingStub : public WorkloadIdentityStub { + public: + ~WorkloadIdentityTracingStub() override = default; + + explicit WorkloadIdentityTracingStub( + std::shared_ptr child); + + future> AsyncGenerateServiceAgents( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) override; + + StatusOr GenerateServiceAgents( + grpc::ClientContext& context, Options options, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request) override; + + StatusOr ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) override; + + StatusOr GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) override; + + StatusOr ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) override; + + StatusOr GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) override; + + future> AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) override; + + future AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::shared_ptr child_; + std::shared_ptr + propagator_; +}; + +/** + * Applies the tracing decorator to the given stub. + * + * The stub is only decorated if the library has been compiled with + * OpenTelemetry. + */ +std::shared_ptr MakeWorkloadIdentityTracingStub( + std::shared_ptr stub); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_INTERNAL_WORKLOAD_IDENTITY_TRACING_STUB_H diff --git a/google/cloud/workloadidentity/v1/mocks/mock_workload_identity_connection.h b/google/cloud/workloadidentity/v1/mocks/mock_workload_identity_connection.h new file mode 100644 index 0000000000000..ae0b564db6efa --- /dev/null +++ b/google/cloud/workloadidentity/v1/mocks/mock_workload_identity_connection.h @@ -0,0 +1,123 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_MOCKS_MOCK_WORKLOAD_IDENTITY_CONNECTION_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_MOCKS_MOCK_WORKLOAD_IDENTITY_CONNECTION_H + +#include "google/cloud/workloadidentity/v1/workload_identity_connection.h" +#include + +namespace google { +namespace cloud { +namespace workloadidentity_v1_mocks { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/** + * A class to mock `WorkloadIdentityConnection`. + * + * Application developers may want to test their code with simulated responses, + * including errors, from an object of type `WorkloadIdentityClient`. To do so, + * construct an object of type `WorkloadIdentityClient` with an instance of this + * class. Then use the Google Test framework functions to program the behavior + * of this mock. + * + * @see [This example][bq-mock] for how to test your application with GoogleTest. + * While the example showcases types from the BigQuery library, the underlying + * principles apply for any pair of `*Client` and `*Connection`. + * + * [bq-mock]: @cloud_cpp_docs_link{bigquery,bigquery-read-mock} + */ +class MockWorkloadIdentityConnection + : public workloadidentity_v1::WorkloadIdentityConnection { + public: + MOCK_METHOD(Options, options, (), (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// GenerateServiceAgents(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + GenerateServiceAgents, + (google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, GenerateServiceAgents(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, GenerateServiceAgents, + (NoAwaitTag, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// GenerateServiceAgents(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + GenerateServiceAgents, (google::longrunning::Operation const& operation), + (override)); + + MOCK_METHOD((StreamRange), ListLocations, + (google::cloud::location::ListLocationsRequest request), + (override)); + + MOCK_METHOD(StatusOr, GetLocation, + (google::cloud::location::GetLocationRequest const& request), + (override)); + + MOCK_METHOD((StreamRange), ListOperations, + (google::longrunning::ListOperationsRequest request), (override)); + + MOCK_METHOD(StatusOr, GetOperation, + (google::longrunning::GetOperationRequest const& request), + (override)); + + MOCK_METHOD(Status, DeleteOperation, + (google::longrunning::DeleteOperationRequest const& request), + (override)); + + MOCK_METHOD(Status, CancelOperation, + (google::longrunning::CancelOperationRequest const& request), + (override)); +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1_mocks +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_MOCKS_MOCK_WORKLOAD_IDENTITY_CONNECTION_H diff --git a/google/cloud/workloadidentity/v1/samples/workload_identity_client_samples.cc b/google/cloud/workloadidentity/v1/samples/workload_identity_client_samples.cc new file mode 100644 index 0000000000000..073954fe0084c --- /dev/null +++ b/google/cloud/workloadidentity/v1/samples/workload_identity_client_samples.cc @@ -0,0 +1,240 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#include "google/cloud/workloadidentity/v1/workload_identity_client.h" +#include "google/cloud/workloadidentity/v1/workload_identity_connection_idempotency_policy.h" +#include "google/cloud/workloadidentity/v1/workload_identity_options.h" +#include "google/cloud/common_options.h" +#include "google/cloud/credentials.h" +#include "google/cloud/internal/getenv.h" +#include "google/cloud/polling_policy.h" +#include "google/cloud/testing_util/example_driver.h" +#include "google/cloud/universe_domain.h" +#include +#include +#include +#include + +// clang-format off +// main-dox-marker: workloadidentity_v1::WorkloadIdentityClient +// lro-marker: true +// clang-format on +namespace { + +void SetClientEndpoint(std::vector const& argv) { + if (!argv.empty()) { + throw google::cloud::testing_util::Usage{"set-client-endpoint"}; + } + //! [set-client-endpoint] + // This configuration is common with Private Google Access: + // https://cloud.google.com/vpc/docs/private-google-access + auto options = google::cloud::Options{}.set( + "private.googleapis.com"); + auto vpc_client = google::cloud::workloadidentity_v1::WorkloadIdentityClient( + google::cloud::workloadidentity_v1::MakeWorkloadIdentityConnection( + options)); + //! [set-client-endpoint] +} + +void SetClientUniverseDomain(std::vector const& argv) { + if (!argv.empty()) { + throw google::cloud::testing_util::Usage{"set-client-universe-domain"}; + } + //! [set-client-universe-domain] + google::cloud::Options options; + + // AddUniverseDomainOption interrogates the UnifiedCredentialsOption, if set, + // in the provided Options for the Universe Domain associated with the + // credentials and adds it to the set of Options. + // If no UnifiedCredentialsOption is set, GoogleDefaultCredentials are used. + auto ud_options = google::cloud::AddUniverseDomainOption(std::move(options)); + + if (!ud_options.ok()) throw std::move(ud_options).status(); + auto ud_client = google::cloud::workloadidentity_v1::WorkloadIdentityClient( + google::cloud::workloadidentity_v1::MakeWorkloadIdentityConnection( + *ud_options)); + //! [set-client-universe-domain] +} + +//! [custom-idempotency-policy] +class CustomIdempotencyPolicy + : public google::cloud::workloadidentity_v1:: + WorkloadIdentityConnectionIdempotencyPolicy { + public: + ~CustomIdempotencyPolicy() override = default; + std::unique_ptr + clone() const override { + return std::make_unique(*this); + } + // Override inherited functions to define as needed. +}; +//! [custom-idempotency-policy] + +void SetRetryPolicy(std::vector const& argv) { + if (!argv.empty()) { + throw google::cloud::testing_util::Usage{"set-client-retry-policy"}; + } + //! [set-retry-policy] + auto options = + google::cloud::Options{} + .set( + CustomIdempotencyPolicy().clone()) + .set( + google::cloud::workloadidentity_v1:: + WorkloadIdentityLimitedErrorCountRetryPolicy(3) + .clone()) + .set( + google::cloud::ExponentialBackoffPolicy( + /*initial_delay=*/std::chrono::milliseconds(200), + /*maximum_delay=*/std::chrono::seconds(45), + /*scaling=*/2.0) + .clone()); + auto connection = + google::cloud::workloadidentity_v1::MakeWorkloadIdentityConnection( + options); + + // c1 and c2 share the same retry policies + auto c1 = + google::cloud::workloadidentity_v1::WorkloadIdentityClient(connection); + auto c2 = + google::cloud::workloadidentity_v1::WorkloadIdentityClient(connection); + + // You can override any of the policies in a new client. This new client + // will share the policies from c1 (or c2) *except* for the retry policy. + auto c3 = google::cloud::workloadidentity_v1::WorkloadIdentityClient( + connection, google::cloud::Options{} + .set( + google::cloud::workloadidentity_v1:: + WorkloadIdentityLimitedTimeRetryPolicy( + std::chrono::minutes(5)) + .clone())); + + // You can also override the policies in a single call: + // c3.SomeRpc(..., google::cloud::Options{} + // .set( + // google::cloud::workloadidentity_v1::WorkloadIdentityLimitedErrorCountRetryPolicy(10).clone())); + //! [set-retry-policy] +} + +void SetPollingPolicy(std::vector const& argv) { + if (!argv.empty()) { + throw google::cloud::testing_util::Usage{"set-client-policy-policy"}; + } + //! [set-polling-policy] + + // The polling policy controls how the client waits for long-running + // operations. `GenericPollingPolicy<>` combines existing policies. + // In this case, keep polling until the operation completes (with success + // or error) or 45 minutes, whichever happens first. Initially pause for + // 10 seconds between polling requests, increasing the pause by a factor + // of 4 until it becomes 2 minutes. + auto options = + google::cloud::Options{} + .set( + google::cloud::GenericPollingPolicy< + google::cloud::workloadidentity_v1:: + WorkloadIdentityRetryPolicyOption::Type, + google::cloud::workloadidentity_v1:: + WorkloadIdentityBackoffPolicyOption::Type>( + google::cloud::workloadidentity_v1:: + WorkloadIdentityLimitedTimeRetryPolicy( + /*maximum_duration=*/std::chrono::minutes(45)) + .clone(), + google::cloud::ExponentialBackoffPolicy( + /*initial_delay=*/std::chrono::seconds(10), + /*maximum_delay=*/std::chrono::minutes(2), + /*scaling=*/4.0) + .clone()) + .clone()); + + auto connection = + google::cloud::workloadidentity_v1::MakeWorkloadIdentityConnection( + options); + + // c1 and c2 share the same polling policies. + auto c1 = + google::cloud::workloadidentity_v1::WorkloadIdentityClient(connection); + auto c2 = + google::cloud::workloadidentity_v1::WorkloadIdentityClient(connection); + //! [set-polling-policy] +} + +void WithServiceAccount(std::vector const& argv) { + if (argv.size() != 1 || argv[0] == "--help") { + throw google::cloud::testing_util::Usage{"with-service-account "}; + } + //! [with-service-account] + [](std::string const& keyfile) { + auto is = std::ifstream(keyfile); + is.exceptions(std::ios::badbit); // Minimal error handling in examples + auto contents = std::string(std::istreambuf_iterator(is.rdbuf()), {}); + auto options = + google::cloud::Options{}.set( + google::cloud::MakeServiceAccountCredentials(contents)); + return google::cloud::workloadidentity_v1::WorkloadIdentityClient( + google::cloud::workloadidentity_v1::MakeWorkloadIdentityConnection( + options)); + } + //! [with-service-account] + (argv.at(0)); +} + +void AutoRun(std::vector const& argv) { + namespace examples = ::google::cloud::testing_util; + using ::google::cloud::internal::GetEnv; + if (!argv.empty()) throw examples::Usage{"auto"}; + examples::CheckEnvironmentVariablesAreSet( + {"GOOGLE_CLOUD_CPP_TEST_SERVICE_ACCOUNT_KEYFILE"}); + auto const keyfile = + GetEnv("GOOGLE_CLOUD_CPP_TEST_SERVICE_ACCOUNT_KEYFILE").value(); + + std::cout << "\nRunning SetClientEndpoint() example" << std::endl; + SetClientEndpoint({}); + + std::cout << "\nRunning SetRetryPolicy() example" << std::endl; + SetRetryPolicy({}); + + std::cout << "\nRunning SetPollingPolicy() example" << std::endl; + SetPollingPolicy({}); + + std::cout << "\nRunning WithServiceAccount() example" << std::endl; + WithServiceAccount({keyfile}); + + std::cout << "\nRunning SetClientUniverseDomain() example" << std::endl; + SetClientUniverseDomain({}); +} + +} // namespace + +int main(int argc, char* argv[]) { // NOLINT(bugprone-exception-escape) + google::cloud::testing_util::Example example({ + {"set-client-endpoint", SetClientEndpoint}, + {"set-retry-policy", SetRetryPolicy}, + {"set-polling-policy", SetPollingPolicy}, + {"with-service-account", WithServiceAccount}, + {"set-client-universe-domain", SetClientUniverseDomain}, + {"auto", AutoRun}, + }); + return example.Run(argc, argv); +} diff --git a/google/cloud/workloadidentity/v1/workload_identity_client.cc b/google/cloud/workloadidentity/v1/workload_identity_client.cc new file mode 100644 index 0000000000000..162cba199d030 --- /dev/null +++ b/google/cloud/workloadidentity/v1/workload_identity_client.cc @@ -0,0 +1,159 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#include "google/cloud/workloadidentity/v1/workload_identity_client.h" +#include +#include + +namespace google { +namespace cloud { +namespace workloadidentity_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +WorkloadIdentityClient::WorkloadIdentityClient( + std::shared_ptr connection, Options opts) + : connection_(std::move(connection)), + options_( + internal::MergeOptions(std::move(opts), connection_->options())) {} +WorkloadIdentityClient::~WorkloadIdentityClient() = default; + +future> +WorkloadIdentityClient::GenerateServiceAgents(std::string const& parent, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest request; + request.set_parent(parent); + return connection_->GenerateServiceAgents(request); +} + +StatusOr +WorkloadIdentityClient::GenerateServiceAgents(NoAwaitTag, + std::string const& parent, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest request; + request.set_parent(parent); + return connection_->GenerateServiceAgents(NoAwaitTag{}, request); +} + +future> +WorkloadIdentityClient::GenerateServiceAgents( + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GenerateServiceAgents(request); +} + +StatusOr +WorkloadIdentityClient::GenerateServiceAgents( + NoAwaitTag, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GenerateServiceAgents(NoAwaitTag{}, request); +} + +future> +WorkloadIdentityClient::GenerateServiceAgents( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GenerateServiceAgents(operation); +} + +StreamRange +WorkloadIdentityClient::ListLocations( + google::cloud::location::ListLocationsRequest request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListLocations(std::move(request)); +} + +StatusOr WorkloadIdentityClient::GetLocation( + google::cloud::location::GetLocationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetLocation(request); +} + +StreamRange +WorkloadIdentityClient::ListOperations(std::string const& name, + std::string const& filter, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::longrunning::ListOperationsRequest request; + request.set_name(name); + request.set_filter(filter); + return connection_->ListOperations(request); +} + +StreamRange +WorkloadIdentityClient::ListOperations( + google::longrunning::ListOperationsRequest request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListOperations(std::move(request)); +} + +StatusOr WorkloadIdentityClient::GetOperation( + std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::longrunning::GetOperationRequest request; + request.set_name(name); + return connection_->GetOperation(request); +} + +StatusOr WorkloadIdentityClient::GetOperation( + google::longrunning::GetOperationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetOperation(request); +} + +Status WorkloadIdentityClient::DeleteOperation(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::longrunning::DeleteOperationRequest request; + request.set_name(name); + return connection_->DeleteOperation(request); +} + +Status WorkloadIdentityClient::DeleteOperation( + google::longrunning::DeleteOperationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteOperation(request); +} + +Status WorkloadIdentityClient::CancelOperation(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::longrunning::CancelOperationRequest request; + request.set_name(name); + return connection_->CancelOperation(request); +} + +Status WorkloadIdentityClient::CancelOperation( + google::longrunning::CancelOperationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CancelOperation(request); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1 +} // namespace cloud +} // namespace google diff --git a/google/cloud/workloadidentity/v1/workload_identity_client.h b/google/cloud/workloadidentity/v1/workload_identity_client.h new file mode 100644 index 0000000000000..710f27a813160 --- /dev/null +++ b/google/cloud/workloadidentity/v1/workload_identity_client.h @@ -0,0 +1,566 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_WORKLOAD_IDENTITY_CLIENT_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_WORKLOAD_IDENTITY_CLIENT_H + +#include "google/cloud/workloadidentity/v1/workload_identity_connection.h" +#include "google/cloud/future.h" +#include "google/cloud/no_await_tag.h" +#include "google/cloud/options.h" +#include "google/cloud/polling_policy.h" +#include "google/cloud/status_or.h" +#include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" +#include +#include +#include + +namespace google { +namespace cloud { +namespace workloadidentity_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/// +/// Service describing handlers for resources +/// +/// @par Equality +/// +/// Instances of this class created via copy-construction or copy-assignment +/// always compare equal. Instances created with equal +/// `std::shared_ptr<*Connection>` objects compare equal. Objects that compare +/// equal share the same underlying resources. +/// +/// @par Performance +/// +/// Creating a new instance of this class is a relatively expensive operation, +/// new objects establish new connections to the service. In contrast, +/// copy-construction, move-construction, and the corresponding assignment +/// operations are relatively efficient as the copies share all underlying +/// resources. +/// +/// @par Thread Safety +/// +/// Concurrent access to different instances of this class, even if they compare +/// equal, is guaranteed to work. Two or more threads operating on the same +/// instance of this class is not guaranteed to work. Since copy-construction +/// and move-construction is a relatively efficient operation, consider using +/// such a copy when using this class from multiple threads. +/// +class WorkloadIdentityClient { + public: + explicit WorkloadIdentityClient( + std::shared_ptr connection, + Options opts = {}); + ~WorkloadIdentityClient(); + + ///@{ + /// @name Copy and move support + WorkloadIdentityClient(WorkloadIdentityClient const&) = default; + WorkloadIdentityClient& operator=(WorkloadIdentityClient const&) = default; + WorkloadIdentityClient(WorkloadIdentityClient&&) = default; + WorkloadIdentityClient& operator=(WorkloadIdentityClient&&) = default; + ///@} + + ///@{ + /// @name Equality + friend bool operator==(WorkloadIdentityClient const& a, + WorkloadIdentityClient const& b) { + return a.connection_ == b.connection_; + } + friend bool operator!=(WorkloadIdentityClient const& a, + WorkloadIdentityClient const& b) { + return !(a == b); + } + ///@} + + // clang-format off + /// + /// Creates all service agents for a given resource, location and service + /// producer. + /// + /// @param parent Required. The parent resource. The `location` for the parent resource must + /// be `global`. + /// @n + /// Examples: + /// @n + /// - projects/1234/locations/global/serviceProducers/bigquery.googleapis.com + /// - folders/2344/locations/global/serviceProducers/vertexai.googleapis.com + /// - organizations/3344/locations/global/serviceProducers/iam.googleapis.com + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return A [`future`] that becomes satisfied when the LRO + /// ([Long Running Operation]) completes or the polling policy in effect + /// for this call is exhausted. The future is satisfied with an error if + /// the LRO completes with an error or the polling policy is exhausted. + /// In this case the [`StatusOr`] returned by the future contains the + /// error. If the LRO completes successfully the value of the future + /// contains the LRO's result. For this RPC the result is a + /// [google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse] proto message. + /// The C++ class representing this message is created by Protobuf, using + /// the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [Long Running Operation]: https://google.aip.dev/151 + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest]: @googleapis_reference_link{google/cloud/workloadidentity/v1/service.proto#L125} + /// [google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse]: @googleapis_reference_link{google/cloud/workloadidentity/v1/service.proto#L144} + /// + // clang-format on + future> + GenerateServiceAgents(std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// @copybrief GenerateServiceAgents + /// + /// Specifying the [`NoAwaitTag`] immediately returns the + /// [`google::longrunning::Operation`] that corresponds to the Long Running + /// Operation that has been started. No polling for operation status occurs. + /// + /// [`NoAwaitTag`]: @ref google::cloud::NoAwaitTag + /// + // clang-format on + StatusOr GenerateServiceAgents( + NoAwaitTag, std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Creates all service agents for a given resource, location and service + /// producer. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return A [`future`] that becomes satisfied when the LRO + /// ([Long Running Operation]) completes or the polling policy in effect + /// for this call is exhausted. The future is satisfied with an error if + /// the LRO completes with an error or the polling policy is exhausted. + /// In this case the [`StatusOr`] returned by the future contains the + /// error. If the LRO completes successfully the value of the future + /// contains the LRO's result. For this RPC the result is a + /// [google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse] proto message. + /// The C++ class representing this message is created by Protobuf, using + /// the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [Long Running Operation]: https://google.aip.dev/151 + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.workloadidentity.v1.GenerateServiceAgentsRequest]: @googleapis_reference_link{google/cloud/workloadidentity/v1/service.proto#L125} + /// [google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse]: @googleapis_reference_link{google/cloud/workloadidentity/v1/service.proto#L144} + /// + // clang-format on + future> + GenerateServiceAgents( + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief GenerateServiceAgents + /// + /// Specifying the [`NoAwaitTag`] immediately returns the + /// [`google::longrunning::Operation`] that corresponds to the Long Running + /// Operation that has been started. No polling for operation status occurs. + /// + /// [`NoAwaitTag`]: @ref google::cloud::NoAwaitTag + /// + // clang-format on + StatusOr GenerateServiceAgents( + NoAwaitTag, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief GenerateServiceAgents + /// + /// This method accepts a `google::longrunning::Operation` that corresponds + /// to a previously started Long Running Operation (LRO) and polls the status + /// of the LRO in the background. + /// + // clang-format on + future> + GenerateServiceAgents(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Lists information about the supported locations for this service. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.location.ListLocationsRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.cloud.location.Location], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.location.ListLocationsRequest]: @googleapis_reference_link{google/cloud/location/locations.proto#L58} + /// [google.cloud.location.Location]: @googleapis_reference_link{google/cloud/location/locations.proto#L88} + /// + // clang-format on + StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request, Options opts = {}); + + // clang-format off + /// + /// Gets information about a location. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.location.GetLocationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.cloud.location.Location]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.location.GetLocationRequest]: @googleapis_reference_link{google/cloud/location/locations.proto#L82} + /// [google.cloud.location.Location]: @googleapis_reference_link{google/cloud/location/locations.proto#L88} + /// + // clang-format on + StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Lists operations that match the specified filter in the request. If the + /// server doesn't support this method, it returns `UNIMPLEMENTED`. + /// + /// @param name The name of the operation's parent resource. + /// @param filter The standard list filter. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.longrunning.Operation], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.ListOperationsRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L167} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StreamRange ListOperations( + std::string const& name, std::string const& filter, Options opts = {}); + + // clang-format off + /// + /// Lists operations that match the specified filter in the request. If the + /// server doesn't support this method, it returns `UNIMPLEMENTED`. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.longrunning.ListOperationsRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.longrunning.Operation], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.ListOperationsRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L167} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StreamRange ListOperations( + google::longrunning::ListOperationsRequest request, Options opts = {}); + + // clang-format off + /// + /// Gets the latest state of a long-running operation. Clients can use this + /// method to poll the operation result at intervals as recommended by the API + /// service. + /// + /// @param name The name of the operation resource. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.longrunning.Operation]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.GetOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L160} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StatusOr GetOperation(std::string const& name, + Options opts = {}); + + // clang-format off + /// + /// Gets the latest state of a long-running operation. Clients can use this + /// method to poll the operation result at intervals as recommended by the API + /// service. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.longrunning.GetOperationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.longrunning.Operation]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.GetOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L160} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Deletes a long-running operation. This method indicates that the client is + /// no longer interested in the operation result. It does not cancel the + /// operation. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. + /// + /// @param name The name of the operation resource to be deleted. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [`Status`] object. If the request failed, the + /// status contains the details of the failure. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.DeleteOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L219} + /// + // clang-format on + Status DeleteOperation(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Deletes a long-running operation. This method indicates that the client is + /// no longer interested in the operation result. It does not cancel the + /// operation. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.longrunning.DeleteOperationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [`Status`] object. If the request failed, the + /// status contains the details of the failure. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.DeleteOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L219} + /// + // clang-format on + Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Starts asynchronous cancellation on a long-running operation. The server + /// makes a best effort to cancel the operation, but success is not + /// guaranteed. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. Clients can use + /// [Operations.GetOperation][google.longrunning.Operations.GetOperation] or + /// other methods to check whether the cancellation succeeded or whether the + /// operation completed despite cancellation. On successful cancellation, + /// the operation is not deleted; instead, it becomes an operation with + /// an [Operation.error][google.longrunning.Operation.error] value with a + /// [google.rpc.Status.code][google.rpc.Status.code] of `1`, corresponding to + /// `Code.CANCELLED`. + /// + /// @param name The name of the operation resource to be cancelled. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [`Status`] object. If the request failed, the + /// status contains the details of the failure. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.CancelOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L212} + /// [google.longrunning.Operation.error]: @googleapis_reference_link{google/longrunning/operations.proto#L144} + /// [google.longrunning.Operations.GetOperation]: @googleapis_reference_link{google/longrunning/operations.proto#L70} + /// [google.rpc.Status.code]: @googleapis_reference_link{google/rpc/status.proto#L37} + /// + // clang-format on + Status CancelOperation(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Starts asynchronous cancellation on a long-running operation. The server + /// makes a best effort to cancel the operation, but success is not + /// guaranteed. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. Clients can use + /// [Operations.GetOperation][google.longrunning.Operations.GetOperation] or + /// other methods to check whether the cancellation succeeded or whether the + /// operation completed despite cancellation. On successful cancellation, + /// the operation is not deleted; instead, it becomes an operation with + /// an [Operation.error][google.longrunning.Operation.error] value with a + /// [google.rpc.Status.code][google.rpc.Status.code] of `1`, corresponding to + /// `Code.CANCELLED`. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.longrunning.CancelOperationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [`Status`] object. If the request failed, the + /// status contains the details of the failure. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.CancelOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L212} + /// [google.longrunning.Operation.error]: @googleapis_reference_link{google/longrunning/operations.proto#L144} + /// [google.longrunning.Operations.GetOperation]: @googleapis_reference_link{google/longrunning/operations.proto#L70} + /// [google.rpc.Status.code]: @googleapis_reference_link{google/rpc/status.proto#L37} + /// + // clang-format on + Status CancelOperation( + google::longrunning::CancelOperationRequest const& request, + Options opts = {}); + + private: + std::shared_ptr connection_; + Options options_; +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_WORKLOAD_IDENTITY_CLIENT_H diff --git a/google/cloud/workloadidentity/v1/workload_identity_connection.cc b/google/cloud/workloadidentity/v1/workload_identity_connection.cc new file mode 100644 index 0000000000000..fd4beb1c1f454 --- /dev/null +++ b/google/cloud/workloadidentity/v1/workload_identity_connection.cc @@ -0,0 +1,126 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#include "google/cloud/workloadidentity/v1/workload_identity_connection.h" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_connection_impl.h" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_option_defaults.h" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_stub_factory.h" +#include "google/cloud/workloadidentity/v1/internal/workload_identity_tracing_connection.h" +#include "google/cloud/workloadidentity/v1/workload_identity_options.h" +#include "google/cloud/background_threads.h" +#include "google/cloud/common_options.h" +#include "google/cloud/credentials.h" +#include "google/cloud/grpc_options.h" +#include "google/cloud/internal/pagination_range.h" +#include "google/cloud/internal/unified_grpc_credentials.h" +#include +#include + +namespace google { +namespace cloud { +namespace workloadidentity_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +WorkloadIdentityConnection::~WorkloadIdentityConnection() = default; + +future> +WorkloadIdentityConnection::GenerateServiceAgents( + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const&) { + return google::cloud::make_ready_future>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +WorkloadIdentityConnection::GenerateServiceAgents( + NoAwaitTag, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +WorkloadIdentityConnection::GenerateServiceAgents( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StreamRange +WorkloadIdentityConnection::ListLocations( + google::cloud::location:: + ListLocationsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +WorkloadIdentityConnection::GetLocation( + google::cloud::location::GetLocationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +StreamRange +WorkloadIdentityConnection::ListOperations( + google::longrunning:: + ListOperationsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +WorkloadIdentityConnection::GetOperation( + google::longrunning::GetOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +Status WorkloadIdentityConnection::DeleteOperation( + google::longrunning::DeleteOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +Status WorkloadIdentityConnection::CancelOperation( + google::longrunning::CancelOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +std::shared_ptr MakeWorkloadIdentityConnection( + Options options) { + internal::CheckExpectedOptions(options, + __func__); + options = workloadidentity_v1_internal::WorkloadIdentityDefaultOptions( + std::move(options)); + auto background = internal::MakeBackgroundThreadsFactory(options)(); + auto auth = internal::CreateAuthenticationStrategy(background->cq(), options); + auto stub = workloadidentity_v1_internal::CreateDefaultWorkloadIdentityStub( + std::move(auth), options); + return workloadidentity_v1_internal::MakeWorkloadIdentityTracingConnection( + std::make_shared< + workloadidentity_v1_internal::WorkloadIdentityConnectionImpl>( + std::move(background), std::move(stub), std::move(options))); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1 +} // namespace cloud +} // namespace google diff --git a/google/cloud/workloadidentity/v1/workload_identity_connection.h b/google/cloud/workloadidentity/v1/workload_identity_connection.h new file mode 100644 index 0000000000000..3e7c2ca2784cc --- /dev/null +++ b/google/cloud/workloadidentity/v1/workload_identity_connection.h @@ -0,0 +1,254 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_WORKLOAD_IDENTITY_CONNECTION_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_WORKLOAD_IDENTITY_CONNECTION_H + +#include "google/cloud/workloadidentity/v1/internal/workload_identity_retry_traits.h" +#include "google/cloud/workloadidentity/v1/service.pb.h" +#include "google/cloud/workloadidentity/v1/workload_identity_connection_idempotency_policy.h" +#include "google/cloud/backoff_policy.h" +#include "google/cloud/future.h" +#include "google/cloud/internal/retry_policy_impl.h" +#include "google/cloud/no_await_tag.h" +#include "google/cloud/options.h" +#include "google/cloud/polling_policy.h" +#include "google/cloud/status_or.h" +#include "google/cloud/stream_range.h" +#include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" +#include + +namespace google { +namespace cloud { +namespace workloadidentity_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/// The retry policy for `WorkloadIdentityConnection`. +class WorkloadIdentityRetryPolicy : public ::google::cloud::RetryPolicy { + public: + /// Creates a new instance of the policy, reset to the initial state. + virtual std::unique_ptr clone() const = 0; +}; + +/** + * A retry policy for `WorkloadIdentityConnection` based on counting errors. + * + * This policy stops retrying if: + * - An RPC returns a non-transient error. + * - More than a prescribed number of transient failures is detected. + * + * In this class the following status codes are treated as transient errors: + * - [`kUnavailable`](@ref google::cloud::StatusCode) + */ +class WorkloadIdentityLimitedErrorCountRetryPolicy + : public WorkloadIdentityRetryPolicy { + public: + /** + * Create an instance that tolerates up to @p maximum_failures transient + * errors. + * + * @note Disable the retry loop by providing an instance of this policy with + * @p maximum_failures == 0. + */ + explicit WorkloadIdentityLimitedErrorCountRetryPolicy(int maximum_failures) + : impl_(maximum_failures) {} + + WorkloadIdentityLimitedErrorCountRetryPolicy( + WorkloadIdentityLimitedErrorCountRetryPolicy&& rhs) noexcept + : WorkloadIdentityLimitedErrorCountRetryPolicy(rhs.maximum_failures()) {} + WorkloadIdentityLimitedErrorCountRetryPolicy( + WorkloadIdentityLimitedErrorCountRetryPolicy const& rhs) noexcept + : WorkloadIdentityLimitedErrorCountRetryPolicy(rhs.maximum_failures()) {} + + int maximum_failures() const { return impl_.maximum_failures(); } + + bool OnFailure(Status const& status) override { + return impl_.OnFailure(status); + } + bool IsExhausted() const override { return impl_.IsExhausted(); } + bool IsPermanentFailure(Status const& status) const override { + return impl_.IsPermanentFailure(status); + } + std::unique_ptr clone() const override { + return std::make_unique( + maximum_failures()); + } + + // This is provided only for backwards compatibility. + using BaseType = WorkloadIdentityRetryPolicy; + + private: + google::cloud::internal::LimitedErrorCountRetryPolicy< + workloadidentity_v1_internal::WorkloadIdentityRetryTraits> + impl_; +}; + +/** + * A retry policy for `WorkloadIdentityConnection` based on elapsed time. + * + * This policy stops retrying if: + * - An RPC returns a non-transient error. + * - The elapsed time in the retry loop exceeds a prescribed duration. + * + * In this class the following status codes are treated as transient errors: + * - [`kUnavailable`](@ref google::cloud::StatusCode) + */ +class WorkloadIdentityLimitedTimeRetryPolicy + : public WorkloadIdentityRetryPolicy { + public: + /** + * Constructor given a `std::chrono::duration<>` object. + * + * @tparam DurationRep a placeholder to match the `Rep` tparam for @p + * duration's type. The semantics of this template parameter are + * documented in `std::chrono::duration<>`. In brief, the underlying + * arithmetic type used to store the number of ticks. For our purposes it + * is simply a formal parameter. + * @tparam DurationPeriod a placeholder to match the `Period` tparam for @p + * duration's type. The semantics of this template parameter are + * documented in `std::chrono::duration<>`. In brief, the length of the + * tick in seconds, expressed as a `std::ratio<>`. For our purposes it is + * simply a formal parameter. + * @param maximum_duration the maximum time allowed before the policy expires. + * While the application can express this time in any units they desire, + * the class truncates to milliseconds. + * + * @see https://en.cppreference.com/w/cpp/chrono/duration for more information + * about `std::chrono::duration`. + */ + template + explicit WorkloadIdentityLimitedTimeRetryPolicy( + std::chrono::duration maximum_duration) + : impl_(maximum_duration) {} + + WorkloadIdentityLimitedTimeRetryPolicy( + WorkloadIdentityLimitedTimeRetryPolicy&& rhs) noexcept + : WorkloadIdentityLimitedTimeRetryPolicy(rhs.maximum_duration()) {} + WorkloadIdentityLimitedTimeRetryPolicy( + WorkloadIdentityLimitedTimeRetryPolicy const& rhs) noexcept + : WorkloadIdentityLimitedTimeRetryPolicy(rhs.maximum_duration()) {} + + std::chrono::milliseconds maximum_duration() const { + return impl_.maximum_duration(); + } + + bool OnFailure(Status const& status) override { + return impl_.OnFailure(status); + } + bool IsExhausted() const override { return impl_.IsExhausted(); } + bool IsPermanentFailure(Status const& status) const override { + return impl_.IsPermanentFailure(status); + } + std::unique_ptr clone() const override { + return std::make_unique( + maximum_duration()); + } + + // This is provided only for backwards compatibility. + using BaseType = WorkloadIdentityRetryPolicy; + + private: + google::cloud::internal::LimitedTimeRetryPolicy< + workloadidentity_v1_internal::WorkloadIdentityRetryTraits> + impl_; +}; + +/** + * The `WorkloadIdentityConnection` object for `WorkloadIdentityClient`. + * + * This interface defines virtual methods for each of the user-facing overload + * sets in `WorkloadIdentityClient`. This allows users to inject custom behavior + * (e.g., with a Google Mock object) when writing tests that use objects of type + * `WorkloadIdentityClient`. + * + * To create a concrete instance, see `MakeWorkloadIdentityConnection()`. + * + * For mocking, see `workloadidentity_v1_mocks::MockWorkloadIdentityConnection`. + */ +class WorkloadIdentityConnection { + public: + virtual ~WorkloadIdentityConnection() = 0; + + virtual Options options() { return Options{}; } + + virtual future> + GenerateServiceAgents( + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request); + + virtual StatusOr GenerateServiceAgents( + NoAwaitTag, + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request); + + virtual future> + GenerateServiceAgents(google::longrunning::Operation const& operation); + + virtual StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request); + + virtual StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request); + + virtual StreamRange ListOperations( + google::longrunning::ListOperationsRequest request); + + virtual StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request); + + virtual Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request); + + virtual Status CancelOperation( + google::longrunning::CancelOperationRequest const& request); +}; + +/** + * A factory function to construct an object of type + * `WorkloadIdentityConnection`. + * + * The returned connection object should not be used directly; instead it + * should be passed as an argument to the constructor of WorkloadIdentityClient. + * + * The optional @p options argument may be used to configure aspects of the + * returned `WorkloadIdentityConnection`. Expected options are any of the types + * in the following option lists: + * + * - `google::cloud::CommonOptionList` + * - `google::cloud::GrpcOptionList` + * - `google::cloud::UnifiedCredentialsOptionList` + * - `google::cloud::workloadidentity_v1::WorkloadIdentityPolicyOptionList` + * + * @note Unexpected options will be ignored. To log unexpected options instead, + * set `GOOGLE_CLOUD_CPP_ENABLE_CLOG=yes` in the environment. + * + * @param options (optional) Configure the `WorkloadIdentityConnection` created + * by this function. + */ +std::shared_ptr MakeWorkloadIdentityConnection( + Options options = {}); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_WORKLOAD_IDENTITY_CONNECTION_H diff --git a/google/cloud/workloadidentity/v1/workload_identity_connection_idempotency_policy.cc b/google/cloud/workloadidentity/v1/workload_identity_connection_idempotency_policy.cc new file mode 100644 index 0000000000000..08ec14e7e5024 --- /dev/null +++ b/google/cloud/workloadidentity/v1/workload_identity_connection_idempotency_policy.cc @@ -0,0 +1,80 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#include "google/cloud/workloadidentity/v1/workload_identity_connection_idempotency_policy.h" +#include + +namespace google { +namespace cloud { +namespace workloadidentity_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +using ::google::cloud::Idempotency; + +WorkloadIdentityConnectionIdempotencyPolicy:: + ~WorkloadIdentityConnectionIdempotencyPolicy() = default; + +std::unique_ptr +WorkloadIdentityConnectionIdempotencyPolicy::clone() const { + return std::make_unique(*this); +} + +Idempotency WorkloadIdentityConnectionIdempotencyPolicy::GenerateServiceAgents( + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency WorkloadIdentityConnectionIdempotencyPolicy::ListLocations( + google::cloud::location::ListLocationsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency WorkloadIdentityConnectionIdempotencyPolicy::GetLocation( + google::cloud::location::GetLocationRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency WorkloadIdentityConnectionIdempotencyPolicy::ListOperations( + google::longrunning::ListOperationsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency WorkloadIdentityConnectionIdempotencyPolicy::GetOperation( + google::longrunning::GetOperationRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency WorkloadIdentityConnectionIdempotencyPolicy::DeleteOperation( + google::longrunning::DeleteOperationRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency WorkloadIdentityConnectionIdempotencyPolicy::CancelOperation( + google::longrunning::CancelOperationRequest const&) { + return Idempotency::kNonIdempotent; +} + +std::unique_ptr +MakeDefaultWorkloadIdentityConnectionIdempotencyPolicy() { + return std::make_unique(); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1 +} // namespace cloud +} // namespace google diff --git a/google/cloud/workloadidentity/v1/workload_identity_connection_idempotency_policy.h b/google/cloud/workloadidentity/v1/workload_identity_connection_idempotency_policy.h new file mode 100644 index 0000000000000..ae4f8f8a0e9c8 --- /dev/null +++ b/google/cloud/workloadidentity/v1/workload_identity_connection_idempotency_policy.h @@ -0,0 +1,73 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_WORKLOAD_IDENTITY_CONNECTION_IDEMPOTENCY_POLICY_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_WORKLOAD_IDENTITY_CONNECTION_IDEMPOTENCY_POLICY_H + +#include "google/cloud/location/locations.grpc.pb.h" +#include "google/cloud/workloadidentity/v1/service.grpc.pb.h" +#include "google/cloud/idempotency.h" +#include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" +#include + +namespace google { +namespace cloud { +namespace workloadidentity_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class WorkloadIdentityConnectionIdempotencyPolicy { + public: + virtual ~WorkloadIdentityConnectionIdempotencyPolicy(); + + /// Create a new copy of this object. + virtual std::unique_ptr clone() + const; + + virtual google::cloud::Idempotency GenerateServiceAgents( + google::cloud::workloadidentity::v1::GenerateServiceAgentsRequest const& + request); + + virtual google::cloud::Idempotency ListLocations( + google::cloud::location::ListLocationsRequest request); + + virtual google::cloud::Idempotency GetLocation( + google::cloud::location::GetLocationRequest const& request); + + virtual google::cloud::Idempotency ListOperations( + google::longrunning::ListOperationsRequest request); + + virtual google::cloud::Idempotency GetOperation( + google::longrunning::GetOperationRequest const& request); + + virtual google::cloud::Idempotency DeleteOperation( + google::longrunning::DeleteOperationRequest const& request); + + virtual google::cloud::Idempotency CancelOperation( + google::longrunning::CancelOperationRequest const& request); +}; + +std::unique_ptr +MakeDefaultWorkloadIdentityConnectionIdempotencyPolicy(); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_WORKLOAD_IDENTITY_CONNECTION_IDEMPOTENCY_POLICY_H diff --git a/google/cloud/workloadidentity/v1/workload_identity_options.h b/google/cloud/workloadidentity/v1/workload_identity_options.h new file mode 100644 index 0000000000000..02a0a0b63e1ef --- /dev/null +++ b/google/cloud/workloadidentity/v1/workload_identity_options.h @@ -0,0 +1,87 @@ +// 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 Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/workloadidentity/v1/service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_WORKLOAD_IDENTITY_OPTIONS_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_WORKLOAD_IDENTITY_OPTIONS_H + +#include "google/cloud/workloadidentity/v1/workload_identity_connection.h" +#include "google/cloud/workloadidentity/v1/workload_identity_connection_idempotency_policy.h" +#include "google/cloud/backoff_policy.h" +#include "google/cloud/options.h" +#include "google/cloud/version.h" +#include + +namespace google { +namespace cloud { +namespace workloadidentity_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/** + * Use with `google::cloud::Options` to configure the retry policy. + * + * @ingroup google-cloud-workloadidentity-options + */ +struct WorkloadIdentityRetryPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * Use with `google::cloud::Options` to configure the backoff policy. + * + * @ingroup google-cloud-workloadidentity-options + */ +struct WorkloadIdentityBackoffPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * Use with `google::cloud::Options` to configure which operations are retried. + * + * @ingroup google-cloud-workloadidentity-options + */ +struct WorkloadIdentityConnectionIdempotencyPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * Use with `google::cloud::Options` to configure the long-running operations + * polling policy. + * + * @ingroup google-cloud-workloadidentity-options + */ +struct WorkloadIdentityPollingPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * The options applicable to WorkloadIdentity. + * + * @ingroup google-cloud-workloadidentity-options + */ +using WorkloadIdentityPolicyOptionList = + OptionList; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace workloadidentity_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_WORKLOADIDENTITY_V1_WORKLOAD_IDENTITY_OPTIONS_H diff --git a/libraries.bzl b/libraries.bzl index 8cb7887983db0..c25f8adee6e7d 100644 --- a/libraries.bzl +++ b/libraries.bzl @@ -259,6 +259,7 @@ GOOGLE_CLOUD_CPP_GA_LIBRARIES = [ "webrisk", "websecurityscanner", "workflows", + "workloadidentity", "workloadmanager", "workstations", ] From 48759fe834f6c4a75088888a1909157713a6a386 Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Fri, 14 Aug 2026 14:32:52 -0400 Subject: [PATCH 3/3] feat(workloadidentity): update quickstart test with PASS_REGULAR_EXPRESSION --- google/cloud/workloadidentity/CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/google/cloud/workloadidentity/CMakeLists.txt b/google/cloud/workloadidentity/CMakeLists.txt index 82d4840c1eba4..a083479764b93 100644 --- a/google/cloud/workloadidentity/CMakeLists.txt +++ b/google/cloud/workloadidentity/CMakeLists.txt @@ -28,6 +28,8 @@ if (BUILD_TESTING AND GOOGLE_CLOUD_CPP_ENABLE_CXX_EXCEPTIONS) NAME workloadidentity_quickstart COMMAND cmake -P "${PROJECT_SOURCE_DIR}/cmake/quickstart-runner.cmake" $ GOOGLE_CLOUD_PROJECT) - set_tests_properties(workloadidentity_quickstart - PROPERTIES LABELS "integration-test;quickstart") + set_tests_properties( + workloadidentity_quickstart + PROPERTIES LABELS "integration-test;quickstart" PASS_REGULAR_EXPRESSION + "INVALID_ARGUMENT: Invalid container ID[ \n]+format") endif ()