From aabdb502b1d3e12b16f87868fa2d5f6893eaabd3 Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Fri, 27 Feb 2026 13:42:05 -0500 Subject: [PATCH 1/5] feat(hypercomputecluster): 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 65672303c0f3b..e7ff82d878410 100755 --- a/external/googleapis/update_libraries.sh +++ b/external/googleapis/update_libraries.sh @@ -178,6 +178,7 @@ declare -A -r LIBRARIES=( )" ["gkemulticloud"]="@googleapis//google/cloud/gkemulticloud/v1:gkemulticloud_cc_grpc" ["grafeas"]="@googleapis//grafeas/v1:grafeas_cc_grpc" + ["hypercomputecluster"]="@googleapis//google/cloud/hypercomputecluster/v1:hypercomputecluster_cc_grpc" ["iam"]="@googleapis//google/iam/admin/v1:admin_cc_grpc" ["iam_v2"]="@googleapis//google/iam/v2:iam_cc_grpc" ["iam_v3"]="@googleapis//google/iam/v3:iam_cc_grpc" diff --git a/generator/generator_config.textproto b/generator/generator_config.textproto index 82a54193a27f3..ffd9cc5f5e369 100644 --- a/generator/generator_config.textproto +++ b/generator/generator_config.textproto @@ -2664,6 +2664,14 @@ service { retryable_status_codes: ["kUnavailable"] } +# Hyper Compute Cluster +service { + service_proto_path: "google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto" + product_path: "google/cloud/hypercomputecluster/v1" + initial_copyright_year: "2026" + retryable_status_codes: ["kUnavailable"] +} + # IAM service { service_proto_path: "google/iam/credentials/v1/iamcredentials.proto" From 79564158546eedee5fbfe3fdea8eacfd8be65625 Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Fri, 27 Feb 2026 13:45:49 -0500 Subject: [PATCH 2/5] Run generators and format their outputs --- README.md | 3 + ci/etc/expected_install_directories | 6 + .../protodeps/hypercomputecluster.deps | 9 + .../protolists/hypercomputecluster.list | 2 + google/cloud/hypercomputecluster/BUILD.bazel | 31 + .../cloud/hypercomputecluster/CMakeLists.txt | 36 + google/cloud/hypercomputecluster/README.md | 62 ++ .../doc/environment-variables.dox | 49 + google/cloud/hypercomputecluster/doc/main.dox | 49 + .../cloud/hypercomputecluster/doc/options.dox | 10 + .../doc/override-authentication.dox | 35 + .../doc/override-endpoint.dox | 25 + .../doc/override-retry-policies.dox | 108 ++ .../doc/override-universe-domain.dox | 24 + .../hypercomputecluster/quickstart/.bazelrc | 30 + .../quickstart/BUILD.bazel | 25 + .../quickstart/CMakeLists.txt | 32 + .../hypercomputecluster/quickstart/Makefile | 35 + .../hypercomputecluster/quickstart/README.md | 135 +++ .../quickstart/WORKSPACE.bazel | 53 + .../quickstart/quickstart.cc | 42 + .../v1/.repo-metadata.json | 14 + .../v1/hypercompute_cluster_client.cc | 284 ++++++ .../v1/hypercompute_cluster_client.h | 936 ++++++++++++++++++ .../v1/hypercompute_cluster_connection.cc | 188 ++++ .../v1/hypercompute_cluster_connection.h | 292 ++++++ ...e_cluster_connection_idempotency_policy.cc | 101 ++ ...te_cluster_connection_idempotency_policy.h | 87 ++ .../v1/hypercompute_cluster_options.h | 87 ++ .../hypercompute_cluster_auth_decorator.cc | 238 +++++ .../hypercompute_cluster_auth_decorator.h | 140 +++ .../hypercompute_cluster_connection_impl.cc | 541 ++++++++++ .../hypercompute_cluster_connection_impl.h | 133 +++ .../hypercompute_cluster_logging_decorator.cc | 280 ++++++ .../hypercompute_cluster_logging_decorator.h | 140 +++ ...hypercompute_cluster_metadata_decorator.cc | 234 +++++ .../hypercompute_cluster_metadata_decorator.h | 146 +++ .../hypercompute_cluster_option_defaults.cc | 88 ++ .../hypercompute_cluster_option_defaults.h | 37 + .../hypercompute_cluster_retry_traits.h | 43 + .../internal/hypercompute_cluster_sources.cc | 32 + .../v1/internal/hypercompute_cluster_stub.cc | 275 +++++ .../v1/internal/hypercompute_cluster_stub.h | 244 +++++ .../hypercompute_cluster_stub_factory.cc | 83 ++ .../hypercompute_cluster_stub_factory.h | 47 + ...hypercompute_cluster_tracing_connection.cc | 216 ++++ .../hypercompute_cluster_tracing_connection.h | 127 +++ .../hypercompute_cluster_tracing_stub.cc | 265 +++++ .../hypercompute_cluster_tracing_stub.h | 148 +++ .../mock_hypercompute_cluster_connection.h | 217 ++++ .../hypercompute_cluster_client_samples.cc | 242 +++++ 51 files changed, 6706 insertions(+) create mode 100644 external/googleapis/protodeps/hypercomputecluster.deps create mode 100644 external/googleapis/protolists/hypercomputecluster.list create mode 100644 google/cloud/hypercomputecluster/BUILD.bazel create mode 100644 google/cloud/hypercomputecluster/CMakeLists.txt create mode 100644 google/cloud/hypercomputecluster/README.md create mode 100644 google/cloud/hypercomputecluster/doc/environment-variables.dox create mode 100644 google/cloud/hypercomputecluster/doc/main.dox create mode 100644 google/cloud/hypercomputecluster/doc/options.dox create mode 100644 google/cloud/hypercomputecluster/doc/override-authentication.dox create mode 100644 google/cloud/hypercomputecluster/doc/override-endpoint.dox create mode 100644 google/cloud/hypercomputecluster/doc/override-retry-policies.dox create mode 100644 google/cloud/hypercomputecluster/doc/override-universe-domain.dox create mode 100644 google/cloud/hypercomputecluster/quickstart/.bazelrc create mode 100644 google/cloud/hypercomputecluster/quickstart/BUILD.bazel create mode 100644 google/cloud/hypercomputecluster/quickstart/CMakeLists.txt create mode 100644 google/cloud/hypercomputecluster/quickstart/Makefile create mode 100644 google/cloud/hypercomputecluster/quickstart/README.md create mode 100644 google/cloud/hypercomputecluster/quickstart/WORKSPACE.bazel create mode 100644 google/cloud/hypercomputecluster/quickstart/quickstart.cc create mode 100644 google/cloud/hypercomputecluster/v1/.repo-metadata.json create mode 100644 google/cloud/hypercomputecluster/v1/hypercompute_cluster_client.cc create mode 100644 google/cloud/hypercomputecluster/v1/hypercompute_cluster_client.h create mode 100644 google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.cc create mode 100644 google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.h create mode 100644 google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection_idempotency_policy.cc create mode 100644 google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection_idempotency_policy.h create mode 100644 google/cloud/hypercomputecluster/v1/hypercompute_cluster_options.h create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_auth_decorator.cc create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_auth_decorator.h create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_connection_impl.cc create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_connection_impl.h create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_logging_decorator.cc create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_logging_decorator.h create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_metadata_decorator.cc create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_metadata_decorator.h create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_option_defaults.cc create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_option_defaults.h create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_retry_traits.h create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_sources.cc create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.cc create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.h create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub_factory.cc create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub_factory.h create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_connection.cc create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_connection.h create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_stub.cc create mode 100644 google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_stub.h create mode 100644 google/cloud/hypercomputecluster/v1/mocks/mock_hypercompute_cluster_connection.h create mode 100644 google/cloud/hypercomputecluster/v1/samples/hypercompute_cluster_client_samples.cc diff --git a/README.md b/README.md index b2607cf6eb1d8..1a100f46ea188 100644 --- a/README.md +++ b/README.md @@ -317,6 +317,9 @@ See each library's `README.md` file for more information about: - [GKE Recommender API](google/cloud/gkerecommender/README.md) [[quickstart]](google/cloud/gkerecommender/quickstart/README.md) [[reference]](https://cloud.google.com/cpp/docs/reference/gkerecommender/latest) +- [Cluster Director API](google/cloud/hypercomputecluster/README.md) + [[quickstart]](google/cloud/hypercomputecluster/quickstart/README.md) + [[reference]](https://cloud.google.com/cpp/docs/reference/hypercomputecluster/latest) - [Google Cloud IAM](google/cloud/iam/README.md) [[quickstart]](google/cloud/iam/quickstart/README.md) [[reference]](https://cloud.google.com/cpp/docs/reference/iam/latest) diff --git a/ci/etc/expected_install_directories b/ci/etc/expected_install_directories index fa28cfa35540d..d3818966f52a2 100644 --- a/ci/etc/expected_install_directories +++ b/ci/etc/expected_install_directories @@ -801,6 +801,10 @@ ./include/google/cloud/gkerecommender/v1 ./include/google/cloud/gkerecommender/v1/internal ./include/google/cloud/gkerecommender/v1/mocks +./include/google/cloud/hypercomputecluster +./include/google/cloud/hypercomputecluster/v1 +./include/google/cloud/hypercomputecluster/v1/internal +./include/google/cloud/hypercomputecluster/v1/mocks ./include/google/cloud/iam ./include/google/cloud/iam/admin ./include/google/cloud/iam/admin/v1 @@ -1431,6 +1435,8 @@ ./lib64/cmake/google_cloud_cpp_gkemulticloud_mocks ./lib64/cmake/google_cloud_cpp_gkerecommender ./lib64/cmake/google_cloud_cpp_gkerecommender_mocks +./lib64/cmake/google_cloud_cpp_hypercomputecluster +./lib64/cmake/google_cloud_cpp_hypercomputecluster_mocks ./lib64/cmake/google_cloud_cpp_iam ./lib64/cmake/google_cloud_cpp_iam_mocks ./lib64/cmake/google_cloud_cpp_iap diff --git a/external/googleapis/protodeps/hypercomputecluster.deps b/external/googleapis/protodeps/hypercomputecluster.deps new file mode 100644 index 0000000000000..ce4eebcf1a3ab --- /dev/null +++ b/external/googleapis/protodeps/hypercomputecluster.deps @@ -0,0 +1,9 @@ +@googleapis//google/api:annotations_proto +@googleapis//google/api:client_proto +@googleapis//google/api:field_behavior_proto +@googleapis//google/api:field_info_proto +@googleapis//google/api:http_proto +@googleapis//google/api:launch_stage_proto +@googleapis//google/api:resource_proto +@googleapis//google/longrunning:operations_proto +@googleapis//google/rpc:status_proto diff --git a/external/googleapis/protolists/hypercomputecluster.list b/external/googleapis/protolists/hypercomputecluster.list new file mode 100644 index 0000000000000..3f84bbb372d12 --- /dev/null +++ b/external/googleapis/protolists/hypercomputecluster.list @@ -0,0 +1,2 @@ +@googleapis//google/cloud/hypercomputecluster/v1:hypercompute_cluster.proto +@googleapis//google/cloud/hypercomputecluster/v1:operation_metadata.proto diff --git a/google/cloud/hypercomputecluster/BUILD.bazel b/google/cloud/hypercomputecluster/BUILD.bazel new file mode 100644 index 0000000000000..da0ca0e4a24f1 --- /dev/null +++ b/google/cloud/hypercomputecluster/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 = [ + "@googleapis//google/cloud/hypercomputecluster/v1:hypercomputecluster_cc_grpc", +] + +cc_gapic_library( + name = "hypercomputecluster", + googleapis_deps = googleapis_deps, + service_dirs = service_dirs, +) diff --git a/google/cloud/hypercomputecluster/CMakeLists.txt b/google/cloud/hypercomputecluster/CMakeLists.txt new file mode 100644 index 0000000000000..fc611f2444778 --- /dev/null +++ b/google/cloud/hypercomputecluster/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(hypercomputecluster "Cluster Director API" + SERVICE_DIRS "v1/") + +if (BUILD_TESTING AND GOOGLE_CLOUD_CPP_ENABLE_CXX_EXCEPTIONS) + add_executable(hypercomputecluster_quickstart "quickstart/quickstart.cc") + target_link_libraries(hypercomputecluster_quickstart + PRIVATE google-cloud-cpp::hypercomputecluster) + google_cloud_cpp_add_common_options(hypercomputecluster_quickstart) + add_test( + NAME hypercomputecluster_quickstart + COMMAND + cmake -P "${PROJECT_SOURCE_DIR}/cmake/quickstart-runner.cmake" + $ GOOGLE_CLOUD_PROJECT + GOOGLE_CLOUD_CPP_TEST_REGION # EDIT HERE + ) + set_tests_properties(hypercomputecluster_quickstart + PROPERTIES LABELS "integration-test;quickstart") +endif () diff --git a/google/cloud/hypercomputecluster/README.md b/google/cloud/hypercomputecluster/README.md new file mode 100644 index 0000000000000..54a0704ac8bd7 --- /dev/null +++ b/google/cloud/hypercomputecluster/README.md @@ -0,0 +1,62 @@ +# Cluster Director API C++ Client Library + +This directory contains an idiomatic C++ client library for the +[Cluster Director API][cloud-service-docs]. + +The Cluster Director API allows you to deploy, manage, and monitor clusters that +run AI, ML, or HPC workloads. + +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/hypercomputecluster/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 hypercomputecluster = ::google::cloud::hypercomputecluster_v1; + auto client = hypercomputecluster::ServiceClient( + hypercomputecluster::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 [Cluster Director 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/cluster-director/docs +[doxygen-link]: https://cloud.google.com/cpp/docs/reference/hypercomputecluster/latest/ +[source-link]: https://github.com/googleapis/google-cloud-cpp/tree/main/google/cloud/hypercomputecluster diff --git a/google/cloud/hypercomputecluster/doc/environment-variables.dox b/google/cloud/hypercomputecluster/doc/environment-variables.dox new file mode 100644 index 0000000000000..ee9ac6cd98695 --- /dev/null +++ b/google/cloud/hypercomputecluster/doc/environment-variables.dox @@ -0,0 +1,49 @@ +/*! +@page hypercomputecluster-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 hypercomputecluster-env-endpoint Endpoint Overrides + + + +- `GOOGLE_CLOUD_CPP_HYPERCOMPUTE_CLUSTER_ENDPOINT=...` overrides the + `EndpointOption` (which defaults to "hypercomputecluster.googleapis.com") + used by `MakeHypercomputeClusterConnection()`. + + + +@see google::cloud::EndpointOption + +@section hypercomputecluster-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 hypercomputecluster-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/hypercomputecluster/doc/main.dox b/google/cloud/hypercomputecluster/doc/main.dox new file mode 100644 index 0000000000000..c9555d27a1ac0 --- /dev/null +++ b/google/cloud/hypercomputecluster/doc/main.dox @@ -0,0 +1,49 @@ +/*! + +@mainpage Cluster Director API C++ Client Library + +An idiomatic C++ client library for the [Cluster Director API][cloud-service-docs]. + +The Cluster Director API allows you to deploy, manage, and monitor clusters +that run AI, ML, or HPC workloads. + +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/hypercomputecluster/quickstart/` directory, +which should give you a taste of the Cluster Director API C++ client library API. + +@snippet quickstart.cc all + +## Main classes + + +The main class in this library is +[`hypercomputecluster_v1::HypercomputeClusterClient`](@ref google::cloud::hypercomputecluster_v1::HypercomputeClusterClient). All RPCs are exposed +as member functions of this class. Other classes provide helpers, configuration +parameters, and infrastructure to mock +[`hypercomputecluster_v1::HypercomputeClusterClient`](@ref google::cloud::hypercomputecluster_v1::HypercomputeClusterClient) when testing your +application. + + +## More Information + +- @ref common-error-handling - describes how the library reports errors. +- @ref hypercomputecluster-override-endpoint - describes how to override the default + endpoint. +- @ref hypercomputecluster-override-authentication - describes how to change the + authentication credentials used by the library. +- @ref hypercomputecluster-override-retry - describes how to change the default retry + policies. +- @ref hypercomputecluster-env - describes environment variables that can configure the + behavior of the library. +- @ref hypercomputecluster-override-universe-domain - describes how to override the default universe domain. + +[cloud-service-docs]: https://cloud.google.com/cluster-director/docs + +*/ diff --git a/google/cloud/hypercomputecluster/doc/options.dox b/google/cloud/hypercomputecluster/doc/options.dox new file mode 100644 index 0000000000000..8cf39686b26d5 --- /dev/null +++ b/google/cloud/hypercomputecluster/doc/options.dox @@ -0,0 +1,10 @@ +/*! +@defgroup google-cloud-hypercomputecluster-options Cluster Director 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/hypercomputecluster/doc/override-authentication.dox b/google/cloud/hypercomputecluster/doc/override-authentication.dox new file mode 100644 index 0000000000000..9c3929d69c11b --- /dev/null +++ b/google/cloud/hypercomputecluster/doc/override-authentication.dox @@ -0,0 +1,35 @@ +/*! +@page hypercomputecluster-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 hypercompute_cluster_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 hypercomputecluster_v1::HypercomputeClusterClient-service-account-snippet Override hypercomputecluster_v1::HypercomputeClusterClient Authentication Defaults + +@snippet google/cloud/hypercomputecluster/v1/samples/hypercompute_cluster_client_samples.cc with-service-account + +*/ +// diff --git a/google/cloud/hypercomputecluster/doc/override-endpoint.dox b/google/cloud/hypercomputecluster/doc/override-endpoint.dox new file mode 100644 index 0000000000000..dd2d6131f72ec --- /dev/null +++ b/google/cloud/hypercomputecluster/doc/override-endpoint.dox @@ -0,0 +1,25 @@ +/*! +@page hypercomputecluster-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 `hypercomputecluster_v1::HypercomputeClusterClient`: + +@snippet hypercompute_cluster_client_samples.cc set-client-endpoint + + + +*/ + +// + +/*! @page hypercomputecluster_v1::HypercomputeClusterClient-endpoint-snippet Override hypercomputecluster_v1::HypercomputeClusterClient Endpoint Configuration + +@snippet google/cloud/hypercomputecluster/v1/samples/hypercompute_cluster_client_samples.cc set-client-endpoint + +*/ +// diff --git a/google/cloud/hypercomputecluster/doc/override-retry-policies.dox b/google/cloud/hypercomputecluster/doc/override-retry-policies.dox new file mode 100644 index 0000000000000..14e9b652b0c30 --- /dev/null +++ b/google/cloud/hypercomputecluster/doc/override-retry-policies.dox @@ -0,0 +1,108 @@ +/*! +@page hypercomputecluster-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 hypercomputecluster-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 hypercomputecluster-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 hypercomputecluster-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 hypercomputecluster-override-retry-example Example + + +For example, this will override the retry policies for `hypercomputecluster_v1::HypercomputeClusterClient`: + +@snippet hypercompute_cluster_client_samples.cc set-retry-policy + +This assumes you have created a custom idempotency policy. Such as: + +@snippet hypercompute_cluster_client_samples.cc custom-idempotency-policy + +This will override the polling policies for `hypercomputecluster_v1::HypercomputeClusterClient` + +@snippet hypercompute_cluster_client_samples.cc set-polling-policy + + + + +@section hypercomputecluster-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 hypercomputecluster_v1::HypercomputeClusterClient-retry-snippet Override hypercomputecluster_v1::HypercomputeClusterClient Retry Policies + +This shows how to override the retry policies for hypercomputecluster_v1::HypercomputeClusterClient: + +@snippet google/cloud/hypercomputecluster/v1/samples/hypercompute_cluster_client_samples.cc set-retry-policy + +Assuming you have created a custom idempotency policy. Such as: + +@snippet google/cloud/hypercomputecluster/v1/samples/hypercompute_cluster_client_samples.cc custom-idempotency-policy + +*/ +// diff --git a/google/cloud/hypercomputecluster/doc/override-universe-domain.dox b/google/cloud/hypercomputecluster/doc/override-universe-domain.dox new file mode 100644 index 0000000000000..5eb65167a1d14 --- /dev/null +++ b/google/cloud/hypercomputecluster/doc/override-universe-domain.dox @@ -0,0 +1,24 @@ +/*! +@page hypercomputecluster-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 `hypercomputecluster_v1::HypercomputeClusterClient`: + +@snippet hypercompute_cluster_client_samples.cc set-client-universe-domain + + + +*/ + +// + +/*! @page hypercomputecluster_v1::HypercomputeClusterClient-universe-domain-snippet Override hypercomputecluster_v1::HypercomputeClusterClient Universe Domain + +@snippet google/cloud/hypercomputecluster/v1/samples/hypercompute_cluster_client_samples.cc set-client-universe-domain + +*/ +// diff --git a/google/cloud/hypercomputecluster/quickstart/.bazelrc b/google/cloud/hypercomputecluster/quickstart/.bazelrc new file mode 100644 index 0000000000000..c884db46c2b4d --- /dev/null +++ b/google/cloud/hypercomputecluster/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/hypercomputecluster/quickstart/BUILD.bazel b/google/cloud/hypercomputecluster/quickstart/BUILD.bazel new file mode 100644 index 0000000000000..c019e0419b1ed --- /dev/null +++ b/google/cloud/hypercomputecluster/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//:hypercomputecluster", + ], +) diff --git a/google/cloud/hypercomputecluster/quickstart/CMakeLists.txt b/google/cloud/hypercomputecluster/quickstart/CMakeLists.txt new file mode 100644 index 0000000000000..b6e22881b2577 --- /dev/null +++ b/google/cloud/hypercomputecluster/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 Cluster Director API C++ client library from a +# larger CMake project. + +cmake_minimum_required(VERSION 3.22...3.31) +project(google-cloud-cpp-hypercomputecluster-quickstart CXX) + +find_package(google_cloud_cpp_hypercomputecluster 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::hypercomputecluster) diff --git a/google/cloud/hypercomputecluster/quickstart/Makefile b/google/cloud/hypercomputecluster/quickstart/Makefile new file mode 100644 index 0000000000000..21b36a552c763 --- /dev/null +++ b/google/cloud/hypercomputecluster/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 Cluster Director 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 Cluster Director API C++ +# client library. +CLIENT_MODULE := google_cloud_cpp_hypercomputecluster +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/hypercomputecluster/quickstart/README.md b/google/cloud/hypercomputecluster/quickstart/README.md new file mode 100644 index 0000000000000..7913ded3486c4 --- /dev/null +++ b/google/cloud/hypercomputecluster/quickstart/README.md @@ -0,0 +1,135 @@ +# HOWTO: using the Cluster Director API C++ client in your project + +This directory contains small examples showing how to use the Cluster Director +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, Cluster Director 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/hypercomputecluster/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,hypercomputecluster] + ``` + + 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/hypercomputecluster/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/hypercomputecluster/quickstart/WORKSPACE.bazel b/google/cloud/hypercomputecluster/quickstart/WORKSPACE.bazel new file mode 100644 index 0000000000000..2618d8ca88fb0 --- /dev/null +++ b/google/cloud/hypercomputecluster/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 Cluster Director 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/hypercomputecluster/quickstart/quickstart.cc b/google/cloud/hypercomputecluster/quickstart/quickstart.cc new file mode 100644 index 0000000000000..b4fe645fdcb55 --- /dev/null +++ b/google/cloud/hypercomputecluster/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/hypercomputecluster/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 hypercomputecluster = ::google::cloud::hypercomputecluster_v1; + auto client = hypercomputecluster::ServiceClient( + hypercomputecluster::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/hypercomputecluster/v1/.repo-metadata.json b/google/cloud/hypercomputecluster/v1/.repo-metadata.json new file mode 100644 index 0000000000000..75d22f9dc60f0 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/.repo-metadata.json @@ -0,0 +1,14 @@ +{ + "api_id": "hypercomputecluster.googleapis.com", + "api_shortname": "hypercomputecluster", + "client_documentation": "https://cloud.google.com/cpp/docs/reference/hypercomputecluster/latest", + "distribution_name": "google-cloud-cpp", + "issue_tracker": "https://issuetracker.google.com/issues?q=componentid:1907878%20status=open", + "language": "cpp", + "library_type": "GAPIC_AUTO", + "name_pretty": "Cluster Director API", + "product_documentation": "https://cloud.google.com/cluster-director/docs", + "release_level": "stable", + "repo": "googleapis/google-cloud-cpp", + "requires_billing": true +} diff --git a/google/cloud/hypercomputecluster/v1/hypercompute_cluster_client.cc b/google/cloud/hypercomputecluster/v1/hypercompute_cluster_client.cc new file mode 100644 index 0000000000000..7b30445818207 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/hypercompute_cluster_client.cc @@ -0,0 +1,284 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_client.h" +#include +#include + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +HypercomputeClusterClient::HypercomputeClusterClient( + std::shared_ptr connection, Options opts) + : connection_(std::move(connection)), + options_( + internal::MergeOptions(std::move(opts), connection_->options())) {} +HypercomputeClusterClient::~HypercomputeClusterClient() = default; + +StreamRange +HypercomputeClusterClient::ListClusters(std::string const& parent, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::hypercomputecluster::v1::ListClustersRequest request; + request.set_parent(parent); + return connection_->ListClusters(request); +} + +StreamRange +HypercomputeClusterClient::ListClusters( + google::cloud::hypercomputecluster::v1::ListClustersRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListClusters(std::move(request)); +} + +StatusOr +HypercomputeClusterClient::GetCluster(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::hypercomputecluster::v1::GetClusterRequest request; + request.set_name(name); + return connection_->GetCluster(request); +} + +StatusOr +HypercomputeClusterClient::GetCluster( + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetCluster(request); +} + +future> +HypercomputeClusterClient::CreateCluster( + std::string const& parent, + google::cloud::hypercomputecluster::v1::Cluster const& cluster, + std::string const& cluster_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::hypercomputecluster::v1::CreateClusterRequest request; + request.set_parent(parent); + *request.mutable_cluster() = cluster; + request.set_cluster_id(cluster_id); + return connection_->CreateCluster(request); +} + +StatusOr +HypercomputeClusterClient::CreateCluster( + NoAwaitTag, std::string const& parent, + google::cloud::hypercomputecluster::v1::Cluster const& cluster, + std::string const& cluster_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::hypercomputecluster::v1::CreateClusterRequest request; + request.set_parent(parent); + *request.mutable_cluster() = cluster; + request.set_cluster_id(cluster_id); + return connection_->CreateCluster(NoAwaitTag{}, request); +} + +future> +HypercomputeClusterClient::CreateCluster( + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateCluster(request); +} + +StatusOr +HypercomputeClusterClient::CreateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateCluster(NoAwaitTag{}, request); +} + +future> +HypercomputeClusterClient::CreateCluster( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateCluster(operation); +} + +future> +HypercomputeClusterClient::UpdateCluster( + google::cloud::hypercomputecluster::v1::Cluster const& cluster, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::hypercomputecluster::v1::UpdateClusterRequest request; + *request.mutable_cluster() = cluster; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateCluster(request); +} + +StatusOr +HypercomputeClusterClient::UpdateCluster( + NoAwaitTag, google::cloud::hypercomputecluster::v1::Cluster const& cluster, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::hypercomputecluster::v1::UpdateClusterRequest request; + *request.mutable_cluster() = cluster; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateCluster(NoAwaitTag{}, request); +} + +future> +HypercomputeClusterClient::UpdateCluster( + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateCluster(request); +} + +StatusOr +HypercomputeClusterClient::UpdateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateCluster(NoAwaitTag{}, request); +} + +future> +HypercomputeClusterClient::UpdateCluster( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateCluster(operation); +} + +future> +HypercomputeClusterClient::DeleteCluster(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::hypercomputecluster::v1::DeleteClusterRequest request; + request.set_name(name); + return connection_->DeleteCluster(request); +} + +StatusOr +HypercomputeClusterClient::DeleteCluster(NoAwaitTag, std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::hypercomputecluster::v1::DeleteClusterRequest request; + request.set_name(name); + return connection_->DeleteCluster(NoAwaitTag{}, request); +} + +future> +HypercomputeClusterClient::DeleteCluster( + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteCluster(request); +} + +StatusOr +HypercomputeClusterClient::DeleteCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteCluster(NoAwaitTag{}, request); +} + +future> +HypercomputeClusterClient::DeleteCluster( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteCluster(operation); +} + +StreamRange +HypercomputeClusterClient::ListLocations( + google::cloud::location::ListLocationsRequest request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListLocations(std::move(request)); +} + +StatusOr +HypercomputeClusterClient::GetLocation( + google::cloud::location::GetLocationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetLocation(request); +} + +StreamRange +HypercomputeClusterClient::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 +HypercomputeClusterClient::ListOperations( + google::longrunning::ListOperationsRequest request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListOperations(std::move(request)); +} + +StatusOr +HypercomputeClusterClient::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 +HypercomputeClusterClient::GetOperation( + google::longrunning::GetOperationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetOperation(request); +} + +Status HypercomputeClusterClient::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 HypercomputeClusterClient::DeleteOperation( + google::longrunning::DeleteOperationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteOperation(request); +} + +Status HypercomputeClusterClient::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 HypercomputeClusterClient::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 hypercomputecluster_v1 +} // namespace cloud +} // namespace google diff --git a/google/cloud/hypercomputecluster/v1/hypercompute_cluster_client.h b/google/cloud/hypercomputecluster/v1/hypercompute_cluster_client.h new file mode 100644 index 0000000000000..89f9774d4e77a --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/hypercompute_cluster_client.h @@ -0,0 +1,936 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_HYPERCOMPUTE_CLUSTER_CLIENT_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_HYPERCOMPUTE_CLUSTER_CLIENT_H + +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.h" +#include "google/cloud/future.h" +#include "google/cloud/no_await_tag.h" +#include "google/cloud/options.h" +#include "google/cloud/polling_policy.h" +#include "google/cloud/status_or.h" +#include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" +#include +#include +#include + +namespace google { +namespace cloud { +namespace hypercomputecluster_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 HypercomputeClusterClient { + public: + explicit HypercomputeClusterClient( + std::shared_ptr connection, + Options opts = {}); + ~HypercomputeClusterClient(); + + ///@{ + /// @name Copy and move support + HypercomputeClusterClient(HypercomputeClusterClient const&) = default; + HypercomputeClusterClient& operator=(HypercomputeClusterClient const&) = + default; + HypercomputeClusterClient(HypercomputeClusterClient&&) = default; + HypercomputeClusterClient& operator=(HypercomputeClusterClient&&) = default; + ///@} + + ///@{ + /// @name Equality + friend bool operator==(HypercomputeClusterClient const& a, + HypercomputeClusterClient const& b) { + return a.connection_ == b.connection_; + } + friend bool operator!=(HypercomputeClusterClient const& a, + HypercomputeClusterClient const& b) { + return !(a == b); + } + ///@} + + // clang-format off + /// + /// Lists Clusters in a given project and location. + /// + /// @param parent Required. Parent location of the clusters to list, in the format + /// `projects/{project}/locations/{location}`. + /// @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.hypercomputecluster.v1.Cluster], 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.hypercomputecluster.v1.Cluster]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L149} + /// [google.cloud.hypercomputecluster.v1.ListClustersRequest]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L213} + /// + // clang-format on + StreamRange ListClusters( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists Clusters in a given project and 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.hypercomputecluster.v1.ListClustersRequest]. + /// 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.hypercomputecluster.v1.Cluster], 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.hypercomputecluster.v1.Cluster]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L149} + /// [google.cloud.hypercomputecluster.v1.ListClustersRequest]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L213} + /// + // clang-format on + StreamRange ListClusters( + google::cloud::hypercomputecluster::v1::ListClustersRequest request, + Options opts = {}); + + // clang-format off + /// + /// Gets details of a single Cluster. + /// + /// @param name Required. Name of the cluster to retrieve, in the format + /// `projects/{project}/locations/{location}/clusters/{cluster}`. + /// @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.hypercomputecluster.v1.Cluster]) + /// 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.hypercomputecluster.v1.Cluster]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L149} + /// [google.cloud.hypercomputecluster.v1.GetClusterRequest]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L265} + /// + // clang-format on + StatusOr GetCluster( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Gets details of a single Cluster. + /// + /// @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.hypercomputecluster.v1.GetClusterRequest]. + /// 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.hypercomputecluster.v1.Cluster]) + /// 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.hypercomputecluster.v1.Cluster]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L149} + /// [google.cloud.hypercomputecluster.v1.GetClusterRequest]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L265} + /// + // clang-format on + StatusOr GetCluster( + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Creates a new Cluster in a given project and location. + /// + /// @param parent Required. Parent location in which the cluster should be created, in the + /// format `projects/{project}/locations/{location}`. + /// @param cluster Required. Cluster to create. + /// @param cluster_id Required. ID of the cluster to create. Must conform to + /// [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, + /// alphanumeric, and at most 63 characters). + /// @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.hypercomputecluster.v1.Cluster] 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.hypercomputecluster.v1.Cluster]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L149} + /// [google.cloud.hypercomputecluster.v1.CreateClusterRequest]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L278} + /// + // clang-format on + future> + CreateCluster(std::string const& parent, + google::cloud::hypercomputecluster::v1::Cluster const& cluster, + std::string const& cluster_id, Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateCluster + /// + /// 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 CreateCluster( + NoAwaitTag, std::string const& parent, + google::cloud::hypercomputecluster::v1::Cluster const& cluster, + std::string const& cluster_id, Options opts = {}); + + // clang-format off + /// + /// Creates a new Cluster in a given project and 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.hypercomputecluster.v1.CreateClusterRequest]. + /// 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.hypercomputecluster.v1.Cluster] 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.hypercomputecluster.v1.Cluster]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L149} + /// [google.cloud.hypercomputecluster.v1.CreateClusterRequest]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L278} + /// + // clang-format on + future> + CreateCluster( + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateCluster + /// + /// 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 CreateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateCluster + /// + /// 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> + CreateCluster(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Updates the parameters of a single Cluster. + /// + /// @param cluster Required. Cluster to update. + /// @param update_mask Optional. Mask specifying which fields in the cluster to update. All paths + /// must be specified explicitly - wildcards are not supported. At least one + /// path must be provided. + /// @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.hypercomputecluster.v1.Cluster] 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.hypercomputecluster.v1.Cluster]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L149} + /// [google.cloud.hypercomputecluster.v1.UpdateClusterRequest]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L307} + /// + // clang-format on + future> + UpdateCluster(google::cloud::hypercomputecluster::v1::Cluster const& cluster, + google::protobuf::FieldMask const& update_mask, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateCluster + /// + /// 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 UpdateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::Cluster const& cluster, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// Updates the parameters of a single Cluster. + /// + /// @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.hypercomputecluster.v1.UpdateClusterRequest]. + /// 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.hypercomputecluster.v1.Cluster] 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.hypercomputecluster.v1.Cluster]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L149} + /// [google.cloud.hypercomputecluster.v1.UpdateClusterRequest]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L307} + /// + // clang-format on + future> + UpdateCluster( + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateCluster + /// + /// 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 UpdateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateCluster + /// + /// 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> + UpdateCluster(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Deletes a single Cluster. + /// + /// @param name Required. Name of the cluster to delete, in the format + /// `projects/{project}/locations/{location}/clusters/{cluster}`. + /// @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.hypercomputecluster.v1.OperationMetadata] 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.hypercomputecluster.v1.DeleteClusterRequest]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L328} + /// [google.cloud.hypercomputecluster.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/operation_metadata.proto#L36} + /// + // clang-format on + future> + DeleteCluster(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteCluster + /// + /// 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 DeleteCluster( + NoAwaitTag, std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Deletes a single Cluster. + /// + /// @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.hypercomputecluster.v1.DeleteClusterRequest]. + /// 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.hypercomputecluster.v1.OperationMetadata] 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.hypercomputecluster.v1.DeleteClusterRequest]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto#L328} + /// [google.cloud.hypercomputecluster.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/hypercomputecluster/v1/operation_metadata.proto#L36} + /// + // clang-format on + future> + DeleteCluster( + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteCluster + /// + /// 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 DeleteCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteCluster + /// + /// 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> + DeleteCluster(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Lists information about the supported locations for this service. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.location.ListLocationsRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.cloud.location.Location], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.location.ListLocationsRequest]: @googleapis_reference_link{google/cloud/location/locations.proto#L58} + /// [google.cloud.location.Location]: @googleapis_reference_link{google/cloud/location/locations.proto#L88} + /// + // clang-format on + StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request, Options opts = {}); + + // clang-format off + /// + /// Gets information about a location. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.location.GetLocationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.cloud.location.Location]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.location.GetLocationRequest]: @googleapis_reference_link{google/cloud/location/locations.proto#L82} + /// [google.cloud.location.Location]: @googleapis_reference_link{google/cloud/location/locations.proto#L88} + /// + // clang-format on + StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Lists operations that match the specified filter in the request. If the + /// server doesn't support this method, it returns `UNIMPLEMENTED`. + /// + /// @param name The name of the operation's parent resource. + /// @param filter The standard list filter. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.longrunning.Operation], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.ListOperationsRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L167} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StreamRange ListOperations( + std::string const& name, std::string const& filter, Options opts = {}); + + // clang-format off + /// + /// Lists operations that match the specified filter in the request. If the + /// server doesn't support this method, it returns `UNIMPLEMENTED`. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.longrunning.ListOperationsRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.longrunning.Operation], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.ListOperationsRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L167} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StreamRange ListOperations( + google::longrunning::ListOperationsRequest request, Options opts = {}); + + // clang-format off + /// + /// Gets the latest state of a long-running operation. Clients can use this + /// method to poll the operation result at intervals as recommended by the API + /// service. + /// + /// @param name The name of the operation resource. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.longrunning.Operation]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.GetOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L160} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StatusOr GetOperation(std::string const& name, + Options opts = {}); + + // clang-format off + /// + /// Gets the latest state of a long-running operation. Clients can use this + /// method to poll the operation result at intervals as recommended by the API + /// service. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.longrunning.GetOperationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.longrunning.Operation]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.GetOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L160} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Deletes a long-running operation. This method indicates that the client is + /// no longer interested in the operation result. It does not cancel the + /// operation. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. + /// + /// @param name The name of the operation resource to be deleted. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [`Status`] object. If the request failed, the + /// status contains the details of the failure. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.DeleteOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L219} + /// + // clang-format on + Status DeleteOperation(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Deletes a long-running operation. This method indicates that the client is + /// no longer interested in the operation result. It does not cancel the + /// operation. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.longrunning.DeleteOperationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [`Status`] object. If the request failed, the + /// status contains the details of the failure. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.DeleteOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L219} + /// + // clang-format on + Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Starts asynchronous cancellation on a long-running operation. The server + /// makes a best effort to cancel the operation, but success is not + /// guaranteed. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. Clients can use + /// [Operations.GetOperation][google.longrunning.Operations.GetOperation] or + /// other methods to check whether the cancellation succeeded or whether the + /// operation completed despite cancellation. On successful cancellation, + /// the operation is not deleted; instead, it becomes an operation with + /// an [Operation.error][google.longrunning.Operation.error] value with a + /// [google.rpc.Status.code][google.rpc.Status.code] of `1`, corresponding to + /// `Code.CANCELLED`. + /// + /// @param name The name of the operation resource to be cancelled. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [`Status`] object. If the request failed, the + /// status contains the details of the failure. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.CancelOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L212} + /// [google.longrunning.Operation.error]: @googleapis_reference_link{google/longrunning/operations.proto#L144} + /// [google.longrunning.Operations.GetOperation]: @googleapis_reference_link{google/longrunning/operations.proto#L70} + /// [google.rpc.Status.code]: @googleapis_reference_link{google/rpc/status.proto#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 hypercomputecluster_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_HYPERCOMPUTE_CLUSTER_CLIENT_H diff --git a/google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.cc b/google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.cc new file mode 100644 index 0000000000000..8aa038ff4054f --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.cc @@ -0,0 +1,188 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_options.h" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_connection_impl.h" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_option_defaults.h" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub_factory.h" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_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 hypercomputecluster_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +HypercomputeClusterConnection::~HypercomputeClusterConnection() = default; + +StreamRange +HypercomputeClusterConnection::ListClusters( + google::cloud::hypercomputecluster::v1:: + ListClustersRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +HypercomputeClusterConnection::GetCluster( + google::cloud::hypercomputecluster::v1::GetClusterRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +future> +HypercomputeClusterConnection::CreateCluster( + google::cloud::hypercomputecluster::v1::CreateClusterRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +HypercomputeClusterConnection::CreateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +HypercomputeClusterConnection::CreateCluster( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +HypercomputeClusterConnection::UpdateCluster( + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +HypercomputeClusterConnection::UpdateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +HypercomputeClusterConnection::UpdateCluster( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +HypercomputeClusterConnection::DeleteCluster( + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +HypercomputeClusterConnection::DeleteCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +HypercomputeClusterConnection::DeleteCluster( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StreamRange +HypercomputeClusterConnection::ListLocations( + google::cloud::location:: + ListLocationsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +HypercomputeClusterConnection::GetLocation( + google::cloud::location::GetLocationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +StreamRange +HypercomputeClusterConnection::ListOperations( + google::longrunning:: + ListOperationsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +HypercomputeClusterConnection::GetOperation( + google::longrunning::GetOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +Status HypercomputeClusterConnection::DeleteOperation( + google::longrunning::DeleteOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +Status HypercomputeClusterConnection::CancelOperation( + google::longrunning::CancelOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +std::shared_ptr +MakeHypercomputeClusterConnection(Options options) { + internal::CheckExpectedOptions(options, + __func__); + options = hypercomputecluster_v1_internal::HypercomputeClusterDefaultOptions( + std::move(options)); + auto background = internal::MakeBackgroundThreadsFactory(options)(); + auto auth = internal::CreateAuthenticationStrategy(background->cq(), options); + auto stub = + hypercomputecluster_v1_internal::CreateDefaultHypercomputeClusterStub( + std::move(auth), options); + return hypercomputecluster_v1_internal:: + MakeHypercomputeClusterTracingConnection( + std::make_shared( + std::move(background), std::move(stub), std::move(options))); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1 +} // namespace cloud +} // namespace google diff --git a/google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.h b/google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.h new file mode 100644 index 0000000000000..5acbc19a5d3eb --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.h @@ -0,0 +1,292 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_HYPERCOMPUTE_CLUSTER_CONNECTION_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_HYPERCOMPUTE_CLUSTER_CONNECTION_H + +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster.pb.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection_idempotency_policy.h" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_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 "google/longrunning/operations.grpc.pb.h" +#include + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/// The retry policy for `HypercomputeClusterConnection`. +class HypercomputeClusterRetryPolicy : 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 `HypercomputeClusterConnection` 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 HypercomputeClusterLimitedErrorCountRetryPolicy + : public HypercomputeClusterRetryPolicy { + 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 HypercomputeClusterLimitedErrorCountRetryPolicy(int maximum_failures) + : impl_(maximum_failures) {} + + HypercomputeClusterLimitedErrorCountRetryPolicy( + HypercomputeClusterLimitedErrorCountRetryPolicy&& rhs) noexcept + : HypercomputeClusterLimitedErrorCountRetryPolicy( + rhs.maximum_failures()) {} + HypercomputeClusterLimitedErrorCountRetryPolicy( + HypercomputeClusterLimitedErrorCountRetryPolicy const& rhs) noexcept + : HypercomputeClusterLimitedErrorCountRetryPolicy( + 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 = HypercomputeClusterRetryPolicy; + + private: + google::cloud::internal::LimitedErrorCountRetryPolicy< + hypercomputecluster_v1_internal::HypercomputeClusterRetryTraits> + impl_; +}; + +/** + * A retry policy for `HypercomputeClusterConnection` 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 HypercomputeClusterLimitedTimeRetryPolicy + : public HypercomputeClusterRetryPolicy { + 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 HypercomputeClusterLimitedTimeRetryPolicy( + std::chrono::duration maximum_duration) + : impl_(maximum_duration) {} + + HypercomputeClusterLimitedTimeRetryPolicy( + HypercomputeClusterLimitedTimeRetryPolicy&& rhs) noexcept + : HypercomputeClusterLimitedTimeRetryPolicy(rhs.maximum_duration()) {} + HypercomputeClusterLimitedTimeRetryPolicy( + HypercomputeClusterLimitedTimeRetryPolicy const& rhs) noexcept + : HypercomputeClusterLimitedTimeRetryPolicy(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 = HypercomputeClusterRetryPolicy; + + private: + google::cloud::internal::LimitedTimeRetryPolicy< + hypercomputecluster_v1_internal::HypercomputeClusterRetryTraits> + impl_; +}; + +/** + * The `HypercomputeClusterConnection` object for `HypercomputeClusterClient`. + * + * This interface defines virtual methods for each of the user-facing overload + * sets in `HypercomputeClusterClient`. This allows users to inject custom + * behavior (e.g., with a Google Mock object) when writing tests that use + * objects of type `HypercomputeClusterClient`. + * + * To create a concrete instance, see `MakeHypercomputeClusterConnection()`. + * + * For mocking, see + * `hypercomputecluster_v1_mocks::MockHypercomputeClusterConnection`. + */ +class HypercomputeClusterConnection { + public: + virtual ~HypercomputeClusterConnection() = 0; + + virtual Options options() { return Options{}; } + + virtual StreamRange + ListClusters( + google::cloud::hypercomputecluster::v1::ListClustersRequest request); + + virtual StatusOr GetCluster( + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request); + + virtual future> + CreateCluster( + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request); + + virtual StatusOr CreateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request); + + virtual future> + CreateCluster(google::longrunning::Operation const& operation); + + virtual future> + UpdateCluster( + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request); + + virtual StatusOr UpdateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request); + + virtual future> + UpdateCluster(google::longrunning::Operation const& operation); + + virtual future< + StatusOr> + DeleteCluster( + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request); + + virtual StatusOr DeleteCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request); + + virtual future< + StatusOr> + DeleteCluster(google::longrunning::Operation const& operation); + + virtual StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request); + + virtual StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request); + + virtual StreamRange ListOperations( + google::longrunning::ListOperationsRequest request); + + virtual StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request); + + virtual Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request); + + virtual Status CancelOperation( + google::longrunning::CancelOperationRequest const& request); +}; + +/** + * A factory function to construct an object of type + * `HypercomputeClusterConnection`. + * + * The returned connection object should not be used directly; instead it + * should be passed as an argument to the constructor of + * HypercomputeClusterClient. + * + * The optional @p options argument may be used to configure aspects of the + * returned `HypercomputeClusterConnection`. Expected options are any of the + * types in the following option lists: + * + * - `google::cloud::CommonOptionList` + * - `google::cloud::GrpcOptionList` + * - `google::cloud::UnifiedCredentialsOptionList` + * - + * `google::cloud::hypercomputecluster_v1::HypercomputeClusterPolicyOptionList` + * + * @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 `HypercomputeClusterConnection` + * created by this function. + */ +std::shared_ptr +MakeHypercomputeClusterConnection(Options options = {}); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_HYPERCOMPUTE_CLUSTER_CONNECTION_H diff --git a/google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection_idempotency_policy.cc b/google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection_idempotency_policy.cc new file mode 100644 index 0000000000000..81f4e17027000 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection_idempotency_policy.cc @@ -0,0 +1,101 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection_idempotency_policy.h" +#include + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +using ::google::cloud::Idempotency; + +HypercomputeClusterConnectionIdempotencyPolicy:: + ~HypercomputeClusterConnectionIdempotencyPolicy() = default; + +std::unique_ptr +HypercomputeClusterConnectionIdempotencyPolicy::clone() const { + return std::make_unique( + *this); +} + +Idempotency HypercomputeClusterConnectionIdempotencyPolicy::ListClusters( + google::cloud::hypercomputecluster::v1::ListClustersRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency HypercomputeClusterConnectionIdempotencyPolicy::GetCluster( + google::cloud::hypercomputecluster::v1::GetClusterRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency HypercomputeClusterConnectionIdempotencyPolicy::CreateCluster( + google::cloud::hypercomputecluster::v1::CreateClusterRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency HypercomputeClusterConnectionIdempotencyPolicy::UpdateCluster( + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency HypercomputeClusterConnectionIdempotencyPolicy::DeleteCluster( + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency HypercomputeClusterConnectionIdempotencyPolicy::ListLocations( + google::cloud::location::ListLocationsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency HypercomputeClusterConnectionIdempotencyPolicy::GetLocation( + google::cloud::location::GetLocationRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency HypercomputeClusterConnectionIdempotencyPolicy::ListOperations( + google::longrunning::ListOperationsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency HypercomputeClusterConnectionIdempotencyPolicy::GetOperation( + google::longrunning::GetOperationRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency HypercomputeClusterConnectionIdempotencyPolicy::DeleteOperation( + google::longrunning::DeleteOperationRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency HypercomputeClusterConnectionIdempotencyPolicy::CancelOperation( + google::longrunning::CancelOperationRequest const&) { + return Idempotency::kNonIdempotent; +} + +std::unique_ptr +MakeDefaultHypercomputeClusterConnectionIdempotencyPolicy() { + return std::make_unique(); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1 +} // namespace cloud +} // namespace google diff --git a/google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection_idempotency_policy.h b/google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection_idempotency_policy.h new file mode 100644 index 0000000000000..acdf74f19c15b --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection_idempotency_policy.h @@ -0,0 +1,87 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_HYPERCOMPUTE_CLUSTER_CONNECTION_IDEMPOTENCY_POLICY_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_HYPERCOMPUTE_CLUSTER_CONNECTION_IDEMPOTENCY_POLICY_H + +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster.grpc.pb.h" +#include "google/cloud/location/locations.grpc.pb.h" +#include "google/cloud/idempotency.h" +#include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" +#include + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class HypercomputeClusterConnectionIdempotencyPolicy { + public: + virtual ~HypercomputeClusterConnectionIdempotencyPolicy(); + + /// Create a new copy of this object. + virtual std::unique_ptr + clone() const; + + virtual google::cloud::Idempotency ListClusters( + google::cloud::hypercomputecluster::v1::ListClustersRequest request); + + virtual google::cloud::Idempotency GetCluster( + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request); + + virtual google::cloud::Idempotency CreateCluster( + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request); + + virtual google::cloud::Idempotency UpdateCluster( + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request); + + virtual google::cloud::Idempotency DeleteCluster( + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request); + + virtual google::cloud::Idempotency ListLocations( + google::cloud::location::ListLocationsRequest request); + + virtual google::cloud::Idempotency GetLocation( + google::cloud::location::GetLocationRequest const& request); + + virtual google::cloud::Idempotency ListOperations( + google::longrunning::ListOperationsRequest request); + + virtual google::cloud::Idempotency GetOperation( + google::longrunning::GetOperationRequest const& request); + + virtual google::cloud::Idempotency DeleteOperation( + google::longrunning::DeleteOperationRequest const& request); + + virtual google::cloud::Idempotency CancelOperation( + google::longrunning::CancelOperationRequest const& request); +}; + +std::unique_ptr +MakeDefaultHypercomputeClusterConnectionIdempotencyPolicy(); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_HYPERCOMPUTE_CLUSTER_CONNECTION_IDEMPOTENCY_POLICY_H diff --git a/google/cloud/hypercomputecluster/v1/hypercompute_cluster_options.h b/google/cloud/hypercomputecluster/v1/hypercompute_cluster_options.h new file mode 100644 index 0000000000000..6512e0feea063 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/hypercompute_cluster_options.h @@ -0,0 +1,87 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_HYPERCOMPUTE_CLUSTER_OPTIONS_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_HYPERCOMPUTE_CLUSTER_OPTIONS_H + +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_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 hypercomputecluster_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/** + * Use with `google::cloud::Options` to configure the retry policy. + * + * @ingroup google-cloud-hypercomputecluster-options + */ +struct HypercomputeClusterRetryPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * Use with `google::cloud::Options` to configure the backoff policy. + * + * @ingroup google-cloud-hypercomputecluster-options + */ +struct HypercomputeClusterBackoffPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * Use with `google::cloud::Options` to configure which operations are retried. + * + * @ingroup google-cloud-hypercomputecluster-options + */ +struct HypercomputeClusterConnectionIdempotencyPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * Use with `google::cloud::Options` to configure the long-running operations + * polling policy. + * + * @ingroup google-cloud-hypercomputecluster-options + */ +struct HypercomputeClusterPollingPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * The options applicable to HypercomputeCluster. + * + * @ingroup google-cloud-hypercomputecluster-options + */ +using HypercomputeClusterPolicyOptionList = + OptionList; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_HYPERCOMPUTE_CLUSTER_OPTIONS_H diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_auth_decorator.cc b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_auth_decorator.cc new file mode 100644 index 0000000000000..5544c153fccaa --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_auth_decorator.cc @@ -0,0 +1,238 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_auth_decorator.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster.grpc.pb.h" +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +HypercomputeClusterAuth::HypercomputeClusterAuth( + std::shared_ptr auth, + std::shared_ptr child) + : auth_(std::move(auth)), child_(std::move(child)) {} + +StatusOr +HypercomputeClusterAuth::ListClusters( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::ListClustersRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListClusters(context, options, request); +} + +StatusOr +HypercomputeClusterAuth::GetCluster( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetCluster(context, options, request); +} + +future> +HypercomputeClusterAuth::AsyncCreateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest 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->AsyncCreateCluster(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr HypercomputeClusterAuth::CreateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->CreateCluster(context, options, request); +} + +future> +HypercomputeClusterAuth::AsyncUpdateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest 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->AsyncUpdateCluster(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr HypercomputeClusterAuth::UpdateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->UpdateCluster(context, options, request); +} + +future> +HypercomputeClusterAuth::AsyncDeleteCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest 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->AsyncDeleteCluster(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr HypercomputeClusterAuth::DeleteCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeleteCluster(context, options, request); +} + +StatusOr +HypercomputeClusterAuth::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 +HypercomputeClusterAuth::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 +HypercomputeClusterAuth::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 HypercomputeClusterAuth::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 HypercomputeClusterAuth::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 HypercomputeClusterAuth::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> +HypercomputeClusterAuth::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 HypercomputeClusterAuth::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 hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_auth_decorator.h b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_auth_decorator.h new file mode 100644 index 0000000000000..7a156cf93509c --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_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/hypercomputecluster/v1/hypercompute_cluster.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_AUTH_DECORATOR_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_AUTH_DECORATOR_H + +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.h" +#include "google/cloud/internal/unified_grpc_credentials.h" +#include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" +#include +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class HypercomputeClusterAuth : public HypercomputeClusterStub { + public: + ~HypercomputeClusterAuth() override = default; + HypercomputeClusterAuth( + std::shared_ptr auth, + std::shared_ptr child); + + StatusOr + ListClusters( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::ListClustersRequest const& + request) override; + + StatusOr GetCluster( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request) + override; + + future> AsyncCreateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) override; + + StatusOr CreateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) override; + + future> AsyncUpdateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) override; + + StatusOr UpdateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) override; + + future> AsyncDeleteCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) override; + + StatusOr DeleteCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest 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 hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_AUTH_DECORATOR_H diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_connection_impl.cc b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_connection_impl.cc new file mode 100644 index 0000000000000..1287ed569372c --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_connection_impl.cc @@ -0,0 +1,541 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_connection_impl.h" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_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 hypercomputecluster_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< + hypercomputecluster_v1::HypercomputeClusterConnectionIdempotencyPolicy> +idempotency_policy(Options const& options) { + return options + .get() + ->clone(); +} + +std::unique_ptr polling_policy(Options const& options) { + return options + .get() + ->clone(); +} + +} // namespace + +HypercomputeClusterConnectionImpl::HypercomputeClusterConnectionImpl( + std::unique_ptr background, + std::shared_ptr + stub, + Options options) + : background_(std::move(background)), + stub_(std::move(stub)), + options_(internal::MergeOptions( + std::move(options), HypercomputeClusterConnection::options())) {} + +StreamRange +HypercomputeClusterConnectionImpl::ListClusters( + google::cloud::hypercomputecluster::v1::ListClustersRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListClusters(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< + hypercomputecluster_v1::HypercomputeClusterRetryPolicy>( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::hypercomputecluster::v1::ListClustersRequest const& + r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1:: + ListClustersRequest const& request) { + return stub->ListClusters(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::hypercomputecluster::v1::ListClustersResponse r) { + std::vector result( + r.clusters().size()); + auto& messages = *r.mutable_clusters(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +HypercomputeClusterConnectionImpl::GetCluster( + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetCluster(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::GetClusterRequest const& + request) { + return stub_->GetCluster(context, options, request); + }, + *current, request, __func__); +} + +future> +HypercomputeClusterConnectionImpl::CreateCluster( + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->CreateCluster(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::hypercomputecluster::v1::Cluster>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + return stub->AsyncCreateCluster(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::hypercomputecluster::v1::Cluster>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +HypercomputeClusterConnectionImpl::CreateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->CreateCluster(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + return stub_->CreateCluster(context, options, request); + }, + *current, request, __func__); +} + +future> +HypercomputeClusterConnectionImpl::CreateCluster( + 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 CreateCluster", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::hypercomputecluster::v1::Cluster>( + 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::hypercomputecluster::v1::Cluster>, + polling_policy(*current), __func__); +} + +future> +HypercomputeClusterConnectionImpl::UpdateCluster( + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->UpdateCluster(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::hypercomputecluster::v1::Cluster>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + return stub->AsyncUpdateCluster(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::hypercomputecluster::v1::Cluster>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +HypercomputeClusterConnectionImpl::UpdateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->UpdateCluster(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + return stub_->UpdateCluster(context, options, request); + }, + *current, request, __func__); +} + +future> +HypercomputeClusterConnectionImpl::UpdateCluster( + 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 UpdateCluster", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::hypercomputecluster::v1::Cluster>( + 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::hypercomputecluster::v1::Cluster>, + polling_policy(*current), __func__); +} + +future> +HypercomputeClusterConnectionImpl::DeleteCluster( + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->DeleteCluster(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::hypercomputecluster::v1::OperationMetadata>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + return stub->AsyncDeleteCluster(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::ExtractLongRunningResultMetadata< + google::cloud::hypercomputecluster::v1::OperationMetadata>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +HypercomputeClusterConnectionImpl::DeleteCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeleteCluster(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + return stub_->DeleteCluster(context, options, request); + }, + *current, request, __func__); +} + +future> +HypercomputeClusterConnectionImpl::DeleteCluster( + 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 DeleteCluster", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::hypercomputecluster::v1::OperationMetadata>( + 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::ExtractLongRunningResultMetadata< + google::cloud::hypercomputecluster::v1::OperationMetadata>, + polling_policy(*current), __func__); +} + +StreamRange +HypercomputeClusterConnectionImpl::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< + hypercomputecluster_v1::HypercomputeClusterRetryPolicy>( + 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 +HypercomputeClusterConnectionImpl::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 +HypercomputeClusterConnectionImpl::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< + hypercomputecluster_v1::HypercomputeClusterRetryPolicy>( + 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 +HypercomputeClusterConnectionImpl::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 HypercomputeClusterConnectionImpl::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 HypercomputeClusterConnectionImpl::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 hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_connection_impl.h b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_connection_impl.h new file mode 100644 index 0000000000000..6c7950418147f --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_connection_impl.h @@ -0,0 +1,133 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_CONNECTION_IMPL_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_CONNECTION_IMPL_H + +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection_idempotency_policy.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_options.h" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_retry_traits.h" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_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 "google/longrunning/operations.grpc.pb.h" +#include + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class HypercomputeClusterConnectionImpl + : public hypercomputecluster_v1::HypercomputeClusterConnection { + public: + ~HypercomputeClusterConnectionImpl() override = default; + + HypercomputeClusterConnectionImpl( + std::unique_ptr background, + std::shared_ptr + stub, + Options options); + + Options options() override { return options_; } + + StreamRange ListClusters( + google::cloud::hypercomputecluster::v1::ListClustersRequest request) + override; + + StatusOr GetCluster( + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request) + override; + + future> + CreateCluster( + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) override; + + StatusOr CreateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) override; + + future> + CreateCluster(google::longrunning::Operation const& operation) override; + + future> + UpdateCluster( + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) override; + + StatusOr UpdateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) override; + + future> + UpdateCluster(google::longrunning::Operation const& operation) override; + + future> + DeleteCluster( + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) override; + + StatusOr DeleteCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) override; + + future> + DeleteCluster(google::longrunning::Operation const& operation) override; + + StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request) override; + + StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request) override; + + StreamRange ListOperations( + google::longrunning::ListOperationsRequest request) override; + + StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::unique_ptr background_; + std::shared_ptr + stub_; + Options options_; +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_CONNECTION_IMPL_H diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_logging_decorator.cc b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_logging_decorator.cc new file mode 100644 index 0000000000000..927aa64515952 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_logging_decorator.cc @@ -0,0 +1,280 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_logging_decorator.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster.grpc.pb.h" +#include "google/cloud/internal/log_wrapper.h" +#include "google/cloud/status_or.h" +#include +#include +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +HypercomputeClusterLogging::HypercomputeClusterLogging( + std::shared_ptr child, + TracingOptions tracing_options, std::set const&) + : child_(std::move(child)), tracing_options_(std::move(tracing_options)) {} + +StatusOr +HypercomputeClusterLogging::ListClusters( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::ListClustersRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::ListClustersRequest const& + request) { + return child_->ListClusters(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +HypercomputeClusterLogging::GetCluster( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::GetClusterRequest const& + request) { + return child_->GetCluster(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +HypercomputeClusterLogging::AsyncCreateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + return child_->AsyncCreateCluster(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +HypercomputeClusterLogging::CreateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + return child_->CreateCluster(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +HypercomputeClusterLogging::AsyncUpdateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + return child_->AsyncUpdateCluster(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +HypercomputeClusterLogging::UpdateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + return child_->UpdateCluster(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +HypercomputeClusterLogging::AsyncDeleteCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + return child_->AsyncDeleteCluster(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +HypercomputeClusterLogging::DeleteCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + return child_->DeleteCluster(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +HypercomputeClusterLogging::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 +HypercomputeClusterLogging::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 +HypercomputeClusterLogging::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 +HypercomputeClusterLogging::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 HypercomputeClusterLogging::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 HypercomputeClusterLogging::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> +HypercomputeClusterLogging::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 HypercomputeClusterLogging::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 hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_logging_decorator.h b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_logging_decorator.h new file mode 100644 index 0000000000000..b6da58db7d760 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_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/hypercomputecluster/v1/hypercompute_cluster.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_LOGGING_DECORATOR_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_LOGGING_DECORATOR_H + +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.h" +#include "google/cloud/tracing_options.h" +#include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" +#include +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class HypercomputeClusterLogging : public HypercomputeClusterStub { + public: + ~HypercomputeClusterLogging() override = default; + HypercomputeClusterLogging(std::shared_ptr child, + TracingOptions tracing_options, + std::set const& components); + + StatusOr + ListClusters( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::ListClustersRequest const& + request) override; + + StatusOr GetCluster( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request) + override; + + future> AsyncCreateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) override; + + StatusOr CreateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) override; + + future> AsyncUpdateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) override; + + StatusOr UpdateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) override; + + future> AsyncDeleteCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) override; + + StatusOr DeleteCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest 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_; +}; // HypercomputeClusterLogging + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_LOGGING_DECORATOR_H diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_metadata_decorator.cc b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_metadata_decorator.cc new file mode 100644 index 0000000000000..ed7c18784e541 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_metadata_decorator.cc @@ -0,0 +1,234 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_metadata_decorator.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster.grpc.pb.h" +#include "google/cloud/grpc_options.h" +#include "google/cloud/internal/api_client_header.h" +#include "google/cloud/internal/url_encode.h" +#include "google/cloud/status_or.h" +#include "absl/strings/str_cat.h" +#include "absl/strings/str_join.h" +#include +#include +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +HypercomputeClusterMetadata::HypercomputeClusterMetadata( + 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 +HypercomputeClusterMetadata::ListClusters( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::ListClustersRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListClusters(context, options, request); +} + +StatusOr +HypercomputeClusterMetadata::GetCluster( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetCluster(context, options, request); +} + +future> +HypercomputeClusterMetadata::AsyncCreateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + SetMetadata(*context, *options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->AsyncCreateCluster(cq, std::move(context), std::move(options), + request); +} + +StatusOr +HypercomputeClusterMetadata::CreateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->CreateCluster(context, options, request); +} + +future> +HypercomputeClusterMetadata::AsyncUpdateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + SetMetadata(*context, *options, + absl::StrCat("cluster.name=", + internal::UrlEncode(request.cluster().name()))); + return child_->AsyncUpdateCluster(cq, std::move(context), std::move(options), + request); +} + +StatusOr +HypercomputeClusterMetadata::UpdateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("cluster.name=", + internal::UrlEncode(request.cluster().name()))); + return child_->UpdateCluster(context, options, request); +} + +future> +HypercomputeClusterMetadata::AsyncDeleteCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncDeleteCluster(cq, std::move(context), std::move(options), + request); +} + +StatusOr +HypercomputeClusterMetadata::DeleteCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->DeleteCluster(context, options, request); +} + +StatusOr +HypercomputeClusterMetadata::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 +HypercomputeClusterMetadata::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 +HypercomputeClusterMetadata::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 +HypercomputeClusterMetadata::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 HypercomputeClusterMetadata::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 HypercomputeClusterMetadata::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> +HypercomputeClusterMetadata::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 HypercomputeClusterMetadata::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 HypercomputeClusterMetadata::SetMetadata( + grpc::ClientContext& context, Options const& options, + std::string const& request_params) { + context.AddMetadata("x-goog-request-params", request_params); + SetMetadata(context, options); +} + +void HypercomputeClusterMetadata::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 hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_metadata_decorator.h b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_metadata_decorator.h new file mode 100644 index 0000000000000..808b301488836 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_metadata_decorator.h @@ -0,0 +1,146 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_METADATA_DECORATOR_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_METADATA_DECORATOR_H + +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.h" +#include "google/cloud/options.h" +#include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" +#include +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class HypercomputeClusterMetadata : public HypercomputeClusterStub { + public: + ~HypercomputeClusterMetadata() override = default; + HypercomputeClusterMetadata( + std::shared_ptr child, + std::multimap fixed_metadata, + std::string api_client_header = ""); + + StatusOr + ListClusters( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::ListClustersRequest const& + request) override; + + StatusOr GetCluster( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request) + override; + + future> AsyncCreateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) override; + + StatusOr CreateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) override; + + future> AsyncUpdateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) override; + + StatusOr UpdateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) override; + + future> AsyncDeleteCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) override; + + StatusOr DeleteCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest 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 hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_METADATA_DECORATOR_H diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_option_defaults.cc b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_option_defaults.cc new file mode 100644 index 0000000000000..57815e74fa576 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_option_defaults.cc @@ -0,0 +1,88 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_option_defaults.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_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 hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +namespace { +auto constexpr kBackoffScaling = 2.0; +} // namespace + +Options HypercomputeClusterDefaultOptions(Options options) { + options = internal::PopulateCommonOptions( + std::move(options), "GOOGLE_CLOUD_CPP_HYPERCOMPUTE_CLUSTER_ENDPOINT", "", + "GOOGLE_CLOUD_CPP_HYPERCOMPUTE_CLUSTER_AUTHORITY", + "hypercomputecluster.googleapis.com"); + options = internal::PopulateGrpcOptions(std::move(options)); + if (!options.has< + hypercomputecluster_v1::HypercomputeClusterRetryPolicyOption>()) { + options.set( + hypercomputecluster_v1::HypercomputeClusterLimitedTimeRetryPolicy( + std::chrono::minutes(10)) + .clone()); + } + if (!options.has< + hypercomputecluster_v1::HypercomputeClusterBackoffPolicyOption>()) { + options.set( + ExponentialBackoffPolicy( + std::chrono::seconds(0), std::chrono::seconds(1), + std::chrono::minutes(5), kBackoffScaling, kBackoffScaling) + .clone()); + } + if (!options.has< + hypercomputecluster_v1::HypercomputeClusterPollingPolicyOption>()) { + options.set( + GenericPollingPolicy< + hypercomputecluster_v1::HypercomputeClusterRetryPolicyOption::Type, + hypercomputecluster_v1::HypercomputeClusterBackoffPolicyOption:: + Type>( + options + .get() + ->clone(), + ExponentialBackoffPolicy(std::chrono::seconds(1), + std::chrono::minutes(5), kBackoffScaling) + .clone()) + .clone()); + } + if (!options + .has()) { + options.set( + hypercomputecluster_v1:: + MakeDefaultHypercomputeClusterConnectionIdempotencyPolicy()); + } + + return options; +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_option_defaults.h b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_option_defaults.h new file mode 100644 index 0000000000000..c98ef311e3e9b --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_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/hypercomputecluster/v1/hypercompute_cluster.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_OPTION_DEFAULTS_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_OPTION_DEFAULTS_H + +#include "google/cloud/options.h" +#include "google/cloud/version.h" + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +Options HypercomputeClusterDefaultOptions(Options options); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_OPTION_DEFAULTS_H diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_retry_traits.h b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_retry_traits.h new file mode 100644 index 0000000000000..b1a2b757491bc --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_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/hypercomputecluster/v1/hypercompute_cluster.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_RETRY_TRAITS_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_RETRY_TRAITS_H + +#include "google/cloud/status.h" +#include "google/cloud/version.h" + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/// Define the gRPC status code semantics for retrying requests. +struct HypercomputeClusterRetryTraits { + static bool IsPermanentFailure(google::cloud::Status const& status) { + return status.code() != StatusCode::kOk && + status.code() != StatusCode::kUnavailable; + } +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_RETRY_TRAITS_H diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_sources.cc b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_sources.cc new file mode 100644 index 0000000000000..5f4694fecc6b3 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_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/hypercomputecluster/v1/hypercompute_cluster.proto + +// NOLINTBEGIN(bugprone-suspicious-include) +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_client.cc" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.cc" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection_idempotency_policy.cc" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_auth_decorator.cc" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_connection_impl.cc" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_logging_decorator.cc" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_metadata_decorator.cc" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_option_defaults.cc" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.cc" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub_factory.cc" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_connection.cc" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_stub.cc" +// NOLINTEND(bugprone-suspicious-include) diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.cc b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.cc new file mode 100644 index 0000000000000..2c1da107f07e2 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.cc @@ -0,0 +1,275 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster.grpc.pb.h" +#include "google/cloud/grpc_error_delegate.h" +#include "google/cloud/status_or.h" +#include "google/longrunning/operations.grpc.pb.h" +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +HypercomputeClusterStub::~HypercomputeClusterStub() = default; + +StatusOr +DefaultHypercomputeClusterStub::ListClusters( + grpc::ClientContext& context, Options const&, + google::cloud::hypercomputecluster::v1::ListClustersRequest const& + request) { + google::cloud::hypercomputecluster::v1::ListClustersResponse response; + auto status = grpc_stub_->ListClusters(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultHypercomputeClusterStub::GetCluster( + grpc::ClientContext& context, Options const&, + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request) { + google::cloud::hypercomputecluster::v1::Cluster response; + auto status = grpc_stub_->GetCluster(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultHypercomputeClusterStub::AsyncCreateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::hypercomputecluster::v1::CreateClusterRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncCreateCluster(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultHypercomputeClusterStub::CreateCluster( + grpc::ClientContext& context, Options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + google::longrunning::Operation response; + auto status = grpc_stub_->CreateCluster(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultHypercomputeClusterStub::AsyncUpdateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::hypercomputecluster::v1::UpdateClusterRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncUpdateCluster(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultHypercomputeClusterStub::UpdateCluster( + grpc::ClientContext& context, Options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + google::longrunning::Operation response; + auto status = grpc_stub_->UpdateCluster(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultHypercomputeClusterStub::AsyncDeleteCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::hypercomputecluster::v1::DeleteClusterRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncDeleteCluster(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultHypercomputeClusterStub::DeleteCluster( + grpc::ClientContext& context, Options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + google::longrunning::Operation response; + auto status = grpc_stub_->DeleteCluster(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultHypercomputeClusterStub::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 +DefaultHypercomputeClusterStub::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 +DefaultHypercomputeClusterStub::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 +DefaultHypercomputeClusterStub::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 DefaultHypercomputeClusterStub::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 DefaultHypercomputeClusterStub::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> +DefaultHypercomputeClusterStub::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 DefaultHypercomputeClusterStub::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 hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.h b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.h new file mode 100644 index 0000000000000..11b067c16322f --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.h @@ -0,0 +1,244 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_STUB_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_STUB_H + +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster.grpc.pb.h" +#include "google/cloud/location/locations.grpc.pb.h" +#include "google/cloud/completion_queue.h" +#include "google/cloud/future.h" +#include "google/cloud/options.h" +#include "google/cloud/status_or.h" +#include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class HypercomputeClusterStub { + public: + virtual ~HypercomputeClusterStub() = 0; + + virtual StatusOr + ListClusters( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::ListClustersRequest const& + request) = 0; + + virtual StatusOr GetCluster( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::GetClusterRequest const& + request) = 0; + + virtual future> AsyncCreateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) = 0; + + virtual StatusOr CreateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) = 0; + + virtual future> AsyncUpdateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) = 0; + + virtual StatusOr UpdateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) = 0; + + virtual future> AsyncDeleteCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) = 0; + + virtual StatusOr DeleteCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest 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 DefaultHypercomputeClusterStub : public HypercomputeClusterStub { + public: + DefaultHypercomputeClusterStub( + std::unique_ptr + 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 + ListClusters( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::ListClustersRequest const& + request) override; + + StatusOr GetCluster( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request) + override; + + future> AsyncCreateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) override; + + StatusOr CreateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) override; + + future> AsyncUpdateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) override; + + StatusOr UpdateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) override; + + future> AsyncDeleteCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) override; + + StatusOr DeleteCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest 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 hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_STUB_H diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub_factory.cc b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub_factory.cc new file mode 100644 index 0000000000000..86ae1d0196c71 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub_factory.cc @@ -0,0 +1,83 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto + +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub_factory.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster.grpc.pb.h" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_auth_decorator.h" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_logging_decorator.h" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_metadata_decorator.h" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.h" +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_stub.h" +#include "google/cloud/location/locations.grpc.pb.h" +#include "google/cloud/common_options.h" +#include "google/cloud/grpc_options.h" +#include "google/cloud/internal/algorithm.h" +#include "google/cloud/internal/opentelemetry.h" +#include "google/cloud/log.h" +#include "google/cloud/options.h" +#include "google/longrunning/operations.grpc.pb.h" +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +std::shared_ptr CreateDefaultHypercomputeClusterStub( + std::shared_ptr auth, + Options const& options) { + auto channel = auth->CreateChannel(options.get(), + internal::MakeChannelArguments(options)); + auto service_grpc_stub = + google::cloud::hypercomputecluster::v1::HypercomputeCluster::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 = MakeHypercomputeClusterTracingStub(std::move(stub)); + } + return stub; +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub_factory.h b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub_factory.h new file mode 100644 index 0000000000000..91ac1a37d436f --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub_factory.h @@ -0,0 +1,47 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_STUB_FACTORY_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_STUB_FACTORY_H + +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.h" +#include "google/cloud/internal/unified_grpc_credentials.h" +#include "google/cloud/options.h" +#include "google/cloud/version.h" +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +std::shared_ptr CreateDefaultHypercomputeClusterStub( + std::shared_ptr auth, + Options const& options); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_STUB_FACTORY_H diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_connection.cc b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_connection.cc new file mode 100644 index 0000000000000..9232530e1face --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_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/hypercomputecluster/v1/hypercompute_cluster.proto + +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_connection.h" +#include "google/cloud/internal/opentelemetry.h" +#include "google/cloud/internal/traced_stream_range.h" +#include +#include + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +HypercomputeClusterTracingConnection::HypercomputeClusterTracingConnection( + std::shared_ptr + child) + : child_(std::move(child)) {} + +StreamRange +HypercomputeClusterTracingConnection::ListClusters( + google::cloud::hypercomputecluster::v1::ListClustersRequest request) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::ListClusters"); + internal::OTelScope scope(span); + auto sr = child_->ListClusters(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::hypercomputecluster::v1::Cluster>(std::move(span), + std::move(sr)); +} + +StatusOr +HypercomputeClusterTracingConnection::GetCluster( + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::GetCluster"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetCluster(request)); +} + +future> +HypercomputeClusterTracingConnection::CreateCluster( + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::CreateCluster"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->CreateCluster(request)); +} + +StatusOr +HypercomputeClusterTracingConnection::CreateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::CreateCluster"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, child_->CreateCluster(NoAwaitTag{}, request)); +} + +future> +HypercomputeClusterTracingConnection::CreateCluster( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::CreateCluster"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->CreateCluster(operation)); +} + +future> +HypercomputeClusterTracingConnection::UpdateCluster( + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::UpdateCluster"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->UpdateCluster(request)); +} + +StatusOr +HypercomputeClusterTracingConnection::UpdateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::UpdateCluster"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, child_->UpdateCluster(NoAwaitTag{}, request)); +} + +future> +HypercomputeClusterTracingConnection::UpdateCluster( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::UpdateCluster"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->UpdateCluster(operation)); +} + +future> +HypercomputeClusterTracingConnection::DeleteCluster( + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::DeleteCluster"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->DeleteCluster(request)); +} + +StatusOr +HypercomputeClusterTracingConnection::DeleteCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::DeleteCluster"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, child_->DeleteCluster(NoAwaitTag{}, request)); +} + +future> +HypercomputeClusterTracingConnection::DeleteCluster( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::DeleteCluster"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->DeleteCluster(operation)); +} + +StreamRange +HypercomputeClusterTracingConnection::ListLocations( + google::cloud::location::ListLocationsRequest request) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::ListLocations"); + internal::OTelScope scope(span); + auto sr = child_->ListLocations(std::move(request)); + return internal::MakeTracedStreamRange( + std::move(span), std::move(sr)); +} + +StatusOr +HypercomputeClusterTracingConnection::GetLocation( + google::cloud::location::GetLocationRequest const& request) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::GetLocation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetLocation(request)); +} + +StreamRange +HypercomputeClusterTracingConnection::ListOperations( + google::longrunning::ListOperationsRequest request) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::ListOperations"); + internal::OTelScope scope(span); + auto sr = child_->ListOperations(std::move(request)); + return internal::MakeTracedStreamRange( + std::move(span), std::move(sr)); +} + +StatusOr +HypercomputeClusterTracingConnection::GetOperation( + google::longrunning::GetOperationRequest const& request) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::GetOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetOperation(request)); +} + +Status HypercomputeClusterTracingConnection::DeleteOperation( + google::longrunning::DeleteOperationRequest const& request) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::DeleteOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->DeleteOperation(request)); +} + +Status HypercomputeClusterTracingConnection::CancelOperation( + google::longrunning::CancelOperationRequest const& request) { + auto span = internal::MakeSpan( + "hypercomputecluster_v1::HypercomputeClusterConnection::CancelOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->CancelOperation(request)); +} + +std::shared_ptr +MakeHypercomputeClusterTracingConnection( + std::shared_ptr + conn) { + if (internal::TracingEnabled(conn->options())) { + conn = + std::make_shared(std::move(conn)); + } + return conn; +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_connection.h b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_connection.h new file mode 100644 index 0000000000000..4b74464d97ba6 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_connection.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/hypercomputecluster/v1/hypercompute_cluster.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_TRACING_CONNECTION_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_TRACING_CONNECTION_H + +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.h" +#include "google/cloud/version.h" +#include + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class HypercomputeClusterTracingConnection + : public hypercomputecluster_v1::HypercomputeClusterConnection { + public: + ~HypercomputeClusterTracingConnection() override = default; + + explicit HypercomputeClusterTracingConnection( + std::shared_ptr + child); + + Options options() override { return child_->options(); } + + StreamRange ListClusters( + google::cloud::hypercomputecluster::v1::ListClustersRequest request) + override; + + StatusOr GetCluster( + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request) + override; + + future> + CreateCluster( + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) override; + + StatusOr CreateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) override; + + future> + CreateCluster(google::longrunning::Operation const& operation) override; + + future> + UpdateCluster( + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) override; + + StatusOr UpdateCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) override; + + future> + UpdateCluster(google::longrunning::Operation const& operation) override; + + future> + DeleteCluster( + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) override; + + StatusOr DeleteCluster( + NoAwaitTag, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) override; + + future> + DeleteCluster(google::longrunning::Operation const& operation) override; + + StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request) override; + + StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request) override; + + StreamRange ListOperations( + google::longrunning::ListOperationsRequest request) override; + + StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::shared_ptr child_; +}; + +/** + * Conditionally applies the tracing decorator to the given connection. + * + * The connection is only decorated if tracing is enabled (as determined by the + * connection's options). + */ +std::shared_ptr +MakeHypercomputeClusterTracingConnection( + std::shared_ptr + conn); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_TRACING_CONNECTION_H diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_stub.cc b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_stub.cc new file mode 100644 index 0000000000000..044ea34db6075 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_stub.cc @@ -0,0 +1,265 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_stub.h" +#include "google/cloud/internal/grpc_opentelemetry.h" +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +HypercomputeClusterTracingStub::HypercomputeClusterTracingStub( + std::shared_ptr child) + : child_(std::move(child)), propagator_(internal::MakePropagator()) {} + +StatusOr +HypercomputeClusterTracingStub::ListClusters( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::ListClustersRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.hypercomputecluster.v1.HypercomputeCluster", + "ListClusters"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListClusters(context, options, request)); +} + +StatusOr +HypercomputeClusterTracingStub::GetCluster( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.hypercomputecluster.v1.HypercomputeCluster", "GetCluster"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetCluster(context, options, request)); +} + +future> +HypercomputeClusterTracingStub::AsyncCreateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.hypercomputecluster.v1.HypercomputeCluster", + "CreateCluster"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncCreateCluster(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +HypercomputeClusterTracingStub::CreateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.hypercomputecluster.v1.HypercomputeCluster", + "CreateCluster"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->CreateCluster(context, options, request)); +} + +future> +HypercomputeClusterTracingStub::AsyncUpdateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.hypercomputecluster.v1.HypercomputeCluster", + "UpdateCluster"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncUpdateCluster(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +HypercomputeClusterTracingStub::UpdateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.hypercomputecluster.v1.HypercomputeCluster", + "UpdateCluster"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->UpdateCluster(context, options, request)); +} + +future> +HypercomputeClusterTracingStub::AsyncDeleteCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.hypercomputecluster.v1.HypercomputeCluster", + "DeleteCluster"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncDeleteCluster(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +HypercomputeClusterTracingStub::DeleteCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.hypercomputecluster.v1.HypercomputeCluster", + "DeleteCluster"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->DeleteCluster(context, options, request)); +} + +StatusOr +HypercomputeClusterTracingStub::ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.hypercomputecluster.v1.HypercomputeCluster", + "ListLocations"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListLocations(context, options, request)); +} + +StatusOr +HypercomputeClusterTracingStub::GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.hypercomputecluster.v1.HypercomputeCluster", "GetLocation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetLocation(context, options, request)); +} + +StatusOr +HypercomputeClusterTracingStub::ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.hypercomputecluster.v1.HypercomputeCluster", + "ListOperations"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListOperations(context, options, request)); +} + +StatusOr +HypercomputeClusterTracingStub::GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.hypercomputecluster.v1.HypercomputeCluster", + "GetOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetOperation(context, options, request)); +} + +Status HypercomputeClusterTracingStub::DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.hypercomputecluster.v1.HypercomputeCluster", + "DeleteOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->DeleteOperation(context, options, request)); +} + +Status HypercomputeClusterTracingStub::CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.hypercomputecluster.v1.HypercomputeCluster", + "CancelOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->CancelOperation(context, options, request)); +} + +future> +HypercomputeClusterTracingStub::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 HypercomputeClusterTracingStub::AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + auto span = internal::MakeSpanGrpc("google.longrunning.Operations", + "CancelOperation"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = + child_->AsyncCancelOperation(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +std::shared_ptr MakeHypercomputeClusterTracingStub( + std::shared_ptr stub) { + return std::make_shared(std::move(stub)); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_stub.h b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_stub.h new file mode 100644 index 0000000000000..5b5d33ef585d9 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_tracing_stub.h @@ -0,0 +1,148 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_TRACING_STUB_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_TRACING_STUB_H + +#include "google/cloud/hypercomputecluster/v1/internal/hypercompute_cluster_stub.h" +#include "google/cloud/internal/trace_propagator.h" +#include "google/cloud/options.h" +#include "google/cloud/version.h" +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class HypercomputeClusterTracingStub : public HypercomputeClusterStub { + public: + ~HypercomputeClusterTracingStub() override = default; + + explicit HypercomputeClusterTracingStub( + std::shared_ptr child); + + StatusOr + ListClusters( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::ListClustersRequest const& + request) override; + + StatusOr GetCluster( + grpc::ClientContext& context, Options const& options, + google::cloud::hypercomputecluster::v1::GetClusterRequest const& request) + override; + + future> AsyncCreateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) override; + + StatusOr CreateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request) override; + + future> AsyncUpdateCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) override; + + StatusOr UpdateCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request) override; + + future> AsyncDeleteCluster( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) override; + + StatusOr DeleteCluster( + grpc::ClientContext& context, Options options, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request) override; + + StatusOr ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) override; + + StatusOr GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) override; + + StatusOr ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) override; + + StatusOr GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) override; + + future> AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) override; + + future AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::shared_ptr child_; + std::shared_ptr + propagator_; +}; + +/** + * Applies the tracing decorator to the given stub. + * + * The stub is only decorated if the library has been compiled with + * OpenTelemetry. + */ +std::shared_ptr MakeHypercomputeClusterTracingStub( + std::shared_ptr stub); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_INTERNAL_HYPERCOMPUTE_CLUSTER_TRACING_STUB_H diff --git a/google/cloud/hypercomputecluster/v1/mocks/mock_hypercompute_cluster_connection.h b/google/cloud/hypercomputecluster/v1/mocks/mock_hypercompute_cluster_connection.h new file mode 100644 index 0000000000000..05274f6b34775 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/mocks/mock_hypercompute_cluster_connection.h @@ -0,0 +1,217 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_MOCKS_MOCK_HYPERCOMPUTE_CLUSTER_CONNECTION_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_MOCKS_MOCK_HYPERCOMPUTE_CLUSTER_CONNECTION_H + +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection.h" +#include + +namespace google { +namespace cloud { +namespace hypercomputecluster_v1_mocks { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/** + * A class to mock `HypercomputeClusterConnection`. + * + * Application developers may want to test their code with simulated responses, + * including errors, from an object of type `HypercomputeClusterClient`. To do + * so, construct an object of type `HypercomputeClusterClient` 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 MockHypercomputeClusterConnection + : public hypercomputecluster_v1::HypercomputeClusterConnection { + public: + MOCK_METHOD(Options, options, (), (override)); + + MOCK_METHOD( + (StreamRange), + ListClusters, + (google::cloud::hypercomputecluster::v1::ListClustersRequest request), + (override)); + + MOCK_METHOD(StatusOr, + GetCluster, + (google::cloud::hypercomputecluster::v1::GetClusterRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// CreateCluster(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + CreateCluster, + (google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, CreateCluster(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, CreateCluster, + (NoAwaitTag, + google::cloud::hypercomputecluster::v1::CreateClusterRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, CreateCluster(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + CreateCluster, (google::longrunning::Operation const& operation), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// UpdateCluster(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + UpdateCluster, + (google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, UpdateCluster(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, UpdateCluster, + (NoAwaitTag, + google::cloud::hypercomputecluster::v1::UpdateClusterRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, UpdateCluster(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + UpdateCluster, (google::longrunning::Operation const& operation), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteCluster(Matcher(_))) + /// @endcode + MOCK_METHOD( + future< + StatusOr>, + DeleteCluster, + (google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, DeleteCluster(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, DeleteCluster, + (NoAwaitTag, + google::cloud::hypercomputecluster::v1::DeleteClusterRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, DeleteCluster(Matcher(_))) + /// @endcode + MOCK_METHOD( + future< + StatusOr>, + DeleteCluster, (google::longrunning::Operation const& operation), + (override)); + + MOCK_METHOD((StreamRange), ListLocations, + (google::cloud::location::ListLocationsRequest request), + (override)); + + MOCK_METHOD(StatusOr, GetLocation, + (google::cloud::location::GetLocationRequest const& request), + (override)); + + MOCK_METHOD((StreamRange), ListOperations, + (google::longrunning::ListOperationsRequest request), (override)); + + MOCK_METHOD(StatusOr, GetOperation, + (google::longrunning::GetOperationRequest const& request), + (override)); + + MOCK_METHOD(Status, DeleteOperation, + (google::longrunning::DeleteOperationRequest const& request), + (override)); + + MOCK_METHOD(Status, CancelOperation, + (google::longrunning::CancelOperationRequest const& request), + (override)); +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace hypercomputecluster_v1_mocks +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_HYPERCOMPUTECLUSTER_V1_MOCKS_MOCK_HYPERCOMPUTE_CLUSTER_CONNECTION_H diff --git a/google/cloud/hypercomputecluster/v1/samples/hypercompute_cluster_client_samples.cc b/google/cloud/hypercomputecluster/v1/samples/hypercompute_cluster_client_samples.cc new file mode 100644 index 0000000000000..8cb77d2aea551 --- /dev/null +++ b/google/cloud/hypercomputecluster/v1/samples/hypercompute_cluster_client_samples.cc @@ -0,0 +1,242 @@ +// 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/hypercomputecluster/v1/hypercompute_cluster.proto + +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_client.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_connection_idempotency_policy.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_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: hypercomputecluster_v1::HypercomputeClusterClient +// 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::hypercomputecluster_v1::HypercomputeClusterClient( + google::cloud::hypercomputecluster_v1:: + MakeHypercomputeClusterConnection(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::hypercomputecluster_v1::HypercomputeClusterClient( + google::cloud::hypercomputecluster_v1:: + MakeHypercomputeClusterConnection(*ud_options)); + //! [set-client-universe-domain] +} + +//! [custom-idempotency-policy] +class CustomIdempotencyPolicy + : public google::cloud::hypercomputecluster_v1:: + HypercomputeClusterConnectionIdempotencyPolicy { + public: + ~CustomIdempotencyPolicy() override = default; + std::unique_ptr + clone() const override { + return std::make_unique(*this); + } + // Override inherited functions to define as needed. +}; +//! [custom-idempotency-policy] + +void SetRetryPolicy(std::vector const& argv) { + if (!argv.empty()) { + throw google::cloud::testing_util::Usage{"set-client-retry-policy"}; + } + //! [set-retry-policy] + auto options = + google::cloud::Options{} + .set( + CustomIdempotencyPolicy().clone()) + .set( + google::cloud::hypercomputecluster_v1:: + HypercomputeClusterLimitedErrorCountRetryPolicy(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::hypercomputecluster_v1::MakeHypercomputeClusterConnection( + options); + + // c1 and c2 share the same retry policies + auto c1 = google::cloud::hypercomputecluster_v1::HypercomputeClusterClient( + connection); + auto c2 = google::cloud::hypercomputecluster_v1::HypercomputeClusterClient( + 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::hypercomputecluster_v1::HypercomputeClusterClient( + connection, google::cloud::Options{} + .set( + google::cloud::hypercomputecluster_v1:: + HypercomputeClusterLimitedTimeRetryPolicy( + std::chrono::minutes(5)) + .clone())); + + // You can also override the policies in a single call: + // c3.SomeRpc(..., google::cloud::Options{} + // .set( + // google::cloud::hypercomputecluster_v1::HypercomputeClusterLimitedErrorCountRetryPolicy(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::hypercomputecluster_v1:: + HypercomputeClusterRetryPolicyOption::Type, + google::cloud::hypercomputecluster_v1:: + HypercomputeClusterBackoffPolicyOption::Type>( + google::cloud::hypercomputecluster_v1:: + HypercomputeClusterLimitedTimeRetryPolicy( + /*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::hypercomputecluster_v1::MakeHypercomputeClusterConnection( + options); + + // c1 and c2 share the same polling policies. + auto c1 = google::cloud::hypercomputecluster_v1::HypercomputeClusterClient( + connection); + auto c2 = google::cloud::hypercomputecluster_v1::HypercomputeClusterClient( + 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::hypercomputecluster_v1::HypercomputeClusterClient( + google::cloud::hypercomputecluster_v1:: + MakeHypercomputeClusterConnection(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 aa47cdb580930006cedd568db0b1d71e7da6d3f3 Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Fri, 27 Feb 2026 16:04:17 -0500 Subject: [PATCH 3/5] Add API baseline --- ...pp_hypercomputecluster.expected.abi.dump.gz | Bin 0 -> 668869 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ci/abi-dumps/google_cloud_cpp_hypercomputecluster.expected.abi.dump.gz diff --git a/ci/abi-dumps/google_cloud_cpp_hypercomputecluster.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_hypercomputecluster.expected.abi.dump.gz new file mode 100644 index 0000000000000000000000000000000000000000..b2ba2a9091bf2f5fc3e2c3a7047a91847900646e GIT binary patch literal 668869 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%0Dt9O^_};MP)|NvW!1LSf4uf4nNUf9eGa(wR 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⪚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

