From 3fa6acc10a07ddbca3d7b9c74f574508cffb4250 Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Thu, 5 Feb 2026 13:49:48 -0500 Subject: [PATCH 1/5] feat(auditmanager): 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 7efb27865b864..7019a0b6006d6 100755 --- a/external/googleapis/update_libraries.sh +++ b/external/googleapis/update_libraries.sh @@ -46,6 +46,7 @@ declare -A -r LIBRARIES=( ["artifactregistry"]="@com_google_googleapis//google/devtools/artifactregistry/v1:artifactregistry_cc_grpc" ["asset"]="@com_google_googleapis//google/cloud/asset/v1:asset_cc_grpc" ["assuredworkloads"]="@com_google_googleapis//google/cloud/assuredworkloads/v1:assuredworkloads_cc_grpc" + ["auditmanager"]="@com_google_googleapis//google/cloud/auditmanager/v1:auditmanager_cc_grpc" ["automl"]="@com_google_googleapis//google/cloud/automl/v1:automl_cc_grpc" ["backupdr"]="$( printf ",%s" \ diff --git a/generator/generator_config.textproto b/generator/generator_config.textproto index bbbbfb69b3161..c4ec62136ff3e 100644 --- a/generator/generator_config.textproto +++ b/generator/generator_config.textproto @@ -340,6 +340,14 @@ service { retryable_status_codes: ["kUnavailable"] } +# Audit Manager +service { + service_proto_path: "google/cloud/auditmanager/v1/auditmanager.proto" + product_path: "google/cloud/auditmanager/v1" + initial_copyright_year: "2026" + retryable_status_codes: ["kUnavailable"] +} + # Auto ML service { service_proto_path: "google/cloud/automl/v1/service.proto" From 52af14239eb54fc0602fbafd8dfbe04ce9885c28 Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Thu, 5 Feb 2026 13:53:21 -0500 Subject: [PATCH 2/5] Run generators and format their outputs --- README.md | 3 + ci/etc/expected_install_directories | 6 + .../googleapis/protodeps/auditmanager.deps | 8 + .../googleapis/protolists/auditmanager.list | 1 + google/cloud/auditmanager/BUILD.bazel | 31 + google/cloud/auditmanager/CMakeLists.txt | 36 + google/cloud/auditmanager/README.md | 59 + .../doc/environment-variables.dox | 49 + google/cloud/auditmanager/doc/main.dox | 48 + google/cloud/auditmanager/doc/options.dox | 10 + .../doc/override-authentication.dox | 35 + .../auditmanager/doc/override-endpoint.dox | 25 + .../doc/override-retry-policies.dox | 108 ++ .../doc/override-universe-domain.dox | 24 + google/cloud/auditmanager/quickstart/.bazelrc | 30 + .../cloud/auditmanager/quickstart/BUILD.bazel | 25 + .../auditmanager/quickstart/CMakeLists.txt | 32 + google/cloud/auditmanager/quickstart/Makefile | 35 + .../cloud/auditmanager/quickstart/README.md | 135 +++ .../auditmanager/quickstart/WORKSPACE.bazel | 53 + .../auditmanager/quickstart/quickstart.cc | 42 + .../cloud/auditmanager/v1/.repo-metadata.json | 14 + .../auditmanager/v1/audit_manager_client.cc | 293 +++++ .../auditmanager/v1/audit_manager_client.h | 1069 +++++++++++++++++ .../v1/audit_manager_connection.cc | 170 +++ .../v1/audit_manager_connection.h | 278 +++++ ...t_manager_connection_idempotency_policy.cc | 119 ++ ...it_manager_connection_idempotency_policy.h | 97 ++ .../auditmanager/v1/audit_manager_options.h | 86 ++ .../internal/audit_manager_auth_decorator.cc | 220 ++++ .../internal/audit_manager_auth_decorator.h | 140 +++ .../internal/audit_manager_connection_impl.cc | 458 +++++++ .../internal/audit_manager_connection_impl.h | 127 ++ .../audit_manager_logging_decorator.cc | 274 +++++ .../audit_manager_logging_decorator.h | 140 +++ .../audit_manager_metadata_decorator.cc | 226 ++++ .../audit_manager_metadata_decorator.h | 145 +++ .../internal/audit_manager_option_defaults.cc | 79 ++ .../internal/audit_manager_option_defaults.h | 37 + .../v1/internal/audit_manager_retry_traits.h | 43 + .../v1/internal/audit_manager_sources.cc | 32 + .../v1/internal/audit_manager_stub.cc | 270 +++++ .../v1/internal/audit_manager_stub.h | 249 ++++ .../v1/internal/audit_manager_stub_factory.cc | 76 ++ .../v1/internal/audit_manager_stub_factory.h | 42 + .../audit_manager_tracing_connection.cc | 216 ++++ .../audit_manager_tracing_connection.h | 125 ++ .../v1/internal/audit_manager_tracing_stub.cc | 268 +++++ .../v1/internal/audit_manager_tracing_stub.h | 151 +++ .../v1/mocks/mock_audit_manager_connection.h | 162 +++ .../samples/audit_manager_client_samples.cc | 226 ++++ 51 files changed, 6627 insertions(+) create mode 100644 external/googleapis/protodeps/auditmanager.deps create mode 100644 external/googleapis/protolists/auditmanager.list create mode 100644 google/cloud/auditmanager/BUILD.bazel create mode 100644 google/cloud/auditmanager/CMakeLists.txt create mode 100644 google/cloud/auditmanager/README.md create mode 100644 google/cloud/auditmanager/doc/environment-variables.dox create mode 100644 google/cloud/auditmanager/doc/main.dox create mode 100644 google/cloud/auditmanager/doc/options.dox create mode 100644 google/cloud/auditmanager/doc/override-authentication.dox create mode 100644 google/cloud/auditmanager/doc/override-endpoint.dox create mode 100644 google/cloud/auditmanager/doc/override-retry-policies.dox create mode 100644 google/cloud/auditmanager/doc/override-universe-domain.dox create mode 100644 google/cloud/auditmanager/quickstart/.bazelrc create mode 100644 google/cloud/auditmanager/quickstart/BUILD.bazel create mode 100644 google/cloud/auditmanager/quickstart/CMakeLists.txt create mode 100644 google/cloud/auditmanager/quickstart/Makefile create mode 100644 google/cloud/auditmanager/quickstart/README.md create mode 100644 google/cloud/auditmanager/quickstart/WORKSPACE.bazel create mode 100644 google/cloud/auditmanager/quickstart/quickstart.cc create mode 100644 google/cloud/auditmanager/v1/.repo-metadata.json create mode 100644 google/cloud/auditmanager/v1/audit_manager_client.cc create mode 100644 google/cloud/auditmanager/v1/audit_manager_client.h create mode 100644 google/cloud/auditmanager/v1/audit_manager_connection.cc create mode 100644 google/cloud/auditmanager/v1/audit_manager_connection.h create mode 100644 google/cloud/auditmanager/v1/audit_manager_connection_idempotency_policy.cc create mode 100644 google/cloud/auditmanager/v1/audit_manager_connection_idempotency_policy.h create mode 100644 google/cloud/auditmanager/v1/audit_manager_options.h create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_auth_decorator.cc create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_auth_decorator.h create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_connection_impl.cc create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_connection_impl.h create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_logging_decorator.cc create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_logging_decorator.h create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_metadata_decorator.cc create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_metadata_decorator.h create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_option_defaults.cc create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_option_defaults.h create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_retry_traits.h create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_sources.cc create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_stub.cc create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_stub.h create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_stub_factory.cc create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_stub_factory.h create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_tracing_connection.cc create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_tracing_connection.h create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_tracing_stub.cc create mode 100644 google/cloud/auditmanager/v1/internal/audit_manager_tracing_stub.h create mode 100644 google/cloud/auditmanager/v1/mocks/mock_audit_manager_connection.h create mode 100644 google/cloud/auditmanager/v1/samples/audit_manager_client_samples.cc diff --git a/README.md b/README.md index 9914634f5fcb0..ea1c3306c7adb 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,9 @@ See each library's `README.md` file for more information about: - [Assured Workloads API](google/cloud/assuredworkloads/README.md) [[quickstart]](google/cloud/assuredworkloads/quickstart/README.md) [[reference]](https://cloud.google.com/cpp/docs/reference/assuredworkloads/latest) +- [Audit Manager API](google/cloud/auditmanager/README.md) + [[quickstart]](google/cloud/auditmanager/quickstart/README.md) + [[reference]](https://cloud.google.com/cpp/docs/reference/auditmanager/latest) - [Cloud AutoML API](google/cloud/automl/README.md) [[quickstart]](google/cloud/automl/quickstart/README.md) [[reference]](https://cloud.google.com/cpp/docs/reference/automl/latest) diff --git a/ci/etc/expected_install_directories b/ci/etc/expected_install_directories index 7fa97fa28ce97..db0af4607fbd5 100644 --- a/ci/etc/expected_install_directories +++ b/ci/etc/expected_install_directories @@ -81,6 +81,10 @@ ./include/google/cloud/assuredworkloads/v1 ./include/google/cloud/assuredworkloads/v1/internal ./include/google/cloud/assuredworkloads/v1/mocks +./include/google/cloud/auditmanager +./include/google/cloud/auditmanager/v1 +./include/google/cloud/auditmanager/v1/internal +./include/google/cloud/auditmanager/v1/mocks ./include/google/cloud/automl ./include/google/cloud/automl/mocks ./include/google/cloud/automl/v1 @@ -1369,6 +1373,8 @@ ./lib64/cmake/google_cloud_cpp_asset_mocks ./lib64/cmake/google_cloud_cpp_assuredworkloads ./lib64/cmake/google_cloud_cpp_assuredworkloads_mocks +./lib64/cmake/google_cloud_cpp_auditmanager +./lib64/cmake/google_cloud_cpp_auditmanager_mocks ./lib64/cmake/google_cloud_cpp_automl ./lib64/cmake/google_cloud_cpp_automl_mocks ./lib64/cmake/google_cloud_cpp_backupdr diff --git a/external/googleapis/protodeps/auditmanager.deps b/external/googleapis/protodeps/auditmanager.deps new file mode 100644 index 0000000000000..6ef8f9ccdeb73 --- /dev/null +++ b/external/googleapis/protodeps/auditmanager.deps @@ -0,0 +1,8 @@ +@com_google_googleapis//google/api:annotations_proto +@com_google_googleapis//google/api:client_proto +@com_google_googleapis//google/api:field_behavior_proto +@com_google_googleapis//google/api:http_proto +@com_google_googleapis//google/api:launch_stage_proto +@com_google_googleapis//google/api:resource_proto +@com_google_googleapis//google/longrunning:operations_proto +@com_google_googleapis//google/rpc:status_proto diff --git a/external/googleapis/protolists/auditmanager.list b/external/googleapis/protolists/auditmanager.list new file mode 100644 index 0000000000000..b3b99d045599d --- /dev/null +++ b/external/googleapis/protolists/auditmanager.list @@ -0,0 +1 @@ +@com_google_googleapis//google/cloud/auditmanager/v1:auditmanager.proto diff --git a/google/cloud/auditmanager/BUILD.bazel b/google/cloud/auditmanager/BUILD.bazel new file mode 100644 index 0000000000000..63115f5c8cc93 --- /dev/null +++ b/google/cloud/auditmanager/BUILD.bazel @@ -0,0 +1,31 @@ +# 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. + +load("//bazel:gapic.bzl", "cc_gapic_library") + +package(default_visibility = ["//visibility:private"]) + +licenses(["notice"]) # Apache 2.0 + +service_dirs = ["v1/"] + +googleapis_deps = [ + "@com_google_googleapis//google/cloud/auditmanager/v1:auditmanager_cc_grpc", +] + +cc_gapic_library( + name = "auditmanager", + googleapis_deps = googleapis_deps, + service_dirs = service_dirs, +) diff --git a/google/cloud/auditmanager/CMakeLists.txt b/google/cloud/auditmanager/CMakeLists.txt new file mode 100644 index 0000000000000..4ce3af7607cbb --- /dev/null +++ b/google/cloud/auditmanager/CMakeLists.txt @@ -0,0 +1,36 @@ +# ~~~ +# 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. +# ~~~ + +include(GoogleCloudCppLibrary) + +google_cloud_cpp_add_gapic_library(auditmanager "Audit Manager API" + SERVICE_DIRS "v1/") + +if (BUILD_TESTING AND GOOGLE_CLOUD_CPP_ENABLE_CXX_EXCEPTIONS) + add_executable(auditmanager_quickstart "quickstart/quickstart.cc") + target_link_libraries(auditmanager_quickstart + PRIVATE google-cloud-cpp::auditmanager) + google_cloud_cpp_add_common_options(auditmanager_quickstart) + add_test( + NAME auditmanager_quickstart + COMMAND + cmake -P "${PROJECT_SOURCE_DIR}/cmake/quickstart-runner.cmake" + $ GOOGLE_CLOUD_PROJECT + GOOGLE_CLOUD_CPP_TEST_REGION # EDIT HERE + ) + set_tests_properties(auditmanager_quickstart + PROPERTIES LABELS "integration-test;quickstart") +endif () diff --git a/google/cloud/auditmanager/README.md b/google/cloud/auditmanager/README.md new file mode 100644 index 0000000000000..2fc14c2258e03 --- /dev/null +++ b/google/cloud/auditmanager/README.md @@ -0,0 +1,59 @@ +# Audit Manager API C++ Client Library + +This directory contains an idiomatic C++ client library for the +[Audit Manager 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/auditmanager/v1/ EDIT HERE _client.h" +#include "google/cloud/location.h" +#include + +int main(int argc, char* argv[]) try { + if (argc != 3) { + std::cerr << "Usage: " << argv[0] << " project-id location-id\n"; + return 1; + } + + auto const location = google::cloud::Location(argv[1], argv[2]); + + namespace auditmanager = ::google::cloud::auditmanager_v1; + auto client = auditmanager::ServiceClient( + auditmanager::MakeServiceConnection()); // EDIT HERE + + for (auto r : client.List /*EDIT HERE*/ (location.FullName())) { + if (!r) throw std::move(r).status(); + std::cout << r->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 [Audit Manager 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/audit-manager/docs +[doxygen-link]: https://cloud.google.com/cpp/docs/reference/auditmanager/latest/ +[source-link]: https://github.com/googleapis/google-cloud-cpp/tree/main/google/cloud/auditmanager diff --git a/google/cloud/auditmanager/doc/environment-variables.dox b/google/cloud/auditmanager/doc/environment-variables.dox new file mode 100644 index 0000000000000..6f2d70a765d4a --- /dev/null +++ b/google/cloud/auditmanager/doc/environment-variables.dox @@ -0,0 +1,49 @@ +/*! +@page auditmanager-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 auditmanager-env-endpoint Endpoint Overrides + + + +- `GOOGLE_CLOUD_CPP_AUDIT_MANAGER_ENDPOINT=...` overrides the + `EndpointOption` (which defaults to "auditmanager.googleapis.com") + used by `MakeAuditManagerConnection()`. + + + +@see google::cloud::EndpointOption + +@section auditmanager-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 auditmanager-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/auditmanager/doc/main.dox b/google/cloud/auditmanager/doc/main.dox new file mode 100644 index 0000000000000..1c27a34625268 --- /dev/null +++ b/google/cloud/auditmanager/doc/main.dox @@ -0,0 +1,48 @@ +/*! + +@mainpage Audit Manager API C++ Client Library + +An idiomatic C++ client library for the [Audit Manager 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/auditmanager/quickstart/` directory, +which should give you a taste of the Audit Manager API C++ client library API. + +@snippet quickstart.cc all + +## Main classes + + +The main class in this library is +[`auditmanager_v1::AuditManagerClient`](@ref google::cloud::auditmanager_v1::AuditManagerClient). All RPCs are exposed +as member functions of this class. Other classes provide helpers, configuration +parameters, and infrastructure to mock +[`auditmanager_v1::AuditManagerClient`](@ref google::cloud::auditmanager_v1::AuditManagerClient) when testing your +application. + + +## More Information + +- @ref common-error-handling - describes how the library reports errors. +- @ref auditmanager-override-endpoint - describes how to override the default + endpoint. +- @ref auditmanager-override-authentication - describes how to change the + authentication credentials used by the library. +- @ref auditmanager-override-retry - describes how to change the default retry + policies. +- @ref auditmanager-env - describes environment variables that can configure the + behavior of the library. +- @ref auditmanager-override-universe-domain - describes how to override the default universe domain. + +[cloud-service-docs]: https://cloud.google.com/audit-manager/docs + +*/ diff --git a/google/cloud/auditmanager/doc/options.dox b/google/cloud/auditmanager/doc/options.dox new file mode 100644 index 0000000000000..8ede0dd7d4208 --- /dev/null +++ b/google/cloud/auditmanager/doc/options.dox @@ -0,0 +1,10 @@ +/*! +@defgroup google-cloud-auditmanager-options Audit Manager 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/auditmanager/doc/override-authentication.dox b/google/cloud/auditmanager/doc/override-authentication.dox new file mode 100644 index 0000000000000..43caf1ffa6f35 --- /dev/null +++ b/google/cloud/auditmanager/doc/override-authentication.dox @@ -0,0 +1,35 @@ +/*! +@page auditmanager-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 audit_manager_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 auditmanager_v1::AuditManagerClient-service-account-snippet Override auditmanager_v1::AuditManagerClient Authentication Defaults + +@snippet google/cloud/auditmanager/v1/samples/audit_manager_client_samples.cc with-service-account + +*/ +// diff --git a/google/cloud/auditmanager/doc/override-endpoint.dox b/google/cloud/auditmanager/doc/override-endpoint.dox new file mode 100644 index 0000000000000..ba3081291c711 --- /dev/null +++ b/google/cloud/auditmanager/doc/override-endpoint.dox @@ -0,0 +1,25 @@ +/*! +@page auditmanager-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 `auditmanager_v1::AuditManagerClient`: + +@snippet audit_manager_client_samples.cc set-client-endpoint + + + +*/ + +// + +/*! @page auditmanager_v1::AuditManagerClient-endpoint-snippet Override auditmanager_v1::AuditManagerClient Endpoint Configuration + +@snippet google/cloud/auditmanager/v1/samples/audit_manager_client_samples.cc set-client-endpoint + +*/ +// diff --git a/google/cloud/auditmanager/doc/override-retry-policies.dox b/google/cloud/auditmanager/doc/override-retry-policies.dox new file mode 100644 index 0000000000000..a94711d387932 --- /dev/null +++ b/google/cloud/auditmanager/doc/override-retry-policies.dox @@ -0,0 +1,108 @@ +/*! +@page auditmanager-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 auditmanager-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 auditmanager-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 auditmanager-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 auditmanager-override-retry-example Example + + +For example, this will override the retry policies for `auditmanager_v1::AuditManagerClient`: + +@snippet audit_manager_client_samples.cc set-retry-policy + +This assumes you have created a custom idempotency policy. Such as: + +@snippet audit_manager_client_samples.cc custom-idempotency-policy + +This will override the polling policies for `auditmanager_v1::AuditManagerClient` + +@snippet audit_manager_client_samples.cc set-polling-policy + + + + +@section auditmanager-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 auditmanager_v1::AuditManagerClient-retry-snippet Override auditmanager_v1::AuditManagerClient Retry Policies + +This shows how to override the retry policies for auditmanager_v1::AuditManagerClient: + +@snippet google/cloud/auditmanager/v1/samples/audit_manager_client_samples.cc set-retry-policy + +Assuming you have created a custom idempotency policy. Such as: + +@snippet google/cloud/auditmanager/v1/samples/audit_manager_client_samples.cc custom-idempotency-policy + +*/ +// diff --git a/google/cloud/auditmanager/doc/override-universe-domain.dox b/google/cloud/auditmanager/doc/override-universe-domain.dox new file mode 100644 index 0000000000000..478bdd40b237b --- /dev/null +++ b/google/cloud/auditmanager/doc/override-universe-domain.dox @@ -0,0 +1,24 @@ +/*! +@page auditmanager-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 `auditmanager_v1::AuditManagerClient`: + +@snippet audit_manager_client_samples.cc set-client-universe-domain + + + +*/ + +// + +/*! @page auditmanager_v1::AuditManagerClient-universe-domain-snippet Override auditmanager_v1::AuditManagerClient Universe Domain + +@snippet google/cloud/auditmanager/v1/samples/audit_manager_client_samples.cc set-client-universe-domain + +*/ +// diff --git a/google/cloud/auditmanager/quickstart/.bazelrc b/google/cloud/auditmanager/quickstart/.bazelrc new file mode 100644 index 0000000000000..c884db46c2b4d --- /dev/null +++ b/google/cloud/auditmanager/quickstart/.bazelrc @@ -0,0 +1,30 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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++ >= 14. By default Bazel adds `-std=c++0x` which +# disables C++14 features, even if the compilers defaults to C++ >= 14 +build:linux --cxxopt=-std=c++14 +build:macos --cxxopt=-std=c++14 +# Protobuf and gRPC require (or soon will require) C++14 to compile the "host" +# targets, such as protoc and the grpc plugin. +build:linux --host_cxxopt=-std=c++14 +build:macos --host_cxxopt=-std=c++14 + +# 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/auditmanager/quickstart/BUILD.bazel b/google/cloud/auditmanager/quickstart/BUILD.bazel new file mode 100644 index 0000000000000..fa783bddf477e --- /dev/null +++ b/google/cloud/auditmanager/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//:auditmanager", + ], +) diff --git a/google/cloud/auditmanager/quickstart/CMakeLists.txt b/google/cloud/auditmanager/quickstart/CMakeLists.txt new file mode 100644 index 0000000000000..bf27dc65fedc1 --- /dev/null +++ b/google/cloud/auditmanager/quickstart/CMakeLists.txt @@ -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. + +# This file shows how to use the Audit Manager API C++ client library from a +# larger CMake project. + +cmake_minimum_required(VERSION 3.10...3.24) +project(google-cloud-cpp-auditmanager-quickstart CXX) + +find_package(google_cloud_cpp_auditmanager 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::auditmanager) diff --git a/google/cloud/auditmanager/quickstart/Makefile b/google/cloud/auditmanager/quickstart/Makefile new file mode 100644 index 0000000000000..2e9118ba54408 --- /dev/null +++ b/google/cloud/auditmanager/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 Audit Manager 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= +CXXLD=$(CXX) +BIN=. + +all: $(BIN)/quickstart + +# Configuration variables to compile and link against the Audit Manager API C++ +# client library. +CLIENT_MODULE := google_cloud_cpp_auditmanager +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/auditmanager/quickstart/README.md b/google/cloud/auditmanager/quickstart/README.md new file mode 100644 index 0000000000000..bce25d901d715 --- /dev/null +++ b/google/cloud/auditmanager/quickstart/README.md @@ -0,0 +1,135 @@ +# HOWTO: using the Audit Manager API C++ client in your project + +This directory contains small examples showing how to use the Audit Manager 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, Audit Manager 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/auditmanager/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,auditmanager] + ``` + + 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/auditmanager/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/auditmanager/quickstart/WORKSPACE.bazel b/google/cloud/auditmanager/quickstart/WORKSPACE.bazel new file mode 100644 index 0000000000000..98926f7ab16a7 --- /dev/null +++ b/google/cloud/auditmanager/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 Audit Manager 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 = "699955112a4c57ae9111fbadeff1698674a1762acd77daf36360e6dfc227dc93", + strip_prefix = "google-cloud-cpp-2.42.0", + url = "https://github.com/googleapis/google-cloud-cpp/archive/v2.42.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/auditmanager/quickstart/quickstart.cc b/google/cloud/auditmanager/quickstart/quickstart.cc new file mode 100644 index 0000000000000..e32c9924fdde9 --- /dev/null +++ b/google/cloud/auditmanager/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/auditmanager/v1/ EDIT HERE _client.h" +#include "google/cloud/location.h" +#include + +int main(int argc, char* argv[]) try { + if (argc != 3) { + std::cerr << "Usage: " << argv[0] << " project-id location-id\n"; + return 1; + } + + auto const location = google::cloud::Location(argv[1], argv[2]); + + namespace auditmanager = ::google::cloud::auditmanager_v1; + auto client = auditmanager::ServiceClient( + auditmanager::MakeServiceConnection()); // EDIT HERE + + for (auto r : client.List /*EDIT HERE*/ (location.FullName())) { + if (!r) throw std::move(r).status(); + std::cout << r->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/auditmanager/v1/.repo-metadata.json b/google/cloud/auditmanager/v1/.repo-metadata.json new file mode 100644 index 0000000000000..6e1467ae83cb2 --- /dev/null +++ b/google/cloud/auditmanager/v1/.repo-metadata.json @@ -0,0 +1,14 @@ +{ + "api_id": "auditmanager.googleapis.com", + "api_shortname": "auditmanager", + "client_documentation": "https://cloud.google.com/cpp/docs/reference/auditmanager/latest", + "distribution_name": "google-cloud-cpp", + "issue_tracker": "https://issuetracker.google.com/issues?q=componentid:1335397%20status=open", + "language": "cpp", + "library_type": "GAPIC_AUTO", + "name_pretty": "Audit Manager API", + "product_documentation": "https://cloud.google.com/audit-manager/docs", + "release_level": "stable", + "repo": "googleapis/google-cloud-cpp", + "requires_billing": true +} diff --git a/google/cloud/auditmanager/v1/audit_manager_client.cc b/google/cloud/auditmanager/v1/audit_manager_client.cc new file mode 100644 index 0000000000000..9e689beb6e391 --- /dev/null +++ b/google/cloud/auditmanager/v1/audit_manager_client.cc @@ -0,0 +1,293 @@ +// 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/auditmanager/v1/auditmanager.proto + +#include "google/cloud/auditmanager/v1/audit_manager_client.h" +#include +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +AuditManagerClient::AuditManagerClient( + std::shared_ptr connection, Options opts) + : connection_(std::move(connection)), + options_( + internal::MergeOptions(std::move(opts), connection_->options())) {} +AuditManagerClient::~AuditManagerClient() = default; + +StatusOr +AuditManagerClient::EnrollResource( + std::string const& scope, + std::vector const& destinations, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::auditmanager::v1::EnrollResourceRequest request; + request.set_scope(scope); + *request.mutable_destinations() = {destinations.begin(), destinations.end()}; + return connection_->EnrollResource(request); +} + +StatusOr +AuditManagerClient::EnrollResource( + google::cloud::auditmanager::v1::EnrollResourceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->EnrollResource(request); +} + +StatusOr +AuditManagerClient::GenerateAuditScopeReport( + std::string const& scope, std::string const& compliance_standard, + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest:: + AuditScopeReportFormat report_format, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest request; + request.set_scope(scope); + request.set_compliance_standard(compliance_standard); + request.set_report_format(report_format); + return connection_->GenerateAuditScopeReport(request); +} + +StatusOr +AuditManagerClient::GenerateAuditScopeReport( + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GenerateAuditScopeReport(request); +} + +future> +AuditManagerClient::GenerateAuditReport( + std::string const& scope, std::string const& gcs_uri, + std::string const& compliance_standard, + google::cloud::auditmanager::v1::GenerateAuditReportRequest:: + AuditReportFormat report_format, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::auditmanager::v1::GenerateAuditReportRequest request; + request.set_scope(scope); + request.set_gcs_uri(gcs_uri); + request.set_compliance_standard(compliance_standard); + request.set_report_format(report_format); + return connection_->GenerateAuditReport(request); +} + +StatusOr +AuditManagerClient::GenerateAuditReport( + NoAwaitTag, std::string const& scope, std::string const& gcs_uri, + std::string const& compliance_standard, + google::cloud::auditmanager::v1::GenerateAuditReportRequest:: + AuditReportFormat report_format, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::auditmanager::v1::GenerateAuditReportRequest request; + request.set_scope(scope); + request.set_gcs_uri(gcs_uri); + request.set_compliance_standard(compliance_standard); + request.set_report_format(report_format); + return connection_->GenerateAuditReport(NoAwaitTag{}, request); +} + +future> +AuditManagerClient::GenerateAuditReport( + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GenerateAuditReport(request); +} + +StatusOr +AuditManagerClient::GenerateAuditReport( + NoAwaitTag, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GenerateAuditReport(NoAwaitTag{}, request); +} + +future> +AuditManagerClient::GenerateAuditReport( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GenerateAuditReport(operation); +} + +StreamRange +AuditManagerClient::ListAuditReports(std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::auditmanager::v1::ListAuditReportsRequest request; + request.set_parent(parent); + return connection_->ListAuditReports(request); +} + +StreamRange +AuditManagerClient::ListAuditReports( + google::cloud::auditmanager::v1::ListAuditReportsRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListAuditReports(std::move(request)); +} + +StatusOr +AuditManagerClient::GetAuditReport(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::auditmanager::v1::GetAuditReportRequest request; + request.set_name(name); + return connection_->GetAuditReport(request); +} + +StatusOr +AuditManagerClient::GetAuditReport( + google::cloud::auditmanager::v1::GetAuditReportRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetAuditReport(request); +} + +StatusOr +AuditManagerClient::GetResourceEnrollmentStatus(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest request; + request.set_name(name); + return connection_->GetResourceEnrollmentStatus(request); +} + +StatusOr +AuditManagerClient::GetResourceEnrollmentStatus( + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetResourceEnrollmentStatus(request); +} + +StreamRange +AuditManagerClient::ListResourceEnrollmentStatuses(std::string const& parent, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesRequest + request; + request.set_parent(parent); + return connection_->ListResourceEnrollmentStatuses(request); +} + +StreamRange +AuditManagerClient::ListResourceEnrollmentStatuses( + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesRequest + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListResourceEnrollmentStatuses(std::move(request)); +} + +StreamRange +AuditManagerClient::ListControls(std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::auditmanager::v1::ListControlsRequest request; + request.set_parent(parent); + return connection_->ListControls(request); +} + +StreamRange +AuditManagerClient::ListControls( + google::cloud::auditmanager::v1::ListControlsRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListControls(std::move(request)); +} + +StreamRange +AuditManagerClient::ListLocations( + google::cloud::location::ListLocationsRequest request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListLocations(std::move(request)); +} + +StatusOr AuditManagerClient::GetLocation( + google::cloud::location::GetLocationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetLocation(request); +} + +StreamRange AuditManagerClient::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 AuditManagerClient::ListOperations( + google::longrunning::ListOperationsRequest request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListOperations(std::move(request)); +} + +StatusOr AuditManagerClient::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 AuditManagerClient::GetOperation( + google::longrunning::GetOperationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetOperation(request); +} + +Status AuditManagerClient::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 AuditManagerClient::DeleteOperation( + google::longrunning::DeleteOperationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteOperation(request); +} + +Status AuditManagerClient::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 AuditManagerClient::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 auditmanager_v1 +} // namespace cloud +} // namespace google diff --git a/google/cloud/auditmanager/v1/audit_manager_client.h b/google/cloud/auditmanager/v1/audit_manager_client.h new file mode 100644 index 0000000000000..90ae8e707b4b1 --- /dev/null +++ b/google/cloud/auditmanager/v1/audit_manager_client.h @@ -0,0 +1,1069 @@ +// 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/auditmanager/v1/auditmanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_AUDIT_MANAGER_CLIENT_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_AUDIT_MANAGER_CLIENT_H + +#include "google/cloud/auditmanager/v1/audit_manager_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 +#include +#include +#include + +namespace google { +namespace cloud { +namespace auditmanager_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 AuditManagerClient { + public: + explicit AuditManagerClient( + std::shared_ptr connection, Options opts = {}); + ~AuditManagerClient(); + + ///@{ + /// @name Copy and move support + AuditManagerClient(AuditManagerClient const&) = default; + AuditManagerClient& operator=(AuditManagerClient const&) = default; + AuditManagerClient(AuditManagerClient&&) = default; + AuditManagerClient& operator=(AuditManagerClient&&) = default; + ///@} + + ///@{ + /// @name Equality + friend bool operator==(AuditManagerClient const& a, + AuditManagerClient const& b) { + return a.connection_ == b.connection_; + } + friend bool operator!=(AuditManagerClient const& a, + AuditManagerClient const& b) { + return !(a == b); + } + ///@} + + // clang-format off + /// + /// Enrolls the customer resource(folder/project/organization) to the audit + /// manager service by creating the audit managers Service Agent in customers + /// workload and granting required permissions to the Service Agent. Please + /// note that if enrollment request is made on the already enrolled workload + /// then enrollment is executed overriding the existing set of destinations. + /// + /// @param scope Required. The resource to be enrolled to the audit manager. Scope format + /// should be resource_type/resource_identifier Eg: + /// projects/{project}/locations/{location}, + /// folders/{folder}/locations/{location} + /// organizations/{organization}/locations/{location} + /// @param destinations Required. List of destination among which customer can choose to upload + /// their reports during the audit process. While enrolling at a + /// organization/folder level, customer can choose Cloud storage bucket in any + /// project. If the audit is triggered at project level using the service agent + /// at organization/folder level, all the destination options associated with + /// respective organization/folder level service agent will be available to + /// auditing projects. + /// @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.auditmanager.v1.Enrollment]) + /// 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.auditmanager.v1.EnrollResourceRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L239} + /// [google.cloud.auditmanager.v1.Enrollment]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L492} + /// + // clang-format on + StatusOr EnrollResource( + std::string const& scope, + std::vector const& destinations, + Options opts = {}); + + // clang-format off + /// + /// Enrolls the customer resource(folder/project/organization) to the audit + /// manager service by creating the audit managers Service Agent in customers + /// workload and granting required permissions to the Service Agent. Please + /// note that if enrollment request is made on the already enrolled workload + /// then enrollment is executed overriding the existing set of destinations. + /// + /// @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.auditmanager.v1.EnrollResourceRequest]. + /// 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.auditmanager.v1.Enrollment]) + /// 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.auditmanager.v1.EnrollResourceRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L239} + /// [google.cloud.auditmanager.v1.Enrollment]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L492} + /// + // clang-format on + StatusOr EnrollResource( + google::cloud::auditmanager::v1::EnrollResourceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Generates a demo report highlighting different responsibilities + /// (Google/Customer/ shared) required to be fulfilled for the customer's + /// workload to be compliant with the given standard. + /// + /// @param scope Required. Scope for which the AuditScopeReport is required. Must be of + /// format resource_type/resource_identifier Eg: + /// projects/{project}/locations/{location}, + /// folders/{folder}/locations/{location} + /// @param compliance_standard Required. Compliance Standard against which the Scope Report must be + /// generated. Eg: FEDRAMP_MODERATE + /// @param report_format Required. The format in which the Scope report bytes should be returned. + /// @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.auditmanager.v1.AuditScopeReport]) + /// 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.auditmanager.v1.AuditScopeReport]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L512} + /// [google.cloud.auditmanager.v1.GenerateAuditScopeReportRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L269} + /// + // clang-format on + StatusOr + GenerateAuditScopeReport( + std::string const& scope, std::string const& compliance_standard, + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest:: + AuditScopeReportFormat report_format, + Options opts = {}); + + // clang-format off + /// + /// Generates a demo report highlighting different responsibilities + /// (Google/Customer/ shared) required to be fulfilled for the customer's + /// workload to be compliant with the given standard. + /// + /// @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.auditmanager.v1.GenerateAuditScopeReportRequest]. + /// 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.auditmanager.v1.AuditScopeReport]) + /// 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.auditmanager.v1.AuditScopeReport]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L512} + /// [google.cloud.auditmanager.v1.GenerateAuditScopeReportRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L269} + /// + // clang-format on + StatusOr + GenerateAuditScopeReport( + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// Register the Audit Report generation requests and returns the OperationId + /// using which the customer can track the report generation progress. + /// + /// @param scope Required. Scope for which the AuditScopeReport is required. Must be of + /// format resource_type/resource_identifier Eg: + /// projects/{project}/locations/{location}, + /// folders/{folder}/locations/{location} + /// @param gcs_uri Destination Cloud storage bucket where report and evidence must be + /// uploaded. The Cloud storage bucket provided here must be selected among + /// the buckets entered during the enrollment process. + /// @param compliance_standard Required. Compliance Standard against which the Scope Report must be + /// generated. Eg: FEDRAMP_MODERATE + /// @param report_format Required. The format in which the audit report should be created. + /// @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.auditmanager.v1.AuditReport] 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.auditmanager.v1.AuditReport]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L608} + /// [google.cloud.auditmanager.v1.GenerateAuditReportRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L299} + /// + // clang-format on + future> + GenerateAuditReport( + std::string const& scope, std::string const& gcs_uri, + std::string const& compliance_standard, + google::cloud::auditmanager::v1::GenerateAuditReportRequest:: + AuditReportFormat report_format, + Options opts = {}); + + // clang-format off + /// + /// @copybrief GenerateAuditReport + /// + /// 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 GenerateAuditReport( + NoAwaitTag, std::string const& scope, std::string const& gcs_uri, + std::string const& compliance_standard, + google::cloud::auditmanager::v1::GenerateAuditReportRequest:: + AuditReportFormat report_format, + Options opts = {}); + + // clang-format off + /// + /// Register the Audit Report generation requests and returns the OperationId + /// using which the customer can track the report generation progress. + /// + /// @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.auditmanager.v1.GenerateAuditReportRequest]. + /// 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.auditmanager.v1.AuditReport] 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.auditmanager.v1.AuditReport]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L608} + /// [google.cloud.auditmanager.v1.GenerateAuditReportRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L299} + /// + // clang-format on + future> + GenerateAuditReport( + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief GenerateAuditReport + /// + /// 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 GenerateAuditReport( + NoAwaitTag, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief GenerateAuditReport + /// + /// 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> + GenerateAuditReport(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Lists audit reports in the selected parent scope + /// + /// @param parent Required. The parent scope for which to list the reports. + /// @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.auditmanager.v1.AuditReport], 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.auditmanager.v1.AuditReport]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L608} + /// [google.cloud.auditmanager.v1.ListAuditReportsRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L378} + /// + // clang-format on + StreamRange ListAuditReports( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists audit reports in the selected parent scope + /// + /// @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.auditmanager.v1.ListAuditReportsRequest]. + /// 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.auditmanager.v1.AuditReport], 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.auditmanager.v1.AuditReport]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L608} + /// [google.cloud.auditmanager.v1.ListAuditReportsRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L378} + /// + // clang-format on + StreamRange ListAuditReports( + google::cloud::auditmanager::v1::ListAuditReportsRequest request, + Options opts = {}); + + // clang-format off + /// + /// Get the overall audit report + /// + /// @param name Required. Format + /// projects/{project}/locations/{location}/auditReports/{audit_report}, + /// folders/{folder}/locations/{location}/auditReports/{audit_report} + /// @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.auditmanager.v1.AuditReport]) + /// 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.auditmanager.v1.AuditReport]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L608} + /// [google.cloud.auditmanager.v1.GetAuditReportRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L406} + /// + // clang-format on + StatusOr GetAuditReport( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Get the overall audit report + /// + /// @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.auditmanager.v1.GetAuditReportRequest]. + /// 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.auditmanager.v1.AuditReport]) + /// 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.auditmanager.v1.AuditReport]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L608} + /// [google.cloud.auditmanager.v1.GetAuditReportRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L406} + /// + // clang-format on + StatusOr GetAuditReport( + google::cloud::auditmanager::v1::GetAuditReportRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Get a resource along with its enrollment status. + /// + /// @param name Required. Format + /// folders/{folder}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}, + /// projects/{project}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}, + /// organizations/{organization}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status} + /// @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.auditmanager.v1.ResourceEnrollmentStatus]) + /// 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.auditmanager.v1.GetResourceEnrollmentStatusRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L335} + /// [google.cloud.auditmanager.v1.ResourceEnrollmentStatus]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L563} + /// + // clang-format on + StatusOr + GetResourceEnrollmentStatus(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Get a resource along with its enrollment status. + /// + /// @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.auditmanager.v1.GetResourceEnrollmentStatusRequest]. + /// 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.auditmanager.v1.ResourceEnrollmentStatus]) + /// 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.auditmanager.v1.GetResourceEnrollmentStatusRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L335} + /// [google.cloud.auditmanager.v1.ResourceEnrollmentStatus]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L563} + /// + // clang-format on + StatusOr + GetResourceEnrollmentStatus( + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// Fetches all resources under the parent along with their enrollment. + /// + /// @param parent Required. The parent scope for which the list of resources with enrollments + /// are required. + /// @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.auditmanager.v1.ResourceEnrollmentStatus], 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.auditmanager.v1.ListResourceEnrollmentStatusesRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L350} + /// [google.cloud.auditmanager.v1.ResourceEnrollmentStatus]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L563} + /// + // clang-format on + StreamRange + ListResourceEnrollmentStatuses(std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Fetches all resources under the parent along with their enrollment. + /// + /// @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.auditmanager.v1.ListResourceEnrollmentStatusesRequest]. + /// 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.auditmanager.v1.ResourceEnrollmentStatus], 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.auditmanager.v1.ListResourceEnrollmentStatusesRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L350} + /// [google.cloud.auditmanager.v1.ResourceEnrollmentStatus]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L563} + /// + // clang-format on + StreamRange + ListResourceEnrollmentStatuses( + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesRequest + request, + Options opts = {}); + + // clang-format off + /// + /// Gets controls needed to be implemented to be compliant to a standard. + /// + /// @param parent Required. Format + /// projects/{project}/locations/{location}/standards/{standard}, + /// folders/{folder}/locations/{location}/standards/{standard} + /// @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.auditmanager.v1.Control], 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.auditmanager.v1.Control]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L689} + /// [google.cloud.auditmanager.v1.ListControlsRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L419} + /// + // clang-format on + StreamRange ListControls( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Gets controls needed to be implemented to be compliant to a standard. + /// + /// @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.auditmanager.v1.ListControlsRequest]. + /// 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.auditmanager.v1.Control], 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.auditmanager.v1.Control]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L689} + /// [google.cloud.auditmanager.v1.ListControlsRequest]: @googleapis_reference_link{google/cloud/auditmanager/v1/auditmanager.proto#L419} + /// + // clang-format on + StreamRange ListControls( + google::cloud::auditmanager::v1::ListControlsRequest request, + 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#L38} + /// + // 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#L38} + /// + // 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 auditmanager_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_AUDIT_MANAGER_CLIENT_H diff --git a/google/cloud/auditmanager/v1/audit_manager_connection.cc b/google/cloud/auditmanager/v1/audit_manager_connection.cc new file mode 100644 index 0000000000000..73b6601be0e20 --- /dev/null +++ b/google/cloud/auditmanager/v1/audit_manager_connection.cc @@ -0,0 +1,170 @@ +// 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/auditmanager/v1/auditmanager.proto + +#include "google/cloud/auditmanager/v1/audit_manager_connection.h" +#include "google/cloud/auditmanager/v1/audit_manager_options.h" +#include "google/cloud/auditmanager/v1/internal/audit_manager_connection_impl.h" +#include "google/cloud/auditmanager/v1/internal/audit_manager_option_defaults.h" +#include "google/cloud/auditmanager/v1/internal/audit_manager_stub_factory.h" +#include "google/cloud/auditmanager/v1/internal/audit_manager_tracing_connection.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 auditmanager_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +AuditManagerConnection::~AuditManagerConnection() = default; + +StatusOr +AuditManagerConnection::EnrollResource( + google::cloud::auditmanager::v1::EnrollResourceRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +StatusOr +AuditManagerConnection::GenerateAuditScopeReport( + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +future> +AuditManagerConnection::GenerateAuditReport( + google::cloud::auditmanager::v1::GenerateAuditReportRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +AuditManagerConnection::GenerateAuditReport( + NoAwaitTag, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +AuditManagerConnection::GenerateAuditReport( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StreamRange +AuditManagerConnection::ListAuditReports( + google::cloud::auditmanager::v1:: + ListAuditReportsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +AuditManagerConnection::GetAuditReport( + google::cloud::auditmanager::v1::GetAuditReportRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +StatusOr +AuditManagerConnection::GetResourceEnrollmentStatus( + google::cloud::auditmanager::v1:: + GetResourceEnrollmentStatusRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +StreamRange +AuditManagerConnection::ListResourceEnrollmentStatuses( + google::cloud::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StreamRange +AuditManagerConnection::ListControls( + google::cloud::auditmanager::v1:: + ListControlsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StreamRange +AuditManagerConnection::ListLocations( + google::cloud::location:: + ListLocationsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr AuditManagerConnection::GetLocation( + google::cloud::location::GetLocationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +StreamRange +AuditManagerConnection::ListOperations( + google::longrunning:: + ListOperationsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr AuditManagerConnection::GetOperation( + google::longrunning::GetOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +Status AuditManagerConnection::DeleteOperation( + google::longrunning::DeleteOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +Status AuditManagerConnection::CancelOperation( + google::longrunning::CancelOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +std::shared_ptr MakeAuditManagerConnection( + Options options) { + internal::CheckExpectedOptions(options, + __func__); + options = + auditmanager_v1_internal::AuditManagerDefaultOptions(std::move(options)); + auto background = internal::MakeBackgroundThreadsFactory(options)(); + auto auth = internal::CreateAuthenticationStrategy(background->cq(), options); + auto stub = auditmanager_v1_internal::CreateDefaultAuditManagerStub( + std::move(auth), options); + return auditmanager_v1_internal::MakeAuditManagerTracingConnection( + std::make_shared( + std::move(background), std::move(stub), std::move(options))); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1 +} // namespace cloud +} // namespace google diff --git a/google/cloud/auditmanager/v1/audit_manager_connection.h b/google/cloud/auditmanager/v1/audit_manager_connection.h new file mode 100644 index 0000000000000..2fe7b1b90c6be --- /dev/null +++ b/google/cloud/auditmanager/v1/audit_manager_connection.h @@ -0,0 +1,278 @@ +// 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/auditmanager/v1/auditmanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_AUDIT_MANAGER_CONNECTION_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_AUDIT_MANAGER_CONNECTION_H + +#include "google/cloud/auditmanager/v1/audit_manager_connection_idempotency_policy.h" +#include "google/cloud/auditmanager/v1/internal/audit_manager_retry_traits.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 +#include +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/// The retry policy for `AuditManagerConnection`. +class AuditManagerRetryPolicy : 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 `AuditManagerConnection` 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 AuditManagerLimitedErrorCountRetryPolicy + : public AuditManagerRetryPolicy { + 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 AuditManagerLimitedErrorCountRetryPolicy(int maximum_failures) + : impl_(maximum_failures) {} + + AuditManagerLimitedErrorCountRetryPolicy( + AuditManagerLimitedErrorCountRetryPolicy&& rhs) noexcept + : AuditManagerLimitedErrorCountRetryPolicy(rhs.maximum_failures()) {} + AuditManagerLimitedErrorCountRetryPolicy( + AuditManagerLimitedErrorCountRetryPolicy const& rhs) noexcept + : AuditManagerLimitedErrorCountRetryPolicy(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 = AuditManagerRetryPolicy; + + private: + google::cloud::internal::LimitedErrorCountRetryPolicy< + auditmanager_v1_internal::AuditManagerRetryTraits> + impl_; +}; + +/** + * A retry policy for `AuditManagerConnection` 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 AuditManagerLimitedTimeRetryPolicy : public AuditManagerRetryPolicy { + 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 AuditManagerLimitedTimeRetryPolicy( + std::chrono::duration maximum_duration) + : impl_(maximum_duration) {} + + AuditManagerLimitedTimeRetryPolicy( + AuditManagerLimitedTimeRetryPolicy&& rhs) noexcept + : AuditManagerLimitedTimeRetryPolicy(rhs.maximum_duration()) {} + AuditManagerLimitedTimeRetryPolicy( + AuditManagerLimitedTimeRetryPolicy const& rhs) noexcept + : AuditManagerLimitedTimeRetryPolicy(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 = AuditManagerRetryPolicy; + + private: + google::cloud::internal::LimitedTimeRetryPolicy< + auditmanager_v1_internal::AuditManagerRetryTraits> + impl_; +}; + +/** + * The `AuditManagerConnection` object for `AuditManagerClient`. + * + * This interface defines virtual methods for each of the user-facing overload + * sets in `AuditManagerClient`. This allows users to inject custom behavior + * (e.g., with a Google Mock object) when writing tests that use objects of type + * `AuditManagerClient`. + * + * To create a concrete instance, see `MakeAuditManagerConnection()`. + * + * For mocking, see `auditmanager_v1_mocks::MockAuditManagerConnection`. + */ +class AuditManagerConnection { + public: + virtual ~AuditManagerConnection() = 0; + + virtual Options options() { return Options{}; } + + virtual StatusOr EnrollResource( + google::cloud::auditmanager::v1::EnrollResourceRequest const& request); + + virtual StatusOr + GenerateAuditScopeReport( + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request); + + virtual future> + GenerateAuditReport( + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request); + + virtual StatusOr GenerateAuditReport( + NoAwaitTag, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request); + + virtual future> + GenerateAuditReport(google::longrunning::Operation const& operation); + + virtual StreamRange + ListAuditReports( + google::cloud::auditmanager::v1::ListAuditReportsRequest request); + + virtual StatusOr GetAuditReport( + google::cloud::auditmanager::v1::GetAuditReportRequest const& request); + + virtual StatusOr + GetResourceEnrollmentStatus( + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request); + + virtual StreamRange + ListResourceEnrollmentStatuses( + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesRequest + request); + + virtual StreamRange ListControls( + google::cloud::auditmanager::v1::ListControlsRequest request); + + 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 `AuditManagerConnection`. + * + * The returned connection object should not be used directly; instead it + * should be passed as an argument to the constructor of AuditManagerClient. + * + * The optional @p options argument may be used to configure aspects of the + * returned `AuditManagerConnection`. Expected options are any of the types in + * the following option lists: + * + * - `google::cloud::CommonOptionList` + * - `google::cloud::GrpcOptionList` + * - `google::cloud::UnifiedCredentialsOptionList` + * - `google::cloud::auditmanager_v1::AuditManagerPolicyOptionList` + * + * @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 `AuditManagerConnection` created by + * this function. + */ +std::shared_ptr MakeAuditManagerConnection( + Options options = {}); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_AUDIT_MANAGER_CONNECTION_H diff --git a/google/cloud/auditmanager/v1/audit_manager_connection_idempotency_policy.cc b/google/cloud/auditmanager/v1/audit_manager_connection_idempotency_policy.cc new file mode 100644 index 0000000000000..b5ba8209a8177 --- /dev/null +++ b/google/cloud/auditmanager/v1/audit_manager_connection_idempotency_policy.cc @@ -0,0 +1,119 @@ +// 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/auditmanager/v1/auditmanager.proto + +#include "google/cloud/auditmanager/v1/audit_manager_connection_idempotency_policy.h" +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +using ::google::cloud::Idempotency; + +AuditManagerConnectionIdempotencyPolicy:: + ~AuditManagerConnectionIdempotencyPolicy() = default; + +std::unique_ptr +AuditManagerConnectionIdempotencyPolicy::clone() const { + return std::make_unique(*this); +} + +Idempotency AuditManagerConnectionIdempotencyPolicy::EnrollResource( + google::cloud::auditmanager::v1::EnrollResourceRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency AuditManagerConnectionIdempotencyPolicy::GenerateAuditScopeReport( + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency AuditManagerConnectionIdempotencyPolicy::GenerateAuditReport( + google::cloud::auditmanager::v1::GenerateAuditReportRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency AuditManagerConnectionIdempotencyPolicy::ListAuditReports( + google::cloud::auditmanager::v1::ListAuditReportsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency AuditManagerConnectionIdempotencyPolicy::GetAuditReport( + google::cloud::auditmanager::v1::GetAuditReportRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency +AuditManagerConnectionIdempotencyPolicy::GetResourceEnrollmentStatus( + google::cloud::auditmanager::v1:: + GetResourceEnrollmentStatusRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency +AuditManagerConnectionIdempotencyPolicy::ListResourceEnrollmentStatuses( + google::cloud::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency AuditManagerConnectionIdempotencyPolicy::ListControls( + google::cloud::auditmanager::v1::ListControlsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency AuditManagerConnectionIdempotencyPolicy::ListLocations( + google::cloud::location::ListLocationsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency AuditManagerConnectionIdempotencyPolicy::GetLocation( + google::cloud::location::GetLocationRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency AuditManagerConnectionIdempotencyPolicy::ListOperations( + google::longrunning::ListOperationsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency AuditManagerConnectionIdempotencyPolicy::GetOperation( + google::longrunning::GetOperationRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency AuditManagerConnectionIdempotencyPolicy::DeleteOperation( + google::longrunning::DeleteOperationRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency AuditManagerConnectionIdempotencyPolicy::CancelOperation( + google::longrunning::CancelOperationRequest const&) { + return Idempotency::kNonIdempotent; +} + +std::unique_ptr +MakeDefaultAuditManagerConnectionIdempotencyPolicy() { + return std::make_unique(); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1 +} // namespace cloud +} // namespace google diff --git a/google/cloud/auditmanager/v1/audit_manager_connection_idempotency_policy.h b/google/cloud/auditmanager/v1/audit_manager_connection_idempotency_policy.h new file mode 100644 index 0000000000000..c593e9df57759 --- /dev/null +++ b/google/cloud/auditmanager/v1/audit_manager_connection_idempotency_policy.h @@ -0,0 +1,97 @@ +// 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/auditmanager/v1/auditmanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_AUDIT_MANAGER_CONNECTION_IDEMPOTENCY_POLICY_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_AUDIT_MANAGER_CONNECTION_IDEMPOTENCY_POLICY_H + +#include "google/cloud/idempotency.h" +#include "google/cloud/version.h" +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class AuditManagerConnectionIdempotencyPolicy { + public: + virtual ~AuditManagerConnectionIdempotencyPolicy(); + + /// Create a new copy of this object. + virtual std::unique_ptr clone() + const; + + virtual google::cloud::Idempotency EnrollResource( + google::cloud::auditmanager::v1::EnrollResourceRequest const& request); + + virtual google::cloud::Idempotency GenerateAuditScopeReport( + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request); + + virtual google::cloud::Idempotency GenerateAuditReport( + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request); + + virtual google::cloud::Idempotency ListAuditReports( + google::cloud::auditmanager::v1::ListAuditReportsRequest request); + + virtual google::cloud::Idempotency GetAuditReport( + google::cloud::auditmanager::v1::GetAuditReportRequest const& request); + + virtual google::cloud::Idempotency GetResourceEnrollmentStatus( + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request); + + virtual google::cloud::Idempotency ListResourceEnrollmentStatuses( + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesRequest + request); + + virtual google::cloud::Idempotency ListControls( + google::cloud::auditmanager::v1::ListControlsRequest 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 +MakeDefaultAuditManagerConnectionIdempotencyPolicy(); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_AUDIT_MANAGER_CONNECTION_IDEMPOTENCY_POLICY_H diff --git a/google/cloud/auditmanager/v1/audit_manager_options.h b/google/cloud/auditmanager/v1/audit_manager_options.h new file mode 100644 index 0000000000000..a1ca116703261 --- /dev/null +++ b/google/cloud/auditmanager/v1/audit_manager_options.h @@ -0,0 +1,86 @@ +// 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/auditmanager/v1/auditmanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_AUDIT_MANAGER_OPTIONS_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_AUDIT_MANAGER_OPTIONS_H + +#include "google/cloud/auditmanager/v1/audit_manager_connection.h" +#include "google/cloud/auditmanager/v1/audit_manager_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 auditmanager_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/** + * Use with `google::cloud::Options` to configure the retry policy. + * + * @ingroup google-cloud-auditmanager-options + */ +struct AuditManagerRetryPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * Use with `google::cloud::Options` to configure the backoff policy. + * + * @ingroup google-cloud-auditmanager-options + */ +struct AuditManagerBackoffPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * Use with `google::cloud::Options` to configure which operations are retried. + * + * @ingroup google-cloud-auditmanager-options + */ +struct AuditManagerConnectionIdempotencyPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * Use with `google::cloud::Options` to configure the long-running operations + * polling policy. + * + * @ingroup google-cloud-auditmanager-options + */ +struct AuditManagerPollingPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * The options applicable to AuditManager. + * + * @ingroup google-cloud-auditmanager-options + */ +using AuditManagerPolicyOptionList = + OptionList; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_AUDIT_MANAGER_OPTIONS_H diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_auth_decorator.cc b/google/cloud/auditmanager/v1/internal/audit_manager_auth_decorator.cc new file mode 100644 index 0000000000000..f6fc8928981a9 --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_auth_decorator.cc @@ -0,0 +1,220 @@ +// 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/auditmanager/v1/auditmanager.proto + +#include "google/cloud/auditmanager/v1/internal/audit_manager_auth_decorator.h" +#include +#include +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +AuditManagerAuth::AuditManagerAuth( + std::shared_ptr auth, + std::shared_ptr child) + : auth_(std::move(auth)), child_(std::move(child)) {} + +StatusOr +AuditManagerAuth::EnrollResource( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::EnrollResourceRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->EnrollResource(context, options, request); +} + +StatusOr +AuditManagerAuth::GenerateAuditScopeReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GenerateAuditScopeReport(context, options, request); +} + +future> +AuditManagerAuth::AsyncGenerateAuditReport( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest 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->AsyncGenerateAuditReport(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr AuditManagerAuth::GenerateAuditReport( + grpc::ClientContext& context, Options options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GenerateAuditReport(context, options, request); +} + +StatusOr +AuditManagerAuth::ListAuditReports( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListAuditReportsRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListAuditReports(context, options, request); +} + +StatusOr +AuditManagerAuth::GetAuditReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetAuditReportRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetAuditReport(context, options, request); +} + +StatusOr +AuditManagerAuth::GetResourceEnrollmentStatus( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetResourceEnrollmentStatus(context, options, request); +} + +StatusOr< + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesResponse> +AuditManagerAuth::ListResourceEnrollmentStatuses( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListResourceEnrollmentStatuses(context, options, request); +} + +StatusOr +AuditManagerAuth::ListControls( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListControlsRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListControls(context, options, request); +} + +StatusOr +AuditManagerAuth::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 AuditManagerAuth::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 +AuditManagerAuth::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 AuditManagerAuth::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 AuditManagerAuth::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 AuditManagerAuth::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> +AuditManagerAuth::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 AuditManagerAuth::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 auditmanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_auth_decorator.h b/google/cloud/auditmanager/v1/internal/audit_manager_auth_decorator.h new file mode 100644 index 0000000000000..031879b54f61f --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_auth_decorator.h @@ -0,0 +1,140 @@ +// 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/auditmanager/v1/auditmanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_AUTH_DECORATOR_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_AUTH_DECORATOR_H + +#include "google/cloud/auditmanager/v1/internal/audit_manager_stub.h" +#include "google/cloud/internal/unified_grpc_credentials.h" +#include "google/cloud/version.h" +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class AuditManagerAuth : public AuditManagerStub { + public: + ~AuditManagerAuth() override = default; + AuditManagerAuth( + std::shared_ptr auth, + std::shared_ptr child); + + StatusOr EnrollResource( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::EnrollResourceRequest const& request) + override; + + StatusOr + GenerateAuditScopeReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request) override; + + future> AsyncGenerateAuditReport( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) override; + + StatusOr GenerateAuditReport( + grpc::ClientContext& context, Options options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) override; + + StatusOr + ListAuditReports( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListAuditReportsRequest const& request) + override; + + StatusOr GetAuditReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetAuditReportRequest const& request) + override; + + StatusOr + GetResourceEnrollmentStatus( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request) override; + + StatusOr< + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesResponse> + ListResourceEnrollmentStatuses( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest const& request) override; + + StatusOr ListControls( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListControlsRequest 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 auditmanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_AUTH_DECORATOR_H diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_connection_impl.cc b/google/cloud/auditmanager/v1/internal/audit_manager_connection_impl.cc new file mode 100644 index 0000000000000..bb94a6a78051d --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_connection_impl.cc @@ -0,0 +1,458 @@ +// 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/auditmanager/v1/auditmanager.proto + +#include "google/cloud/auditmanager/v1/internal/audit_manager_connection_impl.h" +#include "google/cloud/auditmanager/v1/internal/audit_manager_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 auditmanager_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 +idempotency_policy(Options const& options) { + return options + .get() + ->clone(); +} + +std::unique_ptr polling_policy(Options const& options) { + return options.get() + ->clone(); +} + +} // namespace + +AuditManagerConnectionImpl::AuditManagerConnectionImpl( + std::unique_ptr background, + std::shared_ptr stub, + Options options) + : background_(std::move(background)), + stub_(std::move(stub)), + options_(internal::MergeOptions(std::move(options), + AuditManagerConnection::options())) {} + +StatusOr +AuditManagerConnectionImpl::EnrollResource( + google::cloud::auditmanager::v1::EnrollResourceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->EnrollResource(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::EnrollResourceRequest const& + request) { + return stub_->EnrollResource(context, options, request); + }, + *current, request, __func__); +} + +StatusOr +AuditManagerConnectionImpl::GenerateAuditScopeReport( + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GenerateAuditScopeReport(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + GenerateAuditScopeReportRequest const& request) { + return stub_->GenerateAuditScopeReport(context, options, request); + }, + *current, request, __func__); +} + +future> +AuditManagerConnectionImpl::GenerateAuditReport( + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->GenerateAuditReport(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::auditmanager::v1::AuditReport>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + return stub->AsyncGenerateAuditReport(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::auditmanager::v1::AuditReport>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +AuditManagerConnectionImpl::GenerateAuditReport( + NoAwaitTag, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GenerateAuditReport(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + return stub_->GenerateAuditReport(context, options, request); + }, + *current, request, __func__); +} + +future> +AuditManagerConnectionImpl::GenerateAuditReport( + google::longrunning::Operation const& operation) { + auto current = google::cloud::internal::SaveCurrentOptions(); + if (!operation.metadata() + .Is()) { + return make_ready_future< + StatusOr>( + internal::InvalidArgumentError( + "operation does not correspond to GenerateAuditReport", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::auditmanager::v1::AuditReport>( + 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::auditmanager::v1::AuditReport>, + polling_policy(*current), __func__); +} + +StreamRange +AuditManagerConnectionImpl::ListAuditReports( + google::cloud::auditmanager::v1::ListAuditReportsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListAuditReports(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::auditmanager::v1::ListAuditReportsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub]( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListAuditReportsRequest const& + request) { + return stub->ListAuditReports(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::auditmanager::v1::ListAuditReportsResponse r) { + std::vector result( + r.audit_reports().size()); + auto& messages = *r.mutable_audit_reports(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +AuditManagerConnectionImpl::GetAuditReport( + google::cloud::auditmanager::v1::GetAuditReportRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetAuditReport(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetAuditReportRequest const& + request) { + return stub_->GetAuditReport(context, options, request); + }, + *current, request, __func__); +} + +StatusOr +AuditManagerConnectionImpl::GetResourceEnrollmentStatus( + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetResourceEnrollmentStatus(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + GetResourceEnrollmentStatusRequest const& request) { + return stub_->GetResourceEnrollmentStatus(context, options, request); + }, + *current, request, __func__); +} + +StreamRange +AuditManagerConnectionImpl::ListResourceEnrollmentStatuses( + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesRequest + request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = + idempotency_policy(*current)->ListResourceEnrollmentStatuses(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::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest const& request) { + return stub->ListResourceEnrollmentStatuses(context, options, + request); + }, + options, r, function_name); + }, + [](google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesResponse + r) { + std::vector + result(r.resource_enrollment_statuses().size()); + auto& messages = *r.mutable_resource_enrollment_statuses(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StreamRange +AuditManagerConnectionImpl::ListControls( + google::cloud::auditmanager::v1::ListControlsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListControls(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::auditmanager::v1::ListControlsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListControlsRequest const& + request) { + return stub->ListControls(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::auditmanager::v1::ListControlsResponse r) { + std::vector result( + r.controls().size()); + auto& messages = *r.mutable_controls(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StreamRange +AuditManagerConnectionImpl::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 +AuditManagerConnectionImpl::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 +AuditManagerConnectionImpl::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 +AuditManagerConnectionImpl::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 AuditManagerConnectionImpl::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 AuditManagerConnectionImpl::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 auditmanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_connection_impl.h b/google/cloud/auditmanager/v1/internal/audit_manager_connection_impl.h new file mode 100644 index 0000000000000..96198e64e0541 --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_connection_impl.h @@ -0,0 +1,127 @@ +// 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/auditmanager/v1/auditmanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_CONNECTION_IMPL_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_CONNECTION_IMPL_H + +#include "google/cloud/auditmanager/v1/audit_manager_connection.h" +#include "google/cloud/auditmanager/v1/audit_manager_connection_idempotency_policy.h" +#include "google/cloud/auditmanager/v1/audit_manager_options.h" +#include "google/cloud/auditmanager/v1/internal/audit_manager_retry_traits.h" +#include "google/cloud/auditmanager/v1/internal/audit_manager_stub.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 +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class AuditManagerConnectionImpl + : public auditmanager_v1::AuditManagerConnection { + public: + ~AuditManagerConnectionImpl() override = default; + + AuditManagerConnectionImpl( + std::unique_ptr background, + std::shared_ptr stub, + Options options); + + Options options() override { return options_; } + + StatusOr EnrollResource( + google::cloud::auditmanager::v1::EnrollResourceRequest const& request) + override; + + StatusOr + GenerateAuditScopeReport( + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request) override; + + future> + GenerateAuditReport( + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) override; + + StatusOr GenerateAuditReport( + NoAwaitTag, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) override; + + future> + GenerateAuditReport(google::longrunning::Operation const& operation) override; + + StreamRange ListAuditReports( + google::cloud::auditmanager::v1::ListAuditReportsRequest request) + override; + + StatusOr GetAuditReport( + google::cloud::auditmanager::v1::GetAuditReportRequest const& request) + override; + + StatusOr + GetResourceEnrollmentStatus( + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request) override; + + StreamRange + ListResourceEnrollmentStatuses( + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesRequest + request) override; + + StreamRange ListControls( + google::cloud::auditmanager::v1::ListControlsRequest request) 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 auditmanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_CONNECTION_IMPL_H diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_logging_decorator.cc b/google/cloud/auditmanager/v1/internal/audit_manager_logging_decorator.cc new file mode 100644 index 0000000000000..5bcff8e69f004 --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_logging_decorator.cc @@ -0,0 +1,274 @@ +// 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/auditmanager/v1/auditmanager.proto + +#include "google/cloud/auditmanager/v1/internal/audit_manager_logging_decorator.h" +#include "google/cloud/internal/log_wrapper.h" +#include "google/cloud/status_or.h" +#include +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +AuditManagerLogging::AuditManagerLogging( + std::shared_ptr child, TracingOptions tracing_options, + std::set const&) + : child_(std::move(child)), tracing_options_(std::move(tracing_options)) {} + +StatusOr +AuditManagerLogging::EnrollResource( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::EnrollResourceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::EnrollResourceRequest const& + request) { + return child_->EnrollResource(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AuditManagerLogging::GenerateAuditScopeReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + GenerateAuditScopeReportRequest const& request) { + return child_->GenerateAuditScopeReport(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +AuditManagerLogging::AsyncGenerateAuditReport( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + return child_->AsyncGenerateAuditReport(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +AuditManagerLogging::GenerateAuditReport( + grpc::ClientContext& context, Options options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + return child_->GenerateAuditReport(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AuditManagerLogging::ListAuditReports( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListAuditReportsRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListAuditReportsRequest const& + request) { + return child_->ListAuditReports(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AuditManagerLogging::GetAuditReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetAuditReportRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetAuditReportRequest const& + request) { + return child_->GetAuditReport(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AuditManagerLogging::GetResourceEnrollmentStatus( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + GetResourceEnrollmentStatusRequest const& request) { + return child_->GetResourceEnrollmentStatus(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr< + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesResponse> +AuditManagerLogging::ListResourceEnrollmentStatuses( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest const& request) { + return child_->ListResourceEnrollmentStatuses(context, options, + request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AuditManagerLogging::ListControls( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListControlsRequest const& request) { + return google::cloud::internal::LogWrapper( + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListControlsRequest const& request) { + return child_->ListControls(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AuditManagerLogging::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 AuditManagerLogging::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 +AuditManagerLogging::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 AuditManagerLogging::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 AuditManagerLogging::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 AuditManagerLogging::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> +AuditManagerLogging::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 AuditManagerLogging::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 auditmanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_logging_decorator.h b/google/cloud/auditmanager/v1/internal/audit_manager_logging_decorator.h new file mode 100644 index 0000000000000..f749738ac420d --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_logging_decorator.h @@ -0,0 +1,140 @@ +// 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/auditmanager/v1/auditmanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_LOGGING_DECORATOR_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_LOGGING_DECORATOR_H + +#include "google/cloud/auditmanager/v1/internal/audit_manager_stub.h" +#include "google/cloud/tracing_options.h" +#include "google/cloud/version.h" +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class AuditManagerLogging : public AuditManagerStub { + public: + ~AuditManagerLogging() override = default; + AuditManagerLogging(std::shared_ptr child, + TracingOptions tracing_options, + std::set const& components); + + StatusOr EnrollResource( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::EnrollResourceRequest const& request) + override; + + StatusOr + GenerateAuditScopeReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request) override; + + future> AsyncGenerateAuditReport( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) override; + + StatusOr GenerateAuditReport( + grpc::ClientContext& context, Options options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) override; + + StatusOr + ListAuditReports( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListAuditReportsRequest const& request) + override; + + StatusOr GetAuditReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetAuditReportRequest const& request) + override; + + StatusOr + GetResourceEnrollmentStatus( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request) override; + + StatusOr< + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesResponse> + ListResourceEnrollmentStatuses( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest const& request) override; + + StatusOr ListControls( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListControlsRequest 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_; +}; // AuditManagerLogging + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_LOGGING_DECORATOR_H diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_metadata_decorator.cc b/google/cloud/auditmanager/v1/internal/audit_manager_metadata_decorator.cc new file mode 100644 index 0000000000000..89f29697b949c --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_metadata_decorator.cc @@ -0,0 +1,226 @@ +// 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/auditmanager/v1/auditmanager.proto + +#include "google/cloud/auditmanager/v1/internal/audit_manager_metadata_decorator.h" +#include "google/cloud/grpc_options.h" +#include "google/cloud/internal/absl_str_cat_quiet.h" +#include "google/cloud/internal/api_client_header.h" +#include "google/cloud/internal/url_encode.h" +#include "google/cloud/status_or.h" +#include +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +AuditManagerMetadata::AuditManagerMetadata( + 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)) {} + +StatusOr +AuditManagerMetadata::EnrollResource( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::EnrollResourceRequest const& request) { + SetMetadata(context, options, + absl::StrCat("scope=", internal::UrlEncode(request.scope()))); + return child_->EnrollResource(context, options, request); +} + +StatusOr +AuditManagerMetadata::GenerateAuditScopeReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("scope=", internal::UrlEncode(request.scope()))); + return child_->GenerateAuditScopeReport(context, options, request); +} + +future> +AuditManagerMetadata::AsyncGenerateAuditReport( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + SetMetadata(*context, *options, + absl::StrCat("scope=", internal::UrlEncode(request.scope()))); + return child_->AsyncGenerateAuditReport(cq, std::move(context), + std::move(options), request); +} + +StatusOr +AuditManagerMetadata::GenerateAuditReport( + grpc::ClientContext& context, Options options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("scope=", internal::UrlEncode(request.scope()))); + return child_->GenerateAuditReport(context, options, request); +} + +StatusOr +AuditManagerMetadata::ListAuditReports( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListAuditReportsRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListAuditReports(context, options, request); +} + +StatusOr +AuditManagerMetadata::GetAuditReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetAuditReportRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetAuditReport(context, options, request); +} + +StatusOr +AuditManagerMetadata::GetResourceEnrollmentStatus( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetResourceEnrollmentStatus(context, options, request); +} + +StatusOr< + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesResponse> +AuditManagerMetadata::ListResourceEnrollmentStatuses( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListResourceEnrollmentStatuses(context, options, request); +} + +StatusOr +AuditManagerMetadata::ListControls( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListControlsRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListControls(context, options, request); +} + +StatusOr +AuditManagerMetadata::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 AuditManagerMetadata::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 +AuditManagerMetadata::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 AuditManagerMetadata::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 AuditManagerMetadata::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 AuditManagerMetadata::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> +AuditManagerMetadata::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 AuditManagerMetadata::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 AuditManagerMetadata::SetMetadata(grpc::ClientContext& context, + Options const& options, + std::string const& request_params) { + context.AddMetadata("x-goog-request-params", request_params); + SetMetadata(context, options); +} + +void AuditManagerMetadata::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 auditmanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_metadata_decorator.h b/google/cloud/auditmanager/v1/internal/audit_manager_metadata_decorator.h new file mode 100644 index 0000000000000..f275f38596bd8 --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_metadata_decorator.h @@ -0,0 +1,145 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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/auditmanager/v1/auditmanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_METADATA_DECORATOR_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_METADATA_DECORATOR_H + +#include "google/cloud/auditmanager/v1/internal/audit_manager_stub.h" +#include "google/cloud/options.h" +#include "google/cloud/version.h" +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class AuditManagerMetadata : public AuditManagerStub { + public: + ~AuditManagerMetadata() override = default; + AuditManagerMetadata(std::shared_ptr child, + std::multimap fixed_metadata, + std::string api_client_header = ""); + + StatusOr EnrollResource( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::EnrollResourceRequest const& request) + override; + + StatusOr + GenerateAuditScopeReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request) override; + + future> AsyncGenerateAuditReport( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) override; + + StatusOr GenerateAuditReport( + grpc::ClientContext& context, Options options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) override; + + StatusOr + ListAuditReports( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListAuditReportsRequest const& request) + override; + + StatusOr GetAuditReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetAuditReportRequest const& request) + override; + + StatusOr + GetResourceEnrollmentStatus( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request) override; + + StatusOr< + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesResponse> + ListResourceEnrollmentStatuses( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest const& request) override; + + StatusOr ListControls( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListControlsRequest 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 auditmanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_METADATA_DECORATOR_H diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_option_defaults.cc b/google/cloud/auditmanager/v1/internal/audit_manager_option_defaults.cc new file mode 100644 index 0000000000000..b803e024ef737 --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_option_defaults.cc @@ -0,0 +1,79 @@ +// 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/auditmanager/v1/auditmanager.proto + +#include "google/cloud/auditmanager/v1/internal/audit_manager_option_defaults.h" +#include "google/cloud/auditmanager/v1/audit_manager_connection.h" +#include "google/cloud/auditmanager/v1/audit_manager_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 auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +namespace { +auto constexpr kBackoffScaling = 2.0; +} // namespace + +Options AuditManagerDefaultOptions(Options options) { + options = internal::PopulateCommonOptions( + std::move(options), "GOOGLE_CLOUD_CPP_AUDIT_MANAGER_ENDPOINT", "", + "GOOGLE_CLOUD_CPP_AUDIT_MANAGER_AUTHORITY", + "auditmanager.googleapis.com"); + options = internal::PopulateGrpcOptions(std::move(options)); + if (!options.has()) { + options.set( + auditmanager_v1::AuditManagerLimitedTimeRetryPolicy( + std::chrono::minutes(30)) + .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< + auditmanager_v1::AuditManagerRetryPolicyOption::Type, + auditmanager_v1::AuditManagerBackoffPolicyOption::Type>( + options.get() + ->clone(), + ExponentialBackoffPolicy(std::chrono::seconds(1), + std::chrono::minutes(5), kBackoffScaling) + .clone()) + .clone()); + } + if (!options.has< + auditmanager_v1::AuditManagerConnectionIdempotencyPolicyOption>()) { + options.set( + auditmanager_v1::MakeDefaultAuditManagerConnectionIdempotencyPolicy()); + } + + return options; +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_option_defaults.h b/google/cloud/auditmanager/v1/internal/audit_manager_option_defaults.h new file mode 100644 index 0000000000000..fa991caf8d588 --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_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/auditmanager/v1/auditmanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_OPTION_DEFAULTS_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_OPTION_DEFAULTS_H + +#include "google/cloud/options.h" +#include "google/cloud/version.h" + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +Options AuditManagerDefaultOptions(Options options); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_OPTION_DEFAULTS_H diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_retry_traits.h b/google/cloud/auditmanager/v1/internal/audit_manager_retry_traits.h new file mode 100644 index 0000000000000..34aa92e720289 --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_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/auditmanager/v1/auditmanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_RETRY_TRAITS_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_RETRY_TRAITS_H + +#include "google/cloud/status.h" +#include "google/cloud/version.h" + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/// Define the gRPC status code semantics for retrying requests. +struct AuditManagerRetryTraits { + static bool IsPermanentFailure(google::cloud::Status const& status) { + return status.code() != StatusCode::kOk && + status.code() != StatusCode::kUnavailable; + } +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_RETRY_TRAITS_H diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_sources.cc b/google/cloud/auditmanager/v1/internal/audit_manager_sources.cc new file mode 100644 index 0000000000000..e4ed967b58c16 --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_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/auditmanager/v1/auditmanager.proto + +// NOLINTBEGIN(bugprone-suspicious-include) +#include "google/cloud/auditmanager/v1/audit_manager_client.cc" +#include "google/cloud/auditmanager/v1/audit_manager_connection.cc" +#include "google/cloud/auditmanager/v1/audit_manager_connection_idempotency_policy.cc" +#include "google/cloud/auditmanager/v1/internal/audit_manager_auth_decorator.cc" +#include "google/cloud/auditmanager/v1/internal/audit_manager_connection_impl.cc" +#include "google/cloud/auditmanager/v1/internal/audit_manager_logging_decorator.cc" +#include "google/cloud/auditmanager/v1/internal/audit_manager_metadata_decorator.cc" +#include "google/cloud/auditmanager/v1/internal/audit_manager_option_defaults.cc" +#include "google/cloud/auditmanager/v1/internal/audit_manager_stub.cc" +#include "google/cloud/auditmanager/v1/internal/audit_manager_stub_factory.cc" +#include "google/cloud/auditmanager/v1/internal/audit_manager_tracing_connection.cc" +#include "google/cloud/auditmanager/v1/internal/audit_manager_tracing_stub.cc" +// NOLINTEND(bugprone-suspicious-include) diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_stub.cc b/google/cloud/auditmanager/v1/internal/audit_manager_stub.cc new file mode 100644 index 0000000000000..f61896bd78a7d --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_stub.cc @@ -0,0 +1,270 @@ +// 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/auditmanager/v1/auditmanager.proto + +#include "google/cloud/auditmanager/v1/internal/audit_manager_stub.h" +#include "google/cloud/grpc_error_delegate.h" +#include "google/cloud/status_or.h" +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +AuditManagerStub::~AuditManagerStub() = default; + +StatusOr +DefaultAuditManagerStub::EnrollResource( + grpc::ClientContext& context, Options const&, + google::cloud::auditmanager::v1::EnrollResourceRequest const& request) { + google::cloud::auditmanager::v1::Enrollment response; + auto status = grpc_stub_->EnrollResource(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAuditManagerStub::GenerateAuditScopeReport( + grpc::ClientContext& context, Options const&, + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request) { + google::cloud::auditmanager::v1::AuditScopeReport response; + auto status = + grpc_stub_->GenerateAuditScopeReport(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultAuditManagerStub::AsyncGenerateAuditReport( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::auditmanager::v1::GenerateAuditReportRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncGenerateAuditReport(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultAuditManagerStub::GenerateAuditReport( + grpc::ClientContext& context, Options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + google::longrunning::Operation response; + auto status = grpc_stub_->GenerateAuditReport(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAuditManagerStub::ListAuditReports( + grpc::ClientContext& context, Options const&, + google::cloud::auditmanager::v1::ListAuditReportsRequest const& request) { + google::cloud::auditmanager::v1::ListAuditReportsResponse response; + auto status = grpc_stub_->ListAuditReports(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAuditManagerStub::GetAuditReport( + grpc::ClientContext& context, Options const&, + google::cloud::auditmanager::v1::GetAuditReportRequest const& request) { + google::cloud::auditmanager::v1::AuditReport response; + auto status = grpc_stub_->GetAuditReport(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAuditManagerStub::GetResourceEnrollmentStatus( + grpc::ClientContext& context, Options const&, + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request) { + google::cloud::auditmanager::v1::ResourceEnrollmentStatus response; + auto status = + grpc_stub_->GetResourceEnrollmentStatus(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr< + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesResponse> +DefaultAuditManagerStub::ListResourceEnrollmentStatuses( + grpc::ClientContext& context, Options const&, + google::cloud::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest const& request) { + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesResponse + response; + auto status = + grpc_stub_->ListResourceEnrollmentStatuses(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAuditManagerStub::ListControls( + grpc::ClientContext& context, Options const&, + google::cloud::auditmanager::v1::ListControlsRequest const& request) { + google::cloud::auditmanager::v1::ListControlsResponse response; + auto status = grpc_stub_->ListControls(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAuditManagerStub::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 +DefaultAuditManagerStub::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 +DefaultAuditManagerStub::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 DefaultAuditManagerStub::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 DefaultAuditManagerStub::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 DefaultAuditManagerStub::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> +DefaultAuditManagerStub::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 DefaultAuditManagerStub::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 auditmanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_stub.h b/google/cloud/auditmanager/v1/internal/audit_manager_stub.h new file mode 100644 index 0000000000000..c42a7d6f93ee3 --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_stub.h @@ -0,0 +1,249 @@ +// 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/auditmanager/v1/auditmanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_STUB_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_STUB_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 +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class AuditManagerStub { + public: + virtual ~AuditManagerStub() = 0; + + virtual StatusOr EnrollResource( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::EnrollResourceRequest const& + request) = 0; + + virtual StatusOr + GenerateAuditScopeReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request) = 0; + + virtual future> + AsyncGenerateAuditReport( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) = 0; + + virtual StatusOr GenerateAuditReport( + grpc::ClientContext& context, Options options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) = 0; + + virtual StatusOr + ListAuditReports( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListAuditReportsRequest const& + request) = 0; + + virtual StatusOr GetAuditReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetAuditReportRequest const& + request) = 0; + + virtual StatusOr + GetResourceEnrollmentStatus( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request) = 0; + + virtual StatusOr< + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesResponse> + ListResourceEnrollmentStatuses( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest const& request) = 0; + + virtual StatusOr + ListControls( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListControlsRequest 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 DefaultAuditManagerStub : public AuditManagerStub { + public: + DefaultAuditManagerStub( + std::unique_ptr< + google::cloud::auditmanager::v1::AuditManager::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)) {} + + StatusOr EnrollResource( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::EnrollResourceRequest const& request) + override; + + StatusOr + GenerateAuditScopeReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request) override; + + future> AsyncGenerateAuditReport( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) override; + + StatusOr GenerateAuditReport( + grpc::ClientContext& context, Options options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) override; + + StatusOr + ListAuditReports( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListAuditReportsRequest const& request) + override; + + StatusOr GetAuditReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetAuditReportRequest const& request) + override; + + StatusOr + GetResourceEnrollmentStatus( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request) override; + + StatusOr< + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesResponse> + ListResourceEnrollmentStatuses( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest const& request) override; + + StatusOr ListControls( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListControlsRequest 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 + grpc_stub_; + std::unique_ptr + locations_stub_; + std::unique_ptr + operations_stub_; +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_STUB_H diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_stub_factory.cc b/google/cloud/auditmanager/v1/internal/audit_manager_stub_factory.cc new file mode 100644 index 0000000000000..1a8a7fd1da8f9 --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_stub_factory.cc @@ -0,0 +1,76 @@ +// 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/auditmanager/v1/auditmanager.proto + +#include "google/cloud/auditmanager/v1/internal/audit_manager_stub_factory.h" +#include "google/cloud/auditmanager/v1/internal/audit_manager_auth_decorator.h" +#include "google/cloud/auditmanager/v1/internal/audit_manager_logging_decorator.h" +#include "google/cloud/auditmanager/v1/internal/audit_manager_metadata_decorator.h" +#include "google/cloud/auditmanager/v1/internal/audit_manager_stub.h" +#include "google/cloud/auditmanager/v1/internal/audit_manager_tracing_stub.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 +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +std::shared_ptr CreateDefaultAuditManagerStub( + std::shared_ptr auth, + Options const& options) { + auto channel = auth->CreateChannel(options.get(), + internal::MakeChannelArguments(options)); + auto service_grpc_stub = + google::cloud::auditmanager::v1::AuditManager::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 = MakeAuditManagerTracingStub(std::move(stub)); + } + return stub; +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_stub_factory.h b/google/cloud/auditmanager/v1/internal/audit_manager_stub_factory.h new file mode 100644 index 0000000000000..04b92b7e1d4c5 --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_stub_factory.h @@ -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. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/auditmanager/v1/auditmanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_STUB_FACTORY_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_STUB_FACTORY_H + +#include "google/cloud/auditmanager/v1/internal/audit_manager_stub.h" +#include "google/cloud/internal/unified_grpc_credentials.h" +#include "google/cloud/options.h" +#include "google/cloud/version.h" +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +std::shared_ptr CreateDefaultAuditManagerStub( + std::shared_ptr auth, + Options const& options); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_STUB_FACTORY_H diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_tracing_connection.cc b/google/cloud/auditmanager/v1/internal/audit_manager_tracing_connection.cc new file mode 100644 index 0000000000000..6c1e5bc8f877c --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_tracing_connection.cc @@ -0,0 +1,216 @@ +// 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/auditmanager/v1/auditmanager.proto + +#include "google/cloud/auditmanager/v1/internal/audit_manager_tracing_connection.h" +#include "google/cloud/internal/opentelemetry.h" +#include "google/cloud/internal/traced_stream_range.h" +#include +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +#ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +AuditManagerTracingConnection::AuditManagerTracingConnection( + std::shared_ptr child) + : child_(std::move(child)) {} + +StatusOr +AuditManagerTracingConnection::EnrollResource( + google::cloud::auditmanager::v1::EnrollResourceRequest const& request) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::EnrollResource"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->EnrollResource(request)); +} + +StatusOr +AuditManagerTracingConnection::GenerateAuditScopeReport( + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::GenerateAuditScopeReport"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GenerateAuditScopeReport(request)); +} + +future> +AuditManagerTracingConnection::GenerateAuditReport( + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::GenerateAuditReport"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->GenerateAuditReport(request)); +} + +StatusOr +AuditManagerTracingConnection::GenerateAuditReport( + NoAwaitTag, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::GenerateAuditReport"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, + child_->GenerateAuditReport(NoAwaitTag{}, request)); +} + +future> +AuditManagerTracingConnection::GenerateAuditReport( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::GenerateAuditReport"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->GenerateAuditReport(operation)); +} + +StreamRange +AuditManagerTracingConnection::ListAuditReports( + google::cloud::auditmanager::v1::ListAuditReportsRequest request) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::ListAuditReports"); + internal::OTelScope scope(span); + auto sr = child_->ListAuditReports(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::auditmanager::v1::AuditReport>(std::move(span), + std::move(sr)); +} + +StatusOr +AuditManagerTracingConnection::GetAuditReport( + google::cloud::auditmanager::v1::GetAuditReportRequest const& request) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::GetAuditReport"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetAuditReport(request)); +} + +StatusOr +AuditManagerTracingConnection::GetResourceEnrollmentStatus( + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::GetResourceEnrollmentStatus"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetResourceEnrollmentStatus(request)); +} + +StreamRange +AuditManagerTracingConnection::ListResourceEnrollmentStatuses( + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesRequest + request) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::" + "ListResourceEnrollmentStatuses"); + internal::OTelScope scope(span); + auto sr = child_->ListResourceEnrollmentStatuses(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::auditmanager::v1::ResourceEnrollmentStatus>( + std::move(span), std::move(sr)); +} + +StreamRange +AuditManagerTracingConnection::ListControls( + google::cloud::auditmanager::v1::ListControlsRequest request) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::ListControls"); + internal::OTelScope scope(span); + auto sr = child_->ListControls(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::auditmanager::v1::Control>(std::move(span), std::move(sr)); +} + +StreamRange +AuditManagerTracingConnection::ListLocations( + google::cloud::location::ListLocationsRequest request) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::ListLocations"); + internal::OTelScope scope(span); + auto sr = child_->ListLocations(std::move(request)); + return internal::MakeTracedStreamRange( + std::move(span), std::move(sr)); +} + +StatusOr +AuditManagerTracingConnection::GetLocation( + google::cloud::location::GetLocationRequest const& request) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::GetLocation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetLocation(request)); +} + +StreamRange +AuditManagerTracingConnection::ListOperations( + google::longrunning::ListOperationsRequest request) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::ListOperations"); + internal::OTelScope scope(span); + auto sr = child_->ListOperations(std::move(request)); + return internal::MakeTracedStreamRange( + std::move(span), std::move(sr)); +} + +StatusOr +AuditManagerTracingConnection::GetOperation( + google::longrunning::GetOperationRequest const& request) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::GetOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetOperation(request)); +} + +Status AuditManagerTracingConnection::DeleteOperation( + google::longrunning::DeleteOperationRequest const& request) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::DeleteOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->DeleteOperation(request)); +} + +Status AuditManagerTracingConnection::CancelOperation( + google::longrunning::CancelOperationRequest const& request) { + auto span = internal::MakeSpan( + "auditmanager_v1::AuditManagerConnection::CancelOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->CancelOperation(request)); +} + +#endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +std::shared_ptr +MakeAuditManagerTracingConnection( + std::shared_ptr conn) { +#ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + if (internal::TracingEnabled(conn->options())) { + conn = std::make_shared(std::move(conn)); + } +#endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + return conn; +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_tracing_connection.h b/google/cloud/auditmanager/v1/internal/audit_manager_tracing_connection.h new file mode 100644 index 0000000000000..830e6cfcf0733 --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_tracing_connection.h @@ -0,0 +1,125 @@ +// 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/auditmanager/v1/auditmanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_TRACING_CONNECTION_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_TRACING_CONNECTION_H + +#include "google/cloud/auditmanager/v1/audit_manager_connection.h" +#include "google/cloud/version.h" +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +#ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +class AuditManagerTracingConnection + : public auditmanager_v1::AuditManagerConnection { + public: + ~AuditManagerTracingConnection() override = default; + + explicit AuditManagerTracingConnection( + std::shared_ptr child); + + Options options() override { return child_->options(); } + + StatusOr EnrollResource( + google::cloud::auditmanager::v1::EnrollResourceRequest const& request) + override; + + StatusOr + GenerateAuditScopeReport( + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request) override; + + future> + GenerateAuditReport( + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) override; + + StatusOr GenerateAuditReport( + NoAwaitTag, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) override; + + future> + GenerateAuditReport(google::longrunning::Operation const& operation) override; + + StreamRange ListAuditReports( + google::cloud::auditmanager::v1::ListAuditReportsRequest request) + override; + + StatusOr GetAuditReport( + google::cloud::auditmanager::v1::GetAuditReportRequest const& request) + override; + + StatusOr + GetResourceEnrollmentStatus( + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request) override; + + StreamRange + ListResourceEnrollmentStatuses( + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesRequest + request) override; + + StreamRange ListControls( + google::cloud::auditmanager::v1::ListControlsRequest request) 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_; +}; + +#endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +/** + * 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 +MakeAuditManagerTracingConnection( + std::shared_ptr conn); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_TRACING_CONNECTION_H diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_tracing_stub.cc b/google/cloud/auditmanager/v1/internal/audit_manager_tracing_stub.cc new file mode 100644 index 0000000000000..21766ace47208 --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_tracing_stub.cc @@ -0,0 +1,268 @@ +// 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/auditmanager/v1/auditmanager.proto + +#include "google/cloud/auditmanager/v1/internal/audit_manager_tracing_stub.h" +#include "google/cloud/internal/grpc_opentelemetry.h" +#include +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +#ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +AuditManagerTracingStub::AuditManagerTracingStub( + std::shared_ptr child) + : child_(std::move(child)), propagator_(internal::MakePropagator()) {} + +StatusOr +AuditManagerTracingStub::EnrollResource( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::EnrollResourceRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.auditmanager.v1.AuditManager", "EnrollResource"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->EnrollResource(context, options, request)); +} + +StatusOr +AuditManagerTracingStub::GenerateAuditScopeReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.auditmanager.v1.AuditManager", "GenerateAuditScopeReport"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->GenerateAuditScopeReport(context, options, request)); +} + +future> +AuditManagerTracingStub::AsyncGenerateAuditReport( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.auditmanager.v1.AuditManager", "GenerateAuditReport"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncGenerateAuditReport(cq, context, std::move(options), + request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +AuditManagerTracingStub::GenerateAuditReport( + grpc::ClientContext& context, Options options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.auditmanager.v1.AuditManager", "GenerateAuditReport"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->GenerateAuditReport(context, options, request)); +} + +StatusOr +AuditManagerTracingStub::ListAuditReports( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListAuditReportsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.auditmanager.v1.AuditManager", "ListAuditReports"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListAuditReports(context, options, request)); +} + +StatusOr +AuditManagerTracingStub::GetAuditReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetAuditReportRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.auditmanager.v1.AuditManager", "GetAuditReport"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetAuditReport(context, options, request)); +} + +StatusOr +AuditManagerTracingStub::GetResourceEnrollmentStatus( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request) { + auto span = + internal::MakeSpanGrpc("google.cloud.auditmanager.v1.AuditManager", + "GetResourceEnrollmentStatus"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->GetResourceEnrollmentStatus(context, options, request)); +} + +StatusOr< + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesResponse> +AuditManagerTracingStub::ListResourceEnrollmentStatuses( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.auditmanager.v1.AuditManager", + "ListResourceEnrollmentStatuses"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->ListResourceEnrollmentStatuses(context, options, request)); +} + +StatusOr +AuditManagerTracingStub::ListControls( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListControlsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.auditmanager.v1.AuditManager", "ListControls"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListControls(context, options, request)); +} + +StatusOr +AuditManagerTracingStub::ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.auditmanager.v1.AuditManager", "ListLocations"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListLocations(context, options, request)); +} + +StatusOr +AuditManagerTracingStub::GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.auditmanager.v1.AuditManager", "GetLocation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetLocation(context, options, request)); +} + +StatusOr +AuditManagerTracingStub::ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.auditmanager.v1.AuditManager", "ListOperations"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListOperations(context, options, request)); +} + +StatusOr AuditManagerTracingStub::GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.auditmanager.v1.AuditManager", "GetOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetOperation(context, options, request)); +} + +Status AuditManagerTracingStub::DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.auditmanager.v1.AuditManager", "DeleteOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->DeleteOperation(context, options, request)); +} + +Status AuditManagerTracingStub::CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.auditmanager.v1.AuditManager", "CancelOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->CancelOperation(context, options, request)); +} + +future> +AuditManagerTracingStub::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 AuditManagerTracingStub::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)); +} + +#endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +std::shared_ptr MakeAuditManagerTracingStub( + std::shared_ptr stub) { +#ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + return std::make_shared(std::move(stub)); +#else + return stub; +#endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/auditmanager/v1/internal/audit_manager_tracing_stub.h b/google/cloud/auditmanager/v1/internal/audit_manager_tracing_stub.h new file mode 100644 index 0000000000000..7a57b28457ea4 --- /dev/null +++ b/google/cloud/auditmanager/v1/internal/audit_manager_tracing_stub.h @@ -0,0 +1,151 @@ +// 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/auditmanager/v1/auditmanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_TRACING_STUB_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_TRACING_STUB_H + +#include "google/cloud/auditmanager/v1/internal/audit_manager_stub.h" +#include "google/cloud/internal/trace_propagator.h" +#include "google/cloud/options.h" +#include "google/cloud/version.h" +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +#ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +class AuditManagerTracingStub : public AuditManagerStub { + public: + ~AuditManagerTracingStub() override = default; + + explicit AuditManagerTracingStub(std::shared_ptr child); + + StatusOr EnrollResource( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::EnrollResourceRequest const& request) + override; + + StatusOr + GenerateAuditScopeReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request) override; + + future> AsyncGenerateAuditReport( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) override; + + StatusOr GenerateAuditReport( + grpc::ClientContext& context, Options options, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request) override; + + StatusOr + ListAuditReports( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListAuditReportsRequest const& request) + override; + + StatusOr GetAuditReport( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetAuditReportRequest const& request) + override; + + StatusOr + GetResourceEnrollmentStatus( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::GetResourceEnrollmentStatusRequest const& + request) override; + + StatusOr< + google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesResponse> + ListResourceEnrollmentStatuses( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1:: + ListResourceEnrollmentStatusesRequest const& request) override; + + StatusOr ListControls( + grpc::ClientContext& context, Options const& options, + google::cloud::auditmanager::v1::ListControlsRequest 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_; +}; + +#endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +/** + * Applies the tracing decorator to the given stub. + * + * The stub is only decorated if the library has been compiled with + * OpenTelemetry. + */ +std::shared_ptr MakeAuditManagerTracingStub( + std::shared_ptr stub); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace auditmanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_INTERNAL_AUDIT_MANAGER_TRACING_STUB_H diff --git a/google/cloud/auditmanager/v1/mocks/mock_audit_manager_connection.h b/google/cloud/auditmanager/v1/mocks/mock_audit_manager_connection.h new file mode 100644 index 0000000000000..9b8347cbae5d2 --- /dev/null +++ b/google/cloud/auditmanager/v1/mocks/mock_audit_manager_connection.h @@ -0,0 +1,162 @@ +// 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/auditmanager/v1/auditmanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_MOCKS_MOCK_AUDIT_MANAGER_CONNECTION_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_MOCKS_MOCK_AUDIT_MANAGER_CONNECTION_H + +#include "google/cloud/auditmanager/v1/audit_manager_connection.h" +#include + +namespace google { +namespace cloud { +namespace auditmanager_v1_mocks { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/** + * A class to mock `AuditManagerConnection`. + * + * Application developers may want to test their code with simulated responses, + * including errors, from an object of type `AuditManagerClient`. To do so, + * construct an object of type `AuditManagerClient` 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 MockAuditManagerConnection + : public auditmanager_v1::AuditManagerConnection { + public: + MOCK_METHOD(Options, options, (), (override)); + + MOCK_METHOD( + StatusOr, EnrollResource, + (google::cloud::auditmanager::v1::EnrollResourceRequest const& request), + (override)); + + MOCK_METHOD( + StatusOr, + GenerateAuditScopeReport, + (google::cloud::auditmanager::v1::GenerateAuditScopeReportRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// GenerateAuditReport(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + GenerateAuditReport, + (google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, GenerateAuditReport(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, GenerateAuditReport, + (NoAwaitTag, + google::cloud::auditmanager::v1::GenerateAuditReportRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// GenerateAuditReport(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + GenerateAuditReport, + (google::longrunning::Operation const& operation), (override)); + + MOCK_METHOD( + (StreamRange), + ListAuditReports, + (google::cloud::auditmanager::v1::ListAuditReportsRequest request), + (override)); + + MOCK_METHOD( + StatusOr, GetAuditReport, + (google::cloud::auditmanager::v1::GetAuditReportRequest const& request), + (override)); + + MOCK_METHOD( + StatusOr, + GetResourceEnrollmentStatus, + (google::cloud::auditmanager::v1:: + GetResourceEnrollmentStatusRequest const& request), + (override)); + + MOCK_METHOD( + (StreamRange), + ListResourceEnrollmentStatuses, + (google::cloud::auditmanager::v1::ListResourceEnrollmentStatusesRequest + request), + (override)); + + MOCK_METHOD((StreamRange), + ListControls, + (google::cloud::auditmanager::v1::ListControlsRequest request), + (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 auditmanager_v1_mocks +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AUDITMANAGER_V1_MOCKS_MOCK_AUDIT_MANAGER_CONNECTION_H diff --git a/google/cloud/auditmanager/v1/samples/audit_manager_client_samples.cc b/google/cloud/auditmanager/v1/samples/audit_manager_client_samples.cc new file mode 100644 index 0000000000000..5931f207d6520 --- /dev/null +++ b/google/cloud/auditmanager/v1/samples/audit_manager_client_samples.cc @@ -0,0 +1,226 @@ +// 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/auditmanager/v1/auditmanager.proto + +#include "google/cloud/auditmanager/v1/audit_manager_client.h" +#include "google/cloud/auditmanager/v1/audit_manager_connection_idempotency_policy.h" +#include "google/cloud/auditmanager/v1/audit_manager_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: auditmanager_v1::AuditManagerClient +// 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::auditmanager_v1::AuditManagerClient( + google::cloud::auditmanager_v1::MakeAuditManagerConnection(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::auditmanager_v1::AuditManagerClient( + google::cloud::auditmanager_v1::MakeAuditManagerConnection(*ud_options)); + //! [set-client-universe-domain] +} + +//! [custom-idempotency-policy] +class CustomIdempotencyPolicy : public google::cloud::auditmanager_v1:: + AuditManagerConnectionIdempotencyPolicy { + public: + ~CustomIdempotencyPolicy() override = default; + std::unique_ptr< + google::cloud::auditmanager_v1::AuditManagerConnectionIdempotencyPolicy> + 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::auditmanager_v1:: + AuditManagerLimitedErrorCountRetryPolicy(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::auditmanager_v1::MakeAuditManagerConnection(options); + + // c1 and c2 share the same retry policies + auto c1 = google::cloud::auditmanager_v1::AuditManagerClient(connection); + auto c2 = google::cloud::auditmanager_v1::AuditManagerClient(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::auditmanager_v1::AuditManagerClient( + connection, + google::cloud::Options{} + .set( + google::cloud::auditmanager_v1:: + AuditManagerLimitedTimeRetryPolicy(std::chrono::minutes(5)) + .clone())); + + // You can also override the policies in a single call: + // c3.SomeRpc(..., google::cloud::Options{} + // .set( + // google::cloud::auditmanager_v1::AuditManagerLimitedErrorCountRetryPolicy(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::auditmanager_v1:: + AuditManagerRetryPolicyOption::Type, + google::cloud::auditmanager_v1:: + AuditManagerBackoffPolicyOption::Type>( + google::cloud::auditmanager_v1:: + AuditManagerLimitedTimeRetryPolicy( + /*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::auditmanager_v1::MakeAuditManagerConnection(options); + + // c1 and c2 share the same polling policies. + auto c1 = google::cloud::auditmanager_v1::AuditManagerClient(connection); + auto c2 = google::cloud::auditmanager_v1::AuditManagerClient(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::auditmanager_v1::AuditManagerClient( + google::cloud::auditmanager_v1::MakeAuditManagerConnection(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); +} From 33fccf10128ef0058d29366207f886300b71af17 Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Thu, 5 Feb 2026 13:57:13 -0500 Subject: [PATCH 3/5] Add API baseline --- ...cloud_cpp_auditmanager.expected.abi.dump.gz | Bin 0 -> 596398 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ci/abi-dumps/google_cloud_cpp_auditmanager.expected.abi.dump.gz diff --git a/ci/abi-dumps/google_cloud_cpp_auditmanager.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_auditmanager.expected.abi.dump.gz new file mode 100644 index 0000000000000000000000000000000000000000..983229c836c22cc4d34bf874c5c7751de105a281 GIT binary patch literal 596398 zcmXtf19W6fwDrWcjfrieV`pO9wmGqrj&0kv&57+~l8H4*CduF5d++bH?&`a4SJmC8 z_Sxr@nj{AH+y8tZ{^;+y=5(Y5?DdnQ=$=Gmx|7{)x!?;tnWqJQ{Uf&h8y!eHm+bJIY`8!|QO9RaU63x!s z2^QvOo<%T|I#3(r4l^L3J|s=;dY!~PtW|(KUbjmW@F5Y-PTd@bFp)`DT(Rw@UCvVQ zfk!x>xUm$qeZ%3~f8Q%6B)}jM*;UL?3=&@pC&o`l0~jq%cK(80(FJ)bZsDiY+s&{D zm^ih58Ts|iF6|4PwEME*HT~6$!4mp==kbHlcGv6W*AM%pzo>QW!oGjcZ;*e8ANXWb zY(*-~D?Sr2ORLte{1hl$HeEm43^WsA)`+Q)|FcI5ami#YtQ)XT_XKfIZkYPRcb99| zcktsQCU?c>?Qp2rl+Tjwe$9L2-~Q<6=6n>+7}TUm{&;+R`w)sLpAQvlUkA@;T>P0sT8VIC+(lIVCWQwJYz@m$8lAf;lH{UEsh$MAR*T>tu1;_Q4-PPX>2!XP$_ zuZn07h97gVLk1rrIGp#bah~|EO$iwKe2_I->?&U0Ut(vr0D59NrW8P*QIwqDf zvSmjyu14d$QL3#%arqGkOf=H%J~hWd72Yi`c6Ja&xA&s@Mcg31a2x14=lo*U#f)27 zyxcs45{)=H6?@aFfA z889AHVZ9So%7SI*2bXv)hh1=qY#gcV=q$GS?z3e>ArG{ROuu> znHBxwyaUk0Fzne+gH;jhyc5eL!$>A9ed3Z`4WQt%UfWVMmXSZ;ZWP(r?yPzbsv3X; zCS}yEhpk8>TvF}6N|17CZ2@E?6UUBX1I@>4_1+Q$V*9;#GYho&r<^`Lf{m3FTeo_d zD=c-DR)*XK7O_J4AWw4F>u;oTr@ssJ}B?iw=f5 zUCU-FGmnfCv}~kQ!VtSp9yY{tAz}~Pz|5KWEX^aQOh39k16P|AEWP~*APt~C4~YW; z1LX020tl%kI5Qq}*qgZ9aO&r(vmvXH1#2g3196t_*r1N>l}nPpNqpw9iO8JmvcZuO zQBDdWP<^u<`#B!G639RHljMsnpduyP1?Cg8souoQ9Ox)cAR2fEw7BgR|n0QI5TvXs#MG=Zy`3Qf}Yg05yfdhV8M9sQTOwSd6MC@>0tKyK1 z@+6P1AEzAeU0#E4>4&ho>qO^ClTO3YO@`%^>22Rz-gW07SC}PaIZ#K|$40|dSqoCccCZF>iob<7NR9rc zs0xjB+}I8C^tg0KkQDlM1(6h=c|izI{C;8SQw3p&1 z-XZF(Q4)YVC(%3>ARHn`Y$Xc>ZLt^j2%sP+gES~;opr^WRF??pm@odAGhLZ&Ve3A9 zjY6RbTn&Z#819U8KgU=;j8}?ig`N8B=bUjcQ$#*YTarlP!CxD?1rdXy0TE;ogK1aUx9J}0>F;>MB2DdKzQ4Y9i>LYb z(=eprIs@eHa1j2P=k#0cGZRUhe~b>1JC9So#Y8Dgehy{XL9r{Ml!VSym3je@i8)$f z1__tL)Yd{m74w*uLI~wttgLvRpe%BUrQy7p5bp3)DaOErTo2h<=H19vp73q`VI_k-iHRN1 za2$H$9>2sGX~GLtbz=r+TBfX;NX;XHZV;JCI9XD`K{To; zC6HX&(Ge9%M2|#*kS4PF(&mCAD}?51RpyyZ5RGD$!VPQ|A$IR*OMrG{Q@UzheFX|b zc%HKqSEJe)NVuHg_)4ZTTyj3kM0&7a`@NcGY*RriuAo)}w4>)MlGX&O=LdYc5GpI? zjgT^@Mp6}ir4l}gR3tt@$XRhsV5~V8)C{qd6}hyP;F$+c?`2yUt$>>405!`nYb2I> z!B}Q27oXp%1&uu=2t=nbr*$ZjT}->VqH5r}7OlFZ67>{kSX7uY724|#Ws|1`mARl~ z9@SKM`_rx&R~YXE(;>Gs&)DnUH`m|@D@Eo&WAMh30+E) ziW|vzqy2@vUH>OmboH%hTf)__Kl8ltP@})aM6&7ox_WrtN+-T0lTUaR-5(%e{!a#A zeg=54)LbpE17B)6Nn0#%ftT?LiJp;3q`L8lIgSOF^lhi70y@Y+ku=C*oi(+TKvR=4 z5R6RKW6qvr3ouX#qXOQ_FsiR6W1KOqPkR5KZ|TdslmEz~TiYeu#Uae2*D(zW|tt-vjFYHc)W2j=^Q zP#k$_!}4jcfHOIyi6^eAexvO=fX5ULMq^DL2;ljXae*FREDPsxY}Hhcd38phrSt-j zB~35oiJd@1LjL83t0m@1mgJI)` z8ed}t9xY6fG6)IppNuJ$_&QpQxFw>=sMC;Gh`S1q;2)bX)0L@+Ig6(O;#CNhb-r@Pqh0i`Y!r4Mk|s&7P(jOz$`i@!b;z3@Ap7jA=`qYQGu@3OW+CBf{!`B7dX<{N z;5ysscOoq{kab2GrCxCpdPoKknR$r7DWAAPT2*Su?+o4Y)Ha>7bkZu|F}7e67@k9< zt`V%MshyAA-=5^91RI7df*~*d6SxneI$e#CLbCq$Bjst3xd%vyS=!N;ku#h7d>?fX zwpSn)>WURzsM-i8!$c9)G#~g@pZUCEJ@LY}oQM*Wl!w-thbY2b(+GiAzp$BB0bj@_ zLuAAt0f-5dRU=#T12);D2^0;Q#K5haO~I|%#pvWV;|tNP<%9@@4Xhyy^8w(7&8BqS zlYelh^uDz)pa)CiU{C;2LH8izfQr#|I>{+sFSSpAJg*)D?GP>$hmtZy`8Ijzyuo0S@e9|vX*MS%k_LQ2$fRBbI6}3;$wN}9ily&PN+_U*p+O;hzyT4g zEDB_{MxkcpCA;jGih2fQ_#_@GkxcZ1ux^g5uu#Oy?j%%)#D(s0d6I9fluz2iLjtXNk5ih;C zZ0NkKux85%wTO6wQ?&?iW^Rxv5|YSy-pK?L6-|1$c!M_o_f%Xm?R19liJLRx0Iw)rRZ;n}X3yXJQ%;5EV+Mx`0~tdyJ%sO0b*F;6;Puzg9W?@NPU4HsphXAoJg}T{J8q z{SfTDdr@8_%%Fd}GEQBE*x2P*(tl5FS{UFrL_~|yn}8L6ge}KL8@#VUfD>PaOqCFq z&gX4I5pSU&4|dnaL659}qYH^_2%E-eX+}>pKYyEX{xIFiw@-s69}T1`B$v8>+JxnX zDFC}{0Gq(RR9kE8Rb17^9G&SVK*D4v86AMHMu5X)=N-*>?tv2lus$dw*5q~p0j$ZY zv9|MdCb5~Gc4+|C^$d^s@Guj3;lM};Ev6?xTku)DgS=DWG=sQm@4+a`Y>yPNR@hq9niRUGsT3zITuhB%eko;!zW4)0vM3xon6+0Plw=hKsI zobxdOIN!BJhaD>-QbbQ<5w84UqE0G_=UdvSq5T7*zG#iG%+z!%1OG^dt9!9frr-19 z>c&u@c|7%;h2e*%-_yo>jd!}!$ug~3H6Ku8mt8Qcek7anWU4YZkmUNA|Aq&X>Y9tF zd(L*2$!lZ$6Pxnx`Hb7Uv9qJ1>&7t+`{N(9M1Rj~*spY<9|!UnKEJY?nU4>E=FYhI zYZSRAZX6L2_QpF)QV9vH2AqYuPmdeaNnw)~7Y^(VwQ=R-#_d`6W4S7Wr1rbwcuFkO zYAmprGgi_{ETXpsMu0(q5JY%MSUm-(BR=G;_c_2?L+c4GF7q}}KMRurnYgEgJjYux z@<$Fodx5o%c@MsXS3ciC2PcH?FwsPsQlp!zK>3{TnGicPPahEh*sPuyDr|*qryh7P zjTa6&taO7Q7Fed&sURU~LEVW99IWC0jJrq+L4!YvmWHb=OoeVW@ViBcF{v#)g9^k1n=EKF6(Q+JAp9UVc}drk z4gExyl+6nIs+LZgk@25&bC>xui}t?u04~)`LnKP6aNjv=S@GZWF+$ zKnx-s$ZlmU(@tpg&V&kgwzXEIIsI1il?Wp54dcsjADT3tZyVdJD}-xom>F4+vdFbb z{@B35LV{c3q1rqAMC{#eH?y3>T5k!n1RSpuUV|Wpawdvf*|_K8+i2R9Oyr(>!g|1) z2hRP<{S@a${KeX^E$=i};kqU?u^qVdfk-Hl6vl=>vF}4s%f}I1ok5B-!Xdw3Cmk?t z?+tIm%Q{itU(dK+t}y+P)v`Sy+UczPF>~m-XaAF!EOae^7~1X8+_4=}hyn{>1UOu&VG(T>$e}%x9GkwAUM?%1~-7!WK2M!?0D7 ze$DA=!^yc-Fs;3~CS1-99>C|KD*HCC>$l>$$l&P^Zz&= zgJ~$74|Y}`1?<~-aeMO~J0?edy%}^6pisD^ofPsw3q^OJT`i#C4t{KlD&59!8ndo{ z=N^+2%d3o#IV4N`E=_vJLrDxC1%sZ@%Sn2dK>&fC(9cSG*Kq|n3>xuGMgQSxCs#5f zA$LeNebTEan>7-Xbd_dPuz^Wzll$$TQhT^R%FU7N12SOjYzC#`F5fy+CMEq03PF%M zEaR5HsxNT4>V^b(yAfu$cMyZ9?a`+QBPl*5hS3eEPrzlQfp zJ=U1w`aDBhN;~nPf~-`Lx2)cI{+;C!s%;kIHwQk2FmEwzjAzfc<9&E|zcw_IaeoTY zoqvm#7OB%n^PFUQlAjlf=3g+O2G;&sj2CpBkqyVz6-KU@JV`d!d3a7od`)pZlSKhA z$y!Y<$R|NkaWP00E<{ z--Du$#K5t}qao?)?jY#uqQL0lk#zE++1-ZGm7G;I#NCK?Wgn(M-(I$2@ap0t9f8Ng zsZN4GYW1UBO$-ZT^6tq=@e&q1;3RDYycu{{0w_dN*^&I192v|K=h2HTAXZ8*# zxt{CpN^f*jL%uzsHrdc}r7qYByAt`((sru1E4TP8(sS(8f5;S!OOCR8OoKk%K)1j^ zF8&n*;6X%)$eVFQMTVh3MVvCWcO_s;ME?*9o3OTT~GM)i+ zd1GvX5AsgXfxH~-&+&kQOyaB{D03WitFow9(?vuN$s2pHSvPBF>|p%~O*wX1CdeS{ z2o^aV4tcaE&I2%nKOHf=jm&OnmlRU;Zo5Lb+Jt~WLy|LLh4hR1n@}eV~%zjC`lPQBGDC&h6QO8>hKY}_NUnNK^J$NG=C zVjH9!&Ff`--OiSJP@>L@9eyaY$Hn+_%EX|0c^=l8BGk+wm+cujNz3CzLCl+5w)G78 zBx9+af;>Z`YN4j?BXK-txw+JuB>E%<~jgS&(aS42(M`hsK4a~-PG^UFVM%E z&sAwMtZ^-%)N8u!HhZe(IrIOi9uRt^HM<-F8*eq3_0F+;&Mj4%=z(heDVioihPrqo z3LeIy6d3{(;#1x9aNE8Au@tfDDv{@~a z6TtMT*L(fjWc~?gxIW8|)f`#l_)|N+>=!G-F_tG;kaoOReS)^Uy_-S9x8@1@UEVC6 zKb;k&^-Uzt;VR(SI4wi9C}KeL3~S@XH~_-#tN?~uBV1AbG*tsy zldPDHo19lkw9tMzZGvLnIpNUm2GZ>LgLu7U@(`b(VIbo{Aun_S{qxsMzyIdf8;&!6 z{c&06jUt4D4k@?D>G)Uk%h#;^rEC|=oBI8lHhZ~+2im{cWg*p*b=fox!tt$po%fmT zu2B=S&BbmrneWO5lirux^8sKg!qU+t-@qxpRdF^qqwD%Wa{at6Cy2XNm0nQb{Hy<) zY7e**jpUXb+y#fOqe#}eq5whnt+0v7UGI0-^1YVW2*gUMhp+-;?Y~XP{${+U3SlBC zf{%@Y1T{6$B)R^d=qeI$K_TAoaI!Qgo0;fMn{E?elxpBa!RX*W?lI9*l!#l{DUUD9 zL%ZaJx~v!>aa!p~BkID$ZIiiD!$q=FL?Q|l1{(RoAniq8KeVzT>*6-`cCfWR23r^> z8Jj$|t{h7YR`)cT=yn_74`Qi|>69a$=1$K{vQ{EVg?~0ULzy*RcZIc7b{nWLly+(i z$&g1&yHL_AiPO=M8}XC_3nF*jD;e%X_e=XoO(m1k#WOd)#U2gMht8&iUzk9 zk3-r@A;GQIQQJl+p{Y|!=qy| zaZ=FeZGx4+uchRcgTb%e=?|`bW#BU9q@|JZFSHG7kR=fahrlORiIPrVVxp_TUVT%+ zGRbtY?dc3RZ)_7M%7S+WA5<{@vDBvIKq;~bDQISp$pia3x8EboBh44F+*lr)u3j)( zOP>fM!<$O6T{bDi51zf+tPpYxYa`uY{g`3&tAcE>%-#AI@IapfwS*3y`u0jr6En@xvzmq>->g?)B>Tie zFitAw$weqI4rh`gD(Q+Ud}vETU6SwARJOoIsq;Xh>y-tNFirM4&f)dk+$%M&ue5KBY36yCt=?TghE|78+1El z3aeVORVbvnJQCbg$BvVVxgA+2w-Er()clWI&g$4e?7>JY;zkfvAL*0Hl)?@8Q&Eyn zP-wiWv=Z}GcyeWWfy97jg->G+f+n+vk*D8~Ilh^_aU-Rdx`>4o!bDR1UHF;&koPKY z$sCd6)>2t)@%ckdlLNZLiCMluP-?RI38`%eK6(wIAe9y`sPA2RwRjP<_opY@T>4h- z8jWh1VX$k#UH)PtwX`5gAY6}>(&|x8()F^N9@I8vXd?K`!Z}zuDmVGE7~&9=<1wxa8p?< zxb<>&b7KN(PqD4ll~Ah45hm?FsA)(otqfrZ|KrdT=^&_KAgJ)^9^Wd5S_M!r>+Hg8 z3DEJF2m}7VH#hyN1B6YekpYFB;o;~)K?UI(i6+f${SrE@rWe#Af4gtv>~2vW0>(g| ztek**dP^wGBL)K5nQWJ_$umhl5A?W@?x0QfGlMLvky3^JjS2!e1p=7@0!e#0mBK6S zQg6j#-oIXPsn?&Q32jjg!fAn^=KNz5lQ3j@u?#q&1P8a7f{)%}y@P{lZ$rRjrMj`X z{JWzZX2Y4x9kdH_`FRP9CSdw#6D#majwrOD2=%omkHhJpvo%Iay5Z zonD|n?hvGJDMD;yZWYeaO{ofhFie9j}95H%e~O* zizyT}Roj5^C;9sVk?2io>!bL2$uMUkXTUD^NWo#rGA`>6^7)Vp&J?E@>P(7|(PXxpo`? zv_e8rf%ZmLVl%?7GgGd_X#!I-_*qzqHhlhe}N;M!QXYix?cPw@$ zJ@1J=4)7_ltov`sF7R+uAs1WhCukGMjrgZw5n741ZaMHa8(y@6{~N~>7~!a7QtY?^ zVi#m`StAQt$vK$;2R5T%t>89Lu(F`kf%RNiVl$e)ld;^WuTdn-(Rzq0GF}(&&cAh> zc>_H)$RdWV9!r48+>OFCo-cOscQwKEy{<6k1l^mrPf`%B-92g8$LP{*laB^c3<<6+ zo*2W9h?8QytItkyf#lXo;ZFbRgI%GUd4V0>uO=GY zRT>WIF8BIT+4W>U`TMZIp|R_#Bik9HI}99B9a!L4NhSvc%b<^d`dI2nmgO|~h7I4R zCKlWWs^$->mf43ynnS9;_g3>e9{iQj>~AV4Rkwy{kR~yc{RB^}1dvMn#YD%1J$WgI zr*P8mgdagh)Cjb+f**P0XTl5vZ^~#`PkM4e<{kV4q|7BRx~efjCOwwP6}xz2nczs| ziV!J!D3Ps_>4;1Adx5gcVIY9%8~_RE2qd5}kbvSY2gk^U#gf=52gb;b$#??@*PB73 zi!JtrMfByGV@Noq=B8za<4+CI;4BbiPPx0C$}A+iN%u36Srg7J=gf0HE(BgHkfoL& zOL?sGsN@X;R`Mm;TkxPCSSxd~pn`PCQ2&x=MIfTAN2 zzt$+(Yw$N3WbJ4O7hjM+J1hBdD-%vQQKqA{GrkWI)RGPV?of(4Neoldl;#VUH}sfD z3I}D!PZ8{8-jce60ET~oUARn(+DewGsZRVf?*RzwBIbWc%^+08f{9ATA^D||;5?K- z8+VC+Vxwc)LxQd9QwJX=cdtv30MBLu*zE{Y~&@5KM_7mA8Qjp9i) z=Wlm#8&&HUe`R3>>B9*}*vw#T{sz0n{P9IC&{bPx1n&94!*!LeST#7X5^dRG%yvhq zZ)}e<+Pp`q%QR|Wa!2ExXJcu&+#zMWt4{RLAMobQFw%PUYuSr3(Ou(=yYcNZrv)k& z4;T<%vLSvfDGYRCQR|9lPl*ZEm4) ztdn5@!%&&oWbr%BrINquj?5Y?=}2RIq4EB!=ipu0VM(}k*`*9V z)yT3=g#|3NKa`uP#OPJn}U$k6w-@EP9C+PU$_& zB;u|RA4?1vWUBnha9Rwx>%P%NxisbP7@$&x%E19mk->8VsPNb>s+BC4s!nGA?yJkEW+C&{w-_y zPX_qqBELa94CIQQ{*d)oDU$g`;8gx=mS-hdO^lo2^>+)F$=q(k#B+|tU83pxANp!z z%l)?#`ze3@3}-`bTxX0K%R-44awkki`{jOfHaYny&UyMD(u_>oY7i%(Be;0gW77ze z@Q4xoM7^bzmPuF4D9%m#%pOM;s(F<0Kz5$T9|5bV$qa_i3>b54c;NbnqGzZf&bT`i znSa-&SLPEgPi$kR%&K(cMPhsXk`8$zqVcVnNiqyFcmd-#qduV45Osz13-d^ht7Or96!pYvLf=kJTV8WX0AS+baB8 zJIbgodHM`=vq|_(|Cv#nEZ+^glE&yjN`r^(;m>)9HL*J)(=kK>pL~*kSEODv?f5s) z(U4>~d!-mmIbNXXc6!t1_q^2yxrS^WNk^pcZ}EDFmP6!!?^NDCUjgk?4O--#d`fLT;SCrGdFCy7U^n*WlToQ5d~$H4}P5Txrz2IoS!Qh z6u!ZQ5Mpbv%Z-KXe=%U(Io!;?ayea8(XT#8jDE{T7U2N#%jQ})>R&6ZFZ^_oRL>O8 zSlbMxG~k?T!Hc|HOVg>Cm{AJJ?8y~r%R{QfoAsIZXJ6kLq)|fOvjP0W?}IW5Ocf#E zCY9e2zWj}H?>9Zx*u9ozyi?)Ssq+@U;4)1vMl5sk;+LZk_)3VCe-M%DV7N7Y^?tte z5BTR?UfQ+^5_zWZ5G7C**8|6N#0kB&FEh6<(den>8wo#g{eMi|g-MlkyT4DrZ6#{R# z$+YA}kI&xsutKhI-I>^f*Ja#+Z5NXWwLI{kp*}=)jNqGahBjH3Hw-rp=`QdkWwBKQ zIN?0%!&o3)2e(NP9_uTOb968#(3-3>=z_{*=g&qS#w8p0v`=T}$6Gt6pV@c<%4HWe z*dcbK8!YQ=R{r>OoXLb}brqjnG`=z)<&~RueURwVmI(;##%tN9z-(XG0hU!wD*~&3 zHP(E3cI&kBq1{suDh*T4sg4A})bMqVSZ7HmB-_L>JL7}N6lz|hQ?K^)u;Qyc$OYjd zHR~74Y3%YPT-sC!V?$RT{cO zQ1j^I6_W5h#(K9kOZM=3_ij6%cxK#ifN*Mh8w4D|1VHZPgpm;(w9}%h_&GL{j|(~S zeNlOYS2qcb={BPF7!s53bLBaHwz6`dp*;MoG{UJ;C zA}@&2^y{m~q4Kkb)ioP$uX0(^P4=01-v`b=ejShh5in$aUigjac&R+$O?Xa4J_xsm zTH78AR`1_`{cmgKbocA!eeW(>|6faIyWcbsO1kh5G#KK6i{tz9t8SkhlS{wXUnqz| zCp(iTpzMPw^l^nxWhzF2^}s1utxM_fUoOs@0d~p6X|3J>^VNbp?<%v;Ub3_(FCOwh zClHjOnt68O6GE-sXeiv$P(_SEotnQOQ+RiL=Fv6rC*R(q=u)r#DBzBxYmOS`&Ws*_ zFJCUJD&C<)TMB2*QnX|gDNhDhMs!G;Y@~O5uc2Xur=&cJS_%1(*cJ<^8`Wswf>cZ|C;`BpEv z6}c>$nk{I<8JTIQTiCM-If7+5()D^~I1K7bP9LXVT2N2wA#6atG!=>R}@ z8We4Rt8wRuhoT&|=UcY(lv`xu3TsKj5n0MoQ7MJ{NIs`z7t@}S^ISD-W>-Zm?LN>b z!&sE}Ci-fMF@CDZ*a9&IAqAD7AaCYDfY@>yZV1elcJ8{Q{&hkZ4uL5-(!`ILI0P@i z1F+t;GFd4f_YVux_OJ3xF~Ns6g%xXg4i!rUftH2uAtS8fxa5P1*VJ1U9{xksJlE8H z<>R3-orxXwq?le`{mP&tf8>-b9#d}h0SUvrQ}qLEw@l>%1KB{Fs7K9Ck|)ACf@j7R zH@(}ug6%Y+6+Oo40SAcGP9_ZP3-f#}fV$r8IdrAp^)WEiDn?iq_JHV1iap2GHJi_W zv+q4_s^7G=`kQ(9?BtD8R?-uL-R%!Ms`2X?Ni#}F=QJ7e_I9ttgFSY2g_PabQ(AdDj{|Umc>W;tM$n$2Bo52NM=(|L&1;ee_&Ox2s3JU6-o6 z!bRy)C-SA>S3-b=Uhww~GF6FmZW)z}|8|L!Q=4 zF|k=SFkQ_(eoLe){4`d&{`@Xg<8V~pUlHx_(2YdF`J2lu-m}H^Ub6*%CnSKLJUF0u z0E3w#PEVL=He=7vq}6nQh{t3#o^Cg(DLCG@jq`jp3qb`yJ{?(LMteK5mt@0C(F{S> zNSlo>AeiZ)sX58lEpdv6?FmIEG0`5EziL3JaeE z?r7wBrrynUL-sji!09Kt#(4~dbTH<}sdOf*3eY7eO`+N*#Z28r;66PNGQOg3_4{Xk zfYs>Nw&u)SR%S&*o_%HB1=oIwr^VmkaTYYN*^A+D4;V_;^bjW%QOuA;OM=P}KN?ZKObdZw5iKo6fKeS_{*{b_;%Xmjy{?02w$TNIZ zMjU1OoiU{p-c#A9>f4DnmnXZUdP*%LtB!%{KR7izUvbbG2%t`tmV&I1ciLLuEOcv+ z@_6d+IMG&Wd~relrI?E6V>qjlnr`R=Dhon@im!j3k2<`-<< z&`tjYu6GL9^P$^0$ziCX$X-#ym#`Xl<5m+_e4Yi?ab$s{ci+N{_)+2h>fViq*J;!#=* zofxE+T3rS!)2~-yB?@hG4K(7jzpx0f(=koxg5oLUy|bXhSnF%dvG*kTD`b z<>hQ@-4-op+C9|Y#SS)NX9axDHVRl=BMVq)Z<+c&Qz@R$?=`^H!vqh5DvB_R;TFa) zMv|~OUTt}3OQHB-=`LjnCm(g_#;pAVKFgE~jUumwuAn*QGhnb{0K&M<=Hd zgBSQf*vq$Kr)p80+IbHzY&~Njz1n5-_3R|u_{3~1f$*1Zs~4Y%nUsnj4~*RX@mJ}W z*}MD%Jn`Y*fBv$5W-O=kZejqUZqtuTe+5gUHa)+nMMs0h3HjhG&sBDIE zH?%}K%wcoNXDMCVEmB_(vbbeBx@R+IubDelt;fQ?#r`+>*jH=(Em4eQzw3q8&82py zws^B?J^5RO=Z8Q7>{|->&EY&og0F0i%A>a}STnr@)DLvQ`=kp1(h zuK4mnzr>~&H@UH$ea<&NXa#w=1tb_QdxLi9u1>cXS_-6bMq_Ta7dY^S?R#?wHiaCG zJ@!0s{SBdrytbUWYnx0o_L89tKLt!WugOb>)%Sy#4gV)c!rY}5TWF@jcRdBIIJ39e zD8La1z@aUZL+vUF{A)5$9oX>9`OGxsUU^j>ml5Q|N5U_^`N_8y_dL)PQRv(iDdudI zGZ)1(G4{L9)+v9N)?^L#B++P%;b-nB z2WYtER%g=)7x%3L+fmutTrK3+6{~uj4GWSItR>o$8f;O!`%Csls@r{`EX6!08nZCZ zno^Sv0)ShGZe$5dOA|%V32n#9pL@SHv$Fdh0Olw+?J)&`zqkq#Ictie_@%GVi^B`y zhi&Gn)KW1#%gAW@d3^IONh%cC9dL4$9C~L{h>i!c7 z^rx~=s4%dojw9R!V&~$AsjZ@upDTdKQ`LT%s{o&@4k~U%q2Dj7it7nzA=*|ElwhD0 zIDgZO)51w*KQ6eA$tvjK}?S9gd3|NCPN? zs1g1yE0fZrjJC->#^q(3pi!;gB9R&)xEAc>R{t~S3dXhg6(h-fpMS%0DS@Tx9~@5* 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

Qlt5a5l- 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

*LQqt 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 z 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 literal 0 HcmV?d00001 From 1695bd5881474b99a936cc0a4dc26e7e00cdaa30 Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Thu, 5 Feb 2026 14:04:50 -0500 Subject: [PATCH 4/5] Manually update READMEs, quickstart, and top-level stuff --- CHANGELOG.md | 7 +++++++ cmake/GoogleCloudCppFeatures.cmake | 1 + google/cloud/auditmanager/CMakeLists.txt | 3 +-- google/cloud/auditmanager/README.md | 8 ++++---- google/cloud/auditmanager/quickstart/quickstart.cc | 8 ++++---- libraries.bzl | 1 + 6 files changed, 18 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3211acc33aa39..439bd6ae9f79f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,13 @@ breaking changes in the upcoming 3.x release. This release is scheduled for ## v2.47.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. + +- [Audit Manager](/google/cloud/auditmanager/README.md) + ## v2.46.0 - 2026-01 ### [Spanner](/google/cloud/spanner/README.md) diff --git a/cmake/GoogleCloudCppFeatures.cmake b/cmake/GoogleCloudCppFeatures.cmake index c674626b65a70..af722274e0592 100644 --- a/cmake/GoogleCloudCppFeatures.cmake +++ b/cmake/GoogleCloudCppFeatures.cmake @@ -54,6 +54,7 @@ set(GOOGLE_CLOUD_CPP_GA_LIBRARIES "artifactregistry" "asset" "assuredworkloads" + "auditmanager" "automl" "backupdr" "baremetalsolution" diff --git a/google/cloud/auditmanager/CMakeLists.txt b/google/cloud/auditmanager/CMakeLists.txt index 4ce3af7607cbb..05b39e090e75f 100644 --- a/google/cloud/auditmanager/CMakeLists.txt +++ b/google/cloud/auditmanager/CMakeLists.txt @@ -29,8 +29,7 @@ if (BUILD_TESTING AND GOOGLE_CLOUD_CPP_ENABLE_CXX_EXCEPTIONS) COMMAND cmake -P "${PROJECT_SOURCE_DIR}/cmake/quickstart-runner.cmake" $ GOOGLE_CLOUD_PROJECT - GOOGLE_CLOUD_CPP_TEST_REGION # EDIT HERE - ) + GOOGLE_CLOUD_CPP_TEST_REGION) set_tests_properties(auditmanager_quickstart PROPERTIES LABELS "integration-test;quickstart") endif () diff --git a/google/cloud/auditmanager/README.md b/google/cloud/auditmanager/README.md index 2fc14c2258e03..0c6b63625d35a 100644 --- a/google/cloud/auditmanager/README.md +++ b/google/cloud/auditmanager/README.md @@ -16,7 +16,7 @@ this library. ```cc -#include "google/cloud/auditmanager/v1/ EDIT HERE _client.h" +#include "google/cloud/auditmanager/v1/audit_manager_client.h" #include "google/cloud/location.h" #include @@ -29,10 +29,10 @@ int main(int argc, char* argv[]) try { auto const location = google::cloud::Location(argv[1], argv[2]); namespace auditmanager = ::google::cloud::auditmanager_v1; - auto client = auditmanager::ServiceClient( - auditmanager::MakeServiceConnection()); // EDIT HERE + auto client = auditmanager::AuditManagerClient( + auditmanager::MakeAuditManagerConnection()); - for (auto r : client.List /*EDIT HERE*/ (location.FullName())) { + for (auto r : client.ListAuditReports(location.FullName())) { if (!r) throw std::move(r).status(); std::cout << r->DebugString() << "\n"; } diff --git a/google/cloud/auditmanager/quickstart/quickstart.cc b/google/cloud/auditmanager/quickstart/quickstart.cc index e32c9924fdde9..f370c15ce9d8d 100644 --- a/google/cloud/auditmanager/quickstart/quickstart.cc +++ b/google/cloud/auditmanager/quickstart/quickstart.cc @@ -13,7 +13,7 @@ // limitations under the License. //! [all] -#include "google/cloud/auditmanager/v1/ EDIT HERE _client.h" +#include "google/cloud/auditmanager/v1/audit_manager_client.h" #include "google/cloud/location.h" #include @@ -26,10 +26,10 @@ int main(int argc, char* argv[]) try { auto const location = google::cloud::Location(argv[1], argv[2]); namespace auditmanager = ::google::cloud::auditmanager_v1; - auto client = auditmanager::ServiceClient( - auditmanager::MakeServiceConnection()); // EDIT HERE + auto client = auditmanager::AuditManagerClient( + auditmanager::MakeAuditManagerConnection()); - for (auto r : client.List /*EDIT HERE*/ (location.FullName())) { + for (auto r : client.ListAuditReports(location.FullName())) { if (!r) throw std::move(r).status(); std::cout << r->DebugString() << "\n"; } diff --git a/libraries.bzl b/libraries.bzl index 63c02c89234a6..24fefa5e8d7a7 100644 --- a/libraries.bzl +++ b/libraries.bzl @@ -38,6 +38,7 @@ GOOGLE_CLOUD_CPP_GA_LIBRARIES = [ "artifactregistry", "asset", "assuredworkloads", + "auditmanager", "automl", "backupdr", "baremetalsolution", From 7bb6176c154e4f6232d0b68f2ceb57ef45f1ecee Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Thu, 5 Feb 2026 14:35:43 -0500 Subject: [PATCH 5/5] add PASS regex for quickstart --- google/cloud/auditmanager/CMakeLists.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/google/cloud/auditmanager/CMakeLists.txt b/google/cloud/auditmanager/CMakeLists.txt index 05b39e090e75f..271b71935e099 100644 --- a/google/cloud/auditmanager/CMakeLists.txt +++ b/google/cloud/auditmanager/CMakeLists.txt @@ -30,6 +30,9 @@ if (BUILD_TESTING AND GOOGLE_CLOUD_CPP_ENABLE_CXX_EXCEPTIONS) cmake -P "${PROJECT_SOURCE_DIR}/cmake/quickstart-runner.cmake" $ GOOGLE_CLOUD_PROJECT GOOGLE_CLOUD_CPP_TEST_REGION) - set_tests_properties(auditmanager_quickstart - PROPERTIES LABELS "integration-test;quickstart") + set_tests_properties( + auditmanager_quickstart + PROPERTIES LABELS "integration-test;quickstart" PASS_REGULAR_EXPRESSION + "Permanent error.*gcloud-cpp.retry.function=ListAuditReports" + ) endif ()