From 7e0730e868de2eeaf4f435d10d9f3c778636f434 Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Fri, 26 Jun 2026 14:11:59 -0400 Subject: [PATCH 1/5] feat(agentregistry): generate library --- cmake/GoogleCloudCppFeatures.cmake | 1 + external/googleapis/update_libraries.sh | 1 + generator/generator_config.textproto | 8 ++++++++ libraries.bzl | 1 + 4 files changed, 11 insertions(+) diff --git a/cmake/GoogleCloudCppFeatures.cmake b/cmake/GoogleCloudCppFeatures.cmake index 8b18b09c214d3..93ca9b28fb58b 100644 --- a/cmake/GoogleCloudCppFeatures.cmake +++ b/cmake/GoogleCloudCppFeatures.cmake @@ -44,6 +44,7 @@ set(GOOGLE_CLOUD_CPP_GA_LIBRARIES "accessapproval" "accesscontextmanager" "advisorynotifications" + "agentregistry" # Generated 2026-06-26 "aiplatform" "alloydb" "apigateway" diff --git a/external/googleapis/update_libraries.sh b/external/googleapis/update_libraries.sh index 9a0a0f594b118..435aba11a06e3 100755 --- a/external/googleapis/update_libraries.sh +++ b/external/googleapis/update_libraries.sh @@ -17,6 +17,7 @@ set -euo pipefail declare -A -r LIBRARIES=( ["accessapproval"]="@googleapis//google/cloud/accessapproval/v1:accessapproval_cc_grpc" + ["agentregistry"]="@googleapis//google/cloud/agentregistry/v1:agentregistry_cc_grpc" ["accesscontextmanager"]="$( printf ",%s" \ "@googleapis//google/identity/accesscontextmanager/type:type_cc_grpc" \ diff --git a/generator/generator_config.textproto b/generator/generator_config.textproto index 2a925f097e6a3..3bac272e49689 100644 --- a/generator/generator_config.textproto +++ b/generator/generator_config.textproto @@ -22,6 +22,14 @@ service { retryable_status_codes: ["kUnavailable"] } +# Agent Registry +service { + service_proto_path: "google/cloud/agentregistry/v1/agentregistry_service.proto" + product_path: "google/cloud/agentregistry/v1" + initial_copyright_year: "2026" + retryable_status_codes: ["kUnavailable"] +} + # Access Context Manager service { service_proto_path: "google/identity/accesscontextmanager/v1/access_context_manager.proto" diff --git a/libraries.bzl b/libraries.bzl index 6cf644c241b89..fc399dac6e2dd 100644 --- a/libraries.bzl +++ b/libraries.bzl @@ -28,6 +28,7 @@ GOOGLE_CLOUD_CPP_GA_LIBRARIES = [ "accessapproval", "accesscontextmanager", "advisorynotifications", + "agentregistry", "aiplatform", "alloydb", "apigateway", From 7a029cdd6b6e3ac08a56607f4f49ea3a6e70a988 Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Fri, 26 Jun 2026 15:22:01 -0400 Subject: [PATCH 2/5] Run generators and format their outputs --- README.md | 3 + ci/etc/expected_install_directories | 6 + .../googleapis/protodeps/agentregistry.deps | 9 + .../googleapis/protolists/agentregistry.list | 7 + google/cloud/agentregistry/BUILD.bazel | 31 + google/cloud/agentregistry/CMakeLists.txt | 36 + google/cloud/agentregistry/README.md | 63 + .../doc/environment-variables.dox | 49 + google/cloud/agentregistry/doc/main.dox | 50 + google/cloud/agentregistry/doc/options.dox | 10 + .../doc/override-authentication.dox | 35 + .../agentregistry/doc/override-endpoint.dox | 25 + .../doc/override-retry-policies.dox | 108 + .../doc/override-universe-domain.dox | 24 + .../cloud/agentregistry/quickstart/.bazelrc | 30 + .../agentregistry/quickstart/BUILD.bazel | 25 + .../agentregistry/quickstart/CMakeLists.txt | 32 + .../cloud/agentregistry/quickstart/Makefile | 35 + .../cloud/agentregistry/quickstart/README.md | 135 ++ .../agentregistry/quickstart/WORKSPACE.bazel | 53 + .../agentregistry/quickstart/quickstart.cc | 42 + .../agentregistry/v1/.repo-metadata.json | 14 + .../agentregistry/v1/agent_registry_client.cc | 577 +++++ .../agentregistry/v1/agent_registry_client.h | 2038 +++++++++++++++++ .../v1/agent_registry_connection.cc | 318 +++ .../v1/agent_registry_connection.h | 345 +++ ..._registry_connection_idempotency_policy.cc | 171 ++ ...t_registry_connection_idempotency_policy.h | 126 + .../agentregistry/v1/agent_registry_options.h | 86 + .../internal/agent_registry_auth_decorator.cc | 413 ++++ .../internal/agent_registry_auth_decorator.h | 232 ++ .../agent_registry_connection_impl.cc | 1108 +++++++++ .../internal/agent_registry_connection_impl.h | 202 ++ .../agent_registry_logging_decorator.cc | 505 ++++ .../agent_registry_logging_decorator.h | 232 ++ .../agent_registry_metadata_decorator.cc | 384 ++++ .../agent_registry_metadata_decorator.h | 237 ++ .../agent_registry_option_defaults.cc | 81 + .../internal/agent_registry_option_defaults.h | 37 + .../v1/internal/agent_registry_retry_traits.h | 43 + .../v1/internal/agent_registry_sources.cc | 32 + .../v1/internal/agent_registry_stub.cc | 494 ++++ .../v1/internal/agent_registry_stub.h | 424 ++++ .../internal/agent_registry_stub_factory.cc | 82 + .../v1/internal/agent_registry_stub_factory.h | 47 + .../agent_registry_tracing_connection.cc | 409 ++++ .../agent_registry_tracing_connection.h | 196 ++ .../internal/agent_registry_tracing_stub.cc | 457 ++++ .../v1/internal/agent_registry_tracing_stub.h | 239 ++ .../v1/mocks/mock_agent_registry_connection.h | 382 +++ .../samples/agent_registry_client_samples.cc | 229 ++ 51 files changed, 10948 insertions(+) create mode 100644 external/googleapis/protodeps/agentregistry.deps create mode 100644 external/googleapis/protolists/agentregistry.list create mode 100644 google/cloud/agentregistry/BUILD.bazel create mode 100644 google/cloud/agentregistry/CMakeLists.txt create mode 100644 google/cloud/agentregistry/README.md create mode 100644 google/cloud/agentregistry/doc/environment-variables.dox create mode 100644 google/cloud/agentregistry/doc/main.dox create mode 100644 google/cloud/agentregistry/doc/options.dox create mode 100644 google/cloud/agentregistry/doc/override-authentication.dox create mode 100644 google/cloud/agentregistry/doc/override-endpoint.dox create mode 100644 google/cloud/agentregistry/doc/override-retry-policies.dox create mode 100644 google/cloud/agentregistry/doc/override-universe-domain.dox create mode 100644 google/cloud/agentregistry/quickstart/.bazelrc create mode 100644 google/cloud/agentregistry/quickstart/BUILD.bazel create mode 100644 google/cloud/agentregistry/quickstart/CMakeLists.txt create mode 100644 google/cloud/agentregistry/quickstart/Makefile create mode 100644 google/cloud/agentregistry/quickstart/README.md create mode 100644 google/cloud/agentregistry/quickstart/WORKSPACE.bazel create mode 100644 google/cloud/agentregistry/quickstart/quickstart.cc create mode 100644 google/cloud/agentregistry/v1/.repo-metadata.json create mode 100644 google/cloud/agentregistry/v1/agent_registry_client.cc create mode 100644 google/cloud/agentregistry/v1/agent_registry_client.h create mode 100644 google/cloud/agentregistry/v1/agent_registry_connection.cc create mode 100644 google/cloud/agentregistry/v1/agent_registry_connection.h create mode 100644 google/cloud/agentregistry/v1/agent_registry_connection_idempotency_policy.cc create mode 100644 google/cloud/agentregistry/v1/agent_registry_connection_idempotency_policy.h create mode 100644 google/cloud/agentregistry/v1/agent_registry_options.h create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_auth_decorator.cc create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_auth_decorator.h create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_connection_impl.cc create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_connection_impl.h create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_logging_decorator.cc create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_logging_decorator.h create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_metadata_decorator.cc create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_metadata_decorator.h create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_option_defaults.cc create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_option_defaults.h create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_retry_traits.h create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_sources.cc create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_stub.cc create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_stub.h create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_stub_factory.cc create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_stub_factory.h create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_tracing_connection.cc create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_tracing_connection.h create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_tracing_stub.cc create mode 100644 google/cloud/agentregistry/v1/internal/agent_registry_tracing_stub.h create mode 100644 google/cloud/agentregistry/v1/mocks/mock_agent_registry_connection.h create mode 100644 google/cloud/agentregistry/v1/samples/agent_registry_client_samples.cc diff --git a/README.md b/README.md index 321b05795e3b5..62963363b11f3 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,9 @@ See each library's `README.md` file for more information about: - [Advisory Notifications API](google/cloud/advisorynotifications/README.md) [[quickstart]](google/cloud/advisorynotifications/quickstart/README.md) [[reference]](https://cloud.google.com/cpp/docs/reference/advisorynotifications/latest) +- [Agent Registry API](google/cloud/agentregistry/README.md) + [[quickstart]](google/cloud/agentregistry/quickstart/README.md) + [[reference]](https://cloud.google.com/cpp/docs/reference/agentregistry/latest) - [Vertex AI API](google/cloud/aiplatform/README.md) [[quickstart]](google/cloud/aiplatform/quickstart/README.md) [[reference]](https://cloud.google.com/cpp/docs/reference/aiplatform/latest) diff --git a/ci/etc/expected_install_directories b/ci/etc/expected_install_directories index 8fa8ed6564b4a..a381f0ce62ebd 100644 --- a/ci/etc/expected_install_directories +++ b/ci/etc/expected_install_directories @@ -32,6 +32,10 @@ ./include/google/cloud/advisorynotifications/v1 ./include/google/cloud/advisorynotifications/v1/internal ./include/google/cloud/advisorynotifications/v1/mocks +./include/google/cloud/agentregistry +./include/google/cloud/agentregistry/v1 +./include/google/cloud/agentregistry/v1/internal +./include/google/cloud/agentregistry/v1/mocks ./include/google/cloud/aiplatform ./include/google/cloud/aiplatform/v1 ./include/google/cloud/aiplatform/v1/internal @@ -1304,6 +1308,8 @@ ./lib64/cmake/google_cloud_cpp_accesscontextmanager_mocks ./lib64/cmake/google_cloud_cpp_advisorynotifications ./lib64/cmake/google_cloud_cpp_advisorynotifications_mocks +./lib64/cmake/google_cloud_cpp_agentregistry +./lib64/cmake/google_cloud_cpp_agentregistry_mocks ./lib64/cmake/google_cloud_cpp_aiplatform ./lib64/cmake/google_cloud_cpp_aiplatform_mocks ./lib64/cmake/google_cloud_cpp_alloydb diff --git a/external/googleapis/protodeps/agentregistry.deps b/external/googleapis/protodeps/agentregistry.deps new file mode 100644 index 0000000000000..ce4eebcf1a3ab --- /dev/null +++ b/external/googleapis/protodeps/agentregistry.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/agentregistry.list b/external/googleapis/protolists/agentregistry.list new file mode 100644 index 0000000000000..155b5b1531fef --- /dev/null +++ b/external/googleapis/protolists/agentregistry.list @@ -0,0 +1,7 @@ +@googleapis//google/cloud/agentregistry/v1:agent.proto +@googleapis//google/cloud/agentregistry/v1:agentregistry_service.proto +@googleapis//google/cloud/agentregistry/v1:binding.proto +@googleapis//google/cloud/agentregistry/v1:endpoint.proto +@googleapis//google/cloud/agentregistry/v1:mcp_server.proto +@googleapis//google/cloud/agentregistry/v1:properties.proto +@googleapis//google/cloud/agentregistry/v1:service.proto diff --git a/google/cloud/agentregistry/BUILD.bazel b/google/cloud/agentregistry/BUILD.bazel new file mode 100644 index 0000000000000..55b4438406c64 --- /dev/null +++ b/google/cloud/agentregistry/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/agentregistry/v1:agentregistry_cc_grpc", +] + +cc_gapic_library( + name = "agentregistry", + googleapis_deps = googleapis_deps, + service_dirs = service_dirs, +) diff --git a/google/cloud/agentregistry/CMakeLists.txt b/google/cloud/agentregistry/CMakeLists.txt new file mode 100644 index 0000000000000..129d17a94487c --- /dev/null +++ b/google/cloud/agentregistry/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(agentregistry "Agent Registry API" + SERVICE_DIRS "v1/") + +if (BUILD_TESTING AND GOOGLE_CLOUD_CPP_ENABLE_CXX_EXCEPTIONS) + add_executable(agentregistry_quickstart "quickstart/quickstart.cc") + target_link_libraries(agentregistry_quickstart + PRIVATE google-cloud-cpp::agentregistry) + google_cloud_cpp_add_common_options(agentregistry_quickstart) + add_test( + NAME agentregistry_quickstart + COMMAND + cmake -P "${PROJECT_SOURCE_DIR}/cmake/quickstart-runner.cmake" + $ GOOGLE_CLOUD_PROJECT + GOOGLE_CLOUD_CPP_TEST_REGION # EDIT HERE + ) + set_tests_properties(agentregistry_quickstart + PROPERTIES LABELS "integration-test;quickstart") +endif () diff --git a/google/cloud/agentregistry/README.md b/google/cloud/agentregistry/README.md new file mode 100644 index 0000000000000..3516d48de1f53 --- /dev/null +++ b/google/cloud/agentregistry/README.md @@ -0,0 +1,63 @@ +# Agent Registry API C++ Client Library + +This directory contains an idiomatic C++ client library for the +[Agent Registry API][cloud-service-docs]. + +Agent Registry is a centralized, unified catalog that lets you store, discover, +and govern Model Context Protocol (MCP) servers, tools, and AI agents within +Google Cloud. + +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/agentregistry/v1/agent_registry_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 agentregistry = ::google::cloud::agentregistry_v1; + auto client = agentregistry::AgentRegistryClient( + agentregistry::MakeAgentRegistryConnection()); + + for (auto r : client.ListAgents(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 [Agent Registry 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://docs.cloud.google.com/agent-registry/overview +[doxygen-link]: https://cloud.google.com/cpp/docs/reference/agentregistry/latest/ +[source-link]: https://github.com/googleapis/google-cloud-cpp/tree/main/google/cloud/agentregistry diff --git a/google/cloud/agentregistry/doc/environment-variables.dox b/google/cloud/agentregistry/doc/environment-variables.dox new file mode 100644 index 0000000000000..04a8065df9737 --- /dev/null +++ b/google/cloud/agentregistry/doc/environment-variables.dox @@ -0,0 +1,49 @@ +/*! +@page agentregistry-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 agentregistry-env-endpoint Endpoint Overrides + + + +- `GOOGLE_CLOUD_CPP_AGENT_REGISTRY_ENDPOINT=...` overrides the + `EndpointOption` (which defaults to "agentregistry.googleapis.com") + used by `MakeAgentRegistryConnection()`. + + + +@see google::cloud::EndpointOption + +@section agentregistry-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 agentregistry-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/agentregistry/doc/main.dox b/google/cloud/agentregistry/doc/main.dox new file mode 100644 index 0000000000000..950e693d9f263 --- /dev/null +++ b/google/cloud/agentregistry/doc/main.dox @@ -0,0 +1,50 @@ +/*! + +@mainpage Agent Registry API C++ Client Library + +An idiomatic C++ client library for the [Agent Registry API][cloud-service-docs]. + +Agent Registry is a centralized, unified catalog that lets you store, +discover, and govern Model Context Protocol (MCP) servers, tools, and AI +agents within Google Cloud. + +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/agentregistry/quickstart/` directory, +which should give you a taste of the Agent Registry API C++ client library API. + +@snippet quickstart.cc all + +## Main classes + + +The main class in this library is +[`agentregistry_v1::AgentRegistryClient`](@ref google::cloud::agentregistry_v1::AgentRegistryClient). All RPCs are exposed +as member functions of this class. Other classes provide helpers, configuration +parameters, and infrastructure to mock +[`agentregistry_v1::AgentRegistryClient`](@ref google::cloud::agentregistry_v1::AgentRegistryClient) when testing your +application. + + +## More Information + +- @ref common-error-handling - describes how the library reports errors. +- @ref agentregistry-override-endpoint - describes how to override the default + endpoint. +- @ref agentregistry-override-authentication - describes how to change the + authentication credentials used by the library. +- @ref agentregistry-override-retry - describes how to change the default retry + policies. +- @ref agentregistry-env - describes environment variables that can configure the + behavior of the library. +- @ref agentregistry-override-universe-domain - describes how to override the default universe domain. + +[cloud-service-docs]: https://docs.cloud.google.com/agent-registry/overview + +*/ diff --git a/google/cloud/agentregistry/doc/options.dox b/google/cloud/agentregistry/doc/options.dox new file mode 100644 index 0000000000000..5213de3d58197 --- /dev/null +++ b/google/cloud/agentregistry/doc/options.dox @@ -0,0 +1,10 @@ +/*! +@defgroup google-cloud-agentregistry-options Agent Registry 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/agentregistry/doc/override-authentication.dox b/google/cloud/agentregistry/doc/override-authentication.dox new file mode 100644 index 0000000000000..31d87f8569155 --- /dev/null +++ b/google/cloud/agentregistry/doc/override-authentication.dox @@ -0,0 +1,35 @@ +/*! +@page agentregistry-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 agent_registry_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 agentregistry_v1::AgentRegistryClient-service-account-snippet Override agentregistry_v1::AgentRegistryClient Authentication Defaults + +@snippet google/cloud/agentregistry/v1/samples/agent_registry_client_samples.cc with-service-account + +*/ +// diff --git a/google/cloud/agentregistry/doc/override-endpoint.dox b/google/cloud/agentregistry/doc/override-endpoint.dox new file mode 100644 index 0000000000000..5214f9868d2a4 --- /dev/null +++ b/google/cloud/agentregistry/doc/override-endpoint.dox @@ -0,0 +1,25 @@ +/*! +@page agentregistry-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 `agentregistry_v1::AgentRegistryClient`: + +@snippet agent_registry_client_samples.cc set-client-endpoint + + + +*/ + +// + +/*! @page agentregistry_v1::AgentRegistryClient-endpoint-snippet Override agentregistry_v1::AgentRegistryClient Endpoint Configuration + +@snippet google/cloud/agentregistry/v1/samples/agent_registry_client_samples.cc set-client-endpoint + +*/ +// diff --git a/google/cloud/agentregistry/doc/override-retry-policies.dox b/google/cloud/agentregistry/doc/override-retry-policies.dox new file mode 100644 index 0000000000000..a2eb92885829e --- /dev/null +++ b/google/cloud/agentregistry/doc/override-retry-policies.dox @@ -0,0 +1,108 @@ +/*! +@page agentregistry-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 agentregistry-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 agentregistry-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 agentregistry-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 agentregistry-override-retry-example Example + + +For example, this will override the retry policies for `agentregistry_v1::AgentRegistryClient`: + +@snippet agent_registry_client_samples.cc set-retry-policy + +This assumes you have created a custom idempotency policy. Such as: + +@snippet agent_registry_client_samples.cc custom-idempotency-policy + +This will override the polling policies for `agentregistry_v1::AgentRegistryClient` + +@snippet agent_registry_client_samples.cc set-polling-policy + + + + +@section agentregistry-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 agentregistry_v1::AgentRegistryClient-retry-snippet Override agentregistry_v1::AgentRegistryClient Retry Policies + +This shows how to override the retry policies for agentregistry_v1::AgentRegistryClient: + +@snippet google/cloud/agentregistry/v1/samples/agent_registry_client_samples.cc set-retry-policy + +Assuming you have created a custom idempotency policy. Such as: + +@snippet google/cloud/agentregistry/v1/samples/agent_registry_client_samples.cc custom-idempotency-policy + +*/ +// diff --git a/google/cloud/agentregistry/doc/override-universe-domain.dox b/google/cloud/agentregistry/doc/override-universe-domain.dox new file mode 100644 index 0000000000000..6a48408ca7709 --- /dev/null +++ b/google/cloud/agentregistry/doc/override-universe-domain.dox @@ -0,0 +1,24 @@ +/*! +@page agentregistry-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 `agentregistry_v1::AgentRegistryClient`: + +@snippet agent_registry_client_samples.cc set-client-universe-domain + + + +*/ + +// + +/*! @page agentregistry_v1::AgentRegistryClient-universe-domain-snippet Override agentregistry_v1::AgentRegistryClient Universe Domain + +@snippet google/cloud/agentregistry/v1/samples/agent_registry_client_samples.cc set-client-universe-domain + +*/ +// diff --git a/google/cloud/agentregistry/quickstart/.bazelrc b/google/cloud/agentregistry/quickstart/.bazelrc new file mode 100644 index 0000000000000..c884db46c2b4d --- /dev/null +++ b/google/cloud/agentregistry/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/agentregistry/quickstart/BUILD.bazel b/google/cloud/agentregistry/quickstart/BUILD.bazel new file mode 100644 index 0000000000000..907bf57488815 --- /dev/null +++ b/google/cloud/agentregistry/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//:agentregistry", + ], +) diff --git a/google/cloud/agentregistry/quickstart/CMakeLists.txt b/google/cloud/agentregistry/quickstart/CMakeLists.txt new file mode 100644 index 0000000000000..b456f7edb49a7 --- /dev/null +++ b/google/cloud/agentregistry/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 Agent Registry API C++ client library from a +# larger CMake project. + +cmake_minimum_required(VERSION 3.22...3.31) +project(google-cloud-cpp-agentregistry-quickstart CXX) + +find_package(google_cloud_cpp_agentregistry 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::agentregistry) diff --git a/google/cloud/agentregistry/quickstart/Makefile b/google/cloud/agentregistry/quickstart/Makefile new file mode 100644 index 0000000000000..9a84892762d12 --- /dev/null +++ b/google/cloud/agentregistry/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 Agent Registry 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 Agent Registry API C++ +# client library. +CLIENT_MODULE := google_cloud_cpp_agentregistry +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/agentregistry/quickstart/README.md b/google/cloud/agentregistry/quickstart/README.md new file mode 100644 index 0000000000000..2f6915bbb8f7d --- /dev/null +++ b/google/cloud/agentregistry/quickstart/README.md @@ -0,0 +1,135 @@ +# HOWTO: using the Agent Registry API C++ client in your project + +This directory contains small examples showing how to use the Agent Registry 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, Agent Registry 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/agentregistry/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,agentregistry] + ``` + + 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/agentregistry/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/agentregistry/quickstart/WORKSPACE.bazel b/google/cloud/agentregistry/quickstart/WORKSPACE.bazel new file mode 100644 index 0000000000000..b1ebc0d9210ae --- /dev/null +++ b/google/cloud/agentregistry/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 Agent Registry 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 = "57d754883a4b4bead60e40f1db5e8a44ba2aa17b605eef56d85234839d5819a3", + strip_prefix = "google-cloud-cpp-3.6.0", + url = "https://github.com/googleapis/google-cloud-cpp/archive/v3.6.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/agentregistry/quickstart/quickstart.cc b/google/cloud/agentregistry/quickstart/quickstart.cc new file mode 100644 index 0000000000000..e3a6fd0941bfe --- /dev/null +++ b/google/cloud/agentregistry/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/agentregistry/v1/agent_registry_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 agentregistry = ::google::cloud::agentregistry_v1; + auto client = agentregistry::AgentRegistryClient( + agentregistry::MakeAgentRegistryConnection()); + + for (auto r : client.ListAgents(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/agentregistry/v1/.repo-metadata.json b/google/cloud/agentregistry/v1/.repo-metadata.json new file mode 100644 index 0000000000000..e8e681395a461 --- /dev/null +++ b/google/cloud/agentregistry/v1/.repo-metadata.json @@ -0,0 +1,14 @@ +{ + "api_id": "agentregistry.googleapis.com", + "api_shortname": "agentregistry", + "client_documentation": "https://cloud.google.com/cpp/docs/reference/agentregistry/latest", + "distribution_name": "google-cloud-cpp", + "issue_tracker": "https://issuetracker.google.com/issues?q=componentid:1992739%20status=open", + "language": "cpp", + "library_type": "GAPIC_AUTO", + "name_pretty": "Agent Registry API", + "product_documentation": "https://docs.cloud.google.com/agent-registry/overview", + "release_level": "stable", + "repo": "googleapis/google-cloud-cpp", + "requires_billing": true +} diff --git a/google/cloud/agentregistry/v1/agent_registry_client.cc b/google/cloud/agentregistry/v1/agent_registry_client.cc new file mode 100644 index 0000000000000..11b0621f04640 --- /dev/null +++ b/google/cloud/agentregistry/v1/agent_registry_client.cc @@ -0,0 +1,577 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#include "google/cloud/agentregistry/v1/agent_registry_client.h" +#include +#include + +namespace google { +namespace cloud { +namespace agentregistry_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +AgentRegistryClient::AgentRegistryClient( + std::shared_ptr connection, Options opts) + : connection_(std::move(connection)), + options_( + internal::MergeOptions(std::move(opts), connection_->options())) {} +AgentRegistryClient::~AgentRegistryClient() = default; + +StreamRange +AgentRegistryClient::ListAgents(std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::ListAgentsRequest request; + request.set_parent(parent); + return connection_->ListAgents(request); +} + +StreamRange +AgentRegistryClient::ListAgents( + google::cloud::agentregistry::v1::ListAgentsRequest request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListAgents(std::move(request)); +} + +StreamRange +AgentRegistryClient::SearchAgents(std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::SearchAgentsRequest request; + request.set_parent(parent); + return connection_->SearchAgents(request); +} + +StreamRange +AgentRegistryClient::SearchAgents( + google::cloud::agentregistry::v1::SearchAgentsRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->SearchAgents(std::move(request)); +} + +StatusOr AgentRegistryClient::GetAgent( + std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::GetAgentRequest request; + request.set_name(name); + return connection_->GetAgent(request); +} + +StatusOr AgentRegistryClient::GetAgent( + google::cloud::agentregistry::v1::GetAgentRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetAgent(request); +} + +StreamRange +AgentRegistryClient::ListEndpoints(std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::ListEndpointsRequest request; + request.set_parent(parent); + return connection_->ListEndpoints(request); +} + +StreamRange +AgentRegistryClient::ListEndpoints( + google::cloud::agentregistry::v1::ListEndpointsRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListEndpoints(std::move(request)); +} + +StatusOr +AgentRegistryClient::GetEndpoint(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::GetEndpointRequest request; + request.set_name(name); + return connection_->GetEndpoint(request); +} + +StatusOr +AgentRegistryClient::GetEndpoint( + google::cloud::agentregistry::v1::GetEndpointRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetEndpoint(request); +} + +StreamRange +AgentRegistryClient::ListMcpServers(std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::ListMcpServersRequest request; + request.set_parent(parent); + return connection_->ListMcpServers(request); +} + +StreamRange +AgentRegistryClient::ListMcpServers( + google::cloud::agentregistry::v1::ListMcpServersRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListMcpServers(std::move(request)); +} + +StreamRange +AgentRegistryClient::SearchMcpServers(std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::SearchMcpServersRequest request; + request.set_parent(parent); + return connection_->SearchMcpServers(request); +} + +StreamRange +AgentRegistryClient::SearchMcpServers( + google::cloud::agentregistry::v1::SearchMcpServersRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->SearchMcpServers(std::move(request)); +} + +StatusOr +AgentRegistryClient::GetMcpServer(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::GetMcpServerRequest request; + request.set_name(name); + return connection_->GetMcpServer(request); +} + +StatusOr +AgentRegistryClient::GetMcpServer( + google::cloud::agentregistry::v1::GetMcpServerRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetMcpServer(request); +} + +StreamRange +AgentRegistryClient::ListServices(std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::ListServicesRequest request; + request.set_parent(parent); + return connection_->ListServices(request); +} + +StreamRange +AgentRegistryClient::ListServices( + google::cloud::agentregistry::v1::ListServicesRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListServices(std::move(request)); +} + +StatusOr +AgentRegistryClient::GetService(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::GetServiceRequest request; + request.set_name(name); + return connection_->GetService(request); +} + +StatusOr +AgentRegistryClient::GetService( + google::cloud::agentregistry::v1::GetServiceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetService(request); +} + +future> +AgentRegistryClient::CreateService( + std::string const& parent, + google::cloud::agentregistry::v1::Service const& service, + std::string const& service_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::CreateServiceRequest request; + request.set_parent(parent); + *request.mutable_service() = service; + request.set_service_id(service_id); + return connection_->CreateService(request); +} + +StatusOr AgentRegistryClient::CreateService( + NoAwaitTag, std::string const& parent, + google::cloud::agentregistry::v1::Service const& service, + std::string const& service_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::CreateServiceRequest request; + request.set_parent(parent); + *request.mutable_service() = service; + request.set_service_id(service_id); + return connection_->CreateService(NoAwaitTag{}, request); +} + +future> +AgentRegistryClient::CreateService( + google::cloud::agentregistry::v1::CreateServiceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateService(request); +} + +StatusOr AgentRegistryClient::CreateService( + NoAwaitTag, + google::cloud::agentregistry::v1::CreateServiceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateService(NoAwaitTag{}, request); +} + +future> +AgentRegistryClient::CreateService( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateService(operation); +} + +future> +AgentRegistryClient::UpdateService( + google::cloud::agentregistry::v1::Service const& service, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::UpdateServiceRequest request; + *request.mutable_service() = service; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateService(request); +} + +StatusOr AgentRegistryClient::UpdateService( + NoAwaitTag, google::cloud::agentregistry::v1::Service const& service, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::UpdateServiceRequest request; + *request.mutable_service() = service; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateService(NoAwaitTag{}, request); +} + +future> +AgentRegistryClient::UpdateService( + google::cloud::agentregistry::v1::UpdateServiceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateService(request); +} + +StatusOr AgentRegistryClient::UpdateService( + NoAwaitTag, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateService(NoAwaitTag{}, request); +} + +future> +AgentRegistryClient::UpdateService( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateService(operation); +} + +future> +AgentRegistryClient::DeleteService(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::DeleteServiceRequest request; + request.set_name(name); + return connection_->DeleteService(request); +} + +StatusOr AgentRegistryClient::DeleteService( + NoAwaitTag, std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::DeleteServiceRequest request; + request.set_name(name); + return connection_->DeleteService(NoAwaitTag{}, request); +} + +future> +AgentRegistryClient::DeleteService( + google::cloud::agentregistry::v1::DeleteServiceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteService(request); +} + +StatusOr AgentRegistryClient::DeleteService( + NoAwaitTag, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteService(NoAwaitTag{}, request); +} + +future> +AgentRegistryClient::DeleteService( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteService(operation); +} + +StreamRange +AgentRegistryClient::ListBindings(std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::ListBindingsRequest request; + request.set_parent(parent); + return connection_->ListBindings(request); +} + +StreamRange +AgentRegistryClient::ListBindings( + google::cloud::agentregistry::v1::ListBindingsRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListBindings(std::move(request)); +} + +StatusOr +AgentRegistryClient::GetBinding(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::GetBindingRequest request; + request.set_name(name); + return connection_->GetBinding(request); +} + +StatusOr +AgentRegistryClient::GetBinding( + google::cloud::agentregistry::v1::GetBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetBinding(request); +} + +future> +AgentRegistryClient::CreateBinding( + std::string const& parent, + google::cloud::agentregistry::v1::Binding const& binding, + std::string const& binding_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::CreateBindingRequest request; + request.set_parent(parent); + *request.mutable_binding() = binding; + request.set_binding_id(binding_id); + return connection_->CreateBinding(request); +} + +StatusOr AgentRegistryClient::CreateBinding( + NoAwaitTag, std::string const& parent, + google::cloud::agentregistry::v1::Binding const& binding, + std::string const& binding_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::CreateBindingRequest request; + request.set_parent(parent); + *request.mutable_binding() = binding; + request.set_binding_id(binding_id); + return connection_->CreateBinding(NoAwaitTag{}, request); +} + +future> +AgentRegistryClient::CreateBinding( + google::cloud::agentregistry::v1::CreateBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateBinding(request); +} + +StatusOr AgentRegistryClient::CreateBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::CreateBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateBinding(NoAwaitTag{}, request); +} + +future> +AgentRegistryClient::CreateBinding( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateBinding(operation); +} + +future> +AgentRegistryClient::UpdateBinding( + google::cloud::agentregistry::v1::Binding const& binding, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::UpdateBindingRequest request; + *request.mutable_binding() = binding; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateBinding(request); +} + +StatusOr AgentRegistryClient::UpdateBinding( + NoAwaitTag, google::cloud::agentregistry::v1::Binding const& binding, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::UpdateBindingRequest request; + *request.mutable_binding() = binding; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateBinding(NoAwaitTag{}, request); +} + +future> +AgentRegistryClient::UpdateBinding( + google::cloud::agentregistry::v1::UpdateBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateBinding(request); +} + +StatusOr AgentRegistryClient::UpdateBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateBinding(NoAwaitTag{}, request); +} + +future> +AgentRegistryClient::UpdateBinding( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateBinding(operation); +} + +future> +AgentRegistryClient::DeleteBinding(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::DeleteBindingRequest request; + request.set_name(name); + return connection_->DeleteBinding(request); +} + +StatusOr AgentRegistryClient::DeleteBinding( + NoAwaitTag, std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::DeleteBindingRequest request; + request.set_name(name); + return connection_->DeleteBinding(NoAwaitTag{}, request); +} + +future> +AgentRegistryClient::DeleteBinding( + google::cloud::agentregistry::v1::DeleteBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteBinding(request); +} + +StatusOr AgentRegistryClient::DeleteBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteBinding(NoAwaitTag{}, request); +} + +future> +AgentRegistryClient::DeleteBinding( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteBinding(operation); +} + +StreamRange +AgentRegistryClient::FetchAvailableBindings(std::string const& parent, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest request; + request.set_parent(parent); + return connection_->FetchAvailableBindings(request); +} + +StreamRange +AgentRegistryClient::FetchAvailableBindings( + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->FetchAvailableBindings(std::move(request)); +} + +StreamRange +AgentRegistryClient::ListLocations( + google::cloud::location::ListLocationsRequest request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListLocations(std::move(request)); +} + +StatusOr AgentRegistryClient::GetLocation( + google::cloud::location::GetLocationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetLocation(request); +} + +StreamRange AgentRegistryClient::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 AgentRegistryClient::ListOperations( + google::longrunning::ListOperationsRequest request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListOperations(std::move(request)); +} + +StatusOr AgentRegistryClient::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 AgentRegistryClient::GetOperation( + google::longrunning::GetOperationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetOperation(request); +} + +Status AgentRegistryClient::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 AgentRegistryClient::DeleteOperation( + google::longrunning::DeleteOperationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteOperation(request); +} + +Status AgentRegistryClient::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 AgentRegistryClient::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 agentregistry_v1 +} // namespace cloud +} // namespace google diff --git a/google/cloud/agentregistry/v1/agent_registry_client.h b/google/cloud/agentregistry/v1/agent_registry_client.h new file mode 100644 index 0000000000000..071f527408a39 --- /dev/null +++ b/google/cloud/agentregistry/v1/agent_registry_client.h @@ -0,0 +1,2038 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_AGENT_REGISTRY_CLIENT_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_AGENT_REGISTRY_CLIENT_H + +#include "google/cloud/agentregistry/v1/agent_registry_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 agentregistry_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/// +/// Service for managing Agents, Endpoints, McpServers, Services, and Bindings. +/// +/// @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 AgentRegistryClient { + public: + explicit AgentRegistryClient( + std::shared_ptr connection, Options opts = {}); + ~AgentRegistryClient(); + + ///@{ + /// @name Copy and move support + AgentRegistryClient(AgentRegistryClient const&) = default; + AgentRegistryClient& operator=(AgentRegistryClient const&) = default; + AgentRegistryClient(AgentRegistryClient&&) = default; + AgentRegistryClient& operator=(AgentRegistryClient&&) = default; + ///@} + + ///@{ + /// @name Equality + friend bool operator==(AgentRegistryClient const& a, + AgentRegistryClient const& b) { + return a.connection_ == b.connection_; + } + friend bool operator!=(AgentRegistryClient const& a, + AgentRegistryClient const& b) { + return !(a == b); + } + ///@} + + // clang-format off + /// + /// Lists Agents in a given project and location. + /// + /// @param parent Required. Parent value for ListAgentsRequest + /// @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.agentregistry.v1.Agent], 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.agentregistry.v1.Agent]: @googleapis_reference_link{google/cloud/agentregistry/v1/agent.proto#L36} + /// [google.cloud.agentregistry.v1.ListAgentsRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L243} + /// + // clang-format on + StreamRange ListAgents( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists Agents 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.agentregistry.v1.ListAgentsRequest]. + /// 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.agentregistry.v1.Agent], 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.agentregistry.v1.Agent]: @googleapis_reference_link{google/cloud/agentregistry/v1/agent.proto#L36} + /// [google.cloud.agentregistry.v1.ListAgentsRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L243} + /// + // clang-format on + StreamRange ListAgents( + google::cloud::agentregistry::v1::ListAgentsRequest request, + Options opts = {}); + + // clang-format off + /// + /// Searches Agents in a given project and location. + /// + /// @param parent Required. Parent value for SearchAgentsRequest. 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.agentregistry.v1.Agent], 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.agentregistry.v1.Agent]: @googleapis_reference_link{google/cloud/agentregistry/v1/agent.proto#L36} + /// [google.cloud.agentregistry.v1.SearchAgentsRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L276} + /// + // clang-format on + StreamRange SearchAgents( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Searches Agents 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.agentregistry.v1.SearchAgentsRequest]. + /// 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.agentregistry.v1.Agent], 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.agentregistry.v1.Agent]: @googleapis_reference_link{google/cloud/agentregistry/v1/agent.proto#L36} + /// [google.cloud.agentregistry.v1.SearchAgentsRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L276} + /// + // clang-format on + StreamRange SearchAgents( + google::cloud::agentregistry::v1::SearchAgentsRequest request, + Options opts = {}); + + // clang-format off + /// + /// Gets details of a single Agent. + /// + /// @param name Required. Name of the 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.cloud.agentregistry.v1.Agent]) + /// 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.agentregistry.v1.Agent]: @googleapis_reference_link{google/cloud/agentregistry/v1/agent.proto#L36} + /// [google.cloud.agentregistry.v1.GetAgentRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L351} + /// + // clang-format on + StatusOr GetAgent( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Gets details of a single Agent. + /// + /// @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.agentregistry.v1.GetAgentRequest]. + /// 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.agentregistry.v1.Agent]) + /// 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.agentregistry.v1.Agent]: @googleapis_reference_link{google/cloud/agentregistry/v1/agent.proto#L36} + /// [google.cloud.agentregistry.v1.GetAgentRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L351} + /// + // clang-format on + StatusOr GetAgent( + google::cloud::agentregistry::v1::GetAgentRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Lists Endpoints in a given project and location. + /// + /// @param parent Required. The project and location to list endpoints in. + /// Expected 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.agentregistry.v1.Endpoint], 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.agentregistry.v1.Endpoint]: @googleapis_reference_link{google/cloud/agentregistry/v1/endpoint.proto#L34} + /// [google.cloud.agentregistry.v1.ListEndpointsRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L362} + /// + // clang-format on + StreamRange ListEndpoints( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists Endpoints 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.agentregistry.v1.ListEndpointsRequest]. + /// 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.agentregistry.v1.Endpoint], 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.agentregistry.v1.Endpoint]: @googleapis_reference_link{google/cloud/agentregistry/v1/endpoint.proto#L34} + /// [google.cloud.agentregistry.v1.ListEndpointsRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L362} + /// + // clang-format on + StreamRange ListEndpoints( + google::cloud::agentregistry::v1::ListEndpointsRequest request, + Options opts = {}); + + // clang-format off + /// + /// Gets details of a single Endpoint. + /// + /// @param name Required. The name of the endpoint to retrieve. + /// Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + /// @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.agentregistry.v1.Endpoint]) + /// 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.agentregistry.v1.Endpoint]: @googleapis_reference_link{google/cloud/agentregistry/v1/endpoint.proto#L34} + /// [google.cloud.agentregistry.v1.GetEndpointRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L409} + /// + // clang-format on + StatusOr GetEndpoint( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Gets details of a single Endpoint. + /// + /// @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.agentregistry.v1.GetEndpointRequest]. + /// 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.agentregistry.v1.Endpoint]) + /// 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.agentregistry.v1.Endpoint]: @googleapis_reference_link{google/cloud/agentregistry/v1/endpoint.proto#L34} + /// [google.cloud.agentregistry.v1.GetEndpointRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L409} + /// + // clang-format on + StatusOr GetEndpoint( + google::cloud::agentregistry::v1::GetEndpointRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Lists McpServers in a given project and location. + /// + /// @param parent Required. Parent value for ListMcpServersRequest. 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.agentregistry.v1.McpServer], 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.agentregistry.v1.ListMcpServersRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L421} + /// [google.cloud.agentregistry.v1.McpServer]: @googleapis_reference_link{google/cloud/agentregistry/v1/mcp_server.proto#L34} + /// + // clang-format on + StreamRange ListMcpServers( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists McpServers 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.agentregistry.v1.ListMcpServersRequest]. + /// 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.agentregistry.v1.McpServer], 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.agentregistry.v1.ListMcpServersRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L421} + /// [google.cloud.agentregistry.v1.McpServer]: @googleapis_reference_link{google/cloud/agentregistry/v1/mcp_server.proto#L34} + /// + // clang-format on + StreamRange ListMcpServers( + google::cloud::agentregistry::v1::ListMcpServersRequest request, + Options opts = {}); + + // clang-format off + /// + /// Searches McpServers in a given project and location. + /// + /// @param parent Required. Parent value for SearchMcpServersRequest. 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.agentregistry.v1.McpServer], 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.agentregistry.v1.McpServer]: @googleapis_reference_link{google/cloud/agentregistry/v1/mcp_server.proto#L34} + /// [google.cloud.agentregistry.v1.SearchMcpServersRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L455} + /// + // clang-format on + StreamRange SearchMcpServers( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Searches McpServers 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.agentregistry.v1.SearchMcpServersRequest]. + /// 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.agentregistry.v1.McpServer], 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.agentregistry.v1.McpServer]: @googleapis_reference_link{google/cloud/agentregistry/v1/mcp_server.proto#L34} + /// [google.cloud.agentregistry.v1.SearchMcpServersRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L455} + /// + // clang-format on + StreamRange SearchMcpServers( + google::cloud::agentregistry::v1::SearchMcpServersRequest request, + Options opts = {}); + + // clang-format off + /// + /// Gets details of a single McpServer. + /// + /// @param name Required. Name of the 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.cloud.agentregistry.v1.McpServer]) + /// 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.agentregistry.v1.GetMcpServerRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L527} + /// [google.cloud.agentregistry.v1.McpServer]: @googleapis_reference_link{google/cloud/agentregistry/v1/mcp_server.proto#L34} + /// + // clang-format on + StatusOr GetMcpServer( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Gets details of a single McpServer. + /// + /// @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.agentregistry.v1.GetMcpServerRequest]. + /// 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.agentregistry.v1.McpServer]) + /// 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.agentregistry.v1.GetMcpServerRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L527} + /// [google.cloud.agentregistry.v1.McpServer]: @googleapis_reference_link{google/cloud/agentregistry/v1/mcp_server.proto#L34} + /// + // clang-format on + StatusOr GetMcpServer( + google::cloud::agentregistry::v1::GetMcpServerRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Lists Services in a given project and location. + /// + /// @param parent Required. The project and location to list services in. + /// Expected 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.agentregistry.v1.Service], 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.agentregistry.v1.ListServicesRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L538} + /// [google.cloud.agentregistry.v1.Service]: @googleapis_reference_link{google/cloud/agentregistry/v1/service.proto#L34} + /// + // clang-format on + StreamRange ListServices( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists Services 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.agentregistry.v1.ListServicesRequest]. + /// 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.agentregistry.v1.Service], 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.agentregistry.v1.ListServicesRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L538} + /// [google.cloud.agentregistry.v1.Service]: @googleapis_reference_link{google/cloud/agentregistry/v1/service.proto#L34} + /// + // clang-format on + StreamRange ListServices( + google::cloud::agentregistry::v1::ListServicesRequest request, + Options opts = {}); + + // clang-format off + /// + /// Gets details of a single Service. + /// + /// @param name Required. The name of the Service. + /// Format: `projects/{project}/locations/{location}/services/{service}`. + /// @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.agentregistry.v1.Service]) + /// 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.agentregistry.v1.GetServiceRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L584} + /// [google.cloud.agentregistry.v1.Service]: @googleapis_reference_link{google/cloud/agentregistry/v1/service.proto#L34} + /// + // clang-format on + StatusOr GetService( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Gets details of a single 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.agentregistry.v1.GetServiceRequest]. + /// 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.agentregistry.v1.Service]) + /// 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.agentregistry.v1.GetServiceRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L584} + /// [google.cloud.agentregistry.v1.Service]: @googleapis_reference_link{google/cloud/agentregistry/v1/service.proto#L34} + /// + // clang-format on + StatusOr GetService( + google::cloud::agentregistry::v1::GetServiceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Creates a new Service in a given project and location. + /// + /// @param parent Required. The project and location to create the Service in. + /// Expected format: `projects/{project}/locations/{location}`. + /// @param service Required. The Service resource that is being created. + /// Format: `projects/{project}/locations/{location}/services/{service}`. + /// @param service_id Required. The ID to use for the service, which will become the final + /// component of the service's resource name. + /// @n + /// This value should be 4-63 characters, and valid characters + /// are `/[a-z][0-9]-/`. + /// @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.agentregistry.v1.Service] 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.agentregistry.v1.CreateServiceRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L596} + /// [google.cloud.agentregistry.v1.Service]: @googleapis_reference_link{google/cloud/agentregistry/v1/service.proto#L34} + /// + // clang-format on + future> CreateService( + std::string const& parent, + google::cloud::agentregistry::v1::Service const& service, + std::string const& service_id, Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateService + /// + /// 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 CreateService( + NoAwaitTag, std::string const& parent, + google::cloud::agentregistry::v1::Service const& service, + std::string const& service_id, Options opts = {}); + + // clang-format off + /// + /// Creates a new Service 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.agentregistry.v1.CreateServiceRequest]. + /// 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.agentregistry.v1.Service] 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.agentregistry.v1.CreateServiceRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L596} + /// [google.cloud.agentregistry.v1.Service]: @googleapis_reference_link{google/cloud/agentregistry/v1/service.proto#L34} + /// + // clang-format on + future> CreateService( + google::cloud::agentregistry::v1::CreateServiceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateService + /// + /// 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 CreateService( + NoAwaitTag, + google::cloud::agentregistry::v1::CreateServiceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateService + /// + /// 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> CreateService( + google::longrunning::Operation const& operation, Options opts = {}); + + // clang-format off + /// + /// Updates the parameters of a single Service. + /// + /// @param service Required. The Service resource that is being updated. + /// Format: `projects/{project}/locations/{location}/services/{service}`. + /// @param update_mask Optional. Field mask is used to specify the fields to be overwritten in the + /// Service resource by the update. + /// The fields specified in the update_mask are relative to the resource, not + /// the full request. A field will be overwritten if it is in the mask. If the + /// user does not provide a mask then all fields present in the request will be + /// overwritten. + /// @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.agentregistry.v1.Service] 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.agentregistry.v1.Service]: @googleapis_reference_link{google/cloud/agentregistry/v1/service.proto#L34} + /// [google.cloud.agentregistry.v1.UpdateServiceRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L686} + /// + // clang-format on + future> UpdateService( + google::cloud::agentregistry::v1::Service const& service, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateService + /// + /// 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 UpdateService( + NoAwaitTag, google::cloud::agentregistry::v1::Service const& service, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// Updates the parameters of a single 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.agentregistry.v1.UpdateServiceRequest]. + /// 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.agentregistry.v1.Service] 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.agentregistry.v1.Service]: @googleapis_reference_link{google/cloud/agentregistry/v1/service.proto#L34} + /// [google.cloud.agentregistry.v1.UpdateServiceRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L686} + /// + // clang-format on + future> UpdateService( + google::cloud::agentregistry::v1::UpdateServiceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateService + /// + /// 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 UpdateService( + NoAwaitTag, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateService + /// + /// 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> UpdateService( + google::longrunning::Operation const& operation, Options opts = {}); + + // clang-format off + /// + /// Deletes a single Service. + /// + /// @param name Required. The name of the Service. + /// Format: `projects/{project}/locations/{location}/services/{service}`. + /// @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.agentregistry.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.agentregistry.v1.DeleteServiceRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L720} + /// [google.cloud.agentregistry.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L750} + /// + // clang-format on + future> + DeleteService(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteService + /// + /// 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 DeleteService( + NoAwaitTag, std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Deletes a single 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.agentregistry.v1.DeleteServiceRequest]. + /// 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.agentregistry.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.agentregistry.v1.DeleteServiceRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L720} + /// [google.cloud.agentregistry.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L750} + /// + // clang-format on + future> + DeleteService( + google::cloud::agentregistry::v1::DeleteServiceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteService + /// + /// 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 DeleteService( + NoAwaitTag, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteService + /// + /// 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> + DeleteService(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Lists Bindings in a given project and location. + /// + /// @param parent Required. The project and location to list bindings in. + /// Expected 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.agentregistry.v1.Binding], 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.agentregistry.v1.Binding]: @googleapis_reference_link{google/cloud/agentregistry/v1/binding.proto#L32} + /// [google.cloud.agentregistry.v1.ListBindingsRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L781} + /// + // clang-format on + StreamRange ListBindings( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists Bindings 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.agentregistry.v1.ListBindingsRequest]. + /// 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.agentregistry.v1.Binding], 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.agentregistry.v1.Binding]: @googleapis_reference_link{google/cloud/agentregistry/v1/binding.proto#L32} + /// [google.cloud.agentregistry.v1.ListBindingsRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L781} + /// + // clang-format on + StreamRange ListBindings( + google::cloud::agentregistry::v1::ListBindingsRequest request, + Options opts = {}); + + // clang-format off + /// + /// Gets details of a single Binding. + /// + /// @param name Required. The name of the Binding. + /// Format: `projects/{project}/locations/{location}/bindings/{binding}`. + /// @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.agentregistry.v1.Binding]) + /// 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.agentregistry.v1.Binding]: @googleapis_reference_link{google/cloud/agentregistry/v1/binding.proto#L32} + /// [google.cloud.agentregistry.v1.GetBindingRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L821} + /// + // clang-format on + StatusOr GetBinding( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Gets details of a single Binding. + /// + /// @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.agentregistry.v1.GetBindingRequest]. + /// 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.agentregistry.v1.Binding]) + /// 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.agentregistry.v1.Binding]: @googleapis_reference_link{google/cloud/agentregistry/v1/binding.proto#L32} + /// [google.cloud.agentregistry.v1.GetBindingRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L821} + /// + // clang-format on + StatusOr GetBinding( + google::cloud::agentregistry::v1::GetBindingRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Creates a new Binding in a given project and location. + /// + /// @param parent Required. The project and location to create the Binding in. + /// Expected format: `projects/{project}/locations/{location}`. + /// @param binding Required. The Binding resource that is being created. + /// @param binding_id Required. The ID to use for the binding, which will become the final + /// component of the binding's resource name. + /// @n + /// This value should be 4-63 characters, and must conform to RFC-1034. + /// Specifically, it must match the regular expression + /// `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. + /// @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.agentregistry.v1.Binding] 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.agentregistry.v1.Binding]: @googleapis_reference_link{google/cloud/agentregistry/v1/binding.proto#L32} + /// [google.cloud.agentregistry.v1.CreateBindingRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L833} + /// + // clang-format on + future> CreateBinding( + std::string const& parent, + google::cloud::agentregistry::v1::Binding const& binding, + std::string const& binding_id, Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateBinding + /// + /// 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 CreateBinding( + NoAwaitTag, std::string const& parent, + google::cloud::agentregistry::v1::Binding const& binding, + std::string const& binding_id, Options opts = {}); + + // clang-format off + /// + /// Creates a new Binding 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.agentregistry.v1.CreateBindingRequest]. + /// 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.agentregistry.v1.Binding] 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.agentregistry.v1.Binding]: @googleapis_reference_link{google/cloud/agentregistry/v1/binding.proto#L32} + /// [google.cloud.agentregistry.v1.CreateBindingRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L833} + /// + // clang-format on + future> CreateBinding( + google::cloud::agentregistry::v1::CreateBindingRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateBinding + /// + /// 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 CreateBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::CreateBindingRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateBinding + /// + /// 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> CreateBinding( + google::longrunning::Operation const& operation, Options opts = {}); + + // clang-format off + /// + /// Updates the parameters of a single Binding. + /// + /// @param binding Required. The Binding resource that is being updated. + /// @param update_mask Optional. Field mask is used to specify the fields to be overwritten in the + /// Binding resource by the update. + /// The fields specified in the update_mask are relative to the resource, not + /// the full request. A field will be overwritten if it is in the mask. If the + /// user does not provide a mask then all fields present in the request will be + /// overwritten. + /// @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.agentregistry.v1.Binding] 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.agentregistry.v1.Binding]: @googleapis_reference_link{google/cloud/agentregistry/v1/binding.proto#L32} + /// [google.cloud.agentregistry.v1.UpdateBindingRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L874} + /// + // clang-format on + future> UpdateBinding( + google::cloud::agentregistry::v1::Binding const& binding, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateBinding + /// + /// 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 UpdateBinding( + NoAwaitTag, google::cloud::agentregistry::v1::Binding const& binding, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// Updates the parameters of a single Binding. + /// + /// @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.agentregistry.v1.UpdateBindingRequest]. + /// 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.agentregistry.v1.Binding] 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.agentregistry.v1.Binding]: @googleapis_reference_link{google/cloud/agentregistry/v1/binding.proto#L32} + /// [google.cloud.agentregistry.v1.UpdateBindingRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L874} + /// + // clang-format on + future> UpdateBinding( + google::cloud::agentregistry::v1::UpdateBindingRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateBinding + /// + /// 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 UpdateBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateBinding + /// + /// 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> UpdateBinding( + google::longrunning::Operation const& operation, Options opts = {}); + + // clang-format off + /// + /// Deletes a single Binding. + /// + /// @param name Required. The name of the Binding. + /// Format: `projects/{project}/locations/{location}/bindings/{binding}`. + /// @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.agentregistry.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.agentregistry.v1.DeleteBindingRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L907} + /// [google.cloud.agentregistry.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L750} + /// + // clang-format on + future> + DeleteBinding(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteBinding + /// + /// 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 DeleteBinding( + NoAwaitTag, std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Deletes a single Binding. + /// + /// @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.agentregistry.v1.DeleteBindingRequest]. + /// 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.agentregistry.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.agentregistry.v1.DeleteBindingRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L907} + /// [google.cloud.agentregistry.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L750} + /// + // clang-format on + future> + DeleteBinding( + google::cloud::agentregistry::v1::DeleteBindingRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteBinding + /// + /// 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 DeleteBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteBinding + /// + /// 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> + DeleteBinding(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Fetches available Bindings. + /// + /// @param parent Required. The parent, 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.agentregistry.v1.Binding], 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.agentregistry.v1.Binding]: @googleapis_reference_link{google/cloud/agentregistry/v1/binding.proto#L32} + /// [google.cloud.agentregistry.v1.FetchAvailableBindingsRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L637} + /// + // clang-format on + StreamRange FetchAvailableBindings( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Fetches available Bindings. + /// + /// @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.agentregistry.v1.FetchAvailableBindingsRequest]. + /// 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.agentregistry.v1.Binding], 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.agentregistry.v1.Binding]: @googleapis_reference_link{google/cloud/agentregistry/v1/binding.proto#L32} + /// [google.cloud.agentregistry.v1.FetchAvailableBindingsRequest]: @googleapis_reference_link{google/cloud/agentregistry/v1/agentregistry_service.proto#L637} + /// + // clang-format on + StreamRange FetchAvailableBindings( + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest request, + Options opts = {}); + + // clang-format off + /// + /// Lists information about the supported locations for this service. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.location.ListLocationsRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.cloud.location.Location], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.location.ListLocationsRequest]: @googleapis_reference_link{google/cloud/location/locations.proto#L58} + /// [google.cloud.location.Location]: @googleapis_reference_link{google/cloud/location/locations.proto#L88} + /// + // clang-format on + StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request, Options opts = {}); + + // clang-format off + /// + /// Gets information about a location. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.location.GetLocationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.cloud.location.Location]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.location.GetLocationRequest]: @googleapis_reference_link{google/cloud/location/locations.proto#L82} + /// [google.cloud.location.Location]: @googleapis_reference_link{google/cloud/location/locations.proto#L88} + /// + // clang-format on + StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Lists operations that match the specified filter in the request. If the + /// server doesn't support this method, it returns `UNIMPLEMENTED`. + /// + /// @param name The name of the operation's parent resource. + /// @param filter The standard list filter. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.longrunning.Operation], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.ListOperationsRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L167} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StreamRange ListOperations( + std::string const& name, std::string const& filter, Options opts = {}); + + // clang-format off + /// + /// Lists operations that match the specified filter in the request. If the + /// server doesn't support this method, it returns `UNIMPLEMENTED`. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.longrunning.ListOperationsRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.longrunning.Operation], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.ListOperationsRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L167} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StreamRange ListOperations( + google::longrunning::ListOperationsRequest request, Options opts = {}); + + // clang-format off + /// + /// Gets the latest state of a long-running operation. Clients can use this + /// method to poll the operation result at intervals as recommended by the API + /// service. + /// + /// @param name The name of the operation resource. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.longrunning.Operation]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.GetOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L160} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StatusOr GetOperation(std::string const& name, + Options opts = {}); + + // clang-format off + /// + /// Gets the latest state of a long-running operation. Clients can use this + /// method to poll the operation result at intervals as recommended by the API + /// service. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.longrunning.GetOperationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.longrunning.Operation]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.GetOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L160} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Deletes a long-running operation. This method indicates that the client is + /// no longer interested in the operation result. It does not cancel the + /// operation. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. + /// + /// @param name The name of the operation resource to be deleted. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [`Status`] object. If the request failed, the + /// status contains the details of the failure. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.DeleteOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L219} + /// + // clang-format on + Status DeleteOperation(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Deletes a long-running operation. This method indicates that the client is + /// no longer interested in the operation result. It does not cancel the + /// operation. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.longrunning.DeleteOperationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [`Status`] object. If the request failed, the + /// status contains the details of the failure. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.DeleteOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L219} + /// + // clang-format on + Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Starts asynchronous cancellation on a long-running operation. The server + /// makes a best effort to cancel the operation, but success is not + /// guaranteed. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. Clients can use + /// [Operations.GetOperation][google.longrunning.Operations.GetOperation] or + /// other methods to check whether the cancellation succeeded or whether the + /// operation completed despite cancellation. On successful cancellation, + /// the operation is not deleted; instead, it becomes an operation with + /// an [Operation.error][google.longrunning.Operation.error] value with a + /// [google.rpc.Status.code][google.rpc.Status.code] of `1`, corresponding to + /// `Code.CANCELLED`. + /// + /// @param name The name of the operation resource to be cancelled. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [`Status`] object. If the request failed, the + /// status contains the details of the failure. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.CancelOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L212} + /// [google.longrunning.Operation.error]: @googleapis_reference_link{google/longrunning/operations.proto#L144} + /// [google.longrunning.Operations.GetOperation]: @googleapis_reference_link{google/longrunning/operations.proto#L70} + /// [google.rpc.Status.code]: @googleapis_reference_link{google/rpc/status.proto#L37} + /// + // clang-format on + Status CancelOperation(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Starts asynchronous cancellation on a long-running operation. The server + /// makes a best effort to cancel the operation, but success is not + /// guaranteed. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. Clients can use + /// [Operations.GetOperation][google.longrunning.Operations.GetOperation] or + /// other methods to check whether the cancellation succeeded or whether the + /// operation completed despite cancellation. On successful cancellation, + /// the operation is not deleted; instead, it becomes an operation with + /// an [Operation.error][google.longrunning.Operation.error] value with a + /// [google.rpc.Status.code][google.rpc.Status.code] of `1`, corresponding to + /// `Code.CANCELLED`. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.longrunning.CancelOperationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [`Status`] object. If the request failed, the + /// status contains the details of the failure. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.CancelOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L212} + /// [google.longrunning.Operation.error]: @googleapis_reference_link{google/longrunning/operations.proto#L144} + /// [google.longrunning.Operations.GetOperation]: @googleapis_reference_link{google/longrunning/operations.proto#L70} + /// [google.rpc.Status.code]: @googleapis_reference_link{google/rpc/status.proto#L37} + /// + // clang-format on + Status CancelOperation( + google::longrunning::CancelOperationRequest const& request, + Options opts = {}); + + private: + std::shared_ptr connection_; + Options options_; +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_AGENT_REGISTRY_CLIENT_H diff --git a/google/cloud/agentregistry/v1/agent_registry_connection.cc b/google/cloud/agentregistry/v1/agent_registry_connection.cc new file mode 100644 index 0000000000000..3c29e0752db56 --- /dev/null +++ b/google/cloud/agentregistry/v1/agent_registry_connection.cc @@ -0,0 +1,318 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#include "google/cloud/agentregistry/v1/agent_registry_connection.h" +#include "google/cloud/agentregistry/v1/agent_registry_options.h" +#include "google/cloud/agentregistry/v1/internal/agent_registry_connection_impl.h" +#include "google/cloud/agentregistry/v1/internal/agent_registry_option_defaults.h" +#include "google/cloud/agentregistry/v1/internal/agent_registry_stub_factory.h" +#include "google/cloud/agentregistry/v1/internal/agent_registry_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 agentregistry_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +AgentRegistryConnection::~AgentRegistryConnection() = default; + +StreamRange +AgentRegistryConnection::ListAgents( + google::cloud::agentregistry::v1:: + ListAgentsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StreamRange +AgentRegistryConnection::SearchAgents( + google::cloud::agentregistry::v1:: + SearchAgentsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +AgentRegistryConnection::GetAgent( + google::cloud::agentregistry::v1::GetAgentRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +StreamRange +AgentRegistryConnection::ListEndpoints( + google::cloud::agentregistry::v1:: + ListEndpointsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +AgentRegistryConnection::GetEndpoint( + google::cloud::agentregistry::v1::GetEndpointRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +StreamRange +AgentRegistryConnection::ListMcpServers( + google::cloud::agentregistry::v1:: + ListMcpServersRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StreamRange +AgentRegistryConnection::SearchMcpServers( + google::cloud::agentregistry::v1:: + SearchMcpServersRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +AgentRegistryConnection::GetMcpServer( + google::cloud::agentregistry::v1::GetMcpServerRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +StreamRange +AgentRegistryConnection::ListServices( + google::cloud::agentregistry::v1:: + ListServicesRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +AgentRegistryConnection::GetService( + google::cloud::agentregistry::v1::GetServiceRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +future> +AgentRegistryConnection::CreateService( + google::cloud::agentregistry::v1::CreateServiceRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr AgentRegistryConnection::CreateService( + NoAwaitTag, google::cloud::agentregistry::v1::CreateServiceRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +AgentRegistryConnection::CreateService(google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +AgentRegistryConnection::UpdateService( + google::cloud::agentregistry::v1::UpdateServiceRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr AgentRegistryConnection::UpdateService( + NoAwaitTag, google::cloud::agentregistry::v1::UpdateServiceRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +AgentRegistryConnection::UpdateService(google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +AgentRegistryConnection::DeleteService( + google::cloud::agentregistry::v1::DeleteServiceRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr AgentRegistryConnection::DeleteService( + NoAwaitTag, google::cloud::agentregistry::v1::DeleteServiceRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +AgentRegistryConnection::DeleteService(google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StreamRange +AgentRegistryConnection::ListBindings( + google::cloud::agentregistry::v1:: + ListBindingsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +AgentRegistryConnection::GetBinding( + google::cloud::agentregistry::v1::GetBindingRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +future> +AgentRegistryConnection::CreateBinding( + google::cloud::agentregistry::v1::CreateBindingRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr AgentRegistryConnection::CreateBinding( + NoAwaitTag, google::cloud::agentregistry::v1::CreateBindingRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +AgentRegistryConnection::CreateBinding(google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +AgentRegistryConnection::UpdateBinding( + google::cloud::agentregistry::v1::UpdateBindingRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr AgentRegistryConnection::UpdateBinding( + NoAwaitTag, google::cloud::agentregistry::v1::UpdateBindingRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +AgentRegistryConnection::UpdateBinding(google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +AgentRegistryConnection::DeleteBinding( + google::cloud::agentregistry::v1::DeleteBindingRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr AgentRegistryConnection::DeleteBinding( + NoAwaitTag, google::cloud::agentregistry::v1::DeleteBindingRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +AgentRegistryConnection::DeleteBinding(google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StreamRange +AgentRegistryConnection::FetchAvailableBindings( + google::cloud::agentregistry::v1:: + FetchAvailableBindingsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StreamRange +AgentRegistryConnection::ListLocations( + google::cloud::location:: + ListLocationsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +AgentRegistryConnection::GetLocation( + google::cloud::location::GetLocationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +StreamRange +AgentRegistryConnection::ListOperations( + google::longrunning:: + ListOperationsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr AgentRegistryConnection::GetOperation( + google::longrunning::GetOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +Status AgentRegistryConnection::DeleteOperation( + google::longrunning::DeleteOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +Status AgentRegistryConnection::CancelOperation( + google::longrunning::CancelOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +std::shared_ptr MakeAgentRegistryConnection( + Options options) { + internal::CheckExpectedOptions(options, + __func__); + options = agentregistry_v1_internal::AgentRegistryDefaultOptions( + std::move(options)); + auto background = internal::MakeBackgroundThreadsFactory(options)(); + auto auth = internal::CreateAuthenticationStrategy(background->cq(), options); + auto stub = agentregistry_v1_internal::CreateDefaultAgentRegistryStub( + std::move(auth), options); + return agentregistry_v1_internal::MakeAgentRegistryTracingConnection( + std::make_shared( + std::move(background), std::move(stub), std::move(options))); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1 +} // namespace cloud +} // namespace google diff --git a/google/cloud/agentregistry/v1/agent_registry_connection.h b/google/cloud/agentregistry/v1/agent_registry_connection.h new file mode 100644 index 0000000000000..9c0e428519f17 --- /dev/null +++ b/google/cloud/agentregistry/v1/agent_registry_connection.h @@ -0,0 +1,345 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_AGENT_REGISTRY_CONNECTION_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_AGENT_REGISTRY_CONNECTION_H + +#include "google/cloud/agentregistry/v1/agent_registry_connection_idempotency_policy.h" +#include "google/cloud/agentregistry/v1/agentregistry_service.pb.h" +#include "google/cloud/agentregistry/v1/internal/agent_registry_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 agentregistry_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/// The retry policy for `AgentRegistryConnection`. +class AgentRegistryRetryPolicy : 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 `AgentRegistryConnection` 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 AgentRegistryLimitedErrorCountRetryPolicy + : public AgentRegistryRetryPolicy { + 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 AgentRegistryLimitedErrorCountRetryPolicy(int maximum_failures) + : impl_(maximum_failures) {} + + AgentRegistryLimitedErrorCountRetryPolicy( + AgentRegistryLimitedErrorCountRetryPolicy&& rhs) noexcept + : AgentRegistryLimitedErrorCountRetryPolicy(rhs.maximum_failures()) {} + AgentRegistryLimitedErrorCountRetryPolicy( + AgentRegistryLimitedErrorCountRetryPolicy const& rhs) noexcept + : AgentRegistryLimitedErrorCountRetryPolicy(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 = AgentRegistryRetryPolicy; + + private: + google::cloud::internal::LimitedErrorCountRetryPolicy< + agentregistry_v1_internal::AgentRegistryRetryTraits> + impl_; +}; + +/** + * A retry policy for `AgentRegistryConnection` 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 AgentRegistryLimitedTimeRetryPolicy : public AgentRegistryRetryPolicy { + 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 AgentRegistryLimitedTimeRetryPolicy( + std::chrono::duration maximum_duration) + : impl_(maximum_duration) {} + + AgentRegistryLimitedTimeRetryPolicy( + AgentRegistryLimitedTimeRetryPolicy&& rhs) noexcept + : AgentRegistryLimitedTimeRetryPolicy(rhs.maximum_duration()) {} + AgentRegistryLimitedTimeRetryPolicy( + AgentRegistryLimitedTimeRetryPolicy const& rhs) noexcept + : AgentRegistryLimitedTimeRetryPolicy(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 = AgentRegistryRetryPolicy; + + private: + google::cloud::internal::LimitedTimeRetryPolicy< + agentregistry_v1_internal::AgentRegistryRetryTraits> + impl_; +}; + +/** + * The `AgentRegistryConnection` object for `AgentRegistryClient`. + * + * This interface defines virtual methods for each of the user-facing overload + * sets in `AgentRegistryClient`. This allows users to inject custom behavior + * (e.g., with a Google Mock object) when writing tests that use objects of type + * `AgentRegistryClient`. + * + * To create a concrete instance, see `MakeAgentRegistryConnection()`. + * + * For mocking, see `agentregistry_v1_mocks::MockAgentRegistryConnection`. + */ +class AgentRegistryConnection { + public: + virtual ~AgentRegistryConnection() = 0; + + virtual Options options() { return Options{}; } + + virtual StreamRange ListAgents( + google::cloud::agentregistry::v1::ListAgentsRequest request); + + virtual StreamRange SearchAgents( + google::cloud::agentregistry::v1::SearchAgentsRequest request); + + virtual StatusOr GetAgent( + google::cloud::agentregistry::v1::GetAgentRequest const& request); + + virtual StreamRange ListEndpoints( + google::cloud::agentregistry::v1::ListEndpointsRequest request); + + virtual StatusOr GetEndpoint( + google::cloud::agentregistry::v1::GetEndpointRequest const& request); + + virtual StreamRange + ListMcpServers( + google::cloud::agentregistry::v1::ListMcpServersRequest request); + + virtual StreamRange + SearchMcpServers( + google::cloud::agentregistry::v1::SearchMcpServersRequest request); + + virtual StatusOr GetMcpServer( + google::cloud::agentregistry::v1::GetMcpServerRequest const& request); + + virtual StreamRange ListServices( + google::cloud::agentregistry::v1::ListServicesRequest request); + + virtual StatusOr GetService( + google::cloud::agentregistry::v1::GetServiceRequest const& request); + + virtual future> + CreateService( + google::cloud::agentregistry::v1::CreateServiceRequest const& request); + + virtual StatusOr CreateService( + NoAwaitTag, + google::cloud::agentregistry::v1::CreateServiceRequest const& request); + + virtual future> + CreateService(google::longrunning::Operation const& operation); + + virtual future> + UpdateService( + google::cloud::agentregistry::v1::UpdateServiceRequest const& request); + + virtual StatusOr UpdateService( + NoAwaitTag, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request); + + virtual future> + UpdateService(google::longrunning::Operation const& operation); + + virtual future> + DeleteService( + google::cloud::agentregistry::v1::DeleteServiceRequest const& request); + + virtual StatusOr DeleteService( + NoAwaitTag, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request); + + virtual future> + DeleteService(google::longrunning::Operation const& operation); + + virtual StreamRange ListBindings( + google::cloud::agentregistry::v1::ListBindingsRequest request); + + virtual StatusOr GetBinding( + google::cloud::agentregistry::v1::GetBindingRequest const& request); + + virtual future> + CreateBinding( + google::cloud::agentregistry::v1::CreateBindingRequest const& request); + + virtual StatusOr CreateBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::CreateBindingRequest const& request); + + virtual future> + CreateBinding(google::longrunning::Operation const& operation); + + virtual future> + UpdateBinding( + google::cloud::agentregistry::v1::UpdateBindingRequest const& request); + + virtual StatusOr UpdateBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request); + + virtual future> + UpdateBinding(google::longrunning::Operation const& operation); + + virtual future> + DeleteBinding( + google::cloud::agentregistry::v1::DeleteBindingRequest const& request); + + virtual StatusOr DeleteBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request); + + virtual future> + DeleteBinding(google::longrunning::Operation const& operation); + + virtual StreamRange + FetchAvailableBindings( + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest request); + + virtual StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request); + + virtual StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request); + + virtual StreamRange ListOperations( + google::longrunning::ListOperationsRequest request); + + virtual StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request); + + virtual Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request); + + virtual Status CancelOperation( + google::longrunning::CancelOperationRequest const& request); +}; + +/** + * A factory function to construct an object of type `AgentRegistryConnection`. + * + * The returned connection object should not be used directly; instead it + * should be passed as an argument to the constructor of AgentRegistryClient. + * + * The optional @p options argument may be used to configure aspects of the + * returned `AgentRegistryConnection`. Expected options are any of the types in + * the following option lists: + * + * - `google::cloud::CommonOptionList` + * - `google::cloud::GrpcOptionList` + * - `google::cloud::UnifiedCredentialsOptionList` + * - `google::cloud::agentregistry_v1::AgentRegistryPolicyOptionList` + * + * @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 `AgentRegistryConnection` created by + * this function. + */ +std::shared_ptr MakeAgentRegistryConnection( + Options options = {}); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_AGENT_REGISTRY_CONNECTION_H diff --git a/google/cloud/agentregistry/v1/agent_registry_connection_idempotency_policy.cc b/google/cloud/agentregistry/v1/agent_registry_connection_idempotency_policy.cc new file mode 100644 index 0000000000000..3b33cc47baffb --- /dev/null +++ b/google/cloud/agentregistry/v1/agent_registry_connection_idempotency_policy.cc @@ -0,0 +1,171 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#include "google/cloud/agentregistry/v1/agent_registry_connection_idempotency_policy.h" +#include + +namespace google { +namespace cloud { +namespace agentregistry_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +using ::google::cloud::Idempotency; + +AgentRegistryConnectionIdempotencyPolicy:: + ~AgentRegistryConnectionIdempotencyPolicy() = default; + +std::unique_ptr +AgentRegistryConnectionIdempotencyPolicy::clone() const { + return std::make_unique(*this); +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::ListAgents( + google::cloud::agentregistry::v1::ListAgentsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::SearchAgents( + google::cloud::agentregistry::v1::SearchAgentsRequest) { // NOLINT + return Idempotency::kNonIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::GetAgent( + google::cloud::agentregistry::v1::GetAgentRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::ListEndpoints( + google::cloud::agentregistry::v1::ListEndpointsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::GetEndpoint( + google::cloud::agentregistry::v1::GetEndpointRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::ListMcpServers( + google::cloud::agentregistry::v1::ListMcpServersRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::SearchMcpServers( + google::cloud::agentregistry::v1::SearchMcpServersRequest) { // NOLINT + return Idempotency::kNonIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::GetMcpServer( + google::cloud::agentregistry::v1::GetMcpServerRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::ListServices( + google::cloud::agentregistry::v1::ListServicesRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::GetService( + google::cloud::agentregistry::v1::GetServiceRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::CreateService( + google::cloud::agentregistry::v1::CreateServiceRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::UpdateService( + google::cloud::agentregistry::v1::UpdateServiceRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::DeleteService( + google::cloud::agentregistry::v1::DeleteServiceRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::ListBindings( + google::cloud::agentregistry::v1::ListBindingsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::GetBinding( + google::cloud::agentregistry::v1::GetBindingRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::CreateBinding( + google::cloud::agentregistry::v1::CreateBindingRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::UpdateBinding( + google::cloud::agentregistry::v1::UpdateBindingRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::DeleteBinding( + google::cloud::agentregistry::v1::DeleteBindingRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::FetchAvailableBindings( + google::cloud::agentregistry::v1:: + FetchAvailableBindingsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::ListLocations( + google::cloud::location::ListLocationsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::GetLocation( + google::cloud::location::GetLocationRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::ListOperations( + google::longrunning::ListOperationsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::GetOperation( + google::longrunning::GetOperationRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::DeleteOperation( + google::longrunning::DeleteOperationRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency AgentRegistryConnectionIdempotencyPolicy::CancelOperation( + google::longrunning::CancelOperationRequest const&) { + return Idempotency::kNonIdempotent; +} + +std::unique_ptr +MakeDefaultAgentRegistryConnectionIdempotencyPolicy() { + return std::make_unique(); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1 +} // namespace cloud +} // namespace google diff --git a/google/cloud/agentregistry/v1/agent_registry_connection_idempotency_policy.h b/google/cloud/agentregistry/v1/agent_registry_connection_idempotency_policy.h new file mode 100644 index 0000000000000..e719c8582995c --- /dev/null +++ b/google/cloud/agentregistry/v1/agent_registry_connection_idempotency_policy.h @@ -0,0 +1,126 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/agentregistry/v1/agentregistry_service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_AGENT_REGISTRY_CONNECTION_IDEMPOTENCY_POLICY_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_AGENT_REGISTRY_CONNECTION_IDEMPOTENCY_POLICY_H + +#include "google/cloud/agentregistry/v1/agentregistry_service.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 agentregistry_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class AgentRegistryConnectionIdempotencyPolicy { + public: + virtual ~AgentRegistryConnectionIdempotencyPolicy(); + + /// Create a new copy of this object. + virtual std::unique_ptr clone() + const; + + virtual google::cloud::Idempotency ListAgents( + google::cloud::agentregistry::v1::ListAgentsRequest request); + + virtual google::cloud::Idempotency SearchAgents( + google::cloud::agentregistry::v1::SearchAgentsRequest request); + + virtual google::cloud::Idempotency GetAgent( + google::cloud::agentregistry::v1::GetAgentRequest const& request); + + virtual google::cloud::Idempotency ListEndpoints( + google::cloud::agentregistry::v1::ListEndpointsRequest request); + + virtual google::cloud::Idempotency GetEndpoint( + google::cloud::agentregistry::v1::GetEndpointRequest const& request); + + virtual google::cloud::Idempotency ListMcpServers( + google::cloud::agentregistry::v1::ListMcpServersRequest request); + + virtual google::cloud::Idempotency SearchMcpServers( + google::cloud::agentregistry::v1::SearchMcpServersRequest request); + + virtual google::cloud::Idempotency GetMcpServer( + google::cloud::agentregistry::v1::GetMcpServerRequest const& request); + + virtual google::cloud::Idempotency ListServices( + google::cloud::agentregistry::v1::ListServicesRequest request); + + virtual google::cloud::Idempotency GetService( + google::cloud::agentregistry::v1::GetServiceRequest const& request); + + virtual google::cloud::Idempotency CreateService( + google::cloud::agentregistry::v1::CreateServiceRequest const& request); + + virtual google::cloud::Idempotency UpdateService( + google::cloud::agentregistry::v1::UpdateServiceRequest const& request); + + virtual google::cloud::Idempotency DeleteService( + google::cloud::agentregistry::v1::DeleteServiceRequest const& request); + + virtual google::cloud::Idempotency ListBindings( + google::cloud::agentregistry::v1::ListBindingsRequest request); + + virtual google::cloud::Idempotency GetBinding( + google::cloud::agentregistry::v1::GetBindingRequest const& request); + + virtual google::cloud::Idempotency CreateBinding( + google::cloud::agentregistry::v1::CreateBindingRequest const& request); + + virtual google::cloud::Idempotency UpdateBinding( + google::cloud::agentregistry::v1::UpdateBindingRequest const& request); + + virtual google::cloud::Idempotency DeleteBinding( + google::cloud::agentregistry::v1::DeleteBindingRequest const& request); + + virtual google::cloud::Idempotency FetchAvailableBindings( + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest 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 +MakeDefaultAgentRegistryConnectionIdempotencyPolicy(); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_AGENT_REGISTRY_CONNECTION_IDEMPOTENCY_POLICY_H diff --git a/google/cloud/agentregistry/v1/agent_registry_options.h b/google/cloud/agentregistry/v1/agent_registry_options.h new file mode 100644 index 0000000000000..53f7da8f32452 --- /dev/null +++ b/google/cloud/agentregistry/v1/agent_registry_options.h @@ -0,0 +1,86 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/agentregistry/v1/agentregistry_service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_AGENT_REGISTRY_OPTIONS_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_AGENT_REGISTRY_OPTIONS_H + +#include "google/cloud/agentregistry/v1/agent_registry_connection.h" +#include "google/cloud/agentregistry/v1/agent_registry_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 agentregistry_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/** + * Use with `google::cloud::Options` to configure the retry policy. + * + * @ingroup google-cloud-agentregistry-options + */ +struct AgentRegistryRetryPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * Use with `google::cloud::Options` to configure the backoff policy. + * + * @ingroup google-cloud-agentregistry-options + */ +struct AgentRegistryBackoffPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * Use with `google::cloud::Options` to configure which operations are retried. + * + * @ingroup google-cloud-agentregistry-options + */ +struct AgentRegistryConnectionIdempotencyPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * Use with `google::cloud::Options` to configure the long-running operations + * polling policy. + * + * @ingroup google-cloud-agentregistry-options + */ +struct AgentRegistryPollingPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * The options applicable to AgentRegistry. + * + * @ingroup google-cloud-agentregistry-options + */ +using AgentRegistryPolicyOptionList = + OptionList; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_AGENT_REGISTRY_OPTIONS_H diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_auth_decorator.cc b/google/cloud/agentregistry/v1/internal/agent_registry_auth_decorator.cc new file mode 100644 index 0000000000000..fb95eaa9e25de --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_auth_decorator.cc @@ -0,0 +1,413 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#include "google/cloud/agentregistry/v1/internal/agent_registry_auth_decorator.h" +#include "google/cloud/agentregistry/v1/agentregistry_service.grpc.pb.h" +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +AgentRegistryAuth::AgentRegistryAuth( + std::shared_ptr auth, + std::shared_ptr child) + : auth_(std::move(auth)), child_(std::move(child)) {} + +StatusOr +AgentRegistryAuth::ListAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListAgentsRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListAgents(context, options, request); +} + +StatusOr +AgentRegistryAuth::SearchAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchAgentsRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->SearchAgents(context, options, request); +} + +StatusOr AgentRegistryAuth::GetAgent( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetAgentRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetAgent(context, options, request); +} + +StatusOr +AgentRegistryAuth::ListEndpoints( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListEndpointsRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListEndpoints(context, options, request); +} + +StatusOr +AgentRegistryAuth::GetEndpoint( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetEndpointRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetEndpoint(context, options, request); +} + +StatusOr +AgentRegistryAuth::ListMcpServers( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListMcpServersRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListMcpServers(context, options, request); +} + +StatusOr +AgentRegistryAuth::SearchMcpServers( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchMcpServersRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->SearchMcpServers(context, options, request); +} + +StatusOr +AgentRegistryAuth::GetMcpServer( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetMcpServerRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetMcpServer(context, options, request); +} + +StatusOr +AgentRegistryAuth::ListServices( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListServicesRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListServices(context, options, request); +} + +StatusOr +AgentRegistryAuth::GetService( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetServiceRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetService(context, options, request); +} + +future> +AgentRegistryAuth::AsyncCreateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateServiceRequest 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->AsyncCreateService(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr AgentRegistryAuth::CreateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->CreateService(context, options, request); +} + +future> +AgentRegistryAuth::AsyncUpdateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateServiceRequest 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->AsyncUpdateService(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr AgentRegistryAuth::UpdateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->UpdateService(context, options, request); +} + +future> +AgentRegistryAuth::AsyncDeleteService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteServiceRequest 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->AsyncDeleteService(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr AgentRegistryAuth::DeleteService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeleteService(context, options, request); +} + +StatusOr +AgentRegistryAuth::ListBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListBindingsRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListBindings(context, options, request); +} + +StatusOr +AgentRegistryAuth::GetBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetBindingRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetBinding(context, options, request); +} + +future> +AgentRegistryAuth::AsyncCreateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateBindingRequest 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->AsyncCreateBinding(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr AgentRegistryAuth::CreateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->CreateBinding(context, options, request); +} + +future> +AgentRegistryAuth::AsyncUpdateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateBindingRequest 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->AsyncUpdateBinding(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr AgentRegistryAuth::UpdateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->UpdateBinding(context, options, request); +} + +future> +AgentRegistryAuth::AsyncDeleteBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteBindingRequest 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->AsyncDeleteBinding(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr AgentRegistryAuth::DeleteBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeleteBinding(context, options, request); +} + +StatusOr +AgentRegistryAuth::FetchAvailableBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->FetchAvailableBindings(context, options, request); +} + +StatusOr +AgentRegistryAuth::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 AgentRegistryAuth::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 +AgentRegistryAuth::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 AgentRegistryAuth::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 AgentRegistryAuth::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 AgentRegistryAuth::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> +AgentRegistryAuth::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 AgentRegistryAuth::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 agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_auth_decorator.h b/google/cloud/agentregistry/v1/internal/agent_registry_auth_decorator.h new file mode 100644 index 0000000000000..9ad9ebcd78067 --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_auth_decorator.h @@ -0,0 +1,232 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_AUTH_DECORATOR_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_AUTH_DECORATOR_H + +#include "google/cloud/agentregistry/v1/internal/agent_registry_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 agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class AgentRegistryAuth : public AgentRegistryStub { + public: + ~AgentRegistryAuth() override = default; + AgentRegistryAuth( + std::shared_ptr auth, + std::shared_ptr child); + + StatusOr ListAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListAgentsRequest const& request) + override; + + StatusOr SearchAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchAgentsRequest const& request) + override; + + StatusOr GetAgent( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetAgentRequest const& request) + override; + + StatusOr + ListEndpoints(grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListEndpointsRequest const& + request) override; + + StatusOr GetEndpoint( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetEndpointRequest const& request) + override; + + StatusOr + ListMcpServers(grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListMcpServersRequest const& + request) override; + + StatusOr + SearchMcpServers( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchMcpServersRequest const& request) + override; + + StatusOr GetMcpServer( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetMcpServerRequest const& request) + override; + + StatusOr ListServices( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListServicesRequest const& request) + override; + + StatusOr GetService( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetServiceRequest const& request) + override; + + future> AsyncCreateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) + override; + + StatusOr CreateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) + override; + + future> AsyncUpdateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) + override; + + StatusOr UpdateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) + override; + + future> AsyncDeleteService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) + override; + + StatusOr DeleteService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) + override; + + StatusOr ListBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListBindingsRequest const& request) + override; + + StatusOr GetBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetBindingRequest const& request) + override; + + future> AsyncCreateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) + override; + + StatusOr CreateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) + override; + + future> AsyncUpdateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) + override; + + StatusOr UpdateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) + override; + + future> AsyncDeleteBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) + override; + + StatusOr DeleteBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) + override; + + StatusOr + FetchAvailableBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest 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 agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_AUTH_DECORATOR_H diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_connection_impl.cc b/google/cloud/agentregistry/v1/internal/agent_registry_connection_impl.cc new file mode 100644 index 0000000000000..97f50333f7fbb --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_connection_impl.cc @@ -0,0 +1,1108 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#include "google/cloud/agentregistry/v1/internal/agent_registry_connection_impl.h" +#include "google/cloud/agentregistry/v1/internal/agent_registry_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 agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN +namespace { + +std::unique_ptr retry_policy( + Options const& options) { + return options.get() + ->clone(); +} + +std::unique_ptr backoff_policy(Options const& options) { + return options.get() + ->clone(); +} + +std::unique_ptr +idempotency_policy(Options const& options) { + return options + .get() + ->clone(); +} + +std::unique_ptr polling_policy(Options const& options) { + return options.get() + ->clone(); +} + +} // namespace + +AgentRegistryConnectionImpl::AgentRegistryConnectionImpl( + std::unique_ptr background, + std::shared_ptr stub, + Options options) + : background_(std::move(background)), + stub_(std::move(stub)), + options_(internal::MergeOptions(std::move(options), + AgentRegistryConnection::options())) {} + +StreamRange +AgentRegistryConnectionImpl::ListAgents( + google::cloud::agentregistry::v1::ListAgentsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListAgents(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::agentregistry::v1::ListAgentsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListAgentsRequest const& + request) { + return stub->ListAgents(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::agentregistry::v1::ListAgentsResponse r) { + std::vector result( + r.agents().size()); + auto& messages = *r.mutable_agents(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StreamRange +AgentRegistryConnectionImpl::SearchAgents( + google::cloud::agentregistry::v1::SearchAgentsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->SearchAgents(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::agentregistry::v1::SearchAgentsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchAgentsRequest const& + request) { + return stub->SearchAgents(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::agentregistry::v1::SearchAgentsResponse r) { + std::vector result( + r.agents().size()); + auto& messages = *r.mutable_agents(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +AgentRegistryConnectionImpl::GetAgent( + google::cloud::agentregistry::v1::GetAgentRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetAgent(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetAgentRequest const& request) { + return stub_->GetAgent(context, options, request); + }, + *current, request, __func__); +} + +StreamRange +AgentRegistryConnectionImpl::ListEndpoints( + google::cloud::agentregistry::v1::ListEndpointsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListEndpoints(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::agentregistry::v1::ListEndpointsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListEndpointsRequest const& + request) { + return stub->ListEndpoints(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::agentregistry::v1::ListEndpointsResponse r) { + std::vector result( + r.endpoints().size()); + auto& messages = *r.mutable_endpoints(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +AgentRegistryConnectionImpl::GetEndpoint( + google::cloud::agentregistry::v1::GetEndpointRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetEndpoint(request), + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetEndpointRequest const& request) { + return stub_->GetEndpoint(context, options, request); + }, + *current, request, __func__); +} + +StreamRange +AgentRegistryConnectionImpl::ListMcpServers( + google::cloud::agentregistry::v1::ListMcpServersRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListMcpServers(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::agentregistry::v1::ListMcpServersRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub]( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListMcpServersRequest const& + request) { + return stub->ListMcpServers(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::agentregistry::v1::ListMcpServersResponse r) { + std::vector result( + r.mcp_servers().size()); + auto& messages = *r.mutable_mcp_servers(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StreamRange +AgentRegistryConnectionImpl::SearchMcpServers( + google::cloud::agentregistry::v1::SearchMcpServersRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->SearchMcpServers(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::agentregistry::v1::SearchMcpServersRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub]( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchMcpServersRequest const& + request) { + return stub->SearchMcpServers(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::agentregistry::v1::SearchMcpServersResponse r) { + std::vector result( + r.mcp_servers().size()); + auto& messages = *r.mutable_mcp_servers(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +AgentRegistryConnectionImpl::GetMcpServer( + google::cloud::agentregistry::v1::GetMcpServerRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetMcpServer(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetMcpServerRequest const& + request) { + return stub_->GetMcpServer(context, options, request); + }, + *current, request, __func__); +} + +StreamRange +AgentRegistryConnectionImpl::ListServices( + google::cloud::agentregistry::v1::ListServicesRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListServices(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::agentregistry::v1::ListServicesRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListServicesRequest const& + request) { + return stub->ListServices(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::agentregistry::v1::ListServicesResponse r) { + std::vector result( + r.services().size()); + auto& messages = *r.mutable_services(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +AgentRegistryConnectionImpl::GetService( + google::cloud::agentregistry::v1::GetServiceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetService(request), + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetServiceRequest const& request) { + return stub_->GetService(context, options, request); + }, + *current, request, __func__); +} + +future> +AgentRegistryConnectionImpl::CreateService( + google::cloud::agentregistry::v1::CreateServiceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->CreateService(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::agentregistry::v1::Service>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateServiceRequest const& + request) { + return stub->AsyncCreateService(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::agentregistry::v1::Service>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +AgentRegistryConnectionImpl::CreateService( + NoAwaitTag, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->CreateService(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::CreateServiceRequest const& + request) { + return stub_->CreateService(context, options, request); + }, + *current, request, __func__); +} + +future> +AgentRegistryConnectionImpl::CreateService( + 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 CreateService", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::agentregistry::v1::Service>( + 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::agentregistry::v1::Service>, + polling_policy(*current), __func__); +} + +future> +AgentRegistryConnectionImpl::UpdateService( + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->UpdateService(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::agentregistry::v1::Service>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& + request) { + return stub->AsyncUpdateService(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::agentregistry::v1::Service>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +AgentRegistryConnectionImpl::UpdateService( + NoAwaitTag, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->UpdateService(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& + request) { + return stub_->UpdateService(context, options, request); + }, + *current, request, __func__); +} + +future> +AgentRegistryConnectionImpl::UpdateService( + 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 UpdateService", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::agentregistry::v1::Service>( + 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::agentregistry::v1::Service>, + polling_policy(*current), __func__); +} + +future> +AgentRegistryConnectionImpl::DeleteService( + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->DeleteService(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::agentregistry::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::agentregistry::v1::DeleteServiceRequest const& + request) { + return stub->AsyncDeleteService(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::agentregistry::v1::OperationMetadata>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +AgentRegistryConnectionImpl::DeleteService( + NoAwaitTag, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeleteService(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& + request) { + return stub_->DeleteService(context, options, request); + }, + *current, request, __func__); +} + +future> +AgentRegistryConnectionImpl::DeleteService( + 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 DeleteService", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::agentregistry::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::agentregistry::v1::OperationMetadata>, + polling_policy(*current), __func__); +} + +StreamRange +AgentRegistryConnectionImpl::ListBindings( + google::cloud::agentregistry::v1::ListBindingsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListBindings(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::agentregistry::v1::ListBindingsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListBindingsRequest const& + request) { + return stub->ListBindings(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::agentregistry::v1::ListBindingsResponse r) { + std::vector result( + r.bindings().size()); + auto& messages = *r.mutable_bindings(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +AgentRegistryConnectionImpl::GetBinding( + google::cloud::agentregistry::v1::GetBindingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetBinding(request), + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetBindingRequest const& request) { + return stub_->GetBinding(context, options, request); + }, + *current, request, __func__); +} + +future> +AgentRegistryConnectionImpl::CreateBinding( + google::cloud::agentregistry::v1::CreateBindingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->CreateBinding(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::agentregistry::v1::Binding>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateBindingRequest const& + request) { + return stub->AsyncCreateBinding(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::agentregistry::v1::Binding>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +AgentRegistryConnectionImpl::CreateBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->CreateBinding(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::CreateBindingRequest const& + request) { + return stub_->CreateBinding(context, options, request); + }, + *current, request, __func__); +} + +future> +AgentRegistryConnectionImpl::CreateBinding( + 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 CreateBinding", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::agentregistry::v1::Binding>( + 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::agentregistry::v1::Binding>, + polling_policy(*current), __func__); +} + +future> +AgentRegistryConnectionImpl::UpdateBinding( + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->UpdateBinding(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::agentregistry::v1::Binding>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& + request) { + return stub->AsyncUpdateBinding(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::agentregistry::v1::Binding>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +AgentRegistryConnectionImpl::UpdateBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->UpdateBinding(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& + request) { + return stub_->UpdateBinding(context, options, request); + }, + *current, request, __func__); +} + +future> +AgentRegistryConnectionImpl::UpdateBinding( + 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 UpdateBinding", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::agentregistry::v1::Binding>( + 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::agentregistry::v1::Binding>, + polling_policy(*current), __func__); +} + +future> +AgentRegistryConnectionImpl::DeleteBinding( + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->DeleteBinding(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::agentregistry::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::agentregistry::v1::DeleteBindingRequest const& + request) { + return stub->AsyncDeleteBinding(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::agentregistry::v1::OperationMetadata>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +AgentRegistryConnectionImpl::DeleteBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeleteBinding(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& + request) { + return stub_->DeleteBinding(context, options, request); + }, + *current, request, __func__); +} + +future> +AgentRegistryConnectionImpl::DeleteBinding( + 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 DeleteBinding", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::agentregistry::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::agentregistry::v1::OperationMetadata>, + polling_policy(*current), __func__); +} + +StreamRange +AgentRegistryConnectionImpl::FetchAvailableBindings( + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = + idempotency_policy(*current)->FetchAvailableBindings(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest const& + r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1:: + FetchAvailableBindingsRequest const& request) { + return stub->FetchAvailableBindings(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::agentregistry::v1::FetchAvailableBindingsResponse r) { + std::vector result( + r.bindings().size()); + auto& messages = *r.mutable_bindings(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StreamRange +AgentRegistryConnectionImpl::ListLocations( + google::cloud::location::ListLocationsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListLocations(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::location::ListLocationsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub]( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + return stub->ListLocations(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::location::ListLocationsResponse r) { + std::vector result( + r.locations().size()); + auto& messages = *r.mutable_locations(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +AgentRegistryConnectionImpl::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 +AgentRegistryConnectionImpl::ListOperations( + google::longrunning::ListOperationsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListOperations(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::longrunning::ListOperationsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + return stub->ListOperations(context, options, request); + }, + options, r, function_name); + }, + [](google::longrunning::ListOperationsResponse r) { + std::vector result( + r.operations().size()); + auto& messages = *r.mutable_operations(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +AgentRegistryConnectionImpl::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 AgentRegistryConnectionImpl::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 AgentRegistryConnectionImpl::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 agentregistry_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_connection_impl.h b/google/cloud/agentregistry/v1/internal/agent_registry_connection_impl.h new file mode 100644 index 0000000000000..c19ff76ca0705 --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_connection_impl.h @@ -0,0 +1,202 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_CONNECTION_IMPL_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_CONNECTION_IMPL_H + +#include "google/cloud/agentregistry/v1/agent_registry_connection.h" +#include "google/cloud/agentregistry/v1/agent_registry_connection_idempotency_policy.h" +#include "google/cloud/agentregistry/v1/agent_registry_options.h" +#include "google/cloud/agentregistry/v1/internal/agent_registry_retry_traits.h" +#include "google/cloud/agentregistry/v1/internal/agent_registry_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 agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class AgentRegistryConnectionImpl + : public agentregistry_v1::AgentRegistryConnection { + public: + ~AgentRegistryConnectionImpl() override = default; + + AgentRegistryConnectionImpl( + std::unique_ptr background, + std::shared_ptr stub, + Options options); + + Options options() override { return options_; } + + StreamRange ListAgents( + google::cloud::agentregistry::v1::ListAgentsRequest request) override; + + StreamRange SearchAgents( + google::cloud::agentregistry::v1::SearchAgentsRequest request) override; + + StatusOr GetAgent( + google::cloud::agentregistry::v1::GetAgentRequest const& request) + override; + + StreamRange ListEndpoints( + google::cloud::agentregistry::v1::ListEndpointsRequest request) override; + + StatusOr GetEndpoint( + google::cloud::agentregistry::v1::GetEndpointRequest const& request) + override; + + StreamRange ListMcpServers( + google::cloud::agentregistry::v1::ListMcpServersRequest request) override; + + StreamRange SearchMcpServers( + google::cloud::agentregistry::v1::SearchMcpServersRequest request) + override; + + StatusOr GetMcpServer( + google::cloud::agentregistry::v1::GetMcpServerRequest const& request) + override; + + StreamRange ListServices( + google::cloud::agentregistry::v1::ListServicesRequest request) override; + + StatusOr GetService( + google::cloud::agentregistry::v1::GetServiceRequest const& request) + override; + + future> CreateService( + google::cloud::agentregistry::v1::CreateServiceRequest const& request) + override; + + StatusOr CreateService( + NoAwaitTag, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) + override; + + future> CreateService( + google::longrunning::Operation const& operation) override; + + future> UpdateService( + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) + override; + + StatusOr UpdateService( + NoAwaitTag, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) + override; + + future> UpdateService( + google::longrunning::Operation const& operation) override; + + future> + DeleteService(google::cloud::agentregistry::v1::DeleteServiceRequest const& + request) override; + + StatusOr DeleteService( + NoAwaitTag, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) + override; + + future> + DeleteService(google::longrunning::Operation const& operation) override; + + StreamRange ListBindings( + google::cloud::agentregistry::v1::ListBindingsRequest request) override; + + StatusOr GetBinding( + google::cloud::agentregistry::v1::GetBindingRequest const& request) + override; + + future> CreateBinding( + google::cloud::agentregistry::v1::CreateBindingRequest const& request) + override; + + StatusOr CreateBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) + override; + + future> CreateBinding( + google::longrunning::Operation const& operation) override; + + future> UpdateBinding( + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) + override; + + StatusOr UpdateBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) + override; + + future> UpdateBinding( + google::longrunning::Operation const& operation) override; + + future> + DeleteBinding(google::cloud::agentregistry::v1::DeleteBindingRequest const& + request) override; + + StatusOr DeleteBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) + override; + + future> + DeleteBinding(google::longrunning::Operation const& operation) override; + + StreamRange FetchAvailableBindings( + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest request) + override; + + StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request) override; + + StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request) override; + + StreamRange ListOperations( + google::longrunning::ListOperationsRequest request) override; + + StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::unique_ptr background_; + std::shared_ptr stub_; + Options options_; +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_CONNECTION_IMPL_H diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_logging_decorator.cc b/google/cloud/agentregistry/v1/internal/agent_registry_logging_decorator.cc new file mode 100644 index 0000000000000..d6bb1fea55e4f --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_logging_decorator.cc @@ -0,0 +1,505 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#include "google/cloud/agentregistry/v1/internal/agent_registry_logging_decorator.h" +#include "google/cloud/agentregistry/v1/agentregistry_service.grpc.pb.h" +#include "google/cloud/internal/log_wrapper.h" +#include "google/cloud/status_or.h" +#include +#include +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +AgentRegistryLogging::AgentRegistryLogging( + std::shared_ptr child, TracingOptions tracing_options, + std::set const&) + : child_(std::move(child)), tracing_options_(std::move(tracing_options)) {} + +StatusOr +AgentRegistryLogging::ListAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListAgentsRequest const& request) { + return google::cloud::internal::LogWrapper( + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListAgentsRequest const& request) { + return child_->ListAgents(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AgentRegistryLogging::SearchAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchAgentsRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchAgentsRequest const& + request) { + return child_->SearchAgents(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AgentRegistryLogging::GetAgent( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetAgentRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetAgentRequest const& request) { + return child_->GetAgent(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AgentRegistryLogging::ListEndpoints( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListEndpointsRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListEndpointsRequest const& + request) { + return child_->ListEndpoints(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AgentRegistryLogging::GetEndpoint( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetEndpointRequest const& request) { + return google::cloud::internal::LogWrapper( + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetEndpointRequest const& request) { + return child_->GetEndpoint(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AgentRegistryLogging::ListMcpServers( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListMcpServersRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListMcpServersRequest const& + request) { + return child_->ListMcpServers(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AgentRegistryLogging::SearchMcpServers( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchMcpServersRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchMcpServersRequest const& + request) { + return child_->SearchMcpServers(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AgentRegistryLogging::GetMcpServer( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetMcpServerRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetMcpServerRequest const& + request) { + return child_->GetMcpServer(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AgentRegistryLogging::ListServices( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListServicesRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListServicesRequest const& + request) { + return child_->ListServices(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AgentRegistryLogging::GetService( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetServiceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetServiceRequest const& request) { + return child_->GetService(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +AgentRegistryLogging::AsyncCreateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateServiceRequest const& + request) { + return child_->AsyncCreateService(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr AgentRegistryLogging::CreateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::CreateServiceRequest const& + request) { + return child_->CreateService(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +AgentRegistryLogging::AsyncUpdateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& + request) { + return child_->AsyncUpdateService(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr AgentRegistryLogging::UpdateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& + request) { + return child_->UpdateService(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +AgentRegistryLogging::AsyncDeleteService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& + request) { + return child_->AsyncDeleteService(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr AgentRegistryLogging::DeleteService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& + request) { + return child_->DeleteService(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AgentRegistryLogging::ListBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListBindingsRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListBindingsRequest const& + request) { + return child_->ListBindings(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AgentRegistryLogging::GetBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetBindingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetBindingRequest const& request) { + return child_->GetBinding(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +AgentRegistryLogging::AsyncCreateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateBindingRequest const& + request) { + return child_->AsyncCreateBinding(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr AgentRegistryLogging::CreateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::CreateBindingRequest const& + request) { + return child_->CreateBinding(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +AgentRegistryLogging::AsyncUpdateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& + request) { + return child_->AsyncUpdateBinding(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr AgentRegistryLogging::UpdateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& + request) { + return child_->UpdateBinding(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +AgentRegistryLogging::AsyncDeleteBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& + request) { + return child_->AsyncDeleteBinding(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr AgentRegistryLogging::DeleteBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& + request) { + return child_->DeleteBinding(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AgentRegistryLogging::FetchAvailableBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest const& + request) { + return child_->FetchAvailableBindings(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +AgentRegistryLogging::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 AgentRegistryLogging::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 +AgentRegistryLogging::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 AgentRegistryLogging::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 AgentRegistryLogging::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 AgentRegistryLogging::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> +AgentRegistryLogging::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 AgentRegistryLogging::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 agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_logging_decorator.h b/google/cloud/agentregistry/v1/internal/agent_registry_logging_decorator.h new file mode 100644 index 0000000000000..ac77ce3dab216 --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_logging_decorator.h @@ -0,0 +1,232 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_LOGGING_DECORATOR_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_LOGGING_DECORATOR_H + +#include "google/cloud/agentregistry/v1/internal/agent_registry_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 agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class AgentRegistryLogging : public AgentRegistryStub { + public: + ~AgentRegistryLogging() override = default; + AgentRegistryLogging(std::shared_ptr child, + TracingOptions tracing_options, + std::set const& components); + + StatusOr ListAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListAgentsRequest const& request) + override; + + StatusOr SearchAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchAgentsRequest const& request) + override; + + StatusOr GetAgent( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetAgentRequest const& request) + override; + + StatusOr + ListEndpoints(grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListEndpointsRequest const& + request) override; + + StatusOr GetEndpoint( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetEndpointRequest const& request) + override; + + StatusOr + ListMcpServers(grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListMcpServersRequest const& + request) override; + + StatusOr + SearchMcpServers( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchMcpServersRequest const& request) + override; + + StatusOr GetMcpServer( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetMcpServerRequest const& request) + override; + + StatusOr ListServices( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListServicesRequest const& request) + override; + + StatusOr GetService( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetServiceRequest const& request) + override; + + future> AsyncCreateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) + override; + + StatusOr CreateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) + override; + + future> AsyncUpdateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) + override; + + StatusOr UpdateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) + override; + + future> AsyncDeleteService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) + override; + + StatusOr DeleteService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) + override; + + StatusOr ListBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListBindingsRequest const& request) + override; + + StatusOr GetBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetBindingRequest const& request) + override; + + future> AsyncCreateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) + override; + + StatusOr CreateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) + override; + + future> AsyncUpdateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) + override; + + StatusOr UpdateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) + override; + + future> AsyncDeleteBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) + override; + + StatusOr DeleteBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) + override; + + StatusOr + FetchAvailableBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest 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_; +}; // AgentRegistryLogging + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_LOGGING_DECORATOR_H diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_metadata_decorator.cc b/google/cloud/agentregistry/v1/internal/agent_registry_metadata_decorator.cc new file mode 100644 index 0000000000000..ff8447e16f8fb --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_metadata_decorator.cc @@ -0,0 +1,384 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#include "google/cloud/agentregistry/v1/internal/agent_registry_metadata_decorator.h" +#include "google/cloud/agentregistry/v1/agentregistry_service.grpc.pb.h" +#include "google/cloud/grpc_options.h" +#include "google/cloud/internal/api_client_header.h" +#include "google/cloud/internal/url_encode.h" +#include "google/cloud/status_or.h" +#include "absl/strings/str_cat.h" +#include "absl/strings/str_join.h" +#include +#include +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +AgentRegistryMetadata::AgentRegistryMetadata( + 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 +AgentRegistryMetadata::ListAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListAgentsRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListAgents(context, options, request); +} + +StatusOr +AgentRegistryMetadata::SearchAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchAgentsRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->SearchAgents(context, options, request); +} + +StatusOr +AgentRegistryMetadata::GetAgent( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetAgentRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetAgent(context, options, request); +} + +StatusOr +AgentRegistryMetadata::ListEndpoints( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListEndpointsRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListEndpoints(context, options, request); +} + +StatusOr +AgentRegistryMetadata::GetEndpoint( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetEndpointRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetEndpoint(context, options, request); +} + +StatusOr +AgentRegistryMetadata::ListMcpServers( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListMcpServersRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListMcpServers(context, options, request); +} + +StatusOr +AgentRegistryMetadata::SearchMcpServers( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchMcpServersRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->SearchMcpServers(context, options, request); +} + +StatusOr +AgentRegistryMetadata::GetMcpServer( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetMcpServerRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetMcpServer(context, options, request); +} + +StatusOr +AgentRegistryMetadata::ListServices( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListServicesRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListServices(context, options, request); +} + +StatusOr +AgentRegistryMetadata::GetService( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetServiceRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetService(context, options, request); +} + +future> +AgentRegistryMetadata::AsyncCreateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->AsyncCreateService(cq, std::move(context), std::move(options), + request); +} + +StatusOr AgentRegistryMetadata::CreateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->CreateService(context, options, request); +} + +future> +AgentRegistryMetadata::AsyncUpdateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("service.name=", + internal::UrlEncode(request.service().name()))); + return child_->AsyncUpdateService(cq, std::move(context), std::move(options), + request); +} + +StatusOr AgentRegistryMetadata::UpdateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) { + SetMetadata(context, options, + absl::StrCat("service.name=", + internal::UrlEncode(request.service().name()))); + return child_->UpdateService(context, options, request); +} + +future> +AgentRegistryMetadata::AsyncDeleteService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncDeleteService(cq, std::move(context), std::move(options), + request); +} + +StatusOr AgentRegistryMetadata::DeleteService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->DeleteService(context, options, request); +} + +StatusOr +AgentRegistryMetadata::ListBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListBindingsRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListBindings(context, options, request); +} + +StatusOr +AgentRegistryMetadata::GetBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetBindingRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetBinding(context, options, request); +} + +future> +AgentRegistryMetadata::AsyncCreateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->AsyncCreateBinding(cq, std::move(context), std::move(options), + request); +} + +StatusOr AgentRegistryMetadata::CreateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->CreateBinding(context, options, request); +} + +future> +AgentRegistryMetadata::AsyncUpdateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("binding.name=", + internal::UrlEncode(request.binding().name()))); + return child_->AsyncUpdateBinding(cq, std::move(context), std::move(options), + request); +} + +StatusOr AgentRegistryMetadata::UpdateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) { + SetMetadata(context, options, + absl::StrCat("binding.name=", + internal::UrlEncode(request.binding().name()))); + return child_->UpdateBinding(context, options, request); +} + +future> +AgentRegistryMetadata::AsyncDeleteBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncDeleteBinding(cq, std::move(context), std::move(options), + request); +} + +StatusOr AgentRegistryMetadata::DeleteBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->DeleteBinding(context, options, request); +} + +StatusOr +AgentRegistryMetadata::FetchAvailableBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->FetchAvailableBindings(context, options, request); +} + +StatusOr +AgentRegistryMetadata::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 AgentRegistryMetadata::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 +AgentRegistryMetadata::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 AgentRegistryMetadata::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 AgentRegistryMetadata::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 AgentRegistryMetadata::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> +AgentRegistryMetadata::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 AgentRegistryMetadata::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 AgentRegistryMetadata::SetMetadata(grpc::ClientContext& context, + Options const& options, + std::string const& request_params) { + context.AddMetadata("x-goog-request-params", request_params); + SetMetadata(context, options); +} + +void AgentRegistryMetadata::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 agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_metadata_decorator.h b/google/cloud/agentregistry/v1/internal/agent_registry_metadata_decorator.h new file mode 100644 index 0000000000000..80dfa3212edf8 --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_metadata_decorator.h @@ -0,0 +1,237 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_METADATA_DECORATOR_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_METADATA_DECORATOR_H + +#include "google/cloud/agentregistry/v1/internal/agent_registry_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 agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class AgentRegistryMetadata : public AgentRegistryStub { + public: + ~AgentRegistryMetadata() override = default; + AgentRegistryMetadata(std::shared_ptr child, + std::multimap fixed_metadata, + std::string api_client_header = ""); + + StatusOr ListAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListAgentsRequest const& request) + override; + + StatusOr SearchAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchAgentsRequest const& request) + override; + + StatusOr GetAgent( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetAgentRequest const& request) + override; + + StatusOr + ListEndpoints(grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListEndpointsRequest const& + request) override; + + StatusOr GetEndpoint( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetEndpointRequest const& request) + override; + + StatusOr + ListMcpServers(grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListMcpServersRequest const& + request) override; + + StatusOr + SearchMcpServers( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchMcpServersRequest const& request) + override; + + StatusOr GetMcpServer( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetMcpServerRequest const& request) + override; + + StatusOr ListServices( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListServicesRequest const& request) + override; + + StatusOr GetService( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetServiceRequest const& request) + override; + + future> AsyncCreateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) + override; + + StatusOr CreateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) + override; + + future> AsyncUpdateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) + override; + + StatusOr UpdateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) + override; + + future> AsyncDeleteService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) + override; + + StatusOr DeleteService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) + override; + + StatusOr ListBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListBindingsRequest const& request) + override; + + StatusOr GetBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetBindingRequest const& request) + override; + + future> AsyncCreateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) + override; + + StatusOr CreateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) + override; + + future> AsyncUpdateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) + override; + + StatusOr UpdateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) + override; + + future> AsyncDeleteBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) + override; + + StatusOr DeleteBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) + override; + + StatusOr + FetchAvailableBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest 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 agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_METADATA_DECORATOR_H diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_option_defaults.cc b/google/cloud/agentregistry/v1/internal/agent_registry_option_defaults.cc new file mode 100644 index 0000000000000..385cf387e1398 --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_option_defaults.cc @@ -0,0 +1,81 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#include "google/cloud/agentregistry/v1/internal/agent_registry_option_defaults.h" +#include "google/cloud/agentregistry/v1/agent_registry_connection.h" +#include "google/cloud/agentregistry/v1/agent_registry_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 agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +namespace { +auto constexpr kBackoffScaling = 2.0; +} // namespace + +Options AgentRegistryDefaultOptions(Options options) { + options = internal::PopulateCommonOptions( + std::move(options), "GOOGLE_CLOUD_CPP_AGENT_REGISTRY_ENDPOINT", "", + "GOOGLE_CLOUD_CPP_AGENT_REGISTRY_AUTHORITY", + "agentregistry.googleapis.com"); + options = internal::PopulateGrpcOptions(std::move(options)); + if (!options.has()) { + options.set( + agentregistry_v1::AgentRegistryLimitedTimeRetryPolicy( + std::chrono::minutes(10)) + .clone()); + } + if (!options.has()) { + options.set( + ExponentialBackoffPolicy( + std::chrono::seconds(0), std::chrono::seconds(1), + std::chrono::minutes(5), kBackoffScaling, kBackoffScaling) + .clone()); + } + if (!options.has()) { + options.set( + GenericPollingPolicy< + agentregistry_v1::AgentRegistryRetryPolicyOption::Type, + agentregistry_v1::AgentRegistryBackoffPolicyOption::Type>( + options.get() + ->clone(), + ExponentialBackoffPolicy(std::chrono::seconds(1), + std::chrono::minutes(5), kBackoffScaling) + .clone()) + .clone()); + } + if (!options.has< + agentregistry_v1::AgentRegistryConnectionIdempotencyPolicyOption>()) { + options + .set( + agentregistry_v1:: + MakeDefaultAgentRegistryConnectionIdempotencyPolicy()); + } + + return options; +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_option_defaults.h b/google/cloud/agentregistry/v1/internal/agent_registry_option_defaults.h new file mode 100644 index 0000000000000..61bbe50b47246 --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_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/agentregistry/v1/agentregistry_service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_OPTION_DEFAULTS_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_OPTION_DEFAULTS_H + +#include "google/cloud/options.h" +#include "google/cloud/version.h" + +namespace google { +namespace cloud { +namespace agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +Options AgentRegistryDefaultOptions(Options options); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_OPTION_DEFAULTS_H diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_retry_traits.h b/google/cloud/agentregistry/v1/internal/agent_registry_retry_traits.h new file mode 100644 index 0000000000000..8bbac01a8c968 --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_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/agentregistry/v1/agentregistry_service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_RETRY_TRAITS_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_RETRY_TRAITS_H + +#include "google/cloud/status.h" +#include "google/cloud/version.h" + +namespace google { +namespace cloud { +namespace agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/// Define the gRPC status code semantics for retrying requests. +struct AgentRegistryRetryTraits { + static bool IsPermanentFailure(google::cloud::Status const& status) { + return status.code() != StatusCode::kOk && + status.code() != StatusCode::kUnavailable; + } +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_RETRY_TRAITS_H diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_sources.cc b/google/cloud/agentregistry/v1/internal/agent_registry_sources.cc new file mode 100644 index 0000000000000..1d2d520feafa5 --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_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/agentregistry/v1/agentregistry_service.proto + +// NOLINTBEGIN(bugprone-suspicious-include) +#include "google/cloud/agentregistry/v1/agent_registry_client.cc" +#include "google/cloud/agentregistry/v1/agent_registry_connection.cc" +#include "google/cloud/agentregistry/v1/agent_registry_connection_idempotency_policy.cc" +#include "google/cloud/agentregistry/v1/internal/agent_registry_auth_decorator.cc" +#include "google/cloud/agentregistry/v1/internal/agent_registry_connection_impl.cc" +#include "google/cloud/agentregistry/v1/internal/agent_registry_logging_decorator.cc" +#include "google/cloud/agentregistry/v1/internal/agent_registry_metadata_decorator.cc" +#include "google/cloud/agentregistry/v1/internal/agent_registry_option_defaults.cc" +#include "google/cloud/agentregistry/v1/internal/agent_registry_stub.cc" +#include "google/cloud/agentregistry/v1/internal/agent_registry_stub_factory.cc" +#include "google/cloud/agentregistry/v1/internal/agent_registry_tracing_connection.cc" +#include "google/cloud/agentregistry/v1/internal/agent_registry_tracing_stub.cc" +// NOLINTEND(bugprone-suspicious-include) diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_stub.cc b/google/cloud/agentregistry/v1/internal/agent_registry_stub.cc new file mode 100644 index 0000000000000..9a6dba3f5fe27 --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_stub.cc @@ -0,0 +1,494 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#include "google/cloud/agentregistry/v1/internal/agent_registry_stub.h" +#include "google/cloud/agentregistry/v1/agentregistry_service.grpc.pb.h" +#include "google/cloud/grpc_error_delegate.h" +#include "google/cloud/status_or.h" +#include "google/longrunning/operations.grpc.pb.h" +#include +#include + +// Must be included last. +#include "google/cloud/ports_def.inc" + +namespace google { +namespace cloud { +namespace agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +AgentRegistryStub::~AgentRegistryStub() = default; + +StatusOr +DefaultAgentRegistryStub::ListAgents( + grpc::ClientContext& context, Options const&, + google::cloud::agentregistry::v1::ListAgentsRequest const& request) { + google::cloud::agentregistry::v1::ListAgentsResponse response; + auto status = grpc_stub_->ListAgents(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAgentRegistryStub::SearchAgents( + grpc::ClientContext& context, Options const&, + google::cloud::agentregistry::v1::SearchAgentsRequest const& request) { + google::cloud::agentregistry::v1::SearchAgentsResponse response; + auto status = grpc_stub_->SearchAgents(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAgentRegistryStub::GetAgent( + grpc::ClientContext& context, Options const&, + google::cloud::agentregistry::v1::GetAgentRequest const& request) { + google::cloud::agentregistry::v1::Agent response; + auto status = grpc_stub_->GetAgent(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAgentRegistryStub::ListEndpoints( + grpc::ClientContext& context, Options const&, + google::cloud::agentregistry::v1::ListEndpointsRequest const& request) { + google::cloud::agentregistry::v1::ListEndpointsResponse response; + auto status = grpc_stub_->ListEndpoints(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAgentRegistryStub::GetEndpoint( + grpc::ClientContext& context, Options const&, + google::cloud::agentregistry::v1::GetEndpointRequest const& request) { + google::cloud::agentregistry::v1::Endpoint response; + auto status = grpc_stub_->GetEndpoint(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAgentRegistryStub::ListMcpServers( + grpc::ClientContext& context, Options const&, + google::cloud::agentregistry::v1::ListMcpServersRequest const& request) { + google::cloud::agentregistry::v1::ListMcpServersResponse response; + auto status = grpc_stub_->ListMcpServers(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAgentRegistryStub::SearchMcpServers( + grpc::ClientContext& context, Options const&, + google::cloud::agentregistry::v1::SearchMcpServersRequest const& request) { + google::cloud::agentregistry::v1::SearchMcpServersResponse response; + auto status = grpc_stub_->SearchMcpServers(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAgentRegistryStub::GetMcpServer( + grpc::ClientContext& context, Options const&, + google::cloud::agentregistry::v1::GetMcpServerRequest const& request) { + google::cloud::agentregistry::v1::McpServer response; + auto status = grpc_stub_->GetMcpServer(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAgentRegistryStub::ListServices( + grpc::ClientContext& context, Options const&, + google::cloud::agentregistry::v1::ListServicesRequest const& request) { + google::cloud::agentregistry::v1::ListServicesResponse response; + auto status = grpc_stub_->ListServices(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAgentRegistryStub::GetService( + grpc::ClientContext& context, Options const&, + google::cloud::agentregistry::v1::GetServiceRequest const& request) { + google::cloud::agentregistry::v1::Service response; + auto status = grpc_stub_->GetService(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultAgentRegistryStub::AsyncCreateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::agentregistry::v1::CreateServiceRequest, + google::longrunning::Operation>( + cq, + [this]( + grpc::ClientContext* context, + google::cloud::agentregistry::v1::CreateServiceRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncCreateService(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultAgentRegistryStub::CreateService( + grpc::ClientContext& context, Options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->CreateService(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultAgentRegistryStub::AsyncUpdateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::agentregistry::v1::UpdateServiceRequest, + google::longrunning::Operation>( + cq, + [this]( + grpc::ClientContext* context, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncUpdateService(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultAgentRegistryStub::UpdateService( + grpc::ClientContext& context, Options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->UpdateService(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultAgentRegistryStub::AsyncDeleteService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::agentregistry::v1::DeleteServiceRequest, + google::longrunning::Operation>( + cq, + [this]( + grpc::ClientContext* context, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncDeleteService(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultAgentRegistryStub::DeleteService( + grpc::ClientContext& context, Options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->DeleteService(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAgentRegistryStub::ListBindings( + grpc::ClientContext& context, Options const&, + google::cloud::agentregistry::v1::ListBindingsRequest const& request) { + google::cloud::agentregistry::v1::ListBindingsResponse response; + auto status = grpc_stub_->ListBindings(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAgentRegistryStub::GetBinding( + grpc::ClientContext& context, Options const&, + google::cloud::agentregistry::v1::GetBindingRequest const& request) { + google::cloud::agentregistry::v1::Binding response; + auto status = grpc_stub_->GetBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultAgentRegistryStub::AsyncCreateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::agentregistry::v1::CreateBindingRequest, + google::longrunning::Operation>( + cq, + [this]( + grpc::ClientContext* context, + google::cloud::agentregistry::v1::CreateBindingRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncCreateBinding(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultAgentRegistryStub::CreateBinding( + grpc::ClientContext& context, Options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->CreateBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultAgentRegistryStub::AsyncUpdateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::agentregistry::v1::UpdateBindingRequest, + google::longrunning::Operation>( + cq, + [this]( + grpc::ClientContext* context, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncUpdateBinding(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultAgentRegistryStub::UpdateBinding( + grpc::ClientContext& context, Options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->UpdateBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultAgentRegistryStub::AsyncDeleteBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::agentregistry::v1::DeleteBindingRequest, + google::longrunning::Operation>( + cq, + [this]( + grpc::ClientContext* context, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncDeleteBinding(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultAgentRegistryStub::DeleteBinding( + grpc::ClientContext& context, Options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->DeleteBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAgentRegistryStub::FetchAvailableBindings( + grpc::ClientContext& context, Options const&, + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest const& + request) { + google::cloud::agentregistry::v1::FetchAvailableBindingsResponse response; + auto status = + grpc_stub_->FetchAvailableBindings(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultAgentRegistryStub::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 +DefaultAgentRegistryStub::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 +DefaultAgentRegistryStub::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 DefaultAgentRegistryStub::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 DefaultAgentRegistryStub::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 DefaultAgentRegistryStub::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> +DefaultAgentRegistryStub::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 DefaultAgentRegistryStub::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 agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_stub.h b/google/cloud/agentregistry/v1/internal/agent_registry_stub.h new file mode 100644 index 0000000000000..620b49d6b46bb --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_stub.h @@ -0,0 +1,424 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_STUB_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_STUB_H + +#include "google/cloud/agentregistry/v1/agentregistry_service.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 agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class AgentRegistryStub { + public: + virtual ~AgentRegistryStub() = 0; + + virtual StatusOr + ListAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListAgentsRequest const& request) = 0; + + virtual StatusOr + SearchAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchAgentsRequest const& request) = 0; + + virtual StatusOr GetAgent( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetAgentRequest const& request) = 0; + + virtual StatusOr + ListEndpoints(grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListEndpointsRequest const& + request) = 0; + + virtual StatusOr GetEndpoint( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetEndpointRequest const& request) = 0; + + virtual StatusOr + ListMcpServers(grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListMcpServersRequest const& + request) = 0; + + virtual StatusOr + SearchMcpServers( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchMcpServersRequest const& + request) = 0; + + virtual StatusOr GetMcpServer( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetMcpServerRequest const& request) = 0; + + virtual StatusOr + ListServices( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListServicesRequest const& request) = 0; + + virtual StatusOr GetService( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetServiceRequest const& request) = 0; + + virtual future> AsyncCreateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateServiceRequest const& + request) = 0; + + virtual StatusOr CreateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateServiceRequest const& + request) = 0; + + virtual future> AsyncUpdateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& + request) = 0; + + virtual StatusOr UpdateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& + request) = 0; + + virtual future> AsyncDeleteService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& + request) = 0; + + virtual StatusOr DeleteService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& + request) = 0; + + virtual StatusOr + ListBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListBindingsRequest const& request) = 0; + + virtual StatusOr GetBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetBindingRequest const& request) = 0; + + virtual future> AsyncCreateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateBindingRequest const& + request) = 0; + + virtual StatusOr CreateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateBindingRequest const& + request) = 0; + + virtual future> AsyncUpdateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& + request) = 0; + + virtual StatusOr UpdateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& + request) = 0; + + virtual future> AsyncDeleteBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& + request) = 0; + + virtual StatusOr DeleteBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& + request) = 0; + + virtual StatusOr< + google::cloud::agentregistry::v1::FetchAvailableBindingsResponse> + FetchAvailableBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest 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 DefaultAgentRegistryStub : public AgentRegistryStub { + public: + DefaultAgentRegistryStub( + std::unique_ptr< + google::cloud::agentregistry::v1::AgentRegistry::StubInterface> + grpc_stub, + std::unique_ptr + locations_stub, + std::unique_ptr + operations_stub) + : grpc_stub_(std::move(grpc_stub)), + locations_stub_(std::move(locations_stub)), + operations_stub_(std::move(operations_stub)) {} + + StatusOr ListAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListAgentsRequest const& request) + override; + + StatusOr SearchAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchAgentsRequest const& request) + override; + + StatusOr GetAgent( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetAgentRequest const& request) + override; + + StatusOr + ListEndpoints(grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListEndpointsRequest const& + request) override; + + StatusOr GetEndpoint( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetEndpointRequest const& request) + override; + + StatusOr + ListMcpServers(grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListMcpServersRequest const& + request) override; + + StatusOr + SearchMcpServers( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchMcpServersRequest const& request) + override; + + StatusOr GetMcpServer( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetMcpServerRequest const& request) + override; + + StatusOr ListServices( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListServicesRequest const& request) + override; + + StatusOr GetService( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetServiceRequest const& request) + override; + + future> AsyncCreateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) + override; + + StatusOr CreateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) + override; + + future> AsyncUpdateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) + override; + + StatusOr UpdateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) + override; + + future> AsyncDeleteService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) + override; + + StatusOr DeleteService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) + override; + + StatusOr ListBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListBindingsRequest const& request) + override; + + StatusOr GetBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetBindingRequest const& request) + override; + + future> AsyncCreateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) + override; + + StatusOr CreateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) + override; + + future> AsyncUpdateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) + override; + + StatusOr UpdateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) + override; + + future> AsyncDeleteBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) + override; + + StatusOr DeleteBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) + override; + + StatusOr + FetchAvailableBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest const& + request) override; + + StatusOr ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) override; + + StatusOr GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) override; + + StatusOr ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) override; + + StatusOr GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) override; + + future> AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) override; + + future AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::unique_ptr< + google::cloud::agentregistry::v1::AgentRegistry::StubInterface> + grpc_stub_; + std::unique_ptr + locations_stub_; + std::unique_ptr + operations_stub_; +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_STUB_H diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_stub_factory.cc b/google/cloud/agentregistry/v1/internal/agent_registry_stub_factory.cc new file mode 100644 index 0000000000000..312b05058905b --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_stub_factory.cc @@ -0,0 +1,82 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/agentregistry/v1/agentregistry_service.proto + +#include "google/cloud/agentregistry/v1/internal/agent_registry_stub_factory.h" +#include "google/cloud/agentregistry/v1/agentregistry_service.grpc.pb.h" +#include "google/cloud/agentregistry/v1/internal/agent_registry_auth_decorator.h" +#include "google/cloud/agentregistry/v1/internal/agent_registry_logging_decorator.h" +#include "google/cloud/agentregistry/v1/internal/agent_registry_metadata_decorator.h" +#include "google/cloud/agentregistry/v1/internal/agent_registry_stub.h" +#include "google/cloud/agentregistry/v1/internal/agent_registry_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 agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +std::shared_ptr CreateDefaultAgentRegistryStub( + std::shared_ptr auth, + Options const& options) { + auto channel = auth->CreateChannel(options.get(), + internal::MakeChannelArguments(options)); + auto service_grpc_stub = + google::cloud::agentregistry::v1::AgentRegistry::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 = MakeAgentRegistryTracingStub(std::move(stub)); + } + return stub; +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_stub_factory.h b/google/cloud/agentregistry/v1/internal/agent_registry_stub_factory.h new file mode 100644 index 0000000000000..c0983e3638045 --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_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/agentregistry/v1/agentregistry_service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_STUB_FACTORY_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_STUB_FACTORY_H + +#include "google/cloud/agentregistry/v1/internal/agent_registry_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 agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +std::shared_ptr CreateDefaultAgentRegistryStub( + std::shared_ptr auth, + Options const& options); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_STUB_FACTORY_H diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_tracing_connection.cc b/google/cloud/agentregistry/v1/internal/agent_registry_tracing_connection.cc new file mode 100644 index 0000000000000..019f169b4cca6 --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_tracing_connection.cc @@ -0,0 +1,409 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#include "google/cloud/agentregistry/v1/internal/agent_registry_tracing_connection.h" +#include "google/cloud/internal/opentelemetry.h" +#include "google/cloud/internal/traced_stream_range.h" +#include +#include + +namespace google { +namespace cloud { +namespace agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +AgentRegistryTracingConnection::AgentRegistryTracingConnection( + std::shared_ptr child) + : child_(std::move(child)) {} + +StreamRange +AgentRegistryTracingConnection::ListAgents( + google::cloud::agentregistry::v1::ListAgentsRequest request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::ListAgents"); + internal::OTelScope scope(span); + auto sr = child_->ListAgents(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::agentregistry::v1::Agent>(std::move(span), std::move(sr)); +} + +StreamRange +AgentRegistryTracingConnection::SearchAgents( + google::cloud::agentregistry::v1::SearchAgentsRequest request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::SearchAgents"); + internal::OTelScope scope(span); + auto sr = child_->SearchAgents(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::agentregistry::v1::Agent>(std::move(span), std::move(sr)); +} + +StatusOr +AgentRegistryTracingConnection::GetAgent( + google::cloud::agentregistry::v1::GetAgentRequest const& request) { + auto span = + internal::MakeSpan("agentregistry_v1::AgentRegistryConnection::GetAgent"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetAgent(request)); +} + +StreamRange +AgentRegistryTracingConnection::ListEndpoints( + google::cloud::agentregistry::v1::ListEndpointsRequest request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::ListEndpoints"); + internal::OTelScope scope(span); + auto sr = child_->ListEndpoints(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::agentregistry::v1::Endpoint>(std::move(span), + std::move(sr)); +} + +StatusOr +AgentRegistryTracingConnection::GetEndpoint( + google::cloud::agentregistry::v1::GetEndpointRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::GetEndpoint"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetEndpoint(request)); +} + +StreamRange +AgentRegistryTracingConnection::ListMcpServers( + google::cloud::agentregistry::v1::ListMcpServersRequest request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::ListMcpServers"); + internal::OTelScope scope(span); + auto sr = child_->ListMcpServers(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::agentregistry::v1::McpServer>(std::move(span), + std::move(sr)); +} + +StreamRange +AgentRegistryTracingConnection::SearchMcpServers( + google::cloud::agentregistry::v1::SearchMcpServersRequest request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::SearchMcpServers"); + internal::OTelScope scope(span); + auto sr = child_->SearchMcpServers(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::agentregistry::v1::McpServer>(std::move(span), + std::move(sr)); +} + +StatusOr +AgentRegistryTracingConnection::GetMcpServer( + google::cloud::agentregistry::v1::GetMcpServerRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::GetMcpServer"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetMcpServer(request)); +} + +StreamRange +AgentRegistryTracingConnection::ListServices( + google::cloud::agentregistry::v1::ListServicesRequest request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::ListServices"); + internal::OTelScope scope(span); + auto sr = child_->ListServices(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::agentregistry::v1::Service>(std::move(span), + std::move(sr)); +} + +StatusOr +AgentRegistryTracingConnection::GetService( + google::cloud::agentregistry::v1::GetServiceRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::GetService"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetService(request)); +} + +future> +AgentRegistryTracingConnection::CreateService( + google::cloud::agentregistry::v1::CreateServiceRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::CreateService"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->CreateService(request)); +} + +StatusOr +AgentRegistryTracingConnection::CreateService( + NoAwaitTag, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::CreateService"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, child_->CreateService(NoAwaitTag{}, request)); +} + +future> +AgentRegistryTracingConnection::CreateService( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::CreateService"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->CreateService(operation)); +} + +future> +AgentRegistryTracingConnection::UpdateService( + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::UpdateService"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->UpdateService(request)); +} + +StatusOr +AgentRegistryTracingConnection::UpdateService( + NoAwaitTag, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::UpdateService"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, child_->UpdateService(NoAwaitTag{}, request)); +} + +future> +AgentRegistryTracingConnection::UpdateService( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::UpdateService"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->UpdateService(operation)); +} + +future> +AgentRegistryTracingConnection::DeleteService( + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::DeleteService"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->DeleteService(request)); +} + +StatusOr +AgentRegistryTracingConnection::DeleteService( + NoAwaitTag, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::DeleteService"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, child_->DeleteService(NoAwaitTag{}, request)); +} + +future> +AgentRegistryTracingConnection::DeleteService( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::DeleteService"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->DeleteService(operation)); +} + +StreamRange +AgentRegistryTracingConnection::ListBindings( + google::cloud::agentregistry::v1::ListBindingsRequest request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::ListBindings"); + internal::OTelScope scope(span); + auto sr = child_->ListBindings(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::agentregistry::v1::Binding>(std::move(span), + std::move(sr)); +} + +StatusOr +AgentRegistryTracingConnection::GetBinding( + google::cloud::agentregistry::v1::GetBindingRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::GetBinding"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetBinding(request)); +} + +future> +AgentRegistryTracingConnection::CreateBinding( + google::cloud::agentregistry::v1::CreateBindingRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::CreateBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->CreateBinding(request)); +} + +StatusOr +AgentRegistryTracingConnection::CreateBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::CreateBinding"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, child_->CreateBinding(NoAwaitTag{}, request)); +} + +future> +AgentRegistryTracingConnection::CreateBinding( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::CreateBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->CreateBinding(operation)); +} + +future> +AgentRegistryTracingConnection::UpdateBinding( + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::UpdateBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->UpdateBinding(request)); +} + +StatusOr +AgentRegistryTracingConnection::UpdateBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::UpdateBinding"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, child_->UpdateBinding(NoAwaitTag{}, request)); +} + +future> +AgentRegistryTracingConnection::UpdateBinding( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::UpdateBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->UpdateBinding(operation)); +} + +future> +AgentRegistryTracingConnection::DeleteBinding( + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::DeleteBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->DeleteBinding(request)); +} + +StatusOr +AgentRegistryTracingConnection::DeleteBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::DeleteBinding"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, child_->DeleteBinding(NoAwaitTag{}, request)); +} + +future> +AgentRegistryTracingConnection::DeleteBinding( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::DeleteBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->DeleteBinding(operation)); +} + +StreamRange +AgentRegistryTracingConnection::FetchAvailableBindings( + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::FetchAvailableBindings"); + internal::OTelScope scope(span); + auto sr = child_->FetchAvailableBindings(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::agentregistry::v1::Binding>(std::move(span), + std::move(sr)); +} + +StreamRange +AgentRegistryTracingConnection::ListLocations( + google::cloud::location::ListLocationsRequest request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::ListLocations"); + internal::OTelScope scope(span); + auto sr = child_->ListLocations(std::move(request)); + return internal::MakeTracedStreamRange( + std::move(span), std::move(sr)); +} + +StatusOr +AgentRegistryTracingConnection::GetLocation( + google::cloud::location::GetLocationRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::GetLocation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetLocation(request)); +} + +StreamRange +AgentRegistryTracingConnection::ListOperations( + google::longrunning::ListOperationsRequest request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::ListOperations"); + internal::OTelScope scope(span); + auto sr = child_->ListOperations(std::move(request)); + return internal::MakeTracedStreamRange( + std::move(span), std::move(sr)); +} + +StatusOr +AgentRegistryTracingConnection::GetOperation( + google::longrunning::GetOperationRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::GetOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetOperation(request)); +} + +Status AgentRegistryTracingConnection::DeleteOperation( + google::longrunning::DeleteOperationRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::DeleteOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->DeleteOperation(request)); +} + +Status AgentRegistryTracingConnection::CancelOperation( + google::longrunning::CancelOperationRequest const& request) { + auto span = internal::MakeSpan( + "agentregistry_v1::AgentRegistryConnection::CancelOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->CancelOperation(request)); +} + +std::shared_ptr +MakeAgentRegistryTracingConnection( + 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 agentregistry_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_tracing_connection.h b/google/cloud/agentregistry/v1/internal/agent_registry_tracing_connection.h new file mode 100644 index 0000000000000..0b64bc8c5989e --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_tracing_connection.h @@ -0,0 +1,196 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_TRACING_CONNECTION_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_TRACING_CONNECTION_H + +#include "google/cloud/agentregistry/v1/agent_registry_connection.h" +#include "google/cloud/version.h" +#include + +namespace google { +namespace cloud { +namespace agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class AgentRegistryTracingConnection + : public agentregistry_v1::AgentRegistryConnection { + public: + ~AgentRegistryTracingConnection() override = default; + + explicit AgentRegistryTracingConnection( + std::shared_ptr child); + + Options options() override { return child_->options(); } + + StreamRange ListAgents( + google::cloud::agentregistry::v1::ListAgentsRequest request) override; + + StreamRange SearchAgents( + google::cloud::agentregistry::v1::SearchAgentsRequest request) override; + + StatusOr GetAgent( + google::cloud::agentregistry::v1::GetAgentRequest const& request) + override; + + StreamRange ListEndpoints( + google::cloud::agentregistry::v1::ListEndpointsRequest request) override; + + StatusOr GetEndpoint( + google::cloud::agentregistry::v1::GetEndpointRequest const& request) + override; + + StreamRange ListMcpServers( + google::cloud::agentregistry::v1::ListMcpServersRequest request) override; + + StreamRange SearchMcpServers( + google::cloud::agentregistry::v1::SearchMcpServersRequest request) + override; + + StatusOr GetMcpServer( + google::cloud::agentregistry::v1::GetMcpServerRequest const& request) + override; + + StreamRange ListServices( + google::cloud::agentregistry::v1::ListServicesRequest request) override; + + StatusOr GetService( + google::cloud::agentregistry::v1::GetServiceRequest const& request) + override; + + future> CreateService( + google::cloud::agentregistry::v1::CreateServiceRequest const& request) + override; + + StatusOr CreateService( + NoAwaitTag, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) + override; + + future> CreateService( + google::longrunning::Operation const& operation) override; + + future> UpdateService( + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) + override; + + StatusOr UpdateService( + NoAwaitTag, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) + override; + + future> UpdateService( + google::longrunning::Operation const& operation) override; + + future> + DeleteService(google::cloud::agentregistry::v1::DeleteServiceRequest const& + request) override; + + StatusOr DeleteService( + NoAwaitTag, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) + override; + + future> + DeleteService(google::longrunning::Operation const& operation) override; + + StreamRange ListBindings( + google::cloud::agentregistry::v1::ListBindingsRequest request) override; + + StatusOr GetBinding( + google::cloud::agentregistry::v1::GetBindingRequest const& request) + override; + + future> CreateBinding( + google::cloud::agentregistry::v1::CreateBindingRequest const& request) + override; + + StatusOr CreateBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) + override; + + future> CreateBinding( + google::longrunning::Operation const& operation) override; + + future> UpdateBinding( + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) + override; + + StatusOr UpdateBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) + override; + + future> UpdateBinding( + google::longrunning::Operation const& operation) override; + + future> + DeleteBinding(google::cloud::agentregistry::v1::DeleteBindingRequest const& + request) override; + + StatusOr DeleteBinding( + NoAwaitTag, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) + override; + + future> + DeleteBinding(google::longrunning::Operation const& operation) override; + + StreamRange FetchAvailableBindings( + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest request) + override; + + StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request) override; + + StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request) override; + + StreamRange ListOperations( + google::longrunning::ListOperationsRequest request) override; + + StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::shared_ptr child_; +}; + +/** + * 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 +MakeAgentRegistryTracingConnection( + std::shared_ptr conn); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_TRACING_CONNECTION_H diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_tracing_stub.cc b/google/cloud/agentregistry/v1/internal/agent_registry_tracing_stub.cc new file mode 100644 index 0000000000000..912013da99d8e --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_tracing_stub.cc @@ -0,0 +1,457 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#include "google/cloud/agentregistry/v1/internal/agent_registry_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 agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +AgentRegistryTracingStub::AgentRegistryTracingStub( + std::shared_ptr child) + : child_(std::move(child)), propagator_(internal::MakePropagator()) {} + +StatusOr +AgentRegistryTracingStub::ListAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListAgentsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "ListAgents"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListAgents(context, options, request)); +} + +StatusOr +AgentRegistryTracingStub::SearchAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchAgentsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "SearchAgents"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->SearchAgents(context, options, request)); +} + +StatusOr +AgentRegistryTracingStub::GetAgent( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetAgentRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "GetAgent"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetAgent(context, options, request)); +} + +StatusOr +AgentRegistryTracingStub::ListEndpoints( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListEndpointsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "ListEndpoints"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListEndpoints(context, options, request)); +} + +StatusOr +AgentRegistryTracingStub::GetEndpoint( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetEndpointRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "GetEndpoint"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetEndpoint(context, options, request)); +} + +StatusOr +AgentRegistryTracingStub::ListMcpServers( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListMcpServersRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "ListMcpServers"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListMcpServers(context, options, request)); +} + +StatusOr +AgentRegistryTracingStub::SearchMcpServers( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchMcpServersRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "SearchMcpServers"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->SearchMcpServers(context, options, request)); +} + +StatusOr +AgentRegistryTracingStub::GetMcpServer( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetMcpServerRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "GetMcpServer"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetMcpServer(context, options, request)); +} + +StatusOr +AgentRegistryTracingStub::ListServices( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListServicesRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "ListServices"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListServices(context, options, request)); +} + +StatusOr +AgentRegistryTracingStub::GetService( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetServiceRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "GetService"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetService(context, options, request)); +} + +future> +AgentRegistryTracingStub::AsyncCreateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "CreateService"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncCreateService(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +AgentRegistryTracingStub::CreateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "CreateService"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->CreateService(context, options, request)); +} + +future> +AgentRegistryTracingStub::AsyncUpdateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "UpdateService"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncUpdateService(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +AgentRegistryTracingStub::UpdateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "UpdateService"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->UpdateService(context, options, request)); +} + +future> +AgentRegistryTracingStub::AsyncDeleteService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "DeleteService"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncDeleteService(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +AgentRegistryTracingStub::DeleteService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "DeleteService"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->DeleteService(context, options, request)); +} + +StatusOr +AgentRegistryTracingStub::ListBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListBindingsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "ListBindings"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListBindings(context, options, request)); +} + +StatusOr +AgentRegistryTracingStub::GetBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetBindingRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "GetBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetBinding(context, options, request)); +} + +future> +AgentRegistryTracingStub::AsyncCreateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "CreateBinding"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncCreateBinding(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +AgentRegistryTracingStub::CreateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "CreateBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->CreateBinding(context, options, request)); +} + +future> +AgentRegistryTracingStub::AsyncUpdateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "UpdateBinding"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncUpdateBinding(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +AgentRegistryTracingStub::UpdateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "UpdateBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->UpdateBinding(context, options, request)); +} + +future> +AgentRegistryTracingStub::AsyncDeleteBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "DeleteBinding"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncDeleteBinding(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +AgentRegistryTracingStub::DeleteBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "DeleteBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->DeleteBinding(context, options, request)); +} + +StatusOr +AgentRegistryTracingStub::FetchAvailableBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "FetchAvailableBindings"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->FetchAvailableBindings(context, options, request)); +} + +StatusOr +AgentRegistryTracingStub::ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "ListLocations"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListLocations(context, options, request)); +} + +StatusOr +AgentRegistryTracingStub::GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "GetLocation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetLocation(context, options, request)); +} + +StatusOr +AgentRegistryTracingStub::ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "ListOperations"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListOperations(context, options, request)); +} + +StatusOr AgentRegistryTracingStub::GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "GetOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetOperation(context, options, request)); +} + +Status AgentRegistryTracingStub::DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "DeleteOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->DeleteOperation(context, options, request)); +} + +Status AgentRegistryTracingStub::CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.agentregistry.v1.AgentRegistry", "CancelOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->CancelOperation(context, options, request)); +} + +future> +AgentRegistryTracingStub::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 AgentRegistryTracingStub::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 MakeAgentRegistryTracingStub( + std::shared_ptr stub) { + return std::make_shared(std::move(stub)); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" diff --git a/google/cloud/agentregistry/v1/internal/agent_registry_tracing_stub.h b/google/cloud/agentregistry/v1/internal/agent_registry_tracing_stub.h new file mode 100644 index 0000000000000..76afa53293ca2 --- /dev/null +++ b/google/cloud/agentregistry/v1/internal/agent_registry_tracing_stub.h @@ -0,0 +1,239 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_TRACING_STUB_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_TRACING_STUB_H + +#include "google/cloud/agentregistry/v1/internal/agent_registry_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 agentregistry_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class AgentRegistryTracingStub : public AgentRegistryStub { + public: + ~AgentRegistryTracingStub() override = default; + + explicit AgentRegistryTracingStub(std::shared_ptr child); + + StatusOr ListAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListAgentsRequest const& request) + override; + + StatusOr SearchAgents( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchAgentsRequest const& request) + override; + + StatusOr GetAgent( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetAgentRequest const& request) + override; + + StatusOr + ListEndpoints(grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListEndpointsRequest const& + request) override; + + StatusOr GetEndpoint( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetEndpointRequest const& request) + override; + + StatusOr + ListMcpServers(grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListMcpServersRequest const& + request) override; + + StatusOr + SearchMcpServers( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::SearchMcpServersRequest const& request) + override; + + StatusOr GetMcpServer( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetMcpServerRequest const& request) + override; + + StatusOr ListServices( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListServicesRequest const& request) + override; + + StatusOr GetService( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetServiceRequest const& request) + override; + + future> AsyncCreateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) + override; + + StatusOr CreateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateServiceRequest const& request) + override; + + future> AsyncUpdateService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) + override; + + StatusOr UpdateService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request) + override; + + future> AsyncDeleteService( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) + override; + + StatusOr DeleteService( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request) + override; + + StatusOr ListBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::ListBindingsRequest const& request) + override; + + StatusOr GetBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::GetBindingRequest const& request) + override; + + future> AsyncCreateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) + override; + + StatusOr CreateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::CreateBindingRequest const& request) + override; + + future> AsyncUpdateBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) + override; + + StatusOr UpdateBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request) + override; + + future> AsyncDeleteBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) + override; + + StatusOr DeleteBinding( + grpc::ClientContext& context, Options options, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request) + override; + + StatusOr + FetchAvailableBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::agentregistry::v1::FetchAvailableBindingsRequest 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 MakeAgentRegistryTracingStub( + std::shared_ptr stub); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1_internal +} // namespace cloud +} // namespace google + +#include "google/cloud/ports_undef.inc" + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_INTERNAL_AGENT_REGISTRY_TRACING_STUB_H diff --git a/google/cloud/agentregistry/v1/mocks/mock_agent_registry_connection.h b/google/cloud/agentregistry/v1/mocks/mock_agent_registry_connection.h new file mode 100644 index 0000000000000..f8bef157739db --- /dev/null +++ b/google/cloud/agentregistry/v1/mocks/mock_agent_registry_connection.h @@ -0,0 +1,382 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_MOCKS_MOCK_AGENT_REGISTRY_CONNECTION_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_MOCKS_MOCK_AGENT_REGISTRY_CONNECTION_H + +#include "google/cloud/agentregistry/v1/agent_registry_connection.h" +#include + +namespace google { +namespace cloud { +namespace agentregistry_v1_mocks { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/** + * A class to mock `AgentRegistryConnection`. + * + * Application developers may want to test their code with simulated responses, + * including errors, from an object of type `AgentRegistryClient`. To do so, + * construct an object of type `AgentRegistryClient` 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 MockAgentRegistryConnection + : public agentregistry_v1::AgentRegistryConnection { + public: + MOCK_METHOD(Options, options, (), (override)); + + MOCK_METHOD((StreamRange), + ListAgents, + (google::cloud::agentregistry::v1::ListAgentsRequest request), + (override)); + + MOCK_METHOD((StreamRange), + SearchAgents, + (google::cloud::agentregistry::v1::SearchAgentsRequest request), + (override)); + + MOCK_METHOD( + StatusOr, GetAgent, + (google::cloud::agentregistry::v1::GetAgentRequest const& request), + (override)); + + MOCK_METHOD((StreamRange), + ListEndpoints, + (google::cloud::agentregistry::v1::ListEndpointsRequest request), + (override)); + + MOCK_METHOD( + StatusOr, GetEndpoint, + (google::cloud::agentregistry::v1::GetEndpointRequest const& request), + (override)); + + MOCK_METHOD((StreamRange), + ListMcpServers, + (google::cloud::agentregistry::v1::ListMcpServersRequest request), + (override)); + + MOCK_METHOD( + (StreamRange), + SearchMcpServers, + (google::cloud::agentregistry::v1::SearchMcpServersRequest request), + (override)); + + MOCK_METHOD( + StatusOr, GetMcpServer, + (google::cloud::agentregistry::v1::GetMcpServerRequest const& request), + (override)); + + MOCK_METHOD((StreamRange), + ListServices, + (google::cloud::agentregistry::v1::ListServicesRequest request), + (override)); + + MOCK_METHOD( + StatusOr, GetService, + (google::cloud::agentregistry::v1::GetServiceRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// CreateService(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + CreateService, + (google::cloud::agentregistry::v1::CreateServiceRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, CreateService(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, CreateService, + (NoAwaitTag, + google::cloud::agentregistry::v1::CreateServiceRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, CreateService(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + CreateService, (google::longrunning::Operation const& operation), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// UpdateService(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + UpdateService, + (google::cloud::agentregistry::v1::UpdateServiceRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, UpdateService(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, UpdateService, + (NoAwaitTag, + google::cloud::agentregistry::v1::UpdateServiceRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, UpdateService(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + UpdateService, (google::longrunning::Operation const& operation), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteService(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + DeleteService, + (google::cloud::agentregistry::v1::DeleteServiceRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, DeleteService(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, DeleteService, + (NoAwaitTag, + google::cloud::agentregistry::v1::DeleteServiceRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, DeleteService(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + DeleteService, (google::longrunning::Operation const& operation), + (override)); + + MOCK_METHOD((StreamRange), + ListBindings, + (google::cloud::agentregistry::v1::ListBindingsRequest request), + (override)); + + MOCK_METHOD( + StatusOr, GetBinding, + (google::cloud::agentregistry::v1::GetBindingRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// CreateBinding(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + CreateBinding, + (google::cloud::agentregistry::v1::CreateBindingRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, CreateBinding(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, CreateBinding, + (NoAwaitTag, + google::cloud::agentregistry::v1::CreateBindingRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, CreateBinding(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + CreateBinding, (google::longrunning::Operation const& operation), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// UpdateBinding(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + UpdateBinding, + (google::cloud::agentregistry::v1::UpdateBindingRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, UpdateBinding(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, UpdateBinding, + (NoAwaitTag, + google::cloud::agentregistry::v1::UpdateBindingRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, UpdateBinding(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + UpdateBinding, (google::longrunning::Operation const& operation), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteBinding(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + DeleteBinding, + (google::cloud::agentregistry::v1::DeleteBindingRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, DeleteBinding(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, DeleteBinding, + (NoAwaitTag, + google::cloud::agentregistry::v1::DeleteBindingRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, DeleteBinding(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + DeleteBinding, (google::longrunning::Operation const& operation), + (override)); + + MOCK_METHOD( + (StreamRange), + FetchAvailableBindings, + (google::cloud::agentregistry::v1::FetchAvailableBindingsRequest request), + (override)); + + MOCK_METHOD((StreamRange), ListLocations, + (google::cloud::location::ListLocationsRequest request), + (override)); + + MOCK_METHOD(StatusOr, GetLocation, + (google::cloud::location::GetLocationRequest const& request), + (override)); + + MOCK_METHOD((StreamRange), ListOperations, + (google::longrunning::ListOperationsRequest request), (override)); + + MOCK_METHOD(StatusOr, GetOperation, + (google::longrunning::GetOperationRequest const& request), + (override)); + + MOCK_METHOD(Status, DeleteOperation, + (google::longrunning::DeleteOperationRequest const& request), + (override)); + + MOCK_METHOD(Status, CancelOperation, + (google::longrunning::CancelOperationRequest const& request), + (override)); +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace agentregistry_v1_mocks +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_AGENTREGISTRY_V1_MOCKS_MOCK_AGENT_REGISTRY_CONNECTION_H diff --git a/google/cloud/agentregistry/v1/samples/agent_registry_client_samples.cc b/google/cloud/agentregistry/v1/samples/agent_registry_client_samples.cc new file mode 100644 index 0000000000000..0d3408f985fc3 --- /dev/null +++ b/google/cloud/agentregistry/v1/samples/agent_registry_client_samples.cc @@ -0,0 +1,229 @@ +// 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/agentregistry/v1/agentregistry_service.proto + +#include "google/cloud/agentregistry/v1/agent_registry_client.h" +#include "google/cloud/agentregistry/v1/agent_registry_connection_idempotency_policy.h" +#include "google/cloud/agentregistry/v1/agent_registry_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: agentregistry_v1::AgentRegistryClient +// 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::agentregistry_v1::AgentRegistryClient( + google::cloud::agentregistry_v1::MakeAgentRegistryConnection(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::agentregistry_v1::AgentRegistryClient( + google::cloud::agentregistry_v1::MakeAgentRegistryConnection( + *ud_options)); + //! [set-client-universe-domain] +} + +//! [custom-idempotency-policy] +class CustomIdempotencyPolicy : public google::cloud::agentregistry_v1:: + AgentRegistryConnectionIdempotencyPolicy { + public: + ~CustomIdempotencyPolicy() override = default; + std::unique_ptr< + google::cloud::agentregistry_v1::AgentRegistryConnectionIdempotencyPolicy> + 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::agentregistry_v1:: + AgentRegistryLimitedErrorCountRetryPolicy(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::agentregistry_v1::MakeAgentRegistryConnection(options); + + // c1 and c2 share the same retry policies + auto c1 = google::cloud::agentregistry_v1::AgentRegistryClient(connection); + auto c2 = google::cloud::agentregistry_v1::AgentRegistryClient(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::agentregistry_v1::AgentRegistryClient( + connection, + google::cloud::Options{} + .set( + google::cloud::agentregistry_v1:: + AgentRegistryLimitedTimeRetryPolicy(std::chrono::minutes(5)) + .clone())); + + // You can also override the policies in a single call: + // c3.SomeRpc(..., google::cloud::Options{} + // .set( + // google::cloud::agentregistry_v1::AgentRegistryLimitedErrorCountRetryPolicy(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::agentregistry_v1:: + AgentRegistryRetryPolicyOption::Type, + google::cloud::agentregistry_v1:: + AgentRegistryBackoffPolicyOption::Type>( + google::cloud::agentregistry_v1:: + AgentRegistryLimitedTimeRetryPolicy( + /*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::agentregistry_v1::MakeAgentRegistryConnection(options); + + // c1 and c2 share the same polling policies. + auto c1 = google::cloud::agentregistry_v1::AgentRegistryClient(connection); + auto c2 = google::cloud::agentregistry_v1::AgentRegistryClient(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::agentregistry_v1::AgentRegistryClient( + google::cloud::agentregistry_v1::MakeAgentRegistryConnection(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 efb57ad665af8a1ac7596ec79543ba777dcdcfb7 Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Fri, 26 Jun 2026 15:58:33 -0400 Subject: [PATCH 3/5] Add API baseline --- ...loud_cpp_agentregistry.expected.abi.dump.gz | Bin 0 -> 848289 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ci/abi-dumps/google_cloud_cpp_agentregistry.expected.abi.dump.gz diff --git a/ci/abi-dumps/google_cloud_cpp_agentregistry.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_agentregistry.expected.abi.dump.gz new file mode 100644 index 0000000000000000000000000000000000000000..5338e27897bbb77f9c48a37e3ad2af433a10ba39 GIT binary patch literal 848289 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%0DHMaAS=={(&MtAENdJ&`a~JnBv5RRUB7sfGoQs&K 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 z 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�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 K?4z-0^#1{pvTKU~ literal 0 HcmV?d00001 From b5e0dd558211ff0f84e952d0d3f2a49c94be0c9e Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Fri, 26 Jun 2026 16:22:36 -0400 Subject: [PATCH 4/5] Manually update READMEs, quickstart, and top-level stuff --- CHANGELOG.md | 7 +++++++ google/cloud/agentregistry/CMakeLists.txt | 9 +++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91c579b314dc5..8af0652279cc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,13 @@ for details on updating existing applications using v1.x.y or v2.x.y. ## v3.7.0 - TBD +### New Libraries + +We are happy to announce the following GA libraries. Unless specifically noted, +the APIs in these libraries are stable, and are ready for production use. + +- [Agent Registry API](/google/cloud/agentregistry/README.md) + ## v3.6.0 - 2026-06 ### New Libraries diff --git a/google/cloud/agentregistry/CMakeLists.txt b/google/cloud/agentregistry/CMakeLists.txt index 129d17a94487c..df8066419555a 100644 --- a/google/cloud/agentregistry/CMakeLists.txt +++ b/google/cloud/agentregistry/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(agentregistry_quickstart - PROPERTIES LABELS "integration-test;quickstart") + GOOGLE_CLOUD_CPP_TEST_REGION) + set_tests_properties( + agentregistry_quickstart + PROPERTIES LABELS "integration-test;quickstart" PASS_REGULAR_EXPRESSION + "Permanent error.*gcloud-cpp.retry.function=ListAgents") endif () From b3f0e89e56c030725a3413919813ea6af469e45f Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Fri, 26 Jun 2026 16:33:18 -0400 Subject: [PATCH 5/5] update quickstart .bazelrc --- google/cloud/agentregistry/quickstart/.bazelrc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/google/cloud/agentregistry/quickstart/.bazelrc b/google/cloud/agentregistry/quickstart/.bazelrc index c884db46c2b4d..d66e2ac9e0cb0 100644 --- a/google/cloud/agentregistry/quickstart/.bazelrc +++ b/google/cloud/agentregistry/quickstart/.bazelrc @@ -15,14 +15,13 @@ # 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" +# The project requires C++ >= 17. +build:linux --cxxopt=-std=c++17 +build:macos --cxxopt=-std=c++17 +# Protobuf and gRPC require C++17 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 +build:linux --host_cxxopt=-std=c++17 +build:macos --host_cxxopt=-std=c++17 # Do not create the convenience links. They are inconvenient when the build # runs inside a docker image or if one builds a quickstart and then builds