U>F3$EWP8|h`9F^Y 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

l0VJtum?BS`<}osu!3M# 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

G!}wttxkc2270>}) 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

bI&g~7 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

^P`H=2;^c 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

iRWCz`*ukL|c9l=Bzq~$}kUi{yRavgdpVu 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 Date: Fri, 27 Feb 2026 16:04:59 -0500 Subject: [PATCH 4/5] disambiguate hypercomputecluster from compute libraries --- ci/cloudbuild/builds/check-api.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci/cloudbuild/builds/check-api.sh b/ci/cloudbuild/builds/check-api.sh index 937944db782ec..984e2da49d4db 100755 --- a/ci/cloudbuild/builds/check-api.sh +++ b/ci/cloudbuild/builds/check-api.sh @@ -74,6 +74,8 @@ function check_abi() { elif [[ "${shortlib}" == "storage_grpc" ]]; then # `storage_grpc` uses the same header location as `storage` public_headers="${prefix}/include/google/cloud/storage" + elif [[ "${shortlib}" =~ "hypercomputecluster" ]]; then + : elif [[ "${shortlib}" =~ "compute" ]]; then # Compute libs are also special as their headers are in subdirectories. local computelib="${library#google_cloud_cpp_compute_}" From 35d269a8411fca64e7bb4356e8a3e94f0db5cb2a Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Fri, 27 Feb 2026 16:30:38 -0500 Subject: [PATCH 5/5] Manually update READMEs, quickstart, and top-level stuff --- CHANGELOG.md | 1 + cmake/GoogleCloudCppFeatures.cmake | 1 + generator/generator_config.textproto | 2 +- google/cloud/hypercomputecluster/CMakeLists.txt | 9 +++++---- google/cloud/hypercomputecluster/README.md | 8 ++++---- .../cloud/hypercomputecluster/quickstart/quickstart.cc | 8 ++++---- libraries.bzl | 1 + 7 files changed, 17 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32f4537df8211..96e504894a591 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ 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. - [Gemini Enterprise for Customer Experience API](google/cloud/ces/README.md) +- [Cluster Director API](google/cloud/hypercomputecluster/README.md) - [Vector Search API](google/cloud/vectorsearch/README.md) - [Vision AI API](/google/cloud/visionai/README.md) - [Workload Manager](/google/cloud/workloadmanager/README.md) diff --git a/cmake/GoogleCloudCppFeatures.cmake b/cmake/GoogleCloudCppFeatures.cmake index d014acc8a52c4..b8beb5e44b9f5 100644 --- a/cmake/GoogleCloudCppFeatures.cmake +++ b/cmake/GoogleCloudCppFeatures.cmake @@ -114,6 +114,7 @@ set(GOOGLE_CLOUD_CPP_GA_LIBRARIES "gkehub" "gkemulticloud" "gkerecommender" + "hypercomputecluster" "iam" "iap" "ids" diff --git a/generator/generator_config.textproto b/generator/generator_config.textproto index ffd9cc5f5e369..5ab6619374345 100644 --- a/generator/generator_config.textproto +++ b/generator/generator_config.textproto @@ -2664,7 +2664,7 @@ service { retryable_status_codes: ["kUnavailable"] } -# Hyper Compute Cluster +# Hypercompute Cluster service { service_proto_path: "google/cloud/hypercomputecluster/v1/hypercompute_cluster.proto" product_path: "google/cloud/hypercomputecluster/v1" diff --git a/google/cloud/hypercomputecluster/CMakeLists.txt b/google/cloud/hypercomputecluster/CMakeLists.txt index fc611f2444778..2998318431044 100644 --- a/google/cloud/hypercomputecluster/CMakeLists.txt +++ b/google/cloud/hypercomputecluster/CMakeLists.txt @@ -29,8 +29,9 @@ 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 - ) - set_tests_properties(hypercomputecluster_quickstart - PROPERTIES LABELS "integration-test;quickstart") + GOOGLE_CLOUD_CPP_TEST_REGION) + set_tests_properties( + hypercomputecluster_quickstart + PROPERTIES LABELS "integration-test;quickstart" PASS_REGULAR_EXPRESSION + "Permanent error.*gcloud-cpp.retry.function=ListClusters") endif () diff --git a/google/cloud/hypercomputecluster/README.md b/google/cloud/hypercomputecluster/README.md index 54a0704ac8bd7..30e93082fdec8 100644 --- a/google/cloud/hypercomputecluster/README.md +++ b/google/cloud/hypercomputecluster/README.md @@ -19,7 +19,7 @@ this library. ```cc -#include "google/cloud/hypercomputecluster/v1/ EDIT HERE _client.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_client.h" #include "google/cloud/location.h" #include @@ -32,10 +32,10 @@ int main(int argc, char* argv[]) try { auto const location = google::cloud::Location(argv[1], argv[2]); namespace hypercomputecluster = ::google::cloud::hypercomputecluster_v1; - auto client = hypercomputecluster::ServiceClient( - hypercomputecluster::MakeServiceConnection()); // EDIT HERE + auto client = hypercomputecluster::HypercomputeClusterClient( + hypercomputecluster::MakeHypercomputeClusterConnection()); - for (auto r : client.List /*EDIT HERE*/ (location.FullName())) { + for (auto r : client.ListClusters(location.FullName())) { if (!r) throw std::move(r).status(); std::cout << r->DebugString() << "\n"; } diff --git a/google/cloud/hypercomputecluster/quickstart/quickstart.cc b/google/cloud/hypercomputecluster/quickstart/quickstart.cc index b4fe645fdcb55..a3369bbbfb677 100644 --- a/google/cloud/hypercomputecluster/quickstart/quickstart.cc +++ b/google/cloud/hypercomputecluster/quickstart/quickstart.cc @@ -13,7 +13,7 @@ // limitations under the License. //! [all] -#include "google/cloud/hypercomputecluster/v1/ EDIT HERE _client.h" +#include "google/cloud/hypercomputecluster/v1/hypercompute_cluster_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 hypercomputecluster = ::google::cloud::hypercomputecluster_v1; - auto client = hypercomputecluster::ServiceClient( - hypercomputecluster::MakeServiceConnection()); // EDIT HERE + auto client = hypercomputecluster::HypercomputeClusterClient( + hypercomputecluster::MakeHypercomputeClusterConnection()); - for (auto r : client.List /*EDIT HERE*/ (location.FullName())) { + for (auto r : client.ListClusters(location.FullName())) { if (!r) throw std::move(r).status(); std::cout << r->DebugString() << "\n"; } diff --git a/libraries.bzl b/libraries.bzl index 9b2056800800f..1a895a0f78464 100644 --- a/libraries.bzl +++ b/libraries.bzl @@ -174,6 +174,7 @@ GOOGLE_CLOUD_CPP_GA_LIBRARIES = [ "gkehub", "gkemulticloud", "gkerecommender", + "hypercomputecluster", "iam", "iap", "ids",