From 0675ede4419865f0bdafafd5f6a1a3d15b873f3e Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Mon, 23 Feb 2026 14:01:37 -0500 Subject: [PATCH 1/4] chore: update googleapis SHA circa 2026-02-23 PiperOrigin-RevId: 873925482 --- MODULE.bazel | 2 +- bazel/workspace0.bzl | 6 +++--- cmake/GoogleapisConfig.cmake | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 4670d2ee43cbb..0398945a8197c 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -53,6 +53,6 @@ python.toolchain( ) bazel_dep(name = "grpc", version = "1.76.0.bcr.1") -bazel_dep(name = "googleapis", version = "0.0.0-20260130-c0fcb356") +bazel_dep(name = "googleapis", version = "0.0.0-20260223-edfe7983") bazel_dep(name = "googleapis-cc", version = "1.0.0") bazel_dep(name = "googleapis-grpc-cc", version = "1.0.0") diff --git a/bazel/workspace0.bzl b/bazel/workspace0.bzl index b5ee52b37e66b..31bea0558b97c 100644 --- a/bazel/workspace0.bzl +++ b/bazel/workspace0.bzl @@ -136,10 +136,10 @@ def gl_cpp_workspace0(name = None): http_archive, name = "googleapis", urls = [ - "https://github.com/googleapis/googleapis/archive/c0fcb35628690e9eb15dcefae41c651c67cd050b.tar.gz", + "https://github.com/googleapis/googleapis/archive/edfe7983b9d99d6244b4d7636d25fa6e752a2041.tar.gz", ], - sha256 = "68c82109667c892b6595385b2ad77c1342752f998664eb6d055509ecaddc3150", - strip_prefix = "googleapis-c0fcb35628690e9eb15dcefae41c651c67cd050b", + sha256 = "daf93e1331c16fab7606828bcdc92aa72160718de0819eb628fae9922ccaadfc", + strip_prefix = "googleapis-edfe7983b9d99d6244b4d7636d25fa6e752a2041", build_file = Label("//bazel:googleapis.BUILD"), # Scaffolding for patching googleapis after download. For example: patches = [ diff --git a/cmake/GoogleapisConfig.cmake b/cmake/GoogleapisConfig.cmake index 843653a0d88aa..8450304e8bb14 100644 --- a/cmake/GoogleapisConfig.cmake +++ b/cmake/GoogleapisConfig.cmake @@ -27,9 +27,9 @@ set(GOOGLE_CLOUD_CPP_GOOGLEAPIS_SHA256 mark_as_advanced(GOOGLE_CLOUD_CPP_GOOGLEAPIS_SHA256) set(_GOOGLE_CLOUD_CPP_GOOGLEAPIS_COMMIT_SHA - "c0fcb35628690e9eb15dcefae41c651c67cd050b") + "edfe7983b9d99d6244b4d7636d25fa6e752a2041") set(_GOOGLE_CLOUD_CPP_GOOGLEAPIS_SHA256 - "68c82109667c892b6595385b2ad77c1342752f998664eb6d055509ecaddc3150") + "daf93e1331c16fab7606828bcdc92aa72160718de0819eb628fae9922ccaadfc") set(DOXYGEN_ALIASES "googleapis_link{2}=\"[\\1](https://github.com/googleapis/googleapis/blob/${_GOOGLE_CLOUD_CPP_GOOGLEAPIS_COMMIT_SHA}/\\2)\"" From b4c1db9ba0588d02ada243421bfccaae3c906ad6 Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Mon, 23 Feb 2026 14:03:43 -0500 Subject: [PATCH 2/4] Update the protodeps/protolists --- external/googleapis/protodeps/gkehub.deps | 1 + external/googleapis/protolists/gkehub.list | 2 ++ 2 files changed, 3 insertions(+) diff --git a/external/googleapis/protodeps/gkehub.deps b/external/googleapis/protodeps/gkehub.deps index 3a69eb58546e0..ce4eebcf1a3ab 100644 --- a/external/googleapis/protodeps/gkehub.deps +++ b/external/googleapis/protodeps/gkehub.deps @@ -1,6 +1,7 @@ @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 diff --git a/external/googleapis/protolists/gkehub.list b/external/googleapis/protolists/gkehub.list index 9f9e124972213..79c48b537a6d5 100644 --- a/external/googleapis/protolists/gkehub.list +++ b/external/googleapis/protolists/gkehub.list @@ -1,5 +1,7 @@ @googleapis//google/cloud/gkehub/v1/configmanagement:configmanagement.proto @googleapis//google/cloud/gkehub/v1/multiclusteringress:multiclusteringress.proto +@googleapis//google/cloud/gkehub/v1/rbacrolebindingactuation:rbacrolebindingactuation.proto @googleapis//google/cloud/gkehub/v1:feature.proto +@googleapis//google/cloud/gkehub/v1:fleet.proto @googleapis//google/cloud/gkehub/v1:membership.proto @googleapis//google/cloud/gkehub/v1:service.proto From 0a518e01a5eb7347158787952be837cbd30a8a0a Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Mon, 23 Feb 2026 14:50:32 -0500 Subject: [PATCH 3/4] Regenerate libraries --- google/cloud/aiplatform/v1/dataset_client.h | 92 +- google/cloud/aiplatform/v1/job_client.h | 4 +- .../cloud/aiplatform/v1/prediction_client.h | 8 +- google/cloud/aiplatform/v1/schedule_client.h | 6 +- .../v1/artifact_registry_client.h | 28 +- .../v1/confidential_computing_client.h | 10 +- .../dataproc/v1/autoscaling_policy_client.h | 20 +- .../dataproc/v1/cluster_controller_client.h | 38 +- .../v1/node_group_controller_client.h | 12 +- .../v1/developer_connect_client.cc | 34 + .../v1/developer_connect_client.h | 313 +- .../v1/developer_connect_connection.cc | 12 + .../v1/developer_connect_connection.h | 8 + ...r_connect_connection_idempotency_policy.cc | 10 + ...er_connect_connection_idempotency_policy.h | 6 + .../developer_connect_auth_decorator.cc | 18 + .../developer_connect_auth_decorator.h | 10 + .../developer_connect_connection_impl.cc | 30 + .../developer_connect_connection_impl.h | 8 + .../developer_connect_logging_decorator.cc | 26 + .../developer_connect_logging_decorator.h | 10 + .../developer_connect_metadata_decorator.cc | 20 + .../developer_connect_metadata_decorator.h | 10 + .../v1/internal/developer_connect_stub.cc | 24 + .../v1/internal/developer_connect_stub.h | 20 + .../developer_connect_tracing_connection.cc | 18 + .../developer_connect_tracing_connection.h | 8 + .../developer_connect_tracing_stub.cc | 24 + .../internal/developer_connect_tracing_stub.h | 10 + .../mocks/mock_developer_connect_connection.h | 12 + .../cloud/discoveryengine/v1/search_client.h | 4 +- google/cloud/gkehub/v1/gke_hub_client.cc | 1016 ++++++ google/cloud/gkehub/v1/gke_hub_client.h | 3203 ++++++++++++++++- google/cloud/gkehub/v1/gke_hub_connection.cc | 509 +++ google/cloud/gkehub/v1/gke_hub_connection.h | 260 ++ .../gke_hub_connection_idempotency_policy.cc | 168 + .../gke_hub_connection_idempotency_policy.h | 107 + .../v1/internal/gke_hub_auth_decorator.cc | 649 ++++ .../v1/internal/gke_hub_auth_decorator.h | 290 ++ .../v1/internal/gke_hub_connection_impl.cc | 2044 +++++++++++ .../v1/internal/gke_hub_connection_impl.h | 283 ++ .../v1/internal/gke_hub_logging_decorator.cc | 763 ++++ .../v1/internal/gke_hub_logging_decorator.h | 290 ++ .../v1/internal/gke_hub_metadata_decorator.cc | 541 +++ .../v1/internal/gke_hub_metadata_decorator.h | 290 ++ .../cloud/gkehub/v1/internal/gke_hub_stub.cc | 763 ++++ .../cloud/gkehub/v1/internal/gke_hub_stub.h | 589 +++ .../v1/internal/gke_hub_tracing_connection.cc | 675 ++++ .../v1/internal/gke_hub_tracing_connection.h | 283 ++ .../v1/internal/gke_hub_tracing_stub.cc | 684 ++++ .../gkehub/v1/internal/gke_hub_tracing_stub.h | 290 ++ .../gkehub/v1/mocks/mock_gke_hub_connection.h | 783 ++++ .../kms/inventory/v1/key_dashboard_client.h | 4 +- .../kms/inventory/v1/key_tracking_client.h | 62 +- google/cloud/kms/v1/autokey_admin_client.h | 59 +- .../internal/key_management_auth_decorator.cc | 112 + .../internal/key_management_auth_decorator.h | 46 + .../key_management_connection_impl.cc | 239 ++ .../internal/key_management_connection_impl.h | 35 + .../key_management_logging_decorator.cc | 122 + .../key_management_logging_decorator.h | 46 + .../key_management_metadata_decorator.cc | 83 + .../key_management_metadata_decorator.h | 46 + .../key_management_option_defaults.cc | 12 + .../kms/v1/internal/key_management_stub.cc | 126 + .../kms/v1/internal/key_management_stub.h | 105 +- .../internal/key_management_stub_factory.cc | 7 +- .../key_management_tracing_connection.cc | 79 + .../key_management_tracing_connection.h | 32 + .../internal/key_management_tracing_stub.cc | 107 + .../v1/internal/key_management_tracing_stub.h | 45 + google/cloud/kms/v1/key_management_client.cc | 117 + google/cloud/kms/v1/key_management_client.h | 698 +++- .../cloud/kms/v1/key_management_connection.cc | 60 + .../cloud/kms/v1/key_management_connection.h | 35 + ...anagement_connection_idempotency_policy.cc | 22 + ...management_connection_idempotency_policy.h | 12 + google/cloud/kms/v1/key_management_options.h | 11 + .../v1/mocks/mock_key_management_connection.h | 87 + .../samples/key_management_client_samples.cc | 46 + google/cloud/speech/v2/speech_client.h | 128 +- .../sql/v1/internal/sql_users_rest_stub.cc | 2 + google/cloud/sql/v1/sql_backup_runs_client.h | 4 +- google/cloud/sql/v1/sql_databases_client.h | 10 +- google/cloud/sql/v1/sql_instances_client.h | 82 +- google/cloud/sql/v1/sql_operations_client.h | 4 +- google/cloud/sql/v1/sql_ssl_certs_client.h | 4 +- google/cloud/sql/v1/sql_users_client.h | 10 +- ...storage_batch_operations_auth_decorator.cc | 21 + .../storage_batch_operations_auth_decorator.h | 11 + ...torage_batch_operations_connection_impl.cc | 54 + ...storage_batch_operations_connection_impl.h | 9 + ...rage_batch_operations_logging_decorator.cc | 29 + ...orage_batch_operations_logging_decorator.h | 11 + ...age_batch_operations_metadata_decorator.cc | 21 + ...rage_batch_operations_metadata_decorator.h | 11 + .../internal/storage_batch_operations_stub.cc | 28 + .../internal/storage_batch_operations_stub.h | 22 + ...age_batch_operations_tracing_connection.cc | 25 + ...rage_batch_operations_tracing_connection.h | 9 + .../storage_batch_operations_tracing_stub.cc | 29 + .../storage_batch_operations_tracing_stub.h | 11 + ...mock_storage_batch_operations_connection.h | 14 + .../v1/storage_batch_operations_client.cc | 37 + .../v1/storage_batch_operations_client.h | 159 +- .../v1/storage_batch_operations_connection.cc | 15 + .../v1/storage_batch_operations_connection.h | 10 + ...perations_connection_idempotency_policy.cc | 14 + ...operations_connection_idempotency_policy.h | 8 + .../storage_control_auth_decorator.cc | 29 + .../internal/storage_control_auth_decorator.h | 12 + .../storage_control_connection_impl.cc | 97 + .../storage_control_connection_impl.h | 14 + .../storage_control_logging_decorator.cc | 32 + .../storage_control_logging_decorator.h | 12 + .../storage_control_metadata_decorator.cc | 61 + .../storage_control_metadata_decorator.h | 12 + .../v2/internal/storage_control_stub.cc | 31 + .../v2/internal/storage_control_stub.h | 25 + .../storage_control_tracing_connection.cc | 31 + .../storage_control_tracing_connection.h | 14 + .../internal/storage_control_tracing_stub.cc | 29 + .../internal/storage_control_tracing_stub.h | 12 + .../mocks/mock_storage_control_connection.h | 41 + .../v2/storage_control_client.cc | 42 + .../v2/storage_control_client.h | 294 +- .../v2/storage_control_connection.cc | 24 + .../v2/storage_control_connection.h | 15 + ...e_control_connection_idempotency_policy.cc | 6 + ...ge_control_connection_idempotency_policy.h | 4 + 130 files changed, 18748 insertions(+), 669 deletions(-) diff --git a/google/cloud/aiplatform/v1/dataset_client.h b/google/cloud/aiplatform/v1/dataset_client.h index d4da487633f17..422e39592926f 100644 --- a/google/cloud/aiplatform/v1/dataset_client.h +++ b/google/cloud/aiplatform/v1/dataset_client.h @@ -115,7 +115,7 @@ class DatasetServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.CreateDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L276} + /// [google.cloud.aiplatform.v1.CreateDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L274} /// [google.cloud.aiplatform.v1.Dataset]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset.proto#L36} /// // clang-format on @@ -168,7 +168,7 @@ class DatasetServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.CreateDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L276} + /// [google.cloud.aiplatform.v1.CreateDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L274} /// [google.cloud.aiplatform.v1.Dataset]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset.proto#L36} /// // clang-format on @@ -223,7 +223,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.Dataset]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset.proto#L36} - /// [google.cloud.aiplatform.v1.GetDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L300} + /// [google.cloud.aiplatform.v1.GetDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L297} /// // clang-format on StatusOr GetDataset( @@ -253,7 +253,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.Dataset]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset.proto#L36} - /// [google.cloud.aiplatform.v1.GetDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L300} + /// [google.cloud.aiplatform.v1.GetDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L297} /// // clang-format on StatusOr GetDataset( @@ -286,7 +286,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.Dataset]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset.proto#L36} - /// [google.cloud.aiplatform.v1.UpdateDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L315} + /// [google.cloud.aiplatform.v1.UpdateDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L312} /// [google.protobuf.FieldMask]: @googleapis_reference_link{google/protobuf/field_mask.proto#L242} /// // clang-format on @@ -318,7 +318,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.Dataset]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset.proto#L36} - /// [google.cloud.aiplatform.v1.UpdateDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L315} + /// [google.cloud.aiplatform.v1.UpdateDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L312} /// // clang-format on StatusOr UpdateDataset( @@ -354,7 +354,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.Dataset]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset.proto#L36} - /// [google.cloud.aiplatform.v1.ListDatasetsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L347} + /// [google.cloud.aiplatform.v1.ListDatasetsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L344} /// // clang-format on StreamRange ListDatasets( @@ -393,7 +393,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.Dataset]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset.proto#L36} - /// [google.cloud.aiplatform.v1.ListDatasetsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L347} + /// [google.cloud.aiplatform.v1.ListDatasetsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L344} /// // clang-format on StreamRange ListDatasets( @@ -427,7 +427,7 @@ class DatasetServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.DeleteDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L404} + /// [google.cloud.aiplatform.v1.DeleteDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L401} /// [google.cloud.aiplatform.v1.DeleteOperationMetadata]: @googleapis_reference_link{google/cloud/aiplatform/v1/operation.proto#L52} /// // clang-format on @@ -478,7 +478,7 @@ class DatasetServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.DeleteDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L404} + /// [google.cloud.aiplatform.v1.DeleteDatasetRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L401} /// [google.cloud.aiplatform.v1.DeleteOperationMetadata]: @googleapis_reference_link{google/cloud/aiplatform/v1/operation.proto#L52} /// // clang-format on @@ -545,8 +545,8 @@ class DatasetServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.ImportDataRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L418} - /// [google.cloud.aiplatform.v1.ImportDataResponse]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L437} + /// [google.cloud.aiplatform.v1.ImportDataRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L415} + /// [google.cloud.aiplatform.v1.ImportDataResponse]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L434} /// // clang-format on future> @@ -602,8 +602,8 @@ class DatasetServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.ImportDataRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L418} - /// [google.cloud.aiplatform.v1.ImportDataResponse]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L437} + /// [google.cloud.aiplatform.v1.ImportDataRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L415} + /// [google.cloud.aiplatform.v1.ImportDataResponse]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L434} /// // clang-format on future> @@ -667,8 +667,8 @@ class DatasetServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.ExportDataRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L448} - /// [google.cloud.aiplatform.v1.ExportDataResponse]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L465} + /// [google.cloud.aiplatform.v1.ExportDataRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L445} + /// [google.cloud.aiplatform.v1.ExportDataResponse]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L462} /// // clang-format on future> @@ -723,8 +723,8 @@ class DatasetServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.ExportDataRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L448} - /// [google.cloud.aiplatform.v1.ExportDataResponse]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L465} + /// [google.cloud.aiplatform.v1.ExportDataRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L445} + /// [google.cloud.aiplatform.v1.ExportDataResponse]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L462} /// // clang-format on future> @@ -790,7 +790,7 @@ class DatasetServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.CreateDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L491} + /// [google.cloud.aiplatform.v1.CreateDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L488} /// [google.cloud.aiplatform.v1.DatasetVersion]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_version.proto#L33} /// // clang-format on @@ -846,7 +846,7 @@ class DatasetServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.CreateDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L491} + /// [google.cloud.aiplatform.v1.CreateDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L488} /// [google.cloud.aiplatform.v1.DatasetVersion]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_version.proto#L33} /// // clang-format on @@ -908,7 +908,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.DatasetVersion]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_version.proto#L33} - /// [google.cloud.aiplatform.v1.UpdateDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L332} + /// [google.cloud.aiplatform.v1.UpdateDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L329} /// [google.protobuf.FieldMask]: @googleapis_reference_link{google/protobuf/field_mask.proto#L242} /// // clang-format on @@ -940,7 +940,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.DatasetVersion]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_version.proto#L33} - /// [google.cloud.aiplatform.v1.UpdateDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L332} + /// [google.cloud.aiplatform.v1.UpdateDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L329} /// // clang-format on StatusOr UpdateDatasetVersion( @@ -974,7 +974,7 @@ class DatasetServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.DeleteDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L517} + /// [google.cloud.aiplatform.v1.DeleteDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L514} /// [google.cloud.aiplatform.v1.DeleteOperationMetadata]: @googleapis_reference_link{google/cloud/aiplatform/v1/operation.proto#L52} /// // clang-format on @@ -1025,7 +1025,7 @@ class DatasetServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.DeleteDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L517} + /// [google.cloud.aiplatform.v1.DeleteDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L514} /// [google.cloud.aiplatform.v1.DeleteOperationMetadata]: @googleapis_reference_link{google/cloud/aiplatform/v1/operation.proto#L52} /// // clang-format on @@ -1084,7 +1084,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.DatasetVersion]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_version.proto#L33} - /// [google.cloud.aiplatform.v1.GetDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L532} + /// [google.cloud.aiplatform.v1.GetDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L528} /// // clang-format on StatusOr GetDatasetVersion( @@ -1114,7 +1114,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.DatasetVersion]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_version.proto#L33} - /// [google.cloud.aiplatform.v1.GetDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L532} + /// [google.cloud.aiplatform.v1.GetDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L528} /// // clang-format on StatusOr GetDatasetVersion( @@ -1151,7 +1151,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.DatasetVersion]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_version.proto#L33} - /// [google.cloud.aiplatform.v1.ListDatasetVersionsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L549} + /// [google.cloud.aiplatform.v1.ListDatasetVersionsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L545} /// // clang-format on StreamRange @@ -1190,7 +1190,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.DatasetVersion]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_version.proto#L33} - /// [google.cloud.aiplatform.v1.ListDatasetVersionsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L549} + /// [google.cloud.aiplatform.v1.ListDatasetVersionsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L545} /// // clang-format on StreamRange @@ -1226,7 +1226,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.DatasetVersion]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_version.proto#L33} - /// [google.cloud.aiplatform.v1.RestoreDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L590} + /// [google.cloud.aiplatform.v1.RestoreDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L586} /// // clang-format on future> @@ -1277,7 +1277,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.DatasetVersion]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_version.proto#L33} - /// [google.cloud.aiplatform.v1.RestoreDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L590} + /// [google.cloud.aiplatform.v1.RestoreDatasetVersionRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L586} /// // clang-format on future> @@ -1346,7 +1346,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.DataItem]: @googleapis_reference_link{google/cloud/aiplatform/v1/data_item.proto#L34} - /// [google.cloud.aiplatform.v1.ListDataItemsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L611} + /// [google.cloud.aiplatform.v1.ListDataItemsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L607} /// // clang-format on StreamRange ListDataItems( @@ -1385,7 +1385,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.DataItem]: @googleapis_reference_link{google/cloud/aiplatform/v1/data_item.proto#L34} - /// [google.cloud.aiplatform.v1.ListDataItemsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L611} + /// [google.cloud.aiplatform.v1.ListDataItemsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L607} /// // clang-format on StreamRange ListDataItems( @@ -1424,8 +1424,8 @@ class DatasetServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.DataItemView]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L767} - /// [google.cloud.aiplatform.v1.SearchDataItemsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L651} + /// [google.cloud.aiplatform.v1.DataItemView]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L763} + /// [google.cloud.aiplatform.v1.SearchDataItemsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L647} /// // clang-format on StreamRange SearchDataItems( @@ -1461,7 +1461,7 @@ class DatasetServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.ListSavedQueriesRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L787} + /// [google.cloud.aiplatform.v1.ListSavedQueriesRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L783} /// [google.cloud.aiplatform.v1.SavedQuery]: @googleapis_reference_link{google/cloud/aiplatform/v1/saved_query.proto#L34} /// // clang-format on @@ -1500,7 +1500,7 @@ class DatasetServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.ListSavedQueriesRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L787} + /// [google.cloud.aiplatform.v1.ListSavedQueriesRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L783} /// [google.cloud.aiplatform.v1.SavedQuery]: @googleapis_reference_link{google/cloud/aiplatform/v1/saved_query.proto#L34} /// // clang-format on @@ -1536,7 +1536,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.DeleteOperationMetadata]: @googleapis_reference_link{google/cloud/aiplatform/v1/operation.proto#L52} - /// [google.cloud.aiplatform.v1.DeleteSavedQueryRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L827} + /// [google.cloud.aiplatform.v1.DeleteSavedQueryRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L823} /// // clang-format on future> @@ -1587,7 +1587,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.DeleteOperationMetadata]: @googleapis_reference_link{google/cloud/aiplatform/v1/operation.proto#L52} - /// [google.cloud.aiplatform.v1.DeleteSavedQueryRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L827} + /// [google.cloud.aiplatform.v1.DeleteSavedQueryRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L823} /// // clang-format on future> @@ -1645,7 +1645,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.AnnotationSpec]: @googleapis_reference_link{google/cloud/aiplatform/v1/annotation_spec.proto#L32} - /// [google.cloud.aiplatform.v1.GetAnnotationSpecRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L841} + /// [google.cloud.aiplatform.v1.GetAnnotationSpecRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L837} /// // clang-format on StatusOr GetAnnotationSpec( @@ -1675,7 +1675,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.AnnotationSpec]: @googleapis_reference_link{google/cloud/aiplatform/v1/annotation_spec.proto#L32} - /// [google.cloud.aiplatform.v1.GetAnnotationSpecRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L841} + /// [google.cloud.aiplatform.v1.GetAnnotationSpecRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L837} /// // clang-format on StatusOr GetAnnotationSpec( @@ -1684,9 +1684,7 @@ class DatasetServiceClient { // clang-format off /// - /// Lists Annotations belongs to a dataitem - /// This RPC is only available in InternalDatasetService. It is only used for - /// exporting conversation data to CCAI Insights. + /// Lists Annotations belongs to a dataitem. /// /// @param parent Required. The resource name of the DataItem to list Annotations from. /// Format: @@ -1714,7 +1712,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.Annotation]: @googleapis_reference_link{google/cloud/aiplatform/v1/annotation.proto#L35} - /// [google.cloud.aiplatform.v1.ListAnnotationsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L858} + /// [google.cloud.aiplatform.v1.ListAnnotationsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L854} /// // clang-format on StreamRange ListAnnotations( @@ -1722,9 +1720,7 @@ class DatasetServiceClient { // clang-format off /// - /// Lists Annotations belongs to a dataitem - /// This RPC is only available in InternalDatasetService. It is only used for - /// exporting conversation data to CCAI Insights. + /// Lists Annotations belongs to a dataitem. /// /// @param request Unary RPCs, such as the one wrapped by this /// function, receive a single `request` proto message which includes all @@ -1755,7 +1751,7 @@ class DatasetServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.Annotation]: @googleapis_reference_link{google/cloud/aiplatform/v1/annotation.proto#L35} - /// [google.cloud.aiplatform.v1.ListAnnotationsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L858} + /// [google.cloud.aiplatform.v1.ListAnnotationsRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/dataset_service.proto#L854} /// // clang-format on StreamRange ListAnnotations( diff --git a/google/cloud/aiplatform/v1/job_client.h b/google/cloud/aiplatform/v1/job_client.h index b7a93ead72212..d24bd8b61d64a 100644 --- a/google/cloud/aiplatform/v1/job_client.h +++ b/google/cloud/aiplatform/v1/job_client.h @@ -2133,7 +2133,7 @@ class JobServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.BatchPredictionJob.state]: @googleapis_reference_link{google/cloud/aiplatform/v1/batch_prediction_job.proto#L394} + /// [google.cloud.aiplatform.v1.BatchPredictionJob.state]: @googleapis_reference_link{google/cloud/aiplatform/v1/batch_prediction_job.proto#L413} /// [google.cloud.aiplatform.v1.CancelBatchPredictionJobRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/job_service.proto#L1116} /// [google.cloud.aiplatform.v1.JobService.GetBatchPredictionJob]: @googleapis_reference_link{google/cloud/aiplatform/v1/job_service.proto#L311} /// @@ -2172,7 +2172,7 @@ class JobServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.BatchPredictionJob.state]: @googleapis_reference_link{google/cloud/aiplatform/v1/batch_prediction_job.proto#L394} + /// [google.cloud.aiplatform.v1.BatchPredictionJob.state]: @googleapis_reference_link{google/cloud/aiplatform/v1/batch_prediction_job.proto#L413} /// [google.cloud.aiplatform.v1.CancelBatchPredictionJobRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/job_service.proto#L1116} /// [google.cloud.aiplatform.v1.JobService.GetBatchPredictionJob]: @googleapis_reference_link{google/cloud/aiplatform/v1/job_service.proto#L311} /// diff --git a/google/cloud/aiplatform/v1/prediction_client.h b/google/cloud/aiplatform/v1/prediction_client.h index ef68943c24d1b..28abff5bfe6d9 100644 --- a/google/cloud/aiplatform/v1/prediction_client.h +++ b/google/cloud/aiplatform/v1/prediction_client.h @@ -802,8 +802,8 @@ class PredictionServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.EmbedContentRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/prediction_service.proto#L866} - /// [google.cloud.aiplatform.v1.EmbedContentResponse]: @googleapis_reference_link{google/cloud/aiplatform/v1/prediction_service.proto#L926} + /// [google.cloud.aiplatform.v1.EmbedContentRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/prediction_service.proto#L894} + /// [google.cloud.aiplatform.v1.EmbedContentResponse]: @googleapis_reference_link{google/cloud/aiplatform/v1/prediction_service.proto#L954} /// // clang-format on StatusOr EmbedContent( @@ -833,8 +833,8 @@ class PredictionServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.aiplatform.v1.EmbedContentRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/prediction_service.proto#L866} - /// [google.cloud.aiplatform.v1.EmbedContentResponse]: @googleapis_reference_link{google/cloud/aiplatform/v1/prediction_service.proto#L926} + /// [google.cloud.aiplatform.v1.EmbedContentRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/prediction_service.proto#L894} + /// [google.cloud.aiplatform.v1.EmbedContentResponse]: @googleapis_reference_link{google/cloud/aiplatform/v1/prediction_service.proto#L954} /// // clang-format on StatusOr EmbedContent( diff --git a/google/cloud/aiplatform/v1/schedule_client.h b/google/cloud/aiplatform/v1/schedule_client.h index 06933e2ae4a8e..9477e946001a3 100644 --- a/google/cloud/aiplatform/v1/schedule_client.h +++ b/google/cloud/aiplatform/v1/schedule_client.h @@ -484,7 +484,7 @@ class ScheduleServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.ResumeScheduleRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/schedule_service.proto#L277} - /// [google.cloud.aiplatform.v1.Schedule.catch_up]: @googleapis_reference_link{google/cloud/aiplatform/v1/schedule.proto#L170} + /// [google.cloud.aiplatform.v1.Schedule.catch_up]: @googleapis_reference_link{google/cloud/aiplatform/v1/schedule.proto#L178} /// [google.cloud.aiplatform.v1.Schedule.state]: @googleapis_reference_link{google/cloud/aiplatform/v1/schedule.proto#L131} /// // clang-format on @@ -522,7 +522,7 @@ class ScheduleServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.ResumeScheduleRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/schedule_service.proto#L277} - /// [google.cloud.aiplatform.v1.Schedule.catch_up]: @googleapis_reference_link{google/cloud/aiplatform/v1/schedule.proto#L170} + /// [google.cloud.aiplatform.v1.Schedule.catch_up]: @googleapis_reference_link{google/cloud/aiplatform/v1/schedule.proto#L178} /// [google.cloud.aiplatform.v1.Schedule.state]: @googleapis_reference_link{google/cloud/aiplatform/v1/schedule.proto#L131} /// // clang-format on @@ -559,7 +559,7 @@ class ScheduleServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.aiplatform.v1.ResumeScheduleRequest]: @googleapis_reference_link{google/cloud/aiplatform/v1/schedule_service.proto#L277} - /// [google.cloud.aiplatform.v1.Schedule.catch_up]: @googleapis_reference_link{google/cloud/aiplatform/v1/schedule.proto#L170} + /// [google.cloud.aiplatform.v1.Schedule.catch_up]: @googleapis_reference_link{google/cloud/aiplatform/v1/schedule.proto#L178} /// [google.cloud.aiplatform.v1.Schedule.state]: @googleapis_reference_link{google/cloud/aiplatform/v1/schedule.proto#L131} /// // clang-format on diff --git a/google/cloud/artifactregistry/v1/artifact_registry_client.h b/google/cloud/artifactregistry/v1/artifact_registry_client.h index d363e7fed1f0b..766826ef6e5c4 100644 --- a/google/cloud/artifactregistry/v1/artifact_registry_client.h +++ b/google/cloud/artifactregistry/v1/artifact_registry_client.h @@ -1936,8 +1936,8 @@ class ArtifactRegistryClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.devtools.artifactregistry.v1.File]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L54} - /// [google.devtools.artifactregistry.v1.ListFilesRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L92} + /// [google.devtools.artifactregistry.v1.File]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L57} + /// [google.devtools.artifactregistry.v1.ListFilesRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L95} /// // clang-format on StreamRange ListFiles( @@ -1975,8 +1975,8 @@ class ArtifactRegistryClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.devtools.artifactregistry.v1.File]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L54} - /// [google.devtools.artifactregistry.v1.ListFilesRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L92} + /// [google.devtools.artifactregistry.v1.File]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L57} + /// [google.devtools.artifactregistry.v1.ListFilesRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L95} /// // clang-format on StreamRange ListFiles( @@ -2001,8 +2001,8 @@ class ArtifactRegistryClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.devtools.artifactregistry.v1.File]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L54} - /// [google.devtools.artifactregistry.v1.GetFileRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L175} + /// [google.devtools.artifactregistry.v1.File]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L57} + /// [google.devtools.artifactregistry.v1.GetFileRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L178} /// // clang-format on StatusOr GetFile( @@ -2031,8 +2031,8 @@ class ArtifactRegistryClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.devtools.artifactregistry.v1.File]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L54} - /// [google.devtools.artifactregistry.v1.GetFileRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L175} + /// [google.devtools.artifactregistry.v1.File]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L57} + /// [google.devtools.artifactregistry.v1.GetFileRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L178} /// // clang-format on StatusOr GetFile( @@ -2066,7 +2066,7 @@ class ArtifactRegistryClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.devtools.artifactregistry.v1.DeleteFileRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L186} + /// [google.devtools.artifactregistry.v1.DeleteFileRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L189} /// [google.devtools.artifactregistry.v1.OperationMetadata]: @googleapis_reference_link{google/devtools/artifactregistry/v1/service.proto#L561} /// // clang-format on @@ -2120,7 +2120,7 @@ class ArtifactRegistryClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.devtools.artifactregistry.v1.DeleteFileRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L186} + /// [google.devtools.artifactregistry.v1.DeleteFileRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L189} /// [google.devtools.artifactregistry.v1.OperationMetadata]: @googleapis_reference_link{google/devtools/artifactregistry/v1/service.proto#L561} /// // clang-format on @@ -2179,8 +2179,8 @@ class ArtifactRegistryClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.devtools.artifactregistry.v1.File]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L54} - /// [google.devtools.artifactregistry.v1.UpdateFileRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L197} + /// [google.devtools.artifactregistry.v1.File]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L57} + /// [google.devtools.artifactregistry.v1.UpdateFileRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L200} /// // clang-format on StatusOr UpdateFile( @@ -2210,8 +2210,8 @@ class ArtifactRegistryClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.devtools.artifactregistry.v1.File]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L54} - /// [google.devtools.artifactregistry.v1.UpdateFileRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L197} + /// [google.devtools.artifactregistry.v1.File]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L57} + /// [google.devtools.artifactregistry.v1.UpdateFileRequest]: @googleapis_reference_link{google/devtools/artifactregistry/v1/file.proto#L200} /// // clang-format on StatusOr UpdateFile( diff --git a/google/cloud/confidentialcomputing/v1/confidential_computing_client.h b/google/cloud/confidentialcomputing/v1/confidential_computing_client.h index 3b0fa5861702d..32d7a5d466f58 100644 --- a/google/cloud/confidentialcomputing/v1/confidential_computing_client.h +++ b/google/cloud/confidentialcomputing/v1/confidential_computing_client.h @@ -176,7 +176,7 @@ class ConfidentialComputingClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.confidentialcomputing.v1.VerifyAttestationRequest]: @googleapis_reference_link{google/cloud/confidentialcomputing/v1/service.proto#L183} - /// [google.cloud.confidentialcomputing.v1.VerifyAttestationResponse]: @googleapis_reference_link{google/cloud/confidentialcomputing/v1/service.proto#L263} + /// [google.cloud.confidentialcomputing.v1.VerifyAttestationResponse]: @googleapis_reference_link{google/cloud/confidentialcomputing/v1/service.proto#L363} /// // clang-format on StatusOr @@ -209,8 +209,8 @@ class ConfidentialComputingClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceRequest]: @googleapis_reference_link{google/cloud/confidentialcomputing/v1/service.proto#L411} - /// [google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceResponse]: @googleapis_reference_link{google/cloud/confidentialcomputing/v1/service.proto#L493} + /// [google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceRequest]: @googleapis_reference_link{google/cloud/confidentialcomputing/v1/service.proto#L511} + /// [google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceResponse]: @googleapis_reference_link{google/cloud/confidentialcomputing/v1/service.proto#L598} /// // clang-format on StatusOr< @@ -243,8 +243,8 @@ class ConfidentialComputingClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.confidentialcomputing.v1.VerifyConfidentialGkeRequest]: @googleapis_reference_link{google/cloud/confidentialcomputing/v1/service.proto#L511} - /// [google.cloud.confidentialcomputing.v1.VerifyConfidentialGkeResponse]: @googleapis_reference_link{google/cloud/confidentialcomputing/v1/service.proto#L533} + /// [google.cloud.confidentialcomputing.v1.VerifyConfidentialGkeRequest]: @googleapis_reference_link{google/cloud/confidentialcomputing/v1/service.proto#L616} + /// [google.cloud.confidentialcomputing.v1.VerifyConfidentialGkeResponse]: @googleapis_reference_link{google/cloud/confidentialcomputing/v1/service.proto#L657} /// // clang-format on StatusOr< diff --git a/google/cloud/dataproc/v1/autoscaling_policy_client.h b/google/cloud/dataproc/v1/autoscaling_policy_client.h index 91b8d82406b4a..fb7c9a7bafc05 100644 --- a/google/cloud/dataproc/v1/autoscaling_policy_client.h +++ b/google/cloud/dataproc/v1/autoscaling_policy_client.h @@ -120,7 +120,7 @@ class AutoscalingPolicyServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.AutoscalingPolicy]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L112} - /// [google.cloud.dataproc.v1.CreateAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L274} + /// [google.cloud.dataproc.v1.CreateAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L292} /// // clang-format on StatusOr @@ -153,7 +153,7 @@ class AutoscalingPolicyServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.AutoscalingPolicy]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L112} - /// [google.cloud.dataproc.v1.CreateAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L274} + /// [google.cloud.dataproc.v1.CreateAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L292} /// // clang-format on StatusOr @@ -184,7 +184,7 @@ class AutoscalingPolicyServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.AutoscalingPolicy]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L112} - /// [google.cloud.dataproc.v1.UpdateAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L317} + /// [google.cloud.dataproc.v1.UpdateAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L335} /// // clang-format on StatusOr @@ -219,7 +219,7 @@ class AutoscalingPolicyServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.AutoscalingPolicy]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L112} - /// [google.cloud.dataproc.v1.UpdateAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L317} + /// [google.cloud.dataproc.v1.UpdateAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L335} /// // clang-format on StatusOr @@ -256,7 +256,7 @@ class AutoscalingPolicyServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.AutoscalingPolicy]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L112} - /// [google.cloud.dataproc.v1.GetAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L297} + /// [google.cloud.dataproc.v1.GetAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L315} /// // clang-format on StatusOr GetAutoscalingPolicy( @@ -286,7 +286,7 @@ class AutoscalingPolicyServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.AutoscalingPolicy]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L112} - /// [google.cloud.dataproc.v1.GetAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L297} + /// [google.cloud.dataproc.v1.GetAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L315} /// // clang-format on StatusOr GetAutoscalingPolicy( @@ -330,7 +330,7 @@ class AutoscalingPolicyServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.AutoscalingPolicy]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L112} - /// [google.cloud.dataproc.v1.ListAutoscalingPoliciesRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L345} + /// [google.cloud.dataproc.v1.ListAutoscalingPoliciesRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L363} /// // clang-format on StreamRange @@ -369,7 +369,7 @@ class AutoscalingPolicyServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.AutoscalingPolicy]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L112} - /// [google.cloud.dataproc.v1.ListAutoscalingPoliciesRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L345} + /// [google.cloud.dataproc.v1.ListAutoscalingPoliciesRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L363} /// // clang-format on StreamRange @@ -403,7 +403,7 @@ class AutoscalingPolicyServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.DeleteAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L325} + /// [google.cloud.dataproc.v1.DeleteAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L343} /// // clang-format on Status DeleteAutoscalingPolicy(std::string const& name, Options opts = {}); @@ -430,7 +430,7 @@ class AutoscalingPolicyServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.DeleteAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L325} + /// [google.cloud.dataproc.v1.DeleteAutoscalingPolicyRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/autoscaling_policies.proto#L343} /// // clang-format on Status DeleteAutoscalingPolicy( diff --git a/google/cloud/dataproc/v1/cluster_controller_client.h b/google/cloud/dataproc/v1/cluster_controller_client.h index 20a6b2379fbe9..77edab670b47e 100644 --- a/google/cloud/dataproc/v1/cluster_controller_client.h +++ b/google/cloud/dataproc/v1/cluster_controller_client.h @@ -121,7 +121,7 @@ class ClusterControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.Cluster]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L160} - /// [google.cloud.dataproc.v1.CreateClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1368} + /// [google.cloud.dataproc.v1.CreateClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1387} /// [google.longrunning.Operation.metadata]: @googleapis_reference_link{google/longrunning/operations.proto#L131} /// // clang-format on @@ -177,7 +177,7 @@ class ClusterControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.Cluster]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L160} - /// [google.cloud.dataproc.v1.CreateClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1368} + /// [google.cloud.dataproc.v1.CreateClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1387} /// [google.longrunning.Operation.metadata]: @googleapis_reference_link{google/longrunning/operations.proto#L131} /// // clang-format on @@ -255,8 +255,8 @@ class ClusterControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.Cluster]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L160} - /// [google.cloud.dataproc.v1.ClusterStatus.State]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1018} - /// [google.cloud.dataproc.v1.UpdateClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1399} + /// [google.cloud.dataproc.v1.ClusterStatus.State]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1037} + /// [google.cloud.dataproc.v1.UpdateClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1418} /// [google.longrunning.Operation.metadata]: @googleapis_reference_link{google/longrunning/operations.proto#L131} /// // clang-format on @@ -319,8 +319,8 @@ class ClusterControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.Cluster]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L160} - /// [google.cloud.dataproc.v1.ClusterStatus.State]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1018} - /// [google.cloud.dataproc.v1.UpdateClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1399} + /// [google.cloud.dataproc.v1.ClusterStatus.State]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1037} + /// [google.cloud.dataproc.v1.UpdateClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1418} /// [google.longrunning.Operation.metadata]: @googleapis_reference_link{google/longrunning/operations.proto#L131} /// // clang-format on @@ -387,7 +387,7 @@ class ClusterControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.Cluster]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L160} - /// [google.cloud.dataproc.v1.StopClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1495} + /// [google.cloud.dataproc.v1.StopClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1514} /// // clang-format on future> StopCluster( @@ -453,7 +453,7 @@ class ClusterControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.Cluster]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L160} - /// [google.cloud.dataproc.v1.StartClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1526} + /// [google.cloud.dataproc.v1.StartClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1545} /// // clang-format on future> StartCluster( @@ -519,7 +519,7 @@ class ClusterControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.ClusterOperationMetadata]: @googleapis_reference_link{google/cloud/dataproc/v1/operations.proto#L137} - /// [google.cloud.dataproc.v1.DeleteClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1557} + /// [google.cloud.dataproc.v1.DeleteClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1576} /// [google.longrunning.Operation.metadata]: @googleapis_reference_link{google/longrunning/operations.proto#L131} /// // clang-format on @@ -575,7 +575,7 @@ class ClusterControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.ClusterOperationMetadata]: @googleapis_reference_link{google/cloud/dataproc/v1/operations.proto#L137} - /// [google.cloud.dataproc.v1.DeleteClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1557} + /// [google.cloud.dataproc.v1.DeleteClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1576} /// [google.longrunning.Operation.metadata]: @googleapis_reference_link{google/longrunning/operations.proto#L131} /// // clang-format on @@ -635,7 +635,7 @@ class ClusterControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.Cluster]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L160} - /// [google.cloud.dataproc.v1.GetClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1588} + /// [google.cloud.dataproc.v1.GetClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1607} /// // clang-format on StatusOr GetCluster( @@ -666,7 +666,7 @@ class ClusterControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.Cluster]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L160} - /// [google.cloud.dataproc.v1.GetClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1588} + /// [google.cloud.dataproc.v1.GetClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1607} /// // clang-format on StatusOr GetCluster( @@ -703,7 +703,7 @@ class ClusterControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.Cluster]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L160} - /// [google.cloud.dataproc.v1.ListClustersRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1601} + /// [google.cloud.dataproc.v1.ListClustersRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1620} /// // clang-format on StreamRange ListClusters( @@ -759,7 +759,7 @@ class ClusterControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.Cluster]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L160} - /// [google.cloud.dataproc.v1.ListClustersRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1601} + /// [google.cloud.dataproc.v1.ListClustersRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1620} /// // clang-format on StreamRange ListClusters( @@ -799,7 +799,7 @@ class ClusterControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.Cluster]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L160} - /// [google.cloud.dataproc.v1.ListClustersRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1601} + /// [google.cloud.dataproc.v1.ListClustersRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1620} /// // clang-format on StreamRange ListClusters( @@ -840,8 +840,8 @@ class ClusterControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.DiagnoseClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1649} - /// [google.cloud.dataproc.v1.DiagnoseClusterResults]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1699} + /// [google.cloud.dataproc.v1.DiagnoseClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1668} + /// [google.cloud.dataproc.v1.DiagnoseClusterResults]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1718} /// [google.longrunning.Operation.metadata]: @googleapis_reference_link{google/longrunning/operations.proto#L131} /// [google.longrunning.Operation.response]: @googleapis_reference_link{google/longrunning/operations.proto#L154} /// @@ -901,8 +901,8 @@ class ClusterControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.DiagnoseClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1649} - /// [google.cloud.dataproc.v1.DiagnoseClusterResults]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1699} + /// [google.cloud.dataproc.v1.DiagnoseClusterRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1668} + /// [google.cloud.dataproc.v1.DiagnoseClusterResults]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L1718} /// [google.longrunning.Operation.metadata]: @googleapis_reference_link{google/longrunning/operations.proto#L131} /// [google.longrunning.Operation.response]: @googleapis_reference_link{google/longrunning/operations.proto#L154} /// diff --git a/google/cloud/dataproc/v1/node_group_controller_client.h b/google/cloud/dataproc/v1/node_group_controller_client.h index e59cc1eb2d6b4..7e1f68ef476aa 100644 --- a/google/cloud/dataproc/v1/node_group_controller_client.h +++ b/google/cloud/dataproc/v1/node_group_controller_client.h @@ -126,7 +126,7 @@ class NodeGroupControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.CreateNodeGroupRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/node_groups.proto#L86} - /// [google.cloud.dataproc.v1.NodeGroup]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L962} + /// [google.cloud.dataproc.v1.NodeGroup]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L981} /// [google.longrunning.Operation.metadata]: @googleapis_reference_link{google/longrunning/operations.proto#L131} /// // clang-format on @@ -184,7 +184,7 @@ class NodeGroupControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.CreateNodeGroupRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/node_groups.proto#L86} - /// [google.cloud.dataproc.v1.NodeGroup]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L962} + /// [google.cloud.dataproc.v1.NodeGroup]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L981} /// [google.longrunning.Operation.metadata]: @googleapis_reference_link{google/longrunning/operations.proto#L131} /// // clang-format on @@ -252,7 +252,7 @@ class NodeGroupControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.NodeGroup]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L962} + /// [google.cloud.dataproc.v1.NodeGroup]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L981} /// [google.cloud.dataproc.v1.ResizeNodeGroupRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/node_groups.proto#L122} /// [google.longrunning.Operation.metadata]: @googleapis_reference_link{google/longrunning/operations.proto#L131} /// @@ -307,7 +307,7 @@ class NodeGroupControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.NodeGroup]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L962} + /// [google.cloud.dataproc.v1.NodeGroup]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L981} /// [google.cloud.dataproc.v1.ResizeNodeGroupRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/node_groups.proto#L122} /// [google.longrunning.Operation.metadata]: @googleapis_reference_link{google/longrunning/operations.proto#L131} /// @@ -366,7 +366,7 @@ class NodeGroupControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.GetNodeGroupRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/node_groups.proto#L164} - /// [google.cloud.dataproc.v1.NodeGroup]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L962} + /// [google.cloud.dataproc.v1.NodeGroup]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L981} /// // clang-format on StatusOr GetNodeGroup( @@ -397,7 +397,7 @@ class NodeGroupControllerClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.dataproc.v1.GetNodeGroupRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/node_groups.proto#L164} - /// [google.cloud.dataproc.v1.NodeGroup]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L962} + /// [google.cloud.dataproc.v1.NodeGroup]: @googleapis_reference_link{google/cloud/dataproc/v1/clusters.proto#L981} /// // clang-format on StatusOr GetNodeGroup( diff --git a/google/cloud/developerconnect/v1/developer_connect_client.cc b/google/cloud/developerconnect/v1/developer_connect_client.cc index 1c8eb6da8f79f..17b87c8870705 100644 --- a/google/cloud/developerconnect/v1/developer_connect_client.cc +++ b/google/cloud/developerconnect/v1/developer_connect_client.cc @@ -740,6 +740,40 @@ DeveloperConnectClient::DeleteSelf( return connection_->DeleteSelf(operation); } +StatusOr +DeveloperConnectClient::StartOAuth(std::string const& account_connector, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::developerconnect::v1::StartOAuthRequest request; + request.set_account_connector(account_connector); + return connection_->StartOAuth(request); +} + +StatusOr +DeveloperConnectClient::StartOAuth( + google::cloud::developerconnect::v1::StartOAuthRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->StartOAuth(request); +} + +StatusOr +DeveloperConnectClient::FinishOAuth(std::string const& account_connector, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::developerconnect::v1::FinishOAuthRequest request; + request.set_account_connector(account_connector); + return connection_->FinishOAuth(request); +} + +StatusOr +DeveloperConnectClient::FinishOAuth( + google::cloud::developerconnect::v1::FinishOAuthRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->FinishOAuth(request); +} + StreamRange DeveloperConnectClient::ListLocations( google::cloud::location::ListLocationsRequest request, Options opts) { diff --git a/google/cloud/developerconnect/v1/developer_connect_client.h b/google/cloud/developerconnect/v1/developer_connect_client.h index 9eec0b4d201f8..c29ec1d983f62 100644 --- a/google/cloud/developerconnect/v1/developer_connect_client.h +++ b/google/cloud/developerconnect/v1/developer_connect_client.h @@ -116,8 +116,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L403} - /// [google.cloud.developerconnect.v1.ListConnectionsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L832} + /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L425} + /// [google.cloud.developerconnect.v1.ListConnectionsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L967} /// // clang-format on StreamRange ListConnections( @@ -155,8 +155,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L403} - /// [google.cloud.developerconnect.v1.ListConnectionsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L832} + /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L425} + /// [google.cloud.developerconnect.v1.ListConnectionsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L967} /// // clang-format on StreamRange ListConnections( @@ -181,8 +181,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L403} - /// [google.cloud.developerconnect.v1.GetConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L868} + /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L425} + /// [google.cloud.developerconnect.v1.GetConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1003} /// // clang-format on StatusOr GetConnection( @@ -211,8 +211,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L403} - /// [google.cloud.developerconnect.v1.GetConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L868} + /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L425} + /// [google.cloud.developerconnect.v1.GetConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1003} /// // clang-format on StatusOr GetConnection( @@ -248,8 +248,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L403} - /// [google.cloud.developerconnect.v1.CreateConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L879} + /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L425} + /// [google.cloud.developerconnect.v1.CreateConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1014} /// // clang-format on future> @@ -304,8 +304,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L403} - /// [google.cloud.developerconnect.v1.CreateConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L879} + /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L425} + /// [google.cloud.developerconnect.v1.CreateConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1014} /// // clang-format on future> @@ -374,8 +374,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L403} - /// [google.cloud.developerconnect.v1.UpdateConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L919} + /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L425} + /// [google.cloud.developerconnect.v1.UpdateConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1054} /// // clang-format on future> @@ -429,8 +429,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L403} - /// [google.cloud.developerconnect.v1.UpdateConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L919} + /// [google.cloud.developerconnect.v1.Connection]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L425} + /// [google.cloud.developerconnect.v1.UpdateConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1054} /// // clang-format on future> @@ -494,8 +494,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.DeleteConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L961} - /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1204} + /// [google.cloud.developerconnect.v1.DeleteConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1096} + /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1339} /// // clang-format on future> @@ -545,8 +545,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.DeleteConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L961} - /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1204} + /// [google.cloud.developerconnect.v1.DeleteConnectionRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1096} + /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1339} /// // clang-format on future> @@ -590,8 +590,9 @@ class DeveloperConnectClient { /// Creates a GitRepositoryLink. Upon linking a Git Repository, Developer /// Connect will configure the Git Repository to send webhook events to /// Developer Connect. Connections that use Firebase GitHub Application will - /// have events forwarded to the Firebase service. All other Connections will - /// have events forwarded to Cloud Build. + /// have events forwarded to the Firebase service. Connections that use Gemini + /// Code Assist will have events forwarded to Gemini Code Assist service. All + /// other Connections will have events forwarded to Cloud Build. /// /// @param parent Required. Value for parent. /// @param git_repository_link Required. The resource being created @@ -619,8 +620,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.CreateGitRepositoryLinkRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1353} - /// [google.cloud.developerconnect.v1.GitRepositoryLink]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1294} + /// [google.cloud.developerconnect.v1.CreateGitRepositoryLinkRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1578} + /// [google.cloud.developerconnect.v1.GitRepositoryLink]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1519} /// // clang-format on future> @@ -652,8 +653,9 @@ class DeveloperConnectClient { /// Creates a GitRepositoryLink. Upon linking a Git Repository, Developer /// Connect will configure the Git Repository to send webhook events to /// Developer Connect. Connections that use Firebase GitHub Application will - /// have events forwarded to the Firebase service. All other Connections will - /// have events forwarded to Cloud Build. + /// have events forwarded to the Firebase service. Connections that use Gemini + /// Code Assist will have events forwarded to Gemini Code Assist service. All + /// other Connections will have events forwarded to Cloud Build. /// /// @param request Unary RPCs, such as the one wrapped by this /// function, receive a single `request` proto message which includes all @@ -681,8 +683,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.CreateGitRepositoryLinkRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1353} - /// [google.cloud.developerconnect.v1.GitRepositoryLink]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1294} + /// [google.cloud.developerconnect.v1.CreateGitRepositoryLinkRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1578} + /// [google.cloud.developerconnect.v1.GitRepositoryLink]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1519} /// // clang-format on future> @@ -746,8 +748,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.DeleteGitRepositoryLinkRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1395} - /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1204} + /// [google.cloud.developerconnect.v1.DeleteGitRepositoryLinkRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1620} + /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1339} /// // clang-format on future> @@ -797,8 +799,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.DeleteGitRepositoryLinkRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1395} - /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1204} + /// [google.cloud.developerconnect.v1.DeleteGitRepositoryLinkRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1620} + /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1339} /// // clang-format on future> @@ -864,8 +866,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.GitRepositoryLink]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1294} - /// [google.cloud.developerconnect.v1.ListGitRepositoryLinksRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1432} + /// [google.cloud.developerconnect.v1.GitRepositoryLink]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1519} + /// [google.cloud.developerconnect.v1.ListGitRepositoryLinksRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1657} /// // clang-format on StreamRange @@ -903,8 +905,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.GitRepositoryLink]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1294} - /// [google.cloud.developerconnect.v1.ListGitRepositoryLinksRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1432} + /// [google.cloud.developerconnect.v1.GitRepositoryLink]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1519} + /// [google.cloud.developerconnect.v1.ListGitRepositoryLinksRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1657} /// // clang-format on StreamRange @@ -931,8 +933,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.GetGitRepositoryLinkRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1468} - /// [google.cloud.developerconnect.v1.GitRepositoryLink]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1294} + /// [google.cloud.developerconnect.v1.GetGitRepositoryLinkRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1693} + /// [google.cloud.developerconnect.v1.GitRepositoryLink]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1519} /// // clang-format on StatusOr @@ -961,8 +963,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.GetGitRepositoryLinkRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1468} - /// [google.cloud.developerconnect.v1.GitRepositoryLink]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1294} + /// [google.cloud.developerconnect.v1.GetGitRepositoryLinkRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1693} + /// [google.cloud.developerconnect.v1.GitRepositoryLink]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1519} /// // clang-format on StatusOr @@ -990,8 +992,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.FetchReadWriteTokenRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1479} - /// [google.cloud.developerconnect.v1.FetchReadWriteTokenResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1517} + /// [google.cloud.developerconnect.v1.FetchReadWriteTokenRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1704} + /// [google.cloud.developerconnect.v1.FetchReadWriteTokenResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1742} /// // clang-format on StatusOr @@ -1021,8 +1023,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.FetchReadWriteTokenRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1479} - /// [google.cloud.developerconnect.v1.FetchReadWriteTokenResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1517} + /// [google.cloud.developerconnect.v1.FetchReadWriteTokenRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1704} + /// [google.cloud.developerconnect.v1.FetchReadWriteTokenResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1742} /// // clang-format on StatusOr @@ -1050,8 +1052,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.FetchReadTokenRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1491} - /// [google.cloud.developerconnect.v1.FetchReadTokenResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1503} + /// [google.cloud.developerconnect.v1.FetchReadTokenRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1716} + /// [google.cloud.developerconnect.v1.FetchReadTokenResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1728} /// // clang-format on StatusOr @@ -1080,8 +1082,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.FetchReadTokenRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1491} - /// [google.cloud.developerconnect.v1.FetchReadTokenResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1503} + /// [google.cloud.developerconnect.v1.FetchReadTokenRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1716} + /// [google.cloud.developerconnect.v1.FetchReadTokenResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1728} /// // clang-format on StatusOr @@ -1118,8 +1120,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.FetchLinkableGitRepositoriesRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1531} - /// [google.cloud.developerconnect.v1.LinkableGitRepository]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1559} + /// [google.cloud.developerconnect.v1.FetchLinkableGitRepositoriesRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1756} + /// [google.cloud.developerconnect.v1.LinkableGitRepository]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1784} /// // clang-format on StreamRange @@ -1159,8 +1161,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.FetchLinkableGitRepositoriesRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1531} - /// [google.cloud.developerconnect.v1.LinkableGitRepository]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1559} + /// [google.cloud.developerconnect.v1.FetchLinkableGitRepositoriesRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1756} + /// [google.cloud.developerconnect.v1.LinkableGitRepository]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1784} /// // clang-format on StreamRange @@ -1191,8 +1193,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.FetchGitHubInstallationsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1565} - /// [google.cloud.developerconnect.v1.FetchGitHubInstallationsResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1577} + /// [google.cloud.developerconnect.v1.FetchGitHubInstallationsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1790} + /// [google.cloud.developerconnect.v1.FetchGitHubInstallationsResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1802} /// // clang-format on StatusOr< @@ -1225,8 +1227,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.FetchGitHubInstallationsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1565} - /// [google.cloud.developerconnect.v1.FetchGitHubInstallationsResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1577} + /// [google.cloud.developerconnect.v1.FetchGitHubInstallationsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1790} + /// [google.cloud.developerconnect.v1.FetchGitHubInstallationsResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1802} /// // clang-format on StatusOr< @@ -1262,7 +1264,7 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.FetchGitRefsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1596} + /// [google.cloud.developerconnect.v1.FetchGitRefsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1821} /// // clang-format on StreamRange FetchGitRefs( @@ -1301,7 +1303,7 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.FetchGitRefsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1596} + /// [google.cloud.developerconnect.v1.FetchGitRefsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1821} /// // clang-format on StreamRange FetchGitRefs( @@ -1335,8 +1337,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1641} - /// [google.cloud.developerconnect.v1.ListAccountConnectorsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L998} + /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1866} + /// [google.cloud.developerconnect.v1.ListAccountConnectorsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1133} /// // clang-format on StreamRange @@ -1374,8 +1376,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1641} - /// [google.cloud.developerconnect.v1.ListAccountConnectorsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L998} + /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1866} + /// [google.cloud.developerconnect.v1.ListAccountConnectorsRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1133} /// // clang-format on StreamRange @@ -1401,8 +1403,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1641} - /// [google.cloud.developerconnect.v1.GetAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1034} + /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1866} + /// [google.cloud.developerconnect.v1.GetAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1169} /// // clang-format on StatusOr @@ -1431,8 +1433,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1641} - /// [google.cloud.developerconnect.v1.GetAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1034} + /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1866} + /// [google.cloud.developerconnect.v1.GetAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1169} /// // clang-format on StatusOr @@ -1471,8 +1473,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1641} - /// [google.cloud.developerconnect.v1.CreateAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1044} + /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1866} + /// [google.cloud.developerconnect.v1.CreateAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1179} /// // clang-format on future> @@ -1529,8 +1531,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1641} - /// [google.cloud.developerconnect.v1.CreateAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1044} + /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1866} + /// [google.cloud.developerconnect.v1.CreateAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1179} /// // clang-format on future> @@ -1595,8 +1597,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1641} - /// [google.cloud.developerconnect.v1.UpdateAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1086} + /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1866} + /// [google.cloud.developerconnect.v1.UpdateAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1221} /// // clang-format on future> @@ -1652,8 +1654,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1641} - /// [google.cloud.developerconnect.v1.UpdateAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1086} + /// [google.cloud.developerconnect.v1.AccountConnector]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1866} + /// [google.cloud.developerconnect.v1.UpdateAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1221} /// // clang-format on future> @@ -1717,8 +1719,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.DeleteAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1124} - /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1204} + /// [google.cloud.developerconnect.v1.DeleteAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1259} + /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1339} /// // clang-format on future> @@ -1768,8 +1770,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.DeleteAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1124} - /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1204} + /// [google.cloud.developerconnect.v1.DeleteAccountConnectorRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1259} + /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1339} /// // clang-format on future> @@ -1827,8 +1829,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.FetchAccessTokenRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1257} - /// [google.cloud.developerconnect.v1.FetchAccessTokenResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1269} + /// [google.cloud.developerconnect.v1.FetchAccessTokenRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1392} + /// [google.cloud.developerconnect.v1.FetchAccessTokenResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1404} /// // clang-format on StatusOr @@ -1857,8 +1859,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.FetchAccessTokenRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1257} - /// [google.cloud.developerconnect.v1.FetchAccessTokenResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1269} + /// [google.cloud.developerconnect.v1.FetchAccessTokenRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1392} + /// [google.cloud.developerconnect.v1.FetchAccessTokenResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1404} /// // clang-format on StatusOr @@ -1894,8 +1896,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.ListUsersRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L367} - /// [google.cloud.developerconnect.v1.User]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1685} + /// [google.cloud.developerconnect.v1.ListUsersRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L389} + /// [google.cloud.developerconnect.v1.User]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1911} /// // clang-format on StreamRange ListUsers( @@ -1933,8 +1935,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.ListUsersRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L367} - /// [google.cloud.developerconnect.v1.User]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1685} + /// [google.cloud.developerconnect.v1.ListUsersRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L389} + /// [google.cloud.developerconnect.v1.User]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1911} /// // clang-format on StreamRange ListUsers( @@ -1966,8 +1968,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.DeleteUserRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1167} - /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1204} + /// [google.cloud.developerconnect.v1.DeleteUserRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1302} + /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1339} /// // clang-format on future> @@ -2018,8 +2020,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.DeleteUserRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1167} - /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1204} + /// [google.cloud.developerconnect.v1.DeleteUserRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1302} + /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1339} /// // clang-format on future> @@ -2074,8 +2076,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.FetchSelfRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1235} - /// [google.cloud.developerconnect.v1.User]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1685} + /// [google.cloud.developerconnect.v1.FetchSelfRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1370} + /// [google.cloud.developerconnect.v1.User]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1911} /// // clang-format on StatusOr FetchSelf( @@ -2104,8 +2106,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.FetchSelfRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1235} - /// [google.cloud.developerconnect.v1.User]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1685} + /// [google.cloud.developerconnect.v1.FetchSelfRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1370} + /// [google.cloud.developerconnect.v1.User]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1911} /// // clang-format on StatusOr FetchSelf( @@ -2137,8 +2139,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.DeleteSelfRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1246} - /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1204} + /// [google.cloud.developerconnect.v1.DeleteSelfRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1381} + /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1339} /// // clang-format on future> @@ -2189,8 +2191,8 @@ class DeveloperConnectClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.developerconnect.v1.DeleteSelfRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1246} - /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1204} + /// [google.cloud.developerconnect.v1.DeleteSelfRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1381} + /// [google.cloud.developerconnect.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1339} /// // clang-format on future> @@ -2227,6 +2229,121 @@ class DeveloperConnectClient { DeleteSelf(google::longrunning::Operation const& operation, Options opts = {}); + // clang-format off + /// + /// Starts OAuth flow for an account connector. + /// + /// @param account_connector Required. The resource name of the AccountConnector in the format + /// `projects/*/locations/*/accountConnectors/*`. + /// @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.developerconnect.v1.StartOAuthResponse]) + /// 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.developerconnect.v1.StartOAuthRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1419} + /// [google.cloud.developerconnect.v1.StartOAuthResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1431} + /// + // clang-format on + StatusOr StartOAuth( + std::string const& account_connector, Options opts = {}); + + // clang-format off + /// + /// Starts OAuth flow for an account connector. + /// + /// @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.developerconnect.v1.StartOAuthRequest]. + /// 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.developerconnect.v1.StartOAuthResponse]) + /// 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.developerconnect.v1.StartOAuthRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1419} + /// [google.cloud.developerconnect.v1.StartOAuthResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1431} + /// + // clang-format on + StatusOr StartOAuth( + google::cloud::developerconnect::v1::StartOAuthRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Finishes OAuth flow for an account connector. + /// + /// @param account_connector Required. The resource name of the AccountConnector in the format + /// `projects/*/locations/*/accountConnectors/*`. + /// @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.developerconnect.v1.FinishOAuthResponse]) + /// 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.developerconnect.v1.FinishOAuthRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1459} + /// [google.cloud.developerconnect.v1.FinishOAuthResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1503} + /// + // clang-format on + StatusOr + FinishOAuth(std::string const& account_connector, Options opts = {}); + + // clang-format off + /// + /// Finishes OAuth flow for an account connector. + /// + /// @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.developerconnect.v1.FinishOAuthRequest]. + /// 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.developerconnect.v1.FinishOAuthResponse]) + /// 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.developerconnect.v1.FinishOAuthRequest]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1459} + /// [google.cloud.developerconnect.v1.FinishOAuthResponse]: @googleapis_reference_link{google/cloud/developerconnect/v1/developer_connect.proto#L1503} + /// + // clang-format on + StatusOr + FinishOAuth( + google::cloud::developerconnect::v1::FinishOAuthRequest const& request, + Options opts = {}); + // clang-format off /// /// Lists information about the supported locations for this service. diff --git a/google/cloud/developerconnect/v1/developer_connect_connection.cc b/google/cloud/developerconnect/v1/developer_connect_connection.cc index c0080da0b2168..e415e395cfae3 100644 --- a/google/cloud/developerconnect/v1/developer_connect_connection.cc +++ b/google/cloud/developerconnect/v1/developer_connect_connection.cc @@ -370,6 +370,18 @@ DeveloperConnectConnection::DeleteSelf(google::longrunning::Operation const&) { Status(StatusCode::kUnimplemented, "not implemented")); } +StatusOr +DeveloperConnectConnection::StartOAuth( + google::cloud::developerconnect::v1::StartOAuthRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +StatusOr +DeveloperConnectConnection::FinishOAuth( + google::cloud::developerconnect::v1::FinishOAuthRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + StreamRange DeveloperConnectConnection::ListLocations( google::cloud::location:: diff --git a/google/cloud/developerconnect/v1/developer_connect_connection.h b/google/cloud/developerconnect/v1/developer_connect_connection.h index ff5cc6e3f9477..682e9a0e6ad2d 100644 --- a/google/cloud/developerconnect/v1/developer_connect_connection.h +++ b/google/cloud/developerconnect/v1/developer_connect_connection.h @@ -394,6 +394,14 @@ class DeveloperConnectConnection { StatusOr> DeleteSelf(google::longrunning::Operation const& operation); + virtual StatusOr + StartOAuth( + google::cloud::developerconnect::v1::StartOAuthRequest const& request); + + virtual StatusOr + FinishOAuth( + google::cloud::developerconnect::v1::FinishOAuthRequest const& request); + virtual StreamRange ListLocations( google::cloud::location::ListLocationsRequest request); diff --git a/google/cloud/developerconnect/v1/developer_connect_connection_idempotency_policy.cc b/google/cloud/developerconnect/v1/developer_connect_connection_idempotency_policy.cc index 44c6e0a70a00b..b4b804f687382 100644 --- a/google/cloud/developerconnect/v1/developer_connect_connection_idempotency_policy.cc +++ b/google/cloud/developerconnect/v1/developer_connect_connection_idempotency_policy.cc @@ -164,6 +164,16 @@ Idempotency DeveloperConnectConnectionIdempotencyPolicy::DeleteSelf( return Idempotency::kNonIdempotent; } +Idempotency DeveloperConnectConnectionIdempotencyPolicy::StartOAuth( + google::cloud::developerconnect::v1::StartOAuthRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency DeveloperConnectConnectionIdempotencyPolicy::FinishOAuth( + google::cloud::developerconnect::v1::FinishOAuthRequest const&) { + return Idempotency::kIdempotent; +} + Idempotency DeveloperConnectConnectionIdempotencyPolicy::ListLocations( google::cloud::location::ListLocationsRequest) { // NOLINT return Idempotency::kIdempotent; diff --git a/google/cloud/developerconnect/v1/developer_connect_connection_idempotency_policy.h b/google/cloud/developerconnect/v1/developer_connect_connection_idempotency_policy.h index 940aefd4db2c6..e04ebe7ed6044 100644 --- a/google/cloud/developerconnect/v1/developer_connect_connection_idempotency_policy.h +++ b/google/cloud/developerconnect/v1/developer_connect_connection_idempotency_policy.h @@ -128,6 +128,12 @@ class DeveloperConnectConnectionIdempotencyPolicy { virtual google::cloud::Idempotency DeleteSelf( google::cloud::developerconnect::v1::DeleteSelfRequest const& request); + virtual google::cloud::Idempotency StartOAuth( + google::cloud::developerconnect::v1::StartOAuthRequest const& request); + + virtual google::cloud::Idempotency FinishOAuth( + google::cloud::developerconnect::v1::FinishOAuthRequest const& request); + virtual google::cloud::Idempotency ListLocations( google::cloud::location::ListLocationsRequest request); diff --git a/google/cloud/developerconnect/v1/internal/developer_connect_auth_decorator.cc b/google/cloud/developerconnect/v1/internal/developer_connect_auth_decorator.cc index 9a495d3d4caf1..c1077591240e8 100644 --- a/google/cloud/developerconnect/v1/internal/developer_connect_auth_decorator.cc +++ b/google/cloud/developerconnect/v1/internal/developer_connect_auth_decorator.cc @@ -471,6 +471,24 @@ StatusOr DeveloperConnectAuth::DeleteSelf( return child_->DeleteSelf(context, options, request); } +StatusOr +DeveloperConnectAuth::StartOAuth( + grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::StartOAuthRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->StartOAuth(context, options, request); +} + +StatusOr +DeveloperConnectAuth::FinishOAuth( + grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::FinishOAuthRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->FinishOAuth(context, options, request); +} + StatusOr DeveloperConnectAuth::ListLocations( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/developerconnect/v1/internal/developer_connect_auth_decorator.h b/google/cloud/developerconnect/v1/internal/developer_connect_auth_decorator.h index 0ea44c457d3ef..f5e5a2abbd13d 100644 --- a/google/cloud/developerconnect/v1/internal/developer_connect_auth_decorator.h +++ b/google/cloud/developerconnect/v1/internal/developer_connect_auth_decorator.h @@ -244,6 +244,16 @@ class DeveloperConnectAuth : public DeveloperConnectStub { google::cloud::developerconnect::v1::DeleteSelfRequest const& request) override; + StatusOr StartOAuth( + grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::StartOAuthRequest const& request) + override; + + StatusOr + FinishOAuth(grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::FinishOAuthRequest const& + request) override; + StatusOr ListLocations( grpc::ClientContext& context, Options const& options, google::cloud::location::ListLocationsRequest const& request) override; diff --git a/google/cloud/developerconnect/v1/internal/developer_connect_connection_impl.cc b/google/cloud/developerconnect/v1/internal/developer_connect_connection_impl.cc index ec75fcabdbebc..b77d5434d945b 100644 --- a/google/cloud/developerconnect/v1/internal/developer_connect_connection_impl.cc +++ b/google/cloud/developerconnect/v1/internal/developer_connect_connection_impl.cc @@ -1367,6 +1367,36 @@ DeveloperConnectConnectionImpl::DeleteSelf( polling_policy(*current), __func__); } +StatusOr +DeveloperConnectConnectionImpl::StartOAuth( + google::cloud::developerconnect::v1::StartOAuthRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->StartOAuth(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::StartOAuthRequest const& + request) { + return stub_->StartOAuth(context, options, request); + }, + *current, request, __func__); +} + +StatusOr +DeveloperConnectConnectionImpl::FinishOAuth( + google::cloud::developerconnect::v1::FinishOAuthRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->FinishOAuth(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::FinishOAuthRequest const& + request) { + return stub_->FinishOAuth(context, options, request); + }, + *current, request, __func__); +} + StreamRange DeveloperConnectConnectionImpl::ListLocations( google::cloud::location::ListLocationsRequest request) { diff --git a/google/cloud/developerconnect/v1/internal/developer_connect_connection_impl.h b/google/cloud/developerconnect/v1/internal/developer_connect_connection_impl.h index cbcc34aca4902..164d6e1f1ae68 100644 --- a/google/cloud/developerconnect/v1/internal/developer_connect_connection_impl.h +++ b/google/cloud/developerconnect/v1/internal/developer_connect_connection_impl.h @@ -250,6 +250,14 @@ class DeveloperConnectConnectionImpl future> DeleteSelf(google::longrunning::Operation const& operation) override; + StatusOr StartOAuth( + google::cloud::developerconnect::v1::StartOAuthRequest const& request) + override; + + StatusOr + FinishOAuth(google::cloud::developerconnect::v1::FinishOAuthRequest const& + request) override; + StreamRange ListLocations( google::cloud::location::ListLocationsRequest request) override; diff --git a/google/cloud/developerconnect/v1/internal/developer_connect_logging_decorator.cc b/google/cloud/developerconnect/v1/internal/developer_connect_logging_decorator.cc index 2b9b49d4fd21b..9d806470553ad 100644 --- a/google/cloud/developerconnect/v1/internal/developer_connect_logging_decorator.cc +++ b/google/cloud/developerconnect/v1/internal/developer_connect_logging_decorator.cc @@ -566,6 +566,32 @@ StatusOr DeveloperConnectLogging::DeleteSelf( context, options, request, __func__, tracing_options_); } +StatusOr +DeveloperConnectLogging::StartOAuth( + grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::StartOAuthRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::StartOAuthRequest const& + request) { + return child_->StartOAuth(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +DeveloperConnectLogging::FinishOAuth( + grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::FinishOAuthRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::FinishOAuthRequest const& + request) { + return child_->FinishOAuth(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + StatusOr DeveloperConnectLogging::ListLocations( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/developerconnect/v1/internal/developer_connect_logging_decorator.h b/google/cloud/developerconnect/v1/internal/developer_connect_logging_decorator.h index 2c15dfe5e4d51..cf80bcf0c0857 100644 --- a/google/cloud/developerconnect/v1/internal/developer_connect_logging_decorator.h +++ b/google/cloud/developerconnect/v1/internal/developer_connect_logging_decorator.h @@ -244,6 +244,16 @@ class DeveloperConnectLogging : public DeveloperConnectStub { google::cloud::developerconnect::v1::DeleteSelfRequest const& request) override; + StatusOr StartOAuth( + grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::StartOAuthRequest const& request) + override; + + StatusOr + FinishOAuth(grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::FinishOAuthRequest const& + request) override; + StatusOr ListLocations( grpc::ClientContext& context, Options const& options, google::cloud::location::ListLocationsRequest const& request) override; diff --git a/google/cloud/developerconnect/v1/internal/developer_connect_metadata_decorator.cc b/google/cloud/developerconnect/v1/internal/developer_connect_metadata_decorator.cc index 45d226221083b..05e072627008e 100644 --- a/google/cloud/developerconnect/v1/internal/developer_connect_metadata_decorator.cc +++ b/google/cloud/developerconnect/v1/internal/developer_connect_metadata_decorator.cc @@ -420,6 +420,26 @@ StatusOr DeveloperConnectMetadata::DeleteSelf( return child_->DeleteSelf(context, options, request); } +StatusOr +DeveloperConnectMetadata::StartOAuth( + grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::StartOAuthRequest const& request) { + SetMetadata(context, options, + absl::StrCat("account_connector=", + internal::UrlEncode(request.account_connector()))); + return child_->StartOAuth(context, options, request); +} + +StatusOr +DeveloperConnectMetadata::FinishOAuth( + grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::FinishOAuthRequest const& request) { + SetMetadata(context, options, + absl::StrCat("account_connector=", + internal::UrlEncode(request.account_connector()))); + return child_->FinishOAuth(context, options, request); +} + StatusOr DeveloperConnectMetadata::ListLocations( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/developerconnect/v1/internal/developer_connect_metadata_decorator.h b/google/cloud/developerconnect/v1/internal/developer_connect_metadata_decorator.h index c30693d0e2b9a..95505227a0c5f 100644 --- a/google/cloud/developerconnect/v1/internal/developer_connect_metadata_decorator.h +++ b/google/cloud/developerconnect/v1/internal/developer_connect_metadata_decorator.h @@ -245,6 +245,16 @@ class DeveloperConnectMetadata : public DeveloperConnectStub { google::cloud::developerconnect::v1::DeleteSelfRequest const& request) override; + StatusOr StartOAuth( + grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::StartOAuthRequest const& request) + override; + + StatusOr + FinishOAuth(grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::FinishOAuthRequest const& + request) override; + StatusOr ListLocations( grpc::ClientContext& context, Options const& options, google::cloud::location::ListLocationsRequest const& request) override; diff --git a/google/cloud/developerconnect/v1/internal/developer_connect_stub.cc b/google/cloud/developerconnect/v1/internal/developer_connect_stub.cc index 8e2cd8b42b021..cbaebfd0db6c6 100644 --- a/google/cloud/developerconnect/v1/internal/developer_connect_stub.cc +++ b/google/cloud/developerconnect/v1/internal/developer_connect_stub.cc @@ -548,6 +548,30 @@ DefaultDeveloperConnectStub::DeleteSelf( return response; } +StatusOr +DefaultDeveloperConnectStub::StartOAuth( + grpc::ClientContext& context, Options const&, + google::cloud::developerconnect::v1::StartOAuthRequest const& request) { + google::cloud::developerconnect::v1::StartOAuthResponse response; + auto status = grpc_stub_->StartOAuth(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultDeveloperConnectStub::FinishOAuth( + grpc::ClientContext& context, Options const&, + google::cloud::developerconnect::v1::FinishOAuthRequest const& request) { + google::cloud::developerconnect::v1::FinishOAuthResponse response; + auto status = grpc_stub_->FinishOAuth(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + StatusOr DefaultDeveloperConnectStub::ListLocations( grpc::ClientContext& context, Options const&, diff --git a/google/cloud/developerconnect/v1/internal/developer_connect_stub.h b/google/cloud/developerconnect/v1/internal/developer_connect_stub.h index a7c25c9a1d1db..69792a9662cac 100644 --- a/google/cloud/developerconnect/v1/internal/developer_connect_stub.h +++ b/google/cloud/developerconnect/v1/internal/developer_connect_stub.h @@ -255,6 +255,16 @@ class DeveloperConnectStub { google::cloud::developerconnect::v1::DeleteSelfRequest const& request) = 0; + virtual StatusOr + StartOAuth(grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::StartOAuthRequest const& + request) = 0; + + virtual StatusOr + FinishOAuth(grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::FinishOAuthRequest const& + request) = 0; + virtual StatusOr ListLocations( grpc::ClientContext& context, Options const& options, @@ -509,6 +519,16 @@ class DefaultDeveloperConnectStub : public DeveloperConnectStub { google::cloud::developerconnect::v1::DeleteSelfRequest const& request) override; + StatusOr StartOAuth( + grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::StartOAuthRequest const& request) + override; + + StatusOr + FinishOAuth(grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::FinishOAuthRequest const& + request) override; + StatusOr ListLocations( grpc::ClientContext& context, Options const& options, google::cloud::location::ListLocationsRequest const& request) override; diff --git a/google/cloud/developerconnect/v1/internal/developer_connect_tracing_connection.cc b/google/cloud/developerconnect/v1/internal/developer_connect_tracing_connection.cc index 9a4c8c33744e1..5fd28add6d869 100644 --- a/google/cloud/developerconnect/v1/internal/developer_connect_tracing_connection.cc +++ b/google/cloud/developerconnect/v1/internal/developer_connect_tracing_connection.cc @@ -515,6 +515,24 @@ DeveloperConnectTracingConnection::DeleteSelf( return internal::EndSpan(std::move(span), child_->DeleteSelf(operation)); } +StatusOr +DeveloperConnectTracingConnection::StartOAuth( + google::cloud::developerconnect::v1::StartOAuthRequest const& request) { + auto span = internal::MakeSpan( + "developerconnect_v1::DeveloperConnectConnection::StartOAuth"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->StartOAuth(request)); +} + +StatusOr +DeveloperConnectTracingConnection::FinishOAuth( + google::cloud::developerconnect::v1::FinishOAuthRequest const& request) { + auto span = internal::MakeSpan( + "developerconnect_v1::DeveloperConnectConnection::FinishOAuth"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->FinishOAuth(request)); +} + StreamRange DeveloperConnectTracingConnection::ListLocations( google::cloud::location::ListLocationsRequest request) { diff --git a/google/cloud/developerconnect/v1/internal/developer_connect_tracing_connection.h b/google/cloud/developerconnect/v1/internal/developer_connect_tracing_connection.h index 188cf8dd34836..fc4383caaa23f 100644 --- a/google/cloud/developerconnect/v1/internal/developer_connect_tracing_connection.h +++ b/google/cloud/developerconnect/v1/internal/developer_connect_tracing_connection.h @@ -236,6 +236,14 @@ class DeveloperConnectTracingConnection future> DeleteSelf(google::longrunning::Operation const& operation) override; + StatusOr StartOAuth( + google::cloud::developerconnect::v1::StartOAuthRequest const& request) + override; + + StatusOr + FinishOAuth(google::cloud::developerconnect::v1::FinishOAuthRequest const& + request) override; + StreamRange ListLocations( google::cloud::location::ListLocationsRequest request) override; diff --git a/google/cloud/developerconnect/v1/internal/developer_connect_tracing_stub.cc b/google/cloud/developerconnect/v1/internal/developer_connect_tracing_stub.cc index ae25b585a5276..c33aaf1bfa6f9 100644 --- a/google/cloud/developerconnect/v1/internal/developer_connect_tracing_stub.cc +++ b/google/cloud/developerconnect/v1/internal/developer_connect_tracing_stub.cc @@ -520,6 +520,30 @@ DeveloperConnectTracingStub::DeleteSelf( child_->DeleteSelf(context, options, request)); } +StatusOr +DeveloperConnectTracingStub::StartOAuth( + grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::StartOAuthRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.developerconnect.v1.DeveloperConnect", "StartOAuth"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->StartOAuth(context, options, request)); +} + +StatusOr +DeveloperConnectTracingStub::FinishOAuth( + grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::FinishOAuthRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.developerconnect.v1.DeveloperConnect", "FinishOAuth"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->FinishOAuth(context, options, request)); +} + StatusOr DeveloperConnectTracingStub::ListLocations( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/developerconnect/v1/internal/developer_connect_tracing_stub.h b/google/cloud/developerconnect/v1/internal/developer_connect_tracing_stub.h index de09195f5bac1..43cc0a22d6299 100644 --- a/google/cloud/developerconnect/v1/internal/developer_connect_tracing_stub.h +++ b/google/cloud/developerconnect/v1/internal/developer_connect_tracing_stub.h @@ -242,6 +242,16 @@ class DeveloperConnectTracingStub : public DeveloperConnectStub { google::cloud::developerconnect::v1::DeleteSelfRequest const& request) override; + StatusOr StartOAuth( + grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::StartOAuthRequest const& request) + override; + + StatusOr + FinishOAuth(grpc::ClientContext& context, Options const& options, + google::cloud::developerconnect::v1::FinishOAuthRequest const& + request) override; + StatusOr ListLocations( grpc::ClientContext& context, Options const& options, google::cloud::location::ListLocationsRequest const& request) override; diff --git a/google/cloud/developerconnect/v1/mocks/mock_developer_connect_connection.h b/google/cloud/developerconnect/v1/mocks/mock_developer_connect_connection.h index eb0003c599849..b13761ef5ab8a 100644 --- a/google/cloud/developerconnect/v1/mocks/mock_developer_connect_connection.h +++ b/google/cloud/developerconnect/v1/mocks/mock_developer_connect_connection.h @@ -550,6 +550,18 @@ class MockDeveloperConnectConnection DeleteSelf, (google::longrunning::Operation const& operation), (override)); + MOCK_METHOD( + StatusOr, + StartOAuth, + (google::cloud::developerconnect::v1::StartOAuthRequest const& request), + (override)); + + MOCK_METHOD( + StatusOr, + FinishOAuth, + (google::cloud::developerconnect::v1::FinishOAuthRequest const& request), + (override)); + MOCK_METHOD((StreamRange), ListLocations, (google::cloud::location::ListLocationsRequest request), (override)); diff --git a/google/cloud/discoveryengine/v1/search_client.h b/google/cloud/discoveryengine/v1/search_client.h index a45b2e7b4f80f..f92fcae3dea9f 100644 --- a/google/cloud/discoveryengine/v1/search_client.h +++ b/google/cloud/discoveryengine/v1/search_client.h @@ -119,7 +119,7 @@ class SearchServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.discoveryengine.v1.SearchRequest]: @googleapis_reference_link{google/cloud/discoveryengine/v1/search_service.proto#L91} - /// [google.cloud.discoveryengine.v1.SearchResponse.SearchResult]: @googleapis_reference_link{google/cloud/discoveryengine/v1/search_service.proto#L1188} + /// [google.cloud.discoveryengine.v1.SearchResponse.SearchResult]: @googleapis_reference_link{google/cloud/discoveryengine/v1/search_service.proto#L1352} /// // clang-format on StreamRange @@ -171,7 +171,7 @@ class SearchServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.discoveryengine.v1.SearchRequest]: @googleapis_reference_link{google/cloud/discoveryengine/v1/search_service.proto#L91} - /// [google.cloud.discoveryengine.v1.SearchResponse.SearchResult]: @googleapis_reference_link{google/cloud/discoveryengine/v1/search_service.proto#L1188} + /// [google.cloud.discoveryengine.v1.SearchResponse.SearchResult]: @googleapis_reference_link{google/cloud/discoveryengine/v1/search_service.proto#L1352} /// [google.cloud.discoveryengine.v1.SearchService.Search]: @googleapis_reference_link{google/cloud/discoveryengine/v1/search_service.proto#L44} /// // clang-format on diff --git a/google/cloud/gkehub/v1/gke_hub_client.cc b/google/cloud/gkehub/v1/gke_hub_client.cc index d1e68257458cb..bd9dcd49c71df 100644 --- a/google/cloud/gkehub/v1/gke_hub_client.cc +++ b/google/cloud/gkehub/v1/gke_hub_client.cc @@ -47,6 +47,23 @@ GkeHubClient::ListMemberships( return connection_->ListMemberships(std::move(request)); } +StreamRange +GkeHubClient::ListBoundMemberships(std::string const& scope_name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::ListBoundMembershipsRequest request; + request.set_scope_name(scope_name); + return connection_->ListBoundMemberships(request); +} + +StreamRange +GkeHubClient::ListBoundMemberships( + google::cloud::gkehub::v1::ListBoundMembershipsRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListBoundMemberships(std::move(request)); +} + StreamRange GkeHubClient::ListFeatures( std::string const& parent, Options opts) { internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); @@ -364,6 +381,1005 @@ GkeHubClient::GenerateConnectManifest( return connection_->GenerateConnectManifest(request); } +future> GkeHubClient::CreateFleet( + std::string const& parent, google::cloud::gkehub::v1::Fleet const& fleet, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::CreateFleetRequest request; + request.set_parent(parent); + *request.mutable_fleet() = fleet; + return connection_->CreateFleet(request); +} + +StatusOr GkeHubClient::CreateFleet( + NoAwaitTag, std::string const& parent, + google::cloud::gkehub::v1::Fleet const& fleet, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::CreateFleetRequest request; + request.set_parent(parent); + *request.mutable_fleet() = fleet; + return connection_->CreateFleet(NoAwaitTag{}, request); +} + +future> GkeHubClient::CreateFleet( + google::cloud::gkehub::v1::CreateFleetRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateFleet(request); +} + +StatusOr GkeHubClient::CreateFleet( + NoAwaitTag, google::cloud::gkehub::v1::CreateFleetRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateFleet(NoAwaitTag{}, request); +} + +future> GkeHubClient::CreateFleet( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateFleet(operation); +} + +StatusOr GkeHubClient::GetFleet( + std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::GetFleetRequest request; + request.set_name(name); + return connection_->GetFleet(request); +} + +StatusOr GkeHubClient::GetFleet( + google::cloud::gkehub::v1::GetFleetRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetFleet(request); +} + +future> GkeHubClient::UpdateFleet( + google::cloud::gkehub::v1::Fleet const& fleet, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::UpdateFleetRequest request; + *request.mutable_fleet() = fleet; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateFleet(request); +} + +StatusOr GkeHubClient::UpdateFleet( + NoAwaitTag, google::cloud::gkehub::v1::Fleet const& fleet, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::UpdateFleetRequest request; + *request.mutable_fleet() = fleet; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateFleet(NoAwaitTag{}, request); +} + +future> GkeHubClient::UpdateFleet( + google::cloud::gkehub::v1::UpdateFleetRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateFleet(request); +} + +StatusOr GkeHubClient::UpdateFleet( + NoAwaitTag, google::cloud::gkehub::v1::UpdateFleetRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateFleet(NoAwaitTag{}, request); +} + +future> GkeHubClient::UpdateFleet( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateFleet(operation); +} + +future> +GkeHubClient::DeleteFleet(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::DeleteFleetRequest request; + request.set_name(name); + return connection_->DeleteFleet(request); +} + +StatusOr GkeHubClient::DeleteFleet( + NoAwaitTag, std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::DeleteFleetRequest request; + request.set_name(name); + return connection_->DeleteFleet(NoAwaitTag{}, request); +} + +future> +GkeHubClient::DeleteFleet( + google::cloud::gkehub::v1::DeleteFleetRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteFleet(request); +} + +StatusOr GkeHubClient::DeleteFleet( + NoAwaitTag, google::cloud::gkehub::v1::DeleteFleetRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteFleet(NoAwaitTag{}, request); +} + +future> +GkeHubClient::DeleteFleet(google::longrunning::Operation const& operation, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteFleet(operation); +} + +StreamRange GkeHubClient::ListFleets( + std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::ListFleetsRequest request; + request.set_parent(parent); + return connection_->ListFleets(request); +} + +StreamRange GkeHubClient::ListFleets( + google::cloud::gkehub::v1::ListFleetsRequest request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListFleets(std::move(request)); +} + +StatusOr GkeHubClient::GetScopeNamespace( + std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::GetScopeNamespaceRequest request; + request.set_name(name); + return connection_->GetScopeNamespace(request); +} + +StatusOr GkeHubClient::GetScopeNamespace( + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetScopeNamespace(request); +} + +future> +GkeHubClient::CreateScopeNamespace( + std::string const& parent, + google::cloud::gkehub::v1::Namespace const& scope_namespace, + std::string const& scope_namespace_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::CreateScopeNamespaceRequest request; + request.set_parent(parent); + *request.mutable_scope_namespace() = scope_namespace; + request.set_scope_namespace_id(scope_namespace_id); + return connection_->CreateScopeNamespace(request); +} + +StatusOr GkeHubClient::CreateScopeNamespace( + NoAwaitTag, std::string const& parent, + google::cloud::gkehub::v1::Namespace const& scope_namespace, + std::string const& scope_namespace_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::CreateScopeNamespaceRequest request; + request.set_parent(parent); + *request.mutable_scope_namespace() = scope_namespace; + request.set_scope_namespace_id(scope_namespace_id); + return connection_->CreateScopeNamespace(NoAwaitTag{}, request); +} + +future> +GkeHubClient::CreateScopeNamespace( + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateScopeNamespace(request); +} + +StatusOr GkeHubClient::CreateScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateScopeNamespace(NoAwaitTag{}, request); +} + +future> +GkeHubClient::CreateScopeNamespace( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateScopeNamespace(operation); +} + +future> +GkeHubClient::UpdateScopeNamespace( + google::cloud::gkehub::v1::Namespace const& scope_namespace, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest request; + *request.mutable_scope_namespace() = scope_namespace; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateScopeNamespace(request); +} + +StatusOr GkeHubClient::UpdateScopeNamespace( + NoAwaitTag, google::cloud::gkehub::v1::Namespace const& scope_namespace, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest request; + *request.mutable_scope_namespace() = scope_namespace; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateScopeNamespace(NoAwaitTag{}, request); +} + +future> +GkeHubClient::UpdateScopeNamespace( + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateScopeNamespace(request); +} + +StatusOr GkeHubClient::UpdateScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateScopeNamespace(NoAwaitTag{}, request); +} + +future> +GkeHubClient::UpdateScopeNamespace( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateScopeNamespace(operation); +} + +future> +GkeHubClient::DeleteScopeNamespace(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest request; + request.set_name(name); + return connection_->DeleteScopeNamespace(request); +} + +StatusOr GkeHubClient::DeleteScopeNamespace( + NoAwaitTag, std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest request; + request.set_name(name); + return connection_->DeleteScopeNamespace(NoAwaitTag{}, request); +} + +future> +GkeHubClient::DeleteScopeNamespace( + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteScopeNamespace(request); +} + +StatusOr GkeHubClient::DeleteScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteScopeNamespace(NoAwaitTag{}, request); +} + +future> +GkeHubClient::DeleteScopeNamespace( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteScopeNamespace(operation); +} + +StreamRange +GkeHubClient::ListScopeNamespaces(std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::ListScopeNamespacesRequest request; + request.set_parent(parent); + return connection_->ListScopeNamespaces(request); +} + +StreamRange +GkeHubClient::ListScopeNamespaces( + google::cloud::gkehub::v1::ListScopeNamespacesRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListScopeNamespaces(std::move(request)); +} + +StatusOr +GkeHubClient::GetScopeRBACRoleBinding(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest request; + request.set_name(name); + return connection_->GetScopeRBACRoleBinding(request); +} + +StatusOr +GkeHubClient::GetScopeRBACRoleBinding( + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetScopeRBACRoleBinding(request); +} + +future> +GkeHubClient::CreateScopeRBACRoleBinding( + std::string const& parent, + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + std::string const& rbacrolebinding_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest request; + request.set_parent(parent); + *request.mutable_rbacrolebinding() = rbacrolebinding; + request.set_rbacrolebinding_id(rbacrolebinding_id); + return connection_->CreateScopeRBACRoleBinding(request); +} + +StatusOr +GkeHubClient::CreateScopeRBACRoleBinding( + NoAwaitTag, std::string const& parent, + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + std::string const& rbacrolebinding_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest request; + request.set_parent(parent); + *request.mutable_rbacrolebinding() = rbacrolebinding; + request.set_rbacrolebinding_id(rbacrolebinding_id); + return connection_->CreateScopeRBACRoleBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::CreateScopeRBACRoleBinding( + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateScopeRBACRoleBinding(request); +} + +StatusOr +GkeHubClient::CreateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateScopeRBACRoleBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::CreateScopeRBACRoleBinding( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateScopeRBACRoleBinding(operation); +} + +future> +GkeHubClient::UpdateScopeRBACRoleBinding( + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest request; + *request.mutable_rbacrolebinding() = rbacrolebinding; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateScopeRBACRoleBinding(request); +} + +StatusOr +GkeHubClient::UpdateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest request; + *request.mutable_rbacrolebinding() = rbacrolebinding; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateScopeRBACRoleBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::UpdateScopeRBACRoleBinding( + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateScopeRBACRoleBinding(request); +} + +StatusOr +GkeHubClient::UpdateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateScopeRBACRoleBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::UpdateScopeRBACRoleBinding( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateScopeRBACRoleBinding(operation); +} + +future> +GkeHubClient::DeleteScopeRBACRoleBinding(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest request; + request.set_name(name); + return connection_->DeleteScopeRBACRoleBinding(request); +} + +StatusOr +GkeHubClient::DeleteScopeRBACRoleBinding(NoAwaitTag, std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest request; + request.set_name(name); + return connection_->DeleteScopeRBACRoleBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::DeleteScopeRBACRoleBinding( + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteScopeRBACRoleBinding(request); +} + +StatusOr +GkeHubClient::DeleteScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteScopeRBACRoleBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::DeleteScopeRBACRoleBinding( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteScopeRBACRoleBinding(operation); +} + +StreamRange +GkeHubClient::ListScopeRBACRoleBindings(std::string const& parent, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest request; + request.set_parent(parent); + return connection_->ListScopeRBACRoleBindings(request); +} + +StreamRange +GkeHubClient::ListScopeRBACRoleBindings( + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListScopeRBACRoleBindings(std::move(request)); +} + +StatusOr GkeHubClient::GetScope( + std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::GetScopeRequest request; + request.set_name(name); + return connection_->GetScope(request); +} + +StatusOr GkeHubClient::GetScope( + google::cloud::gkehub::v1::GetScopeRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetScope(request); +} + +future> GkeHubClient::CreateScope( + std::string const& parent, google::cloud::gkehub::v1::Scope const& scope, + std::string const& scope_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::CreateScopeRequest request; + request.set_parent(parent); + *request.mutable_scope() = scope; + request.set_scope_id(scope_id); + return connection_->CreateScope(request); +} + +StatusOr GkeHubClient::CreateScope( + NoAwaitTag, std::string const& parent, + google::cloud::gkehub::v1::Scope const& scope, std::string const& scope_id, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::CreateScopeRequest request; + request.set_parent(parent); + *request.mutable_scope() = scope; + request.set_scope_id(scope_id); + return connection_->CreateScope(NoAwaitTag{}, request); +} + +future> GkeHubClient::CreateScope( + google::cloud::gkehub::v1::CreateScopeRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateScope(request); +} + +StatusOr GkeHubClient::CreateScope( + NoAwaitTag, google::cloud::gkehub::v1::CreateScopeRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateScope(NoAwaitTag{}, request); +} + +future> GkeHubClient::CreateScope( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateScope(operation); +} + +future> GkeHubClient::UpdateScope( + google::cloud::gkehub::v1::Scope const& scope, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::UpdateScopeRequest request; + *request.mutable_scope() = scope; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateScope(request); +} + +StatusOr GkeHubClient::UpdateScope( + NoAwaitTag, google::cloud::gkehub::v1::Scope const& scope, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::UpdateScopeRequest request; + *request.mutable_scope() = scope; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateScope(NoAwaitTag{}, request); +} + +future> GkeHubClient::UpdateScope( + google::cloud::gkehub::v1::UpdateScopeRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateScope(request); +} + +StatusOr GkeHubClient::UpdateScope( + NoAwaitTag, google::cloud::gkehub::v1::UpdateScopeRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateScope(NoAwaitTag{}, request); +} + +future> GkeHubClient::UpdateScope( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateScope(operation); +} + +future> +GkeHubClient::DeleteScope(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::DeleteScopeRequest request; + request.set_name(name); + return connection_->DeleteScope(request); +} + +StatusOr GkeHubClient::DeleteScope( + NoAwaitTag, std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::DeleteScopeRequest request; + request.set_name(name); + return connection_->DeleteScope(NoAwaitTag{}, request); +} + +future> +GkeHubClient::DeleteScope( + google::cloud::gkehub::v1::DeleteScopeRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteScope(request); +} + +StatusOr GkeHubClient::DeleteScope( + NoAwaitTag, google::cloud::gkehub::v1::DeleteScopeRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteScope(NoAwaitTag{}, request); +} + +future> +GkeHubClient::DeleteScope(google::longrunning::Operation const& operation, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteScope(operation); +} + +StreamRange GkeHubClient::ListScopes( + std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::ListScopesRequest request; + request.set_parent(parent); + return connection_->ListScopes(request); +} + +StreamRange GkeHubClient::ListScopes( + google::cloud::gkehub::v1::ListScopesRequest request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListScopes(std::move(request)); +} + +StreamRange GkeHubClient::ListPermittedScopes( + std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::ListPermittedScopesRequest request; + request.set_parent(parent); + return connection_->ListPermittedScopes(request); +} + +StreamRange GkeHubClient::ListPermittedScopes( + google::cloud::gkehub::v1::ListPermittedScopesRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListPermittedScopes(std::move(request)); +} + +StatusOr +GkeHubClient::GetMembershipBinding(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::GetMembershipBindingRequest request; + request.set_name(name); + return connection_->GetMembershipBinding(request); +} + +StatusOr +GkeHubClient::GetMembershipBinding( + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetMembershipBinding(request); +} + +future> +GkeHubClient::CreateMembershipBinding( + std::string const& parent, + google::cloud::gkehub::v1::MembershipBinding const& membership_binding, + std::string const& membership_binding_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::CreateMembershipBindingRequest request; + request.set_parent(parent); + *request.mutable_membership_binding() = membership_binding; + request.set_membership_binding_id(membership_binding_id); + return connection_->CreateMembershipBinding(request); +} + +StatusOr GkeHubClient::CreateMembershipBinding( + NoAwaitTag, std::string const& parent, + google::cloud::gkehub::v1::MembershipBinding const& membership_binding, + std::string const& membership_binding_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::CreateMembershipBindingRequest request; + request.set_parent(parent); + *request.mutable_membership_binding() = membership_binding; + request.set_membership_binding_id(membership_binding_id); + return connection_->CreateMembershipBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::CreateMembershipBinding( + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateMembershipBinding(request); +} + +StatusOr GkeHubClient::CreateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateMembershipBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::CreateMembershipBinding( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateMembershipBinding(operation); +} + +future> +GkeHubClient::UpdateMembershipBinding( + google::cloud::gkehub::v1::MembershipBinding const& membership_binding, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::UpdateMembershipBindingRequest request; + *request.mutable_membership_binding() = membership_binding; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateMembershipBinding(request); +} + +StatusOr GkeHubClient::UpdateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::MembershipBinding const& membership_binding, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::UpdateMembershipBindingRequest request; + *request.mutable_membership_binding() = membership_binding; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateMembershipBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::UpdateMembershipBinding( + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateMembershipBinding(request); +} + +StatusOr GkeHubClient::UpdateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateMembershipBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::UpdateMembershipBinding( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateMembershipBinding(operation); +} + +future> +GkeHubClient::DeleteMembershipBinding(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::DeleteMembershipBindingRequest request; + request.set_name(name); + return connection_->DeleteMembershipBinding(request); +} + +StatusOr GkeHubClient::DeleteMembershipBinding( + NoAwaitTag, std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::DeleteMembershipBindingRequest request; + request.set_name(name); + return connection_->DeleteMembershipBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::DeleteMembershipBinding( + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteMembershipBinding(request); +} + +StatusOr GkeHubClient::DeleteMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteMembershipBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::DeleteMembershipBinding( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteMembershipBinding(operation); +} + +StreamRange +GkeHubClient::ListMembershipBindings(std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::ListMembershipBindingsRequest request; + request.set_parent(parent); + return connection_->ListMembershipBindings(request); +} + +StreamRange +GkeHubClient::ListMembershipBindings( + google::cloud::gkehub::v1::ListMembershipBindingsRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListMembershipBindings(std::move(request)); +} + +StatusOr +GkeHubClient::GetMembershipRBACRoleBinding(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest request; + request.set_name(name); + return connection_->GetMembershipRBACRoleBinding(request); +} + +StatusOr +GkeHubClient::GetMembershipRBACRoleBinding( + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetMembershipRBACRoleBinding(request); +} + +future> +GkeHubClient::CreateMembershipRBACRoleBinding( + std::string const& parent, + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + std::string const& rbacrolebinding_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest request; + request.set_parent(parent); + *request.mutable_rbacrolebinding() = rbacrolebinding; + request.set_rbacrolebinding_id(rbacrolebinding_id); + return connection_->CreateMembershipRBACRoleBinding(request); +} + +StatusOr +GkeHubClient::CreateMembershipRBACRoleBinding( + NoAwaitTag, std::string const& parent, + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + std::string const& rbacrolebinding_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest request; + request.set_parent(parent); + *request.mutable_rbacrolebinding() = rbacrolebinding; + request.set_rbacrolebinding_id(rbacrolebinding_id); + return connection_->CreateMembershipRBACRoleBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::CreateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateMembershipRBACRoleBinding(request); +} + +StatusOr +GkeHubClient::CreateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateMembershipRBACRoleBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::CreateMembershipRBACRoleBinding( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateMembershipRBACRoleBinding(operation); +} + +future> +GkeHubClient::UpdateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest request; + *request.mutable_rbacrolebinding() = rbacrolebinding; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateMembershipRBACRoleBinding(request); +} + +StatusOr +GkeHubClient::UpdateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest request; + *request.mutable_rbacrolebinding() = rbacrolebinding; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateMembershipRBACRoleBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::UpdateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateMembershipRBACRoleBinding(request); +} + +StatusOr +GkeHubClient::UpdateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateMembershipRBACRoleBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::UpdateMembershipRBACRoleBinding( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateMembershipRBACRoleBinding(operation); +} + +future> +GkeHubClient::DeleteMembershipRBACRoleBinding(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest request; + request.set_name(name); + return connection_->DeleteMembershipRBACRoleBinding(request); +} + +StatusOr +GkeHubClient::DeleteMembershipRBACRoleBinding(NoAwaitTag, + std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest request; + request.set_name(name); + return connection_->DeleteMembershipRBACRoleBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::DeleteMembershipRBACRoleBinding( + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteMembershipRBACRoleBinding(request); +} + +StatusOr +GkeHubClient::DeleteMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteMembershipRBACRoleBinding(NoAwaitTag{}, request); +} + +future> +GkeHubClient::DeleteMembershipRBACRoleBinding( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteMembershipRBACRoleBinding(operation); +} + +StreamRange +GkeHubClient::ListMembershipRBACRoleBindings(std::string const& parent, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest request; + request.set_parent(parent); + return connection_->ListMembershipRBACRoleBindings(request); +} + +StreamRange +GkeHubClient::ListMembershipRBACRoleBindings( + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListMembershipRBACRoleBindings(std::move(request)); +} + +StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> +GkeHubClient::GenerateMembershipRBACRoleBindingYAML( + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GenerateMembershipRBACRoleBindingYAML(request); +} + GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END } // namespace gkehub_v1 } // namespace cloud diff --git a/google/cloud/gkehub/v1/gke_hub_client.h b/google/cloud/gkehub/v1/gke_hub_client.h index 78d2bf0504773..f2cae95dcd80e 100644 --- a/google/cloud/gkehub/v1/gke_hub_client.h +++ b/google/cloud/gkehub/v1/gke_hub_client.h @@ -79,7 +79,7 @@ GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN /// such a copy when using this class from multiple threads. /// /// [google.cloud.gkehub.v1.Feature]: -/// @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L34} +/// @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L35} /// [google.cloud.gkehub.v1.Membership]: /// @googleapis_reference_link{google/cloud/gkehub/v1/membership.proto#L32} /// @@ -136,7 +136,7 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.ListMembershipsRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L195} + /// [google.cloud.gkehub.v1.ListMembershipsRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L977} /// [google.cloud.gkehub.v1.Membership]: @googleapis_reference_link{google/cloud/gkehub/v1/membership.proto#L32} /// // clang-format on @@ -175,7 +175,7 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.ListMembershipsRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L195} + /// [google.cloud.gkehub.v1.ListMembershipsRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L977} /// [google.cloud.gkehub.v1.Membership]: @googleapis_reference_link{google/cloud/gkehub/v1/membership.proto#L32} /// // clang-format on @@ -183,6 +183,83 @@ class GkeHubClient { google::cloud::gkehub::v1::ListMembershipsRequest request, Options opts = {}); + // clang-format off + /// + /// Lists Memberships bound to a Scope. The response includes relevant + /// Memberships from all regions. + /// + /// @param scope_name Required. Name of the Scope, in the format + /// `projects/*/locations/global/scopes/*`, to which the Memberships are bound. + /// @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.gkehub.v1.Membership], 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.gkehub.v1.ListBoundMembershipsRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1186} + /// [google.cloud.gkehub.v1.Membership]: @googleapis_reference_link{google/cloud/gkehub/v1/membership.proto#L32} + /// + // clang-format on + StreamRange ListBoundMemberships( + std::string const& scope_name, Options opts = {}); + + // clang-format off + /// + /// Lists Memberships bound to a Scope. The response includes relevant + /// Memberships from all regions. + /// + /// @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.gkehub.v1.ListBoundMembershipsRequest]. + /// 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.gkehub.v1.Membership], 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.gkehub.v1.ListBoundMembershipsRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1186} + /// [google.cloud.gkehub.v1.Membership]: @googleapis_reference_link{google/cloud/gkehub/v1/membership.proto#L32} + /// + // clang-format on + StreamRange ListBoundMemberships( + google::cloud::gkehub::v1::ListBoundMembershipsRequest request, + Options opts = {}); + // clang-format off /// /// Lists Features in a given project and location. @@ -211,8 +288,8 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L34} - /// [google.cloud.gkehub.v1.ListFeaturesRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L456} + /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L35} + /// [google.cloud.gkehub.v1.ListFeaturesRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1413} /// // clang-format on StreamRange ListFeatures( @@ -250,8 +327,8 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L34} - /// [google.cloud.gkehub.v1.ListFeaturesRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L456} + /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L35} + /// [google.cloud.gkehub.v1.ListFeaturesRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1413} /// // clang-format on StreamRange ListFeatures( @@ -277,7 +354,7 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.GetMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L258} + /// [google.cloud.gkehub.v1.GetMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1174} /// [google.cloud.gkehub.v1.Membership]: @googleapis_reference_link{google/cloud/gkehub/v1/membership.proto#L32} /// // clang-format on @@ -307,7 +384,7 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.GetMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L258} + /// [google.cloud.gkehub.v1.GetMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1174} /// [google.cloud.gkehub.v1.Membership]: @googleapis_reference_link{google/cloud/gkehub/v1/membership.proto#L32} /// // clang-format on @@ -334,8 +411,8 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L34} - /// [google.cloud.gkehub.v1.GetFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L508} + /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L35} + /// [google.cloud.gkehub.v1.GetFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1471} /// // clang-format on StatusOr GetFeature( @@ -364,8 +441,8 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L34} - /// [google.cloud.gkehub.v1.GetFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L508} + /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L35} + /// [google.cloud.gkehub.v1.GetFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1471} /// // clang-format on StatusOr GetFeature( @@ -412,7 +489,7 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.CreateMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L270} + /// [google.cloud.gkehub.v1.CreateMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1227} /// [google.cloud.gkehub.v1.Membership]: @googleapis_reference_link{google/cloud/gkehub/v1/membership.proto#L32} /// // clang-format on @@ -471,7 +548,7 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.CreateMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L270} + /// [google.cloud.gkehub.v1.CreateMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1227} /// [google.cloud.gkehub.v1.Membership]: @googleapis_reference_link{google/cloud/gkehub/v1/membership.proto#L32} /// // clang-format on @@ -535,8 +612,8 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.CreateFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L517} - /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L34} + /// [google.cloud.gkehub.v1.CreateFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1486} + /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L35} /// // clang-format on future> CreateFeature( @@ -590,8 +667,8 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.CreateFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L517} - /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L34} + /// [google.cloud.gkehub.v1.CreateFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1486} + /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L35} /// // clang-format on future> CreateFeature( @@ -656,8 +733,8 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.DeleteMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L311} - /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L613} + /// [google.cloud.gkehub.v1.DeleteMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1268} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} /// // clang-format on future> @@ -711,8 +788,8 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.DeleteMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L311} - /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L613} + /// [google.cloud.gkehub.v1.DeleteMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1268} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} /// // clang-format on future> @@ -775,8 +852,8 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.DeleteFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L547} - /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L613} + /// [google.cloud.gkehub.v1.DeleteFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1516} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} /// // clang-format on future> DeleteFeature( @@ -826,8 +903,8 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.DeleteFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L547} - /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L613} + /// [google.cloud.gkehub.v1.DeleteFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1516} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} /// // clang-format on future> DeleteFeature( @@ -898,7 +975,7 @@ class GkeHubClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.gkehub.v1.Membership]: @googleapis_reference_link{google/cloud/gkehub/v1/membership.proto#L32} - /// [google.cloud.gkehub.v1.UpdateMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L343} + /// [google.cloud.gkehub.v1.UpdateMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1300} /// // clang-format on future> UpdateMembership( @@ -953,7 +1030,7 @@ class GkeHubClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.gkehub.v1.Membership]: @googleapis_reference_link{google/cloud/gkehub/v1/membership.proto#L32} - /// [google.cloud.gkehub.v1.UpdateMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L343} + /// [google.cloud.gkehub.v1.UpdateMembershipRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1300} /// // clang-format on future> UpdateMembership( @@ -1023,8 +1100,8 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L34} - /// [google.cloud.gkehub.v1.UpdateFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L576} + /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L35} + /// [google.cloud.gkehub.v1.UpdateFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1545} /// // clang-format on future> UpdateFeature( @@ -1078,8 +1155,8 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L34} - /// [google.cloud.gkehub.v1.UpdateFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L576} + /// [google.cloud.gkehub.v1.Feature]: @googleapis_reference_link{google/cloud/gkehub/v1/feature.proto#L35} + /// [google.cloud.gkehub.v1.UpdateFeatureRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1545} /// // clang-format on future> UpdateFeature( @@ -1140,8 +1217,8 @@ class GkeHubClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.gkehub.v1.GenerateConnectManifestRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L386} - /// [google.cloud.gkehub.v1.GenerateConnectManifestResponse]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L429} + /// [google.cloud.gkehub.v1.GenerateConnectManifestRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1343} + /// [google.cloud.gkehub.v1.GenerateConnectManifestResponse]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1386} /// // clang-format on StatusOr @@ -1149,6 +1226,3062 @@ class GkeHubClient { google::cloud::gkehub::v1::GenerateConnectManifestRequest const& request, Options opts = {}); + // clang-format off + /// + /// Creates a fleet. + /// + /// @param parent Required. The parent (project and location) where the Fleet will be + /// created. Specified in the format `projects/*/locations/*`. + /// @param fleet Required. The fleet to create. + /// @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.gkehub.v1.Fleet] 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.gkehub.v1.CreateFleetRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1582} + /// [google.cloud.gkehub.v1.Fleet]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L32} + /// + // clang-format on + future> CreateFleet( + std::string const& parent, google::cloud::gkehub::v1::Fleet const& fleet, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateFleet + /// + /// 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 CreateFleet( + NoAwaitTag, std::string const& parent, + google::cloud::gkehub::v1::Fleet const& fleet, Options opts = {}); + + // clang-format off + /// + /// Creates a fleet. + /// + /// @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.gkehub.v1.CreateFleetRequest]. + /// 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.gkehub.v1.Fleet] 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.gkehub.v1.CreateFleetRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1582} + /// [google.cloud.gkehub.v1.Fleet]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L32} + /// + // clang-format on + future> CreateFleet( + google::cloud::gkehub::v1::CreateFleetRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateFleet + /// + /// 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 CreateFleet( + NoAwaitTag, google::cloud::gkehub::v1::CreateFleetRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateFleet + /// + /// 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> CreateFleet( + google::longrunning::Operation const& operation, Options opts = {}); + + // clang-format off + /// + /// Returns the details of a fleet. + /// + /// @param name Required. The Fleet resource name in the format + /// `projects/*/locations/*/fleets/*`. + /// @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.gkehub.v1.Fleet]) + /// 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.gkehub.v1.Fleet]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L32} + /// [google.cloud.gkehub.v1.GetFleetRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1601} + /// + // clang-format on + StatusOr GetFleet(std::string const& name, + Options opts = {}); + + // clang-format off + /// + /// Returns the details of a fleet. + /// + /// @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.gkehub.v1.GetFleetRequest]. + /// 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.gkehub.v1.Fleet]) + /// 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.gkehub.v1.Fleet]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L32} + /// [google.cloud.gkehub.v1.GetFleetRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1601} + /// + // clang-format on + StatusOr GetFleet( + google::cloud::gkehub::v1::GetFleetRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Updates a fleet. + /// + /// @param fleet Required. The Fleet to update. + /// @n + /// The `name` field of the Fleet object identifies which fleet will be + /// updated. + /// @param update_mask Required. The fields to be updated; + /// @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.gkehub.v1.Fleet] 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.gkehub.v1.Fleet]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L32} + /// [google.cloud.gkehub.v1.UpdateFleetRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1611} + /// + // clang-format on + future> UpdateFleet( + google::cloud::gkehub::v1::Fleet const& fleet, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateFleet + /// + /// 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 UpdateFleet( + NoAwaitTag, google::cloud::gkehub::v1::Fleet const& fleet, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// Updates a fleet. + /// + /// @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.gkehub.v1.UpdateFleetRequest]. + /// 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.gkehub.v1.Fleet] 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.gkehub.v1.Fleet]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L32} + /// [google.cloud.gkehub.v1.UpdateFleetRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1611} + /// + // clang-format on + future> UpdateFleet( + google::cloud::gkehub::v1::UpdateFleetRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateFleet + /// + /// 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 UpdateFleet( + NoAwaitTag, google::cloud::gkehub::v1::UpdateFleetRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateFleet + /// + /// 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> UpdateFleet( + google::longrunning::Operation const& operation, Options opts = {}); + + // clang-format off + /// + /// Removes a Fleet. There must be no memberships remaining in the Fleet. + /// + /// @param name Required. The Fleet resource name in the format + /// `projects/*/locations/*/fleets/*`. + /// @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.gkehub.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.gkehub.v1.DeleteFleetRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1624} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} + /// + // clang-format on + future> DeleteFleet( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteFleet + /// + /// 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 DeleteFleet(NoAwaitTag, + std::string const& name, + Options opts = {}); + + // clang-format off + /// + /// Removes a Fleet. There must be no memberships remaining in the Fleet. + /// + /// @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.gkehub.v1.DeleteFleetRequest]. + /// 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.gkehub.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.gkehub.v1.DeleteFleetRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1624} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} + /// + // clang-format on + future> DeleteFleet( + google::cloud::gkehub::v1::DeleteFleetRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteFleet + /// + /// 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 DeleteFleet( + NoAwaitTag, google::cloud::gkehub::v1::DeleteFleetRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteFleet + /// + /// 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> DeleteFleet( + google::longrunning::Operation const& operation, Options opts = {}); + + // clang-format off + /// + /// Returns all fleets within an organization or a project that the caller has + /// access to. + /// + /// @param parent Required. The organization or project to list for Fleets under, in the + /// format `organizations/*/locations/*` or `projects/*/locations/*`. + /// @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.gkehub.v1.Fleet], 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.gkehub.v1.Fleet]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L32} + /// [google.cloud.gkehub.v1.ListFleetsRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1634} + /// + // clang-format on + StreamRange ListFleets( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Returns all fleets within an organization or a project that the caller has + /// access to. + /// + /// @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.gkehub.v1.ListFleetsRequest]. + /// 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.gkehub.v1.Fleet], 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.gkehub.v1.Fleet]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L32} + /// [google.cloud.gkehub.v1.ListFleetsRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1634} + /// + // clang-format on + StreamRange ListFleets( + google::cloud::gkehub::v1::ListFleetsRequest request, Options opts = {}); + + // clang-format off + /// + /// Returns the details of a fleet namespace. + /// + /// @param name Required. The Namespace resource name in the format + /// `projects/*/locations/*/scopes/*/namespaces/*`. + /// @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.gkehub.v1.Namespace]) + /// 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.gkehub.v1.GetScopeNamespaceRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L577} + /// [google.cloud.gkehub.v1.Namespace]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L222} + /// + // clang-format on + StatusOr GetScopeNamespace( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Returns the details of a fleet namespace. + /// + /// @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.gkehub.v1.GetScopeNamespaceRequest]. + /// 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.gkehub.v1.Namespace]) + /// 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.gkehub.v1.GetScopeNamespaceRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L577} + /// [google.cloud.gkehub.v1.Namespace]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L222} + /// + // clang-format on + StatusOr GetScopeNamespace( + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Creates a fleet namespace. + /// + /// @param parent Required. The parent (project and location) where the Namespace will be + /// created. Specified in the format `projects/*/locations/*/scopes/*`. + /// @param scope_namespace Required. The fleet namespace to create. + /// @param scope_namespace_id Required. Client chosen ID for the Namespace. `namespace_id` must be a + /// valid RFC 1123 compliant DNS label: + /// @n + /// 1. At most 63 characters in length + /// 2. It must consist of lower case alphanumeric characters or `-` + /// 3. It must start and end with an alphanumeric character + /// @n + /// Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, + /// with a maximum length of 63 characters. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return A [`future`] that becomes satisfied when the LRO + /// ([Long Running Operation]) completes or the polling policy in effect + /// for this call is exhausted. The future is satisfied with an error if + /// the LRO completes with an error or the polling policy is exhausted. + /// In this case the [`StatusOr`] returned by the future contains the + /// error. If the LRO completes successfully the value of the future + /// contains the LRO's result. For this RPC the result is a + /// [google.cloud.gkehub.v1.Namespace] 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.gkehub.v1.CreateScopeNamespaceRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L589} + /// [google.cloud.gkehub.v1.Namespace]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L222} + /// + // clang-format on + future> CreateScopeNamespace( + std::string const& parent, + google::cloud::gkehub::v1::Namespace const& scope_namespace, + std::string const& scope_namespace_id, Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateScopeNamespace + /// + /// 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 CreateScopeNamespace( + NoAwaitTag, std::string const& parent, + google::cloud::gkehub::v1::Namespace const& scope_namespace, + std::string const& scope_namespace_id, Options opts = {}); + + // clang-format off + /// + /// Creates a fleet namespace. + /// + /// @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.gkehub.v1.CreateScopeNamespaceRequest]. + /// 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.gkehub.v1.Namespace] 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.gkehub.v1.CreateScopeNamespaceRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L589} + /// [google.cloud.gkehub.v1.Namespace]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L222} + /// + // clang-format on + future> CreateScopeNamespace( + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateScopeNamespace + /// + /// 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 CreateScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateScopeNamespace + /// + /// 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> CreateScopeNamespace( + google::longrunning::Operation const& operation, Options opts = {}); + + // clang-format off + /// + /// Updates a fleet namespace. + /// + /// @param scope_namespace Required. A namespace with fields updated. The 'name' field in this + /// namespace is used to identify the resource to update. Given 'updated' + /// prefix to follow go/proto-best-practices-checkers#keyword_conflict + /// @param update_mask Required. The fields to be updated. + /// @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.gkehub.v1.Namespace] 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.gkehub.v1.Namespace]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L222} + /// [google.cloud.gkehub.v1.UpdateScopeNamespaceRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L615} + /// + // clang-format on + future> UpdateScopeNamespace( + google::cloud::gkehub::v1::Namespace const& scope_namespace, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateScopeNamespace + /// + /// 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 UpdateScopeNamespace( + NoAwaitTag, google::cloud::gkehub::v1::Namespace const& scope_namespace, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// Updates a fleet namespace. + /// + /// @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.gkehub.v1.UpdateScopeNamespaceRequest]. + /// 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.gkehub.v1.Namespace] 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.gkehub.v1.Namespace]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L222} + /// [google.cloud.gkehub.v1.UpdateScopeNamespaceRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L615} + /// + // clang-format on + future> UpdateScopeNamespace( + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateScopeNamespace + /// + /// 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 UpdateScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateScopeNamespace + /// + /// 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> UpdateScopeNamespace( + google::longrunning::Operation const& operation, Options opts = {}); + + // clang-format off + /// + /// Deletes a fleet namespace. + /// + /// @param name Required. The Namespace resource name in the format + /// `projects/*/locations/*/scopes/*/namespaces/*`. + /// @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.gkehub.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.gkehub.v1.DeleteScopeNamespaceRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L627} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} + /// + // clang-format on + future> + DeleteScopeNamespace(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteScopeNamespace + /// + /// 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 DeleteScopeNamespace( + NoAwaitTag, std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Deletes a fleet namespace. + /// + /// @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.gkehub.v1.DeleteScopeNamespaceRequest]. + /// 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.gkehub.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.gkehub.v1.DeleteScopeNamespaceRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L627} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} + /// + // clang-format on + future> + DeleteScopeNamespace( + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteScopeNamespace + /// + /// 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 DeleteScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteScopeNamespace + /// + /// 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> + DeleteScopeNamespace(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Lists fleet namespaces. + /// + /// @param parent Required. The parent (project and location) where the Features will be + /// listed. Specified in the format `projects/*/locations/*/scopes/*`. + /// @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.gkehub.v1.Namespace], 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.gkehub.v1.ListScopeNamespacesRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L639} + /// [google.cloud.gkehub.v1.Namespace]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L222} + /// + // clang-format on + StreamRange ListScopeNamespaces( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists fleet namespaces. + /// + /// @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.gkehub.v1.ListScopeNamespacesRequest]. + /// 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.gkehub.v1.Namespace], 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.gkehub.v1.ListScopeNamespacesRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L639} + /// [google.cloud.gkehub.v1.Namespace]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L222} + /// + // clang-format on + StreamRange ListScopeNamespaces( + google::cloud::gkehub::v1::ListScopeNamespacesRequest request, + Options opts = {}); + + // clang-format off + /// + /// Returns the details of a Scope RBACRoleBinding. + /// + /// @param name Required. The RBACRoleBinding resource name in the format + /// `projects/*/locations/*/scopes/*/rbacrolebindings/*`. + /// @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.gkehub.v1.RBACRoleBinding]) + /// 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.gkehub.v1.GetScopeRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L672} + /// [google.cloud.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// + // clang-format on + StatusOr GetScopeRBACRoleBinding( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Returns the details of a Scope RBACRoleBinding. + /// + /// @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.gkehub.v1.GetScopeRBACRoleBindingRequest]. + /// 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.gkehub.v1.RBACRoleBinding]) + /// 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.gkehub.v1.GetScopeRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L672} + /// [google.cloud.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// + // clang-format on + StatusOr GetScopeRBACRoleBinding( + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Creates a Scope RBACRoleBinding. + /// + /// @param parent Required. The parent (project and location) where the RBACRoleBinding will + /// be created. Specified in the format `projects/*/locations/*/scopes/*`. + /// @param rbacrolebinding Required. The rbacrolebindings to create. + /// @param rbacrolebinding_id Required. Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` + /// must be a valid RFC 1123 compliant DNS label: + /// @n + /// 1. At most 63 characters in length + /// 2. It must consist of lower case alphanumeric characters or `-` + /// 3. It must start and end with an alphanumeric character + /// @n + /// Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, + /// with a maximum length of 63 characters. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return A [`future`] that becomes satisfied when the LRO + /// ([Long Running Operation]) completes or the polling policy in effect + /// for this call is exhausted. The future is satisfied with an error if + /// the LRO completes with an error or the polling policy is exhausted. + /// In this case the [`StatusOr`] returned by the future contains the + /// error. If the LRO completes successfully the value of the future + /// contains the LRO's result. For this RPC the result is a + /// [google.cloud.gkehub.v1.RBACRoleBinding] 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.gkehub.v1.CreateScopeRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L684} + /// [google.cloud.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// + // clang-format on + future> + CreateScopeRBACRoleBinding( + std::string const& parent, + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + std::string const& rbacrolebinding_id, Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateScopeRBACRoleBinding + /// + /// 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 CreateScopeRBACRoleBinding( + NoAwaitTag, std::string const& parent, + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + std::string const& rbacrolebinding_id, Options opts = {}); + + // clang-format off + /// + /// Creates a Scope RBACRoleBinding. + /// + /// @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.gkehub.v1.CreateScopeRBACRoleBindingRequest]. + /// 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.gkehub.v1.RBACRoleBinding] 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.gkehub.v1.CreateScopeRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L684} + /// [google.cloud.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// + // clang-format on + future> + CreateScopeRBACRoleBinding( + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateScopeRBACRoleBinding + /// + /// 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 CreateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateScopeRBACRoleBinding + /// + /// 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> + CreateScopeRBACRoleBinding(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Updates a Scope RBACRoleBinding. + /// + /// @param rbacrolebinding Required. A rbacrolebinding with fields updated. The 'name' field in this + /// rbacrolebinding is used to identify the resource to update. + /// @param update_mask Required. The fields to be updated. + /// @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.gkehub.v1.RBACRoleBinding] 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.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// [google.cloud.gkehub.v1.UpdateScopeRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L710} + /// + // clang-format on + future> + UpdateScopeRBACRoleBinding( + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateScopeRBACRoleBinding + /// + /// 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 UpdateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// Updates a Scope RBACRoleBinding. + /// + /// @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.gkehub.v1.UpdateScopeRBACRoleBindingRequest]. + /// 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.gkehub.v1.RBACRoleBinding] 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.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// [google.cloud.gkehub.v1.UpdateScopeRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L710} + /// + // clang-format on + future> + UpdateScopeRBACRoleBinding( + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateScopeRBACRoleBinding + /// + /// 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 UpdateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateScopeRBACRoleBinding + /// + /// 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> + UpdateScopeRBACRoleBinding(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Deletes a Scope RBACRoleBinding. + /// + /// @param name Required. The RBACRoleBinding resource name in the format + /// `projects/*/locations/*/scopes/*/rbacrolebindings/*`. + /// @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.gkehub.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.gkehub.v1.DeleteScopeRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L721} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} + /// + // clang-format on + future> + DeleteScopeRBACRoleBinding(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteScopeRBACRoleBinding + /// + /// 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 DeleteScopeRBACRoleBinding( + NoAwaitTag, std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Deletes a Scope RBACRoleBinding. + /// + /// @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.gkehub.v1.DeleteScopeRBACRoleBindingRequest]. + /// 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.gkehub.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.gkehub.v1.DeleteScopeRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L721} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} + /// + // clang-format on + future> + DeleteScopeRBACRoleBinding( + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteScopeRBACRoleBinding + /// + /// 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 DeleteScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteScopeRBACRoleBinding + /// + /// 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> + DeleteScopeRBACRoleBinding(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Lists all Scope RBACRoleBindings. + /// + /// @param parent Required. The parent (project and location) where the Features will be + /// listed. Specified in the format `projects/*/locations/*/scopes/*`. + /// @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.gkehub.v1.RBACRoleBinding], 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.gkehub.v1.ListScopeRBACRoleBindingsRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L733} + /// [google.cloud.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// + // clang-format on + StreamRange + ListScopeRBACRoleBindings(std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists all Scope RBACRoleBindings. + /// + /// @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.gkehub.v1.ListScopeRBACRoleBindingsRequest]. + /// 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.gkehub.v1.RBACRoleBinding], 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.gkehub.v1.ListScopeRBACRoleBindingsRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L733} + /// [google.cloud.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// + // clang-format on + StreamRange + ListScopeRBACRoleBindings( + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest request, + Options opts = {}); + + // clang-format off + /// + /// Returns the details of a Scope. + /// + /// @param name Required. The Scope resource name in the format + /// `projects/*/locations/*/scopes/*`. + /// @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.gkehub.v1.Scope]) + /// 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.gkehub.v1.GetScopeRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L766} + /// [google.cloud.gkehub.v1.Scope]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L402} + /// + // clang-format on + StatusOr GetScope(std::string const& name, + Options opts = {}); + + // clang-format off + /// + /// Returns the details of a Scope. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.gkehub.v1.GetScopeRequest]. + /// 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.gkehub.v1.Scope]) + /// 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.gkehub.v1.GetScopeRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L766} + /// [google.cloud.gkehub.v1.Scope]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L402} + /// + // clang-format on + StatusOr GetScope( + google::cloud::gkehub::v1::GetScopeRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Creates a Scope. + /// + /// @param parent Required. The parent (project and location) where the Scope will be + /// created. Specified in the format `projects/*/locations/*`. + /// @param scope Required. The Scope to create. + /// @param scope_id Required. Client chosen ID for the Scope. `scope_id` must be a + /// ???? + /// @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.gkehub.v1.Scope] 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.gkehub.v1.CreateScopeRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L776} + /// [google.cloud.gkehub.v1.Scope]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L402} + /// + // clang-format on + future> CreateScope( + std::string const& parent, google::cloud::gkehub::v1::Scope const& scope, + std::string const& scope_id, Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateScope + /// + /// 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 CreateScope( + NoAwaitTag, std::string const& parent, + google::cloud::gkehub::v1::Scope const& scope, + std::string const& scope_id, Options opts = {}); + + // clang-format off + /// + /// Creates a Scope. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.gkehub.v1.CreateScopeRequest]. + /// 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.gkehub.v1.Scope] 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.gkehub.v1.CreateScopeRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L776} + /// [google.cloud.gkehub.v1.Scope]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L402} + /// + // clang-format on + future> CreateScope( + google::cloud::gkehub::v1::CreateScopeRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateScope + /// + /// 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 CreateScope( + NoAwaitTag, google::cloud::gkehub::v1::CreateScopeRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateScope + /// + /// 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> CreateScope( + google::longrunning::Operation const& operation, Options opts = {}); + + // clang-format off + /// + /// Updates a scopes. + /// + /// @param scope Required. A Scope with fields updated. The 'name' field in this + /// namespace is used to identify the resource to update. + /// @param update_mask Required. The fields to be updated. + /// @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.gkehub.v1.Scope] 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.gkehub.v1.Scope]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L402} + /// [google.cloud.gkehub.v1.UpdateScopeRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L795} + /// + // clang-format on + future> UpdateScope( + google::cloud::gkehub::v1::Scope const& scope, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateScope + /// + /// 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 UpdateScope( + NoAwaitTag, google::cloud::gkehub::v1::Scope const& scope, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// Updates a scopes. + /// + /// @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.gkehub.v1.UpdateScopeRequest]. + /// 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.gkehub.v1.Scope] 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.gkehub.v1.Scope]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L402} + /// [google.cloud.gkehub.v1.UpdateScopeRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L795} + /// + // clang-format on + future> UpdateScope( + google::cloud::gkehub::v1::UpdateScopeRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateScope + /// + /// 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 UpdateScope( + NoAwaitTag, google::cloud::gkehub::v1::UpdateScopeRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateScope + /// + /// 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> UpdateScope( + google::longrunning::Operation const& operation, Options opts = {}); + + // clang-format off + /// + /// Deletes a Scope. + /// + /// @param name Required. The Scope resource name in the format + /// `projects/*/locations/*/scopes/*`. + /// @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.gkehub.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.gkehub.v1.DeleteScopeRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L806} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} + /// + // clang-format on + future> DeleteScope( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteScope + /// + /// 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 DeleteScope(NoAwaitTag, + std::string const& name, + Options opts = {}); + + // clang-format off + /// + /// Deletes a Scope. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.gkehub.v1.DeleteScopeRequest]. + /// 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.gkehub.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.gkehub.v1.DeleteScopeRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L806} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} + /// + // clang-format on + future> DeleteScope( + google::cloud::gkehub::v1::DeleteScopeRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteScope + /// + /// 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 DeleteScope( + NoAwaitTag, google::cloud::gkehub::v1::DeleteScopeRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteScope + /// + /// 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> DeleteScope( + google::longrunning::Operation const& operation, Options opts = {}); + + // clang-format off + /// + /// Lists Scopes. + /// + /// @param parent Required. The parent (project and location) where the Scope will be listed. + /// Specified in the format `projects/*/locations/*`. + /// @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.gkehub.v1.Scope], 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.gkehub.v1.ListScopesRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L816} + /// [google.cloud.gkehub.v1.Scope]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L402} + /// + // clang-format on + StreamRange ListScopes( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists Scopes. + /// + /// @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.gkehub.v1.ListScopesRequest]. + /// 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.gkehub.v1.Scope], 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.gkehub.v1.ListScopesRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L816} + /// [google.cloud.gkehub.v1.Scope]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L402} + /// + // clang-format on + StreamRange ListScopes( + google::cloud::gkehub::v1::ListScopesRequest request, Options opts = {}); + + // clang-format off + /// + /// Lists permitted Scopes. + /// + /// @param parent Required. The parent (project and location) where the Scope will be listed. + /// Specified in the format `projects/*/locations/*`. + /// @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.gkehub.v1.Scope], 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.gkehub.v1.ListPermittedScopesRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L849} + /// [google.cloud.gkehub.v1.Scope]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L402} + /// + // clang-format on + StreamRange ListPermittedScopes( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists permitted Scopes. + /// + /// @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.gkehub.v1.ListPermittedScopesRequest]. + /// 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.gkehub.v1.Scope], 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.gkehub.v1.ListPermittedScopesRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L849} + /// [google.cloud.gkehub.v1.Scope]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L402} + /// + // clang-format on + StreamRange ListPermittedScopes( + google::cloud::gkehub::v1::ListPermittedScopesRequest request, + Options opts = {}); + + // clang-format off + /// + /// Returns the details of a MembershipBinding. + /// + /// @param name Required. The MembershipBinding resource name in the format + /// `projects/*/locations/*/memberships/*/bindings/*`. + /// @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.gkehub.v1.MembershipBinding]) + /// 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.gkehub.v1.GetMembershipBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L882} + /// [google.cloud.gkehub.v1.MembershipBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L471} + /// + // clang-format on + StatusOr GetMembershipBinding( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Returns the details of a MembershipBinding. + /// + /// @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.gkehub.v1.GetMembershipBindingRequest]. + /// 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.gkehub.v1.MembershipBinding]) + /// 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.gkehub.v1.GetMembershipBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L882} + /// [google.cloud.gkehub.v1.MembershipBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L471} + /// + // clang-format on + StatusOr GetMembershipBinding( + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Creates a MembershipBinding. + /// + /// @param parent Required. The parent (project and location) where the MembershipBinding + /// will be created. Specified in the format + /// `projects/*/locations/*/memberships/*`. + /// @param membership_binding Required. The MembershipBinding to create. + /// @param membership_binding_id Required. The ID to use for the MembershipBinding. + /// @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.gkehub.v1.MembershipBinding] 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.gkehub.v1.CreateMembershipBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L894} + /// [google.cloud.gkehub.v1.MembershipBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L471} + /// + // clang-format on + future> + CreateMembershipBinding( + std::string const& parent, + google::cloud::gkehub::v1::MembershipBinding const& membership_binding, + std::string const& membership_binding_id, Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateMembershipBinding + /// + /// 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 CreateMembershipBinding( + NoAwaitTag, std::string const& parent, + google::cloud::gkehub::v1::MembershipBinding const& membership_binding, + std::string const& membership_binding_id, Options opts = {}); + + // clang-format off + /// + /// Creates a MembershipBinding. + /// + /// @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.gkehub.v1.CreateMembershipBindingRequest]. + /// 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.gkehub.v1.MembershipBinding] 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.gkehub.v1.CreateMembershipBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L894} + /// [google.cloud.gkehub.v1.MembershipBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L471} + /// + // clang-format on + future> + CreateMembershipBinding( + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateMembershipBinding + /// + /// 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 CreateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateMembershipBinding + /// + /// 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> + CreateMembershipBinding(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Updates a MembershipBinding. + /// + /// @param membership_binding Required. The MembershipBinding object with fields updated. + /// @param update_mask Required. The fields to be updated. + /// @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.gkehub.v1.MembershipBinding] 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.gkehub.v1.MembershipBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L471} + /// [google.cloud.gkehub.v1.UpdateMembershipBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L914} + /// + // clang-format on + future> + UpdateMembershipBinding( + google::cloud::gkehub::v1::MembershipBinding const& membership_binding, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateMembershipBinding + /// + /// 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 UpdateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::MembershipBinding const& membership_binding, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// Updates a MembershipBinding. + /// + /// @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.gkehub.v1.UpdateMembershipBindingRequest]. + /// 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.gkehub.v1.MembershipBinding] 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.gkehub.v1.MembershipBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L471} + /// [google.cloud.gkehub.v1.UpdateMembershipBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L914} + /// + // clang-format on + future> + UpdateMembershipBinding( + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateMembershipBinding + /// + /// 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 UpdateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateMembershipBinding + /// + /// 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> + UpdateMembershipBinding(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Deletes a MembershipBinding. + /// + /// @param name Required. The MembershipBinding resource name in the format + /// `projects/*/locations/*/memberships/*/bindings/*`. + /// @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.gkehub.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.gkehub.v1.DeleteMembershipBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L925} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} + /// + // clang-format on + future> + DeleteMembershipBinding(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteMembershipBinding + /// + /// 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 DeleteMembershipBinding( + NoAwaitTag, std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Deletes a MembershipBinding. + /// + /// @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.gkehub.v1.DeleteMembershipBindingRequest]. + /// 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.gkehub.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.gkehub.v1.DeleteMembershipBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L925} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} + /// + // clang-format on + future> + DeleteMembershipBinding( + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteMembershipBinding + /// + /// 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 DeleteMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteMembershipBinding + /// + /// 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> + DeleteMembershipBinding(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Lists MembershipBindings. + /// + /// @param parent Required. The parent Membership for which the MembershipBindings will be + /// listed. Specified in the format `projects/*/locations/*/memberships/*`. + /// @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.gkehub.v1.MembershipBinding], 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.gkehub.v1.ListMembershipBindingsRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L937} + /// [google.cloud.gkehub.v1.MembershipBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L471} + /// + // clang-format on + StreamRange + ListMembershipBindings(std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists MembershipBindings. + /// + /// @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.gkehub.v1.ListMembershipBindingsRequest]. + /// 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.gkehub.v1.MembershipBinding], 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.gkehub.v1.ListMembershipBindingsRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L937} + /// [google.cloud.gkehub.v1.MembershipBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L471} + /// + // clang-format on + StreamRange + ListMembershipBindings( + google::cloud::gkehub::v1::ListMembershipBindingsRequest request, + Options opts = {}); + + // clang-format off + /// + /// Returns the details of a Membership RBACRoleBinding. + /// + /// @param name Required. The RBACRoleBinding resource name in the format + /// `projects/*/locations/*/memberships/*/rbacrolebindings/*`. + /// @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.gkehub.v1.RBACRoleBinding]) + /// 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.gkehub.v1.GetMembershipRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1026} + /// [google.cloud.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// + // clang-format on + StatusOr + GetMembershipRBACRoleBinding(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Returns the details of a Membership RBACRoleBinding. + /// + /// @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.gkehub.v1.GetMembershipRBACRoleBindingRequest]. + /// 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.gkehub.v1.RBACRoleBinding]) + /// 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.gkehub.v1.GetMembershipRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1026} + /// [google.cloud.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// + // clang-format on + StatusOr + GetMembershipRBACRoleBinding( + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// Creates a Membership RBACRoleBinding. + /// + /// @param parent Required. The parent (project and location) where the RBACRoleBinding will + /// be created. Specified in the format `projects/*/locations/*/memberships/*`. + /// @param rbacrolebinding Required. The rbacrolebindings to create. + /// @param rbacrolebinding_id Required. Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` + /// must be a valid RFC 1123 compliant DNS label: + /// @n + /// 1. At most 63 characters in length + /// 2. It must consist of lower case alphanumeric characters or `-` + /// 3. It must start and end with an alphanumeric character + /// @n + /// Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, + /// with a maximum length of 63 characters. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return A [`future`] that becomes satisfied when the LRO + /// ([Long Running Operation]) completes or the polling policy in effect + /// for this call is exhausted. The future is satisfied with an error if + /// the LRO completes with an error or the polling policy is exhausted. + /// In this case the [`StatusOr`] returned by the future contains the + /// error. If the LRO completes successfully the value of the future + /// contains the LRO's result. For this RPC the result is a + /// [google.cloud.gkehub.v1.RBACRoleBinding] 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.gkehub.v1.CreateMembershipRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1038} + /// [google.cloud.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// + // clang-format on + future> + CreateMembershipRBACRoleBinding( + std::string const& parent, + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + std::string const& rbacrolebinding_id, Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateMembershipRBACRoleBinding + /// + /// 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 CreateMembershipRBACRoleBinding( + NoAwaitTag, std::string const& parent, + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + std::string const& rbacrolebinding_id, Options opts = {}); + + // clang-format off + /// + /// Creates a Membership RBACRoleBinding. + /// + /// @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.gkehub.v1.CreateMembershipRBACRoleBindingRequest]. + /// 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.gkehub.v1.RBACRoleBinding] 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.gkehub.v1.CreateMembershipRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1038} + /// [google.cloud.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// + // clang-format on + future> + CreateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateMembershipRBACRoleBinding + /// + /// 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 CreateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateMembershipRBACRoleBinding + /// + /// 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> + CreateMembershipRBACRoleBinding( + google::longrunning::Operation const& operation, Options opts = {}); + + // clang-format off + /// + /// Updates a Membership RBACRoleBinding. + /// + /// @param rbacrolebinding Required. A rbacrolebinding with fields updated. The 'name' field in this + /// rbacrolebinding is used to identify the resource to update. + /// @param update_mask Required. The fields to be updated. + /// @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.gkehub.v1.RBACRoleBinding] 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.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// [google.cloud.gkehub.v1.UpdateMembershipRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1064} + /// + // clang-format on + future> + UpdateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateMembershipRBACRoleBinding + /// + /// 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 UpdateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::RBACRoleBinding const& rbacrolebinding, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// Updates a Membership RBACRoleBinding. + /// + /// @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.gkehub.v1.UpdateMembershipRBACRoleBindingRequest]. + /// 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.gkehub.v1.RBACRoleBinding] 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.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// [google.cloud.gkehub.v1.UpdateMembershipRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1064} + /// + // clang-format on + future> + UpdateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateMembershipRBACRoleBinding + /// + /// 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 UpdateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateMembershipRBACRoleBinding + /// + /// 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> + UpdateMembershipRBACRoleBinding( + google::longrunning::Operation const& operation, Options opts = {}); + + // clang-format off + /// + /// Deletes a Membership RBACRoleBinding. + /// + /// @param name Required. The RBACRoleBinding resource name in the format + /// `projects/*/locations/*/memberships/*/rbacrolebindings/*`. + /// @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.gkehub.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.gkehub.v1.DeleteMembershipRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1075} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} + /// + // clang-format on + future> + DeleteMembershipRBACRoleBinding(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteMembershipRBACRoleBinding + /// + /// 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 DeleteMembershipRBACRoleBinding( + NoAwaitTag, std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Deletes a Membership RBACRoleBinding. + /// + /// @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.gkehub.v1.DeleteMembershipRBACRoleBindingRequest]. + /// 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.gkehub.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.gkehub.v1.DeleteMembershipRBACRoleBindingRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1075} + /// [google.cloud.gkehub.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1673} + /// + // clang-format on + future> + DeleteMembershipRBACRoleBinding( + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteMembershipRBACRoleBinding + /// + /// 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 DeleteMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteMembershipRBACRoleBinding + /// + /// 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> + DeleteMembershipRBACRoleBinding( + google::longrunning::Operation const& operation, Options opts = {}); + + // clang-format off + /// + /// Lists all Membership RBACRoleBindings. + /// + /// @param parent Required. The parent (project and location) where the Features will be + /// listed. Specified in the format `projects/*/locations/*/memberships/*`. + /// @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.gkehub.v1.RBACRoleBinding], 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.gkehub.v1.ListMembershipRBACRoleBindingsRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1087} + /// [google.cloud.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// + // clang-format on + StreamRange + ListMembershipRBACRoleBindings(std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists all Membership RBACRoleBindings. + /// + /// @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.gkehub.v1.ListMembershipRBACRoleBindingsRequest]. + /// 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.gkehub.v1.RBACRoleBinding], 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.gkehub.v1.ListMembershipRBACRoleBindingsRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1087} + /// [google.cloud.gkehub.v1.RBACRoleBinding]: @googleapis_reference_link{google/cloud/gkehub/v1/fleet.proto#L295} + /// + // clang-format on + StreamRange + ListMembershipRBACRoleBindings( + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest request, + Options opts = {}); + + // clang-format off + /// + /// Generates a YAML of the RBAC policies for the specified + /// RoleBinding and its associated impersonation resources. + /// + /// @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.gkehub.v1.GenerateMembershipRBACRoleBindingYAMLRequest]. + /// 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.gkehub.v1.GenerateMembershipRBACRoleBindingYAMLResponse]) + /// 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.gkehub.v1.GenerateMembershipRBACRoleBindingYAMLRequest]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1124} + /// [google.cloud.gkehub.v1.GenerateMembershipRBACRoleBindingYAMLResponse]: @googleapis_reference_link{google/cloud/gkehub/v1/service.proto#L1154} + /// + // clang-format on + StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> + GenerateMembershipRBACRoleBindingYAML( + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request, + Options opts = {}); + private: std::shared_ptr connection_; Options options_; diff --git a/google/cloud/gkehub/v1/gke_hub_connection.cc b/google/cloud/gkehub/v1/gke_hub_connection.cc index fcc6d57e12267..96eb3c9132972 100644 --- a/google/cloud/gkehub/v1/gke_hub_connection.cc +++ b/google/cloud/gkehub/v1/gke_hub_connection.cc @@ -46,6 +46,14 @@ GkeHubConnection::ListMemberships( StreamRange>(); } +StreamRange +GkeHubConnection::ListBoundMemberships( + google::cloud::gkehub::v1:: + ListBoundMembershipsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + StreamRange GkeHubConnection::ListFeatures( google::cloud::gkehub::v1:: ListFeaturesRequest) { // NOLINT(performance-unnecessary-value-param) @@ -195,6 +203,507 @@ GkeHubConnection::GenerateConnectManifest( return Status(StatusCode::kUnimplemented, "not implemented"); } +future> +GkeHubConnection::CreateFleet( + google::cloud::gkehub::v1::CreateFleetRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr GkeHubConnection::CreateFleet( + NoAwaitTag, google::cloud::gkehub::v1::CreateFleetRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::CreateFleet(google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr GkeHubConnection::GetFleet( + google::cloud::gkehub::v1::GetFleetRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +future> +GkeHubConnection::UpdateFleet( + google::cloud::gkehub::v1::UpdateFleetRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr GkeHubConnection::UpdateFleet( + NoAwaitTag, google::cloud::gkehub::v1::UpdateFleetRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::UpdateFleet(google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::DeleteFleet( + google::cloud::gkehub::v1::DeleteFleetRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr GkeHubConnection::DeleteFleet( + NoAwaitTag, google::cloud::gkehub::v1::DeleteFleetRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::DeleteFleet(google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StreamRange GkeHubConnection::ListFleets( + google::cloud::gkehub::v1:: + ListFleetsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +GkeHubConnection::GetScopeNamespace( + google::cloud::gkehub::v1::GetScopeNamespaceRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +future> +GkeHubConnection::CreateScopeNamespace( + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr GkeHubConnection::CreateScopeNamespace( + NoAwaitTag, google::cloud::gkehub::v1::CreateScopeNamespaceRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::CreateScopeNamespace(google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::UpdateScopeNamespace( + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr GkeHubConnection::UpdateScopeNamespace( + NoAwaitTag, google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::UpdateScopeNamespace(google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::DeleteScopeNamespace( + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr GkeHubConnection::DeleteScopeNamespace( + NoAwaitTag, google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::DeleteScopeNamespace(google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StreamRange +GkeHubConnection::ListScopeNamespaces( + google::cloud::gkehub::v1:: + ListScopeNamespacesRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +GkeHubConnection::GetScopeRBACRoleBinding( + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +future> +GkeHubConnection::CreateScopeRBACRoleBinding( + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +GkeHubConnection::CreateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::CreateScopeRBACRoleBinding( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::UpdateScopeRBACRoleBinding( + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +GkeHubConnection::UpdateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::UpdateScopeRBACRoleBinding( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::DeleteScopeRBACRoleBinding( + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +GkeHubConnection::DeleteScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::DeleteScopeRBACRoleBinding( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StreamRange +GkeHubConnection::ListScopeRBACRoleBindings( + google::cloud::gkehub::v1:: + ListScopeRBACRoleBindingsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr GkeHubConnection::GetScope( + google::cloud::gkehub::v1::GetScopeRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +future> +GkeHubConnection::CreateScope( + google::cloud::gkehub::v1::CreateScopeRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr GkeHubConnection::CreateScope( + NoAwaitTag, google::cloud::gkehub::v1::CreateScopeRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::CreateScope(google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::UpdateScope( + google::cloud::gkehub::v1::UpdateScopeRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr GkeHubConnection::UpdateScope( + NoAwaitTag, google::cloud::gkehub::v1::UpdateScopeRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::UpdateScope(google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::DeleteScope( + google::cloud::gkehub::v1::DeleteScopeRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr GkeHubConnection::DeleteScope( + NoAwaitTag, google::cloud::gkehub::v1::DeleteScopeRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::DeleteScope(google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StreamRange GkeHubConnection::ListScopes( + google::cloud::gkehub::v1:: + ListScopesRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StreamRange +GkeHubConnection::ListPermittedScopes( + google::cloud::gkehub::v1:: + ListPermittedScopesRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +GkeHubConnection::GetMembershipBinding( + google::cloud::gkehub::v1::GetMembershipBindingRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +future> +GkeHubConnection::CreateMembershipBinding( + google::cloud::gkehub::v1::CreateMembershipBindingRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +GkeHubConnection::CreateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::CreateMembershipBinding( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::UpdateMembershipBinding( + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +GkeHubConnection::UpdateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::UpdateMembershipBinding( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::DeleteMembershipBinding( + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +GkeHubConnection::DeleteMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::DeleteMembershipBinding( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StreamRange +GkeHubConnection::ListMembershipBindings( + google::cloud::gkehub::v1:: + ListMembershipBindingsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +GkeHubConnection::GetMembershipRBACRoleBinding( + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +future> +GkeHubConnection::CreateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +GkeHubConnection::CreateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::CreateMembershipRBACRoleBinding( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::UpdateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +GkeHubConnection::UpdateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::UpdateMembershipRBACRoleBinding( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::DeleteMembershipRBACRoleBinding( + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +GkeHubConnection::DeleteMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +GkeHubConnection::DeleteMembershipRBACRoleBinding( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StreamRange +GkeHubConnection::ListMembershipRBACRoleBindings( + google::cloud::gkehub::v1:: + ListMembershipRBACRoleBindingsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> +GkeHubConnection::GenerateMembershipRBACRoleBindingYAML( + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + std::shared_ptr MakeGkeHubConnection(Options options) { internal::CheckExpectedOptions ListMemberships( google::cloud::gkehub::v1::ListMembershipsRequest request); + virtual StreamRange + ListBoundMemberships( + google::cloud::gkehub::v1::ListBoundMembershipsRequest request); + virtual StreamRange ListFeatures( google::cloud::gkehub::v1::ListFeaturesRequest request); @@ -260,6 +264,262 @@ class GkeHubConnection { virtual StatusOr GenerateConnectManifest( google::cloud::gkehub::v1::GenerateConnectManifestRequest const& request); + + virtual future> CreateFleet( + google::cloud::gkehub::v1::CreateFleetRequest const& request); + + virtual StatusOr CreateFleet( + NoAwaitTag, google::cloud::gkehub::v1::CreateFleetRequest const& request); + + virtual future> CreateFleet( + google::longrunning::Operation const& operation); + + virtual StatusOr GetFleet( + google::cloud::gkehub::v1::GetFleetRequest const& request); + + virtual future> UpdateFleet( + google::cloud::gkehub::v1::UpdateFleetRequest const& request); + + virtual StatusOr UpdateFleet( + NoAwaitTag, google::cloud::gkehub::v1::UpdateFleetRequest const& request); + + virtual future> UpdateFleet( + google::longrunning::Operation const& operation); + + virtual future> + DeleteFleet(google::cloud::gkehub::v1::DeleteFleetRequest const& request); + + virtual StatusOr DeleteFleet( + NoAwaitTag, google::cloud::gkehub::v1::DeleteFleetRequest const& request); + + virtual future> + DeleteFleet(google::longrunning::Operation const& operation); + + virtual StreamRange ListFleets( + google::cloud::gkehub::v1::ListFleetsRequest request); + + virtual StatusOr GetScopeNamespace( + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request); + + virtual future> + CreateScopeNamespace( + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request); + + virtual StatusOr CreateScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request); + + virtual future> + CreateScopeNamespace(google::longrunning::Operation const& operation); + + virtual future> + UpdateScopeNamespace( + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request); + + virtual StatusOr UpdateScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request); + + virtual future> + UpdateScopeNamespace(google::longrunning::Operation const& operation); + + virtual future> + DeleteScopeNamespace( + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request); + + virtual StatusOr DeleteScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request); + + virtual future> + DeleteScopeNamespace(google::longrunning::Operation const& operation); + + virtual StreamRange ListScopeNamespaces( + google::cloud::gkehub::v1::ListScopeNamespacesRequest request); + + virtual StatusOr + GetScopeRBACRoleBinding( + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request); + + virtual future> + CreateScopeRBACRoleBinding( + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request); + + virtual StatusOr CreateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request); + + virtual future> + CreateScopeRBACRoleBinding(google::longrunning::Operation const& operation); + + virtual future> + UpdateScopeRBACRoleBinding( + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request); + + virtual StatusOr UpdateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request); + + virtual future> + UpdateScopeRBACRoleBinding(google::longrunning::Operation const& operation); + + virtual future> + DeleteScopeRBACRoleBinding( + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request); + + virtual StatusOr DeleteScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request); + + virtual future> + DeleteScopeRBACRoleBinding(google::longrunning::Operation const& operation); + + virtual StreamRange + ListScopeRBACRoleBindings( + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest request); + + virtual StatusOr GetScope( + google::cloud::gkehub::v1::GetScopeRequest const& request); + + virtual future> CreateScope( + google::cloud::gkehub::v1::CreateScopeRequest const& request); + + virtual StatusOr CreateScope( + NoAwaitTag, google::cloud::gkehub::v1::CreateScopeRequest const& request); + + virtual future> CreateScope( + google::longrunning::Operation const& operation); + + virtual future> UpdateScope( + google::cloud::gkehub::v1::UpdateScopeRequest const& request); + + virtual StatusOr UpdateScope( + NoAwaitTag, google::cloud::gkehub::v1::UpdateScopeRequest const& request); + + virtual future> UpdateScope( + google::longrunning::Operation const& operation); + + virtual future> + DeleteScope(google::cloud::gkehub::v1::DeleteScopeRequest const& request); + + virtual StatusOr DeleteScope( + NoAwaitTag, google::cloud::gkehub::v1::DeleteScopeRequest const& request); + + virtual future> + DeleteScope(google::longrunning::Operation const& operation); + + virtual StreamRange ListScopes( + google::cloud::gkehub::v1::ListScopesRequest request); + + virtual StreamRange ListPermittedScopes( + google::cloud::gkehub::v1::ListPermittedScopesRequest request); + + virtual StatusOr + GetMembershipBinding( + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request); + + virtual future> + CreateMembershipBinding( + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request); + + virtual StatusOr CreateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request); + + virtual future> + CreateMembershipBinding(google::longrunning::Operation const& operation); + + virtual future> + UpdateMembershipBinding( + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request); + + virtual StatusOr UpdateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request); + + virtual future> + UpdateMembershipBinding(google::longrunning::Operation const& operation); + + virtual future> + DeleteMembershipBinding( + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request); + + virtual StatusOr DeleteMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request); + + virtual future> + DeleteMembershipBinding(google::longrunning::Operation const& operation); + + virtual StreamRange + ListMembershipBindings( + google::cloud::gkehub::v1::ListMembershipBindingsRequest request); + + virtual StatusOr + GetMembershipRBACRoleBinding( + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request); + + virtual future> + CreateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request); + + virtual StatusOr + CreateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request); + + virtual future> + CreateMembershipRBACRoleBinding( + google::longrunning::Operation const& operation); + + virtual future> + UpdateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request); + + virtual StatusOr + UpdateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request); + + virtual future> + UpdateMembershipRBACRoleBinding( + google::longrunning::Operation const& operation); + + virtual future> + DeleteMembershipRBACRoleBinding( + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request); + + virtual StatusOr + DeleteMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request); + + virtual future> + DeleteMembershipRBACRoleBinding( + google::longrunning::Operation const& operation); + + virtual StreamRange + ListMembershipRBACRoleBindings( + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest request); + + virtual StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> + GenerateMembershipRBACRoleBindingYAML( + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request); }; /** diff --git a/google/cloud/gkehub/v1/gke_hub_connection_idempotency_policy.cc b/google/cloud/gkehub/v1/gke_hub_connection_idempotency_policy.cc index 51a24b1d148a6..839d926c3c9f2 100644 --- a/google/cloud/gkehub/v1/gke_hub_connection_idempotency_policy.cc +++ b/google/cloud/gkehub/v1/gke_hub_connection_idempotency_policy.cc @@ -39,6 +39,11 @@ Idempotency GkeHubConnectionIdempotencyPolicy::ListMemberships( return Idempotency::kIdempotent; } +Idempotency GkeHubConnectionIdempotencyPolicy::ListBoundMemberships( + google::cloud::gkehub::v1::ListBoundMembershipsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + Idempotency GkeHubConnectionIdempotencyPolicy::ListFeatures( google::cloud::gkehub::v1::ListFeaturesRequest) { // NOLINT return Idempotency::kIdempotent; @@ -89,6 +94,169 @@ Idempotency GkeHubConnectionIdempotencyPolicy::GenerateConnectManifest( return Idempotency::kIdempotent; } +Idempotency GkeHubConnectionIdempotencyPolicy::CreateFleet( + google::cloud::gkehub::v1::CreateFleetRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::GetFleet( + google::cloud::gkehub::v1::GetFleetRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::UpdateFleet( + google::cloud::gkehub::v1::UpdateFleetRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::DeleteFleet( + google::cloud::gkehub::v1::DeleteFleetRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::ListFleets( + google::cloud::gkehub::v1::ListFleetsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::GetScopeNamespace( + google::cloud::gkehub::v1::GetScopeNamespaceRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::CreateScopeNamespace( + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::UpdateScopeNamespace( + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::DeleteScopeNamespace( + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::ListScopeNamespaces( + google::cloud::gkehub::v1::ListScopeNamespacesRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::GetScopeRBACRoleBinding( + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::CreateScopeRBACRoleBinding( + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::UpdateScopeRBACRoleBinding( + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::DeleteScopeRBACRoleBinding( + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::ListScopeRBACRoleBindings( + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::GetScope( + google::cloud::gkehub::v1::GetScopeRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::CreateScope( + google::cloud::gkehub::v1::CreateScopeRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::UpdateScope( + google::cloud::gkehub::v1::UpdateScopeRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::DeleteScope( + google::cloud::gkehub::v1::DeleteScopeRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::ListScopes( + google::cloud::gkehub::v1::ListScopesRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::ListPermittedScopes( + google::cloud::gkehub::v1::ListPermittedScopesRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::GetMembershipBinding( + google::cloud::gkehub::v1::GetMembershipBindingRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::CreateMembershipBinding( + google::cloud::gkehub::v1::CreateMembershipBindingRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::UpdateMembershipBinding( + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::DeleteMembershipBinding( + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::ListMembershipBindings( + google::cloud::gkehub::v1::ListMembershipBindingsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::GetMembershipRBACRoleBinding( + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::CreateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::UpdateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::DeleteMembershipRBACRoleBinding( + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency GkeHubConnectionIdempotencyPolicy::ListMembershipRBACRoleBindings( + google::cloud::gkehub::v1:: + ListMembershipRBACRoleBindingsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency +GkeHubConnectionIdempotencyPolicy::GenerateMembershipRBACRoleBindingYAML( + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const&) { + return Idempotency::kNonIdempotent; +} + std::unique_ptr MakeDefaultGkeHubConnectionIdempotencyPolicy() { return std::make_unique(); diff --git a/google/cloud/gkehub/v1/gke_hub_connection_idempotency_policy.h b/google/cloud/gkehub/v1/gke_hub_connection_idempotency_policy.h index ed3b048ad6e35..8376d394d3fc5 100644 --- a/google/cloud/gkehub/v1/gke_hub_connection_idempotency_policy.h +++ b/google/cloud/gkehub/v1/gke_hub_connection_idempotency_policy.h @@ -39,6 +39,9 @@ class GkeHubConnectionIdempotencyPolicy { virtual google::cloud::Idempotency ListMemberships( google::cloud::gkehub::v1::ListMembershipsRequest request); + virtual google::cloud::Idempotency ListBoundMemberships( + google::cloud::gkehub::v1::ListBoundMembershipsRequest request); + virtual google::cloud::Idempotency ListFeatures( google::cloud::gkehub::v1::ListFeaturesRequest request); @@ -68,6 +71,110 @@ class GkeHubConnectionIdempotencyPolicy { virtual google::cloud::Idempotency GenerateConnectManifest( google::cloud::gkehub::v1::GenerateConnectManifestRequest const& request); + + virtual google::cloud::Idempotency CreateFleet( + google::cloud::gkehub::v1::CreateFleetRequest const& request); + + virtual google::cloud::Idempotency GetFleet( + google::cloud::gkehub::v1::GetFleetRequest const& request); + + virtual google::cloud::Idempotency UpdateFleet( + google::cloud::gkehub::v1::UpdateFleetRequest const& request); + + virtual google::cloud::Idempotency DeleteFleet( + google::cloud::gkehub::v1::DeleteFleetRequest const& request); + + virtual google::cloud::Idempotency ListFleets( + google::cloud::gkehub::v1::ListFleetsRequest request); + + virtual google::cloud::Idempotency GetScopeNamespace( + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request); + + virtual google::cloud::Idempotency CreateScopeNamespace( + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request); + + virtual google::cloud::Idempotency UpdateScopeNamespace( + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request); + + virtual google::cloud::Idempotency DeleteScopeNamespace( + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request); + + virtual google::cloud::Idempotency ListScopeNamespaces( + google::cloud::gkehub::v1::ListScopeNamespacesRequest request); + + virtual google::cloud::Idempotency GetScopeRBACRoleBinding( + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request); + + virtual google::cloud::Idempotency CreateScopeRBACRoleBinding( + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request); + + virtual google::cloud::Idempotency UpdateScopeRBACRoleBinding( + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request); + + virtual google::cloud::Idempotency DeleteScopeRBACRoleBinding( + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request); + + virtual google::cloud::Idempotency ListScopeRBACRoleBindings( + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest request); + + virtual google::cloud::Idempotency GetScope( + google::cloud::gkehub::v1::GetScopeRequest const& request); + + virtual google::cloud::Idempotency CreateScope( + google::cloud::gkehub::v1::CreateScopeRequest const& request); + + virtual google::cloud::Idempotency UpdateScope( + google::cloud::gkehub::v1::UpdateScopeRequest const& request); + + virtual google::cloud::Idempotency DeleteScope( + google::cloud::gkehub::v1::DeleteScopeRequest const& request); + + virtual google::cloud::Idempotency ListScopes( + google::cloud::gkehub::v1::ListScopesRequest request); + + virtual google::cloud::Idempotency ListPermittedScopes( + google::cloud::gkehub::v1::ListPermittedScopesRequest request); + + virtual google::cloud::Idempotency GetMembershipBinding( + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request); + + virtual google::cloud::Idempotency CreateMembershipBinding( + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request); + + virtual google::cloud::Idempotency UpdateMembershipBinding( + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request); + + virtual google::cloud::Idempotency DeleteMembershipBinding( + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request); + + virtual google::cloud::Idempotency ListMembershipBindings( + google::cloud::gkehub::v1::ListMembershipBindingsRequest request); + + virtual google::cloud::Idempotency GetMembershipRBACRoleBinding( + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request); + + virtual google::cloud::Idempotency CreateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request); + + virtual google::cloud::Idempotency UpdateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request); + + virtual google::cloud::Idempotency DeleteMembershipRBACRoleBinding( + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request); + + virtual google::cloud::Idempotency ListMembershipRBACRoleBindings( + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest request); + + virtual google::cloud::Idempotency GenerateMembershipRBACRoleBindingYAML( + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request); }; std::unique_ptr diff --git a/google/cloud/gkehub/v1/internal/gke_hub_auth_decorator.cc b/google/cloud/gkehub/v1/internal/gke_hub_auth_decorator.cc index 0d22e1e50b3f6..78c09341a9d73 100644 --- a/google/cloud/gkehub/v1/internal/gke_hub_auth_decorator.cc +++ b/google/cloud/gkehub/v1/internal/gke_hub_auth_decorator.cc @@ -43,6 +43,15 @@ GkeHubAuth::ListMemberships( return child_->ListMemberships(context, options, request); } +StatusOr +GkeHubAuth::ListBoundMemberships( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListBoundMembershipsRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListBoundMemberships(context, options, request); +} + StatusOr GkeHubAuth::ListFeatures( grpc::ClientContext& context, Options const& options, @@ -242,6 +251,646 @@ GkeHubAuth::GenerateConnectManifest( return child_->GenerateConnectManifest(context, options, request); } +future> GkeHubAuth::AsyncCreateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateFleetRequest 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->AsyncCreateFleet(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr GkeHubAuth::CreateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->CreateFleet(context, options, request); +} + +StatusOr GkeHubAuth::GetFleet( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetFleetRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetFleet(context, options, request); +} + +future> GkeHubAuth::AsyncUpdateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateFleetRequest 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->AsyncUpdateFleet(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr GkeHubAuth::UpdateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->UpdateFleet(context, options, request); +} + +future> GkeHubAuth::AsyncDeleteFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteFleetRequest 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->AsyncDeleteFleet(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr GkeHubAuth::DeleteFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeleteFleet(context, options, request); +} + +StatusOr GkeHubAuth::ListFleets( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListFleetsRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListFleets(context, options, request); +} + +StatusOr GkeHubAuth::GetScopeNamespace( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetScopeNamespace(context, options, request); +} + +future> +GkeHubAuth::AsyncCreateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest 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->AsyncCreateScopeNamespace(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr GkeHubAuth::CreateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->CreateScopeNamespace(context, options, request); +} + +future> +GkeHubAuth::AsyncUpdateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest 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->AsyncUpdateScopeNamespace(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr GkeHubAuth::UpdateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->UpdateScopeNamespace(context, options, request); +} + +future> +GkeHubAuth::AsyncDeleteScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest 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->AsyncDeleteScopeNamespace(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr GkeHubAuth::DeleteScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeleteScopeNamespace(context, options, request); +} + +StatusOr +GkeHubAuth::ListScopeNamespaces( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeNamespacesRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListScopeNamespaces(context, options, request); +} + +StatusOr +GkeHubAuth::GetScopeRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetScopeRBACRoleBinding(context, options, request); +} + +future> +GkeHubAuth::AsyncCreateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest 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->AsyncCreateScopeRBACRoleBinding( + cq, *std::move(context), std::move(options), request); + }); +} + +StatusOr GkeHubAuth::CreateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->CreateScopeRBACRoleBinding(context, options, request); +} + +future> +GkeHubAuth::AsyncUpdateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest 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->AsyncUpdateScopeRBACRoleBinding( + cq, *std::move(context), std::move(options), request); + }); +} + +StatusOr GkeHubAuth::UpdateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->UpdateScopeRBACRoleBinding(context, options, request); +} + +future> +GkeHubAuth::AsyncDeleteScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest 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->AsyncDeleteScopeRBACRoleBinding( + cq, *std::move(context), std::move(options), request); + }); +} + +StatusOr GkeHubAuth::DeleteScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeleteScopeRBACRoleBinding(context, options, request); +} + +StatusOr +GkeHubAuth::ListScopeRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListScopeRBACRoleBindings(context, options, request); +} + +StatusOr GkeHubAuth::GetScope( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetScope(context, options, request); +} + +future> GkeHubAuth::AsyncCreateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRequest 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->AsyncCreateScope(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr GkeHubAuth::CreateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->CreateScope(context, options, request); +} + +future> GkeHubAuth::AsyncUpdateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRequest 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->AsyncUpdateScope(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr GkeHubAuth::UpdateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->UpdateScope(context, options, request); +} + +future> GkeHubAuth::AsyncDeleteScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRequest 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->AsyncDeleteScope(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr GkeHubAuth::DeleteScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeleteScope(context, options, request); +} + +StatusOr GkeHubAuth::ListScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopesRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListScopes(context, options, request); +} + +StatusOr +GkeHubAuth::ListPermittedScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListPermittedScopesRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListPermittedScopes(context, options, request); +} + +StatusOr +GkeHubAuth::GetMembershipBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetMembershipBinding(context, options, request); +} + +future> +GkeHubAuth::AsyncCreateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest 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->AsyncCreateMembershipBinding(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr GkeHubAuth::CreateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->CreateMembershipBinding(context, options, request); +} + +future> +GkeHubAuth::AsyncUpdateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest 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->AsyncUpdateMembershipBinding(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr GkeHubAuth::UpdateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->UpdateMembershipBinding(context, options, request); +} + +future> +GkeHubAuth::AsyncDeleteMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest 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->AsyncDeleteMembershipBinding(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr GkeHubAuth::DeleteMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeleteMembershipBinding(context, options, request); +} + +StatusOr +GkeHubAuth::ListMembershipBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipBindingsRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListMembershipBindings(context, options, request); +} + +StatusOr +GkeHubAuth::GetMembershipRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetMembershipRBACRoleBinding(context, options, request); +} + +future> +GkeHubAuth::AsyncCreateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest 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->AsyncCreateMembershipRBACRoleBinding( + cq, *std::move(context), std::move(options), request); + }); +} + +StatusOr +GkeHubAuth::CreateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->CreateMembershipRBACRoleBinding(context, options, request); +} + +future> +GkeHubAuth::AsyncUpdateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest 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->AsyncUpdateMembershipRBACRoleBinding( + cq, *std::move(context), std::move(options), request); + }); +} + +StatusOr +GkeHubAuth::UpdateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->UpdateMembershipRBACRoleBinding(context, options, request); +} + +future> +GkeHubAuth::AsyncDeleteMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest 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->AsyncDeleteMembershipRBACRoleBinding( + cq, *std::move(context), std::move(options), request); + }); +} + +StatusOr +GkeHubAuth::DeleteMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeleteMembershipRBACRoleBinding(context, options, request); +} + +StatusOr +GkeHubAuth::ListMembershipRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListMembershipRBACRoleBindings(context, options, request); +} + +StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> +GkeHubAuth::GenerateMembershipRBACRoleBindingYAML( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GenerateMembershipRBACRoleBindingYAML(context, options, + request); +} + future> GkeHubAuth::AsyncGetOperation( google::cloud::CompletionQueue& cq, std::shared_ptr context, diff --git a/google/cloud/gkehub/v1/internal/gke_hub_auth_decorator.h b/google/cloud/gkehub/v1/internal/gke_hub_auth_decorator.h index 82ffd11dccfbc..95013289020b1 100644 --- a/google/cloud/gkehub/v1/internal/gke_hub_auth_decorator.h +++ b/google/cloud/gkehub/v1/internal/gke_hub_auth_decorator.h @@ -47,6 +47,12 @@ class GkeHubAuth : public GkeHubStub { google::cloud::gkehub::v1::ListMembershipsRequest const& request) override; + StatusOr + ListBoundMemberships( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListBoundMembershipsRequest const& request) + override; + StatusOr ListFeatures( grpc::ClientContext& context, Options const& options, google::cloud::gkehub::v1::ListFeaturesRequest const& request) override; @@ -131,6 +137,290 @@ class GkeHubAuth : public GkeHubStub { google::cloud::gkehub::v1::GenerateConnectManifestRequest const& request) override; + future> AsyncCreateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) override; + + StatusOr CreateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) override; + + StatusOr GetFleet( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetFleetRequest const& request) override; + + future> AsyncUpdateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) override; + + StatusOr UpdateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) override; + + future> AsyncDeleteFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) override; + + StatusOr DeleteFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) override; + + StatusOr ListFleets( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListFleetsRequest const& request) override; + + StatusOr GetScopeNamespace( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) + override; + + future> AsyncCreateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) + override; + + StatusOr CreateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) + override; + + future> AsyncUpdateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) + override; + + StatusOr UpdateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) + override; + + future> AsyncDeleteScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) + override; + + StatusOr DeleteScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) + override; + + StatusOr + ListScopeNamespaces( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeNamespacesRequest const& request) + override; + + StatusOr GetScopeRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request) + override; + + future> + AsyncCreateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) override; + + StatusOr CreateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) override; + + future> + AsyncUpdateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) override; + + StatusOr UpdateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) override; + + future> + AsyncDeleteScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) override; + + StatusOr DeleteScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) override; + + StatusOr + ListScopeRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest const& + request) override; + + StatusOr GetScope( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRequest const& request) override; + + future> AsyncCreateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) override; + + StatusOr CreateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) override; + + future> AsyncUpdateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) override; + + StatusOr UpdateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) override; + + future> AsyncDeleteScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) override; + + StatusOr DeleteScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) override; + + StatusOr ListScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopesRequest const& request) override; + + StatusOr + ListPermittedScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListPermittedScopesRequest const& request) + override; + + StatusOr GetMembershipBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request) + override; + + future> AsyncCreateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) + override; + + StatusOr CreateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) + override; + + future> AsyncUpdateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) + override; + + StatusOr UpdateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) + override; + + future> AsyncDeleteMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) + override; + + StatusOr DeleteMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) + override; + + StatusOr + ListMembershipBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipBindingsRequest const& request) + override; + + StatusOr + GetMembershipRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) override; + + future> + AsyncCreateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr CreateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) override; + + future> + AsyncUpdateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr UpdateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) override; + + future> + AsyncDeleteMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr DeleteMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr + ListMembershipRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest const& + request) override; + + StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> + GenerateMembershipRBACRoleBindingYAML( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) override; + future> AsyncGetOperation( google::cloud::CompletionQueue& cq, std::shared_ptr context, diff --git a/google/cloud/gkehub/v1/internal/gke_hub_connection_impl.cc b/google/cloud/gkehub/v1/internal/gke_hub_connection_impl.cc index fa737bf02072f..051b83eecceac 100644 --- a/google/cloud/gkehub/v1/internal/gke_hub_connection_impl.cc +++ b/google/cloud/gkehub/v1/internal/gke_hub_connection_impl.cc @@ -96,6 +96,41 @@ GkeHubConnectionImpl::ListMemberships( }); } +StreamRange +GkeHubConnectionImpl::ListBoundMemberships( + google::cloud::gkehub::v1::ListBoundMembershipsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = + idempotency_policy(*current)->ListBoundMemberships(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::gkehub::v1::ListBoundMembershipsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListBoundMembershipsRequest const& + request) { + return stub->ListBoundMemberships(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::gkehub::v1::ListBoundMembershipsResponse r) { + std::vector result( + r.memberships().size()); + auto& messages = *r.mutable_memberships(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + StreamRange GkeHubConnectionImpl::ListFeatures( google::cloud::gkehub::v1::ListFeaturesRequest request) { @@ -711,6 +746,2015 @@ GkeHubConnectionImpl::GenerateConnectManifest( *current, request, __func__); } +future> +GkeHubConnectionImpl::CreateFleet( + google::cloud::gkehub::v1::CreateFleetRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->CreateFleet(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::v1::Fleet>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) { + return stub->AsyncCreateFleet(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::gkehub::v1::Fleet>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr GkeHubConnectionImpl::CreateFleet( + NoAwaitTag, google::cloud::gkehub::v1::CreateFleetRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->CreateFleet(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) { + return stub_->CreateFleet(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::CreateFleet( + google::longrunning::Operation const& operation) { + auto current = google::cloud::internal::SaveCurrentOptions(); + if (!operation.metadata() + .Is()) { + return make_ready_future>( + internal::InvalidArgumentError( + "operation does not correspond to CreateFleet", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::v1::Fleet>( + 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::gkehub::v1::Fleet>, + polling_policy(*current), __func__); +} + +StatusOr GkeHubConnectionImpl::GetFleet( + google::cloud::gkehub::v1::GetFleetRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetFleet(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetFleetRequest const& request) { + return stub_->GetFleet(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::UpdateFleet( + google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->UpdateFleet(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::v1::Fleet>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + return stub->AsyncUpdateFleet(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::gkehub::v1::Fleet>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr GkeHubConnectionImpl::UpdateFleet( + NoAwaitTag, google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->UpdateFleet(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + return stub_->UpdateFleet(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::UpdateFleet( + google::longrunning::Operation const& operation) { + auto current = google::cloud::internal::SaveCurrentOptions(); + if (!operation.metadata() + .Is()) { + return make_ready_future>( + internal::InvalidArgumentError( + "operation does not correspond to UpdateFleet", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::v1::Fleet>( + 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::gkehub::v1::Fleet>, + polling_policy(*current), __func__); +} + +future> +GkeHubConnectionImpl::DeleteFleet( + google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->DeleteFleet(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::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::gkehub::v1::DeleteFleetRequest const& request) { + return stub->AsyncDeleteFleet(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::gkehub::v1::OperationMetadata>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr GkeHubConnectionImpl::DeleteFleet( + NoAwaitTag, google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeleteFleet(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + return stub_->DeleteFleet(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::DeleteFleet( + 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 DeleteFleet", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::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::gkehub::v1::OperationMetadata>, + polling_policy(*current), __func__); +} + +StreamRange GkeHubConnectionImpl::ListFleets( + google::cloud::gkehub::v1::ListFleetsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListFleets(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::gkehub::v1::ListFleetsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub]( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListFleetsRequest const& request) { + return stub->ListFleets(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::gkehub::v1::ListFleetsResponse r) { + std::vector result(r.fleets().size()); + auto& messages = *r.mutable_fleets(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +GkeHubConnectionImpl::GetScopeNamespace( + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetScopeNamespace(request), + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) { + return stub_->GetScopeNamespace(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::CreateScopeNamespace( + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->CreateScopeNamespace(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::v1::Namespace>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& + request) { + return stub->AsyncCreateScopeNamespace(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::gkehub::v1::Namespace>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +GkeHubConnectionImpl::CreateScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->CreateScopeNamespace(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& + request) { + return stub_->CreateScopeNamespace(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::CreateScopeNamespace( + google::longrunning::Operation const& operation) { + auto current = google::cloud::internal::SaveCurrentOptions(); + if (!operation.metadata() + .Is()) { + return make_ready_future>( + internal::InvalidArgumentError( + "operation does not correspond to CreateScopeNamespace", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::v1::Namespace>( + 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::gkehub::v1::Namespace>, + polling_policy(*current), __func__); +} + +future> +GkeHubConnectionImpl::UpdateScopeNamespace( + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->UpdateScopeNamespace(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::v1::Namespace>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& + request) { + return stub->AsyncUpdateScopeNamespace(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::gkehub::v1::Namespace>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +GkeHubConnectionImpl::UpdateScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->UpdateScopeNamespace(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& + request) { + return stub_->UpdateScopeNamespace(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::UpdateScopeNamespace( + google::longrunning::Operation const& operation) { + auto current = google::cloud::internal::SaveCurrentOptions(); + if (!operation.metadata() + .Is()) { + return make_ready_future>( + internal::InvalidArgumentError( + "operation does not correspond to UpdateScopeNamespace", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::v1::Namespace>( + 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::gkehub::v1::Namespace>, + polling_policy(*current), __func__); +} + +future> +GkeHubConnectionImpl::DeleteScopeNamespace( + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->DeleteScopeNamespace(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::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::gkehub::v1::DeleteScopeNamespaceRequest const& + request) { + return stub->AsyncDeleteScopeNamespace(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::gkehub::v1::OperationMetadata>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +GkeHubConnectionImpl::DeleteScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeleteScopeNamespace(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& + request) { + return stub_->DeleteScopeNamespace(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::DeleteScopeNamespace( + 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 DeleteScopeNamespace", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::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::gkehub::v1::OperationMetadata>, + polling_policy(*current), __func__); +} + +StreamRange +GkeHubConnectionImpl::ListScopeNamespaces( + google::cloud::gkehub::v1::ListScopeNamespacesRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListScopeNamespaces(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::gkehub::v1::ListScopeNamespacesRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeNamespacesRequest const& + request) { + return stub->ListScopeNamespaces(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::gkehub::v1::ListScopeNamespacesResponse r) { + std::vector result( + r.scope_namespaces().size()); + auto& messages = *r.mutable_scope_namespaces(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +GkeHubConnectionImpl::GetScopeRBACRoleBinding( + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetScopeRBACRoleBinding(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& + request) { + return stub_->GetScopeRBACRoleBinding(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::CreateScopeRBACRoleBinding( + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->CreateScopeRBACRoleBinding(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::v1::RBACRoleBinding>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + return stub->AsyncCreateScopeRBACRoleBinding( + 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::gkehub::v1::RBACRoleBinding>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +GkeHubConnectionImpl::CreateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->CreateScopeRBACRoleBinding(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + return stub_->CreateScopeRBACRoleBinding(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::CreateScopeRBACRoleBinding( + 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 CreateScopeRBACRoleBinding", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::v1::RBACRoleBinding>( + 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::gkehub::v1::RBACRoleBinding>, + polling_policy(*current), __func__); +} + +future> +GkeHubConnectionImpl::UpdateScopeRBACRoleBinding( + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->UpdateScopeRBACRoleBinding(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::v1::RBACRoleBinding>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + return stub->AsyncUpdateScopeRBACRoleBinding( + 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::gkehub::v1::RBACRoleBinding>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +GkeHubConnectionImpl::UpdateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->UpdateScopeRBACRoleBinding(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + return stub_->UpdateScopeRBACRoleBinding(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::UpdateScopeRBACRoleBinding( + 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 UpdateScopeRBACRoleBinding", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::v1::RBACRoleBinding>( + 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::gkehub::v1::RBACRoleBinding>, + polling_policy(*current), __func__); +} + +future> +GkeHubConnectionImpl::DeleteScopeRBACRoleBinding( + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->DeleteScopeRBACRoleBinding(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::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::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + return stub->AsyncDeleteScopeRBACRoleBinding( + 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::gkehub::v1::OperationMetadata>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +GkeHubConnectionImpl::DeleteScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeleteScopeRBACRoleBinding(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + return stub_->DeleteScopeRBACRoleBinding(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::DeleteScopeRBACRoleBinding( + 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 DeleteScopeRBACRoleBinding", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::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::gkehub::v1::OperationMetadata>, + polling_policy(*current), __func__); +} + +StreamRange +GkeHubConnectionImpl::ListScopeRBACRoleBindings( + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = + idempotency_policy(*current)->ListScopeRBACRoleBindings(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::gkehub::v1::ListScopeRBACRoleBindingsRequest const& + r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + ListScopeRBACRoleBindingsRequest const& request) { + return stub->ListScopeRBACRoleBindings(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::gkehub::v1::ListScopeRBACRoleBindingsResponse r) { + std::vector result( + r.rbacrolebindings().size()); + auto& messages = *r.mutable_rbacrolebindings(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr GkeHubConnectionImpl::GetScope( + google::cloud::gkehub::v1::GetScopeRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetScope(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRequest const& request) { + return stub_->GetScope(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::CreateScope( + google::cloud::gkehub::v1::CreateScopeRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->CreateScope(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::v1::Scope>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) { + return stub->AsyncCreateScope(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::gkehub::v1::Scope>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr GkeHubConnectionImpl::CreateScope( + NoAwaitTag, google::cloud::gkehub::v1::CreateScopeRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->CreateScope(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) { + return stub_->CreateScope(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::CreateScope( + google::longrunning::Operation const& operation) { + auto current = google::cloud::internal::SaveCurrentOptions(); + if (!operation.metadata() + .Is()) { + return make_ready_future>( + internal::InvalidArgumentError( + "operation does not correspond to CreateScope", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::v1::Scope>( + 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::gkehub::v1::Scope>, + polling_policy(*current), __func__); +} + +future> +GkeHubConnectionImpl::UpdateScope( + google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->UpdateScope(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::v1::Scope>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + return stub->AsyncUpdateScope(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::gkehub::v1::Scope>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr GkeHubConnectionImpl::UpdateScope( + NoAwaitTag, google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->UpdateScope(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + return stub_->UpdateScope(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::UpdateScope( + google::longrunning::Operation const& operation) { + auto current = google::cloud::internal::SaveCurrentOptions(); + if (!operation.metadata() + .Is()) { + return make_ready_future>( + internal::InvalidArgumentError( + "operation does not correspond to UpdateScope", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::v1::Scope>( + 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::gkehub::v1::Scope>, + polling_policy(*current), __func__); +} + +future> +GkeHubConnectionImpl::DeleteScope( + google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->DeleteScope(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::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::gkehub::v1::DeleteScopeRequest const& request) { + return stub->AsyncDeleteScope(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::gkehub::v1::OperationMetadata>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr GkeHubConnectionImpl::DeleteScope( + NoAwaitTag, google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeleteScope(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + return stub_->DeleteScope(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::DeleteScope( + 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 DeleteScope", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::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::gkehub::v1::OperationMetadata>, + polling_policy(*current), __func__); +} + +StreamRange GkeHubConnectionImpl::ListScopes( + google::cloud::gkehub::v1::ListScopesRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListScopes(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::gkehub::v1::ListScopesRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub]( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopesRequest const& request) { + return stub->ListScopes(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::gkehub::v1::ListScopesResponse r) { + std::vector result(r.scopes().size()); + auto& messages = *r.mutable_scopes(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StreamRange +GkeHubConnectionImpl::ListPermittedScopes( + google::cloud::gkehub::v1::ListPermittedScopesRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListPermittedScopes(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::gkehub::v1::ListPermittedScopesRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListPermittedScopesRequest const& + request) { + return stub->ListPermittedScopes(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::gkehub::v1::ListPermittedScopesResponse r) { + std::vector result(r.scopes().size()); + auto& messages = *r.mutable_scopes(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +GkeHubConnectionImpl::GetMembershipBinding( + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetMembershipBinding(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipBindingRequest const& + request) { + return stub_->GetMembershipBinding(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::CreateMembershipBinding( + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->CreateMembershipBinding(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::v1::MembershipBinding>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& + request) { + return stub->AsyncCreateMembershipBinding(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::gkehub::v1::MembershipBinding>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +GkeHubConnectionImpl::CreateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->CreateMembershipBinding(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& + request) { + return stub_->CreateMembershipBinding(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::CreateMembershipBinding( + 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 CreateMembershipBinding", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::v1::MembershipBinding>( + 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::gkehub::v1::MembershipBinding>, + polling_policy(*current), __func__); +} + +future> +GkeHubConnectionImpl::UpdateMembershipBinding( + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->UpdateMembershipBinding(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::v1::MembershipBinding>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& + request) { + return stub->AsyncUpdateMembershipBinding(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::gkehub::v1::MembershipBinding>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +GkeHubConnectionImpl::UpdateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->UpdateMembershipBinding(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& + request) { + return stub_->UpdateMembershipBinding(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::UpdateMembershipBinding( + 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 UpdateMembershipBinding", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::v1::MembershipBinding>( + 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::gkehub::v1::MembershipBinding>, + polling_policy(*current), __func__); +} + +future> +GkeHubConnectionImpl::DeleteMembershipBinding( + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->DeleteMembershipBinding(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::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::gkehub::v1::DeleteMembershipBindingRequest const& + request) { + return stub->AsyncDeleteMembershipBinding(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::gkehub::v1::OperationMetadata>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +GkeHubConnectionImpl::DeleteMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeleteMembershipBinding(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& + request) { + return stub_->DeleteMembershipBinding(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::DeleteMembershipBinding( + 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 DeleteMembershipBinding", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::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::gkehub::v1::OperationMetadata>, + polling_policy(*current), __func__); +} + +StreamRange +GkeHubConnectionImpl::ListMembershipBindings( + google::cloud::gkehub::v1::ListMembershipBindingsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = + idempotency_policy(*current)->ListMembershipBindings(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::gkehub::v1::ListMembershipBindingsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub]( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipBindingsRequest const& + request) { + return stub->ListMembershipBindings(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::gkehub::v1::ListMembershipBindingsResponse r) { + std::vector result( + r.membership_bindings().size()); + auto& messages = *r.mutable_membership_bindings(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +GkeHubConnectionImpl::GetMembershipRBACRoleBinding( + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetMembershipRBACRoleBinding(request), + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) { + return stub_->GetMembershipRBACRoleBinding(context, options, request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::CreateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->CreateMembershipRBACRoleBinding( + request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::v1::RBACRoleBinding>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1:: + CreateMembershipRBACRoleBindingRequest const& request) { + return stub->AsyncCreateMembershipRBACRoleBinding( + 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::gkehub::v1::RBACRoleBinding>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +GkeHubConnectionImpl::CreateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->CreateMembershipRBACRoleBinding(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + CreateMembershipRBACRoleBindingRequest const& request) { + return stub_->CreateMembershipRBACRoleBinding(context, options, + request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::CreateMembershipRBACRoleBinding( + 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 CreateMembershipRBACRoleBinding", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::v1::RBACRoleBinding>( + 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::gkehub::v1::RBACRoleBinding>, + polling_policy(*current), __func__); +} + +future> +GkeHubConnectionImpl::UpdateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->UpdateMembershipRBACRoleBinding( + request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::v1::RBACRoleBinding>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1:: + UpdateMembershipRBACRoleBindingRequest const& request) { + return stub->AsyncUpdateMembershipRBACRoleBinding( + 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::gkehub::v1::RBACRoleBinding>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +GkeHubConnectionImpl::UpdateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->UpdateMembershipRBACRoleBinding(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + UpdateMembershipRBACRoleBindingRequest const& request) { + return stub_->UpdateMembershipRBACRoleBinding(context, options, + request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::UpdateMembershipRBACRoleBinding( + 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 UpdateMembershipRBACRoleBinding", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::v1::RBACRoleBinding>( + 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::gkehub::v1::RBACRoleBinding>, + polling_policy(*current), __func__); +} + +future> +GkeHubConnectionImpl::DeleteMembershipRBACRoleBinding( + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->DeleteMembershipRBACRoleBinding( + request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::gkehub::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::gkehub::v1:: + DeleteMembershipRBACRoleBindingRequest const& request) { + return stub->AsyncDeleteMembershipRBACRoleBinding( + 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::gkehub::v1::OperationMetadata>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +GkeHubConnectionImpl::DeleteMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeleteMembershipRBACRoleBinding(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + DeleteMembershipRBACRoleBindingRequest const& request) { + return stub_->DeleteMembershipRBACRoleBinding(context, options, + request); + }, + *current, request, __func__); +} + +future> +GkeHubConnectionImpl::DeleteMembershipRBACRoleBinding( + 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 DeleteMembershipRBACRoleBinding", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::gkehub::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::gkehub::v1::OperationMetadata>, + polling_policy(*current), __func__); +} + +StreamRange +GkeHubConnectionImpl::ListMembershipRBACRoleBindings( + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = + idempotency_policy(*current)->ListMembershipRBACRoleBindings(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::gkehub::v1:: + ListMembershipRBACRoleBindingsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + ListMembershipRBACRoleBindingsRequest const& request) { + return stub->ListMembershipRBACRoleBindings(context, options, + request); + }, + options, r, function_name); + }, + [](google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsResponse r) { + std::vector result( + r.rbacrolebindings().size()); + auto& messages = *r.mutable_rbacrolebindings(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> +GkeHubConnectionImpl::GenerateMembershipRBACRoleBindingYAML( + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GenerateMembershipRBACRoleBindingYAML( + request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) { + return stub_->GenerateMembershipRBACRoleBindingYAML(context, options, + request); + }, + *current, request, __func__); +} + GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END } // namespace gkehub_v1_internal } // namespace cloud diff --git a/google/cloud/gkehub/v1/internal/gke_hub_connection_impl.h b/google/cloud/gkehub/v1/internal/gke_hub_connection_impl.h index a72fa5c93dd9e..44f55815e461b 100644 --- a/google/cloud/gkehub/v1/internal/gke_hub_connection_impl.h +++ b/google/cloud/gkehub/v1/internal/gke_hub_connection_impl.h @@ -53,6 +53,9 @@ class GkeHubConnectionImpl : public gkehub_v1::GkeHubConnection { StreamRange ListMemberships( google::cloud::gkehub::v1::ListMembershipsRequest request) override; + StreamRange ListBoundMemberships( + google::cloud::gkehub::v1::ListBoundMembershipsRequest request) override; + StreamRange ListFeatures( google::cloud::gkehub::v1::ListFeaturesRequest request) override; @@ -133,6 +136,286 @@ class GkeHubConnectionImpl : public gkehub_v1::GkeHubConnection { google::cloud::gkehub::v1::GenerateConnectManifestRequest const& request) override; + future> CreateFleet( + google::cloud::gkehub::v1::CreateFleetRequest const& request) override; + + StatusOr CreateFleet( + NoAwaitTag, + google::cloud::gkehub::v1::CreateFleetRequest const& request) override; + + future> CreateFleet( + google::longrunning::Operation const& operation) override; + + StatusOr GetFleet( + google::cloud::gkehub::v1::GetFleetRequest const& request) override; + + future> UpdateFleet( + google::cloud::gkehub::v1::UpdateFleetRequest const& request) override; + + StatusOr UpdateFleet( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) override; + + future> UpdateFleet( + google::longrunning::Operation const& operation) override; + + future> DeleteFleet( + google::cloud::gkehub::v1::DeleteFleetRequest const& request) override; + + StatusOr DeleteFleet( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) override; + + future> DeleteFleet( + google::longrunning::Operation const& operation) override; + + StreamRange ListFleets( + google::cloud::gkehub::v1::ListFleetsRequest request) override; + + StatusOr GetScopeNamespace( + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) + override; + + future> CreateScopeNamespace( + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) + override; + + StatusOr CreateScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) + override; + + future> CreateScopeNamespace( + google::longrunning::Operation const& operation) override; + + future> UpdateScopeNamespace( + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) + override; + + StatusOr UpdateScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) + override; + + future> UpdateScopeNamespace( + google::longrunning::Operation const& operation) override; + + future> + DeleteScopeNamespace( + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) + override; + + StatusOr DeleteScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) + override; + + future> + DeleteScopeNamespace( + google::longrunning::Operation const& operation) override; + + StreamRange ListScopeNamespaces( + google::cloud::gkehub::v1::ListScopeNamespacesRequest request) override; + + StatusOr GetScopeRBACRoleBinding( + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request) + override; + + future> + CreateScopeRBACRoleBinding( + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) override; + + StatusOr CreateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) override; + + future> + CreateScopeRBACRoleBinding( + google::longrunning::Operation const& operation) override; + + future> + UpdateScopeRBACRoleBinding( + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) override; + + StatusOr UpdateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) override; + + future> + UpdateScopeRBACRoleBinding( + google::longrunning::Operation const& operation) override; + + future> + DeleteScopeRBACRoleBinding( + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) override; + + StatusOr DeleteScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) override; + + future> + DeleteScopeRBACRoleBinding( + google::longrunning::Operation const& operation) override; + + StreamRange + ListScopeRBACRoleBindings( + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest request) + override; + + StatusOr GetScope( + google::cloud::gkehub::v1::GetScopeRequest const& request) override; + + future> CreateScope( + google::cloud::gkehub::v1::CreateScopeRequest const& request) override; + + StatusOr CreateScope( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeRequest const& request) override; + + future> CreateScope( + google::longrunning::Operation const& operation) override; + + future> UpdateScope( + google::cloud::gkehub::v1::UpdateScopeRequest const& request) override; + + StatusOr UpdateScope( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) override; + + future> UpdateScope( + google::longrunning::Operation const& operation) override; + + future> DeleteScope( + google::cloud::gkehub::v1::DeleteScopeRequest const& request) override; + + StatusOr DeleteScope( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) override; + + future> DeleteScope( + google::longrunning::Operation const& operation) override; + + StreamRange ListScopes( + google::cloud::gkehub::v1::ListScopesRequest request) override; + + StreamRange ListPermittedScopes( + google::cloud::gkehub::v1::ListPermittedScopesRequest request) override; + + StatusOr GetMembershipBinding( + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request) + override; + + future> + CreateMembershipBinding( + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) + override; + + StatusOr CreateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) + override; + + future> + CreateMembershipBinding( + google::longrunning::Operation const& operation) override; + + future> + UpdateMembershipBinding( + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) + override; + + StatusOr UpdateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) + override; + + future> + UpdateMembershipBinding( + google::longrunning::Operation const& operation) override; + + future> + DeleteMembershipBinding( + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) + override; + + StatusOr DeleteMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) + override; + + future> + DeleteMembershipBinding( + google::longrunning::Operation const& operation) override; + + StreamRange + ListMembershipBindings( + google::cloud::gkehub::v1::ListMembershipBindingsRequest request) + override; + + StatusOr + GetMembershipRBACRoleBinding( + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) override; + + future> + CreateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr CreateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) override; + + future> + CreateMembershipRBACRoleBinding( + google::longrunning::Operation const& operation) override; + + future> + UpdateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr UpdateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) override; + + future> + UpdateMembershipRBACRoleBinding( + google::longrunning::Operation const& operation) override; + + future> + DeleteMembershipRBACRoleBinding( + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr DeleteMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) override; + + future> + DeleteMembershipRBACRoleBinding( + google::longrunning::Operation const& operation) override; + + StreamRange + ListMembershipRBACRoleBindings( + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest request) + override; + + StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> + GenerateMembershipRBACRoleBindingYAML( + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) override; + private: std::unique_ptr background_; std::shared_ptr stub_; diff --git a/google/cloud/gkehub/v1/internal/gke_hub_logging_decorator.cc b/google/cloud/gkehub/v1/internal/gke_hub_logging_decorator.cc index 4dc3d2a21047f..c6c21a346182d 100644 --- a/google/cloud/gkehub/v1/internal/gke_hub_logging_decorator.cc +++ b/google/cloud/gkehub/v1/internal/gke_hub_logging_decorator.cc @@ -50,6 +50,19 @@ GkeHubLogging::ListMemberships( context, options, request, __func__, tracing_options_); } +StatusOr +GkeHubLogging::ListBoundMemberships( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListBoundMembershipsRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListBoundMembershipsRequest const& + request) { + return child_->ListBoundMemberships(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + StatusOr GkeHubLogging::ListFeatures( grpc::ClientContext& context, Options const& options, @@ -277,6 +290,756 @@ GkeHubLogging::GenerateConnectManifest( context, options, request, __func__, tracing_options_); } +future> +GkeHubLogging::AsyncCreateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) { + return child_->AsyncCreateFleet(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr GkeHubLogging::CreateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) { + return child_->CreateFleet(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr GkeHubLogging::GetFleet( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetFleetRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetFleetRequest const& request) { + return child_->GetFleet(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncUpdateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + return child_->AsyncUpdateFleet(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr GkeHubLogging::UpdateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + return child_->UpdateFleet(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncDeleteFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + return child_->AsyncDeleteFleet(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr GkeHubLogging::DeleteFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + return child_->DeleteFleet(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +GkeHubLogging::ListFleets( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListFleetsRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListFleetsRequest const& request) { + return child_->ListFleets(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr GkeHubLogging::GetScopeNamespace( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) { + return child_->GetScopeNamespace(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncCreateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& + request) { + return child_->AsyncCreateScopeNamespace(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr GkeHubLogging::CreateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& + request) { + return child_->CreateScopeNamespace(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncUpdateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& + request) { + return child_->AsyncUpdateScopeNamespace(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr GkeHubLogging::UpdateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& + request) { + return child_->UpdateScopeNamespace(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncDeleteScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& + request) { + return child_->AsyncDeleteScopeNamespace(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr GkeHubLogging::DeleteScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& + request) { + return child_->DeleteScopeNamespace(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +GkeHubLogging::ListScopeNamespaces( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeNamespacesRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeNamespacesRequest const& + request) { + return child_->ListScopeNamespaces(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +GkeHubLogging::GetScopeRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& + request) { + return child_->GetScopeRBACRoleBinding(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncCreateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + return child_->AsyncCreateScopeRBACRoleBinding( + cq, std::move(context), std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +GkeHubLogging::CreateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + return child_->CreateScopeRBACRoleBinding(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncUpdateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + return child_->AsyncUpdateScopeRBACRoleBinding( + cq, std::move(context), std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +GkeHubLogging::UpdateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + return child_->UpdateScopeRBACRoleBinding(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncDeleteScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + return child_->AsyncDeleteScopeRBACRoleBinding( + cq, std::move(context), std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +GkeHubLogging::DeleteScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + return child_->DeleteScopeRBACRoleBinding(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +GkeHubLogging::ListScopeRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest const& + request) { + return child_->ListScopeRBACRoleBindings(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr GkeHubLogging::GetScope( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRequest const& request) { + return child_->GetScope(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncCreateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) { + return child_->AsyncCreateScope(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr GkeHubLogging::CreateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) { + return child_->CreateScope(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncUpdateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + return child_->AsyncUpdateScope(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr GkeHubLogging::UpdateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + return child_->UpdateScope(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncDeleteScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + return child_->AsyncDeleteScope(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr GkeHubLogging::DeleteScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + return child_->DeleteScope(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +GkeHubLogging::ListScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopesRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopesRequest const& request) { + return child_->ListScopes(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +GkeHubLogging::ListPermittedScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListPermittedScopesRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListPermittedScopesRequest const& + request) { + return child_->ListPermittedScopes(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +GkeHubLogging::GetMembershipBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipBindingRequest const& + request) { + return child_->GetMembershipBinding(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncCreateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& + request) { + return child_->AsyncCreateMembershipBinding( + cq, std::move(context), std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr GkeHubLogging::CreateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& + request) { + return child_->CreateMembershipBinding(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncUpdateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& + request) { + return child_->AsyncUpdateMembershipBinding( + cq, std::move(context), std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr GkeHubLogging::UpdateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& + request) { + return child_->UpdateMembershipBinding(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncDeleteMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& + request) { + return child_->AsyncDeleteMembershipBinding( + cq, std::move(context), std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr GkeHubLogging::DeleteMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& + request) { + return child_->DeleteMembershipBinding(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +GkeHubLogging::ListMembershipBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipBindingsRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipBindingsRequest const& + request) { + return child_->ListMembershipBindings(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +GkeHubLogging::GetMembershipRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) { + return child_->GetMembershipRBACRoleBinding(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncCreateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1:: + CreateMembershipRBACRoleBindingRequest const& request) { + return child_->AsyncCreateMembershipRBACRoleBinding( + cq, std::move(context), std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +GkeHubLogging::CreateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + CreateMembershipRBACRoleBindingRequest const& request) { + return child_->CreateMembershipRBACRoleBinding(context, options, + request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncUpdateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1:: + UpdateMembershipRBACRoleBindingRequest const& request) { + return child_->AsyncUpdateMembershipRBACRoleBinding( + cq, std::move(context), std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +GkeHubLogging::UpdateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + UpdateMembershipRBACRoleBindingRequest const& request) { + return child_->UpdateMembershipRBACRoleBinding(context, options, + request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +GkeHubLogging::AsyncDeleteMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1:: + DeleteMembershipRBACRoleBindingRequest const& request) { + return child_->AsyncDeleteMembershipRBACRoleBinding( + cq, std::move(context), std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +GkeHubLogging::DeleteMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + DeleteMembershipRBACRoleBindingRequest const& request) { + return child_->DeleteMembershipRBACRoleBinding(context, options, + request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +GkeHubLogging::ListMembershipRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + ListMembershipRBACRoleBindingsRequest const& request) { + return child_->ListMembershipRBACRoleBindings(context, options, + request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> +GkeHubLogging::GenerateMembershipRBACRoleBindingYAML( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) { + return child_->GenerateMembershipRBACRoleBindingYAML(context, options, + request); + }, + context, options, request, __func__, tracing_options_); +} + future> GkeHubLogging::AsyncGetOperation( google::cloud::CompletionQueue& cq, diff --git a/google/cloud/gkehub/v1/internal/gke_hub_logging_decorator.h b/google/cloud/gkehub/v1/internal/gke_hub_logging_decorator.h index 425d400afbb35..de59e119102f5 100644 --- a/google/cloud/gkehub/v1/internal/gke_hub_logging_decorator.h +++ b/google/cloud/gkehub/v1/internal/gke_hub_logging_decorator.h @@ -47,6 +47,12 @@ class GkeHubLogging : public GkeHubStub { google::cloud::gkehub::v1::ListMembershipsRequest const& request) override; + StatusOr + ListBoundMemberships( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListBoundMembershipsRequest const& request) + override; + StatusOr ListFeatures( grpc::ClientContext& context, Options const& options, google::cloud::gkehub::v1::ListFeaturesRequest const& request) override; @@ -131,6 +137,290 @@ class GkeHubLogging : public GkeHubStub { google::cloud::gkehub::v1::GenerateConnectManifestRequest const& request) override; + future> AsyncCreateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) override; + + StatusOr CreateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) override; + + StatusOr GetFleet( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetFleetRequest const& request) override; + + future> AsyncUpdateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) override; + + StatusOr UpdateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) override; + + future> AsyncDeleteFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) override; + + StatusOr DeleteFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) override; + + StatusOr ListFleets( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListFleetsRequest const& request) override; + + StatusOr GetScopeNamespace( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) + override; + + future> AsyncCreateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) + override; + + StatusOr CreateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) + override; + + future> AsyncUpdateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) + override; + + StatusOr UpdateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) + override; + + future> AsyncDeleteScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) + override; + + StatusOr DeleteScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) + override; + + StatusOr + ListScopeNamespaces( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeNamespacesRequest const& request) + override; + + StatusOr GetScopeRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request) + override; + + future> + AsyncCreateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) override; + + StatusOr CreateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) override; + + future> + AsyncUpdateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) override; + + StatusOr UpdateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) override; + + future> + AsyncDeleteScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) override; + + StatusOr DeleteScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) override; + + StatusOr + ListScopeRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest const& + request) override; + + StatusOr GetScope( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRequest const& request) override; + + future> AsyncCreateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) override; + + StatusOr CreateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) override; + + future> AsyncUpdateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) override; + + StatusOr UpdateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) override; + + future> AsyncDeleteScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) override; + + StatusOr DeleteScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) override; + + StatusOr ListScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopesRequest const& request) override; + + StatusOr + ListPermittedScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListPermittedScopesRequest const& request) + override; + + StatusOr GetMembershipBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request) + override; + + future> AsyncCreateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) + override; + + StatusOr CreateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) + override; + + future> AsyncUpdateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) + override; + + StatusOr UpdateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) + override; + + future> AsyncDeleteMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) + override; + + StatusOr DeleteMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) + override; + + StatusOr + ListMembershipBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipBindingsRequest const& request) + override; + + StatusOr + GetMembershipRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) override; + + future> + AsyncCreateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr CreateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) override; + + future> + AsyncUpdateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr UpdateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) override; + + future> + AsyncDeleteMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr DeleteMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr + ListMembershipRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest const& + request) override; + + StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> + GenerateMembershipRBACRoleBindingYAML( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) override; + future> AsyncGetOperation( google::cloud::CompletionQueue& cq, std::shared_ptr context, diff --git a/google/cloud/gkehub/v1/internal/gke_hub_metadata_decorator.cc b/google/cloud/gkehub/v1/internal/gke_hub_metadata_decorator.cc index 4cce0bf630499..cac607d90a1f2 100644 --- a/google/cloud/gkehub/v1/internal/gke_hub_metadata_decorator.cc +++ b/google/cloud/gkehub/v1/internal/gke_hub_metadata_decorator.cc @@ -57,6 +57,16 @@ GkeHubMetadata::ListMemberships( return child_->ListMemberships(context, options, request); } +StatusOr +GkeHubMetadata::ListBoundMemberships( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListBoundMembershipsRequest const& request) { + SetMetadata( + context, options, + absl::StrCat("scope_name=", internal::UrlEncode(request.scope_name()))); + return child_->ListBoundMemberships(context, options, request); +} + StatusOr GkeHubMetadata::ListFeatures( grpc::ClientContext& context, Options const& options, @@ -211,6 +221,537 @@ GkeHubMetadata::GenerateConnectManifest( return child_->GenerateConnectManifest(context, options, request); } +future> +GkeHubMetadata::AsyncCreateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->AsyncCreateFleet(cq, std::move(context), std::move(options), + request); +} + +StatusOr GkeHubMetadata::CreateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->CreateFleet(context, options, request); +} + +StatusOr GkeHubMetadata::GetFleet( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetFleetRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetFleet(context, options, request); +} + +future> +GkeHubMetadata::AsyncUpdateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + SetMetadata( + *context, *options, + absl::StrCat("fleet.name=", internal::UrlEncode(request.fleet().name()))); + return child_->AsyncUpdateFleet(cq, std::move(context), std::move(options), + request); +} + +StatusOr GkeHubMetadata::UpdateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + SetMetadata( + context, options, + absl::StrCat("fleet.name=", internal::UrlEncode(request.fleet().name()))); + return child_->UpdateFleet(context, options, request); +} + +future> +GkeHubMetadata::AsyncDeleteFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncDeleteFleet(cq, std::move(context), std::move(options), + request); +} + +StatusOr GkeHubMetadata::DeleteFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->DeleteFleet(context, options, request); +} + +StatusOr +GkeHubMetadata::ListFleets( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListFleetsRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListFleets(context, options, request); +} + +StatusOr +GkeHubMetadata::GetScopeNamespace( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetScopeNamespace(context, options, request); +} + +future> +GkeHubMetadata::AsyncCreateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->AsyncCreateScopeNamespace(cq, std::move(context), + std::move(options), request); +} + +StatusOr GkeHubMetadata::CreateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->CreateScopeNamespace(context, options, request); +} + +future> +GkeHubMetadata::AsyncUpdateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) { + SetMetadata( + *context, *options, + absl::StrCat("scope_namespace.name=", + internal::UrlEncode(request.scope_namespace().name()))); + return child_->AsyncUpdateScopeNamespace(cq, std::move(context), + std::move(options), request); +} + +StatusOr GkeHubMetadata::UpdateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) { + SetMetadata( + context, options, + absl::StrCat("scope_namespace.name=", + internal::UrlEncode(request.scope_namespace().name()))); + return child_->UpdateScopeNamespace(context, options, request); +} + +future> +GkeHubMetadata::AsyncDeleteScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncDeleteScopeNamespace(cq, std::move(context), + std::move(options), request); +} + +StatusOr GkeHubMetadata::DeleteScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->DeleteScopeNamespace(context, options, request); +} + +StatusOr +GkeHubMetadata::ListScopeNamespaces( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeNamespacesRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListScopeNamespaces(context, options, request); +} + +StatusOr +GkeHubMetadata::GetScopeRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetScopeRBACRoleBinding(context, options, request); +} + +future> +GkeHubMetadata::AsyncCreateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + SetMetadata(*context, *options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->AsyncCreateScopeRBACRoleBinding(cq, std::move(context), + std::move(options), request); +} + +StatusOr +GkeHubMetadata::CreateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->CreateScopeRBACRoleBinding(context, options, request); +} + +future> +GkeHubMetadata::AsyncUpdateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + SetMetadata( + *context, *options, + absl::StrCat("rbacrolebinding.name=", + internal::UrlEncode(request.rbacrolebinding().name()))); + return child_->AsyncUpdateScopeRBACRoleBinding(cq, std::move(context), + std::move(options), request); +} + +StatusOr +GkeHubMetadata::UpdateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + SetMetadata( + context, options, + absl::StrCat("rbacrolebinding.name=", + internal::UrlEncode(request.rbacrolebinding().name()))); + return child_->UpdateScopeRBACRoleBinding(context, options, request); +} + +future> +GkeHubMetadata::AsyncDeleteScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncDeleteScopeRBACRoleBinding(cq, std::move(context), + std::move(options), request); +} + +StatusOr +GkeHubMetadata::DeleteScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->DeleteScopeRBACRoleBinding(context, options, request); +} + +StatusOr +GkeHubMetadata::ListScopeRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListScopeRBACRoleBindings(context, options, request); +} + +StatusOr GkeHubMetadata::GetScope( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetScope(context, options, request); +} + +future> +GkeHubMetadata::AsyncCreateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->AsyncCreateScope(cq, std::move(context), std::move(options), + request); +} + +StatusOr GkeHubMetadata::CreateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->CreateScope(context, options, request); +} + +future> +GkeHubMetadata::AsyncUpdateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + SetMetadata( + *context, *options, + absl::StrCat("scope.name=", internal::UrlEncode(request.scope().name()))); + return child_->AsyncUpdateScope(cq, std::move(context), std::move(options), + request); +} + +StatusOr GkeHubMetadata::UpdateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + SetMetadata( + context, options, + absl::StrCat("scope.name=", internal::UrlEncode(request.scope().name()))); + return child_->UpdateScope(context, options, request); +} + +future> +GkeHubMetadata::AsyncDeleteScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncDeleteScope(cq, std::move(context), std::move(options), + request); +} + +StatusOr GkeHubMetadata::DeleteScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->DeleteScope(context, options, request); +} + +StatusOr +GkeHubMetadata::ListScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopesRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListScopes(context, options, request); +} + +StatusOr +GkeHubMetadata::ListPermittedScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListPermittedScopesRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListPermittedScopes(context, options, request); +} + +StatusOr +GkeHubMetadata::GetMembershipBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetMembershipBinding(context, options, request); +} + +future> +GkeHubMetadata::AsyncCreateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->AsyncCreateMembershipBinding(cq, std::move(context), + std::move(options), request); +} + +StatusOr +GkeHubMetadata::CreateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->CreateMembershipBinding(context, options, request); +} + +future> +GkeHubMetadata::AsyncUpdateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) { + SetMetadata( + *context, *options, + absl::StrCat("membership_binding.name=", + internal::UrlEncode(request.membership_binding().name()))); + return child_->AsyncUpdateMembershipBinding(cq, std::move(context), + std::move(options), request); +} + +StatusOr +GkeHubMetadata::UpdateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) { + SetMetadata( + context, options, + absl::StrCat("membership_binding.name=", + internal::UrlEncode(request.membership_binding().name()))); + return child_->UpdateMembershipBinding(context, options, request); +} + +future> +GkeHubMetadata::AsyncDeleteMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncDeleteMembershipBinding(cq, std::move(context), + std::move(options), request); +} + +StatusOr +GkeHubMetadata::DeleteMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->DeleteMembershipBinding(context, options, request); +} + +StatusOr +GkeHubMetadata::ListMembershipBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipBindingsRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListMembershipBindings(context, options, request); +} + +StatusOr +GkeHubMetadata::GetMembershipRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetMembershipRBACRoleBinding(context, options, request); +} + +future> +GkeHubMetadata::AsyncCreateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) { + SetMetadata(*context, *options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->AsyncCreateMembershipRBACRoleBinding( + cq, std::move(context), std::move(options), request); +} + +StatusOr +GkeHubMetadata::CreateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->CreateMembershipRBACRoleBinding(context, options, request); +} + +future> +GkeHubMetadata::AsyncUpdateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) { + SetMetadata( + *context, *options, + absl::StrCat("rbacrolebinding.name=", + internal::UrlEncode(request.rbacrolebinding().name()))); + return child_->AsyncUpdateMembershipRBACRoleBinding( + cq, std::move(context), std::move(options), request); +} + +StatusOr +GkeHubMetadata::UpdateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) { + SetMetadata( + context, options, + absl::StrCat("rbacrolebinding.name=", + internal::UrlEncode(request.rbacrolebinding().name()))); + return child_->UpdateMembershipRBACRoleBinding(context, options, request); +} + +future> +GkeHubMetadata::AsyncDeleteMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncDeleteMembershipRBACRoleBinding( + cq, std::move(context), std::move(options), request); +} + +StatusOr +GkeHubMetadata::DeleteMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->DeleteMembershipRBACRoleBinding(context, options, request); +} + +StatusOr +GkeHubMetadata::ListMembershipRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListMembershipRBACRoleBindings(context, options, request); +} + +StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> +GkeHubMetadata::GenerateMembershipRBACRoleBindingYAML( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->GenerateMembershipRBACRoleBindingYAML(context, options, + request); +} + future> GkeHubMetadata::AsyncGetOperation( google::cloud::CompletionQueue& cq, diff --git a/google/cloud/gkehub/v1/internal/gke_hub_metadata_decorator.h b/google/cloud/gkehub/v1/internal/gke_hub_metadata_decorator.h index 60cd2b2678f99..73b51c4777215 100644 --- a/google/cloud/gkehub/v1/internal/gke_hub_metadata_decorator.h +++ b/google/cloud/gkehub/v1/internal/gke_hub_metadata_decorator.h @@ -47,6 +47,12 @@ class GkeHubMetadata : public GkeHubStub { google::cloud::gkehub::v1::ListMembershipsRequest const& request) override; + StatusOr + ListBoundMemberships( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListBoundMembershipsRequest const& request) + override; + StatusOr ListFeatures( grpc::ClientContext& context, Options const& options, google::cloud::gkehub::v1::ListFeaturesRequest const& request) override; @@ -131,6 +137,290 @@ class GkeHubMetadata : public GkeHubStub { google::cloud::gkehub::v1::GenerateConnectManifestRequest const& request) override; + future> AsyncCreateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) override; + + StatusOr CreateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) override; + + StatusOr GetFleet( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetFleetRequest const& request) override; + + future> AsyncUpdateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) override; + + StatusOr UpdateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) override; + + future> AsyncDeleteFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) override; + + StatusOr DeleteFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) override; + + StatusOr ListFleets( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListFleetsRequest const& request) override; + + StatusOr GetScopeNamespace( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) + override; + + future> AsyncCreateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) + override; + + StatusOr CreateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) + override; + + future> AsyncUpdateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) + override; + + StatusOr UpdateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) + override; + + future> AsyncDeleteScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) + override; + + StatusOr DeleteScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) + override; + + StatusOr + ListScopeNamespaces( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeNamespacesRequest const& request) + override; + + StatusOr GetScopeRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request) + override; + + future> + AsyncCreateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) override; + + StatusOr CreateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) override; + + future> + AsyncUpdateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) override; + + StatusOr UpdateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) override; + + future> + AsyncDeleteScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) override; + + StatusOr DeleteScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) override; + + StatusOr + ListScopeRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest const& + request) override; + + StatusOr GetScope( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRequest const& request) override; + + future> AsyncCreateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) override; + + StatusOr CreateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) override; + + future> AsyncUpdateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) override; + + StatusOr UpdateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) override; + + future> AsyncDeleteScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) override; + + StatusOr DeleteScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) override; + + StatusOr ListScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopesRequest const& request) override; + + StatusOr + ListPermittedScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListPermittedScopesRequest const& request) + override; + + StatusOr GetMembershipBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request) + override; + + future> AsyncCreateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) + override; + + StatusOr CreateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) + override; + + future> AsyncUpdateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) + override; + + StatusOr UpdateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) + override; + + future> AsyncDeleteMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) + override; + + StatusOr DeleteMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) + override; + + StatusOr + ListMembershipBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipBindingsRequest const& request) + override; + + StatusOr + GetMembershipRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) override; + + future> + AsyncCreateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr CreateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) override; + + future> + AsyncUpdateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr UpdateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) override; + + future> + AsyncDeleteMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr DeleteMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr + ListMembershipRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest const& + request) override; + + StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> + GenerateMembershipRBACRoleBindingYAML( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) override; + future> AsyncGetOperation( google::cloud::CompletionQueue& cq, std::shared_ptr context, diff --git a/google/cloud/gkehub/v1/internal/gke_hub_stub.cc b/google/cloud/gkehub/v1/internal/gke_hub_stub.cc index 51656fa46cf37..2c03cddf5d8eb 100644 --- a/google/cloud/gkehub/v1/internal/gke_hub_stub.cc +++ b/google/cloud/gkehub/v1/internal/gke_hub_stub.cc @@ -46,6 +46,18 @@ DefaultGkeHubStub::ListMemberships( return response; } +StatusOr +DefaultGkeHubStub::ListBoundMemberships( + grpc::ClientContext& context, Options const&, + google::cloud::gkehub::v1::ListBoundMembershipsRequest const& request) { + google::cloud::gkehub::v1::ListBoundMembershipsResponse response; + auto status = grpc_stub_->ListBoundMemberships(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + StatusOr DefaultGkeHubStub::ListFeatures( grpc::ClientContext& context, Options const&, @@ -268,6 +280,757 @@ DefaultGkeHubStub::GenerateConnectManifest( return response; } +future> +DefaultGkeHubStub::AsyncCreateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::CreateFleetRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::CreateFleetRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::gkehub::v1::CreateFleetRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncCreateFleet(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr DefaultGkeHubStub::CreateFleet( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->CreateFleet(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr DefaultGkeHubStub::GetFleet( + grpc::ClientContext& context, Options const&, + google::cloud::gkehub::v1::GetFleetRequest const& request) { + google::cloud::gkehub::v1::Fleet response; + auto status = grpc_stub_->GetFleet(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncUpdateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::UpdateFleetRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::gkehub::v1::UpdateFleetRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncUpdateFleet(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr DefaultGkeHubStub::UpdateFleet( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->UpdateFleet(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncDeleteFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::DeleteFleetRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::gkehub::v1::DeleteFleetRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncDeleteFleet(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr DefaultGkeHubStub::DeleteFleet( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->DeleteFleet(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultGkeHubStub::ListFleets( + grpc::ClientContext& context, Options const&, + google::cloud::gkehub::v1::ListFleetsRequest const& request) { + google::cloud::gkehub::v1::ListFleetsResponse response; + auto status = grpc_stub_->ListFleets(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultGkeHubStub::GetScopeNamespace( + grpc::ClientContext& context, Options const&, + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) { + google::cloud::gkehub::v1::Namespace response; + auto status = grpc_stub_->GetScopeNamespace(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncCreateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::CreateScopeNamespaceRequest, + google::longrunning::Operation>( + cq, + [this]( + grpc::ClientContext* context, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncCreateScopeNamespace(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultGkeHubStub::CreateScopeNamespace( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->CreateScopeNamespace(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncUpdateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest, + google::longrunning::Operation>( + cq, + [this]( + grpc::ClientContext* context, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncUpdateScopeNamespace(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultGkeHubStub::UpdateScopeNamespace( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->UpdateScopeNamespace(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncDeleteScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest, + google::longrunning::Operation>( + cq, + [this]( + grpc::ClientContext* context, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncDeleteScopeNamespace(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultGkeHubStub::DeleteScopeNamespace( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->DeleteScopeNamespace(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultGkeHubStub::ListScopeNamespaces( + grpc::ClientContext& context, Options const&, + google::cloud::gkehub::v1::ListScopeNamespacesRequest const& request) { + google::cloud::gkehub::v1::ListScopeNamespacesResponse response; + auto status = grpc_stub_->ListScopeNamespaces(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultGkeHubStub::GetScopeRBACRoleBinding( + grpc::ClientContext& context, Options const&, + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request) { + google::cloud::gkehub::v1::RBACRoleBinding response; + auto status = + grpc_stub_->GetScopeRBACRoleBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncCreateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncCreateScopeRBACRoleBinding(context, request, + cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultGkeHubStub::CreateScopeRBACRoleBinding( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + google::longrunning::Operation response; + auto status = + grpc_stub_->CreateScopeRBACRoleBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncUpdateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncUpdateScopeRBACRoleBinding(context, request, + cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultGkeHubStub::UpdateScopeRBACRoleBinding( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + google::longrunning::Operation response; + auto status = + grpc_stub_->UpdateScopeRBACRoleBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncDeleteScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncDeleteScopeRBACRoleBinding(context, request, + cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultGkeHubStub::DeleteScopeRBACRoleBinding( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + google::longrunning::Operation response; + auto status = + grpc_stub_->DeleteScopeRBACRoleBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultGkeHubStub::ListScopeRBACRoleBindings( + grpc::ClientContext& context, Options const&, + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest const& + request) { + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsResponse response; + auto status = + grpc_stub_->ListScopeRBACRoleBindings(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr DefaultGkeHubStub::GetScope( + grpc::ClientContext& context, Options const&, + google::cloud::gkehub::v1::GetScopeRequest const& request) { + google::cloud::gkehub::v1::Scope response; + auto status = grpc_stub_->GetScope(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncCreateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::CreateScopeRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::CreateScopeRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::gkehub::v1::CreateScopeRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncCreateScope(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr DefaultGkeHubStub::CreateScope( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->CreateScope(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncUpdateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::UpdateScopeRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::gkehub::v1::UpdateScopeRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncUpdateScope(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr DefaultGkeHubStub::UpdateScope( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->UpdateScope(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncDeleteScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::DeleteScopeRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::gkehub::v1::DeleteScopeRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncDeleteScope(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr DefaultGkeHubStub::DeleteScope( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->DeleteScope(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultGkeHubStub::ListScopes( + grpc::ClientContext& context, Options const&, + google::cloud::gkehub::v1::ListScopesRequest const& request) { + google::cloud::gkehub::v1::ListScopesResponse response; + auto status = grpc_stub_->ListScopes(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultGkeHubStub::ListPermittedScopes( + grpc::ClientContext& context, Options const&, + google::cloud::gkehub::v1::ListPermittedScopesRequest const& request) { + google::cloud::gkehub::v1::ListPermittedScopesResponse response; + auto status = grpc_stub_->ListPermittedScopes(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultGkeHubStub::GetMembershipBinding( + grpc::ClientContext& context, Options const&, + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request) { + google::cloud::gkehub::v1::MembershipBinding response; + auto status = grpc_stub_->GetMembershipBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncCreateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::CreateMembershipBindingRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& + request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncCreateMembershipBinding(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultGkeHubStub::CreateMembershipBinding( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) { + google::longrunning::Operation response; + auto status = + grpc_stub_->CreateMembershipBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncUpdateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::UpdateMembershipBindingRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& + request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncUpdateMembershipBinding(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultGkeHubStub::UpdateMembershipBinding( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) { + google::longrunning::Operation response; + auto status = + grpc_stub_->UpdateMembershipBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncDeleteMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::DeleteMembershipBindingRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& + request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncDeleteMembershipBinding(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultGkeHubStub::DeleteMembershipBinding( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) { + google::longrunning::Operation response; + auto status = + grpc_stub_->DeleteMembershipBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultGkeHubStub::ListMembershipBindings( + grpc::ClientContext& context, Options const&, + google::cloud::gkehub::v1::ListMembershipBindingsRequest const& request) { + google::cloud::gkehub::v1::ListMembershipBindingsResponse response; + auto status = + grpc_stub_->ListMembershipBindings(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultGkeHubStub::GetMembershipRBACRoleBinding( + grpc::ClientContext& context, Options const&, + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) { + google::cloud::gkehub::v1::RBACRoleBinding response; + auto status = + grpc_stub_->GetMembershipRBACRoleBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncCreateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::gkehub::v1:: + CreateMembershipRBACRoleBindingRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncCreateMembershipRBACRoleBinding(context, + request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultGkeHubStub::CreateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) { + google::longrunning::Operation response; + auto status = + grpc_stub_->CreateMembershipRBACRoleBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncUpdateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::gkehub::v1:: + UpdateMembershipRBACRoleBindingRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncUpdateMembershipRBACRoleBinding(context, + request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultGkeHubStub::UpdateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) { + google::longrunning::Operation response; + auto status = + grpc_stub_->UpdateMembershipRBACRoleBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultGkeHubStub::AsyncDeleteMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::gkehub::v1:: + DeleteMembershipRBACRoleBindingRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncDeleteMembershipRBACRoleBinding(context, + request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultGkeHubStub::DeleteMembershipRBACRoleBinding( + grpc::ClientContext& context, Options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) { + google::longrunning::Operation response; + auto status = + grpc_stub_->DeleteMembershipRBACRoleBinding(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultGkeHubStub::ListMembershipRBACRoleBindings( + grpc::ClientContext& context, Options const&, + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest const& + request) { + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsResponse response; + auto status = + grpc_stub_->ListMembershipRBACRoleBindings(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> +DefaultGkeHubStub::GenerateMembershipRBACRoleBindingYAML( + grpc::ClientContext& context, Options const&, + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) { + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse + response; + auto status = grpc_stub_->GenerateMembershipRBACRoleBindingYAML( + &context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + future> DefaultGkeHubStub::AsyncGetOperation( google::cloud::CompletionQueue& cq, diff --git a/google/cloud/gkehub/v1/internal/gke_hub_stub.h b/google/cloud/gkehub/v1/internal/gke_hub_stub.h index a2d19847d06e9..c7fe529ca818f 100644 --- a/google/cloud/gkehub/v1/internal/gke_hub_stub.h +++ b/google/cloud/gkehub/v1/internal/gke_hub_stub.h @@ -46,6 +46,12 @@ class GkeHubStub { grpc::ClientContext& context, Options const& options, google::cloud::gkehub::v1::ListMembershipsRequest const& request) = 0; + virtual StatusOr + ListBoundMemberships( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListBoundMembershipsRequest const& + request) = 0; + virtual StatusOr ListFeatures( grpc::ClientContext& context, Options const& options, @@ -128,6 +134,299 @@ class GkeHubStub { google::cloud::gkehub::v1::GenerateConnectManifestRequest const& request) = 0; + virtual future> AsyncCreateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) = 0; + + virtual StatusOr CreateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) = 0; + + virtual StatusOr GetFleet( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetFleetRequest const& request) = 0; + + virtual future> AsyncUpdateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) = 0; + + virtual StatusOr UpdateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) = 0; + + virtual future> AsyncDeleteFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) = 0; + + virtual StatusOr DeleteFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) = 0; + + virtual StatusOr ListFleets( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListFleetsRequest const& request) = 0; + + virtual StatusOr GetScopeNamespace( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) = 0; + + virtual future> + AsyncCreateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& + request) = 0; + + virtual StatusOr CreateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& + request) = 0; + + virtual future> + AsyncUpdateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& + request) = 0; + + virtual StatusOr UpdateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& + request) = 0; + + virtual future> + AsyncDeleteScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& + request) = 0; + + virtual StatusOr DeleteScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& + request) = 0; + + virtual StatusOr + ListScopeNamespaces( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeNamespacesRequest const& request) = 0; + + virtual StatusOr + GetScopeRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& + request) = 0; + + virtual future> + AsyncCreateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) = 0; + + virtual StatusOr CreateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) = 0; + + virtual future> + AsyncUpdateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) = 0; + + virtual StatusOr UpdateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) = 0; + + virtual future> + AsyncDeleteScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) = 0; + + virtual StatusOr DeleteScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) = 0; + + virtual StatusOr + ListScopeRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest const& + request) = 0; + + virtual StatusOr GetScope( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRequest const& request) = 0; + + virtual future> AsyncCreateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) = 0; + + virtual StatusOr CreateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) = 0; + + virtual future> AsyncUpdateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) = 0; + + virtual StatusOr UpdateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) = 0; + + virtual future> AsyncDeleteScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) = 0; + + virtual StatusOr DeleteScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) = 0; + + virtual StatusOr ListScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopesRequest const& request) = 0; + + virtual StatusOr + ListPermittedScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListPermittedScopesRequest const& request) = 0; + + virtual StatusOr + GetMembershipBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipBindingRequest const& + request) = 0; + + virtual future> + AsyncCreateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& + request) = 0; + + virtual StatusOr CreateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& + request) = 0; + + virtual future> + AsyncUpdateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& + request) = 0; + + virtual StatusOr UpdateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& + request) = 0; + + virtual future> + AsyncDeleteMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& + request) = 0; + + virtual StatusOr DeleteMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& + request) = 0; + + virtual StatusOr + ListMembershipBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipBindingsRequest const& + request) = 0; + + virtual StatusOr + GetMembershipRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) = 0; + + virtual future> + AsyncCreateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) = 0; + + virtual StatusOr + CreateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) = 0; + + virtual future> + AsyncUpdateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) = 0; + + virtual StatusOr + UpdateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) = 0; + + virtual future> + AsyncDeleteMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) = 0; + + virtual StatusOr + DeleteMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) = 0; + + virtual StatusOr< + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsResponse> + ListMembershipRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest const& + request) = 0; + + virtual StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> + GenerateMembershipRBACRoleBindingYAML( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) = 0; + virtual future> AsyncGetOperation( google::cloud::CompletionQueue& cq, std::shared_ptr context, @@ -156,6 +455,12 @@ class DefaultGkeHubStub : public GkeHubStub { google::cloud::gkehub::v1::ListMembershipsRequest const& request) override; + StatusOr + ListBoundMemberships( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListBoundMembershipsRequest const& request) + override; + StatusOr ListFeatures( grpc::ClientContext& context, Options const& options, google::cloud::gkehub::v1::ListFeaturesRequest const& request) override; @@ -240,6 +545,290 @@ class DefaultGkeHubStub : public GkeHubStub { google::cloud::gkehub::v1::GenerateConnectManifestRequest const& request) override; + future> AsyncCreateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) override; + + StatusOr CreateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) override; + + StatusOr GetFleet( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetFleetRequest const& request) override; + + future> AsyncUpdateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) override; + + StatusOr UpdateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) override; + + future> AsyncDeleteFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) override; + + StatusOr DeleteFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) override; + + StatusOr ListFleets( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListFleetsRequest const& request) override; + + StatusOr GetScopeNamespace( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) + override; + + future> AsyncCreateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) + override; + + StatusOr CreateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) + override; + + future> AsyncUpdateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) + override; + + StatusOr UpdateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) + override; + + future> AsyncDeleteScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) + override; + + StatusOr DeleteScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) + override; + + StatusOr + ListScopeNamespaces( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeNamespacesRequest const& request) + override; + + StatusOr GetScopeRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request) + override; + + future> + AsyncCreateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) override; + + StatusOr CreateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) override; + + future> + AsyncUpdateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) override; + + StatusOr UpdateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) override; + + future> + AsyncDeleteScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) override; + + StatusOr DeleteScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) override; + + StatusOr + ListScopeRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest const& + request) override; + + StatusOr GetScope( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRequest const& request) override; + + future> AsyncCreateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) override; + + StatusOr CreateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) override; + + future> AsyncUpdateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) override; + + StatusOr UpdateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) override; + + future> AsyncDeleteScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) override; + + StatusOr DeleteScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) override; + + StatusOr ListScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopesRequest const& request) override; + + StatusOr + ListPermittedScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListPermittedScopesRequest const& request) + override; + + StatusOr GetMembershipBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request) + override; + + future> AsyncCreateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) + override; + + StatusOr CreateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) + override; + + future> AsyncUpdateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) + override; + + StatusOr UpdateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) + override; + + future> AsyncDeleteMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) + override; + + StatusOr DeleteMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) + override; + + StatusOr + ListMembershipBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipBindingsRequest const& request) + override; + + StatusOr + GetMembershipRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) override; + + future> + AsyncCreateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr CreateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) override; + + future> + AsyncUpdateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr UpdateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) override; + + future> + AsyncDeleteMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr DeleteMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr + ListMembershipRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest const& + request) override; + + StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> + GenerateMembershipRBACRoleBindingYAML( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) override; + future> AsyncGetOperation( google::cloud::CompletionQueue& cq, std::shared_ptr context, diff --git a/google/cloud/gkehub/v1/internal/gke_hub_tracing_connection.cc b/google/cloud/gkehub/v1/internal/gke_hub_tracing_connection.cc index 2d55094264f77..05670eecd8e90 100644 --- a/google/cloud/gkehub/v1/internal/gke_hub_tracing_connection.cc +++ b/google/cloud/gkehub/v1/internal/gke_hub_tracing_connection.cc @@ -42,6 +42,17 @@ GkeHubTracingConnection::ListMemberships( std::move(span), std::move(sr)); } +StreamRange +GkeHubTracingConnection::ListBoundMemberships( + google::cloud::gkehub::v1::ListBoundMembershipsRequest request) { + auto span = + internal::MakeSpan("gkehub_v1::GkeHubConnection::ListBoundMemberships"); + internal::OTelScope scope(span); + auto sr = child_->ListBoundMemberships(std::move(request)); + return internal::MakeTracedStreamRange( + std::move(span), std::move(sr)); +} + StreamRange GkeHubTracingConnection::ListFeatures( google::cloud::gkehub::v1::ListFeaturesRequest request) { @@ -239,6 +250,670 @@ GkeHubTracingConnection::GenerateConnectManifest( return internal::EndSpan(*span, child_->GenerateConnectManifest(request)); } +future> +GkeHubTracingConnection::CreateFleet( + google::cloud::gkehub::v1::CreateFleetRequest const& request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::CreateFleet"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->CreateFleet(request)); +} + +StatusOr GkeHubTracingConnection::CreateFleet( + NoAwaitTag, google::cloud::gkehub::v1::CreateFleetRequest const& request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::CreateFleet"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, child_->CreateFleet(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::CreateFleet( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::CreateFleet"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->CreateFleet(operation)); +} + +StatusOr GkeHubTracingConnection::GetFleet( + google::cloud::gkehub::v1::GetFleetRequest const& request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::GetFleet"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetFleet(request)); +} + +future> +GkeHubTracingConnection::UpdateFleet( + google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::UpdateFleet"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->UpdateFleet(request)); +} + +StatusOr GkeHubTracingConnection::UpdateFleet( + NoAwaitTag, google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::UpdateFleet"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, child_->UpdateFleet(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::UpdateFleet( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::UpdateFleet"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->UpdateFleet(operation)); +} + +future> +GkeHubTracingConnection::DeleteFleet( + google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::DeleteFleet"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->DeleteFleet(request)); +} + +StatusOr GkeHubTracingConnection::DeleteFleet( + NoAwaitTag, google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::DeleteFleet"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, child_->DeleteFleet(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::DeleteFleet( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::DeleteFleet"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->DeleteFleet(operation)); +} + +StreamRange +GkeHubTracingConnection::ListFleets( + google::cloud::gkehub::v1::ListFleetsRequest request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::ListFleets"); + internal::OTelScope scope(span); + auto sr = child_->ListFleets(std::move(request)); + return internal::MakeTracedStreamRange( + std::move(span), std::move(sr)); +} + +StatusOr +GkeHubTracingConnection::GetScopeNamespace( + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) { + auto span = + internal::MakeSpan("gkehub_v1::GkeHubConnection::GetScopeNamespace"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetScopeNamespace(request)); +} + +future> +GkeHubTracingConnection::CreateScopeNamespace( + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) { + auto span = + internal::MakeSpan("gkehub_v1::GkeHubConnection::CreateScopeNamespace"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->CreateScopeNamespace(request)); +} + +StatusOr +GkeHubTracingConnection::CreateScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) { + auto span = + internal::MakeSpan("gkehub_v1::GkeHubConnection::CreateScopeNamespace"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, + child_->CreateScopeNamespace(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::CreateScopeNamespace( + google::longrunning::Operation const& operation) { + auto span = + internal::MakeSpan("gkehub_v1::GkeHubConnection::CreateScopeNamespace"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->CreateScopeNamespace(operation)); +} + +future> +GkeHubTracingConnection::UpdateScopeNamespace( + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) { + auto span = + internal::MakeSpan("gkehub_v1::GkeHubConnection::UpdateScopeNamespace"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->UpdateScopeNamespace(request)); +} + +StatusOr +GkeHubTracingConnection::UpdateScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) { + auto span = + internal::MakeSpan("gkehub_v1::GkeHubConnection::UpdateScopeNamespace"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, + child_->UpdateScopeNamespace(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::UpdateScopeNamespace( + google::longrunning::Operation const& operation) { + auto span = + internal::MakeSpan("gkehub_v1::GkeHubConnection::UpdateScopeNamespace"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->UpdateScopeNamespace(operation)); +} + +future> +GkeHubTracingConnection::DeleteScopeNamespace( + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) { + auto span = + internal::MakeSpan("gkehub_v1::GkeHubConnection::DeleteScopeNamespace"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeleteScopeNamespace(request)); +} + +StatusOr +GkeHubTracingConnection::DeleteScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) { + auto span = + internal::MakeSpan("gkehub_v1::GkeHubConnection::DeleteScopeNamespace"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, + child_->DeleteScopeNamespace(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::DeleteScopeNamespace( + google::longrunning::Operation const& operation) { + auto span = + internal::MakeSpan("gkehub_v1::GkeHubConnection::DeleteScopeNamespace"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeleteScopeNamespace(operation)); +} + +StreamRange +GkeHubTracingConnection::ListScopeNamespaces( + google::cloud::gkehub::v1::ListScopeNamespacesRequest request) { + auto span = + internal::MakeSpan("gkehub_v1::GkeHubConnection::ListScopeNamespaces"); + internal::OTelScope scope(span); + auto sr = child_->ListScopeNamespaces(std::move(request)); + return internal::MakeTracedStreamRange( + std::move(span), std::move(sr)); +} + +StatusOr +GkeHubTracingConnection::GetScopeRBACRoleBinding( + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::GetScopeRBACRoleBinding"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetScopeRBACRoleBinding(request)); +} + +future> +GkeHubTracingConnection::CreateScopeRBACRoleBinding( + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::CreateScopeRBACRoleBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->CreateScopeRBACRoleBinding(request)); +} + +StatusOr +GkeHubTracingConnection::CreateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::CreateScopeRBACRoleBinding"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan( + *span, child_->CreateScopeRBACRoleBinding(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::CreateScopeRBACRoleBinding( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::CreateScopeRBACRoleBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->CreateScopeRBACRoleBinding(operation)); +} + +future> +GkeHubTracingConnection::UpdateScopeRBACRoleBinding( + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::UpdateScopeRBACRoleBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->UpdateScopeRBACRoleBinding(request)); +} + +StatusOr +GkeHubTracingConnection::UpdateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::UpdateScopeRBACRoleBinding"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan( + *span, child_->UpdateScopeRBACRoleBinding(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::UpdateScopeRBACRoleBinding( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::UpdateScopeRBACRoleBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->UpdateScopeRBACRoleBinding(operation)); +} + +future> +GkeHubTracingConnection::DeleteScopeRBACRoleBinding( + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::DeleteScopeRBACRoleBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeleteScopeRBACRoleBinding(request)); +} + +StatusOr +GkeHubTracingConnection::DeleteScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::DeleteScopeRBACRoleBinding"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan( + *span, child_->DeleteScopeRBACRoleBinding(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::DeleteScopeRBACRoleBinding( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::DeleteScopeRBACRoleBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeleteScopeRBACRoleBinding(operation)); +} + +StreamRange +GkeHubTracingConnection::ListScopeRBACRoleBindings( + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::ListScopeRBACRoleBindings"); + internal::OTelScope scope(span); + auto sr = child_->ListScopeRBACRoleBindings(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::gkehub::v1::RBACRoleBinding>(std::move(span), + std::move(sr)); +} + +StatusOr GkeHubTracingConnection::GetScope( + google::cloud::gkehub::v1::GetScopeRequest const& request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::GetScope"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetScope(request)); +} + +future> +GkeHubTracingConnection::CreateScope( + google::cloud::gkehub::v1::CreateScopeRequest const& request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::CreateScope"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->CreateScope(request)); +} + +StatusOr GkeHubTracingConnection::CreateScope( + NoAwaitTag, google::cloud::gkehub::v1::CreateScopeRequest const& request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::CreateScope"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, child_->CreateScope(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::CreateScope( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::CreateScope"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->CreateScope(operation)); +} + +future> +GkeHubTracingConnection::UpdateScope( + google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::UpdateScope"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->UpdateScope(request)); +} + +StatusOr GkeHubTracingConnection::UpdateScope( + NoAwaitTag, google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::UpdateScope"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, child_->UpdateScope(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::UpdateScope( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::UpdateScope"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->UpdateScope(operation)); +} + +future> +GkeHubTracingConnection::DeleteScope( + google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::DeleteScope"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->DeleteScope(request)); +} + +StatusOr GkeHubTracingConnection::DeleteScope( + NoAwaitTag, google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::DeleteScope"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, child_->DeleteScope(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::DeleteScope( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::DeleteScope"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->DeleteScope(operation)); +} + +StreamRange +GkeHubTracingConnection::ListScopes( + google::cloud::gkehub::v1::ListScopesRequest request) { + auto span = internal::MakeSpan("gkehub_v1::GkeHubConnection::ListScopes"); + internal::OTelScope scope(span); + auto sr = child_->ListScopes(std::move(request)); + return internal::MakeTracedStreamRange( + std::move(span), std::move(sr)); +} + +StreamRange +GkeHubTracingConnection::ListPermittedScopes( + google::cloud::gkehub::v1::ListPermittedScopesRequest request) { + auto span = + internal::MakeSpan("gkehub_v1::GkeHubConnection::ListPermittedScopes"); + internal::OTelScope scope(span); + auto sr = child_->ListPermittedScopes(std::move(request)); + return internal::MakeTracedStreamRange( + std::move(span), std::move(sr)); +} + +StatusOr +GkeHubTracingConnection::GetMembershipBinding( + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request) { + auto span = + internal::MakeSpan("gkehub_v1::GkeHubConnection::GetMembershipBinding"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetMembershipBinding(request)); +} + +future> +GkeHubTracingConnection::CreateMembershipBinding( + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::CreateMembershipBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->CreateMembershipBinding(request)); +} + +StatusOr +GkeHubTracingConnection::CreateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::CreateMembershipBinding"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan( + *span, child_->CreateMembershipBinding(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::CreateMembershipBinding( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::CreateMembershipBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->CreateMembershipBinding(operation)); +} + +future> +GkeHubTracingConnection::UpdateMembershipBinding( + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::UpdateMembershipBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->UpdateMembershipBinding(request)); +} + +StatusOr +GkeHubTracingConnection::UpdateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::UpdateMembershipBinding"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan( + *span, child_->UpdateMembershipBinding(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::UpdateMembershipBinding( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::UpdateMembershipBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->UpdateMembershipBinding(operation)); +} + +future> +GkeHubTracingConnection::DeleteMembershipBinding( + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::DeleteMembershipBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeleteMembershipBinding(request)); +} + +StatusOr +GkeHubTracingConnection::DeleteMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::DeleteMembershipBinding"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan( + *span, child_->DeleteMembershipBinding(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::DeleteMembershipBinding( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::DeleteMembershipBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeleteMembershipBinding(operation)); +} + +StreamRange +GkeHubTracingConnection::ListMembershipBindings( + google::cloud::gkehub::v1::ListMembershipBindingsRequest request) { + auto span = + internal::MakeSpan("gkehub_v1::GkeHubConnection::ListMembershipBindings"); + internal::OTelScope scope(span); + auto sr = child_->ListMembershipBindings(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::gkehub::v1::MembershipBinding>(std::move(span), + std::move(sr)); +} + +StatusOr +GkeHubTracingConnection::GetMembershipRBACRoleBinding( + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::GetMembershipRBACRoleBinding"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, + child_->GetMembershipRBACRoleBinding(request)); +} + +future> +GkeHubTracingConnection::CreateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::CreateMembershipRBACRoleBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->CreateMembershipRBACRoleBinding(request)); +} + +StatusOr +GkeHubTracingConnection::CreateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::CreateMembershipRBACRoleBinding"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan( + *span, child_->CreateMembershipRBACRoleBinding(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::CreateMembershipRBACRoleBinding( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::CreateMembershipRBACRoleBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->CreateMembershipRBACRoleBinding(operation)); +} + +future> +GkeHubTracingConnection::UpdateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::UpdateMembershipRBACRoleBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->UpdateMembershipRBACRoleBinding(request)); +} + +StatusOr +GkeHubTracingConnection::UpdateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::UpdateMembershipRBACRoleBinding"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan( + *span, child_->UpdateMembershipRBACRoleBinding(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::UpdateMembershipRBACRoleBinding( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::UpdateMembershipRBACRoleBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->UpdateMembershipRBACRoleBinding(operation)); +} + +future> +GkeHubTracingConnection::DeleteMembershipRBACRoleBinding( + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::DeleteMembershipRBACRoleBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeleteMembershipRBACRoleBinding(request)); +} + +StatusOr +GkeHubTracingConnection::DeleteMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::DeleteMembershipRBACRoleBinding"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan( + *span, child_->DeleteMembershipRBACRoleBinding(NoAwaitTag{}, request)); +} + +future> +GkeHubTracingConnection::DeleteMembershipRBACRoleBinding( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::DeleteMembershipRBACRoleBinding"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeleteMembershipRBACRoleBinding(operation)); +} + +StreamRange +GkeHubTracingConnection::ListMembershipRBACRoleBindings( + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::ListMembershipRBACRoleBindings"); + internal::OTelScope scope(span); + auto sr = child_->ListMembershipRBACRoleBindings(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::gkehub::v1::RBACRoleBinding>(std::move(span), + std::move(sr)); +} + +StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> +GkeHubTracingConnection::GenerateMembershipRBACRoleBindingYAML( + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) { + auto span = internal::MakeSpan( + "gkehub_v1::GkeHubConnection::GenerateMembershipRBACRoleBindingYAML"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan( + *span, child_->GenerateMembershipRBACRoleBindingYAML(request)); +} + std::shared_ptr MakeGkeHubTracingConnection( std::shared_ptr conn) { if (internal::TracingEnabled(conn->options())) { diff --git a/google/cloud/gkehub/v1/internal/gke_hub_tracing_connection.h b/google/cloud/gkehub/v1/internal/gke_hub_tracing_connection.h index 2c0283d111e1b..3a10abcb14db8 100644 --- a/google/cloud/gkehub/v1/internal/gke_hub_tracing_connection.h +++ b/google/cloud/gkehub/v1/internal/gke_hub_tracing_connection.h @@ -40,6 +40,9 @@ class GkeHubTracingConnection : public gkehub_v1::GkeHubConnection { StreamRange ListMemberships( google::cloud::gkehub::v1::ListMembershipsRequest request) override; + StreamRange ListBoundMemberships( + google::cloud::gkehub::v1::ListBoundMembershipsRequest request) override; + StreamRange ListFeatures( google::cloud::gkehub::v1::ListFeaturesRequest request) override; @@ -120,6 +123,286 @@ class GkeHubTracingConnection : public gkehub_v1::GkeHubConnection { google::cloud::gkehub::v1::GenerateConnectManifestRequest const& request) override; + future> CreateFleet( + google::cloud::gkehub::v1::CreateFleetRequest const& request) override; + + StatusOr CreateFleet( + NoAwaitTag, + google::cloud::gkehub::v1::CreateFleetRequest const& request) override; + + future> CreateFleet( + google::longrunning::Operation const& operation) override; + + StatusOr GetFleet( + google::cloud::gkehub::v1::GetFleetRequest const& request) override; + + future> UpdateFleet( + google::cloud::gkehub::v1::UpdateFleetRequest const& request) override; + + StatusOr UpdateFleet( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) override; + + future> UpdateFleet( + google::longrunning::Operation const& operation) override; + + future> DeleteFleet( + google::cloud::gkehub::v1::DeleteFleetRequest const& request) override; + + StatusOr DeleteFleet( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) override; + + future> DeleteFleet( + google::longrunning::Operation const& operation) override; + + StreamRange ListFleets( + google::cloud::gkehub::v1::ListFleetsRequest request) override; + + StatusOr GetScopeNamespace( + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) + override; + + future> CreateScopeNamespace( + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) + override; + + StatusOr CreateScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) + override; + + future> CreateScopeNamespace( + google::longrunning::Operation const& operation) override; + + future> UpdateScopeNamespace( + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) + override; + + StatusOr UpdateScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) + override; + + future> UpdateScopeNamespace( + google::longrunning::Operation const& operation) override; + + future> + DeleteScopeNamespace( + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) + override; + + StatusOr DeleteScopeNamespace( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) + override; + + future> + DeleteScopeNamespace( + google::longrunning::Operation const& operation) override; + + StreamRange ListScopeNamespaces( + google::cloud::gkehub::v1::ListScopeNamespacesRequest request) override; + + StatusOr GetScopeRBACRoleBinding( + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request) + override; + + future> + CreateScopeRBACRoleBinding( + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) override; + + StatusOr CreateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) override; + + future> + CreateScopeRBACRoleBinding( + google::longrunning::Operation const& operation) override; + + future> + UpdateScopeRBACRoleBinding( + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) override; + + StatusOr UpdateScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) override; + + future> + UpdateScopeRBACRoleBinding( + google::longrunning::Operation const& operation) override; + + future> + DeleteScopeRBACRoleBinding( + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) override; + + StatusOr DeleteScopeRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) override; + + future> + DeleteScopeRBACRoleBinding( + google::longrunning::Operation const& operation) override; + + StreamRange + ListScopeRBACRoleBindings( + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest request) + override; + + StatusOr GetScope( + google::cloud::gkehub::v1::GetScopeRequest const& request) override; + + future> CreateScope( + google::cloud::gkehub::v1::CreateScopeRequest const& request) override; + + StatusOr CreateScope( + NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeRequest const& request) override; + + future> CreateScope( + google::longrunning::Operation const& operation) override; + + future> UpdateScope( + google::cloud::gkehub::v1::UpdateScopeRequest const& request) override; + + StatusOr UpdateScope( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) override; + + future> UpdateScope( + google::longrunning::Operation const& operation) override; + + future> DeleteScope( + google::cloud::gkehub::v1::DeleteScopeRequest const& request) override; + + StatusOr DeleteScope( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) override; + + future> DeleteScope( + google::longrunning::Operation const& operation) override; + + StreamRange ListScopes( + google::cloud::gkehub::v1::ListScopesRequest request) override; + + StreamRange ListPermittedScopes( + google::cloud::gkehub::v1::ListPermittedScopesRequest request) override; + + StatusOr GetMembershipBinding( + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request) + override; + + future> + CreateMembershipBinding( + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) + override; + + StatusOr CreateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) + override; + + future> + CreateMembershipBinding( + google::longrunning::Operation const& operation) override; + + future> + UpdateMembershipBinding( + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) + override; + + StatusOr UpdateMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) + override; + + future> + UpdateMembershipBinding( + google::longrunning::Operation const& operation) override; + + future> + DeleteMembershipBinding( + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) + override; + + StatusOr DeleteMembershipBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) + override; + + future> + DeleteMembershipBinding( + google::longrunning::Operation const& operation) override; + + StreamRange + ListMembershipBindings( + google::cloud::gkehub::v1::ListMembershipBindingsRequest request) + override; + + StatusOr + GetMembershipRBACRoleBinding( + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) override; + + future> + CreateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr CreateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) override; + + future> + CreateMembershipRBACRoleBinding( + google::longrunning::Operation const& operation) override; + + future> + UpdateMembershipRBACRoleBinding( + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr UpdateMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) override; + + future> + UpdateMembershipRBACRoleBinding( + google::longrunning::Operation const& operation) override; + + future> + DeleteMembershipRBACRoleBinding( + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr DeleteMembershipRBACRoleBinding( + NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) override; + + future> + DeleteMembershipRBACRoleBinding( + google::longrunning::Operation const& operation) override; + + StreamRange + ListMembershipRBACRoleBindings( + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest request) + override; + + StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> + GenerateMembershipRBACRoleBindingYAML( + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) override; + private: std::shared_ptr child_; }; diff --git a/google/cloud/gkehub/v1/internal/gke_hub_tracing_stub.cc b/google/cloud/gkehub/v1/internal/gke_hub_tracing_stub.cc index 1ddee0ae481f3..18b068d5bc7b4 100644 --- a/google/cloud/gkehub/v1/internal/gke_hub_tracing_stub.cc +++ b/google/cloud/gkehub/v1/internal/gke_hub_tracing_stub.cc @@ -44,6 +44,18 @@ GkeHubTracingStub::ListMemberships( child_->ListMemberships(context, options, request)); } +StatusOr +GkeHubTracingStub::ListBoundMemberships( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListBoundMembershipsRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "ListBoundMemberships"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->ListBoundMemberships(context, options, request)); +} + StatusOr GkeHubTracingStub::ListFeatures( grpc::ClientContext& context, Options const& options, @@ -245,6 +257,678 @@ GkeHubTracingStub::GenerateConnectManifest( child_->GenerateConnectManifest(context, options, request)); } +future> +GkeHubTracingStub::AsyncCreateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "CreateFleet"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncCreateFleet(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr GkeHubTracingStub::CreateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "CreateFleet"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->CreateFleet(context, options, request)); +} + +StatusOr GkeHubTracingStub::GetFleet( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetFleetRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "GetFleet"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetFleet(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncUpdateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "UpdateFleet"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncUpdateFleet(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr GkeHubTracingStub::UpdateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "UpdateFleet"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->UpdateFleet(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncDeleteFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "DeleteFleet"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncDeleteFleet(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr GkeHubTracingStub::DeleteFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "DeleteFleet"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->DeleteFleet(context, options, request)); +} + +StatusOr +GkeHubTracingStub::ListFleets( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListFleetsRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "ListFleets"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListFleets(context, options, request)); +} + +StatusOr +GkeHubTracingStub::GetScopeNamespace( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "GetScopeNamespace"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->GetScopeNamespace(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncCreateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "CreateScopeNamespace"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncCreateScopeNamespace(cq, context, std::move(options), + request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +GkeHubTracingStub::CreateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "CreateScopeNamespace"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->CreateScopeNamespace(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncUpdateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "UpdateScopeNamespace"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncUpdateScopeNamespace(cq, context, std::move(options), + request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +GkeHubTracingStub::UpdateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "UpdateScopeNamespace"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->UpdateScopeNamespace(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncDeleteScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "DeleteScopeNamespace"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncDeleteScopeNamespace(cq, context, std::move(options), + request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +GkeHubTracingStub::DeleteScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "DeleteScopeNamespace"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->DeleteScopeNamespace(context, options, request)); +} + +StatusOr +GkeHubTracingStub::ListScopeNamespaces( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeNamespacesRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "ListScopeNamespaces"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->ListScopeNamespaces(context, options, request)); +} + +StatusOr +GkeHubTracingStub::GetScopeRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "GetScopeRBACRoleBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->GetScopeRBACRoleBinding(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncCreateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "CreateScopeRBACRoleBinding"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncCreateScopeRBACRoleBinding(cq, context, + std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +GkeHubTracingStub::CreateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "CreateScopeRBACRoleBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->CreateScopeRBACRoleBinding(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncUpdateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "UpdateScopeRBACRoleBinding"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncUpdateScopeRBACRoleBinding(cq, context, + std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +GkeHubTracingStub::UpdateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "UpdateScopeRBACRoleBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->UpdateScopeRBACRoleBinding(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncDeleteScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "DeleteScopeRBACRoleBinding"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncDeleteScopeRBACRoleBinding(cq, context, + std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +GkeHubTracingStub::DeleteScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "DeleteScopeRBACRoleBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->DeleteScopeRBACRoleBinding(context, options, request)); +} + +StatusOr +GkeHubTracingStub::ListScopeRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest const& + request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "ListScopeRBACRoleBindings"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->ListScopeRBACRoleBindings(context, options, request)); +} + +StatusOr GkeHubTracingStub::GetScope( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "GetScope"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetScope(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncCreateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "CreateScope"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncCreateScope(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr GkeHubTracingStub::CreateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "CreateScope"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->CreateScope(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncUpdateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "UpdateScope"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncUpdateScope(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr GkeHubTracingStub::UpdateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "UpdateScope"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->UpdateScope(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncDeleteScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "DeleteScope"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncDeleteScope(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr GkeHubTracingStub::DeleteScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "DeleteScope"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->DeleteScope(context, options, request)); +} + +StatusOr +GkeHubTracingStub::ListScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopesRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", "ListScopes"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListScopes(context, options, request)); +} + +StatusOr +GkeHubTracingStub::ListPermittedScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListPermittedScopesRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "ListPermittedScopes"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->ListPermittedScopes(context, options, request)); +} + +StatusOr +GkeHubTracingStub::GetMembershipBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "GetMembershipBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->GetMembershipBinding(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncCreateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "CreateMembershipBinding"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncCreateMembershipBinding(cq, context, std::move(options), + request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +GkeHubTracingStub::CreateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "CreateMembershipBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->CreateMembershipBinding(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncUpdateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "UpdateMembershipBinding"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncUpdateMembershipBinding(cq, context, std::move(options), + request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +GkeHubTracingStub::UpdateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "UpdateMembershipBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->UpdateMembershipBinding(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncDeleteMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "DeleteMembershipBinding"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncDeleteMembershipBinding(cq, context, std::move(options), + request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +GkeHubTracingStub::DeleteMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "DeleteMembershipBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->DeleteMembershipBinding(context, options, request)); +} + +StatusOr +GkeHubTracingStub::ListMembershipBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipBindingsRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "ListMembershipBindings"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->ListMembershipBindings(context, options, request)); +} + +StatusOr +GkeHubTracingStub::GetMembershipRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "GetMembershipRBACRoleBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->GetMembershipRBACRoleBinding(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncCreateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "CreateMembershipRBACRoleBinding"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncCreateMembershipRBACRoleBinding( + cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +GkeHubTracingStub::CreateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "CreateMembershipRBACRoleBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->CreateMembershipRBACRoleBinding(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncUpdateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "UpdateMembershipRBACRoleBinding"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncUpdateMembershipRBACRoleBinding( + cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +GkeHubTracingStub::UpdateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "UpdateMembershipRBACRoleBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->UpdateMembershipRBACRoleBinding(context, options, request)); +} + +future> +GkeHubTracingStub::AsyncDeleteMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "DeleteMembershipRBACRoleBinding"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncDeleteMembershipRBACRoleBinding( + cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +GkeHubTracingStub::DeleteMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "DeleteMembershipRBACRoleBinding"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->DeleteMembershipRBACRoleBinding(context, options, request)); +} + +StatusOr +GkeHubTracingStub::ListMembershipRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest const& + request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "ListMembershipRBACRoleBindings"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->ListMembershipRBACRoleBindings(context, options, request)); +} + +StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> +GkeHubTracingStub::GenerateMembershipRBACRoleBindingYAML( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.gkehub.v1.GkeHub", + "GenerateMembershipRBACRoleBindingYAML"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->GenerateMembershipRBACRoleBindingYAML(context, options, request)); +} + future> GkeHubTracingStub::AsyncGetOperation( google::cloud::CompletionQueue& cq, diff --git a/google/cloud/gkehub/v1/internal/gke_hub_tracing_stub.h b/google/cloud/gkehub/v1/internal/gke_hub_tracing_stub.h index e44d012dfa907..6175cdfc0b220 100644 --- a/google/cloud/gkehub/v1/internal/gke_hub_tracing_stub.h +++ b/google/cloud/gkehub/v1/internal/gke_hub_tracing_stub.h @@ -44,6 +44,12 @@ class GkeHubTracingStub : public GkeHubStub { google::cloud::gkehub::v1::ListMembershipsRequest const& request) override; + StatusOr + ListBoundMemberships( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListBoundMembershipsRequest const& request) + override; + StatusOr ListFeatures( grpc::ClientContext& context, Options const& options, google::cloud::gkehub::v1::ListFeaturesRequest const& request) override; @@ -128,6 +134,290 @@ class GkeHubTracingStub : public GkeHubStub { google::cloud::gkehub::v1::GenerateConnectManifestRequest const& request) override; + future> AsyncCreateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) override; + + StatusOr CreateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateFleetRequest const& request) override; + + StatusOr GetFleet( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetFleetRequest const& request) override; + + future> AsyncUpdateFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) override; + + StatusOr UpdateFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateFleetRequest const& request) override; + + future> AsyncDeleteFleet( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) override; + + StatusOr DeleteFleet( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteFleetRequest const& request) override; + + StatusOr ListFleets( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListFleetsRequest const& request) override; + + StatusOr GetScopeNamespace( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request) + override; + + future> AsyncCreateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) + override; + + StatusOr CreateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request) + override; + + future> AsyncUpdateScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) + override; + + StatusOr UpdateScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request) + override; + + future> AsyncDeleteScopeNamespace( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) + override; + + StatusOr DeleteScopeNamespace( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request) + override; + + StatusOr + ListScopeNamespaces( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeNamespacesRequest const& request) + override; + + StatusOr GetScopeRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& request) + override; + + future> + AsyncCreateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) override; + + StatusOr CreateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request) override; + + future> + AsyncUpdateScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) override; + + StatusOr UpdateScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request) override; + + future> + AsyncDeleteScopeRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) override; + + StatusOr DeleteScopeRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request) override; + + StatusOr + ListScopeRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest const& + request) override; + + StatusOr GetScope( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetScopeRequest const& request) override; + + future> AsyncCreateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) override; + + StatusOr CreateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateScopeRequest const& request) override; + + future> AsyncUpdateScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) override; + + StatusOr UpdateScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateScopeRequest const& request) override; + + future> AsyncDeleteScope( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) override; + + StatusOr DeleteScope( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteScopeRequest const& request) override; + + StatusOr ListScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListScopesRequest const& request) override; + + StatusOr + ListPermittedScopes( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListPermittedScopesRequest const& request) + override; + + StatusOr GetMembershipBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipBindingRequest const& request) + override; + + future> AsyncCreateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) + override; + + StatusOr CreateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& request) + override; + + future> AsyncUpdateMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) + override; + + StatusOr UpdateMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& request) + override; + + future> AsyncDeleteMembershipBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) + override; + + StatusOr DeleteMembershipBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& request) + override; + + StatusOr + ListMembershipBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipBindingsRequest const& request) + override; + + StatusOr + GetMembershipRBACRoleBinding( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request) override; + + future> + AsyncCreateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr CreateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request) override; + + future> + AsyncUpdateMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr UpdateMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request) override; + + future> + AsyncDeleteMembershipRBACRoleBinding( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr DeleteMembershipRBACRoleBinding( + grpc::ClientContext& context, Options options, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request) override; + + StatusOr + ListMembershipRBACRoleBindings( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest const& + request) override; + + StatusOr< + google::cloud::gkehub::v1::GenerateMembershipRBACRoleBindingYAMLResponse> + GenerateMembershipRBACRoleBindingYAML( + grpc::ClientContext& context, Options const& options, + google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request) override; + future> AsyncGetOperation( google::cloud::CompletionQueue& cq, std::shared_ptr context, diff --git a/google/cloud/gkehub/v1/mocks/mock_gke_hub_connection.h b/google/cloud/gkehub/v1/mocks/mock_gke_hub_connection.h index e9e2c07e109e3..6cd0ec32fe32b 100644 --- a/google/cloud/gkehub/v1/mocks/mock_gke_hub_connection.h +++ b/google/cloud/gkehub/v1/mocks/mock_gke_hub_connection.h @@ -51,6 +51,11 @@ class MockGkeHubConnection : public gkehub_v1::GkeHubConnection { (google::cloud::gkehub::v1::ListMembershipsRequest request), (override)); + MOCK_METHOD((StreamRange), + ListBoundMemberships, + (google::cloud::gkehub::v1::ListBoundMembershipsRequest request), + (override)); + MOCK_METHOD((StreamRange), ListFeatures, (google::cloud::gkehub::v1::ListFeaturesRequest request), (override)); @@ -295,6 +300,784 @@ class MockGkeHubConnection : public gkehub_v1::GkeHubConnection { (google::cloud::gkehub::v1::GenerateConnectManifestRequest const& request), (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// CreateFleet(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, CreateFleet, + (google::cloud::gkehub::v1::CreateFleetRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, CreateFleet(_, _)) + /// @endcode + MOCK_METHOD(StatusOr, CreateFleet, + (NoAwaitTag, + google::cloud::gkehub::v1::CreateFleetRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, CreateFleet(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, CreateFleet, + (google::longrunning::Operation const& operation), (override)); + + MOCK_METHOD(StatusOr, GetFleet, + (google::cloud::gkehub::v1::GetFleetRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// UpdateFleet(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, UpdateFleet, + (google::cloud::gkehub::v1::UpdateFleetRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, UpdateFleet(_, _)) + /// @endcode + MOCK_METHOD(StatusOr, UpdateFleet, + (NoAwaitTag, + google::cloud::gkehub::v1::UpdateFleetRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, UpdateFleet(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, UpdateFleet, + (google::longrunning::Operation const& operation), (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteFleet(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + DeleteFleet, + (google::cloud::gkehub::v1::DeleteFleetRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, DeleteFleet(_, _)) + /// @endcode + MOCK_METHOD(StatusOr, DeleteFleet, + (NoAwaitTag, + google::cloud::gkehub::v1::DeleteFleetRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, DeleteFleet(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + DeleteFleet, (google::longrunning::Operation const& operation), + (override)); + + MOCK_METHOD((StreamRange), ListFleets, + (google::cloud::gkehub::v1::ListFleetsRequest request), + (override)); + + MOCK_METHOD( + StatusOr, GetScopeNamespace, + (google::cloud::gkehub::v1::GetScopeNamespaceRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// CreateScopeNamespace(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + CreateScopeNamespace, + (google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, CreateScopeNamespace(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, CreateScopeNamespace, + (NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeNamespaceRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// CreateScopeNamespace(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + CreateScopeNamespace, + (google::longrunning::Operation const& operation), (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// UpdateScopeNamespace(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + UpdateScopeNamespace, + (google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, UpdateScopeNamespace(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, UpdateScopeNamespace, + (NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeNamespaceRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// UpdateScopeNamespace(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + UpdateScopeNamespace, + (google::longrunning::Operation const& operation), (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteScopeNamespace(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + DeleteScopeNamespace, + (google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, DeleteScopeNamespace(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, DeleteScopeNamespace, + (NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeNamespaceRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteScopeNamespace(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + DeleteScopeNamespace, + (google::longrunning::Operation const& operation), (override)); + + MOCK_METHOD((StreamRange), + ListScopeNamespaces, + (google::cloud::gkehub::v1::ListScopeNamespacesRequest request), + (override)); + + MOCK_METHOD(StatusOr, + GetScopeRBACRoleBinding, + (google::cloud::gkehub::v1::GetScopeRBACRoleBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// CreateScopeRBACRoleBinding(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + CreateScopeRBACRoleBinding, + (google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, CreateScopeRBACRoleBinding(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, CreateScopeRBACRoleBinding, + (NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeRBACRoleBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// CreateScopeRBACRoleBinding(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + CreateScopeRBACRoleBinding, + (google::longrunning::Operation const& operation), (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// UpdateScopeRBACRoleBinding(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + UpdateScopeRBACRoleBinding, + (google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, UpdateScopeRBACRoleBinding(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, UpdateScopeRBACRoleBinding, + (NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeRBACRoleBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// UpdateScopeRBACRoleBinding(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + UpdateScopeRBACRoleBinding, + (google::longrunning::Operation const& operation), (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteScopeRBACRoleBinding(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + DeleteScopeRBACRoleBinding, + (google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, DeleteScopeRBACRoleBinding(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, DeleteScopeRBACRoleBinding, + (NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeRBACRoleBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteScopeRBACRoleBinding(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + DeleteScopeRBACRoleBinding, + (google::longrunning::Operation const& operation), (override)); + + MOCK_METHOD( + (StreamRange), + ListScopeRBACRoleBindings, + (google::cloud::gkehub::v1::ListScopeRBACRoleBindingsRequest request), + (override)); + + MOCK_METHOD(StatusOr, GetScope, + (google::cloud::gkehub::v1::GetScopeRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// CreateScope(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, CreateScope, + (google::cloud::gkehub::v1::CreateScopeRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, CreateScope(_, _)) + /// @endcode + MOCK_METHOD(StatusOr, CreateScope, + (NoAwaitTag, + google::cloud::gkehub::v1::CreateScopeRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, CreateScope(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, CreateScope, + (google::longrunning::Operation const& operation), (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// UpdateScope(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, UpdateScope, + (google::cloud::gkehub::v1::UpdateScopeRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, UpdateScope(_, _)) + /// @endcode + MOCK_METHOD(StatusOr, UpdateScope, + (NoAwaitTag, + google::cloud::gkehub::v1::UpdateScopeRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, UpdateScope(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, UpdateScope, + (google::longrunning::Operation const& operation), (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteScope(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + DeleteScope, + (google::cloud::gkehub::v1::DeleteScopeRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, DeleteScope(_, _)) + /// @endcode + MOCK_METHOD(StatusOr, DeleteScope, + (NoAwaitTag, + google::cloud::gkehub::v1::DeleteScopeRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, DeleteScope(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + DeleteScope, (google::longrunning::Operation const& operation), + (override)); + + MOCK_METHOD((StreamRange), ListScopes, + (google::cloud::gkehub::v1::ListScopesRequest request), + (override)); + + MOCK_METHOD((StreamRange), + ListPermittedScopes, + (google::cloud::gkehub::v1::ListPermittedScopesRequest request), + (override)); + + MOCK_METHOD( + StatusOr, + GetMembershipBinding, + (google::cloud::gkehub::v1::GetMembershipBindingRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// CreateMembershipBinding(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + CreateMembershipBinding, + (google::cloud::gkehub::v1::CreateMembershipBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, CreateMembershipBinding(_, _)) + /// @endcode + MOCK_METHOD(StatusOr, CreateMembershipBinding, + (NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// CreateMembershipBinding(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + CreateMembershipBinding, + (google::longrunning::Operation const& operation), (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// UpdateMembershipBinding(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + UpdateMembershipBinding, + (google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, UpdateMembershipBinding(_, _)) + /// @endcode + MOCK_METHOD(StatusOr, UpdateMembershipBinding, + (NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// UpdateMembershipBinding(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + UpdateMembershipBinding, + (google::longrunning::Operation const& operation), (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteMembershipBinding(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + DeleteMembershipBinding, + (google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, DeleteMembershipBinding(_, _)) + /// @endcode + MOCK_METHOD(StatusOr, DeleteMembershipBinding, + (NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteMembershipBinding(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + DeleteMembershipBinding, + (google::longrunning::Operation const& operation), (override)); + + MOCK_METHOD( + (StreamRange), + ListMembershipBindings, + (google::cloud::gkehub::v1::ListMembershipBindingsRequest request), + (override)); + + MOCK_METHOD( + StatusOr, + GetMembershipRBACRoleBinding, + (google::cloud::gkehub::v1::GetMembershipRBACRoleBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// CreateMembershipRBACRoleBinding(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + CreateMembershipRBACRoleBinding, + (google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, CreateMembershipRBACRoleBinding(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, CreateMembershipRBACRoleBinding, + (NoAwaitTag, + google::cloud::gkehub::v1::CreateMembershipRBACRoleBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// CreateMembershipRBACRoleBinding(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + CreateMembershipRBACRoleBinding, + (google::longrunning::Operation const& operation), (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// UpdateMembershipRBACRoleBinding(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + UpdateMembershipRBACRoleBinding, + (google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, UpdateMembershipRBACRoleBinding(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, UpdateMembershipRBACRoleBinding, + (NoAwaitTag, + google::cloud::gkehub::v1::UpdateMembershipRBACRoleBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// UpdateMembershipRBACRoleBinding(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + UpdateMembershipRBACRoleBinding, + (google::longrunning::Operation const& operation), (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteMembershipRBACRoleBinding(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + DeleteMembershipRBACRoleBinding, + (google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, DeleteMembershipRBACRoleBinding(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, DeleteMembershipRBACRoleBinding, + (NoAwaitTag, + google::cloud::gkehub::v1::DeleteMembershipRBACRoleBindingRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteMembershipRBACRoleBinding(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + DeleteMembershipRBACRoleBinding, + (google::longrunning::Operation const& operation), (override)); + + MOCK_METHOD((StreamRange), + ListMembershipRBACRoleBindings, + (google::cloud::gkehub::v1::ListMembershipRBACRoleBindingsRequest + request), + (override)); + + MOCK_METHOD(StatusOr, + GenerateMembershipRBACRoleBindingYAML, + (google::cloud::gkehub::v1:: + GenerateMembershipRBACRoleBindingYAMLRequest const& request), + (override)); }; GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END diff --git a/google/cloud/kms/inventory/v1/key_dashboard_client.h b/google/cloud/kms/inventory/v1/key_dashboard_client.h index 5b95c519ad040..7e2b9dadba301 100644 --- a/google/cloud/kms/inventory/v1/key_dashboard_client.h +++ b/google/cloud/kms/inventory/v1/key_dashboard_client.h @@ -117,7 +117,7 @@ class KeyDashboardServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.inventory.v1.ListCryptoKeysRequest]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_dashboard_service.proto#L52} + /// [google.cloud.kms.inventory.v1.ListCryptoKeysRequest]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_dashboard_service.proto#L51} /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} /// // clang-format on @@ -158,7 +158,7 @@ class KeyDashboardServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.inventory.v1.ListCryptoKeysRequest]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_dashboard_service.proto#L52} + /// [google.cloud.kms.inventory.v1.ListCryptoKeysRequest]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_dashboard_service.proto#L51} /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} /// // clang-format on diff --git a/google/cloud/kms/inventory/v1/key_tracking_client.h b/google/cloud/kms/inventory/v1/key_tracking_client.h index 00211940cff30..471a3912c7122 100644 --- a/google/cloud/kms/inventory/v1/key_tracking_client.h +++ b/google/cloud/kms/inventory/v1/key_tracking_client.h @@ -92,10 +92,16 @@ class KeyTrackingServiceClient { // clang-format off /// /// Returns aggregate information about the resources protected by the given - /// Cloud KMS [CryptoKey][google.cloud.kms.v1.CryptoKey]. Only resources within - /// the same Cloud organization as the key will be returned. The project that - /// holds the key must be part of an organization in order for this call to - /// succeed. + /// Cloud KMS [CryptoKey][google.cloud.kms.v1.CryptoKey]. By default, + /// summary of resources within the same Cloud organization as the key will be + /// returned, which requires the KMS organization service account to be + /// configured(refer + /// https://docs.cloud.google.com/kms/docs/view-key-usage#required-roles). + /// If the KMS organization service account is not configured or key's project + /// is not part of an organization, set + /// [fallback_scope][google.cloud.kms.inventory.v1.GetProtectedResourcesSummaryRequest.fallback_scope] + /// to `FALLBACK_SCOPE_PROJECT` to retrieve a summary of protected resources + /// within the key's project. /// /// @param name Required. The resource name of the /// [CryptoKey][google.cloud.kms.v1.CryptoKey]. @@ -112,8 +118,9 @@ class KeyTrackingServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.inventory.v1.GetProtectedResourcesSummaryRequest]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L66} - /// [google.cloud.kms.inventory.v1.ProtectedResourcesSummary]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L79} + /// [google.cloud.kms.inventory.v1.GetProtectedResourcesSummaryRequest]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L80} + /// [google.cloud.kms.inventory.v1.GetProtectedResourcesSummaryRequest.fallback_scope]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L92} + /// [google.cloud.kms.inventory.v1.ProtectedResourcesSummary]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L97} /// // clang-format on StatusOr @@ -122,10 +129,16 @@ class KeyTrackingServiceClient { // clang-format off /// /// Returns aggregate information about the resources protected by the given - /// Cloud KMS [CryptoKey][google.cloud.kms.v1.CryptoKey]. Only resources within - /// the same Cloud organization as the key will be returned. The project that - /// holds the key must be part of an organization in order for this call to - /// succeed. + /// Cloud KMS [CryptoKey][google.cloud.kms.v1.CryptoKey]. By default, + /// summary of resources within the same Cloud organization as the key will be + /// returned, which requires the KMS organization service account to be + /// configured(refer + /// https://docs.cloud.google.com/kms/docs/view-key-usage#required-roles). + /// If the KMS organization service account is not configured or key's project + /// is not part of an organization, set + /// [fallback_scope][google.cloud.kms.inventory.v1.GetProtectedResourcesSummaryRequest.fallback_scope] + /// to `FALLBACK_SCOPE_PROJECT` to retrieve a summary of protected resources + /// within the key's project. /// /// @param request Unary RPCs, such as the one wrapped by this /// function, receive a single `request` proto message which includes all @@ -146,8 +159,9 @@ class KeyTrackingServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.inventory.v1.GetProtectedResourcesSummaryRequest]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L66} - /// [google.cloud.kms.inventory.v1.ProtectedResourcesSummary]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L79} + /// [google.cloud.kms.inventory.v1.GetProtectedResourcesSummaryRequest]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L80} + /// [google.cloud.kms.inventory.v1.GetProtectedResourcesSummaryRequest.fallback_scope]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L92} + /// [google.cloud.kms.inventory.v1.ProtectedResourcesSummary]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L97} /// // clang-format on StatusOr @@ -159,10 +173,17 @@ class KeyTrackingServiceClient { // clang-format off /// /// Returns metadata about the resources protected by the given Cloud KMS - /// [CryptoKey][google.cloud.kms.v1.CryptoKey] in the given Cloud organization. + /// [CryptoKey][google.cloud.kms.v1.CryptoKey] in the given Cloud + /// organization/project. /// - /// @param scope Required. Resource name of the organization. - /// Example: organizations/123 + /// @param scope Required. A scope can be an organization or a project. Resources protected + /// by the crypto key in provided scope will be returned. + /// @n + /// The following values are allowed: + /// @n + /// * organizations/{ORGANIZATION_NUMBER} (e.g., "organizations/12345678") + /// * projects/{PROJECT_ID} (e.g., "projects/foo-bar") + /// * projects/{PROJECT_NUMBER} (e.g., "projects/12345678") /// @param crypto_key Required. The resource name of the /// [CryptoKey][google.cloud.kms.v1.CryptoKey]. /// @param opts Optional. Override the class-level options, such as retry and @@ -187,8 +208,8 @@ class KeyTrackingServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.inventory.v1.ProtectedResource]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L172} - /// [google.cloud.kms.inventory.v1.SearchProtectedResourcesRequest]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L111} + /// [google.cloud.kms.inventory.v1.ProtectedResource]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L202} + /// [google.cloud.kms.inventory.v1.SearchProtectedResourcesRequest]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L135} /// // clang-format on StreamRange @@ -198,7 +219,8 @@ class KeyTrackingServiceClient { // clang-format off /// /// Returns metadata about the resources protected by the given Cloud KMS - /// [CryptoKey][google.cloud.kms.v1.CryptoKey] in the given Cloud organization. + /// [CryptoKey][google.cloud.kms.v1.CryptoKey] in the given Cloud + /// organization/project. /// /// @param request Unary RPCs, such as the one wrapped by this /// function, receive a single `request` proto message which includes all @@ -228,8 +250,8 @@ class KeyTrackingServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.inventory.v1.ProtectedResource]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L172} - /// [google.cloud.kms.inventory.v1.SearchProtectedResourcesRequest]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L111} + /// [google.cloud.kms.inventory.v1.ProtectedResource]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L202} + /// [google.cloud.kms.inventory.v1.SearchProtectedResourcesRequest]: @googleapis_reference_link{google/cloud/kms/inventory/v1/key_tracking_service.proto#L135} /// // clang-format on StreamRange diff --git a/google/cloud/kms/v1/autokey_admin_client.h b/google/cloud/kms/v1/autokey_admin_client.h index 54c2fd38a40dd..ea144a70609f5 100644 --- a/google/cloud/kms/v1/autokey_admin_client.h +++ b/google/cloud/kms/v1/autokey_admin_client.h @@ -36,13 +36,15 @@ GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN /// /// Provides interfaces for managing [Cloud KMS -/// Autokey](https://cloud.google.com/kms/help/autokey) folder-level -/// configurations. A configuration is inherited by all descendent projects. A -/// configuration at one folder overrides any other configurations in its -/// ancestry. Setting a configuration on a folder is a prerequisite for Cloud -/// KMS Autokey, so that users working in a descendant project can request -/// provisioned [CryptoKeys][google.cloud.kms.v1.CryptoKey], ready for Customer -/// Managed Encryption Key (CMEK) use, on-demand. +/// Autokey](https://cloud.google.com/kms/help/autokey) folder-level or +/// project-level configurations. A configuration is inherited by all descendent +/// folders and projects. A configuration at a folder or project overrides any +/// other configurations in its ancestry. Setting a configuration on a folder is +/// a prerequisite for Cloud KMS Autokey, so that users working in a descendant +/// project can request provisioned [CryptoKeys][google.cloud.kms.v1.CryptoKey], +/// ready for Customer Managed Encryption Key (CMEK) use, on-demand when using +/// the dedicated key project mode. This is not required when using the +/// delegated key management mode for same-project keys. /// /// @par Equality /// @@ -95,8 +97,8 @@ class AutokeyAdminClient { // clang-format off /// - /// Updates the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a - /// folder. The caller must have both `cloudkms.autokeyConfigs.update` + /// Updates the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a folder + /// or a project. The caller must have both `cloudkms.autokeyConfigs.update` /// permission on the parent folder and `cloudkms.cryptoKeys.setIamPolicy` /// permission on the provided key project. A /// [KeyHandle][google.cloud.kms.v1.KeyHandle] creation in the folder's @@ -121,8 +123,8 @@ class AutokeyAdminClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.AutokeyConfig]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L106} - /// [google.cloud.kms.v1.UpdateAutokeyConfigRequest]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L80} + /// [google.cloud.kms.v1.AutokeyConfig]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L114} + /// [google.cloud.kms.v1.UpdateAutokeyConfigRequest]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L87} /// // clang-format on StatusOr UpdateAutokeyConfig( @@ -131,8 +133,8 @@ class AutokeyAdminClient { // clang-format off /// - /// Updates the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a - /// folder. The caller must have both `cloudkms.autokeyConfigs.update` + /// Updates the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a folder + /// or a project. The caller must have both `cloudkms.autokeyConfigs.update` /// permission on the parent folder and `cloudkms.cryptoKeys.setIamPolicy` /// permission on the provided key project. A /// [KeyHandle][google.cloud.kms.v1.KeyHandle] creation in the folder's @@ -158,8 +160,8 @@ class AutokeyAdminClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.AutokeyConfig]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L106} - /// [google.cloud.kms.v1.UpdateAutokeyConfigRequest]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L80} + /// [google.cloud.kms.v1.AutokeyConfig]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L114} + /// [google.cloud.kms.v1.UpdateAutokeyConfigRequest]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L87} /// // clang-format on StatusOr UpdateAutokeyConfig( @@ -168,11 +170,12 @@ class AutokeyAdminClient { // clang-format off /// - /// Returns the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a - /// folder. + /// Returns the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a folder + /// or project. /// /// @param name Required. Name of the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] - /// resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`. + /// resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or + /// `projects/{PROJECT_NUMBER}/autokeyConfig`. /// @param opts Optional. Override the class-level options, such as retry and /// backoff policies. /// @return the result of the RPC. The response message type @@ -186,8 +189,8 @@ class AutokeyAdminClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.AutokeyConfig]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L106} - /// [google.cloud.kms.v1.GetAutokeyConfigRequest]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L94} + /// [google.cloud.kms.v1.AutokeyConfig]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L114} + /// [google.cloud.kms.v1.GetAutokeyConfigRequest]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L101} /// // clang-format on StatusOr GetAutokeyConfig( @@ -195,8 +198,8 @@ class AutokeyAdminClient { // clang-format off /// - /// Returns the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a - /// folder. + /// Returns the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a folder + /// or project. /// /// @param request Unary RPCs, such as the one wrapped by this /// function, receive a single `request` proto message which includes all @@ -217,8 +220,8 @@ class AutokeyAdminClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.AutokeyConfig]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L106} - /// [google.cloud.kms.v1.GetAutokeyConfigRequest]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L94} + /// [google.cloud.kms.v1.AutokeyConfig]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L114} + /// [google.cloud.kms.v1.GetAutokeyConfigRequest]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L101} /// // clang-format on StatusOr GetAutokeyConfig( @@ -245,8 +248,8 @@ class AutokeyAdminClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.ShowEffectiveAutokeyConfigRequest]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L160} - /// [google.cloud.kms.v1.ShowEffectiveAutokeyConfigResponse]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L174} + /// [google.cloud.kms.v1.ShowEffectiveAutokeyConfigRequest]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L210} + /// [google.cloud.kms.v1.ShowEffectiveAutokeyConfigResponse]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L224} /// // clang-format on StatusOr @@ -275,8 +278,8 @@ class AutokeyAdminClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.ShowEffectiveAutokeyConfigRequest]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L160} - /// [google.cloud.kms.v1.ShowEffectiveAutokeyConfigResponse]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L174} + /// [google.cloud.kms.v1.ShowEffectiveAutokeyConfigRequest]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L210} + /// [google.cloud.kms.v1.ShowEffectiveAutokeyConfigResponse]: @googleapis_reference_link{google/cloud/kms/v1/autokey_admin.proto#L224} /// // clang-format on StatusOr diff --git a/google/cloud/kms/v1/internal/key_management_auth_decorator.cc b/google/cloud/kms/v1/internal/key_management_auth_decorator.cc index deb4441399d2e..e00a761fad5a0 100644 --- a/google/cloud/kms/v1/internal/key_management_auth_decorator.cc +++ b/google/cloud/kms/v1/internal/key_management_auth_decorator.cc @@ -70,6 +70,15 @@ KeyManagementServiceAuth::ListImportJobs( return child_->ListImportJobs(context, options, request); } +StatusOr +KeyManagementServiceAuth::ListRetiredResources( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::ListRetiredResourcesRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListRetiredResources(context, options, request); +} + StatusOr KeyManagementServiceAuth::GetKeyRing( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::GetKeyRingRequest const& request) { @@ -114,6 +123,15 @@ KeyManagementServiceAuth::GetImportJob( return child_->GetImportJob(context, options, request); } +StatusOr +KeyManagementServiceAuth::GetRetiredResource( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::GetRetiredResourceRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetRetiredResource(context, options, request); +} + StatusOr KeyManagementServiceAuth::CreateKeyRing( grpc::ClientContext& context, Options const& options, @@ -141,6 +159,64 @@ KeyManagementServiceAuth::CreateCryptoKeyVersion( return child_->CreateCryptoKeyVersion(context, options, request); } +future> +KeyManagementServiceAuth::AsyncDeleteCryptoKey( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyRequest 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->AsyncDeleteCryptoKey(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr +KeyManagementServiceAuth::DeleteCryptoKey( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeleteCryptoKey(context, options, request); +} + +future> +KeyManagementServiceAuth::AsyncDeleteCryptoKeyVersion( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest 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->AsyncDeleteCryptoKeyVersion(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr +KeyManagementServiceAuth::DeleteCryptoKeyVersion( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeleteCryptoKeyVersion(context, options, request); +} + StatusOr KeyManagementServiceAuth::ImportCryptoKeyVersion( grpc::ClientContext& context, Options const& options, @@ -346,6 +422,42 @@ StatusOr KeyManagementServiceAuth::GetOperation( return child_->GetOperation(context, options, request); } +future> +KeyManagementServiceAuth::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 KeyManagementServiceAuth::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 kms_v1_internal } // namespace cloud diff --git a/google/cloud/kms/v1/internal/key_management_auth_decorator.h b/google/cloud/kms/v1/internal/key_management_auth_decorator.h index ba0f9a52cead0..8f31d31a829a4 100644 --- a/google/cloud/kms/v1/internal/key_management_auth_decorator.h +++ b/google/cloud/kms/v1/internal/key_management_auth_decorator.h @@ -22,6 +22,7 @@ #include "google/cloud/kms/v1/internal/key_management_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 @@ -59,6 +60,12 @@ class KeyManagementServiceAuth : public KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::ListImportJobsRequest const& request) override; + StatusOr + ListRetiredResources( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::ListRetiredResourcesRequest const& request) + override; + StatusOr GetKeyRing( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::GetKeyRingRequest const& request) override; @@ -80,6 +87,11 @@ class KeyManagementServiceAuth : public KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::GetImportJobRequest const& request) override; + StatusOr GetRetiredResource( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::GetRetiredResourceRequest const& request) + override; + StatusOr CreateKeyRing( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::CreateKeyRingRequest const& request) override; @@ -93,6 +105,28 @@ class KeyManagementServiceAuth : public KeyManagementServiceStub { google::cloud::kms::v1::CreateCryptoKeyVersionRequest const& request) override; + future> AsyncDeleteCryptoKey( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) override; + + StatusOr DeleteCryptoKey( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) override; + + future> AsyncDeleteCryptoKeyVersion( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) + override; + + StatusOr DeleteCryptoKeyVersion( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) + override; + StatusOr ImportCryptoKeyVersion( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::ImportCryptoKeyVersionRequest const& request) @@ -191,6 +225,18 @@ class KeyManagementServiceAuth : public KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::longrunning::GetOperationRequest 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_; diff --git a/google/cloud/kms/v1/internal/key_management_connection_impl.cc b/google/cloud/kms/v1/internal/key_management_connection_impl.cc index d343865be2b92..c47d22c7096d7 100644 --- a/google/cloud/kms/v1/internal/key_management_connection_impl.cc +++ b/google/cloud/kms/v1/internal/key_management_connection_impl.cc @@ -21,6 +21,7 @@ #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 @@ -49,6 +50,11 @@ idempotency_policy(Options const& options) { ->clone(); } +std::unique_ptr polling_policy(Options const& options) { + return options.get() + ->clone(); +} + } // namespace KeyManagementServiceConnectionImpl::KeyManagementServiceConnectionImpl( @@ -196,6 +202,41 @@ KeyManagementServiceConnectionImpl::ListImportJobs( }); } +StreamRange +KeyManagementServiceConnectionImpl::ListRetiredResources( + google::cloud::kms::v1::ListRetiredResourcesRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = + idempotency_policy(*current)->ListRetiredResources(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::kms::v1::ListRetiredResourcesRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::ListRetiredResourcesRequest const& + request) { + return stub->ListRetiredResources(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::kms::v1::ListRetiredResourcesResponse r) { + std::vector result( + r.retired_resources().size()); + auto& messages = *r.mutable_retired_resources(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + StatusOr KeyManagementServiceConnectionImpl::GetKeyRing( google::cloud::kms::v1::GetKeyRingRequest const& request) { @@ -267,6 +308,20 @@ KeyManagementServiceConnectionImpl::GetImportJob( *current, request, __func__); } +StatusOr +KeyManagementServiceConnectionImpl::GetRetiredResource( + google::cloud::kms::v1::GetRetiredResourceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetRetiredResource(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::GetRetiredResourceRequest const& request) { + return stub_->GetRetiredResource(context, options, request); + }, + *current, request, __func__); +} + StatusOr KeyManagementServiceConnectionImpl::CreateKeyRing( google::cloud::kms::v1::CreateKeyRingRequest const& request) { @@ -310,6 +365,190 @@ KeyManagementServiceConnectionImpl::CreateCryptoKeyVersion( *current, request, __func__); } +future> +KeyManagementServiceConnectionImpl::DeleteCryptoKey( + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->DeleteCryptoKey(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::kms::v1::DeleteCryptoKeyMetadata>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + return stub->AsyncDeleteCryptoKey(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::kms::v1::DeleteCryptoKeyMetadata>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +KeyManagementServiceConnectionImpl::DeleteCryptoKey( + NoAwaitTag, google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeleteCryptoKey(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + return stub_->DeleteCryptoKey(context, options, request); + }, + *current, request, __func__); +} + +future> +KeyManagementServiceConnectionImpl::DeleteCryptoKey( + 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 DeleteCryptoKey", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::kms::v1::DeleteCryptoKeyMetadata>( + 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::kms::v1::DeleteCryptoKeyMetadata>, + polling_policy(*current), __func__); +} + +future> +KeyManagementServiceConnectionImpl::DeleteCryptoKeyVersion( + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->DeleteCryptoKeyVersion(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::kms::v1::DeleteCryptoKeyVersionMetadata>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& + request) { + return stub->AsyncDeleteCryptoKeyVersion(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::kms::v1::DeleteCryptoKeyVersionMetadata>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +KeyManagementServiceConnectionImpl::DeleteCryptoKeyVersion( + NoAwaitTag, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeleteCryptoKeyVersion(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& + request) { + return stub_->DeleteCryptoKeyVersion(context, options, request); + }, + *current, request, __func__); +} + +future> +KeyManagementServiceConnectionImpl::DeleteCryptoKeyVersion( + 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 DeleteCryptoKeyVersion", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::kms::v1::DeleteCryptoKeyVersionMetadata>( + 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::kms::v1::DeleteCryptoKeyVersionMetadata>, + polling_policy(*current), __func__); +} + StatusOr KeyManagementServiceConnectionImpl::ImportCryptoKeyVersion( google::cloud::kms::v1::ImportCryptoKeyVersionRequest const& request) { diff --git a/google/cloud/kms/v1/internal/key_management_connection_impl.h b/google/cloud/kms/v1/internal/key_management_connection_impl.h index f540d02965b5e..277d0aa35f966 100644 --- a/google/cloud/kms/v1/internal/key_management_connection_impl.h +++ b/google/cloud/kms/v1/internal/key_management_connection_impl.h @@ -26,10 +26,13 @@ #include "google/cloud/kms/v1/key_management_options.h" #include "google/cloud/background_threads.h" #include "google/cloud/backoff_policy.h" +#include "google/cloud/future.h" #include "google/cloud/options.h" +#include "google/cloud/polling_policy.h" #include "google/cloud/status_or.h" #include "google/cloud/stream_range.h" #include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" #include namespace google { @@ -61,6 +64,9 @@ class KeyManagementServiceConnectionImpl StreamRange ListImportJobs( google::cloud::kms::v1::ListImportJobsRequest request) override; + StreamRange ListRetiredResources( + google::cloud::kms::v1::ListRetiredResourcesRequest request) override; + StatusOr GetKeyRing( google::cloud::kms::v1::GetKeyRingRequest const& request) override; @@ -77,6 +83,10 @@ class KeyManagementServiceConnectionImpl StatusOr GetImportJob( google::cloud::kms::v1::GetImportJobRequest const& request) override; + StatusOr GetRetiredResource( + google::cloud::kms::v1::GetRetiredResourceRequest const& request) + override; + StatusOr CreateKeyRing( google::cloud::kms::v1::CreateKeyRingRequest const& request) override; @@ -87,6 +97,31 @@ class KeyManagementServiceConnectionImpl google::cloud::kms::v1::CreateCryptoKeyVersionRequest const& request) override; + future> + DeleteCryptoKey( + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) override; + + StatusOr DeleteCryptoKey( + NoAwaitTag, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) override; + + future> + DeleteCryptoKey(google::longrunning::Operation const& operation) override; + + future> + DeleteCryptoKeyVersion( + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) + override; + + StatusOr DeleteCryptoKeyVersion( + NoAwaitTag, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) + override; + + future> + DeleteCryptoKeyVersion( + google::longrunning::Operation const& operation) override; + StatusOr ImportCryptoKeyVersion( google::cloud::kms::v1::ImportCryptoKeyVersionRequest const& request) override; diff --git a/google/cloud/kms/v1/internal/key_management_logging_decorator.cc b/google/cloud/kms/v1/internal/key_management_logging_decorator.cc index a8e25d016907a..ebe258da55d9c 100644 --- a/google/cloud/kms/v1/internal/key_management_logging_decorator.cc +++ b/google/cloud/kms/v1/internal/key_management_logging_decorator.cc @@ -87,6 +87,19 @@ KeyManagementServiceLogging::ListImportJobs( context, options, request, __func__, tracing_options_); } +StatusOr +KeyManagementServiceLogging::ListRetiredResources( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::ListRetiredResourcesRequest const& request) { + return google::cloud::internal::LogWrapper( + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::ListRetiredResourcesRequest const& request) { + return child_->ListRetiredResources(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + StatusOr KeyManagementServiceLogging::GetKeyRing( grpc::ClientContext& context, Options const& options, @@ -148,6 +161,18 @@ KeyManagementServiceLogging::GetImportJob( context, options, request, __func__, tracing_options_); } +StatusOr +KeyManagementServiceLogging::GetRetiredResource( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::GetRetiredResourceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::GetRetiredResourceRequest const& request) { + return child_->GetRetiredResource(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + StatusOr KeyManagementServiceLogging::CreateKeyRing( grpc::ClientContext& context, Options const& options, @@ -185,6 +210,68 @@ KeyManagementServiceLogging::CreateCryptoKeyVersion( context, options, request, __func__, tracing_options_); } +future> +KeyManagementServiceLogging::AsyncDeleteCryptoKey( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + return child_->AsyncDeleteCryptoKey(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +KeyManagementServiceLogging::DeleteCryptoKey( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + return child_->DeleteCryptoKey(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +KeyManagementServiceLogging::AsyncDeleteCryptoKeyVersion( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& + request) { + return child_->AsyncDeleteCryptoKeyVersion(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +KeyManagementServiceLogging::DeleteCryptoKeyVersion( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& + request) { + return child_->DeleteCryptoKeyVersion(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + StatusOr KeyManagementServiceLogging::ImportCryptoKeyVersion( grpc::ClientContext& context, Options const& options, @@ -466,6 +553,41 @@ KeyManagementServiceLogging::GetOperation( context, options, request, __func__, tracing_options_); } +future> +KeyManagementServiceLogging::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 KeyManagementServiceLogging::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 kms_v1_internal } // namespace cloud diff --git a/google/cloud/kms/v1/internal/key_management_logging_decorator.h b/google/cloud/kms/v1/internal/key_management_logging_decorator.h index d07d5806ee3e9..f0c70c638eb45 100644 --- a/google/cloud/kms/v1/internal/key_management_logging_decorator.h +++ b/google/cloud/kms/v1/internal/key_management_logging_decorator.h @@ -22,6 +22,7 @@ #include "google/cloud/kms/v1/internal/key_management_stub.h" #include "google/cloud/tracing_options.h" #include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" #include #include #include @@ -59,6 +60,12 @@ class KeyManagementServiceLogging : public KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::ListImportJobsRequest const& request) override; + StatusOr + ListRetiredResources( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::ListRetiredResourcesRequest const& request) + override; + StatusOr GetKeyRing( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::GetKeyRingRequest const& request) override; @@ -80,6 +87,11 @@ class KeyManagementServiceLogging : public KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::GetImportJobRequest const& request) override; + StatusOr GetRetiredResource( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::GetRetiredResourceRequest const& request) + override; + StatusOr CreateKeyRing( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::CreateKeyRingRequest const& request) override; @@ -93,6 +105,28 @@ class KeyManagementServiceLogging : public KeyManagementServiceStub { google::cloud::kms::v1::CreateCryptoKeyVersionRequest const& request) override; + future> AsyncDeleteCryptoKey( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) override; + + StatusOr DeleteCryptoKey( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) override; + + future> AsyncDeleteCryptoKeyVersion( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) + override; + + StatusOr DeleteCryptoKeyVersion( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) + override; + StatusOr ImportCryptoKeyVersion( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::ImportCryptoKeyVersionRequest const& request) @@ -191,6 +225,18 @@ class KeyManagementServiceLogging : public KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::longrunning::GetOperationRequest 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_; diff --git a/google/cloud/kms/v1/internal/key_management_metadata_decorator.cc b/google/cloud/kms/v1/internal/key_management_metadata_decorator.cc index d847dd74ce5cc..abb6185125c6c 100644 --- a/google/cloud/kms/v1/internal/key_management_metadata_decorator.cc +++ b/google/cloud/kms/v1/internal/key_management_metadata_decorator.cc @@ -84,6 +84,15 @@ KeyManagementServiceMetadata::ListImportJobs( return child_->ListImportJobs(context, options, request); } +StatusOr +KeyManagementServiceMetadata::ListRetiredResources( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::ListRetiredResourcesRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListRetiredResources(context, options, request); +} + StatusOr KeyManagementServiceMetadata::GetKeyRing( grpc::ClientContext& context, Options const& options, @@ -129,6 +138,15 @@ KeyManagementServiceMetadata::GetImportJob( return child_->GetImportJob(context, options, request); } +StatusOr +KeyManagementServiceMetadata::GetRetiredResource( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::GetRetiredResourceRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetRetiredResource(context, options, request); +} + StatusOr KeyManagementServiceMetadata::CreateKeyRing( grpc::ClientContext& context, Options const& options, @@ -156,6 +174,48 @@ KeyManagementServiceMetadata::CreateCryptoKeyVersion( return child_->CreateCryptoKeyVersion(context, options, request); } +future> +KeyManagementServiceMetadata::AsyncDeleteCryptoKey( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncDeleteCryptoKey(cq, std::move(context), + std::move(options), request); +} + +StatusOr +KeyManagementServiceMetadata::DeleteCryptoKey( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->DeleteCryptoKey(context, options, request); +} + +future> +KeyManagementServiceMetadata::AsyncDeleteCryptoKeyVersion( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncDeleteCryptoKeyVersion(cq, std::move(context), + std::move(options), request); +} + +StatusOr +KeyManagementServiceMetadata::DeleteCryptoKeyVersion( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->DeleteCryptoKeyVersion(context, options, request); +} + StatusOr KeyManagementServiceMetadata::ImportCryptoKeyVersion( grpc::ClientContext& context, Options const& options, @@ -369,6 +429,29 @@ KeyManagementServiceMetadata::GetOperation( return child_->GetOperation(context, options, request); } +future> +KeyManagementServiceMetadata::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 KeyManagementServiceMetadata::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 KeyManagementServiceMetadata::SetMetadata( grpc::ClientContext& context, Options const& options, std::string const& request_params) { diff --git a/google/cloud/kms/v1/internal/key_management_metadata_decorator.h b/google/cloud/kms/v1/internal/key_management_metadata_decorator.h index bf597d4e9a3d7..18aa6950c33d1 100644 --- a/google/cloud/kms/v1/internal/key_management_metadata_decorator.h +++ b/google/cloud/kms/v1/internal/key_management_metadata_decorator.h @@ -22,6 +22,7 @@ #include "google/cloud/kms/v1/internal/key_management_stub.h" #include "google/cloud/options.h" #include "google/cloud/version.h" +#include "google/longrunning/operations.grpc.pb.h" #include #include #include @@ -60,6 +61,12 @@ class KeyManagementServiceMetadata : public KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::ListImportJobsRequest const& request) override; + StatusOr + ListRetiredResources( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::ListRetiredResourcesRequest const& request) + override; + StatusOr GetKeyRing( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::GetKeyRingRequest const& request) override; @@ -81,6 +88,11 @@ class KeyManagementServiceMetadata : public KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::GetImportJobRequest const& request) override; + StatusOr GetRetiredResource( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::GetRetiredResourceRequest const& request) + override; + StatusOr CreateKeyRing( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::CreateKeyRingRequest const& request) override; @@ -94,6 +106,28 @@ class KeyManagementServiceMetadata : public KeyManagementServiceStub { google::cloud::kms::v1::CreateCryptoKeyVersionRequest const& request) override; + future> AsyncDeleteCryptoKey( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) override; + + StatusOr DeleteCryptoKey( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) override; + + future> AsyncDeleteCryptoKeyVersion( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) + override; + + StatusOr DeleteCryptoKeyVersion( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) + override; + StatusOr ImportCryptoKeyVersion( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::ImportCryptoKeyVersionRequest const& request) @@ -192,6 +226,18 @@ class KeyManagementServiceMetadata : public KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::longrunning::GetOperationRequest 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); diff --git a/google/cloud/kms/v1/internal/key_management_option_defaults.cc b/google/cloud/kms/v1/internal/key_management_option_defaults.cc index 045b303992b13..4b166b6804510 100644 --- a/google/cloud/kms/v1/internal/key_management_option_defaults.cc +++ b/google/cloud/kms/v1/internal/key_management_option_defaults.cc @@ -52,6 +52,18 @@ Options KeyManagementServiceDefaultOptions(Options options) { std::chrono::minutes(5), kBackoffScaling, kBackoffScaling) .clone()); } + if (!options.has()) { + options.set( + GenericPollingPolicy< + kms_v1::KeyManagementServiceRetryPolicyOption::Type, + kms_v1::KeyManagementServiceBackoffPolicyOption::Type>( + options.get() + ->clone(), + ExponentialBackoffPolicy(std::chrono::seconds(1), + std::chrono::minutes(5), kBackoffScaling) + .clone()) + .clone()); + } if (!options.has< kms_v1::KeyManagementServiceConnectionIdempotencyPolicyOption>()) { options.set( diff --git a/google/cloud/kms/v1/internal/key_management_stub.cc b/google/cloud/kms/v1/internal/key_management_stub.cc index 4a2b0f950a753..f33d3ba985070 100644 --- a/google/cloud/kms/v1/internal/key_management_stub.cc +++ b/google/cloud/kms/v1/internal/key_management_stub.cc @@ -20,6 +20,7 @@ #include "google/cloud/kms/v1/service.grpc.pb.h" #include "google/cloud/grpc_error_delegate.h" #include "google/cloud/status_or.h" +#include "google/longrunning/operations.grpc.pb.h" #include #include @@ -81,6 +82,18 @@ DefaultKeyManagementServiceStub::ListImportJobs( return response; } +StatusOr +DefaultKeyManagementServiceStub::ListRetiredResources( + grpc::ClientContext& context, Options const&, + google::cloud::kms::v1::ListRetiredResourcesRequest const& request) { + google::cloud::kms::v1::ListRetiredResourcesResponse response; + auto status = grpc_stub_->ListRetiredResources(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + StatusOr DefaultKeyManagementServiceStub::GetKeyRing( grpc::ClientContext& context, Options const&, @@ -141,6 +154,18 @@ DefaultKeyManagementServiceStub::GetImportJob( return response; } +StatusOr +DefaultKeyManagementServiceStub::GetRetiredResource( + grpc::ClientContext& context, Options const&, + google::cloud::kms::v1::GetRetiredResourceRequest const& request) { + google::cloud::kms::v1::RetiredResource response; + auto status = grpc_stub_->GetRetiredResource(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + StatusOr DefaultKeyManagementServiceStub::CreateKeyRing( grpc::ClientContext& context, Options const&, @@ -178,6 +203,68 @@ DefaultKeyManagementServiceStub::CreateCryptoKeyVersion( return response; } +future> +DefaultKeyManagementServiceStub::AsyncDeleteCryptoKey( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::kms::v1::DeleteCryptoKeyRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncDeleteCryptoKey(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultKeyManagementServiceStub::DeleteCryptoKey( + grpc::ClientContext& context, Options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->DeleteCryptoKey(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultKeyManagementServiceStub::AsyncDeleteCryptoKeyVersion( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest, + google::longrunning::Operation>( + cq, + [this]( + grpc::ClientContext* context, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncDeleteCryptoKeyVersion(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultKeyManagementServiceStub::DeleteCryptoKeyVersion( + grpc::ClientContext& context, Options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) { + google::longrunning::Operation response; + auto status = + grpc_stub_->DeleteCryptoKeyVersion(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + StatusOr DefaultKeyManagementServiceStub::ImportCryptoKeyVersion( grpc::ClientContext& context, Options const&, @@ -459,6 +546,45 @@ DefaultKeyManagementServiceStub::GetOperation( return response; } +future> +DefaultKeyManagementServiceStub::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 DefaultKeyManagementServiceStub::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 kms_v1_internal } // namespace cloud diff --git a/google/cloud/kms/v1/internal/key_management_stub.h b/google/cloud/kms/v1/internal/key_management_stub.h index db7a319c576e9..e609f9cafac7f 100644 --- a/google/cloud/kms/v1/internal/key_management_stub.h +++ b/google/cloud/kms/v1/internal/key_management_stub.h @@ -21,6 +21,8 @@ #include "google/cloud/kms/v1/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" @@ -60,6 +62,11 @@ class KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::ListImportJobsRequest const& request) = 0; + virtual StatusOr + ListRetiredResources( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::ListRetiredResourcesRequest const& request) = 0; + virtual StatusOr GetKeyRing( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::GetKeyRingRequest const& request) = 0; @@ -81,6 +88,10 @@ class KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::GetImportJobRequest const& request) = 0; + virtual StatusOr GetRetiredResource( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::GetRetiredResourceRequest const& request) = 0; + virtual StatusOr CreateKeyRing( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::CreateKeyRingRequest const& request) = 0; @@ -94,6 +105,27 @@ class KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::CreateCryptoKeyVersionRequest const& request) = 0; + virtual future> AsyncDeleteCryptoKey( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) = 0; + + virtual StatusOr DeleteCryptoKey( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) = 0; + + virtual future> + AsyncDeleteCryptoKeyVersion( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) = 0; + + virtual StatusOr DeleteCryptoKeyVersion( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) = 0; + virtual StatusOr ImportCryptoKeyVersion( grpc::ClientContext& context, Options const& options, @@ -198,23 +230,35 @@ class KeyManagementServiceStub { virtual StatusOr GetOperation( grpc::ClientContext& context, Options const& options, google::longrunning::GetOperationRequest 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 DefaultKeyManagementServiceStub : public KeyManagementServiceStub { public: - explicit DefaultKeyManagementServiceStub( + DefaultKeyManagementServiceStub( std::unique_ptr< google::cloud::kms::v1::KeyManagementService::StubInterface> grpc_stub, - std::unique_ptr - operations_stub, std::unique_ptr iampolicy_stub, std::unique_ptr - locations_stub) + locations_stub, + std::unique_ptr + operations_stub) : grpc_stub_(std::move(grpc_stub)), - operations_stub_(std::move(operations_stub)), iampolicy_stub_(std::move(iampolicy_stub)), - locations_stub_(std::move(locations_stub)) {} + locations_stub_(std::move(locations_stub)), + operations_stub_(std::move(operations_stub)) {} StatusOr ListKeyRings( grpc::ClientContext& context, Options const& options, @@ -234,6 +278,12 @@ class DefaultKeyManagementServiceStub : public KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::ListImportJobsRequest const& request) override; + StatusOr + ListRetiredResources( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::ListRetiredResourcesRequest const& request) + override; + StatusOr GetKeyRing( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::GetKeyRingRequest const& request) override; @@ -255,6 +305,11 @@ class DefaultKeyManagementServiceStub : public KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::GetImportJobRequest const& request) override; + StatusOr GetRetiredResource( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::GetRetiredResourceRequest const& request) + override; + StatusOr CreateKeyRing( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::CreateKeyRingRequest const& request) override; @@ -268,6 +323,28 @@ class DefaultKeyManagementServiceStub : public KeyManagementServiceStub { google::cloud::kms::v1::CreateCryptoKeyVersionRequest const& request) override; + future> AsyncDeleteCryptoKey( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) override; + + StatusOr DeleteCryptoKey( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) override; + + future> AsyncDeleteCryptoKeyVersion( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) + override; + + StatusOr DeleteCryptoKeyVersion( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) + override; + StatusOr ImportCryptoKeyVersion( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::ImportCryptoKeyVersionRequest const& request) @@ -366,14 +443,26 @@ class DefaultKeyManagementServiceStub : public KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::longrunning::GetOperationRequest const& request) override; + future> AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) override; + + future AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) override; + private: std::unique_ptr grpc_stub_; - std::unique_ptr - operations_stub_; std::unique_ptr iampolicy_stub_; std::unique_ptr locations_stub_; + std::unique_ptr + operations_stub_; }; GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END diff --git a/google/cloud/kms/v1/internal/key_management_stub_factory.cc b/google/cloud/kms/v1/internal/key_management_stub_factory.cc index c60c567db2626..67a06e50aa941 100644 --- a/google/cloud/kms/v1/internal/key_management_stub_factory.cc +++ b/google/cloud/kms/v1/internal/key_management_stub_factory.cc @@ -50,15 +50,14 @@ std::shared_ptr CreateDefaultKeyManagementServiceStub( internal::MakeChannelArguments(options)); auto service_grpc_stub = google::cloud::kms::v1::KeyManagementService::NewStub(channel); - auto service_operations_stub = - google::longrunning::Operations::NewStub(channel); auto service_iampolicy_stub = google::iam::v1::IAMPolicy::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_operations_stub), - std::move(service_iampolicy_stub), std::move(service_locations_stub)); + std::move(service_grpc_stub), std::move(service_iampolicy_stub), + std::move(service_locations_stub), + google::longrunning::Operations::NewStub(channel)); if (auth->RequiresConfigureContext()) { stub = std::make_shared(std::move(auth), diff --git a/google/cloud/kms/v1/internal/key_management_tracing_connection.cc b/google/cloud/kms/v1/internal/key_management_tracing_connection.cc index cf22ff8b970e2..10b86de704541 100644 --- a/google/cloud/kms/v1/internal/key_management_tracing_connection.cc +++ b/google/cloud/kms/v1/internal/key_management_tracing_connection.cc @@ -75,6 +75,17 @@ KeyManagementServiceTracingConnection::ListImportJobs( std::move(span), std::move(sr)); } +StreamRange +KeyManagementServiceTracingConnection::ListRetiredResources( + google::cloud::kms::v1::ListRetiredResourcesRequest request) { + auto span = internal::MakeSpan( + "kms_v1::KeyManagementServiceConnection::ListRetiredResources"); + internal::OTelScope scope(span); + auto sr = child_->ListRetiredResources(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::kms::v1::RetiredResource>(std::move(span), std::move(sr)); +} + StatusOr KeyManagementServiceTracingConnection::GetKeyRing( google::cloud::kms::v1::GetKeyRingRequest const& request) { @@ -120,6 +131,15 @@ KeyManagementServiceTracingConnection::GetImportJob( return internal::EndSpan(*span, child_->GetImportJob(request)); } +StatusOr +KeyManagementServiceTracingConnection::GetRetiredResource( + google::cloud::kms::v1::GetRetiredResourceRequest const& request) { + auto span = internal::MakeSpan( + "kms_v1::KeyManagementServiceConnection::GetRetiredResource"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetRetiredResource(request)); +} + StatusOr KeyManagementServiceTracingConnection::CreateKeyRing( google::cloud::kms::v1::CreateKeyRingRequest const& request) { @@ -147,6 +167,65 @@ KeyManagementServiceTracingConnection::CreateCryptoKeyVersion( return internal::EndSpan(*span, child_->CreateCryptoKeyVersion(request)); } +future> +KeyManagementServiceTracingConnection::DeleteCryptoKey( + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + auto span = internal::MakeSpan( + "kms_v1::KeyManagementServiceConnection::DeleteCryptoKey"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->DeleteCryptoKey(request)); +} + +StatusOr +KeyManagementServiceTracingConnection::DeleteCryptoKey( + NoAwaitTag, google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + auto span = internal::MakeSpan( + "kms_v1::KeyManagementServiceConnection::DeleteCryptoKey"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, + child_->DeleteCryptoKey(NoAwaitTag{}, request)); +} + +future> +KeyManagementServiceTracingConnection::DeleteCryptoKey( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "kms_v1::KeyManagementServiceConnection::DeleteCryptoKey"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), child_->DeleteCryptoKey(operation)); +} + +future> +KeyManagementServiceTracingConnection::DeleteCryptoKeyVersion( + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) { + auto span = internal::MakeSpan( + "kms_v1::KeyManagementServiceConnection::DeleteCryptoKeyVersion"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeleteCryptoKeyVersion(request)); +} + +StatusOr +KeyManagementServiceTracingConnection::DeleteCryptoKeyVersion( + NoAwaitTag, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) { + auto span = internal::MakeSpan( + "kms_v1::KeyManagementServiceConnection::DeleteCryptoKeyVersion"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan( + *span, child_->DeleteCryptoKeyVersion(NoAwaitTag{}, request)); +} + +future> +KeyManagementServiceTracingConnection::DeleteCryptoKeyVersion( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "kms_v1::KeyManagementServiceConnection::DeleteCryptoKeyVersion"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeleteCryptoKeyVersion(operation)); +} + StatusOr KeyManagementServiceTracingConnection::ImportCryptoKeyVersion( google::cloud::kms::v1::ImportCryptoKeyVersionRequest const& request) { diff --git a/google/cloud/kms/v1/internal/key_management_tracing_connection.h b/google/cloud/kms/v1/internal/key_management_tracing_connection.h index 48de3735374f7..cf2e377953f7b 100644 --- a/google/cloud/kms/v1/internal/key_management_tracing_connection.h +++ b/google/cloud/kms/v1/internal/key_management_tracing_connection.h @@ -50,6 +50,9 @@ class KeyManagementServiceTracingConnection StreamRange ListImportJobs( google::cloud::kms::v1::ListImportJobsRequest request) override; + StreamRange ListRetiredResources( + google::cloud::kms::v1::ListRetiredResourcesRequest request) override; + StatusOr GetKeyRing( google::cloud::kms::v1::GetKeyRingRequest const& request) override; @@ -66,6 +69,10 @@ class KeyManagementServiceTracingConnection StatusOr GetImportJob( google::cloud::kms::v1::GetImportJobRequest const& request) override; + StatusOr GetRetiredResource( + google::cloud::kms::v1::GetRetiredResourceRequest const& request) + override; + StatusOr CreateKeyRing( google::cloud::kms::v1::CreateKeyRingRequest const& request) override; @@ -76,6 +83,31 @@ class KeyManagementServiceTracingConnection google::cloud::kms::v1::CreateCryptoKeyVersionRequest const& request) override; + future> + DeleteCryptoKey( + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) override; + + StatusOr DeleteCryptoKey( + NoAwaitTag, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) override; + + future> + DeleteCryptoKey(google::longrunning::Operation const& operation) override; + + future> + DeleteCryptoKeyVersion( + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) + override; + + StatusOr DeleteCryptoKeyVersion( + NoAwaitTag, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) + override; + + future> + DeleteCryptoKeyVersion( + google::longrunning::Operation const& operation) override; + StatusOr ImportCryptoKeyVersion( google::cloud::kms::v1::ImportCryptoKeyVersionRequest const& request) override; diff --git a/google/cloud/kms/v1/internal/key_management_tracing_stub.cc b/google/cloud/kms/v1/internal/key_management_tracing_stub.cc index 692f9eb89d7af..9821ffd486d2b 100644 --- a/google/cloud/kms/v1/internal/key_management_tracing_stub.cc +++ b/google/cloud/kms/v1/internal/key_management_tracing_stub.cc @@ -81,6 +81,18 @@ KeyManagementServiceTracingStub::ListImportJobs( child_->ListImportJobs(context, options, request)); } +StatusOr +KeyManagementServiceTracingStub::ListRetiredResources( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::ListRetiredResourcesRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.kms.v1.KeyManagementService", + "ListRetiredResources"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->ListRetiredResources(context, options, request)); +} + StatusOr KeyManagementServiceTracingStub::GetKeyRing( grpc::ClientContext& context, Options const& options, @@ -141,6 +153,18 @@ KeyManagementServiceTracingStub::GetImportJob( child_->GetImportJob(context, options, request)); } +StatusOr +KeyManagementServiceTracingStub::GetRetiredResource( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::GetRetiredResourceRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.kms.v1.KeyManagementService", + "GetRetiredResource"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->GetRetiredResource(context, options, request)); +} + StatusOr KeyManagementServiceTracingStub::CreateKeyRing( grpc::ClientContext& context, Options const& options, @@ -178,6 +202,61 @@ KeyManagementServiceTracingStub::CreateCryptoKeyVersion( child_->CreateCryptoKeyVersion(context, options, request)); } +future> +KeyManagementServiceTracingStub::AsyncDeleteCryptoKey( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.kms.v1.KeyManagementService", + "DeleteCryptoKey"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = + child_->AsyncDeleteCryptoKey(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +KeyManagementServiceTracingStub::DeleteCryptoKey( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.kms.v1.KeyManagementService", + "DeleteCryptoKey"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->DeleteCryptoKey(context, options, request)); +} + +future> +KeyManagementServiceTracingStub::AsyncDeleteCryptoKeyVersion( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.kms.v1.KeyManagementService", + "DeleteCryptoKeyVersion"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncDeleteCryptoKeyVersion(cq, context, std::move(options), + request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +KeyManagementServiceTracingStub::DeleteCryptoKeyVersion( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.kms.v1.KeyManagementService", + "DeleteCryptoKeyVersion"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->DeleteCryptoKeyVersion(context, options, request)); +} + StatusOr KeyManagementServiceTracingStub::ImportCryptoKeyVersion( grpc::ClientContext& context, Options const& options, @@ -458,6 +537,34 @@ KeyManagementServiceTracingStub::GetOperation( child_->GetOperation(context, options, request)); } +future> +KeyManagementServiceTracingStub::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 KeyManagementServiceTracingStub::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 MakeKeyManagementServiceTracingStub( std::shared_ptr stub) { return std::make_shared(std::move(stub)); diff --git a/google/cloud/kms/v1/internal/key_management_tracing_stub.h b/google/cloud/kms/v1/internal/key_management_tracing_stub.h index 57cd71f7a2df6..373bd11a4af17 100644 --- a/google/cloud/kms/v1/internal/key_management_tracing_stub.h +++ b/google/cloud/kms/v1/internal/key_management_tracing_stub.h @@ -58,6 +58,12 @@ class KeyManagementServiceTracingStub : public KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::ListImportJobsRequest const& request) override; + StatusOr + ListRetiredResources( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::ListRetiredResourcesRequest const& request) + override; + StatusOr GetKeyRing( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::GetKeyRingRequest const& request) override; @@ -79,6 +85,11 @@ class KeyManagementServiceTracingStub : public KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::GetImportJobRequest const& request) override; + StatusOr GetRetiredResource( + grpc::ClientContext& context, Options const& options, + google::cloud::kms::v1::GetRetiredResourceRequest const& request) + override; + StatusOr CreateKeyRing( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::CreateKeyRingRequest const& request) override; @@ -92,6 +103,28 @@ class KeyManagementServiceTracingStub : public KeyManagementServiceStub { google::cloud::kms::v1::CreateCryptoKeyVersionRequest const& request) override; + future> AsyncDeleteCryptoKey( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) override; + + StatusOr DeleteCryptoKey( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request) override; + + future> AsyncDeleteCryptoKeyVersion( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) + override; + + StatusOr DeleteCryptoKeyVersion( + grpc::ClientContext& context, Options options, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request) + override; + StatusOr ImportCryptoKeyVersion( grpc::ClientContext& context, Options const& options, google::cloud::kms::v1::ImportCryptoKeyVersionRequest const& request) @@ -190,6 +223,18 @@ class KeyManagementServiceTracingStub : public KeyManagementServiceStub { grpc::ClientContext& context, Options const& options, google::longrunning::GetOperationRequest 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 diff --git a/google/cloud/kms/v1/key_management_client.cc b/google/cloud/kms/v1/key_management_client.cc index 9953665cfd552..2228b8b690aa2 100644 --- a/google/cloud/kms/v1/key_management_client.cc +++ b/google/cloud/kms/v1/key_management_client.cc @@ -97,6 +97,22 @@ KeyManagementServiceClient::ListImportJobs( return connection_->ListImportJobs(std::move(request)); } +StreamRange +KeyManagementServiceClient::ListRetiredResources(std::string const& parent, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::kms::v1::ListRetiredResourcesRequest request; + request.set_parent(parent); + return connection_->ListRetiredResources(request); +} + +StreamRange +KeyManagementServiceClient::ListRetiredResources( + google::cloud::kms::v1::ListRetiredResourcesRequest request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListRetiredResources(std::move(request)); +} + StatusOr KeyManagementServiceClient::GetKeyRing(std::string const& name, Options opts) { internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); @@ -177,6 +193,23 @@ KeyManagementServiceClient::GetImportJob( return connection_->GetImportJob(request); } +StatusOr +KeyManagementServiceClient::GetRetiredResource(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::kms::v1::GetRetiredResourceRequest request; + request.set_name(name); + return connection_->GetRetiredResource(request); +} + +StatusOr +KeyManagementServiceClient::GetRetiredResource( + google::cloud::kms::v1::GetRetiredResourceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetRetiredResource(request); +} + StatusOr KeyManagementServiceClient::CreateKeyRing( std::string const& parent, std::string const& key_ring_id, @@ -236,6 +269,90 @@ KeyManagementServiceClient::CreateCryptoKeyVersion( return connection_->CreateCryptoKeyVersion(request); } +future> +KeyManagementServiceClient::DeleteCryptoKey(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::kms::v1::DeleteCryptoKeyRequest request; + request.set_name(name); + return connection_->DeleteCryptoKey(request); +} + +StatusOr +KeyManagementServiceClient::DeleteCryptoKey(NoAwaitTag, std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::kms::v1::DeleteCryptoKeyRequest request; + request.set_name(name); + return connection_->DeleteCryptoKey(NoAwaitTag{}, request); +} + +future> +KeyManagementServiceClient::DeleteCryptoKey( + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteCryptoKey(request); +} + +StatusOr +KeyManagementServiceClient::DeleteCryptoKey( + NoAwaitTag, google::cloud::kms::v1::DeleteCryptoKeyRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteCryptoKey(NoAwaitTag{}, request); +} + +future> +KeyManagementServiceClient::DeleteCryptoKey( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteCryptoKey(operation); +} + +future> +KeyManagementServiceClient::DeleteCryptoKeyVersion(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest request; + request.set_name(name); + return connection_->DeleteCryptoKeyVersion(request); +} + +StatusOr +KeyManagementServiceClient::DeleteCryptoKeyVersion(NoAwaitTag, + std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest request; + request.set_name(name); + return connection_->DeleteCryptoKeyVersion(NoAwaitTag{}, request); +} + +future> +KeyManagementServiceClient::DeleteCryptoKeyVersion( + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteCryptoKeyVersion(request); +} + +StatusOr +KeyManagementServiceClient::DeleteCryptoKeyVersion( + NoAwaitTag, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteCryptoKeyVersion(NoAwaitTag{}, request); +} + +future> +KeyManagementServiceClient::DeleteCryptoKeyVersion( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteCryptoKeyVersion(operation); +} + StatusOr KeyManagementServiceClient::ImportCryptoKeyVersion( google::cloud::kms::v1::ImportCryptoKeyVersionRequest const& request, diff --git a/google/cloud/kms/v1/key_management_client.h b/google/cloud/kms/v1/key_management_client.h index b7547388af63f..2fb5853ed924e 100644 --- a/google/cloud/kms/v1/key_management_client.h +++ b/google/cloud/kms/v1/key_management_client.h @@ -21,10 +21,12 @@ #include "google/cloud/kms/v1/key_management_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 @@ -76,7 +78,7 @@ GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN /// [google.cloud.kms.v1.CryptoKeyVersion]: /// @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} /// [google.cloud.kms.v1.ImportJob]: -/// @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L841} +/// @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L868} /// [google.cloud.kms.v1.KeyRing]: /// @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L36} /// @@ -138,7 +140,7 @@ class KeyManagementServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.KeyRing]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L36} - /// [google.cloud.kms.v1.ListKeyRingsRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L420} + /// [google.cloud.kms.v1.ListKeyRingsRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L484} /// // clang-format on StreamRange ListKeyRings( @@ -177,7 +179,7 @@ class KeyManagementServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.KeyRing]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L36} - /// [google.cloud.kms.v1.ListKeyRingsRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L420} + /// [google.cloud.kms.v1.ListKeyRingsRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L484} /// // clang-format on StreamRange ListKeyRings( @@ -213,7 +215,7 @@ class KeyManagementServiceClient { /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} /// [google.cloud.kms.v1.KeyRing]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L36} - /// [google.cloud.kms.v1.ListCryptoKeysRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L459} + /// [google.cloud.kms.v1.ListCryptoKeysRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L523} /// // clang-format on StreamRange ListCryptoKeys( @@ -252,7 +254,7 @@ class KeyManagementServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} - /// [google.cloud.kms.v1.ListCryptoKeysRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L459} + /// [google.cloud.kms.v1.ListCryptoKeysRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L523} /// // clang-format on StreamRange ListCryptoKeys( @@ -289,7 +291,7 @@ class KeyManagementServiceClient { /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.ListCryptoKeyVersionsRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L500} + /// [google.cloud.kms.v1.ListCryptoKeyVersionsRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L564} /// // clang-format on StreamRange ListCryptoKeyVersions( @@ -328,7 +330,7 @@ class KeyManagementServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.ListCryptoKeyVersionsRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L500} + /// [google.cloud.kms.v1.ListCryptoKeyVersionsRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L564} /// // clang-format on StreamRange ListCryptoKeyVersions( @@ -363,9 +365,9 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.ImportJob]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L841} + /// [google.cloud.kms.v1.ImportJob]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L868} /// [google.cloud.kms.v1.KeyRing]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L36} - /// [google.cloud.kms.v1.ListImportJobsRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L542} + /// [google.cloud.kms.v1.ListImportJobsRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L606} /// // clang-format on StreamRange ListImportJobs( @@ -403,13 +405,95 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.ImportJob]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L841} - /// [google.cloud.kms.v1.ListImportJobsRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L542} + /// [google.cloud.kms.v1.ImportJob]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L868} + /// [google.cloud.kms.v1.ListImportJobsRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L606} /// // clang-format on StreamRange ListImportJobs( google::cloud::kms::v1::ListImportJobsRequest request, Options opts = {}); + // clang-format off + /// + /// Lists the [RetiredResources][google.cloud.kms.v1.RetiredResource] which are + /// the records of deleted [CryptoKeys][google.cloud.kms.v1.CryptoKey]. + /// RetiredResources prevent the reuse of these resource names after deletion. + /// + /// @param parent Required. The project-specific location holding the + /// [RetiredResources][google.cloud.kms.v1.RetiredResource], in the format + /// `projects/*/locations/*`. + /// @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.kms.v1.RetiredResource], 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.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} + /// [google.cloud.kms.v1.ListRetiredResourcesRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L644} + /// [google.cloud.kms.v1.RetiredResource]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1073} + /// + // clang-format on + StreamRange ListRetiredResources( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists the [RetiredResources][google.cloud.kms.v1.RetiredResource] which are + /// the records of deleted [CryptoKeys][google.cloud.kms.v1.CryptoKey]. + /// RetiredResources prevent the reuse of these resource names after deletion. + /// + /// @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.kms.v1.ListRetiredResourcesRequest]. + /// 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.kms.v1.RetiredResource], 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.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} + /// [google.cloud.kms.v1.ListRetiredResourcesRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L644} + /// [google.cloud.kms.v1.RetiredResource]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1073} + /// + // clang-format on + StreamRange ListRetiredResources( + google::cloud::kms::v1::ListRetiredResourcesRequest request, + Options opts = {}); + // clang-format off /// /// Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing]. @@ -429,7 +513,7 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.GetKeyRingRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L661} + /// [google.cloud.kms.v1.GetKeyRingRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L769} /// [google.cloud.kms.v1.KeyRing]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L36} /// [google.cloud.kms.v1.KeyRing.name]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L45} /// @@ -460,7 +544,7 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.GetKeyRingRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L661} + /// [google.cloud.kms.v1.GetKeyRingRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L769} /// [google.cloud.kms.v1.KeyRing]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L36} /// // clang-format on @@ -493,7 +577,7 @@ class KeyManagementServiceClient { /// [google.cloud.kms.v1.CryptoKey.name]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L114} /// [google.cloud.kms.v1.CryptoKey.primary]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L129} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.GetCryptoKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L674} + /// [google.cloud.kms.v1.GetCryptoKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L782} /// // clang-format on StatusOr GetCryptoKey( @@ -527,7 +611,7 @@ class KeyManagementServiceClient { /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} /// [google.cloud.kms.v1.CryptoKey.primary]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L129} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.GetCryptoKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L674} + /// [google.cloud.kms.v1.GetCryptoKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L782} /// // clang-format on StatusOr GetCryptoKey( @@ -555,8 +639,8 @@ class KeyManagementServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.CryptoKeyVersion.name]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L594} - /// [google.cloud.kms.v1.GetCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L687} + /// [google.cloud.kms.v1.CryptoKeyVersion.name]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L621} + /// [google.cloud.kms.v1.GetCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L795} /// // clang-format on StatusOr GetCryptoKeyVersion( @@ -587,7 +671,7 @@ class KeyManagementServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.GetCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L687} + /// [google.cloud.kms.v1.GetCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L795} /// // clang-format on StatusOr GetCryptoKeyVersion( @@ -622,9 +706,9 @@ class KeyManagementServiceClient { /// [google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L84} /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.CryptoKeyVersion.name]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L594} - /// [google.cloud.kms.v1.GetPublicKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L700} - /// [google.cloud.kms.v1.PublicKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L716} + /// [google.cloud.kms.v1.CryptoKeyVersion.name]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L621} + /// [google.cloud.kms.v1.GetPublicKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L808} + /// [google.cloud.kms.v1.PublicKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L743} /// // clang-format on StatusOr GetPublicKey( @@ -662,8 +746,8 @@ class KeyManagementServiceClient { /// [google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L84} /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.GetPublicKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L700} - /// [google.cloud.kms.v1.PublicKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L716} + /// [google.cloud.kms.v1.GetPublicKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L808} + /// [google.cloud.kms.v1.PublicKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L743} /// // clang-format on StatusOr GetPublicKey( @@ -689,9 +773,9 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.GetImportJobRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L723} - /// [google.cloud.kms.v1.ImportJob]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L841} - /// [google.cloud.kms.v1.ImportJob.name]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L937} + /// [google.cloud.kms.v1.GetImportJobRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L831} + /// [google.cloud.kms.v1.ImportJob]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L868} + /// [google.cloud.kms.v1.ImportJob.name]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L964} /// // clang-format on StatusOr GetImportJob( @@ -720,14 +804,78 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.GetImportJobRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L723} - /// [google.cloud.kms.v1.ImportJob]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L841} + /// [google.cloud.kms.v1.GetImportJobRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L831} + /// [google.cloud.kms.v1.ImportJob]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L868} /// // clang-format on StatusOr GetImportJob( google::cloud::kms::v1::GetImportJobRequest const& request, Options opts = {}); + // clang-format off + /// + /// Retrieves a specific [RetiredResource][google.cloud.kms.v1.RetiredResource] + /// resource, which represents the record of a deleted + /// [CryptoKey][google.cloud.kms.v1.CryptoKey]. + /// + /// @param name Required. The [name][google.cloud.kms.v1.RetiredResource.name] of the + /// [RetiredResource][google.cloud.kms.v1.RetiredResource] to get. + /// @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.kms.v1.RetiredResource]) + /// 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.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} + /// [google.cloud.kms.v1.GetRetiredResourceRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L844} + /// [google.cloud.kms.v1.RetiredResource]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1073} + /// [google.cloud.kms.v1.RetiredResource.name]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1084} + /// + // clang-format on + StatusOr GetRetiredResource( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Retrieves a specific [RetiredResource][google.cloud.kms.v1.RetiredResource] + /// resource, which represents the record of a deleted + /// [CryptoKey][google.cloud.kms.v1.CryptoKey]. + /// + /// @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.kms.v1.GetRetiredResourceRequest]. + /// 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.kms.v1.RetiredResource]) + /// 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.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} + /// [google.cloud.kms.v1.GetRetiredResourceRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L844} + /// [google.cloud.kms.v1.RetiredResource]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1073} + /// + // clang-format on + StatusOr GetRetiredResource( + google::cloud::kms::v1::GetRetiredResourceRequest const& request, + Options opts = {}); + // clang-format off /// /// Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and @@ -753,7 +901,7 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.CreateKeyRingRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L736} + /// [google.cloud.kms.v1.CreateKeyRingRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L857} /// [google.cloud.kms.v1.KeyRing]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L36} /// // clang-format on @@ -785,7 +933,7 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.CreateKeyRingRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L736} + /// [google.cloud.kms.v1.CreateKeyRingRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L857} /// [google.cloud.kms.v1.KeyRing]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L36} /// // clang-format on @@ -821,7 +969,7 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.CreateCryptoKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L758} + /// [google.cloud.kms.v1.CreateCryptoKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L879} /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} /// [google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L253} @@ -861,7 +1009,7 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.CreateCryptoKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L758} + /// [google.cloud.kms.v1.CreateCryptoKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L879} /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} /// [google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L253} @@ -899,12 +1047,12 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.CreateCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L789} + /// [google.cloud.kms.v1.CreateCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L910} /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} /// [google.cloud.kms.v1.CryptoKey.name]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L114} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L516} - /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L598} + /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L543} + /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L625} /// // clang-format on StatusOr CreateCryptoKeyVersion( @@ -940,17 +1088,287 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.CreateCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L789} + /// [google.cloud.kms.v1.CreateCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L910} /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L516} - /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L598} + /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L543} + /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L625} /// // clang-format on StatusOr CreateCryptoKeyVersion( google::cloud::kms::v1::CreateCryptoKeyVersionRequest const& request, Options opts = {}); + // clang-format off + /// + /// Permanently deletes the given [CryptoKey][google.cloud.kms.v1.CryptoKey]. + /// All child [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] must + /// have been previously deleted using + /// [KeyManagementService.DeleteCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DeleteCryptoKeyVersion]. + /// The specified crypto key will be immediately and permanently deleted upon + /// calling this method. This action cannot be undone. + /// + /// @param name Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the + /// [CryptoKey][google.cloud.kms.v1.CryptoKey] to delete. + /// @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.kms.v1.DeleteCryptoKeyMetadata] 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.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} + /// [google.cloud.kms.v1.CryptoKey.name]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L114} + /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} + /// [google.cloud.kms.v1.DeleteCryptoKeyMetadata]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2366} + /// [google.cloud.kms.v1.DeleteCryptoKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L929} + /// [google.cloud.kms.v1.KeyManagementService.DeleteCryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L225} + /// + // clang-format on + future> + DeleteCryptoKey(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteCryptoKey + /// + /// 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 DeleteCryptoKey( + NoAwaitTag, std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Permanently deletes the given [CryptoKey][google.cloud.kms.v1.CryptoKey]. + /// All child [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] must + /// have been previously deleted using + /// [KeyManagementService.DeleteCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DeleteCryptoKeyVersion]. + /// The specified crypto key will be immediately and permanently deleted upon + /// calling this method. This action cannot be undone. + /// + /// @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.kms.v1.DeleteCryptoKeyRequest]. + /// 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.kms.v1.DeleteCryptoKeyMetadata] 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.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} + /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} + /// [google.cloud.kms.v1.DeleteCryptoKeyMetadata]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2366} + /// [google.cloud.kms.v1.DeleteCryptoKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L929} + /// [google.cloud.kms.v1.KeyManagementService.DeleteCryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L225} + /// + // clang-format on + future> + DeleteCryptoKey(google::cloud::kms::v1::DeleteCryptoKeyRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteCryptoKey + /// + /// 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 DeleteCryptoKey( + NoAwaitTag, google::cloud::kms::v1::DeleteCryptoKeyRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteCryptoKey + /// + /// 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> + DeleteCryptoKey(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Permanently deletes the given + /// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Only possible if + /// the version has not been previously imported and if its + /// [state][google.cloud.kms.v1.CryptoKeyVersion.state] is one of + /// [DESTROYED][CryptoKeyVersionState.DESTROYED], + /// [IMPORT_FAILED][CryptoKeyVersionState.IMPORT_FAILED], or + /// [GENERATION_FAILED][CryptoKeyVersionState.GENERATION_FAILED]. + /// Successfully imported + /// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] cannot be deleted + /// at this time. The specified version will be immediately and permanently + /// deleted upon calling this method. This action cannot be undone. + /// + /// @param name Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the + /// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to delete. + /// @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.kms.v1.DeleteCryptoKeyVersionMetadata] 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.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} + /// [google.cloud.kms.v1.CryptoKeyVersion.name]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L621} + /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L625} + /// [google.cloud.kms.v1.DeleteCryptoKeyVersionMetadata]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2382} + /// [google.cloud.kms.v1.DeleteCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L942} + /// + // clang-format on + future> + DeleteCryptoKeyVersion(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteCryptoKeyVersion + /// + /// 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 DeleteCryptoKeyVersion( + NoAwaitTag, std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Permanently deletes the given + /// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Only possible if + /// the version has not been previously imported and if its + /// [state][google.cloud.kms.v1.CryptoKeyVersion.state] is one of + /// [DESTROYED][CryptoKeyVersionState.DESTROYED], + /// [IMPORT_FAILED][CryptoKeyVersionState.IMPORT_FAILED], or + /// [GENERATION_FAILED][CryptoKeyVersionState.GENERATION_FAILED]. + /// Successfully imported + /// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] cannot be deleted + /// at this time. The specified version will be immediately and permanently + /// deleted upon calling this method. This action cannot be undone. + /// + /// @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.kms.v1.DeleteCryptoKeyVersionRequest]. + /// 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.kms.v1.DeleteCryptoKeyVersionMetadata] 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.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} + /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L625} + /// [google.cloud.kms.v1.DeleteCryptoKeyVersionMetadata]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2382} + /// [google.cloud.kms.v1.DeleteCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L942} + /// + // clang-format on + future> + DeleteCryptoKeyVersion( + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteCryptoKeyVersion + /// + /// 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 DeleteCryptoKeyVersion( + NoAwaitTag, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteCryptoKeyVersion + /// + /// 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> + DeleteCryptoKeyVersion(google::longrunning::Operation const& operation, + Options opts = {}); + // clang-format off /// /// Import wrapped key material into a @@ -983,7 +1401,7 @@ class KeyManagementServiceClient { /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.ImportCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L808} + /// [google.cloud.kms.v1.ImportCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L955} /// // clang-format on StatusOr ImportCryptoKeyVersion( @@ -1018,9 +1436,9 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.CreateImportJobRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L918} - /// [google.cloud.kms.v1.ImportJob]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L841} - /// [google.cloud.kms.v1.ImportJob.import_method]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L941} + /// [google.cloud.kms.v1.CreateImportJobRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1065} + /// [google.cloud.kms.v1.ImportJob]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L868} + /// [google.cloud.kms.v1.ImportJob.import_method]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L968} /// [google.cloud.kms.v1.KeyRing]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L36} /// [google.cloud.kms.v1.KeyRing.name]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L45} /// @@ -1056,9 +1474,9 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.CreateImportJobRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L918} - /// [google.cloud.kms.v1.ImportJob]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L841} - /// [google.cloud.kms.v1.ImportJob.import_method]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L941} + /// [google.cloud.kms.v1.CreateImportJobRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1065} + /// [google.cloud.kms.v1.ImportJob]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L868} + /// [google.cloud.kms.v1.ImportJob.import_method]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L968} /// [google.cloud.kms.v1.KeyRing]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L36} /// // clang-format on @@ -1086,7 +1504,7 @@ class KeyManagementServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} - /// [google.cloud.kms.v1.UpdateCryptoKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L940} + /// [google.cloud.kms.v1.UpdateCryptoKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1087} /// // clang-format on StatusOr UpdateCryptoKey( @@ -1117,7 +1535,7 @@ class KeyManagementServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} - /// [google.cloud.kms.v1.UpdateCryptoKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L940} + /// [google.cloud.kms.v1.UpdateCryptoKeyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1087} /// // clang-format on StatusOr UpdateCryptoKey( @@ -1156,12 +1574,12 @@ class KeyManagementServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L522} - /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L516} - /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L598} - /// [google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L268} - /// [google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L286} - /// [google.cloud.kms.v1.UpdateCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L951} + /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L549} + /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L543} + /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L625} + /// [google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L332} + /// [google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L350} + /// [google.cloud.kms.v1.UpdateCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1098} /// // clang-format on StatusOr UpdateCryptoKeyVersion( @@ -1203,12 +1621,12 @@ class KeyManagementServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L522} - /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L516} - /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L598} - /// [google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L268} - /// [google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L286} - /// [google.cloud.kms.v1.UpdateCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L951} + /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L549} + /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L543} + /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L625} + /// [google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L332} + /// [google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L350} + /// [google.cloud.kms.v1.UpdateCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1098} /// // clang-format on StatusOr UpdateCryptoKeyVersion( @@ -1244,8 +1662,8 @@ class KeyManagementServiceClient { /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} /// [google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L77} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.KeyManagementService.Encrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L299} - /// [google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L964} + /// [google.cloud.kms.v1.KeyManagementService.Encrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L363} + /// [google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1111} /// // clang-format on StatusOr UpdateCryptoKeyPrimaryVersion( @@ -1282,8 +1700,8 @@ class KeyManagementServiceClient { /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} /// [google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L77} - /// [google.cloud.kms.v1.KeyManagementService.Encrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L299} - /// [google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L964} + /// [google.cloud.kms.v1.KeyManagementService.Encrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L363} + /// [google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1111} /// // clang-format on StatusOr UpdateCryptoKeyPrimaryVersion( @@ -1332,12 +1750,12 @@ class KeyManagementServiceClient { /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey.destroy_scheduled_duration]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L195} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L531} - /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L539} - /// [google.cloud.kms.v1.CryptoKeyVersion.destroy_time]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L637} - /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L598} - /// [google.cloud.kms.v1.DestroyCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L981} - /// [google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L286} + /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L558} + /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L566} + /// [google.cloud.kms.v1.CryptoKeyVersion.destroy_time]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L664} + /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L625} + /// [google.cloud.kms.v1.DestroyCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1128} + /// [google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L350} /// // clang-format on StatusOr DestroyCryptoKeyVersion( @@ -1388,12 +1806,12 @@ class KeyManagementServiceClient { /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey.destroy_scheduled_duration]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L195} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L531} - /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L539} - /// [google.cloud.kms.v1.CryptoKeyVersion.destroy_time]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L637} - /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L598} - /// [google.cloud.kms.v1.DestroyCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L981} - /// [google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L286} + /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L558} + /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L566} + /// [google.cloud.kms.v1.CryptoKeyVersion.destroy_time]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L664} + /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L625} + /// [google.cloud.kms.v1.DestroyCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1128} + /// [google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L350} /// // clang-format on StatusOr DestroyCryptoKeyVersion( @@ -1428,11 +1846,11 @@ class KeyManagementServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L539} - /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L522} - /// [google.cloud.kms.v1.CryptoKeyVersion.destroy_time]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L637} - /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L598} - /// [google.cloud.kms.v1.RestoreCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L994} + /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L566} + /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L549} + /// [google.cloud.kms.v1.CryptoKeyVersion.destroy_time]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L664} + /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L625} + /// [google.cloud.kms.v1.RestoreCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1141} /// // clang-format on StatusOr RestoreCryptoKeyVersion( @@ -1470,11 +1888,11 @@ class KeyManagementServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L539} - /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L522} - /// [google.cloud.kms.v1.CryptoKeyVersion.destroy_time]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L637} - /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L598} - /// [google.cloud.kms.v1.RestoreCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L994} + /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L566} + /// [google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L549} + /// [google.cloud.kms.v1.CryptoKeyVersion.destroy_time]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L664} + /// [google.cloud.kms.v1.CryptoKeyVersion.state]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L625} + /// [google.cloud.kms.v1.RestoreCryptoKeyVersionRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1141} /// // clang-format on StatusOr RestoreCryptoKeyVersion( @@ -1525,13 +1943,13 @@ class KeyManagementServiceClient { /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} /// [google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L241} - /// [google.cloud.kms.v1.EncryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1007} - /// [google.cloud.kms.v1.EncryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1620} - /// [google.cloud.kms.v1.KeyManagementService.Decrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L311} - /// [google.cloud.kms.v1.ProtectionLevel.EXTERNAL]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1057} - /// [google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1060} - /// [google.cloud.kms.v1.ProtectionLevel.HSM]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1054} - /// [google.cloud.kms.v1.ProtectionLevel.SOFTWARE]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1051} + /// [google.cloud.kms.v1.EncryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1154} + /// [google.cloud.kms.v1.EncryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1767} + /// [google.cloud.kms.v1.KeyManagementService.Decrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L375} + /// [google.cloud.kms.v1.ProtectionLevel.EXTERNAL]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1117} + /// [google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1120} + /// [google.cloud.kms.v1.ProtectionLevel.HSM]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1114} + /// [google.cloud.kms.v1.ProtectionLevel.SOFTWARE]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1111} /// // clang-format on StatusOr Encrypt( @@ -1565,9 +1983,9 @@ class KeyManagementServiceClient { /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L77} /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} - /// [google.cloud.kms.v1.EncryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1007} - /// [google.cloud.kms.v1.EncryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1620} - /// [google.cloud.kms.v1.KeyManagementService.Decrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L311} + /// [google.cloud.kms.v1.EncryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1154} + /// [google.cloud.kms.v1.EncryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1767} + /// [google.cloud.kms.v1.KeyManagementService.Decrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L375} /// // clang-format on StatusOr Encrypt( @@ -1601,10 +2019,10 @@ class KeyManagementServiceClient { /// [google.cloud.kms.v1.CryptoKey]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L59} /// [google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L77} /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} - /// [google.cloud.kms.v1.DecryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1096} - /// [google.cloud.kms.v1.DecryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1685} - /// [google.cloud.kms.v1.EncryptResponse.ciphertext]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1628} - /// [google.cloud.kms.v1.KeyManagementService.Encrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L299} + /// [google.cloud.kms.v1.DecryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1243} + /// [google.cloud.kms.v1.DecryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1832} + /// [google.cloud.kms.v1.EncryptResponse.ciphertext]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1775} + /// [google.cloud.kms.v1.KeyManagementService.Encrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L363} /// // clang-format on StatusOr Decrypt( @@ -1639,9 +2057,9 @@ class KeyManagementServiceClient { /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L77} /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} - /// [google.cloud.kms.v1.DecryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1096} - /// [google.cloud.kms.v1.DecryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1685} - /// [google.cloud.kms.v1.KeyManagementService.Encrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L299} + /// [google.cloud.kms.v1.DecryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1243} + /// [google.cloud.kms.v1.DecryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1832} + /// [google.cloud.kms.v1.KeyManagementService.Encrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L363} /// // clang-format on StatusOr Decrypt( @@ -1677,10 +2095,10 @@ class KeyManagementServiceClient { /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.RAW_ENCRYPT_DECRYPT]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L98} /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} - /// [google.cloud.kms.v1.KeyManagementService.Decrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L311} - /// [google.cloud.kms.v1.KeyManagementService.Encrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L299} - /// [google.cloud.kms.v1.RawEncryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1163} - /// [google.cloud.kms.v1.RawEncryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1720} + /// [google.cloud.kms.v1.KeyManagementService.Decrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L375} + /// [google.cloud.kms.v1.KeyManagementService.Encrypt]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L363} + /// [google.cloud.kms.v1.RawEncryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1310} + /// [google.cloud.kms.v1.RawEncryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1867} /// // clang-format on StatusOr RawEncrypt( @@ -1715,8 +2133,8 @@ class KeyManagementServiceClient { /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.RAW_ENCRYPT_DECRYPT]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L98} /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} - /// [google.cloud.kms.v1.RawDecryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1263} - /// [google.cloud.kms.v1.RawDecryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1819} + /// [google.cloud.kms.v1.RawDecryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1410} + /// [google.cloud.kms.v1.RawDecryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1966} /// // clang-format on StatusOr RawDecrypt( @@ -1754,13 +2172,13 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.AsymmetricSignRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1346} - /// [google.cloud.kms.v1.AsymmetricSignRequest.data]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1392} - /// [google.cloud.kms.v1.AsymmetricSignResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1893} + /// [google.cloud.kms.v1.AsymmetricSignRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1493} + /// [google.cloud.kms.v1.AsymmetricSignRequest.data]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1539} + /// [google.cloud.kms.v1.AsymmetricSignResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2040} /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.CryptoKeyVersion.algorithm]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L610} - /// [google.cloud.kms.v1.KeyManagementService.GetPublicKey]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L119} + /// [google.cloud.kms.v1.CryptoKeyVersion.algorithm]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L637} + /// [google.cloud.kms.v1.KeyManagementService.GetPublicKey]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L132} /// // clang-format on StatusOr AsymmetricSign( @@ -1794,11 +2212,11 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.AsymmetricSignRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1346} - /// [google.cloud.kms.v1.AsymmetricSignResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1893} + /// [google.cloud.kms.v1.AsymmetricSignRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1493} + /// [google.cloud.kms.v1.AsymmetricSignResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2040} /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.KeyManagementService.GetPublicKey]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L119} + /// [google.cloud.kms.v1.KeyManagementService.GetPublicKey]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L132} /// // clang-format on StatusOr AsymmetricSign( @@ -1832,11 +2250,11 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.AsymmetricDecryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1419} - /// [google.cloud.kms.v1.AsymmetricDecryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1956} + /// [google.cloud.kms.v1.AsymmetricDecryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1566} + /// [google.cloud.kms.v1.AsymmetricDecryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2103} /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.KeyManagementService.GetPublicKey]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L119} + /// [google.cloud.kms.v1.KeyManagementService.GetPublicKey]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L132} /// // clang-format on StatusOr AsymmetricDecrypt( @@ -1870,11 +2288,11 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.AsymmetricDecryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1419} - /// [google.cloud.kms.v1.AsymmetricDecryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1956} + /// [google.cloud.kms.v1.AsymmetricDecryptRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1566} + /// [google.cloud.kms.v1.AsymmetricDecryptResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2103} /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.KeyManagementService.GetPublicKey]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L119} + /// [google.cloud.kms.v1.KeyManagementService.GetPublicKey]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L132} /// // clang-format on StatusOr AsymmetricDecrypt( @@ -1907,8 +2325,8 @@ class KeyManagementServiceClient { /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.MacSignRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1460} - /// [google.cloud.kms.v1.MacSignResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1999} + /// [google.cloud.kms.v1.MacSignRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1607} + /// [google.cloud.kms.v1.MacSignResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2146} /// // clang-format on StatusOr MacSign( @@ -1941,8 +2359,8 @@ class KeyManagementServiceClient { /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.MacSignRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1460} - /// [google.cloud.kms.v1.MacSignResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1999} + /// [google.cloud.kms.v1.MacSignRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1607} + /// [google.cloud.kms.v1.MacSignResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2146} /// // clang-format on StatusOr MacSign( @@ -1977,9 +2395,9 @@ class KeyManagementServiceClient { /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.MacSignRequest.data]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1473} - /// [google.cloud.kms.v1.MacVerifyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1498} - /// [google.cloud.kms.v1.MacVerifyResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2046} + /// [google.cloud.kms.v1.MacSignRequest.data]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1620} + /// [google.cloud.kms.v1.MacVerifyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1645} + /// [google.cloud.kms.v1.MacVerifyResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2193} /// // clang-format on StatusOr MacVerify( @@ -2014,8 +2432,8 @@ class KeyManagementServiceClient { /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.MacVerifyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1498} - /// [google.cloud.kms.v1.MacVerifyResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2046} + /// [google.cloud.kms.v1.MacVerifyRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1645} + /// [google.cloud.kms.v1.MacVerifyResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2193} /// // clang-format on StatusOr MacVerify( @@ -2051,9 +2469,9 @@ class KeyManagementServiceClient { /// [`Status`]: @ref google::cloud::Status /// [google.cloud.kms.v1.CryptoKey.purpose]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L133} /// [google.cloud.kms.v1.CryptoKeyVersion]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L314} - /// [google.cloud.kms.v1.DecapsulateRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1561} - /// [google.cloud.kms.v1.DecapsulateResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2105} - /// [google.cloud.kms.v1.KeyManagementService.GetPublicKey]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L119} + /// [google.cloud.kms.v1.DecapsulateRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1708} + /// [google.cloud.kms.v1.DecapsulateResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2252} + /// [google.cloud.kms.v1.KeyManagementService.GetPublicKey]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L132} /// // clang-format on StatusOr Decapsulate( @@ -2086,10 +2504,10 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.GenerateRandomBytesRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1602} - /// [google.cloud.kms.v1.GenerateRandomBytesResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2159} - /// [google.cloud.kms.v1.ProtectionLevel]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1046} - /// [google.cloud.kms.v1.ProtectionLevel.HSM]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1054} + /// [google.cloud.kms.v1.GenerateRandomBytesRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1749} + /// [google.cloud.kms.v1.GenerateRandomBytesResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2306} + /// [google.cloud.kms.v1.ProtectionLevel]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1106} + /// [google.cloud.kms.v1.ProtectionLevel.HSM]: @googleapis_reference_link{google/cloud/kms/v1/resources.proto#L1114} /// // clang-format on StatusOr @@ -2121,8 +2539,8 @@ class KeyManagementServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.kms.v1.GenerateRandomBytesRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1602} - /// [google.cloud.kms.v1.GenerateRandomBytesResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2159} + /// [google.cloud.kms.v1.GenerateRandomBytesRequest]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L1749} + /// [google.cloud.kms.v1.GenerateRandomBytesResponse]: @googleapis_reference_link{google/cloud/kms/v1/service.proto#L2306} /// // clang-format on StatusOr diff --git a/google/cloud/kms/v1/key_management_connection.cc b/google/cloud/kms/v1/key_management_connection.cc index 36f8aeaf0593b..970998a4ca3aa 100644 --- a/google/cloud/kms/v1/key_management_connection.cc +++ b/google/cloud/kms/v1/key_management_connection.cc @@ -70,6 +70,14 @@ KeyManagementServiceConnection::ListImportJobs( StreamRange>(); } +StreamRange +KeyManagementServiceConnection::ListRetiredResources( + google::cloud::kms::v1:: + ListRetiredResourcesRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + StatusOr KeyManagementServiceConnection::GetKeyRing( google::cloud::kms::v1::GetKeyRingRequest const&) { @@ -100,6 +108,12 @@ KeyManagementServiceConnection::GetImportJob( return Status(StatusCode::kUnimplemented, "not implemented"); } +StatusOr +KeyManagementServiceConnection::GetRetiredResource( + google::cloud::kms::v1::GetRetiredResourceRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + StatusOr KeyManagementServiceConnection::CreateKeyRing( google::cloud::kms::v1::CreateKeyRingRequest const&) { @@ -118,6 +132,52 @@ KeyManagementServiceConnection::CreateCryptoKeyVersion( return Status(StatusCode::kUnimplemented, "not implemented"); } +future> +KeyManagementServiceConnection::DeleteCryptoKey( + google::cloud::kms::v1::DeleteCryptoKeyRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +KeyManagementServiceConnection::DeleteCryptoKey( + NoAwaitTag, google::cloud::kms::v1::DeleteCryptoKeyRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +KeyManagementServiceConnection::DeleteCryptoKey( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +KeyManagementServiceConnection::DeleteCryptoKeyVersion( + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +KeyManagementServiceConnection::DeleteCryptoKeyVersion( + NoAwaitTag, google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +KeyManagementServiceConnection::DeleteCryptoKeyVersion( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + StatusOr KeyManagementServiceConnection::ImportCryptoKeyVersion( google::cloud::kms::v1::ImportCryptoKeyVersionRequest const&) { diff --git a/google/cloud/kms/v1/key_management_connection.h b/google/cloud/kms/v1/key_management_connection.h index 5706d32040cbe..a817d5a8b01a7 100644 --- a/google/cloud/kms/v1/key_management_connection.h +++ b/google/cloud/kms/v1/key_management_connection.h @@ -23,11 +23,15 @@ #include "google/cloud/kms/v1/key_management_connection_idempotency_policy.h" #include "google/cloud/kms/v1/service.pb.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 { @@ -199,6 +203,10 @@ class KeyManagementServiceConnection { virtual StreamRange ListImportJobs( google::cloud::kms::v1::ListImportJobsRequest request); + virtual StreamRange + ListRetiredResources( + google::cloud::kms::v1::ListRetiredResourcesRequest request); + virtual StatusOr GetKeyRing( google::cloud::kms::v1::GetKeyRingRequest const& request); @@ -215,6 +223,9 @@ class KeyManagementServiceConnection { virtual StatusOr GetImportJob( google::cloud::kms::v1::GetImportJobRequest const& request); + virtual StatusOr GetRetiredResource( + google::cloud::kms::v1::GetRetiredResourceRequest const& request); + virtual StatusOr CreateKeyRing( google::cloud::kms::v1::CreateKeyRingRequest const& request); @@ -225,6 +236,30 @@ class KeyManagementServiceConnection { CreateCryptoKeyVersion( google::cloud::kms::v1::CreateCryptoKeyVersionRequest const& request); + virtual future> + DeleteCryptoKey( + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request); + + virtual StatusOr DeleteCryptoKey( + NoAwaitTag, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request); + + virtual future> + DeleteCryptoKey(google::longrunning::Operation const& operation); + + virtual future< + StatusOr> + DeleteCryptoKeyVersion( + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request); + + virtual StatusOr DeleteCryptoKeyVersion( + NoAwaitTag, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request); + + virtual future< + StatusOr> + DeleteCryptoKeyVersion(google::longrunning::Operation const& operation); + virtual StatusOr ImportCryptoKeyVersion( google::cloud::kms::v1::ImportCryptoKeyVersionRequest const& request); diff --git a/google/cloud/kms/v1/key_management_connection_idempotency_policy.cc b/google/cloud/kms/v1/key_management_connection_idempotency_policy.cc index 7ab95645dce16..4e0c2f02a05a7 100644 --- a/google/cloud/kms/v1/key_management_connection_idempotency_policy.cc +++ b/google/cloud/kms/v1/key_management_connection_idempotency_policy.cc @@ -56,6 +56,12 @@ Idempotency KeyManagementServiceConnectionIdempotencyPolicy::ListImportJobs( return Idempotency::kIdempotent; } +Idempotency +KeyManagementServiceConnectionIdempotencyPolicy::ListRetiredResources( + google::cloud::kms::v1::ListRetiredResourcesRequest) { // NOLINT + return Idempotency::kIdempotent; +} + Idempotency KeyManagementServiceConnectionIdempotencyPolicy::GetKeyRing( google::cloud::kms::v1::GetKeyRingRequest const&) { return Idempotency::kIdempotent; @@ -82,6 +88,11 @@ Idempotency KeyManagementServiceConnectionIdempotencyPolicy::GetImportJob( return Idempotency::kIdempotent; } +Idempotency KeyManagementServiceConnectionIdempotencyPolicy::GetRetiredResource( + google::cloud::kms::v1::GetRetiredResourceRequest const&) { + return Idempotency::kIdempotent; +} + Idempotency KeyManagementServiceConnectionIdempotencyPolicy::CreateKeyRing( google::cloud::kms::v1::CreateKeyRingRequest const&) { return Idempotency::kNonIdempotent; @@ -98,6 +109,17 @@ KeyManagementServiceConnectionIdempotencyPolicy::CreateCryptoKeyVersion( return Idempotency::kNonIdempotent; } +Idempotency KeyManagementServiceConnectionIdempotencyPolicy::DeleteCryptoKey( + google::cloud::kms::v1::DeleteCryptoKeyRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency +KeyManagementServiceConnectionIdempotencyPolicy::DeleteCryptoKeyVersion( + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const&) { + return Idempotency::kNonIdempotent; +} + Idempotency KeyManagementServiceConnectionIdempotencyPolicy::ImportCryptoKeyVersion( google::cloud::kms::v1::ImportCryptoKeyVersionRequest const&) { diff --git a/google/cloud/kms/v1/key_management_connection_idempotency_policy.h b/google/cloud/kms/v1/key_management_connection_idempotency_policy.h index 68cd31025907b..2920e35495985 100644 --- a/google/cloud/kms/v1/key_management_connection_idempotency_policy.h +++ b/google/cloud/kms/v1/key_management_connection_idempotency_policy.h @@ -52,6 +52,9 @@ class KeyManagementServiceConnectionIdempotencyPolicy { virtual google::cloud::Idempotency ListImportJobs( google::cloud::kms::v1::ListImportJobsRequest request); + virtual google::cloud::Idempotency ListRetiredResources( + google::cloud::kms::v1::ListRetiredResourcesRequest request); + virtual google::cloud::Idempotency GetKeyRing( google::cloud::kms::v1::GetKeyRingRequest const& request); @@ -67,6 +70,9 @@ class KeyManagementServiceConnectionIdempotencyPolicy { virtual google::cloud::Idempotency GetImportJob( google::cloud::kms::v1::GetImportJobRequest const& request); + virtual google::cloud::Idempotency GetRetiredResource( + google::cloud::kms::v1::GetRetiredResourceRequest const& request); + virtual google::cloud::Idempotency CreateKeyRing( google::cloud::kms::v1::CreateKeyRingRequest const& request); @@ -76,6 +82,12 @@ class KeyManagementServiceConnectionIdempotencyPolicy { virtual google::cloud::Idempotency CreateCryptoKeyVersion( google::cloud::kms::v1::CreateCryptoKeyVersionRequest const& request); + virtual google::cloud::Idempotency DeleteCryptoKey( + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request); + + virtual google::cloud::Idempotency DeleteCryptoKeyVersion( + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request); + virtual google::cloud::Idempotency ImportCryptoKeyVersion( google::cloud::kms::v1::ImportCryptoKeyVersionRequest const& request); diff --git a/google/cloud/kms/v1/key_management_options.h b/google/cloud/kms/v1/key_management_options.h index b7c9288de3627..8f6fb91a97dbf 100644 --- a/google/cloud/kms/v1/key_management_options.h +++ b/google/cloud/kms/v1/key_management_options.h @@ -58,6 +58,16 @@ struct KeyManagementServiceConnectionIdempotencyPolicyOption { using Type = std::shared_ptr; }; +/** + * Use with `google::cloud::Options` to configure the long-running operations + * polling policy. + * + * @ingroup google-cloud-kms-options + */ +struct KeyManagementServicePollingPolicyOption { + using Type = std::shared_ptr; +}; + /** * The options applicable to KeyManagementService. * @@ -66,6 +76,7 @@ struct KeyManagementServiceConnectionIdempotencyPolicyOption { using KeyManagementServicePolicyOptionList = OptionList; GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END diff --git a/google/cloud/kms/v1/mocks/mock_key_management_connection.h b/google/cloud/kms/v1/mocks/mock_key_management_connection.h index 9d940bb005458..284012b64972b 100644 --- a/google/cloud/kms/v1/mocks/mock_key_management_connection.h +++ b/google/cloud/kms/v1/mocks/mock_key_management_connection.h @@ -64,6 +64,11 @@ class MockKeyManagementServiceConnection (google::cloud::kms::v1::ListImportJobsRequest request), (override)); + MOCK_METHOD((StreamRange), + ListRetiredResources, + (google::cloud::kms::v1::ListRetiredResourcesRequest request), + (override)); + MOCK_METHOD(StatusOr, GetKeyRing, (google::cloud::kms::v1::GetKeyRingRequest const& request), (override)); @@ -85,6 +90,11 @@ class MockKeyManagementServiceConnection (google::cloud::kms::v1::GetImportJobRequest const& request), (override)); + MOCK_METHOD( + StatusOr, GetRetiredResource, + (google::cloud::kms::v1::GetRetiredResourceRequest const& request), + (override)); + MOCK_METHOD(StatusOr, CreateKeyRing, (google::cloud::kms::v1::CreateKeyRingRequest const& request), (override)); @@ -99,6 +109,83 @@ class MockKeyManagementServiceConnection (google::cloud::kms::v1::CreateCryptoKeyVersionRequest const& request), (override)); + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteCryptoKey(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + DeleteCryptoKey, + (google::cloud::kms::v1::DeleteCryptoKeyRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, DeleteCryptoKey(_, _)) + /// @endcode + MOCK_METHOD(StatusOr, DeleteCryptoKey, + (NoAwaitTag, + google::cloud::kms::v1::DeleteCryptoKeyRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, DeleteCryptoKey(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + DeleteCryptoKey, + (google::longrunning::Operation const& operation), (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteCryptoKeyVersion(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + DeleteCryptoKeyVersion, + (google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, DeleteCryptoKeyVersion(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, DeleteCryptoKeyVersion, + (NoAwaitTag, + google::cloud::kms::v1::DeleteCryptoKeyVersionRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteCryptoKeyVersion(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + DeleteCryptoKeyVersion, (google::longrunning::Operation const& operation), + (override)); + MOCK_METHOD( StatusOr, ImportCryptoKeyVersion, diff --git a/google/cloud/kms/v1/samples/key_management_client_samples.cc b/google/cloud/kms/v1/samples/key_management_client_samples.cc index add6739d22b4b..aa9aa2b7b363f 100644 --- a/google/cloud/kms/v1/samples/key_management_client_samples.cc +++ b/google/cloud/kms/v1/samples/key_management_client_samples.cc @@ -22,6 +22,7 @@ #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 @@ -31,6 +32,7 @@ // clang-format off // main-dox-marker: kms_v1::KeyManagementServiceClient +// lro-marker: true // clang-format on namespace { @@ -126,6 +128,46 @@ void SetRetryPolicy(std::vector const& argv) { //! [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::kms_v1::KeyManagementServiceRetryPolicyOption:: + Type, + google::cloud::kms_v1:: + KeyManagementServiceBackoffPolicyOption::Type>( + google::cloud::kms_v1:: + KeyManagementServiceLimitedTimeRetryPolicy( + /*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::kms_v1::MakeKeyManagementServiceConnection(options); + + // c1 and c2 share the same polling policies. + auto c1 = google::cloud::kms_v1::KeyManagementServiceClient(connection); + auto c2 = google::cloud::kms_v1::KeyManagementServiceClient(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 "}; @@ -160,6 +202,9 @@ void AutoRun(std::vector const& argv) { 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}); @@ -173,6 +218,7 @@ 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}, diff --git a/google/cloud/speech/v2/speech_client.h b/google/cloud/speech/v2/speech_client.h index 937efccd1046b..9b396ae673479 100644 --- a/google/cloud/speech/v2/speech_client.h +++ b/google/cloud/speech/v2/speech_client.h @@ -805,8 +805,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.StreamingRecognizeRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1252} - /// [google.cloud.speech.v2.StreamingRecognizeResponse]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1617} + /// [google.cloud.speech.v2.StreamingRecognizeRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1278} + /// [google.cloud.speech.v2.StreamingRecognizeResponse]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1643} /// // clang-format on std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc< @@ -865,10 +865,10 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.BatchRecognizeRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1279} - /// [google.cloud.speech.v2.BatchRecognizeRequest.config]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1308} - /// [google.cloud.speech.v2.BatchRecognizeRequest.config_mask]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1323} - /// [google.cloud.speech.v2.BatchRecognizeResponse]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1398} + /// [google.cloud.speech.v2.BatchRecognizeRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1305} + /// [google.cloud.speech.v2.BatchRecognizeRequest.config]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1334} + /// [google.cloud.speech.v2.BatchRecognizeRequest.config_mask]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1349} + /// [google.cloud.speech.v2.BatchRecognizeResponse]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1424} /// [google.cloud.speech.v2.Recognizer.default_recognition_config]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L631} /// // clang-format on @@ -932,8 +932,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.BatchRecognizeRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1279} - /// [google.cloud.speech.v2.BatchRecognizeResponse]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1398} + /// [google.cloud.speech.v2.BatchRecognizeRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1305} + /// [google.cloud.speech.v2.BatchRecognizeResponse]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1424} /// // clang-format on future> @@ -990,8 +990,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.Config]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1666} - /// [google.cloud.speech.v2.GetConfigRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1700} + /// [google.cloud.speech.v2.Config]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1692} + /// [google.cloud.speech.v2.GetConfigRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1726} /// // clang-format on StatusOr GetConfig(std::string const& name, @@ -1020,8 +1020,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.Config]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1666} - /// [google.cloud.speech.v2.GetConfigRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1700} + /// [google.cloud.speech.v2.Config]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1692} + /// [google.cloud.speech.v2.GetConfigRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1726} /// // clang-format on StatusOr GetConfig( @@ -1050,8 +1050,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.Config]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1666} - /// [google.cloud.speech.v2.UpdateConfigRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1712} + /// [google.cloud.speech.v2.Config]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1692} + /// [google.cloud.speech.v2.UpdateConfigRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1738} /// // clang-format on StatusOr UpdateConfig( @@ -1081,8 +1081,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.Config]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1666} - /// [google.cloud.speech.v2.UpdateConfigRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1712} + /// [google.cloud.speech.v2.Config]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1692} + /// [google.cloud.speech.v2.UpdateConfigRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1738} /// // clang-format on StatusOr UpdateConfig( @@ -1121,8 +1121,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.CreateCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1957} - /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1726} + /// [google.cloud.speech.v2.CreateCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1983} + /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1752} /// // clang-format on future> CreateCustomClass( @@ -1176,8 +1176,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.CreateCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1957} - /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1726} + /// [google.cloud.speech.v2.CreateCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1983} + /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1752} /// // clang-format on future> CreateCustomClass( @@ -1240,8 +1240,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1726} - /// [google.cloud.speech.v2.ListCustomClassesRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1984} + /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1752} + /// [google.cloud.speech.v2.ListCustomClassesRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2010} /// // clang-format on StreamRange ListCustomClasses( @@ -1279,8 +1279,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1726} - /// [google.cloud.speech.v2.ListCustomClassesRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1984} + /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1752} + /// [google.cloud.speech.v2.ListCustomClassesRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2010} /// // clang-format on StreamRange ListCustomClasses( @@ -1307,8 +1307,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1726} - /// [google.cloud.speech.v2.GetCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2028} + /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1752} + /// [google.cloud.speech.v2.GetCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2054} /// // clang-format on StatusOr GetCustomClass( @@ -1338,8 +1338,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1726} - /// [google.cloud.speech.v2.GetCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2028} + /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1752} + /// [google.cloud.speech.v2.GetCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2054} /// // clang-format on StatusOr GetCustomClass( @@ -1377,8 +1377,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1726} - /// [google.cloud.speech.v2.UpdateCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2041} + /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1752} + /// [google.cloud.speech.v2.UpdateCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2067} /// // clang-format on future> UpdateCustomClass( @@ -1430,8 +1430,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1726} - /// [google.cloud.speech.v2.UpdateCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2041} + /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1752} + /// [google.cloud.speech.v2.UpdateCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2067} /// // clang-format on future> UpdateCustomClass( @@ -1493,8 +1493,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1726} - /// [google.cloud.speech.v2.DeleteCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2060} + /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1752} + /// [google.cloud.speech.v2.DeleteCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2086} /// // clang-format on future> DeleteCustomClass( @@ -1544,8 +1544,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1726} - /// [google.cloud.speech.v2.DeleteCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2060} + /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1752} + /// [google.cloud.speech.v2.DeleteCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2086} /// // clang-format on future> DeleteCustomClass( @@ -1607,8 +1607,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1726} - /// [google.cloud.speech.v2.UndeleteCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2088} + /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1752} + /// [google.cloud.speech.v2.UndeleteCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2114} /// // clang-format on future> UndeleteCustomClass( @@ -1658,8 +1658,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1726} - /// [google.cloud.speech.v2.UndeleteCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2088} + /// [google.cloud.speech.v2.CustomClass]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1752} + /// [google.cloud.speech.v2.UndeleteCustomClassRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2114} /// // clang-format on future> UndeleteCustomClass( @@ -1726,8 +1726,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.CreatePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2111} - /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1829} + /// [google.cloud.speech.v2.CreatePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2137} + /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1855} /// // clang-format on future> CreatePhraseSet( @@ -1781,8 +1781,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.CreatePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2111} - /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1829} + /// [google.cloud.speech.v2.CreatePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2137} + /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1855} /// // clang-format on future> CreatePhraseSet( @@ -1845,8 +1845,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.ListPhraseSetsRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2138} - /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1829} + /// [google.cloud.speech.v2.ListPhraseSetsRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2164} + /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1855} /// // clang-format on StreamRange ListPhraseSets( @@ -1884,8 +1884,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.ListPhraseSetsRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2138} - /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1829} + /// [google.cloud.speech.v2.ListPhraseSetsRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2164} + /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1855} /// // clang-format on StreamRange ListPhraseSets( @@ -1912,8 +1912,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.GetPhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2181} - /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1829} + /// [google.cloud.speech.v2.GetPhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2207} + /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1855} /// // clang-format on StatusOr GetPhraseSet( @@ -1943,8 +1943,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.GetPhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2181} - /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1829} + /// [google.cloud.speech.v2.GetPhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2207} + /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1855} /// // clang-format on StatusOr GetPhraseSet( @@ -1981,8 +1981,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1829} - /// [google.cloud.speech.v2.UpdatePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2194} + /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1855} + /// [google.cloud.speech.v2.UpdatePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2220} /// // clang-format on future> UpdatePhraseSet( @@ -2034,8 +2034,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1829} - /// [google.cloud.speech.v2.UpdatePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2194} + /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1855} + /// [google.cloud.speech.v2.UpdatePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2220} /// // clang-format on future> UpdatePhraseSet( @@ -2096,8 +2096,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.DeletePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2212} - /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1829} + /// [google.cloud.speech.v2.DeletePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2238} + /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1855} /// // clang-format on future> DeletePhraseSet( @@ -2147,8 +2147,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.DeletePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2212} - /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1829} + /// [google.cloud.speech.v2.DeletePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2238} + /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1855} /// // clang-format on future> DeletePhraseSet( @@ -2209,8 +2209,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1829} - /// [google.cloud.speech.v2.UndeletePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2239} + /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1855} + /// [google.cloud.speech.v2.UndeletePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2265} /// // clang-format on future> UndeletePhraseSet( @@ -2260,8 +2260,8 @@ class SpeechClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1829} - /// [google.cloud.speech.v2.UndeletePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2239} + /// [google.cloud.speech.v2.PhraseSet]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L1855} + /// [google.cloud.speech.v2.UndeletePhraseSetRequest]: @googleapis_reference_link{google/cloud/speech/v2/cloud_speech.proto#L2265} /// // clang-format on future> UndeletePhraseSet( diff --git a/google/cloud/sql/v1/internal/sql_users_rest_stub.cc b/google/cloud/sql/v1/internal/sql_users_rest_stub.cc index 36da9570bb46b..67a57880f4a6f 100644 --- a/google/cloud/sql/v1/internal/sql_users_rest_stub.cc +++ b/google/cloud/sql/v1/internal/sql_users_rest_stub.cc @@ -109,6 +109,8 @@ DefaultSqlUsersServiceRestStub::Update( std::vector> query_params; query_params.push_back({"host", request.host()}); query_params.push_back({"name", request.name()}); + query_params.push_back( + {"revoke_existing_roles", (request.revoke_existing_roles() ? "1" : "0")}); query_params = rest_internal::TrimEmptyQueryParameters(std::move(query_params)); return rest_internal::Put( diff --git a/google/cloud/sql/v1/sql_backup_runs_client.h b/google/cloud/sql/v1/sql_backup_runs_client.h index 2d5fa44d8f50d..1a9563aa30e30 100644 --- a/google/cloud/sql/v1/sql_backup_runs_client.h +++ b/google/cloud/sql/v1/sql_backup_runs_client.h @@ -110,7 +110,7 @@ class SqlBackupRunsServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlBackupRunsDeleteRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_backup_runs.proto#L70} /// // clang-format on @@ -172,7 +172,7 @@ class SqlBackupRunsServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlBackupRunsInsertRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_backup_runs.proto#L96} /// // clang-format on diff --git a/google/cloud/sql/v1/sql_databases_client.h b/google/cloud/sql/v1/sql_databases_client.h index 2bf04fd1de95d..e99c755521f0b 100644 --- a/google/cloud/sql/v1/sql_databases_client.h +++ b/google/cloud/sql/v1/sql_databases_client.h @@ -110,7 +110,7 @@ class SqlDatabasesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlDatabasesDeleteRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_databases.proto#L88} /// // clang-format on @@ -142,7 +142,7 @@ class SqlDatabasesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Database]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L247} + /// [google.cloud.sql.v1.Database]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L248} /// [google.cloud.sql.v1.SqlDatabasesGetRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_databases.proto#L100} /// // clang-format on @@ -176,7 +176,7 @@ class SqlDatabasesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlDatabasesInsertRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_databases.proto#L112} /// // clang-format on @@ -239,7 +239,7 @@ class SqlDatabasesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlDatabasesUpdateRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_databases.proto#L132} /// // clang-format on @@ -271,7 +271,7 @@ class SqlDatabasesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlDatabasesUpdateRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_databases.proto#L132} /// // clang-format on diff --git a/google/cloud/sql/v1/sql_instances_client.h b/google/cloud/sql/v1/sql_instances_client.h index 2950d81ab630e..6f2effaab3341 100644 --- a/google/cloud/sql/v1/sql_instances_client.h +++ b/google/cloud/sql/v1/sql_instances_client.h @@ -117,7 +117,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesAddServerCaRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L452} /// // clang-format on @@ -154,7 +154,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L461} /// // clang-format on @@ -188,7 +188,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L470} /// // clang-format on @@ -221,7 +221,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesCloneRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L479} /// // clang-format on @@ -252,7 +252,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesDeleteRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L491} /// // clang-format on @@ -284,7 +284,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesDemoteMasterRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L516} /// // clang-format on @@ -316,7 +316,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesDemoteRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L527} /// // clang-format on @@ -348,7 +348,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesExportRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L539} /// // clang-format on @@ -386,7 +386,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesFailoverRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L550} /// // clang-format on @@ -417,7 +417,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesReencryptRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L833} /// // clang-format on @@ -448,7 +448,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.DatabaseInstance]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L1368} + /// [google.cloud.sql.v1.DatabaseInstance]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L1384} /// [google.cloud.sql.v1.SqlInstancesGetRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L561} /// // clang-format on @@ -480,7 +480,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesImportRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L570} /// // clang-format on @@ -511,7 +511,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesInsertRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L581} /// // clang-format on @@ -551,7 +551,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.DatabaseInstance]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L1368} + /// [google.cloud.sql.v1.DatabaseInstance]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L1384} /// [google.cloud.sql.v1.SqlInstancesListRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L590} /// // clang-format on @@ -693,7 +693,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesPatchRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L644} /// // clang-format on @@ -726,7 +726,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L655} /// // clang-format on @@ -758,7 +758,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesSwitchoverRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L672} /// // clang-format on @@ -790,7 +790,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesResetSslConfigRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L687} /// // clang-format on @@ -821,7 +821,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesRestartRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L713} /// // clang-format on @@ -853,7 +853,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesRestoreBackupRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L722} /// // clang-format on @@ -887,7 +887,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesRotateServerCaRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L733} /// // clang-format on @@ -920,7 +920,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L744} /// // clang-format on @@ -953,7 +953,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L757} /// // clang-format on @@ -985,7 +985,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesStartReplicaRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L770} /// // clang-format on @@ -1016,7 +1016,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesStopReplicaRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L779} /// // clang-format on @@ -1048,7 +1048,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesTruncateLogRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L788} /// // clang-format on @@ -1080,7 +1080,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesUpdateRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L811} /// // clang-format on @@ -1115,7 +1115,7 @@ class SqlInstancesServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L1013} - /// [google.cloud.sql.v1.SslCert]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1887} + /// [google.cloud.sql.v1.SslCert]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1888} /// // clang-format on StatusOr CreateEphemeral( @@ -1146,7 +1146,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L822} /// // clang-format on @@ -1212,7 +1212,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L967} /// // clang-format on @@ -1244,7 +1244,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L799} /// // clang-format on @@ -1309,7 +1309,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L1004} /// // clang-format on @@ -1374,8 +1374,8 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.SqlInstancesExecuteSqlRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L2257} - /// [google.cloud.sql.v1.SqlInstancesExecuteSqlResponse]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L2322} + /// [google.cloud.sql.v1.SqlInstancesExecuteSqlRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L2273} + /// [google.cloud.sql.v1.SqlInstancesExecuteSqlResponse]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L2338} /// // clang-format on StatusOr ExecuteSql( @@ -1405,8 +1405,8 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L2406} - /// [google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseResponse]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L2423} + /// [google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L2422} + /// [google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseResponse]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L2439} /// // clang-format on StatusOr @@ -1438,8 +1438,8 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L2429} - /// [google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseResponse]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L2441} + /// [google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L2445} + /// [google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseResponse]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L2457} /// // clang-format on StatusOr @@ -1471,7 +1471,7 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L1201} /// // clang-format on @@ -1504,8 +1504,8 @@ class SqlInstancesServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} - /// [google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L2448} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} + /// [google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_instances.proto#L2464} /// // clang-format on StatusOr PointInTimeRestore( diff --git a/google/cloud/sql/v1/sql_operations_client.h b/google/cloud/sql/v1/sql_operations_client.h index 45b4a00c85dbc..2dcbedfcdd607 100644 --- a/google/cloud/sql/v1/sql_operations_client.h +++ b/google/cloud/sql/v1/sql_operations_client.h @@ -110,7 +110,7 @@ class SqlOperationsServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlOperationsGetRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_operations.proto#L61} /// // clang-format on @@ -151,7 +151,7 @@ class SqlOperationsServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlOperationsListRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_operations.proto#L70} /// // clang-format on diff --git a/google/cloud/sql/v1/sql_ssl_certs_client.h b/google/cloud/sql/v1/sql_ssl_certs_client.h index 06afe8f5091df..dec096fc998e8 100644 --- a/google/cloud/sql/v1/sql_ssl_certs_client.h +++ b/google/cloud/sql/v1/sql_ssl_certs_client.h @@ -111,7 +111,7 @@ class SqlSslCertsServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlSslCertsDeleteRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_ssl_certs.proto#L70} /// // clang-format on @@ -145,7 +145,7 @@ class SqlSslCertsServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.sql.v1.SqlSslCertsGetRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_ssl_certs.proto#L81} - /// [google.cloud.sql.v1.SslCert]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1887} + /// [google.cloud.sql.v1.SslCert]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1888} /// // clang-format on StatusOr Get( diff --git a/google/cloud/sql/v1/sql_users_client.h b/google/cloud/sql/v1/sql_users_client.h index 195e3abfca8fd..efe85f0b2f9ce 100644 --- a/google/cloud/sql/v1/sql_users_client.h +++ b/google/cloud/sql/v1/sql_users_client.h @@ -108,7 +108,7 @@ class SqlUsersServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlUsersDeleteRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_users.proto#L76} /// // clang-format on @@ -140,7 +140,7 @@ class SqlUsersServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.sql.v1.SqlUsersGetRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_users.proto#L91} - /// [google.cloud.sql.v1.User]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_users.proto#L172} + /// [google.cloud.sql.v1.User]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_users.proto#L178} /// // clang-format on StatusOr Get( @@ -170,7 +170,7 @@ class SqlUsersServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlUsersInsertRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_users.proto#L105} /// // clang-format on @@ -202,7 +202,7 @@ class SqlUsersServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.sql.v1.SqlUsersListRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_users.proto#L115} - /// [google.cloud.sql.v1.UsersListResponse]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_users.proto#L297} + /// [google.cloud.sql.v1.UsersListResponse]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_users.proto#L303} /// // clang-format on StatusOr List( @@ -232,7 +232,7 @@ class SqlUsersServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1169} + /// [google.cloud.sql.v1.Operation]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_resources.proto#L1170} /// [google.cloud.sql.v1.SqlUsersUpdateRequest]: @googleapis_reference_link{google/cloud/sql/v1/cloud_sql_users.proto#L123} /// // clang-format on diff --git a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_auth_decorator.cc b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_auth_decorator.cc index 9cccd790607d0..301dfb834ec78 100644 --- a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_auth_decorator.cc +++ b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_auth_decorator.cc @@ -101,6 +101,27 @@ StorageBatchOperationsAuth::CancelJob( return child_->CancelJob(context, options, request); } +StatusOr< + google::cloud::storagebatchoperations::v1::ListBucketOperationsResponse> +StorageBatchOperationsAuth::ListBucketOperations( + grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListBucketOperations(context, options, request); +} + +StatusOr +StorageBatchOperationsAuth::GetBucketOperation( + grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1::GetBucketOperationRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetBucketOperation(context, options, request); +} + StatusOr StorageBatchOperationsAuth::ListLocations( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_auth_decorator.h b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_auth_decorator.h index 758e46e133335..af54603c7f8ad 100644 --- a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_auth_decorator.h +++ b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_auth_decorator.h @@ -74,6 +74,17 @@ class StorageBatchOperationsAuth : public StorageBatchOperationsStub { google::cloud::storagebatchoperations::v1::CancelJobRequest const& request) override; + StatusOr< + google::cloud::storagebatchoperations::v1::ListBucketOperationsResponse> + ListBucketOperations(grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest const& request) override; + + StatusOr + GetBucketOperation(grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const& request) override; + StatusOr ListLocations( grpc::ClientContext& context, Options const& options, google::cloud::location::ListLocationsRequest const& request) override; diff --git a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_connection_impl.cc b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_connection_impl.cc index 1e2eaf058b2fb..d11594f76a270 100644 --- a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_connection_impl.cc +++ b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_connection_impl.cc @@ -250,6 +250,60 @@ StorageBatchOperationsConnectionImpl::CancelJob( *current, request, __func__); } +StreamRange +StorageBatchOperationsConnectionImpl::ListBucketOperations( + google::cloud::storagebatchoperations::v1::ListBucketOperationsRequest + request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = + idempotency_policy(*current)->ListBucketOperations(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< + storagebatchoperations_v1::StorageBatchOperationsRetryPolicy>( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest const& request) { + return stub->ListBucketOperations(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::storagebatchoperations::v1::ListBucketOperationsResponse + r) { + std::vector + result(r.bucket_operations().size()); + auto& messages = *r.mutable_bucket_operations(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +StorageBatchOperationsConnectionImpl::GetBucketOperation( + google::cloud::storagebatchoperations::v1::GetBucketOperationRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetBucketOperation(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const& request) { + return stub_->GetBucketOperation(context, options, request); + }, + *current, request, __func__); +} + StreamRange StorageBatchOperationsConnectionImpl::ListLocations( google::cloud::location::ListLocationsRequest request) { diff --git a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_connection_impl.h b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_connection_impl.h index ed06e6eb84fdc..9243ae067c26b 100644 --- a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_connection_impl.h +++ b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_connection_impl.h @@ -82,6 +82,15 @@ class StorageBatchOperationsConnectionImpl CancelJob(google::cloud::storagebatchoperations::v1::CancelJobRequest const& request) override; + StreamRange + ListBucketOperations( + google::cloud::storagebatchoperations::v1::ListBucketOperationsRequest + request) override; + + StatusOr + GetBucketOperation(google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const& request) override; + StreamRange ListLocations( google::cloud::location::ListLocationsRequest request) override; diff --git a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_logging_decorator.cc b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_logging_decorator.cc index 12c8bd8f0e495..07fa196e8d195 100644 --- a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_logging_decorator.cc +++ b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_logging_decorator.cc @@ -123,6 +123,35 @@ StorageBatchOperationsLogging::CancelJob( context, options, request, __func__, tracing_options_); } +StatusOr< + google::cloud::storagebatchoperations::v1::ListBucketOperationsResponse> +StorageBatchOperationsLogging::ListBucketOperations( + grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest const& request) { + return child_->ListBucketOperations(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +StorageBatchOperationsLogging::GetBucketOperation( + grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1::GetBucketOperationRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const& request) { + return child_->GetBucketOperation(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + StatusOr StorageBatchOperationsLogging::ListLocations( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_logging_decorator.h b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_logging_decorator.h index 091c8d8449015..38a290f42915f 100644 --- a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_logging_decorator.h +++ b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_logging_decorator.h @@ -74,6 +74,17 @@ class StorageBatchOperationsLogging : public StorageBatchOperationsStub { google::cloud::storagebatchoperations::v1::CancelJobRequest const& request) override; + StatusOr< + google::cloud::storagebatchoperations::v1::ListBucketOperationsResponse> + ListBucketOperations(grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest const& request) override; + + StatusOr + GetBucketOperation(grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const& request) override; + StatusOr ListLocations( grpc::ClientContext& context, Options const& options, google::cloud::location::ListLocationsRequest const& request) override; diff --git a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_metadata_decorator.cc b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_metadata_decorator.cc index 2a7b53d61a83f..48278c1118698 100644 --- a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_metadata_decorator.cc +++ b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_metadata_decorator.cc @@ -108,6 +108,27 @@ StorageBatchOperationsMetadata::CancelJob( return child_->CancelJob(context, options, request); } +StatusOr< + google::cloud::storagebatchoperations::v1::ListBucketOperationsResponse> +StorageBatchOperationsMetadata::ListBucketOperations( + grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListBucketOperations(context, options, request); +} + +StatusOr +StorageBatchOperationsMetadata::GetBucketOperation( + grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1::GetBucketOperationRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetBucketOperation(context, options, request); +} + StatusOr StorageBatchOperationsMetadata::ListLocations( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_metadata_decorator.h b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_metadata_decorator.h index 3889bf5f668d8..27ef56dfa621d 100644 --- a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_metadata_decorator.h +++ b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_metadata_decorator.h @@ -75,6 +75,17 @@ class StorageBatchOperationsMetadata : public StorageBatchOperationsStub { google::cloud::storagebatchoperations::v1::CancelJobRequest const& request) override; + StatusOr< + google::cloud::storagebatchoperations::v1::ListBucketOperationsResponse> + ListBucketOperations(grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest const& request) override; + + StatusOr + GetBucketOperation(grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const& request) override; + StatusOr ListLocations( grpc::ClientContext& context, Options const& options, google::cloud::location::ListLocationsRequest const& request) override; diff --git a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_stub.cc b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_stub.cc index b692a9ce14dfe..575bb0491a5f4 100644 --- a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_stub.cc +++ b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_stub.cc @@ -116,6 +116,34 @@ DefaultStorageBatchOperationsStub::CancelJob( return response; } +StatusOr< + google::cloud::storagebatchoperations::v1::ListBucketOperationsResponse> +DefaultStorageBatchOperationsStub::ListBucketOperations( + grpc::ClientContext& context, Options const&, + google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest const& request) { + google::cloud::storagebatchoperations::v1::ListBucketOperationsResponse + response; + auto status = grpc_stub_->ListBucketOperations(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultStorageBatchOperationsStub::GetBucketOperation( + grpc::ClientContext& context, Options const&, + google::cloud::storagebatchoperations::v1::GetBucketOperationRequest const& + request) { + google::cloud::storagebatchoperations::v1::BucketOperation response; + auto status = grpc_stub_->GetBucketOperation(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + StatusOr DefaultStorageBatchOperationsStub::ListLocations( grpc::ClientContext& context, Options const&, diff --git a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_stub.h b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_stub.h index f786eb2e0f860..3870cfa511841 100644 --- a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_stub.h +++ b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_stub.h @@ -74,6 +74,17 @@ class StorageBatchOperationsStub { google::cloud::storagebatchoperations::v1::CancelJobRequest const& request) = 0; + virtual StatusOr< + google::cloud::storagebatchoperations::v1::ListBucketOperationsResponse> + ListBucketOperations(grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest const& request) = 0; + + virtual StatusOr + GetBucketOperation(grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const& request) = 0; + virtual StatusOr ListLocations( grpc::ClientContext& context, Options const& options, @@ -158,6 +169,17 @@ class DefaultStorageBatchOperationsStub : public StorageBatchOperationsStub { google::cloud::storagebatchoperations::v1::CancelJobRequest const& request) override; + StatusOr< + google::cloud::storagebatchoperations::v1::ListBucketOperationsResponse> + ListBucketOperations(grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest const& request) override; + + StatusOr + GetBucketOperation(grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const& request) override; + StatusOr ListLocations( grpc::ClientContext& context, Options const& options, google::cloud::location::ListLocationsRequest const& request) override; diff --git a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_connection.cc b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_connection.cc index 4507ae057f7bf..41b3dbe42bb9a 100644 --- a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_connection.cc +++ b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_connection.cc @@ -104,6 +104,31 @@ StorageBatchOperationsTracingConnection::CancelJob( return internal::EndSpan(*span, child_->CancelJob(request)); } +StreamRange +StorageBatchOperationsTracingConnection::ListBucketOperations( + google::cloud::storagebatchoperations::v1::ListBucketOperationsRequest + request) { + auto span = internal::MakeSpan( + "storagebatchoperations_v1::StorageBatchOperationsConnection::" + "ListBucketOperations"); + internal::OTelScope scope(span); + auto sr = child_->ListBucketOperations(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::storagebatchoperations::v1::BucketOperation>( + std::move(span), std::move(sr)); +} + +StatusOr +StorageBatchOperationsTracingConnection::GetBucketOperation( + google::cloud::storagebatchoperations::v1::GetBucketOperationRequest const& + request) { + auto span = internal::MakeSpan( + "storagebatchoperations_v1::StorageBatchOperationsConnection::" + "GetBucketOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetBucketOperation(request)); +} + StreamRange StorageBatchOperationsTracingConnection::ListLocations( google::cloud::location::ListLocationsRequest request) { diff --git a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_connection.h b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_connection.h index 94c5884629f83..360fc1a343255 100644 --- a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_connection.h +++ b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_connection.h @@ -68,6 +68,15 @@ class StorageBatchOperationsTracingConnection CancelJob(google::cloud::storagebatchoperations::v1::CancelJobRequest const& request) override; + StreamRange + ListBucketOperations( + google::cloud::storagebatchoperations::v1::ListBucketOperationsRequest + request) override; + + StatusOr + GetBucketOperation(google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const& request) override; + StreamRange ListLocations( google::cloud::location::ListLocationsRequest request) override; diff --git a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_stub.cc b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_stub.cc index ba6ef1dcc7dae..bc15c09571c57 100644 --- a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_stub.cc +++ b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_stub.cc @@ -116,6 +116,35 @@ StorageBatchOperationsTracingStub::CancelJob( child_->CancelJob(context, options, request)); } +StatusOr< + google::cloud::storagebatchoperations::v1::ListBucketOperationsResponse> +StorageBatchOperationsTracingStub::ListBucketOperations( + grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.storagebatchoperations.v1.StorageBatchOperations", + "ListBucketOperations"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->ListBucketOperations(context, options, request)); +} + +StatusOr +StorageBatchOperationsTracingStub::GetBucketOperation( + grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1::GetBucketOperationRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.storagebatchoperations.v1.StorageBatchOperations", + "GetBucketOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->GetBucketOperation(context, options, request)); +} + StatusOr StorageBatchOperationsTracingStub::ListLocations( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_stub.h b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_stub.h index 8c62b655426ca..0cf98ab42f8b2 100644 --- a/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_stub.h +++ b/google/cloud/storagebatchoperations/v1/internal/storage_batch_operations_tracing_stub.h @@ -72,6 +72,17 @@ class StorageBatchOperationsTracingStub : public StorageBatchOperationsStub { google::cloud::storagebatchoperations::v1::CancelJobRequest const& request) override; + StatusOr< + google::cloud::storagebatchoperations::v1::ListBucketOperationsResponse> + ListBucketOperations(grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest const& request) override; + + StatusOr + GetBucketOperation(grpc::ClientContext& context, Options const& options, + google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const& request) override; + StatusOr ListLocations( grpc::ClientContext& context, Options const& options, google::cloud::location::ListLocationsRequest const& request) override; diff --git a/google/cloud/storagebatchoperations/v1/mocks/mock_storage_batch_operations_connection.h b/google/cloud/storagebatchoperations/v1/mocks/mock_storage_batch_operations_connection.h index 0ec869b86c2ce..5e1a56f780ca8 100644 --- a/google/cloud/storagebatchoperations/v1/mocks/mock_storage_batch_operations_connection.h +++ b/google/cloud/storagebatchoperations/v1/mocks/mock_storage_batch_operations_connection.h @@ -111,6 +111,20 @@ class MockStorageBatchOperationsConnection request), (override)); + MOCK_METHOD( + (StreamRange), + ListBucketOperations, + (google::cloud::storagebatchoperations::v1::ListBucketOperationsRequest + request), + (override)); + + MOCK_METHOD( + StatusOr, + GetBucketOperation, + (google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const& request), + (override)); + MOCK_METHOD((StreamRange), ListLocations, (google::cloud::location::ListLocationsRequest request), (override)); diff --git a/google/cloud/storagebatchoperations/v1/storage_batch_operations_client.cc b/google/cloud/storagebatchoperations/v1/storage_batch_operations_client.cc index 8b20f50beec23..954c011e6b0b9 100644 --- a/google/cloud/storagebatchoperations/v1/storage_batch_operations_client.cc +++ b/google/cloud/storagebatchoperations/v1/storage_batch_operations_client.cc @@ -146,6 +146,43 @@ StorageBatchOperationsClient::CancelJob( return connection_->CancelJob(request); } +StreamRange +StorageBatchOperationsClient::ListBucketOperations(std::string const& parent, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::storagebatchoperations::v1::ListBucketOperationsRequest + request; + request.set_parent(parent); + return connection_->ListBucketOperations(request); +} + +StreamRange +StorageBatchOperationsClient::ListBucketOperations( + google::cloud::storagebatchoperations::v1::ListBucketOperationsRequest + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListBucketOperations(std::move(request)); +} + +StatusOr +StorageBatchOperationsClient::GetBucketOperation(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::storagebatchoperations::v1::GetBucketOperationRequest request; + request.set_name(name); + return connection_->GetBucketOperation(request); +} + +StatusOr +StorageBatchOperationsClient::GetBucketOperation( + google::cloud::storagebatchoperations::v1::GetBucketOperationRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetBucketOperation(request); +} + StreamRange StorageBatchOperationsClient::ListLocations( google::cloud::location::ListLocationsRequest request, Options opts) { diff --git a/google/cloud/storagebatchoperations/v1/storage_batch_operations_client.h b/google/cloud/storagebatchoperations/v1/storage_batch_operations_client.h index ff10969a62423..9fd16a9079eab 100644 --- a/google/cloud/storagebatchoperations/v1/storage_batch_operations_client.h +++ b/google/cloud/storagebatchoperations/v1/storage_batch_operations_client.h @@ -122,7 +122,7 @@ class StorageBatchOperationsClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.storagebatchoperations.v1.Job]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations_types.proto#L37} - /// [google.cloud.storagebatchoperations.v1.ListJobsRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L94} + /// [google.cloud.storagebatchoperations.v1.ListJobsRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L111} /// // clang-format on StreamRange ListJobs( @@ -161,7 +161,7 @@ class StorageBatchOperationsClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.storagebatchoperations.v1.Job]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations_types.proto#L37} - /// [google.cloud.storagebatchoperations.v1.ListJobsRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L94} + /// [google.cloud.storagebatchoperations.v1.ListJobsRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L111} /// // clang-format on StreamRange ListJobs( @@ -187,7 +187,7 @@ class StorageBatchOperationsClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.storagebatchoperations.v1.GetJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L129} + /// [google.cloud.storagebatchoperations.v1.GetJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L146} /// [google.cloud.storagebatchoperations.v1.Job]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations_types.proto#L37} /// // clang-format on @@ -217,7 +217,7 @@ class StorageBatchOperationsClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.storagebatchoperations.v1.GetJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L129} + /// [google.cloud.storagebatchoperations.v1.GetJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L146} /// [google.cloud.storagebatchoperations.v1.Job]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations_types.proto#L37} /// // clang-format on @@ -255,7 +255,7 @@ class StorageBatchOperationsClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.storagebatchoperations.v1.CreateJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L141} + /// [google.cloud.storagebatchoperations.v1.CreateJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L158} /// [google.cloud.storagebatchoperations.v1.Job]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations_types.proto#L37} /// // clang-format on @@ -310,7 +310,7 @@ class StorageBatchOperationsClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.storagebatchoperations.v1.CreateJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L141} + /// [google.cloud.storagebatchoperations.v1.CreateJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L158} /// [google.cloud.storagebatchoperations.v1.Job]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations_types.proto#L37} /// // clang-format on @@ -365,7 +365,7 @@ class StorageBatchOperationsClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.storagebatchoperations.v1.DeleteJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L193} + /// [google.cloud.storagebatchoperations.v1.DeleteJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L210} /// // clang-format on Status DeleteJob(std::string const& name, Options opts = {}); @@ -391,7 +391,7 @@ class StorageBatchOperationsClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.storagebatchoperations.v1.DeleteJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L193} + /// [google.cloud.storagebatchoperations.v1.DeleteJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L210} /// // clang-format on Status DeleteJob( @@ -418,8 +418,8 @@ class StorageBatchOperationsClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.storagebatchoperations.v1.CancelJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L171} - /// [google.cloud.storagebatchoperations.v1.CancelJobResponse]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L215} + /// [google.cloud.storagebatchoperations.v1.CancelJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L188} + /// [google.cloud.storagebatchoperations.v1.CancelJobResponse]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L238} /// // clang-format on StatusOr @@ -448,8 +448,8 @@ class StorageBatchOperationsClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.storagebatchoperations.v1.CancelJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L171} - /// [google.cloud.storagebatchoperations.v1.CancelJobResponse]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L215} + /// [google.cloud.storagebatchoperations.v1.CancelJobRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L188} + /// [google.cloud.storagebatchoperations.v1.CancelJobResponse]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L238} /// // clang-format on StatusOr @@ -457,6 +457,141 @@ class StorageBatchOperationsClient { request, Options opts = {}); + // clang-format off + /// + /// Lists BucketOperations in a given project and job. + /// + /// @param parent Required. Format: projects/{project_id}/locations/global/jobs/{job_id}. + /// @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.storagebatchoperations.v1.BucketOperation], 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.storagebatchoperations.v1.BucketOperation]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations_types.proto#L136} + /// [google.cloud.storagebatchoperations.v1.ListBucketOperationsRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L241} + /// + // clang-format on + StreamRange + ListBucketOperations(std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists BucketOperations in a given project and job. + /// + /// @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.storagebatchoperations.v1.ListBucketOperationsRequest]. + /// 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.storagebatchoperations.v1.BucketOperation], 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.storagebatchoperations.v1.BucketOperation]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations_types.proto#L136} + /// [google.cloud.storagebatchoperations.v1.ListBucketOperationsRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L241} + /// + // clang-format on + StreamRange + ListBucketOperations( + google::cloud::storagebatchoperations::v1::ListBucketOperationsRequest + request, + Options opts = {}); + + // clang-format off + /// + /// Gets a BucketOperation. + /// + /// @param name Required. `name` of the bucket operation to retrieve. + /// Format: + /// projects/{project_id}/locations/global/jobs/{job_id}/bucketOperations/{bucket_operation_id}. + /// @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.storagebatchoperations.v1.BucketOperation]) + /// 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.storagebatchoperations.v1.BucketOperation]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations_types.proto#L136} + /// [google.cloud.storagebatchoperations.v1.GetBucketOperationRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L276} + /// + // clang-format on + StatusOr + GetBucketOperation(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Gets a BucketOperation. + /// + /// @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.storagebatchoperations.v1.GetBucketOperationRequest]. + /// 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.storagebatchoperations.v1.BucketOperation]) + /// 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.storagebatchoperations.v1.BucketOperation]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations_types.proto#L136} + /// [google.cloud.storagebatchoperations.v1.GetBucketOperationRequest]: @googleapis_reference_link{google/cloud/storagebatchoperations/v1/storage_batch_operations.proto#L276} + /// + // clang-format on + StatusOr + GetBucketOperation(google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const& request, + Options opts = {}); + // clang-format off /// /// Lists information about the supported locations for this service. diff --git a/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection.cc b/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection.cc index ecd981dd675bf..725b3162c7928 100644 --- a/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection.cc +++ b/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection.cc @@ -87,6 +87,21 @@ StorageBatchOperationsConnection::CancelJob( return Status(StatusCode::kUnimplemented, "not implemented"); } +StreamRange +StorageBatchOperationsConnection::ListBucketOperations( + google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange>(); +} + +StatusOr +StorageBatchOperationsConnection::GetBucketOperation( + google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + StreamRange StorageBatchOperationsConnection::ListLocations( google::cloud::location:: diff --git a/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection.h b/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection.h index c736f8f7913e5..094751a4cdd33 100644 --- a/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection.h +++ b/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection.h @@ -219,6 +219,16 @@ class StorageBatchOperationsConnection { CancelJob(google::cloud::storagebatchoperations::v1::CancelJobRequest const& request); + virtual StreamRange< + google::cloud::storagebatchoperations::v1::BucketOperation> + ListBucketOperations( + google::cloud::storagebatchoperations::v1::ListBucketOperationsRequest + request); + + virtual StatusOr + GetBucketOperation(google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const& request); + virtual StreamRange ListLocations( google::cloud::location::ListLocationsRequest request); diff --git a/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection_idempotency_policy.cc b/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection_idempotency_policy.cc index fbed272b6e739..04738c5ef61d1 100644 --- a/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection_idempotency_policy.cc +++ b/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection_idempotency_policy.cc @@ -60,6 +60,20 @@ Idempotency StorageBatchOperationsConnectionIdempotencyPolicy::CancelJob( return Idempotency::kNonIdempotent; } +Idempotency +StorageBatchOperationsConnectionIdempotencyPolicy::ListBucketOperations( + google::cloud::storagebatchoperations::v1:: + ListBucketOperationsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency +StorageBatchOperationsConnectionIdempotencyPolicy::GetBucketOperation( + google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const&) { + return Idempotency::kIdempotent; +} + Idempotency StorageBatchOperationsConnectionIdempotencyPolicy::ListLocations( google::cloud::location::ListLocationsRequest) { // NOLINT return Idempotency::kIdempotent; diff --git a/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection_idempotency_policy.h b/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection_idempotency_policy.h index 49521d6d8c1ce..9a7b891c53655 100644 --- a/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection_idempotency_policy.h +++ b/google/cloud/storagebatchoperations/v1/storage_batch_operations_connection_idempotency_policy.h @@ -57,6 +57,14 @@ class StorageBatchOperationsConnectionIdempotencyPolicy { google::cloud::storagebatchoperations::v1::CancelJobRequest const& request); + virtual google::cloud::Idempotency ListBucketOperations( + google::cloud::storagebatchoperations::v1::ListBucketOperationsRequest + request); + + virtual google::cloud::Idempotency GetBucketOperation( + google::cloud::storagebatchoperations::v1:: + GetBucketOperationRequest const& request); + virtual google::cloud::Idempotency ListLocations( google::cloud::location::ListLocationsRequest request); diff --git a/google/cloud/storagecontrol/v2/internal/storage_control_auth_decorator.cc b/google/cloud/storagecontrol/v2/internal/storage_control_auth_decorator.cc index 5fc3a7a6045c7..f0277c9895fa7 100644 --- a/google/cloud/storagecontrol/v2/internal/storage_control_auth_decorator.cc +++ b/google/cloud/storagecontrol/v2/internal/storage_control_auth_decorator.cc @@ -95,6 +95,35 @@ StatusOr StorageControlAuth::RenameFolder( return child_->RenameFolder(context, options, request); } +future> +StorageControlAuth::AsyncDeleteFolderRecursive( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::storage::control::v2::DeleteFolderRecursiveRequest 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->AsyncDeleteFolderRecursive(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr +StorageControlAuth::DeleteFolderRecursive( + grpc::ClientContext& context, Options options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeleteFolderRecursive(context, options, request); +} + StatusOr StorageControlAuth::GetStorageLayout( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/storagecontrol/v2/internal/storage_control_auth_decorator.h b/google/cloud/storagecontrol/v2/internal/storage_control_auth_decorator.h index 63ecdac76c75f..0c56ad0535567 100644 --- a/google/cloud/storagecontrol/v2/internal/storage_control_auth_decorator.h +++ b/google/cloud/storagecontrol/v2/internal/storage_control_auth_decorator.h @@ -71,6 +71,18 @@ class StorageControlAuth : public StorageControlStub { google::storage::control::v2::RenameFolderRequest const& request) override; + future> AsyncDeleteFolderRecursive( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) + override; + + StatusOr DeleteFolderRecursive( + grpc::ClientContext& context, Options options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) + override; + StatusOr GetStorageLayout( grpc::ClientContext& context, Options const& options, google::storage::control::v2::GetStorageLayoutRequest const& request) diff --git a/google/cloud/storagecontrol/v2/internal/storage_control_connection_impl.cc b/google/cloud/storagecontrol/v2/internal/storage_control_connection_impl.cc index 7bf8bd07765cf..16addd3612ce6 100644 --- a/google/cloud/storagecontrol/v2/internal/storage_control_connection_impl.cc +++ b/google/cloud/storagecontrol/v2/internal/storage_control_connection_impl.cc @@ -247,6 +247,103 @@ StorageControlConnectionImpl::RenameFolder( polling_policy(*current), __func__); } +future> +StorageControlConnectionImpl::DeleteFolderRecursive( + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + if (request_copy.request_id().empty()) { + request_copy.set_request_id(invocation_id_generator_->MakeInvocationId()); + } + auto const idempotent = + idempotency_policy(*current)->DeleteFolderRecursive(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::storage::control::v2::DeleteFolderRecursiveMetadata>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& + request) { + return stub->AsyncDeleteFolderRecursive(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::storage::control::v2::DeleteFolderRecursiveMetadata>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +StorageControlConnectionImpl::DeleteFolderRecursive( + NoAwaitTag, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeleteFolderRecursive(request), + [this](grpc::ClientContext& context, Options const& options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& + request) { + return stub_->DeleteFolderRecursive(context, options, request); + }, + *current, request, __func__); +} + +future> +StorageControlConnectionImpl::DeleteFolderRecursive( + 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 DeleteFolderRecursive", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::storage::control::v2::DeleteFolderRecursiveMetadata>( + 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::storage::control::v2::DeleteFolderRecursiveMetadata>, + polling_policy(*current), __func__); +} + StatusOr StorageControlConnectionImpl::GetStorageLayout( google::storage::control::v2::GetStorageLayoutRequest const& request) { diff --git a/google/cloud/storagecontrol/v2/internal/storage_control_connection_impl.h b/google/cloud/storagecontrol/v2/internal/storage_control_connection_impl.h index beefbfabcb8cc..bf5f405ba843d 100644 --- a/google/cloud/storagecontrol/v2/internal/storage_control_connection_impl.h +++ b/google/cloud/storagecontrol/v2/internal/storage_control_connection_impl.h @@ -78,6 +78,20 @@ class StorageControlConnectionImpl future> RenameFolder( google::longrunning::Operation const& operation) override; + future> + DeleteFolderRecursive( + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) + override; + + StatusOr DeleteFolderRecursive( + NoAwaitTag, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) + override; + + future> + DeleteFolderRecursive( + google::longrunning::Operation const& operation) override; + StatusOr GetStorageLayout( google::storage::control::v2::GetStorageLayoutRequest const& request) override; diff --git a/google/cloud/storagecontrol/v2/internal/storage_control_logging_decorator.cc b/google/cloud/storagecontrol/v2/internal/storage_control_logging_decorator.cc index fc9ad23d2d3a4..b7d9291ee0945 100644 --- a/google/cloud/storagecontrol/v2/internal/storage_control_logging_decorator.cc +++ b/google/cloud/storagecontrol/v2/internal/storage_control_logging_decorator.cc @@ -113,6 +113,38 @@ StatusOr StorageControlLogging::RenameFolder( context, options, request, __func__, tracing_options_); } +future> +StorageControlLogging::AsyncDeleteFolderRecursive( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& + request) { + return child_->AsyncDeleteFolderRecursive(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +StorageControlLogging::DeleteFolderRecursive( + grpc::ClientContext& context, Options options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& + request) { + return child_->DeleteFolderRecursive(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + StatusOr StorageControlLogging::GetStorageLayout( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/storagecontrol/v2/internal/storage_control_logging_decorator.h b/google/cloud/storagecontrol/v2/internal/storage_control_logging_decorator.h index 75e2fb6630140..be3156c7266b8 100644 --- a/google/cloud/storagecontrol/v2/internal/storage_control_logging_decorator.h +++ b/google/cloud/storagecontrol/v2/internal/storage_control_logging_decorator.h @@ -71,6 +71,18 @@ class StorageControlLogging : public StorageControlStub { google::storage::control::v2::RenameFolderRequest const& request) override; + future> AsyncDeleteFolderRecursive( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) + override; + + StatusOr DeleteFolderRecursive( + grpc::ClientContext& context, Options options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) + override; + StatusOr GetStorageLayout( grpc::ClientContext& context, Options const& options, google::storage::control::v2::GetStorageLayoutRequest const& request) diff --git a/google/cloud/storagecontrol/v2/internal/storage_control_metadata_decorator.cc b/google/cloud/storagecontrol/v2/internal/storage_control_metadata_decorator.cc index 04eb892a27524..7ce8243522121 100644 --- a/google/cloud/storagecontrol/v2/internal/storage_control_metadata_decorator.cc +++ b/google/cloud/storagecontrol/v2/internal/storage_control_metadata_decorator.cc @@ -202,6 +202,67 @@ StatusOr StorageControlMetadata::RenameFolder( return child_->RenameFolder(context, options, request); } +future> +StorageControlMetadata::AsyncDeleteFolderRecursive( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) { + std::vector params; + params.reserve(1); + + static auto* bucket_matcher = [] { + return new google::cloud::internal::RoutingMatcher< + google::storage::control::v2::DeleteFolderRecursiveRequest>{ + "bucket=", + { + {[](google::storage::control::v2:: + DeleteFolderRecursiveRequest const& request) + -> std::string const& { return request.name(); }, + std::regex{"(projects/[^/]+/buckets/[^/]+)/.*", + std::regex::optimize}}, + }}; + }(); + bucket_matcher->AppendParam(request, params); + + if (params.empty()) { + SetMetadata(*context, *options); + } else { + SetMetadata(*context, *options, absl::StrJoin(params, "&")); + } + return child_->AsyncDeleteFolderRecursive(cq, std::move(context), + std::move(options), request); +} + +StatusOr +StorageControlMetadata::DeleteFolderRecursive( + grpc::ClientContext& context, Options options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) { + std::vector params; + params.reserve(1); + + static auto* bucket_matcher = [] { + return new google::cloud::internal::RoutingMatcher< + google::storage::control::v2::DeleteFolderRecursiveRequest>{ + "bucket=", + { + {[](google::storage::control::v2:: + DeleteFolderRecursiveRequest const& request) + -> std::string const& { return request.name(); }, + std::regex{"(projects/[^/]+/buckets/[^/]+)/.*", + std::regex::optimize}}, + }}; + }(); + bucket_matcher->AppendParam(request, params); + + if (params.empty()) { + SetMetadata(context, options); + } else { + SetMetadata(context, options, absl::StrJoin(params, "&")); + } + return child_->DeleteFolderRecursive(context, options, request); +} + StatusOr StorageControlMetadata::GetStorageLayout( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/storagecontrol/v2/internal/storage_control_metadata_decorator.h b/google/cloud/storagecontrol/v2/internal/storage_control_metadata_decorator.h index eccac4a78cfb8..1c9391afbc22d 100644 --- a/google/cloud/storagecontrol/v2/internal/storage_control_metadata_decorator.h +++ b/google/cloud/storagecontrol/v2/internal/storage_control_metadata_decorator.h @@ -71,6 +71,18 @@ class StorageControlMetadata : public StorageControlStub { google::storage::control::v2::RenameFolderRequest const& request) override; + future> AsyncDeleteFolderRecursive( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) + override; + + StatusOr DeleteFolderRecursive( + grpc::ClientContext& context, Options options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) + override; + StatusOr GetStorageLayout( grpc::ClientContext& context, Options const& options, google::storage::control::v2::GetStorageLayoutRequest const& request) diff --git a/google/cloud/storagecontrol/v2/internal/storage_control_stub.cc b/google/cloud/storagecontrol/v2/internal/storage_control_stub.cc index f57ca2c8e3ec6..d1ffe32466af2 100644 --- a/google/cloud/storagecontrol/v2/internal/storage_control_stub.cc +++ b/google/cloud/storagecontrol/v2/internal/storage_control_stub.cc @@ -111,6 +111,37 @@ DefaultStorageControlStub::RenameFolder( return response; } +future> +DefaultStorageControlStub::AsyncDeleteFolderRecursive( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) { + return internal::MakeUnaryRpcImpl< + google::storage::control::v2::DeleteFolderRecursiveRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::storage::control::v2::DeleteFolderRecursiveRequest const& + request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncDeleteFolderRecursive(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultStorageControlStub::DeleteFolderRecursive( + grpc::ClientContext& context, Options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) { + google::longrunning::Operation response; + auto status = grpc_stub_->DeleteFolderRecursive(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + StatusOr DefaultStorageControlStub::GetStorageLayout( grpc::ClientContext& context, Options const&, diff --git a/google/cloud/storagecontrol/v2/internal/storage_control_stub.h b/google/cloud/storagecontrol/v2/internal/storage_control_stub.h index 4c7f901842d28..9458db772884a 100644 --- a/google/cloud/storagecontrol/v2/internal/storage_control_stub.h +++ b/google/cloud/storagecontrol/v2/internal/storage_control_stub.h @@ -68,6 +68,19 @@ class StorageControlStub { grpc::ClientContext& context, Options options, google::storage::control::v2::RenameFolderRequest const& request) = 0; + virtual future> + AsyncDeleteFolderRecursive( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& + request) = 0; + + virtual StatusOr DeleteFolderRecursive( + grpc::ClientContext& context, Options options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& + request) = 0; + virtual StatusOr GetStorageLayout( grpc::ClientContext& context, Options const& options, @@ -252,6 +265,18 @@ class DefaultStorageControlStub : public StorageControlStub { google::storage::control::v2::RenameFolderRequest const& request) override; + future> AsyncDeleteFolderRecursive( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) + override; + + StatusOr DeleteFolderRecursive( + grpc::ClientContext& context, Options options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) + override; + StatusOr GetStorageLayout( grpc::ClientContext& context, Options const& options, google::storage::control::v2::GetStorageLayoutRequest const& request) diff --git a/google/cloud/storagecontrol/v2/internal/storage_control_tracing_connection.cc b/google/cloud/storagecontrol/v2/internal/storage_control_tracing_connection.cc index 8fd60f44baf75..03f6ea086a14c 100644 --- a/google/cloud/storagecontrol/v2/internal/storage_control_tracing_connection.cc +++ b/google/cloud/storagecontrol/v2/internal/storage_control_tracing_connection.cc @@ -96,6 +96,37 @@ StorageControlTracingConnection::RenameFolder( return internal::EndSpan(std::move(span), child_->RenameFolder(operation)); } +future> +StorageControlTracingConnection::DeleteFolderRecursive( + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) { + auto span = internal::MakeSpan( + "storagecontrol_v2::StorageControlConnection::DeleteFolderRecursive"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeleteFolderRecursive(request)); +} + +StatusOr +StorageControlTracingConnection::DeleteFolderRecursive( + NoAwaitTag, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) { + auto span = internal::MakeSpan( + "storagecontrol_v2::StorageControlConnection::DeleteFolderRecursive"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan( + *span, child_->DeleteFolderRecursive(NoAwaitTag{}, request)); +} + +future> +StorageControlTracingConnection::DeleteFolderRecursive( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "storagecontrol_v2::StorageControlConnection::DeleteFolderRecursive"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeleteFolderRecursive(operation)); +} + StatusOr StorageControlTracingConnection::GetStorageLayout( google::storage::control::v2::GetStorageLayoutRequest const& request) { diff --git a/google/cloud/storagecontrol/v2/internal/storage_control_tracing_connection.h b/google/cloud/storagecontrol/v2/internal/storage_control_tracing_connection.h index 15685ce770850..36e7c3f625cdc 100644 --- a/google/cloud/storagecontrol/v2/internal/storage_control_tracing_connection.h +++ b/google/cloud/storagecontrol/v2/internal/storage_control_tracing_connection.h @@ -63,6 +63,20 @@ class StorageControlTracingConnection future> RenameFolder( google::longrunning::Operation const& operation) override; + future> + DeleteFolderRecursive( + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) + override; + + StatusOr DeleteFolderRecursive( + NoAwaitTag, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) + override; + + future> + DeleteFolderRecursive( + google::longrunning::Operation const& operation) override; + StatusOr GetStorageLayout( google::storage::control::v2::GetStorageLayoutRequest const& request) override; diff --git a/google/cloud/storagecontrol/v2/internal/storage_control_tracing_stub.cc b/google/cloud/storagecontrol/v2/internal/storage_control_tracing_stub.cc index 493974026a94f..4d46036c31974 100644 --- a/google/cloud/storagecontrol/v2/internal/storage_control_tracing_stub.cc +++ b/google/cloud/storagecontrol/v2/internal/storage_control_tracing_stub.cc @@ -111,6 +111,35 @@ StorageControlTracingStub::RenameFolder( child_->RenameFolder(context, options, request)); } +future> +StorageControlTracingStub::AsyncDeleteFolderRecursive( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) { + auto span = internal::MakeSpanGrpc("google.storage.control.v2.StorageControl", + "DeleteFolderRecursive"); + span->SetAttribute("gl-cpp.request_id", request.request_id()); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncDeleteFolderRecursive(cq, context, std::move(options), + request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +StorageControlTracingStub::DeleteFolderRecursive( + grpc::ClientContext& context, Options options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) { + auto span = internal::MakeSpanGrpc("google.storage.control.v2.StorageControl", + "DeleteFolderRecursive"); + span->SetAttribute("gl-cpp.request_id", request.request_id()); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->DeleteFolderRecursive(context, options, request)); +} + StatusOr StorageControlTracingStub::GetStorageLayout( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/storagecontrol/v2/internal/storage_control_tracing_stub.h b/google/cloud/storagecontrol/v2/internal/storage_control_tracing_stub.h index 507109c8b5629..02e47db8df023 100644 --- a/google/cloud/storagecontrol/v2/internal/storage_control_tracing_stub.h +++ b/google/cloud/storagecontrol/v2/internal/storage_control_tracing_stub.h @@ -68,6 +68,18 @@ class StorageControlTracingStub : public StorageControlStub { google::storage::control::v2::RenameFolderRequest const& request) override; + future> AsyncDeleteFolderRecursive( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) + override; + + StatusOr DeleteFolderRecursive( + grpc::ClientContext& context, Options options, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) + override; + StatusOr GetStorageLayout( grpc::ClientContext& context, Options const& options, google::storage::control::v2::GetStorageLayoutRequest const& request) diff --git a/google/cloud/storagecontrol/v2/mocks/mock_storage_control_connection.h b/google/cloud/storagecontrol/v2/mocks/mock_storage_control_connection.h index e86012381c3cb..552120e23a969 100644 --- a/google/cloud/storagecontrol/v2/mocks/mock_storage_control_connection.h +++ b/google/cloud/storagecontrol/v2/mocks/mock_storage_control_connection.h @@ -103,6 +103,47 @@ class MockStorageControlConnection RenameFolder, (google::longrunning::Operation const& operation), (override)); + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteFolderRecursive(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + DeleteFolderRecursive, + (google::storage::control::v2::DeleteFolderRecursiveRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, DeleteFolderRecursive(_, _)) + /// @endcode + MOCK_METHOD(StatusOr, DeleteFolderRecursive, + (NoAwaitTag, + google::storage::control::v2::DeleteFolderRecursiveRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteFolderRecursive(Matcher(_))) + /// @endcode + MOCK_METHOD(future>, + DeleteFolderRecursive, + (google::longrunning::Operation const& operation), (override)); + MOCK_METHOD( StatusOr, GetStorageLayout, (google::storage::control::v2::GetStorageLayoutRequest const& request), diff --git a/google/cloud/storagecontrol/v2/storage_control_client.cc b/google/cloud/storagecontrol/v2/storage_control_client.cc index 86bb25fcade5d..8538107537624 100644 --- a/google/cloud/storagecontrol/v2/storage_control_client.cc +++ b/google/cloud/storagecontrol/v2/storage_control_client.cc @@ -144,6 +144,48 @@ StorageControlClient::RenameFolder( return connection_->RenameFolder(operation); } +future> +StorageControlClient::DeleteFolderRecursive(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::storage::control::v2::DeleteFolderRecursiveRequest request; + request.set_name(name); + return connection_->DeleteFolderRecursive(request); +} + +StatusOr +StorageControlClient::DeleteFolderRecursive(NoAwaitTag, std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::storage::control::v2::DeleteFolderRecursiveRequest request; + request.set_name(name); + return connection_->DeleteFolderRecursive(NoAwaitTag{}, request); +} + +future> +StorageControlClient::DeleteFolderRecursive( + google::storage::control::v2::DeleteFolderRecursiveRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteFolderRecursive(request); +} + +StatusOr +StorageControlClient::DeleteFolderRecursive( + NoAwaitTag, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteFolderRecursive(NoAwaitTag{}, request); +} + +future> +StorageControlClient::DeleteFolderRecursive( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteFolderRecursive(operation); +} + StatusOr StorageControlClient::GetStorageLayout(std::string const& name, Options opts) { internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); diff --git a/google/cloud/storagecontrol/v2/storage_control_client.h b/google/cloud/storagecontrol/v2/storage_control_client.h index 546564b5f3a08..879d1dc31e267 100644 --- a/google/cloud/storagecontrol/v2/storage_control_client.h +++ b/google/cloud/storagecontrol/v2/storage_control_client.h @@ -118,8 +118,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.CreateFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L439} - /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L378} + /// [google.storage.control.v2.CreateFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L456} + /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L395} /// // clang-format on StatusOr CreateFolder( @@ -151,8 +151,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.CreateFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L439} - /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L378} + /// [google.storage.control.v2.CreateFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L456} + /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L395} /// // clang-format on StatusOr CreateFolder( @@ -177,7 +177,7 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.DeleteFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L476} + /// [google.storage.control.v2.DeleteFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L493} /// // clang-format on Status DeleteFolder(std::string const& name, Options opts = {}); @@ -204,7 +204,7 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.DeleteFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L476} + /// [google.storage.control.v2.DeleteFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L493} /// // clang-format on Status DeleteFolder( @@ -231,8 +231,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L378} - /// [google.storage.control.v2.GetFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L413} + /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L395} + /// [google.storage.control.v2.GetFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L430} /// // clang-format on StatusOr GetFolder( @@ -262,8 +262,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L378} - /// [google.storage.control.v2.GetFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L413} + /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L395} + /// [google.storage.control.v2.GetFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L430} /// // clang-format on StatusOr GetFolder( @@ -299,8 +299,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L378} - /// [google.storage.control.v2.ListFoldersRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L502} + /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L395} + /// [google.storage.control.v2.ListFoldersRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L519} /// // clang-format on StreamRange ListFolders( @@ -339,8 +339,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L378} - /// [google.storage.control.v2.ListFoldersRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L502} + /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L395} + /// [google.storage.control.v2.ListFoldersRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L519} /// // clang-format on StreamRange ListFolders( @@ -377,8 +377,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L378} - /// [google.storage.control.v2.RenameFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L561} + /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L395} + /// [google.storage.control.v2.RenameFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L578} /// // clang-format on future> RenameFolder( @@ -433,8 +433,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L378} - /// [google.storage.control.v2.RenameFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L561} + /// [google.storage.control.v2.Folder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L395} + /// [google.storage.control.v2.RenameFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L578} /// // clang-format on future> RenameFolder( @@ -469,6 +469,124 @@ class StorageControlClient { future> RenameFolder( google::longrunning::Operation const& operation, Options opts = {}); + // clang-format off + /// + /// Deletes a folder recursively. This operation is only applicable to a + /// hierarchical namespace enabled bucket. + /// + /// @param name Required. Name of the folder being deleted, however all of its contents + /// will be deleted too. Format: + /// `projects/{project}/buckets/{bucket}/folders/{folder}` + /// @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.storage.control.v2.DeleteFolderRecursiveMetadata] 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.storage.control.v2.DeleteFolderRecursiveMetadata]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L676} + /// [google.storage.control.v2.DeleteFolderRecursiveRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L607} + /// + // clang-format on + future> + DeleteFolderRecursive(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteFolderRecursive + /// + /// 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 DeleteFolderRecursive( + NoAwaitTag, std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Deletes a folder recursively. This operation is only applicable to a + /// hierarchical namespace enabled bucket. + /// + /// @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.storage.control.v2.DeleteFolderRecursiveRequest]. + /// 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.storage.control.v2.DeleteFolderRecursiveMetadata] 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.storage.control.v2.DeleteFolderRecursiveMetadata]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L676} + /// [google.storage.control.v2.DeleteFolderRecursiveRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L607} + /// + // clang-format on + future> + DeleteFolderRecursive( + google::storage::control::v2::DeleteFolderRecursiveRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteFolderRecursive + /// + /// 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 DeleteFolderRecursive( + NoAwaitTag, + google::storage::control::v2::DeleteFolderRecursiveRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteFolderRecursive + /// + /// 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> + DeleteFolderRecursive(google::longrunning::Operation const& operation, + Options opts = {}); + // clang-format off /// /// Returns the storage layout configuration for a given bucket. @@ -488,8 +606,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.GetStorageLayoutRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L675} - /// [google.storage.control.v2.StorageLayout]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L630} + /// [google.storage.control.v2.GetStorageLayoutRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L730} + /// [google.storage.control.v2.StorageLayout]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L685} /// // clang-format on StatusOr GetStorageLayout( @@ -518,8 +636,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.GetStorageLayoutRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L675} - /// [google.storage.control.v2.StorageLayout]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L630} + /// [google.storage.control.v2.GetStorageLayoutRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L730} + /// [google.storage.control.v2.StorageLayout]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L685} /// // clang-format on StatusOr GetStorageLayout( @@ -550,8 +668,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.CreateManagedFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L754} - /// [google.storage.control.v2.ManagedFolder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L698} + /// [google.storage.control.v2.CreateManagedFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L809} + /// [google.storage.control.v2.ManagedFolder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L753} /// // clang-format on StatusOr CreateManagedFolder( @@ -582,8 +700,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.CreateManagedFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L754} - /// [google.storage.control.v2.ManagedFolder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L698} + /// [google.storage.control.v2.CreateManagedFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L809} + /// [google.storage.control.v2.ManagedFolder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L753} /// // clang-format on StatusOr CreateManagedFolder( @@ -608,7 +726,7 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.DeleteManagedFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L782} + /// [google.storage.control.v2.DeleteManagedFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L837} /// // clang-format on Status DeleteManagedFolder(std::string const& name, Options opts = {}); @@ -634,7 +752,7 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.DeleteManagedFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L782} + /// [google.storage.control.v2.DeleteManagedFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L837} /// // clang-format on Status DeleteManagedFolder( @@ -661,8 +779,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.GetManagedFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L726} - /// [google.storage.control.v2.ManagedFolder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L698} + /// [google.storage.control.v2.GetManagedFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L781} + /// [google.storage.control.v2.ManagedFolder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L753} /// // clang-format on StatusOr GetManagedFolder( @@ -691,8 +809,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.GetManagedFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L726} - /// [google.storage.control.v2.ManagedFolder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L698} + /// [google.storage.control.v2.GetManagedFolderRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L781} + /// [google.storage.control.v2.ManagedFolder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L753} /// // clang-format on StatusOr GetManagedFolder( @@ -726,8 +844,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.ListManagedFoldersRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L816} - /// [google.storage.control.v2.ManagedFolder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L698} + /// [google.storage.control.v2.ListManagedFoldersRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L871} + /// [google.storage.control.v2.ManagedFolder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L753} /// // clang-format on StreamRange ListManagedFolders( @@ -765,8 +883,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.ListManagedFoldersRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L816} - /// [google.storage.control.v2.ManagedFolder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L698} + /// [google.storage.control.v2.ListManagedFoldersRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L871} + /// [google.storage.control.v2.ManagedFolder]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L753} /// // clang-format on StreamRange ListManagedFolders( @@ -803,8 +921,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L904} - /// [google.storage.control.v2.CreateAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L952} + /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L959} + /// [google.storage.control.v2.CreateAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1007} /// // clang-format on future> @@ -859,8 +977,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L904} - /// [google.storage.control.v2.CreateAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L952} + /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L959} + /// [google.storage.control.v2.CreateAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1007} /// // clang-format on future> @@ -932,8 +1050,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L904} - /// [google.storage.control.v2.UpdateAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L978} + /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L959} + /// [google.storage.control.v2.UpdateAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1033} /// // clang-format on future> @@ -988,8 +1106,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L904} - /// [google.storage.control.v2.UpdateAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L978} + /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L959} + /// [google.storage.control.v2.UpdateAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1033} /// // clang-format on future> @@ -1048,8 +1166,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L904} - /// [google.storage.control.v2.DisableAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1004} + /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L959} + /// [google.storage.control.v2.DisableAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1059} /// // clang-format on StatusOr DisableAnywhereCache( @@ -1081,8 +1199,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L904} - /// [google.storage.control.v2.DisableAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1004} + /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L959} + /// [google.storage.control.v2.DisableAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1059} /// // clang-format on StatusOr DisableAnywhereCache( @@ -1108,8 +1226,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L904} - /// [google.storage.control.v2.PauseAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1024} + /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L959} + /// [google.storage.control.v2.PauseAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1079} /// // clang-format on StatusOr PauseAnywhereCache( @@ -1138,8 +1256,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L904} - /// [google.storage.control.v2.PauseAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1024} + /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L959} + /// [google.storage.control.v2.PauseAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1079} /// // clang-format on StatusOr PauseAnywhereCache( @@ -1165,8 +1283,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L904} - /// [google.storage.control.v2.ResumeAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1044} + /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L959} + /// [google.storage.control.v2.ResumeAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1099} /// // clang-format on StatusOr ResumeAnywhereCache( @@ -1195,8 +1313,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L904} - /// [google.storage.control.v2.ResumeAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1044} + /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L959} + /// [google.storage.control.v2.ResumeAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1099} /// // clang-format on StatusOr ResumeAnywhereCache( @@ -1222,8 +1340,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L904} - /// [google.storage.control.v2.GetAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1064} + /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L959} + /// [google.storage.control.v2.GetAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1119} /// // clang-format on StatusOr GetAnywhereCache( @@ -1252,8 +1370,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L904} - /// [google.storage.control.v2.GetAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1064} + /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L959} + /// [google.storage.control.v2.GetAnywhereCacheRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1119} /// // clang-format on StatusOr GetAnywhereCache( @@ -1287,8 +1405,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L904} - /// [google.storage.control.v2.ListAnywhereCachesRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1083} + /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L959} + /// [google.storage.control.v2.ListAnywhereCachesRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1138} /// // clang-format on StreamRange ListAnywhereCaches( @@ -1326,8 +1444,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L904} - /// [google.storage.control.v2.ListAnywhereCachesRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1083} + /// [google.storage.control.v2.AnywhereCache]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L959} + /// [google.storage.control.v2.ListAnywhereCachesRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1138} /// // clang-format on StreamRange ListAnywhereCaches( @@ -1355,8 +1473,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.GetProjectIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1398} - /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1120} + /// [google.storage.control.v2.GetProjectIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1453} + /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1175} /// // clang-format on StatusOr @@ -1385,8 +1503,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.GetProjectIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1398} - /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1120} + /// [google.storage.control.v2.GetProjectIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1453} + /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1175} /// // clang-format on StatusOr @@ -1416,8 +1534,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1120} - /// [google.storage.control.v2.UpdateProjectIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1329} + /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1175} + /// [google.storage.control.v2.UpdateProjectIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1384} /// // clang-format on StatusOr @@ -1449,8 +1567,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1120} - /// [google.storage.control.v2.UpdateProjectIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1329} + /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1175} + /// [google.storage.control.v2.UpdateProjectIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1384} /// // clang-format on StatusOr @@ -1480,8 +1598,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.GetFolderIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1377} - /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1120} + /// [google.storage.control.v2.GetFolderIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1432} + /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1175} /// // clang-format on StatusOr @@ -1510,8 +1628,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.GetFolderIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1377} - /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1120} + /// [google.storage.control.v2.GetFolderIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1432} + /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1175} /// // clang-format on StatusOr @@ -1541,8 +1659,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1120} - /// [google.storage.control.v2.UpdateFolderIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1302} + /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1175} + /// [google.storage.control.v2.UpdateFolderIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1357} /// // clang-format on StatusOr @@ -1574,8 +1692,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1120} - /// [google.storage.control.v2.UpdateFolderIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1302} + /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1175} + /// [google.storage.control.v2.UpdateFolderIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1357} /// // clang-format on StatusOr @@ -1605,8 +1723,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.GetOrganizationIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1356} - /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1120} + /// [google.storage.control.v2.GetOrganizationIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1411} + /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1175} /// // clang-format on StatusOr @@ -1635,8 +1753,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.GetOrganizationIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1356} - /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1120} + /// [google.storage.control.v2.GetOrganizationIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1411} + /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1175} /// // clang-format on StatusOr @@ -1666,8 +1784,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1120} - /// [google.storage.control.v2.UpdateOrganizationIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1275} + /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1175} + /// [google.storage.control.v2.UpdateOrganizationIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1330} /// // clang-format on StatusOr @@ -1699,8 +1817,8 @@ class StorageControlClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1120} - /// [google.storage.control.v2.UpdateOrganizationIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1275} + /// [google.storage.control.v2.IntelligenceConfig]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1175} + /// [google.storage.control.v2.UpdateOrganizationIntelligenceConfigRequest]: @googleapis_reference_link{google/storage/control/v2/storage_control.proto#L1330} /// // clang-format on StatusOr diff --git a/google/cloud/storagecontrol/v2/storage_control_connection.cc b/google/cloud/storagecontrol/v2/storage_control_connection.cc index a5ddf8832c6b2..023237bf711f3 100644 --- a/google/cloud/storagecontrol/v2/storage_control_connection.cc +++ b/google/cloud/storagecontrol/v2/storage_control_connection.cc @@ -84,6 +84,30 @@ StorageControlConnection::RenameFolder(google::longrunning::Operation const&) { Status(StatusCode::kUnimplemented, "not implemented")); } +future> +StorageControlConnection::DeleteFolderRecursive( + google::storage::control::v2::DeleteFolderRecursiveRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +StorageControlConnection::DeleteFolderRecursive( + NoAwaitTag, + google::storage::control::v2::DeleteFolderRecursiveRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +StorageControlConnection::DeleteFolderRecursive( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + StatusOr StorageControlConnection::GetStorageLayout( google::storage::control::v2::GetStorageLayoutRequest const&) { diff --git a/google/cloud/storagecontrol/v2/storage_control_connection.h b/google/cloud/storagecontrol/v2/storage_control_connection.h index 6c50e4ebfea53..efe8a4adae450 100644 --- a/google/cloud/storagecontrol/v2/storage_control_connection.h +++ b/google/cloud/storagecontrol/v2/storage_control_connection.h @@ -216,6 +216,21 @@ class StorageControlConnection { virtual future> RenameFolder( google::longrunning::Operation const& operation); + virtual future< + StatusOr> + DeleteFolderRecursive( + google::storage::control::v2::DeleteFolderRecursiveRequest const& + request); + + virtual StatusOr DeleteFolderRecursive( + NoAwaitTag, + google::storage::control::v2::DeleteFolderRecursiveRequest const& + request); + + virtual future< + StatusOr> + DeleteFolderRecursive(google::longrunning::Operation const& operation); + virtual StatusOr GetStorageLayout( google::storage::control::v2::GetStorageLayoutRequest const& request); diff --git a/google/cloud/storagecontrol/v2/storage_control_connection_idempotency_policy.cc b/google/cloud/storagecontrol/v2/storage_control_connection_idempotency_policy.cc index f3cd22dcc02a8..6f5941f9ede4f 100644 --- a/google/cloud/storagecontrol/v2/storage_control_connection_idempotency_policy.cc +++ b/google/cloud/storagecontrol/v2/storage_control_connection_idempotency_policy.cc @@ -63,6 +63,12 @@ Idempotency StorageControlConnectionIdempotencyPolicy::RenameFolder( return Idempotency::kNonIdempotent; } +Idempotency StorageControlConnectionIdempotencyPolicy::DeleteFolderRecursive( + google::storage::control::v2::DeleteFolderRecursiveRequest const& request) { + if (!request.request_id().empty()) return Idempotency::kIdempotent; + return Idempotency::kNonIdempotent; +} + Idempotency StorageControlConnectionIdempotencyPolicy::GetStorageLayout( google::storage::control::v2::GetStorageLayoutRequest const& request) { if (!request.request_id().empty()) return Idempotency::kIdempotent; diff --git a/google/cloud/storagecontrol/v2/storage_control_connection_idempotency_policy.h b/google/cloud/storagecontrol/v2/storage_control_connection_idempotency_policy.h index 4b7a54245a65c..9f2280555c0e4 100644 --- a/google/cloud/storagecontrol/v2/storage_control_connection_idempotency_policy.h +++ b/google/cloud/storagecontrol/v2/storage_control_connection_idempotency_policy.h @@ -52,6 +52,10 @@ class StorageControlConnectionIdempotencyPolicy { virtual google::cloud::Idempotency RenameFolder( google::storage::control::v2::RenameFolderRequest const& request); + virtual google::cloud::Idempotency DeleteFolderRecursive( + google::storage::control::v2::DeleteFolderRecursiveRequest const& + request); + virtual google::cloud::Idempotency GetStorageLayout( google::storage::control::v2::GetStorageLayoutRequest const& request); From 250c6cdbda9e7e691c673ecf53db0801e4108c5a Mon Sep 17 00:00:00 2001 From: Scott Hart Date: Mon, 23 Feb 2026 18:21:02 -0500 Subject: [PATCH 4/4] fix generation issues --- ci/cloudbuild/builds/cmake-install.sh | 1 + generator/internal/descriptor_utils.cc | 9 +++++++++ google/cloud/gkehub/v1/gke_hub_client.h | 3 +-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ci/cloudbuild/builds/cmake-install.sh b/ci/cloudbuild/builds/cmake-install.sh index 12442e548e90d..994db2352d5a2 100755 --- a/ci/cloudbuild/builds/cmake-install.sh +++ b/ci/cloudbuild/builds/cmake-install.sh @@ -99,6 +99,7 @@ expected_dirs+=( ./include/google/cloud/gkebackup/logging/v1 ./include/google/cloud/gkehub/v1/configmanagement ./include/google/cloud/gkehub/v1/multiclusteringress + ./include/google/cloud/gkehub/v1/rbacrolebindingactuation ./include/google/cloud/internal ./include/google/cloud/internal/win32 ./include/google/cloud/location diff --git a/generator/internal/descriptor_utils.cc b/generator/internal/descriptor_utils.cc index 88580bccb56f0..6bd07632f4101 100644 --- a/generator/internal/descriptor_utils.cc +++ b/generator/internal/descriptor_utils.cc @@ -310,6 +310,11 @@ ParameterCommentSubstitution substitutions[] = { {"`projects//locations//agents/.", "`projects//locations//agents/`."}, + // From google/cloud/gkehub/v1/service.proto + {R"""(Given 'updated' + prefix to follow go/proto-best-practices-checkers#keyword_conflict)""", + R"""()"""}, + // Some comments include multiple newlines in a row. We need to preserve // these because they are paragraph separators. When used in `@param` // commands we need to represent them as `@n` or they do would terminate the @@ -342,6 +347,10 @@ std::string FormattedCommentsForParameter( google::protobuf::SourceLocation loc; parameter_descriptor->GetSourceLocation(&loc); auto comment = EscapePrinterDelimiter(ChompByValue(loc.leading_comments)); + if (absl::StrContains(comment, + "go/proto-best-practices-checkers#keyword_conflict")) { + std::cout << __func__ << comment << "\n"; + } // This is an arbitrary threshold. The intent is to simplify the generator // code for corner cases. In the few cases where the documentation of a field // is extremely detailed it manages to confuse Doxygen. We could try to diff --git a/google/cloud/gkehub/v1/gke_hub_client.h b/google/cloud/gkehub/v1/gke_hub_client.h index f2cae95dcd80e..06b87f0a05e1f 100644 --- a/google/cloud/gkehub/v1/gke_hub_client.h +++ b/google/cloud/gkehub/v1/gke_hub_client.h @@ -1893,8 +1893,7 @@ class GkeHubClient { /// Updates a fleet namespace. /// /// @param scope_namespace Required. A namespace with fields updated. The 'name' field in this - /// namespace is used to identify the resource to update. Given 'updated' - /// prefix to follow go/proto-best-practices-checkers#keyword_conflict + /// namespace is used to identify the resource to update. /// @param update_mask Required. The fields to be updated. /// @param opts Optional. Override the class-level options, such as retry and /// backoff policies.