diff --git a/.typos.toml b/.typos.toml index 81e8765a472c0..80c5f9405a46b 100644 --- a/.typos.toml +++ b/.typos.toml @@ -33,6 +33,7 @@ extend-exclude = [ "google/cloud/resourcemanager/v3/projects_client.h", "google/cloud/securesourcemanager/v1/secure_source_manager_client.h", "google/cloud/visionai/v1/warehouse_client.h", + "google/cloud/datacatalog/lineage/v1/lineage_client.h", # The tool complains about `FIELDs` :shrug: "/google/cloud/aiplatform/v1/featurestore_client.h", # Files with binary blobs in base64 format. These are usually invalidated diff --git a/MODULE.bazel b/MODULE.bazel index 480e3ea684c26..31b5a2908f615 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-20260422-20ac242a") +bazel_dep(name = "googleapis", version = "0.0.0-20260514-1dbb1a14") bazel_dep(name = "googleapis-cc", version = "1.1.5") bazel_dep(name = "googleapis-grpc-cc", version = "1.1.5") diff --git a/bazel/workspace0.bzl b/bazel/workspace0.bzl index 847c397634425..549914dfe103d 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/20ac242a6b3a723cb10c1a0201209261addaf7d8.tar.gz", + "https://github.com/googleapis/googleapis/archive/1dbb1a14e079f78d9214f8e48bf083f32e3ddb96.tar.gz", ], - sha256 = "2e54dd6e7829afa9f382b67b3eea6730963df65381255f012ac4bd23b3654fb5", - strip_prefix = "googleapis-20ac242a6b3a723cb10c1a0201209261addaf7d8", + sha256 = "397fd8eb8a1a62dcf144216d9775816fad7a3fcff0ced1614bee529003c30d9e", + strip_prefix = "googleapis-1dbb1a14e079f78d9214f8e48bf083f32e3ddb96", 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 b3d2b5584e5a7..27cdbdca51e1f 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 - "20ac242a6b3a723cb10c1a0201209261addaf7d8") + "1dbb1a14e079f78d9214f8e48bf083f32e3ddb96") set(_GOOGLE_CLOUD_CPP_GOOGLEAPIS_SHA256 - "2e54dd6e7829afa9f382b67b3eea6730963df65381255f012ac4bd23b3654fb5") + "397fd8eb8a1a62dcf144216d9775816fad7a3fcff0ced1614bee529003c30d9e") set(DOXYGEN_ALIASES "googleapis_link{2}=\"[\\1](https://github.com/googleapis/googleapis/blob/${_GOOGLE_CLOUD_CPP_GOOGLEAPIS_COMMIT_SHA}/\\2)\"" diff --git a/external/googleapis/protodeps/chronicle.deps b/external/googleapis/protodeps/chronicle.deps index 4bbe4120b3305..db7bb2673b7b3 100644 --- a/external/googleapis/protodeps/chronicle.deps +++ b/external/googleapis/protodeps/chronicle.deps @@ -6,4 +6,5 @@ @googleapis//google/api:resource_proto @googleapis//google/longrunning:operations_proto @googleapis//google/rpc:status_proto +@googleapis//google/type:date_proto @googleapis//google/type:interval_proto diff --git a/external/googleapis/protodeps/container.deps b/external/googleapis/protodeps/container.deps index bb786c561e94a..74398b78dba4b 100644 --- a/external/googleapis/protodeps/container.deps +++ b/external/googleapis/protodeps/container.deps @@ -1,8 +1,11 @@ @googleapis//google/api:annotations_proto @googleapis//google/api:client_proto @googleapis//google/api:field_behavior_proto +@googleapis//google/api:field_info_proto @googleapis//google/api:http_proto @googleapis//google/api:launch_stage_proto @googleapis//google/api:resource_proto @googleapis//google/rpc:code_proto @googleapis//google/rpc:status_proto +@googleapis//google/type:date_proto +@googleapis//google/type:timeofday_proto diff --git a/external/googleapis/protodeps/datacatalog.deps b/external/googleapis/protodeps/datacatalog.deps index 11efb6f9d66da..21ddb4c864226 100644 --- a/external/googleapis/protodeps/datacatalog.deps +++ b/external/googleapis/protodeps/datacatalog.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 @@ -11,3 +12,4 @@ @googleapis//google/longrunning:operations_proto @googleapis//google/rpc:status_proto @googleapis//google/type:expr_proto +@googleapis//google/type:interval_proto diff --git a/external/googleapis/protolists/chronicle.list b/external/googleapis/protolists/chronicle.list index acf9136d16d34..eeabec17fad65 100644 --- a/external/googleapis/protolists/chronicle.list +++ b/external/googleapis/protolists/chronicle.list @@ -1,6 +1,12 @@ +@googleapis//google/cloud/chronicle/v1:big_query_export.proto +@googleapis//google/cloud/chronicle/v1:dashboard_chart.proto +@googleapis//google/cloud/chronicle/v1:dashboard_query.proto @googleapis//google/cloud/chronicle/v1:data_access_control.proto @googleapis//google/cloud/chronicle/v1:data_table.proto @googleapis//google/cloud/chronicle/v1:entity.proto +@googleapis//google/cloud/chronicle/v1:featured_content_metadata.proto +@googleapis//google/cloud/chronicle/v1:featured_content_native_dashboard.proto @googleapis//google/cloud/chronicle/v1:instance.proto +@googleapis//google/cloud/chronicle/v1:native_dashboard.proto @googleapis//google/cloud/chronicle/v1:reference_list.proto @googleapis//google/cloud/chronicle/v1:rule.proto diff --git a/generator/internal/format_method_comments.cc b/generator/internal/format_method_comments.cc index b94c00e60ea78..8271493137361 100644 --- a/generator/internal/format_method_comments.cc +++ b/generator/internal/format_method_comments.cc @@ -197,6 +197,10 @@ MethodCommentSubstitution substitutions[] = { // process. {R"""(---)""", R"""(-)"""}, + // Some google/cloud/support/v2/* protos have example bash commands with + // continuation characters. + {"\\\n", "\n"}, + // Add Doxygen-style comments {"\n", "\n ///"}, @@ -216,6 +220,8 @@ std::string FormatMethodComments( } std::string doxygen_formatted_function_comments = method_source_location.leading_comments; + absl::StrReplaceAll({{"$", "$$"}}, &doxygen_formatted_function_comments); + for (auto& sub : substitutions) { sub.uses += absl::StrReplaceAll({{sub.before, sub.after}}, &doxygen_formatted_function_comments); diff --git a/google/cloud/bigquerycontrol/v2/routine_client.h b/google/cloud/bigquerycontrol/v2/routine_client.h index ab3f9fa2921a2..97e54a301ea71 100644 --- a/google/cloud/bigquerycontrol/v2/routine_client.h +++ b/google/cloud/bigquerycontrol/v2/routine_client.h @@ -108,7 +108,7 @@ class RoutineServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.bigquery.v2.GetRoutineRequest]: @googleapis_reference_link{google/cloud/bigquery/v2/routine.proto#L529} + /// [google.cloud.bigquery.v2.GetRoutineRequest]: @googleapis_reference_link{google/cloud/bigquery/v2/routine.proto#L534} /// [google.cloud.bigquery.v2.Routine]: @googleapis_reference_link{google/cloud/bigquery/v2/routine.proto#L83} /// // clang-format on @@ -139,7 +139,7 @@ class RoutineServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.bigquery.v2.InsertRoutineRequest]: @googleapis_reference_link{google/cloud/bigquery/v2/routine.proto#L541} + /// [google.cloud.bigquery.v2.InsertRoutineRequest]: @googleapis_reference_link{google/cloud/bigquery/v2/routine.proto#L546} /// [google.cloud.bigquery.v2.Routine]: @googleapis_reference_link{google/cloud/bigquery/v2/routine.proto#L83} /// // clang-format on @@ -172,7 +172,7 @@ class RoutineServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.bigquery.v2.Routine]: @googleapis_reference_link{google/cloud/bigquery/v2/routine.proto#L83} - /// [google.cloud.bigquery.v2.UpdateRoutineRequest]: @googleapis_reference_link{google/cloud/bigquery/v2/routine.proto#L553} + /// [google.cloud.bigquery.v2.UpdateRoutineRequest]: @googleapis_reference_link{google/cloud/bigquery/v2/routine.proto#L558} /// // clang-format on StatusOr UpdateRoutine( @@ -200,7 +200,7 @@ class RoutineServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.bigquery.v2.DeleteRoutineRequest]: @googleapis_reference_link{google/cloud/bigquery/v2/routine.proto#L568} + /// [google.cloud.bigquery.v2.DeleteRoutineRequest]: @googleapis_reference_link{google/cloud/bigquery/v2/routine.proto#L573} /// // clang-format on Status DeleteRoutine( @@ -231,8 +231,8 @@ class RoutineServiceClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.bigquery.v2.ListRoutinesRequest]: @googleapis_reference_link{google/cloud/bigquery/v2/routine.proto#L580} - /// [google.cloud.bigquery.v2.ListRoutinesResponse]: @googleapis_reference_link{google/cloud/bigquery/v2/routine.proto#L602} + /// [google.cloud.bigquery.v2.ListRoutinesRequest]: @googleapis_reference_link{google/cloud/bigquery/v2/routine.proto#L585} + /// [google.cloud.bigquery.v2.ListRoutinesResponse]: @googleapis_reference_link{google/cloud/bigquery/v2/routine.proto#L607} /// // clang-format on StatusOr ListRoutines( diff --git a/google/cloud/container/v1/cluster_manager_client.h b/google/cloud/container/v1/cluster_manager_client.h index 9c5ff3a1f79ae..c912bd71edbe0 100644 --- a/google/cloud/container/v1/cluster_manager_client.h +++ b/google/cloud/container/v1/cluster_manager_client.h @@ -107,8 +107,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.ListClustersRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4476} - /// [google.container.v1.ListClustersResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4495} + /// [google.container.v1.ListClustersRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4735} + /// [google.container.v1.ListClustersResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4754} /// // clang-format on StatusOr ListClusters( @@ -138,8 +138,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.ListClustersRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4476} - /// [google.container.v1.ListClustersResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4495} + /// [google.container.v1.ListClustersRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4735} + /// [google.container.v1.ListClustersResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4754} /// // clang-format on StatusOr ListClusters( @@ -165,8 +165,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Cluster]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2651} - /// [google.container.v1.GetClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3991} + /// [google.container.v1.Cluster]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2809} + /// [google.container.v1.GetClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4247} /// // clang-format on StatusOr GetCluster(std::string const& name, @@ -195,8 +195,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Cluster]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2651} - /// [google.container.v1.GetClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3991} + /// [google.container.v1.Cluster]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2809} + /// [google.container.v1.GetClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4247} /// // clang-format on StatusOr GetCluster( @@ -237,8 +237,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.CreateClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3969} - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} + /// [google.container.v1.CreateClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4225} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} /// // clang-format on StatusOr CreateCluster( @@ -281,8 +281,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.CreateClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3969} - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} + /// [google.container.v1.CreateClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4225} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} /// // clang-format on StatusOr CreateCluster( @@ -309,8 +309,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.UpdateClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4013} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.UpdateClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4269} /// // clang-format on StatusOr UpdateCluster( @@ -340,8 +340,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.UpdateClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4013} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.UpdateClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4269} /// // clang-format on StatusOr UpdateCluster( @@ -371,8 +371,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.UpdateNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4038} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.UpdateNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4294} /// // clang-format on StatusOr UpdateNodePool( @@ -402,8 +402,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetNodePoolAutoscalingRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4217} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetNodePoolAutoscalingRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4476} /// // clang-format on StatusOr SetNodePoolAutoscaling( @@ -440,8 +440,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetLoggingServiceRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4247} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetLoggingServiceRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4506} /// // clang-format on StatusOr SetLoggingService( @@ -471,8 +471,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetLoggingServiceRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4247} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetLoggingServiceRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4506} /// // clang-format on StatusOr SetLoggingService( @@ -509,8 +509,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetMonitoringServiceRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4282} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetMonitoringServiceRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4541} /// // clang-format on StatusOr SetMonitoringService( @@ -540,8 +540,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetMonitoringServiceRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4282} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetMonitoringServiceRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4541} /// // clang-format on StatusOr SetMonitoringService( @@ -569,8 +569,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetAddonsConfigRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4317} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetAddonsConfigRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4576} /// // clang-format on StatusOr SetAddonsConfig( @@ -601,8 +601,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetAddonsConfigRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4317} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetAddonsConfigRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4576} /// // clang-format on StatusOr SetAddonsConfig( @@ -640,8 +640,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetLocationsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4343} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetLocationsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4602} /// // clang-format on GOOGLE_CLOUD_CPP_DEPRECATED("This RPC is deprecated.") @@ -677,8 +677,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetLocationsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4343} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetLocationsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4602} /// // clang-format on GOOGLE_CLOUD_CPP_DEPRECATED("This RPC is deprecated.") @@ -715,8 +715,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.UpdateMasterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4374} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.UpdateMasterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4633} /// // clang-format on StatusOr UpdateMaster( @@ -746,8 +746,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.UpdateMasterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4374} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.UpdateMasterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4633} /// // clang-format on StatusOr UpdateMaster( @@ -779,8 +779,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetMasterAuthRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4408} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetMasterAuthRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4667} /// // clang-format on StatusOr SetMasterAuth( @@ -814,8 +814,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.DeleteClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4454} - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} + /// [google.container.v1.DeleteClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4713} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} /// // clang-format on StatusOr DeleteCluster( @@ -852,8 +852,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.DeleteClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4454} - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} + /// [google.container.v1.DeleteClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4713} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} /// // clang-format on StatusOr DeleteCluster( @@ -880,8 +880,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.ListOperationsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4528} - /// [google.container.v1.ListOperationsResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4569} + /// [google.container.v1.ListOperationsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4787} + /// [google.container.v1.ListOperationsResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4828} /// // clang-format on StatusOr ListOperations( @@ -910,8 +910,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.ListOperationsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4528} - /// [google.container.v1.ListOperationsResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4569} + /// [google.container.v1.ListOperationsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4787} + /// [google.container.v1.ListOperationsResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4828} /// // clang-format on StatusOr ListOperations( @@ -937,8 +937,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.GetOperationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4506} - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} + /// [google.container.v1.GetOperationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4765} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} /// // clang-format on StatusOr GetOperation( @@ -967,8 +967,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.GetOperationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4506} - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} + /// [google.container.v1.GetOperationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4765} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} /// // clang-format on StatusOr GetOperation( @@ -992,7 +992,7 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.CancelOperationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4547} + /// [google.container.v1.CancelOperationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4806} /// // clang-format on Status CancelOperation(std::string const& name, Options opts = {}); @@ -1018,7 +1018,7 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.CancelOperationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4547} + /// [google.container.v1.CancelOperationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4806} /// // clang-format on Status CancelOperation( @@ -1044,8 +1044,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.GetServerConfigRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4579} - /// [google.container.v1.ServerConfig]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4597} + /// [google.container.v1.GetServerConfigRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4838} + /// [google.container.v1.ServerConfig]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4856} /// // clang-format on StatusOr GetServerConfig( @@ -1074,8 +1074,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.GetServerConfigRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4579} - /// [google.container.v1.ServerConfig]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4597} + /// [google.container.v1.GetServerConfigRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4838} + /// [google.container.v1.ServerConfig]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4856} /// // clang-format on StatusOr GetServerConfig( @@ -1106,8 +1106,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.GetJSONWebKeysRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5999} - /// [google.container.v1.GetJSONWebKeysResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6036} + /// [google.container.v1.GetJSONWebKeysRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6364} + /// [google.container.v1.GetJSONWebKeysResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6401} /// // clang-format on StatusOr GetJSONWebKeys( @@ -1133,8 +1133,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.ListNodePoolsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4686} - /// [google.container.v1.ListNodePoolsResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5358} + /// [google.container.v1.ListNodePoolsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4945} + /// [google.container.v1.ListNodePoolsResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5720} /// // clang-format on StatusOr ListNodePools( @@ -1163,8 +1163,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.ListNodePoolsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4686} - /// [google.container.v1.ListNodePoolsResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5358} + /// [google.container.v1.ListNodePoolsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4945} + /// [google.container.v1.ListNodePoolsResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5720} /// // clang-format on StatusOr ListNodePools( @@ -1191,8 +1191,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.GetNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4708} - /// [google.container.v1.NodePool]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4782} + /// [google.container.v1.GetNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4967} + /// [google.container.v1.NodePool]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5041} /// // clang-format on StatusOr GetNodePool(std::string const& name, @@ -1221,8 +1221,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.GetNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4708} - /// [google.container.v1.NodePool]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4782} + /// [google.container.v1.GetNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4967} + /// [google.container.v1.NodePool]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5041} /// // clang-format on StatusOr GetNodePool( @@ -1250,8 +1250,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.CreateNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4633} - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} + /// [google.container.v1.CreateNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4892} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} /// // clang-format on StatusOr CreateNodePool( @@ -1281,8 +1281,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.CreateNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4633} - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} + /// [google.container.v1.CreateNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4892} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} /// // clang-format on StatusOr CreateNodePool( @@ -1309,8 +1309,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.DeleteNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4659} - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} + /// [google.container.v1.DeleteNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4918} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} /// // clang-format on StatusOr DeleteNodePool( @@ -1339,8 +1339,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.DeleteNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4659} - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} + /// [google.container.v1.DeleteNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4918} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} /// // clang-format on StatusOr DeleteNodePool( @@ -1369,7 +1369,7 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.CompleteNodePoolUpgradeRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5317} + /// [google.container.v1.CompleteNodePoolUpgradeRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5679} /// // clang-format on Status CompleteNodePoolUpgrade( @@ -1397,8 +1397,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.RollbackNodePoolUpgradeRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5327} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.RollbackNodePoolUpgradeRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5689} /// // clang-format on StatusOr RollbackNodePoolUpgrade( @@ -1428,8 +1428,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.RollbackNodePoolUpgradeRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5327} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.RollbackNodePoolUpgradeRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5689} /// // clang-format on StatusOr RollbackNodePoolUpgrade( @@ -1459,8 +1459,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetNodePoolManagementRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5256} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetNodePoolManagementRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5618} /// // clang-format on StatusOr SetNodePoolManagement( @@ -1490,8 +1490,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetLabelsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5546} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetLabelsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5911} /// // clang-format on StatusOr SetLabels( @@ -1518,8 +1518,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetLegacyAbacRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5581} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetLegacyAbacRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5946} /// // clang-format on StatusOr SetLegacyAbac( @@ -1548,8 +1548,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetLegacyAbacRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5581} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetLegacyAbacRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5946} /// // clang-format on StatusOr SetLegacyAbac( @@ -1575,8 +1575,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.StartIPRotationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5607} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.StartIPRotationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5972} /// // clang-format on StatusOr StartIPRotation( @@ -1605,8 +1605,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.StartIPRotationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5607} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.StartIPRotationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5972} /// // clang-format on StatusOr StartIPRotation( @@ -1632,8 +1632,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.CompleteIPRotationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5632} - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} + /// [google.container.v1.CompleteIPRotationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5997} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} /// // clang-format on StatusOr CompleteIPRotation( @@ -1662,8 +1662,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.CompleteIPRotationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5632} - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} + /// [google.container.v1.CompleteIPRotationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5997} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} /// // clang-format on StatusOr CompleteIPRotation( @@ -1695,9 +1695,9 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.NodePool.locations]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4998} - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetNodePoolSizeRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5286} + /// [google.container.v1.NodePool.locations]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5288} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetNodePoolSizeRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5648} /// // clang-format on StatusOr SetNodePoolSize( @@ -1724,8 +1724,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetNetworkPolicyRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5744} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetNetworkPolicyRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6109} /// // clang-format on StatusOr SetNetworkPolicy( @@ -1756,8 +1756,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetNetworkPolicyRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5744} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetNetworkPolicyRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6109} /// // clang-format on StatusOr SetNetworkPolicy( @@ -1789,8 +1789,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetMaintenancePolicyRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5769} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetMaintenancePolicyRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6134} /// // clang-format on StatusOr SetMaintenancePolicy( @@ -1821,8 +1821,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetMaintenancePolicyRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5769} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetMaintenancePolicyRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6134} /// // clang-format on StatusOr SetMaintenancePolicy( @@ -1853,8 +1853,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3708} - /// [google.container.v1.SetMaintenancePolicyRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L5769} + /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3964} + /// [google.container.v1.SetMaintenancePolicyRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6134} /// // clang-format on StatusOr SetMaintenancePolicy( @@ -1893,8 +1893,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.ListUsableSubnetworksRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6315} - /// [google.container.v1.UsableSubnetwork]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6388} + /// [google.container.v1.ListUsableSubnetworksRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6696} + /// [google.container.v1.UsableSubnetwork]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6769} /// // clang-format on StreamRange ListUsableSubnetworks( @@ -1925,8 +1925,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.CheckAutopilotCompatibilityRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6044} - /// [google.container.v1.CheckAutopilotCompatibilityResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6092} + /// [google.container.v1.CheckAutopilotCompatibilityRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6409} + /// [google.container.v1.CheckAutopilotCompatibilityResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L6457} /// // clang-format on StatusOr @@ -1954,8 +1954,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.ClusterUpgradeInfo]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7408} - /// [google.container.v1.FetchClusterUpgradeInfoRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7397} + /// [google.container.v1.ClusterUpgradeInfo]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7813} + /// [google.container.v1.FetchClusterUpgradeInfoRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7802} /// // clang-format on StatusOr FetchClusterUpgradeInfo( @@ -1984,8 +1984,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.ClusterUpgradeInfo]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7408} - /// [google.container.v1.FetchClusterUpgradeInfoRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7397} + /// [google.container.v1.ClusterUpgradeInfo]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7813} + /// [google.container.v1.FetchClusterUpgradeInfoRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7802} /// // clang-format on StatusOr FetchClusterUpgradeInfo( @@ -1994,9 +1994,9 @@ class ClusterManagerClient { // clang-format off /// - /// Fetch upgrade information of a specific nodepool. + /// Fetch upgrade information of a specific node pool. /// - /// @param name Required. The name (project, location, cluster, nodepool) of the nodepool + /// @param name Required. The name (project, location, cluster, node pool) of the node pool /// to get. Specified in the format /// `projects/*/locations/*/clusters/*/nodePools/*` or /// `projects/*/zones/*/clusters/*/nodePools/*`. @@ -2013,8 +2013,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.FetchNodePoolUpgradeInfoRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7531} - /// [google.container.v1.NodePoolUpgradeInfo]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7543} + /// [google.container.v1.FetchNodePoolUpgradeInfoRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7936} + /// [google.container.v1.NodePoolUpgradeInfo]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7948} /// // clang-format on StatusOr FetchNodePoolUpgradeInfo( @@ -2022,7 +2022,7 @@ class ClusterManagerClient { // clang-format off /// - /// Fetch upgrade information of a specific nodepool. + /// Fetch upgrade information of a specific node pool. /// /// @param request Unary RPCs, such as the one wrapped by this /// function, receive a single `request` proto message which includes all @@ -2043,8 +2043,8 @@ class ClusterManagerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.container.v1.FetchNodePoolUpgradeInfoRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7531} - /// [google.container.v1.NodePoolUpgradeInfo]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7543} + /// [google.container.v1.FetchNodePoolUpgradeInfoRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7936} + /// [google.container.v1.NodePoolUpgradeInfo]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L7948} /// // clang-format on StatusOr FetchNodePoolUpgradeInfo( diff --git a/google/cloud/datacatalog/lineage/v1/.repo-metadata.json b/google/cloud/datacatalog/lineage/v1/.repo-metadata.json index 4609a7420ffa9..00fda96e09562 100644 --- a/google/cloud/datacatalog/lineage/v1/.repo-metadata.json +++ b/google/cloud/datacatalog/lineage/v1/.repo-metadata.json @@ -3,11 +3,12 @@ "api_shortname": "datalineage", "client_documentation": "https://cloud.google.com/cpp/docs/reference/datacatalog/latest", "distribution_name": "google-cloud-cpp", + "issue_tracker": "https://issuetracker.google.com/issues?q=componentid:1530027%20status=open", "language": "cpp", "library_type": "GAPIC_AUTO", "name_pretty": "Data Lineage API", - "product_documentation": "https://cloud.google.com/data-catalog/docs/concepts/about-data-lineage", - "release_level": "preview", + "product_documentation": "https://cloud.google.com/dataplex/docs/about-data-lineage", + "release_level": "stable", "repo": "googleapis/google-cloud-cpp", "requires_billing": true } diff --git a/google/cloud/datacatalog/lineage/v1/internal/lineage_auth_decorator.cc b/google/cloud/datacatalog/lineage/v1/internal/lineage_auth_decorator.cc index c434a5913ade8..a3d39b4e1b6e3 100644 --- a/google/cloud/datacatalog/lineage/v1/internal/lineage_auth_decorator.cc +++ b/google/cloud/datacatalog/lineage/v1/internal/lineage_auth_decorator.cc @@ -234,6 +234,19 @@ LineageAuth::BatchSearchLinkProcesses( return child_->BatchSearchLinkProcesses(context, options, request); } +std::unique_ptr> +LineageAuth::SearchLineageStreaming( + std::shared_ptr context, Options const& options, + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) { + using ErrorStream = ::google::cloud::internal::StreamingReadRpcError< + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingResponse>; + auto status = auth_->ConfigureContext(*context); + if (!status.ok()) return std::make_unique(std::move(status)); + return child_->SearchLineageStreaming(std::move(context), options, request); +} + StatusOr LineageAuth::ListOperations( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/datacatalog/lineage/v1/internal/lineage_auth_decorator.h b/google/cloud/datacatalog/lineage/v1/internal/lineage_auth_decorator.h index 731968c145d83..423085bb02717 100644 --- a/google/cloud/datacatalog/lineage/v1/internal/lineage_auth_decorator.h +++ b/google/cloud/datacatalog/lineage/v1/internal/lineage_auth_decorator.h @@ -149,6 +149,13 @@ class LineageAuth : public LineageStub { google::cloud::datacatalog::lineage::v1:: BatchSearchLinkProcessesRequest const& request) override; + std::unique_ptr> + SearchLineageStreaming( + std::shared_ptr context, Options const& options, + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) override; + StatusOr ListOperations( grpc::ClientContext& context, Options const& options, google::longrunning::ListOperationsRequest const& request) override; diff --git a/google/cloud/datacatalog/lineage/v1/internal/lineage_connection_impl.cc b/google/cloud/datacatalog/lineage/v1/internal/lineage_connection_impl.cc index 300e4cc4e8019..1fa26b41d722e 100644 --- a/google/cloud/datacatalog/lineage/v1/internal/lineage_connection_impl.cc +++ b/google/cloud/datacatalog/lineage/v1/internal/lineage_connection_impl.cc @@ -23,7 +23,9 @@ #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/resumable_streaming_read_rpc.h" #include "google/cloud/internal/retry_loop.h" +#include "google/cloud/internal/streaming_read_rpc_logging.h" #include #include @@ -58,6 +60,11 @@ std::unique_ptr polling_policy(Options const& options) { } // namespace +void LineageSearchLineageStreamingStreamingUpdater( + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingResponse const&, + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingRequest&) {} + LineageConnectionImpl::LineageConnectionImpl( std::unique_ptr background, std::shared_ptr stub, @@ -73,15 +80,19 @@ LineageConnectionImpl::ProcessOpenLineageRunEvent( google::cloud::datacatalog::lineage::v1:: ProcessOpenLineageRunEventRequest 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()); + } return google::cloud::internal::RetryLoop( retry_policy(*current), backoff_policy(*current), - idempotency_policy(*current)->ProcessOpenLineageRunEvent(request), + idempotency_policy(*current)->ProcessOpenLineageRunEvent(request_copy), [this](grpc::ClientContext& context, Options const& options, google::cloud::datacatalog::lineage::v1:: ProcessOpenLineageRunEventRequest const& request) { return stub_->ProcessOpenLineageRunEvent(context, options, request); }, - *current, request, __func__); + *current, request_copy, __func__); } StatusOr @@ -89,16 +100,20 @@ LineageConnectionImpl::CreateProcess( google::cloud::datacatalog::lineage::v1::CreateProcessRequest 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()); + } return google::cloud::internal::RetryLoop( retry_policy(*current), backoff_policy(*current), - idempotency_policy(*current)->CreateProcess(request), + idempotency_policy(*current)->CreateProcess(request_copy), [this]( grpc::ClientContext& context, Options const& options, google::cloud::datacatalog::lineage::v1::CreateProcessRequest const& request) { return stub_->CreateProcess(context, options, request); }, - *current, request, __func__); + *current, request_copy, __func__); } StatusOr @@ -106,16 +121,20 @@ LineageConnectionImpl::UpdateProcess( google::cloud::datacatalog::lineage::v1::UpdateProcessRequest 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()); + } return google::cloud::internal::RetryLoop( retry_policy(*current), backoff_policy(*current), - idempotency_policy(*current)->UpdateProcess(request), + idempotency_policy(*current)->UpdateProcess(request_copy), [this]( grpc::ClientContext& context, Options const& options, google::cloud::datacatalog::lineage::v1::UpdateProcessRequest const& request) { return stub_->UpdateProcess(context, options, request); }, - *current, request, __func__); + *current, request_copy, __func__); } StatusOr @@ -268,15 +287,19 @@ StatusOr LineageConnectionImpl::CreateRun( google::cloud::datacatalog::lineage::v1::CreateRunRequest 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()); + } return google::cloud::internal::RetryLoop( retry_policy(*current), backoff_policy(*current), - idempotency_policy(*current)->CreateRun(request), + idempotency_policy(*current)->CreateRun(request_copy), [this](grpc::ClientContext& context, Options const& options, google::cloud::datacatalog::lineage::v1::CreateRunRequest const& request) { return stub_->CreateRun(context, options, request); }, - *current, request, __func__); + *current, request_copy, __func__); } StatusOr @@ -439,15 +462,19 @@ LineageConnectionImpl::CreateLineageEvent( google::cloud::datacatalog::lineage::v1::CreateLineageEventRequest 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()); + } return google::cloud::internal::RetryLoop( retry_policy(*current), backoff_policy(*current), - idempotency_policy(*current)->CreateLineageEvent(request), + idempotency_policy(*current)->CreateLineageEvent(request_copy), [this](grpc::ClientContext& context, Options const& options, google::cloud::datacatalog::lineage::v1:: CreateLineageEventRequest const& request) { return stub_->CreateLineageEvent(context, options, request); }, - *current, request, __func__); + *current, request_copy, __func__); } StatusOr @@ -589,6 +616,36 @@ LineageConnectionImpl::BatchSearchLinkProcesses( }); } +StreamRange< + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingResponse> +LineageConnectionImpl::SearchLineageStreaming( + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto factory = [stub = stub_, + current](google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) { + return stub->SearchLineageStreaming(std::make_shared(), + *current, request); + }; + auto resumable = internal::MakeResumableStreamingReadRpc< + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingResponse, + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingRequest>( + retry_policy(*current), backoff_policy(*current), factory, + LineageSearchLineageStreamingStreamingUpdater, request); + return internal::MakeStreamRange< + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingResponse>( + [resumable = std::move(resumable)]() + -> absl::variant { + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingResponse + response; + auto status = resumable->Read(&response); + if (status.has_value()) return *status; + return response; + }); +} + StreamRange LineageConnectionImpl::ListOperations( google::longrunning::ListOperationsRequest request) { diff --git a/google/cloud/datacatalog/lineage/v1/internal/lineage_connection_impl.h b/google/cloud/datacatalog/lineage/v1/internal/lineage_connection_impl.h index 11eeedc039213..c1f59d726b08a 100644 --- a/google/cloud/datacatalog/lineage/v1/internal/lineage_connection_impl.h +++ b/google/cloud/datacatalog/lineage/v1/internal/lineage_connection_impl.h @@ -27,6 +27,7 @@ #include "google/cloud/background_threads.h" #include "google/cloud/backoff_policy.h" #include "google/cloud/future.h" +#include "google/cloud/internal/invocation_id_generator.h" #include "google/cloud/options.h" #include "google/cloud/polling_policy.h" #include "google/cloud/status_or.h" @@ -40,6 +41,12 @@ namespace cloud { namespace datacatalog_lineage_v1_internal { GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN +void LineageSearchLineageStreamingStreamingUpdater( + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingResponse const& response, + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingRequest& + request); + class LineageConnectionImpl : public datacatalog_lineage_v1::LineageConnection { public: ~LineageConnectionImpl() override = default; @@ -142,6 +149,12 @@ class LineageConnectionImpl : public datacatalog_lineage_v1::LineageConnection { google::cloud::datacatalog::lineage::v1::BatchSearchLinkProcessesRequest request) override; + StreamRange< + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingResponse> + SearchLineageStreaming( + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) override; + StreamRange ListOperations( google::longrunning::ListOperationsRequest request) override; @@ -158,6 +171,9 @@ class LineageConnectionImpl : public datacatalog_lineage_v1::LineageConnection { std::unique_ptr background_; std::shared_ptr stub_; Options options_; + std::shared_ptr + invocation_id_generator_ = + std::make_shared(); }; GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END diff --git a/google/cloud/datacatalog/lineage/v1/internal/lineage_logging_decorator.cc b/google/cloud/datacatalog/lineage/v1/internal/lineage_logging_decorator.cc index edf839eda5557..db9d6e44ea891 100644 --- a/google/cloud/datacatalog/lineage/v1/internal/lineage_logging_decorator.cc +++ b/google/cloud/datacatalog/lineage/v1/internal/lineage_logging_decorator.cc @@ -19,6 +19,7 @@ #include "google/cloud/datacatalog/lineage/v1/internal/lineage_logging_decorator.h" #include "google/cloud/datacatalog/lineage/v1/lineage.grpc.pb.h" #include "google/cloud/internal/log_wrapper.h" +#include "google/cloud/internal/streaming_read_rpc_logging.h" #include "google/cloud/status_or.h" #include #include @@ -35,8 +36,10 @@ GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN LineageLogging::LineageLogging(std::shared_ptr child, TracingOptions tracing_options, - std::set const&) - : child_(std::move(child)), tracing_options_(std::move(tracing_options)) {} + std::set const& components) + : child_(std::move(child)), + tracing_options_(std::move(tracing_options)), + stream_logging_(components.find("rpc-streams") != components.end()) {} StatusOr< google::cloud::datacatalog::lineage::v1::ProcessOpenLineageRunEventResponse> @@ -310,6 +313,35 @@ LineageLogging::BatchSearchLinkProcesses( context, options, request, __func__, tracing_options_); } +std::unique_ptr> +LineageLogging::SearchLineageStreaming( + std::shared_ptr context, Options const& options, + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](std::shared_ptr context, + Options const& options, + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) + -> std::unique_ptr> { + auto stream = child_->SearchLineageStreaming(std::move(context), + options, request); + if (stream_logging_) { + stream = + std::make_unique>( + std::move(stream), tracing_options_, + google::cloud::internal::RequestIdForLogging()); + } + return stream; + }, + std::move(context), options, request, __func__, tracing_options_); +} + StatusOr LineageLogging::ListOperations( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/datacatalog/lineage/v1/internal/lineage_logging_decorator.h b/google/cloud/datacatalog/lineage/v1/internal/lineage_logging_decorator.h index b56ea9dc265e3..72d8be54e3109 100644 --- a/google/cloud/datacatalog/lineage/v1/internal/lineage_logging_decorator.h +++ b/google/cloud/datacatalog/lineage/v1/internal/lineage_logging_decorator.h @@ -149,6 +149,13 @@ class LineageLogging : public LineageStub { google::cloud::datacatalog::lineage::v1:: BatchSearchLinkProcessesRequest const& request) override; + std::unique_ptr> + SearchLineageStreaming( + std::shared_ptr context, Options const& options, + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) override; + StatusOr ListOperations( grpc::ClientContext& context, Options const& options, google::longrunning::ListOperationsRequest const& request) override; @@ -180,6 +187,7 @@ class LineageLogging : public LineageStub { private: std::shared_ptr child_; TracingOptions tracing_options_; + bool stream_logging_; }; // LineageLogging GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END diff --git a/google/cloud/datacatalog/lineage/v1/internal/lineage_metadata_decorator.cc b/google/cloud/datacatalog/lineage/v1/internal/lineage_metadata_decorator.cc index a9c3441524fb6..b947c5c40e34c 100644 --- a/google/cloud/datacatalog/lineage/v1/internal/lineage_metadata_decorator.cc +++ b/google/cloud/datacatalog/lineage/v1/internal/lineage_metadata_decorator.cc @@ -237,6 +237,17 @@ LineageMetadata::BatchSearchLinkProcesses( return child_->BatchSearchLinkProcesses(context, options, request); } +std::unique_ptr> +LineageMetadata::SearchLineageStreaming( + std::shared_ptr context, Options const& options, + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) { + SetMetadata(*context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->SearchLineageStreaming(std::move(context), options, request); +} + StatusOr LineageMetadata::ListOperations( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/datacatalog/lineage/v1/internal/lineage_metadata_decorator.h b/google/cloud/datacatalog/lineage/v1/internal/lineage_metadata_decorator.h index 0c5b0934040d4..81bbca4cf3ffa 100644 --- a/google/cloud/datacatalog/lineage/v1/internal/lineage_metadata_decorator.h +++ b/google/cloud/datacatalog/lineage/v1/internal/lineage_metadata_decorator.h @@ -149,6 +149,13 @@ class LineageMetadata : public LineageStub { google::cloud::datacatalog::lineage::v1:: BatchSearchLinkProcessesRequest const& request) override; + std::unique_ptr> + SearchLineageStreaming( + std::shared_ptr context, Options const& options, + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) override; + StatusOr ListOperations( grpc::ClientContext& context, Options const& options, google::longrunning::ListOperationsRequest const& request) override; diff --git a/google/cloud/datacatalog/lineage/v1/internal/lineage_stub.cc b/google/cloud/datacatalog/lineage/v1/internal/lineage_stub.cc index 28e1d78959874..5a9431d97b1de 100644 --- a/google/cloud/datacatalog/lineage/v1/internal/lineage_stub.cc +++ b/google/cloud/datacatalog/lineage/v1/internal/lineage_stub.cc @@ -292,6 +292,18 @@ DefaultLineageStub::BatchSearchLinkProcesses( return response; } +std::unique_ptr> +DefaultLineageStub::SearchLineageStreaming( + std::shared_ptr context, Options const&, + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) { + auto stream = grpc_stub_->SearchLineageStreaming(context.get(), request); + return std::make_unique>( + std::move(context), std::move(stream)); +} + StatusOr DefaultLineageStub::ListOperations( grpc::ClientContext& context, Options const&, diff --git a/google/cloud/datacatalog/lineage/v1/internal/lineage_stub.h b/google/cloud/datacatalog/lineage/v1/internal/lineage_stub.h index a6811ca047ec3..26c93cd858e1a 100644 --- a/google/cloud/datacatalog/lineage/v1/internal/lineage_stub.h +++ b/google/cloud/datacatalog/lineage/v1/internal/lineage_stub.h @@ -22,6 +22,7 @@ #include "google/cloud/datacatalog/lineage/v1/lineage.grpc.pb.h" #include "google/cloud/completion_queue.h" #include "google/cloud/future.h" +#include "google/cloud/internal/streaming_read_rpc.h" #include "google/cloud/options.h" #include "google/cloud/status_or.h" #include "google/cloud/version.h" @@ -152,6 +153,13 @@ class LineageStub { google::cloud::datacatalog::lineage::v1:: BatchSearchLinkProcessesRequest const& request) = 0; + virtual std::unique_ptr> + SearchLineageStreaming(std::shared_ptr context, + Options const& options, + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) = 0; + virtual StatusOr ListOperations( grpc::ClientContext& context, Options const& options, google::longrunning::ListOperationsRequest const& request) = 0; @@ -299,6 +307,13 @@ class DefaultLineageStub : public LineageStub { google::cloud::datacatalog::lineage::v1:: BatchSearchLinkProcessesRequest const& request) override; + std::unique_ptr> + SearchLineageStreaming( + std::shared_ptr context, Options const& options, + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) override; + StatusOr ListOperations( grpc::ClientContext& context, Options const& options, google::longrunning::ListOperationsRequest const& request) override; diff --git a/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_connection.cc b/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_connection.cc index 6b10058914afa..f63f4b0212877 100644 --- a/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_connection.cc +++ b/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_connection.cc @@ -245,6 +245,19 @@ LineageTracingConnection::BatchSearchLinkProcesses( std::move(sr)); } +StreamRange< + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingResponse> +LineageTracingConnection::SearchLineageStreaming( + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) { + auto span = internal::MakeSpan( + "datacatalog_lineage_v1::LineageConnection::SearchLineageStreaming"); + internal::OTelScope scope(span); + auto sr = child_->SearchLineageStreaming(request); + return internal::MakeTracedStreamRange< + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingResponse>( + std::move(span), std::move(sr)); +} StreamRange LineageTracingConnection::ListOperations( google::longrunning::ListOperationsRequest request) { diff --git a/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_connection.h b/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_connection.h index 5a8c7adae6d3c..c8f2fbf30472f 100644 --- a/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_connection.h +++ b/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_connection.h @@ -129,6 +129,12 @@ class LineageTracingConnection google::cloud::datacatalog::lineage::v1::BatchSearchLinkProcessesRequest request) override; + StreamRange< + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingResponse> + SearchLineageStreaming( + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) override; + StreamRange ListOperations( google::longrunning::ListOperationsRequest request) override; diff --git a/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_stub.cc b/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_stub.cc index 9a3186cd4ceb9..ab901570ba365 100644 --- a/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_stub.cc +++ b/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_stub.cc @@ -18,6 +18,7 @@ #include "google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_stub.h" #include "google/cloud/internal/grpc_opentelemetry.h" +#include "google/cloud/internal/streaming_read_rpc_tracing.h" #include #include @@ -41,6 +42,7 @@ LineageTracingStub::ProcessOpenLineageRunEvent( auto span = internal::MakeSpanGrpc("google.cloud.datacatalog.lineage.v1.Lineage", "ProcessOpenLineageRunEvent"); + span->SetAttribute("gl-cpp.request_id", request.request_id()); auto scope = opentelemetry::trace::Scope(span); internal::InjectTraceContext(context, *propagator_); return internal::EndSpan( @@ -55,6 +57,7 @@ LineageTracingStub::CreateProcess( request) { auto span = internal::MakeSpanGrpc( "google.cloud.datacatalog.lineage.v1.Lineage", "CreateProcess"); + span->SetAttribute("gl-cpp.request_id", request.request_id()); auto scope = opentelemetry::trace::Scope(span); internal::InjectTraceContext(context, *propagator_); return internal::EndSpan(context, *span, @@ -68,6 +71,7 @@ LineageTracingStub::UpdateProcess( request) { auto span = internal::MakeSpanGrpc( "google.cloud.datacatalog.lineage.v1.Lineage", "UpdateProcess"); + span->SetAttribute("gl-cpp.request_id", request.request_id()); auto scope = opentelemetry::trace::Scope(span); internal::InjectTraceContext(context, *propagator_); return internal::EndSpan(context, *span, @@ -132,6 +136,7 @@ LineageTracingStub::CreateRun( google::cloud::datacatalog::lineage::v1::CreateRunRequest const& request) { auto span = internal::MakeSpanGrpc( "google.cloud.datacatalog.lineage.v1.Lineage", "CreateRun"); + span->SetAttribute("gl-cpp.request_id", request.request_id()); auto scope = opentelemetry::trace::Scope(span); internal::InjectTraceContext(context, *propagator_); return internal::EndSpan(context, *span, @@ -206,6 +211,7 @@ LineageTracingStub::CreateLineageEvent( request) { auto span = internal::MakeSpanGrpc( "google.cloud.datacatalog.lineage.v1.Lineage", "CreateLineageEvent"); + span->SetAttribute("gl-cpp.request_id", request.request_id()); auto scope = opentelemetry::trace::Scope(span); internal::InjectTraceContext(context, *propagator_); return internal::EndSpan( @@ -279,6 +285,22 @@ LineageTracingStub::BatchSearchLinkProcesses( child_->BatchSearchLinkProcesses(context, options, request)); } +std::unique_ptr> +LineageTracingStub::SearchLineageStreaming( + std::shared_ptr context, Options const& options, + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.datacatalog.lineage.v1.Lineage", "SearchLineageStreaming"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto stream = child_->SearchLineageStreaming(context, options, request); + return std::make_unique>( + std::move(context), std::move(stream), std::move(span)); +} + StatusOr LineageTracingStub::ListOperations( grpc::ClientContext& context, Options const& options, diff --git a/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_stub.h b/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_stub.h index 7abe8cec882c6..a539b85b6c732 100644 --- a/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_stub.h +++ b/google/cloud/datacatalog/lineage/v1/internal/lineage_tracing_stub.h @@ -146,6 +146,13 @@ class LineageTracingStub : public LineageStub { google::cloud::datacatalog::lineage::v1:: BatchSearchLinkProcessesRequest const& request) override; + std::unique_ptr> + SearchLineageStreaming( + std::shared_ptr context, Options const& options, + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request) override; + StatusOr ListOperations( grpc::ClientContext& context, Options const& options, google::longrunning::ListOperationsRequest const& request) override; diff --git a/google/cloud/datacatalog/lineage/v1/lineage_client.cc b/google/cloud/datacatalog/lineage/v1/lineage_client.cc index 37f5b8c2cf8cb..a337a8a2db45d 100644 --- a/google/cloud/datacatalog/lineage/v1/lineage_client.cc +++ b/google/cloud/datacatalog/lineage/v1/lineage_client.cc @@ -360,6 +360,16 @@ LineageClient::BatchSearchLinkProcesses( return connection_->BatchSearchLinkProcesses(std::move(request)); } +StreamRange< + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingResponse> +LineageClient::SearchLineageStreaming( + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->SearchLineageStreaming(request); +} + StreamRange LineageClient::ListOperations( std::string const& name, std::string const& filter, Options opts) { internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); diff --git a/google/cloud/datacatalog/lineage/v1/lineage_client.h b/google/cloud/datacatalog/lineage/v1/lineage_client.h index bb1a12b16551e..43776ef353bbd 100644 --- a/google/cloud/datacatalog/lineage/v1/lineage_client.h +++ b/google/cloud/datacatalog/lineage/v1/lineage_client.h @@ -66,7 +66,7 @@ GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN /// such a copy when using this class from multiple threads. /// /// [google.cloud.datacatalog.lineage.v1.LineageEvent]: -/// @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L320} +/// @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L359} /// class LineageClient { public: @@ -116,8 +116,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.ProcessOpenLineageRunEventRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L425} - /// [google.cloud.datacatalog.lineage.v1.ProcessOpenLineageRunEventResponse]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L443} + /// [google.cloud.datacatalog.lineage.v1.ProcessOpenLineageRunEventRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L487} + /// [google.cloud.datacatalog.lineage.v1.ProcessOpenLineageRunEventResponse]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L508} /// // clang-format on StatusOr CreateProcess( @@ -215,8 +215,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.CreateProcessRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L467} - /// [google.cloud.datacatalog.lineage.v1.Process]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L230} + /// [google.cloud.datacatalog.lineage.v1.CreateProcessRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L532} + /// [google.cloud.datacatalog.lineage.v1.Process]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L265} /// // clang-format on StatusOr CreateProcess( @@ -231,8 +231,8 @@ class LineageClient { /// @param process Required. The lineage process to update. /// @n /// The process's `name` field is used to identify the process to update. - /// @param update_mask The list of fields to update. Currently not used. The whole message is - /// updated. + /// @param update_mask Optional. The list of fields to update. Currently not used. The whole + /// message is updated. /// @param opts Optional. Override the class-level options, such as retry and /// backoff policies. /// @return the result of the RPC. The response message type @@ -246,8 +246,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.Process]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L230} - /// [google.cloud.datacatalog.lineage.v1.UpdateProcessRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L488} + /// [google.cloud.datacatalog.lineage.v1.Process]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L265} + /// [google.cloud.datacatalog.lineage.v1.UpdateProcessRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L556} /// // clang-format on StatusOr UpdateProcess( @@ -277,8 +277,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.Process]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L230} - /// [google.cloud.datacatalog.lineage.v1.UpdateProcessRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L488} + /// [google.cloud.datacatalog.lineage.v1.Process]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L265} + /// [google.cloud.datacatalog.lineage.v1.UpdateProcessRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L556} /// // clang-format on StatusOr UpdateProcess( @@ -304,8 +304,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.GetProcessRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L504} - /// [google.cloud.datacatalog.lineage.v1.Process]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L230} + /// [google.cloud.datacatalog.lineage.v1.GetProcessRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L582} + /// [google.cloud.datacatalog.lineage.v1.Process]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L265} /// // clang-format on StatusOr GetProcess( @@ -334,8 +334,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.GetProcessRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L504} - /// [google.cloud.datacatalog.lineage.v1.Process]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L230} + /// [google.cloud.datacatalog.lineage.v1.GetProcessRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L582} + /// [google.cloud.datacatalog.lineage.v1.Process]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L265} /// // clang-format on StatusOr GetProcess( @@ -371,8 +371,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.ListProcessesRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L516} - /// [google.cloud.datacatalog.lineage.v1.Process]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L230} + /// [google.cloud.datacatalog.lineage.v1.ListProcessesRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L594} + /// [google.cloud.datacatalog.lineage.v1.Process]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L265} /// // clang-format on StreamRange ListProcesses( @@ -411,8 +411,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.ListProcessesRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L516} - /// [google.cloud.datacatalog.lineage.v1.Process]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L230} + /// [google.cloud.datacatalog.lineage.v1.ListProcessesRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L594} + /// [google.cloud.datacatalog.lineage.v1.Process]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L265} /// // clang-format on StreamRange ListProcesses( @@ -444,8 +444,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.DeleteProcessRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L553} - /// [google.cloud.datacatalog.lineage.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L368} + /// [google.cloud.datacatalog.lineage.v1.DeleteProcessRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L631} + /// [google.cloud.datacatalog.lineage.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L430} /// // clang-format on future> @@ -495,8 +495,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.DeleteProcessRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L553} - /// [google.cloud.datacatalog.lineage.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L368} + /// [google.cloud.datacatalog.lineage.v1.DeleteProcessRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L631} + /// [google.cloud.datacatalog.lineage.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L430} /// // clang-format on future> @@ -554,8 +554,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.CreateRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L569} - /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L262} + /// [google.cloud.datacatalog.lineage.v1.CreateRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L647} + /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L299} /// // clang-format on StatusOr CreateRun( @@ -586,8 +586,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.CreateRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L569} - /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L262} + /// [google.cloud.datacatalog.lineage.v1.CreateRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L647} + /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L299} /// // clang-format on StatusOr CreateRun( @@ -604,8 +604,8 @@ class LineageClient { /// @n /// Format: /// `projects/{project}/locations/{location}/processes/{process}/runs/{run}`. - /// @param update_mask The list of fields to update. Currently not used. The whole message is - /// updated. + /// @param update_mask Optional. The list of fields to update. Currently not used. The whole + /// message is updated. /// @param opts Optional. Override the class-level options, such as retry and /// backoff policies. /// @return the result of the RPC. The response message type @@ -619,8 +619,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L262} - /// [google.cloud.datacatalog.lineage.v1.UpdateRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L589} + /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L299} + /// [google.cloud.datacatalog.lineage.v1.UpdateRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L670} /// // clang-format on StatusOr UpdateRun( @@ -650,8 +650,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L262} - /// [google.cloud.datacatalog.lineage.v1.UpdateRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L589} + /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L299} + /// [google.cloud.datacatalog.lineage.v1.UpdateRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L670} /// // clang-format on StatusOr UpdateRun( @@ -676,8 +676,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.GetRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L608} - /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L262} + /// [google.cloud.datacatalog.lineage.v1.GetRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L690} + /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L299} /// // clang-format on StatusOr GetRun( @@ -706,8 +706,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.GetRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L608} - /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L262} + /// [google.cloud.datacatalog.lineage.v1.GetRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L690} + /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L299} /// // clang-format on StatusOr GetRun( @@ -742,8 +742,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.ListRunsRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L618} - /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L262} + /// [google.cloud.datacatalog.lineage.v1.ListRunsRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L700} + /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L299} /// // clang-format on StreamRange ListRuns( @@ -782,8 +782,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.ListRunsRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L618} - /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L262} + /// [google.cloud.datacatalog.lineage.v1.ListRunsRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L700} + /// [google.cloud.datacatalog.lineage.v1.Run]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L299} /// // clang-format on StreamRange ListRuns( @@ -815,8 +815,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.DeleteRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L654} - /// [google.cloud.datacatalog.lineage.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L368} + /// [google.cloud.datacatalog.lineage.v1.DeleteRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L736} + /// [google.cloud.datacatalog.lineage.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L430} /// // clang-format on future> @@ -867,8 +867,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.DeleteRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L654} - /// [google.cloud.datacatalog.lineage.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L368} + /// [google.cloud.datacatalog.lineage.v1.DeleteRunRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L736} + /// [google.cloud.datacatalog.lineage.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L430} /// // clang-format on future> @@ -923,8 +923,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.CreateLineageEventRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L668} - /// [google.cloud.datacatalog.lineage.v1.LineageEvent]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L320} + /// [google.cloud.datacatalog.lineage.v1.CreateLineageEventRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L750} + /// [google.cloud.datacatalog.lineage.v1.LineageEvent]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L359} /// // clang-format on StatusOr @@ -957,8 +957,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.CreateLineageEventRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L668} - /// [google.cloud.datacatalog.lineage.v1.LineageEvent]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L320} + /// [google.cloud.datacatalog.lineage.v1.CreateLineageEventRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L750} + /// [google.cloud.datacatalog.lineage.v1.LineageEvent]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L359} /// // clang-format on StatusOr @@ -985,8 +985,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.GetLineageEventRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L688} - /// [google.cloud.datacatalog.lineage.v1.LineageEvent]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L320} + /// [google.cloud.datacatalog.lineage.v1.GetLineageEventRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L773} + /// [google.cloud.datacatalog.lineage.v1.LineageEvent]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L359} /// // clang-format on StatusOr @@ -1015,8 +1015,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.GetLineageEventRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L688} - /// [google.cloud.datacatalog.lineage.v1.LineageEvent]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L320} + /// [google.cloud.datacatalog.lineage.v1.GetLineageEventRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L773} + /// [google.cloud.datacatalog.lineage.v1.LineageEvent]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L359} /// // clang-format on StatusOr @@ -1054,8 +1054,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.LineageEvent]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L320} - /// [google.cloud.datacatalog.lineage.v1.ListLineageEventsRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L700} + /// [google.cloud.datacatalog.lineage.v1.LineageEvent]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L359} + /// [google.cloud.datacatalog.lineage.v1.ListLineageEventsRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L785} /// // clang-format on StreamRange @@ -1094,8 +1094,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.LineageEvent]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L320} - /// [google.cloud.datacatalog.lineage.v1.ListLineageEventsRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L700} + /// [google.cloud.datacatalog.lineage.v1.LineageEvent]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L359} + /// [google.cloud.datacatalog.lineage.v1.ListLineageEventsRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L785} /// // clang-format on StreamRange @@ -1119,7 +1119,7 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.DeleteLineageEventRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L738} + /// [google.cloud.datacatalog.lineage.v1.DeleteLineageEventRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L821} /// // clang-format on Status DeleteLineageEvent(std::string const& name, Options opts = {}); @@ -1145,7 +1145,7 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.DeleteLineageEventRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L738} + /// [google.cloud.datacatalog.lineage.v1.DeleteLineageEventRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L821} /// // clang-format on Status DeleteLineageEvent( @@ -1193,8 +1193,8 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.Link]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L807} - /// [google.cloud.datacatalog.lineage.v1.SearchLinksRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L754} + /// [google.cloud.datacatalog.lineage.v1.Link]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L918} + /// [google.cloud.datacatalog.lineage.v1.SearchLinksRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L837} /// // clang-format on StreamRange SearchLinks( @@ -1246,9 +1246,9 @@ class LineageClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.datacatalog.lineage.v1.BatchSearchLinkProcessesRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L830} - /// [google.cloud.datacatalog.lineage.v1.Lineage.SearchLinks]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L199} - /// [google.cloud.datacatalog.lineage.v1.ProcessLinks]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L873} + /// [google.cloud.datacatalog.lineage.v1.BatchSearchLinkProcessesRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L952} + /// [google.cloud.datacatalog.lineage.v1.Lineage.SearchLinks]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L201} + /// [google.cloud.datacatalog.lineage.v1.ProcessLinks]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L995} /// // clang-format on StreamRange @@ -1257,6 +1257,63 @@ class LineageClient { request, Options opts = {}); + // clang-format off + /// + /// Retrieves a streaming response of lineage links connected to the requested + /// assets by performing a breadth-first search in the given direction. Links + /// represent the data flow between **source** (upstream) and **target** + /// (downstream) assets in transformation pipelines. Links are stored in the + /// same project as the Lineage Events that create them. This method retrieves + /// links from all valid locations provided in the request. This method + /// supports Column-Level Lineage (CLL) along with wildcard support to retrieve + /// all CLL for an Entity FQN. + /// + /// Following permissions are required to retrieve links: + /// * `datalineage.events.get` permission for the project where the link is + /// stored for entity-level lineage. + /// * `datalineage.events.getFields` permission for the project where the link + /// is stored for column-level lineage. + /// + /// This method also returns processes that created the links if explicitly + /// requested by setting + /// [max_process_per_link](google.cloud.datacatalog.lineage.v1.SearchLineageStreamingRequest.limits.max_process_per_link) + /// is non-zero and full process details are requested via + /// `links.processes.process` in the + /// [FieldMask](https://developers.google.com/workspace/docs/api/how-tos/field-masks#read_with_a_field_mask). + /// + /// Permission required to retrieve processes: + /// * `datalineage.processes.get` permission for the project where the process + /// is stored. + /// + /// @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.datacatalog.lineage.v1.SearchLineageStreamingRequest]. + /// 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.datacatalog.lineage.v1.SearchLineageStreamingResponse]) + /// 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.datacatalog.lineage.v1.SearchLineageStreamingRequest]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L1114} + /// [google.cloud.datacatalog.lineage.v1.SearchLineageStreamingResponse]: @googleapis_reference_link{google/cloud/datacatalog/lineage/v1/lineage.proto#L1211} + /// + // clang-format on + StreamRange< + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingResponse> + SearchLineageStreaming(google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request, + Options opts = {}); + // clang-format off /// /// Lists operations that match the specified filter in the request. If the diff --git a/google/cloud/datacatalog/lineage/v1/lineage_connection.cc b/google/cloud/datacatalog/lineage/v1/lineage_connection.cc index 4e1b5ae877136..716fc80493a3f 100644 --- a/google/cloud/datacatalog/lineage/v1/lineage_connection.cc +++ b/google/cloud/datacatalog/lineage/v1/lineage_connection.cc @@ -183,6 +183,19 @@ LineageConnection::BatchSearchLinkProcesses( StreamRange>(); } +StreamRange< + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingResponse> +LineageConnection::SearchLineageStreaming( + google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const&) { + return google::cloud::internal::MakeStreamRange< + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingResponse>( + []() -> absl::variant { + return Status(StatusCode::kUnimplemented, "not implemented"); + }); +} + StreamRange LineageConnection::ListOperations( google::longrunning:: ListOperationsRequest) { // NOLINT(performance-unnecessary-value-param) diff --git a/google/cloud/datacatalog/lineage/v1/lineage_connection.h b/google/cloud/datacatalog/lineage/v1/lineage_connection.h index eff6d33e8eabc..f177260d24595 100644 --- a/google/cloud/datacatalog/lineage/v1/lineage_connection.h +++ b/google/cloud/datacatalog/lineage/v1/lineage_connection.h @@ -275,6 +275,11 @@ class LineageConnection { google::cloud::datacatalog::lineage::v1::BatchSearchLinkProcessesRequest request); + virtual StreamRange< + google::cloud::datacatalog::lineage::v1::SearchLineageStreamingResponse> + SearchLineageStreaming(google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request); + virtual StreamRange ListOperations( google::longrunning::ListOperationsRequest request); diff --git a/google/cloud/datacatalog/lineage/v1/lineage_connection_idempotency_policy.cc b/google/cloud/datacatalog/lineage/v1/lineage_connection_idempotency_policy.cc index 0a43ce9e935eb..ffc596ad22d37 100644 --- a/google/cloud/datacatalog/lineage/v1/lineage_connection_idempotency_policy.cc +++ b/google/cloud/datacatalog/lineage/v1/lineage_connection_idempotency_policy.cc @@ -36,17 +36,22 @@ LineageConnectionIdempotencyPolicy::clone() const { Idempotency LineageConnectionIdempotencyPolicy::ProcessOpenLineageRunEvent( google::cloud::datacatalog::lineage::v1:: - ProcessOpenLineageRunEventRequest const&) { + ProcessOpenLineageRunEventRequest const& request) { + if (!request.request_id().empty()) return Idempotency::kIdempotent; return Idempotency::kNonIdempotent; } Idempotency LineageConnectionIdempotencyPolicy::CreateProcess( - google::cloud::datacatalog::lineage::v1::CreateProcessRequest const&) { + google::cloud::datacatalog::lineage::v1::CreateProcessRequest const& + request) { + if (!request.request_id().empty()) return Idempotency::kIdempotent; return Idempotency::kNonIdempotent; } Idempotency LineageConnectionIdempotencyPolicy::UpdateProcess( - google::cloud::datacatalog::lineage::v1::UpdateProcessRequest const&) { + google::cloud::datacatalog::lineage::v1::UpdateProcessRequest const& + request) { + if (!request.request_id().empty()) return Idempotency::kIdempotent; return Idempotency::kNonIdempotent; } @@ -66,7 +71,8 @@ Idempotency LineageConnectionIdempotencyPolicy::DeleteProcess( } Idempotency LineageConnectionIdempotencyPolicy::CreateRun( - google::cloud::datacatalog::lineage::v1::CreateRunRequest const&) { + google::cloud::datacatalog::lineage::v1::CreateRunRequest const& request) { + if (!request.request_id().empty()) return Idempotency::kIdempotent; return Idempotency::kNonIdempotent; } @@ -91,7 +97,9 @@ Idempotency LineageConnectionIdempotencyPolicy::DeleteRun( } Idempotency LineageConnectionIdempotencyPolicy::CreateLineageEvent( - google::cloud::datacatalog::lineage::v1::CreateLineageEventRequest const&) { + google::cloud::datacatalog::lineage::v1::CreateLineageEventRequest const& + request) { + if (!request.request_id().empty()) return Idempotency::kIdempotent; return Idempotency::kNonIdempotent; } diff --git a/google/cloud/datacatalog/lineage/v1/mocks/mock_lineage_connection.h b/google/cloud/datacatalog/lineage/v1/mocks/mock_lineage_connection.h index ee9efb9ea7f87..b3f76ecb69812 100644 --- a/google/cloud/datacatalog/lineage/v1/mocks/mock_lineage_connection.h +++ b/google/cloud/datacatalog/lineage/v1/mocks/mock_lineage_connection.h @@ -222,6 +222,13 @@ class MockLineageConnection : public datacatalog_lineage_v1::LineageConnection { request), (override)); + MOCK_METHOD(StreamRange, + SearchLineageStreaming, + (google::cloud::datacatalog::lineage::v1:: + SearchLineageStreamingRequest const& request), + (override)); + MOCK_METHOD((StreamRange), ListOperations, (google::longrunning::ListOperationsRequest request), (override)); diff --git a/google/cloud/dataproc/v1/batch_controller_client.h b/google/cloud/dataproc/v1/batch_controller_client.h index 2969dccb5d869..33c9e98613986 100644 --- a/google/cloud/dataproc/v1/batch_controller_client.h +++ b/google/cloud/dataproc/v1/batch_controller_client.h @@ -118,8 +118,8 @@ class BatchControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.Batch]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L192} - /// [google.cloud.dataproc.v1.CreateBatchRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L79} + /// [google.cloud.dataproc.v1.Batch]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L198} + /// [google.cloud.dataproc.v1.CreateBatchRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L83} /// // clang-format on future> CreateBatch( @@ -173,8 +173,8 @@ class BatchControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.Batch]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L192} - /// [google.cloud.dataproc.v1.CreateBatchRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L79} + /// [google.cloud.dataproc.v1.Batch]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L198} + /// [google.cloud.dataproc.v1.CreateBatchRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L83} /// // clang-format on future> CreateBatch( @@ -229,8 +229,8 @@ class BatchControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.Batch]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L192} - /// [google.cloud.dataproc.v1.GetBatchRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L113} + /// [google.cloud.dataproc.v1.Batch]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L198} + /// [google.cloud.dataproc.v1.GetBatchRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L116} /// // clang-format on StatusOr GetBatch(std::string const& name, @@ -259,8 +259,8 @@ class BatchControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.Batch]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L192} - /// [google.cloud.dataproc.v1.GetBatchRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L113} + /// [google.cloud.dataproc.v1.Batch]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L198} + /// [google.cloud.dataproc.v1.GetBatchRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L116} /// // clang-format on StatusOr GetBatch( @@ -294,8 +294,8 @@ class BatchControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.Batch]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L192} - /// [google.cloud.dataproc.v1.ListBatchesRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L124} + /// [google.cloud.dataproc.v1.Batch]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L198} + /// [google.cloud.dataproc.v1.ListBatchesRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L127} /// // clang-format on StreamRange ListBatches( @@ -333,8 +333,8 @@ class BatchControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.Batch]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L192} - /// [google.cloud.dataproc.v1.ListBatchesRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L124} + /// [google.cloud.dataproc.v1.Batch]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L198} + /// [google.cloud.dataproc.v1.ListBatchesRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L127} /// // clang-format on StreamRange ListBatches( @@ -343,8 +343,10 @@ class BatchControllerClient { // clang-format off /// - /// Deletes the batch workload resource. If the batch is not in terminal state, - /// the delete fails and the response returns `FAILED_PRECONDITION`. + /// Deletes the batch workload resource. If the batch is not in a + /// `CANCELLED`, `SUCCEEDED` or `FAILED` + /// [`State`][google.cloud.dataproc.v1.Batch.State], the delete operation fails + /// and the response returns `FAILED_PRECONDITION`. /// /// @param name Required. The fully qualified name of the batch to retrieve /// in the format @@ -360,15 +362,18 @@ class BatchControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.DeleteBatchRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L181} + /// [google.cloud.dataproc.v1.Batch.State]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L205} + /// [google.cloud.dataproc.v1.DeleteBatchRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L187} /// // clang-format on Status DeleteBatch(std::string const& name, Options opts = {}); // clang-format off /// - /// Deletes the batch workload resource. If the batch is not in terminal state, - /// the delete fails and the response returns `FAILED_PRECONDITION`. + /// Deletes the batch workload resource. If the batch is not in a + /// `CANCELLED`, `SUCCEEDED` or `FAILED` + /// [`State`][google.cloud.dataproc.v1.Batch.State], the delete operation fails + /// and the response returns `FAILED_PRECONDITION`. /// /// @param request Unary RPCs, such as the one wrapped by this /// function, receive a single `request` proto message which includes all @@ -387,7 +392,8 @@ class BatchControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.DeleteBatchRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L181} + /// [google.cloud.dataproc.v1.Batch.State]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L205} + /// [google.cloud.dataproc.v1.DeleteBatchRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/batches.proto#L187} /// // clang-format on Status DeleteBatch( diff --git a/google/cloud/dataproc/v1/session_controller_client.h b/google/cloud/dataproc/v1/session_controller_client.h index f266d396af1aa..af78603f14fdf 100644 --- a/google/cloud/dataproc/v1/session_controller_client.h +++ b/google/cloud/dataproc/v1/session_controller_client.h @@ -120,8 +120,8 @@ class SessionControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.CreateSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L98} - /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L236} + /// [google.cloud.dataproc.v1.CreateSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L100} + /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L238} /// // clang-format on future> CreateSession( @@ -175,8 +175,8 @@ class SessionControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.CreateSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L98} - /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L236} + /// [google.cloud.dataproc.v1.CreateSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L100} + /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L238} /// // clang-format on future> CreateSession( @@ -229,8 +229,8 @@ class SessionControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.GetSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L133} - /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L236} + /// [google.cloud.dataproc.v1.GetSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L135} + /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L238} /// // clang-format on StatusOr GetSession( @@ -259,8 +259,8 @@ class SessionControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.GetSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L133} - /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L236} + /// [google.cloud.dataproc.v1.GetSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L135} + /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L238} /// // clang-format on StatusOr GetSession( @@ -294,8 +294,8 @@ class SessionControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.ListSessionsRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L144} - /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L236} + /// [google.cloud.dataproc.v1.ListSessionsRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L146} + /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L238} /// // clang-format on StreamRange ListSessions( @@ -333,8 +333,8 @@ class SessionControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.ListSessionsRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L144} - /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L236} + /// [google.cloud.dataproc.v1.ListSessionsRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L146} + /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L238} /// // clang-format on StreamRange ListSessions( @@ -366,8 +366,8 @@ class SessionControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L236} - /// [google.cloud.dataproc.v1.TerminateSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L190} + /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L238} + /// [google.cloud.dataproc.v1.TerminateSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L192} /// // clang-format on future> TerminateSession( @@ -417,8 +417,8 @@ class SessionControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L236} - /// [google.cloud.dataproc.v1.TerminateSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L190} + /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L238} + /// [google.cloud.dataproc.v1.TerminateSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L192} /// // clang-format on future> TerminateSession( @@ -479,8 +479,8 @@ class SessionControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.DeleteSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L213} - /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L236} + /// [google.cloud.dataproc.v1.DeleteSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L215} + /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L238} /// // clang-format on future> DeleteSession( @@ -531,8 +531,8 @@ class SessionControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.DeleteSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L213} - /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L236} + /// [google.cloud.dataproc.v1.DeleteSessionRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L215} + /// [google.cloud.dataproc.v1.Session]: @googleapis_reference_link{google/cloud/dataproc/v1/sessions.proto#L238} /// // clang-format on future> DeleteSession( diff --git a/google/cloud/dataproc/v1/session_template_controller_client.h b/google/cloud/dataproc/v1/session_template_controller_client.h index 53d2891a911af..f71ba2fa977db 100644 --- a/google/cloud/dataproc/v1/session_template_controller_client.h +++ b/google/cloud/dataproc/v1/session_template_controller_client.h @@ -109,8 +109,8 @@ class SessionTemplateControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.CreateSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L87} - /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L165} + /// [google.cloud.dataproc.v1.CreateSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L89} + /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L167} /// // clang-format on StatusOr CreateSessionTemplate( @@ -141,8 +141,8 @@ class SessionTemplateControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.CreateSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L87} - /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L165} + /// [google.cloud.dataproc.v1.CreateSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L89} + /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L167} /// // clang-format on StatusOr CreateSessionTemplate( @@ -167,8 +167,8 @@ class SessionTemplateControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L165} - /// [google.cloud.dataproc.v1.UpdateSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L101} + /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L167} + /// [google.cloud.dataproc.v1.UpdateSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L103} /// // clang-format on StatusOr UpdateSessionTemplate( @@ -198,8 +198,8 @@ class SessionTemplateControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L165} - /// [google.cloud.dataproc.v1.UpdateSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L101} + /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L167} + /// [google.cloud.dataproc.v1.UpdateSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L103} /// // clang-format on StatusOr UpdateSessionTemplate( @@ -224,8 +224,8 @@ class SessionTemplateControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.GetSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L107} - /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L165} + /// [google.cloud.dataproc.v1.GetSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L109} + /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L167} /// // clang-format on StatusOr GetSessionTemplate( @@ -254,8 +254,8 @@ class SessionTemplateControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.GetSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L107} - /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L165} + /// [google.cloud.dataproc.v1.GetSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L109} + /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L167} /// // clang-format on StatusOr GetSessionTemplate( @@ -289,8 +289,8 @@ class SessionTemplateControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.ListSessionTemplatesRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L118} - /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L165} + /// [google.cloud.dataproc.v1.ListSessionTemplatesRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L120} + /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L167} /// // clang-format on StreamRange @@ -328,8 +328,8 @@ class SessionTemplateControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.ListSessionTemplatesRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L118} - /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L165} + /// [google.cloud.dataproc.v1.ListSessionTemplatesRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L120} + /// [google.cloud.dataproc.v1.SessionTemplate]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L167} /// // clang-format on StreamRange @@ -353,7 +353,7 @@ class SessionTemplateControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.DeleteSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L154} + /// [google.cloud.dataproc.v1.DeleteSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L156} /// // clang-format on Status DeleteSessionTemplate(std::string const& name, Options opts = {}); @@ -379,7 +379,7 @@ class SessionTemplateControllerClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.dataproc.v1.DeleteSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L154} + /// [google.cloud.dataproc.v1.DeleteSessionTemplateRequest]: @googleapis_reference_link{google/cloud/dataproc/v1/session_templates.proto#L156} /// // clang-format on Status DeleteSessionTemplate( diff --git a/google/cloud/memorystore/v1/memorystore_client.h b/google/cloud/memorystore/v1/memorystore_client.h index 0c00cf16c5d2f..82764f4290bed 100644 --- a/google/cloud/memorystore/v1/memorystore_client.h +++ b/google/cloud/memorystore/v1/memorystore_client.h @@ -117,7 +117,7 @@ class MemorystoreClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.memorystore.v1.Instance]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L277} - /// [google.cloud.memorystore.v1.ListInstancesRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1346} + /// [google.cloud.memorystore.v1.ListInstancesRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1364} /// // clang-format on StreamRange ListInstances( @@ -156,7 +156,7 @@ class MemorystoreClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.memorystore.v1.Instance]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L277} - /// [google.cloud.memorystore.v1.ListInstancesRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1346} + /// [google.cloud.memorystore.v1.ListInstancesRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1364} /// // clang-format on StreamRange ListInstances( @@ -182,7 +182,7 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.GetInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1387} + /// [google.cloud.memorystore.v1.GetInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1405} /// [google.cloud.memorystore.v1.Instance]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L277} /// // clang-format on @@ -212,7 +212,7 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.GetInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1387} + /// [google.cloud.memorystore.v1.GetInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1405} /// [google.cloud.memorystore.v1.Instance]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L277} /// // clang-format on @@ -257,7 +257,7 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.CreateInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1399} + /// [google.cloud.memorystore.v1.CreateInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1417} /// [google.cloud.memorystore.v1.Instance]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L277} /// // clang-format on @@ -312,7 +312,7 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.CreateInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1399} + /// [google.cloud.memorystore.v1.CreateInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1417} /// [google.cloud.memorystore.v1.Instance]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L277} /// // clang-format on @@ -376,7 +376,7 @@ class MemorystoreClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.memorystore.v1.Instance]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L277} - /// [google.cloud.memorystore.v1.UpdateInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1444} + /// [google.cloud.memorystore.v1.UpdateInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1462} /// // clang-format on future> UpdateInstance( @@ -429,7 +429,7 @@ class MemorystoreClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.memorystore.v1.Instance]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L277} - /// [google.cloud.memorystore.v1.UpdateInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1444} + /// [google.cloud.memorystore.v1.UpdateInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1462} /// // clang-format on future> UpdateInstance( @@ -490,8 +490,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.DeleteInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1473} - /// [google.cloud.memorystore.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1766} + /// [google.cloud.memorystore.v1.DeleteInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1491} + /// [google.cloud.memorystore.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1784} /// // clang-format on future> @@ -541,8 +541,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.DeleteInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1473} - /// [google.cloud.memorystore.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1766} + /// [google.cloud.memorystore.v1.DeleteInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1491} + /// [google.cloud.memorystore.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1784} /// // clang-format on future> @@ -599,8 +599,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.CertificateAuthority]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1685} - /// [google.cloud.memorystore.v1.GetCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1672} + /// [google.cloud.memorystore.v1.CertificateAuthority]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1703} + /// [google.cloud.memorystore.v1.GetCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1690} /// // clang-format on StatusOr @@ -629,8 +629,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.CertificateAuthority]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1685} - /// [google.cloud.memorystore.v1.GetCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1672} + /// [google.cloud.memorystore.v1.CertificateAuthority]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1703} + /// [google.cloud.memorystore.v1.GetCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1690} /// // clang-format on StatusOr @@ -660,8 +660,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.GetSharedRegionalCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1753} - /// [google.cloud.memorystore.v1.SharedRegionalCertificateAuthority]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1718} + /// [google.cloud.memorystore.v1.GetSharedRegionalCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1771} + /// [google.cloud.memorystore.v1.SharedRegionalCertificateAuthority]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1736} /// // clang-format on StatusOr @@ -692,8 +692,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.GetSharedRegionalCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1753} - /// [google.cloud.memorystore.v1.SharedRegionalCertificateAuthority]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1718} + /// [google.cloud.memorystore.v1.GetSharedRegionalCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1771} + /// [google.cloud.memorystore.v1.SharedRegionalCertificateAuthority]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1736} /// // clang-format on StatusOr @@ -733,7 +733,7 @@ class MemorystoreClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.memorystore.v1.Instance]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L277} - /// [google.cloud.memorystore.v1.RescheduleMaintenanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1313} + /// [google.cloud.memorystore.v1.RescheduleMaintenanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1331} /// // clang-format on future> @@ -791,7 +791,7 @@ class MemorystoreClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.memorystore.v1.Instance]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L277} - /// [google.cloud.memorystore.v1.RescheduleMaintenanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1313} + /// [google.cloud.memorystore.v1.RescheduleMaintenanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1331} /// // clang-format on future> @@ -864,8 +864,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.BackupCollection]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L741} - /// [google.cloud.memorystore.v1.ListBackupCollectionsRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1503} + /// [google.cloud.memorystore.v1.BackupCollection]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L759} + /// [google.cloud.memorystore.v1.ListBackupCollectionsRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1521} /// // clang-format on StreamRange @@ -907,8 +907,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.BackupCollection]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L741} - /// [google.cloud.memorystore.v1.ListBackupCollectionsRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1503} + /// [google.cloud.memorystore.v1.BackupCollection]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L759} + /// [google.cloud.memorystore.v1.ListBackupCollectionsRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1521} /// // clang-format on StreamRange @@ -936,8 +936,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.BackupCollection]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L741} - /// [google.cloud.memorystore.v1.GetBackupCollectionRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1552} + /// [google.cloud.memorystore.v1.BackupCollection]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L759} + /// [google.cloud.memorystore.v1.GetBackupCollectionRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1570} /// // clang-format on StatusOr @@ -966,8 +966,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.BackupCollection]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L741} - /// [google.cloud.memorystore.v1.GetBackupCollectionRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1552} + /// [google.cloud.memorystore.v1.BackupCollection]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L759} + /// [google.cloud.memorystore.v1.GetBackupCollectionRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1570} /// // clang-format on StatusOr @@ -1003,8 +1003,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.Backup]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L799} - /// [google.cloud.memorystore.v1.ListBackupsRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1565} + /// [google.cloud.memorystore.v1.Backup]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L817} + /// [google.cloud.memorystore.v1.ListBackupsRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1583} /// // clang-format on StreamRange ListBackups( @@ -1042,8 +1042,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.Backup]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L799} - /// [google.cloud.memorystore.v1.ListBackupsRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1565} + /// [google.cloud.memorystore.v1.Backup]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L817} + /// [google.cloud.memorystore.v1.ListBackupsRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1583} /// // clang-format on StreamRange ListBackups( @@ -1069,8 +1069,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.Backup]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L799} - /// [google.cloud.memorystore.v1.GetBackupRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1603} + /// [google.cloud.memorystore.v1.Backup]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L817} + /// [google.cloud.memorystore.v1.GetBackupRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1621} /// // clang-format on StatusOr GetBackup( @@ -1099,8 +1099,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.Backup]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L799} - /// [google.cloud.memorystore.v1.GetBackupRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1603} + /// [google.cloud.memorystore.v1.Backup]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L817} + /// [google.cloud.memorystore.v1.GetBackupRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1621} /// // clang-format on StatusOr GetBackup( @@ -1133,8 +1133,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.DeleteBackupRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1615} - /// [google.cloud.memorystore.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1766} + /// [google.cloud.memorystore.v1.DeleteBackupRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1633} + /// [google.cloud.memorystore.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1784} /// // clang-format on future> @@ -1185,8 +1185,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.DeleteBackupRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1615} - /// [google.cloud.memorystore.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1766} + /// [google.cloud.memorystore.v1.DeleteBackupRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1633} + /// [google.cloud.memorystore.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1784} /// // clang-format on future> @@ -1253,8 +1253,8 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.Backup]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L799} - /// [google.cloud.memorystore.v1.ExportBackupRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1633} + /// [google.cloud.memorystore.v1.Backup]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L817} + /// [google.cloud.memorystore.v1.ExportBackupRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1651} /// // clang-format on future> ExportBackup( @@ -1327,7 +1327,7 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.BackupInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1651} + /// [google.cloud.memorystore.v1.BackupInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1669} /// [google.cloud.memorystore.v1.Instance]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L277} /// // clang-format on @@ -1389,7 +1389,7 @@ class MemorystoreClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.memorystore.v1.BackupInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1651} + /// [google.cloud.memorystore.v1.BackupInstanceRequest]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L1669} /// [google.cloud.memorystore.v1.Instance]: @googleapis_reference_link{google/cloud/memorystore/v1/memorystore.proto#L277} /// // clang-format on diff --git a/google/cloud/redis/cluster/v1/cloud_redis_cluster_client.h b/google/cloud/redis/cluster/v1/cloud_redis_cluster_client.h index 5a46966d9b90e..3f3ac21f3c7a1 100644 --- a/google/cloud/redis/cluster/v1/cloud_redis_cluster_client.h +++ b/google/cloud/redis/cluster/v1/cloud_redis_cluster_client.h @@ -142,8 +142,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L664} - /// [google.cloud.redis.cluster.v1.ListClustersRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L396} + /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L673} + /// [google.cloud.redis.cluster.v1.ListClustersRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L405} /// // clang-format on StreamRange ListClusters( @@ -189,8 +189,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L664} - /// [google.cloud.redis.cluster.v1.ListClustersRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L396} + /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L673} + /// [google.cloud.redis.cluster.v1.ListClustersRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L405} /// // clang-format on StreamRange ListClusters( @@ -217,8 +217,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L664} - /// [google.cloud.redis.cluster.v1.GetClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L464} + /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L673} + /// [google.cloud.redis.cluster.v1.GetClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L473} /// // clang-format on StatusOr GetCluster( @@ -247,8 +247,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L664} - /// [google.cloud.redis.cluster.v1.GetClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L464} + /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L673} + /// [google.cloud.redis.cluster.v1.GetClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L473} /// // clang-format on StatusOr GetCluster( @@ -291,8 +291,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L664} - /// [google.cloud.redis.cluster.v1.UpdateClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L445} + /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L673} + /// [google.cloud.redis.cluster.v1.UpdateClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L454} /// // clang-format on future> UpdateCluster( @@ -348,8 +348,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L664} - /// [google.cloud.redis.cluster.v1.UpdateClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L445} + /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L673} + /// [google.cloud.redis.cluster.v1.UpdateClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L454} /// // clang-format on future> UpdateCluster( @@ -412,7 +412,7 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.DeleteClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L475} + /// [google.cloud.redis.cluster.v1.DeleteClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L484} /// [google.protobuf.Any]: @googleapis_reference_link{google/protobuf/any.proto#L128} /// // clang-format on @@ -464,7 +464,7 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.DeleteClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L475} + /// [google.cloud.redis.cluster.v1.DeleteClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L484} /// [google.protobuf.Any]: @googleapis_reference_link{google/protobuf/any.proto#L128} /// // clang-format on @@ -543,8 +543,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L664} - /// [google.cloud.redis.cluster.v1.CreateClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L367} + /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L673} + /// [google.cloud.redis.cluster.v1.CreateClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L376} /// // clang-format on future> CreateCluster( @@ -605,8 +605,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L664} - /// [google.cloud.redis.cluster.v1.CreateClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L367} + /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L673} + /// [google.cloud.redis.cluster.v1.CreateClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L376} /// // clang-format on future> CreateCluster( @@ -661,8 +661,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.CertificateAuthority]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1459} - /// [google.cloud.redis.cluster.v1.GetClusterCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L490} + /// [google.cloud.redis.cluster.v1.CertificateAuthority]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1468} + /// [google.cloud.redis.cluster.v1.GetClusterCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L499} /// // clang-format on StatusOr @@ -691,8 +691,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.CertificateAuthority]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1459} - /// [google.cloud.redis.cluster.v1.GetClusterCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L490} + /// [google.cloud.redis.cluster.v1.CertificateAuthority]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1468} + /// [google.cloud.redis.cluster.v1.GetClusterCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L499} /// // clang-format on StatusOr @@ -722,8 +722,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.GetSharedRegionalCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1416} - /// [google.cloud.redis.cluster.v1.SharedRegionalCertificateAuthority]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1381} + /// [google.cloud.redis.cluster.v1.GetSharedRegionalCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1425} + /// [google.cloud.redis.cluster.v1.SharedRegionalCertificateAuthority]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1390} /// // clang-format on StatusOr< @@ -755,8 +755,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.GetSharedRegionalCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1416} - /// [google.cloud.redis.cluster.v1.SharedRegionalCertificateAuthority]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1381} + /// [google.cloud.redis.cluster.v1.GetSharedRegionalCertificateAuthorityRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1425} + /// [google.cloud.redis.cluster.v1.SharedRegionalCertificateAuthority]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1390} /// // clang-format on StatusOr< @@ -798,8 +798,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L664} - /// [google.cloud.redis.cluster.v1.RescheduleClusterMaintenanceRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1598} + /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L673} + /// [google.cloud.redis.cluster.v1.RescheduleClusterMaintenanceRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1607} /// // clang-format on future> @@ -856,8 +856,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L664} - /// [google.cloud.redis.cluster.v1.RescheduleClusterMaintenanceRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1598} + /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L673} + /// [google.cloud.redis.cluster.v1.RescheduleClusterMaintenanceRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L1607} /// // clang-format on future> @@ -930,8 +930,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.BackupCollection]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L934} - /// [google.cloud.redis.cluster.v1.ListBackupCollectionsRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L503} + /// [google.cloud.redis.cluster.v1.BackupCollection]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L943} + /// [google.cloud.redis.cluster.v1.ListBackupCollectionsRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L512} /// // clang-format on StreamRange @@ -973,8 +973,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.BackupCollection]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L934} - /// [google.cloud.redis.cluster.v1.ListBackupCollectionsRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L503} + /// [google.cloud.redis.cluster.v1.BackupCollection]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L943} + /// [google.cloud.redis.cluster.v1.ListBackupCollectionsRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L512} /// // clang-format on StreamRange @@ -1002,8 +1002,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.BackupCollection]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L934} - /// [google.cloud.redis.cluster.v1.GetBackupCollectionRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L552} + /// [google.cloud.redis.cluster.v1.BackupCollection]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L943} + /// [google.cloud.redis.cluster.v1.GetBackupCollectionRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L561} /// // clang-format on StatusOr @@ -1032,8 +1032,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.BackupCollection]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L934} - /// [google.cloud.redis.cluster.v1.GetBackupCollectionRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L552} + /// [google.cloud.redis.cluster.v1.BackupCollection]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L943} + /// [google.cloud.redis.cluster.v1.GetBackupCollectionRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L561} /// // clang-format on StatusOr @@ -1070,8 +1070,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.Backup]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L976} - /// [google.cloud.redis.cluster.v1.ListBackupsRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L565} + /// [google.cloud.redis.cluster.v1.Backup]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L985} + /// [google.cloud.redis.cluster.v1.ListBackupsRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L574} /// // clang-format on StreamRange ListBackups( @@ -1109,8 +1109,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.Backup]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L976} - /// [google.cloud.redis.cluster.v1.ListBackupsRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L565} + /// [google.cloud.redis.cluster.v1.Backup]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L985} + /// [google.cloud.redis.cluster.v1.ListBackupsRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L574} /// // clang-format on StreamRange ListBackups( @@ -1136,8 +1136,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.Backup]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L976} - /// [google.cloud.redis.cluster.v1.GetBackupRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L603} + /// [google.cloud.redis.cluster.v1.Backup]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L985} + /// [google.cloud.redis.cluster.v1.GetBackupRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L612} /// // clang-format on StatusOr GetBackup( @@ -1166,8 +1166,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.Backup]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L976} - /// [google.cloud.redis.cluster.v1.GetBackupRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L603} + /// [google.cloud.redis.cluster.v1.Backup]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L985} + /// [google.cloud.redis.cluster.v1.GetBackupRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L612} /// // clang-format on StatusOr GetBackup( @@ -1200,7 +1200,7 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.DeleteBackupRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L613} + /// [google.cloud.redis.cluster.v1.DeleteBackupRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L622} /// [google.protobuf.Any]: @googleapis_reference_link{google/protobuf/any.proto#L128} /// // clang-format on @@ -1252,7 +1252,7 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.DeleteBackupRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L613} + /// [google.cloud.redis.cluster.v1.DeleteBackupRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L622} /// [google.protobuf.Any]: @googleapis_reference_link{google/protobuf/any.proto#L128} /// // clang-format on @@ -1318,8 +1318,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.Backup]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L976} - /// [google.cloud.redis.cluster.v1.ExportBackupRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L629} + /// [google.cloud.redis.cluster.v1.Backup]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L985} + /// [google.cloud.redis.cluster.v1.ExportBackupRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L638} /// // clang-format on future> ExportBackup( @@ -1392,8 +1392,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.BackupClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L645} - /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L664} + /// [google.cloud.redis.cluster.v1.BackupClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L654} + /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L673} /// // clang-format on future> BackupCluster( @@ -1454,8 +1454,8 @@ class CloudRedisClusterClient { /// [`future`]: @ref google::cloud::future /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status - /// [google.cloud.redis.cluster.v1.BackupClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L645} - /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L664} + /// [google.cloud.redis.cluster.v1.BackupClusterRequest]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L654} + /// [google.cloud.redis.cluster.v1.Cluster]: @googleapis_reference_link{google/cloud/redis/cluster/v1/cloud_redis_cluster.proto#L673} /// // clang-format on future> BackupCluster( diff --git a/google/cloud/spanner/internal/spanner_auth_decorator.cc b/google/cloud/spanner/internal/spanner_auth_decorator.cc index 26eaf0a09a652..4c7a4b9605a06 100644 --- a/google/cloud/spanner/internal/spanner_auth_decorator.cc +++ b/google/cloud/spanner/internal/spanner_auth_decorator.cc @@ -152,6 +152,18 @@ SpannerAuth::BatchWrite(std::shared_ptr context, return child_->BatchWrite(std::move(context), options, request); } +std::unique_ptr< + google::cloud::internal::StreamingReadRpc> +SpannerAuth::FetchCacheUpdate( + std::shared_ptr context, Options const& options, + google::spanner::v1::FetchCacheUpdateRequest const& request) { + using ErrorStream = ::google::cloud::internal::StreamingReadRpcError< + google::spanner::v1::CacheUpdate>; + auto status = auth_->ConfigureContext(*context); + if (!status.ok()) return std::make_unique(std::move(status)); + return child_->FetchCacheUpdate(std::move(context), options, request); +} + future> SpannerAuth::AsyncCreateSession( google::cloud::CompletionQueue& cq, std::shared_ptr context, diff --git a/google/cloud/spanner/internal/spanner_auth_decorator.h b/google/cloud/spanner/internal/spanner_auth_decorator.h index 1c62ae46ba48b..2647b4c7afc6e 100644 --- a/google/cloud/spanner/internal/spanner_auth_decorator.h +++ b/google/cloud/spanner/internal/spanner_auth_decorator.h @@ -99,6 +99,12 @@ class SpannerAuth : public SpannerStub { Options const& options, google::spanner::v1::BatchWriteRequest const& request) override; + std::unique_ptr> + FetchCacheUpdate( + std::shared_ptr context, Options const& options, + google::spanner::v1::FetchCacheUpdateRequest const& request) override; + future> AsyncCreateSession( google::cloud::CompletionQueue& cq, std::shared_ptr context, diff --git a/google/cloud/spanner/internal/spanner_logging_decorator.cc b/google/cloud/spanner/internal/spanner_logging_decorator.cc index 8da01f2f71e37..e690344aacf43 100644 --- a/google/cloud/spanner/internal/spanner_logging_decorator.cc +++ b/google/cloud/spanner/internal/spanner_logging_decorator.cc @@ -227,6 +227,31 @@ SpannerLogging::BatchWrite( std::move(context), options, request, __func__, tracing_options_); } +std::unique_ptr< + google::cloud::internal::StreamingReadRpc> +SpannerLogging::FetchCacheUpdate( + std::shared_ptr context, Options const& options, + google::spanner::v1::FetchCacheUpdateRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](std::shared_ptr context, + Options const& options, + google::spanner::v1::FetchCacheUpdateRequest const& request) + -> std::unique_ptr> { + auto stream = + child_->FetchCacheUpdate(std::move(context), options, request); + if (stream_logging_) { + stream = + std::make_unique>( + std::move(stream), tracing_options_, + google::cloud::internal::RequestIdForLogging()); + } + return stream; + }, + std::move(context), options, request, __func__, tracing_options_); +} + future> SpannerLogging::AsyncCreateSession( google::cloud::CompletionQueue& cq, diff --git a/google/cloud/spanner/internal/spanner_logging_decorator.h b/google/cloud/spanner/internal/spanner_logging_decorator.h index 23c64796f981e..da409b8f523a7 100644 --- a/google/cloud/spanner/internal/spanner_logging_decorator.h +++ b/google/cloud/spanner/internal/spanner_logging_decorator.h @@ -99,6 +99,12 @@ class SpannerLogging : public SpannerStub { Options const& options, google::spanner::v1::BatchWriteRequest const& request) override; + std::unique_ptr> + FetchCacheUpdate( + std::shared_ptr context, Options const& options, + google::spanner::v1::FetchCacheUpdateRequest const& request) override; + future> AsyncCreateSession( google::cloud::CompletionQueue& cq, std::shared_ptr context, diff --git a/google/cloud/spanner/internal/spanner_metadata_decorator.cc b/google/cloud/spanner/internal/spanner_metadata_decorator.cc index 6bc4aa9bba599..25235d811a581 100644 --- a/google/cloud/spanner/internal/spanner_metadata_decorator.cc +++ b/google/cloud/spanner/internal/spanner_metadata_decorator.cc @@ -163,6 +163,17 @@ SpannerMetadata::BatchWrite( return child_->BatchWrite(std::move(context), options, request); } +std::unique_ptr< + google::cloud::internal::StreamingReadRpc> +SpannerMetadata::FetchCacheUpdate( + std::shared_ptr context, Options const& options, + google::spanner::v1::FetchCacheUpdateRequest const& request) { + SetMetadata( + *context, options, + absl::StrCat("database=", internal::UrlEncode(request.database()))); + return child_->FetchCacheUpdate(std::move(context), options, request); +} + future> SpannerMetadata::AsyncCreateSession( google::cloud::CompletionQueue& cq, diff --git a/google/cloud/spanner/internal/spanner_metadata_decorator.h b/google/cloud/spanner/internal/spanner_metadata_decorator.h index 21c5e6a310cfd..33769ae8bcb5b 100644 --- a/google/cloud/spanner/internal/spanner_metadata_decorator.h +++ b/google/cloud/spanner/internal/spanner_metadata_decorator.h @@ -99,6 +99,12 @@ class SpannerMetadata : public SpannerStub { Options const& options, google::spanner::v1::BatchWriteRequest const& request) override; + std::unique_ptr> + FetchCacheUpdate( + std::shared_ptr context, Options const& options, + google::spanner::v1::FetchCacheUpdateRequest const& request) override; + future> AsyncCreateSession( google::cloud::CompletionQueue& cq, std::shared_ptr context, diff --git a/google/cloud/spanner/internal/spanner_stub.cc b/google/cloud/spanner/internal/spanner_stub.cc index 4b4be22900fbc..a7b47a87b4bd5 100644 --- a/google/cloud/spanner/internal/spanner_stub.cc +++ b/google/cloud/spanner/internal/spanner_stub.cc @@ -180,6 +180,16 @@ DefaultSpannerStub::BatchWrite( std::move(stream)); } +std::unique_ptr< + google::cloud::internal::StreamingReadRpc> +DefaultSpannerStub::FetchCacheUpdate( + std::shared_ptr context, Options const&, + google::spanner::v1::FetchCacheUpdateRequest const& request) { + auto stream = grpc_stub_->FetchCacheUpdate(context.get(), request); + return std::make_unique>(std::move(context), std::move(stream)); +} + future> DefaultSpannerStub::AsyncCreateSession( google::cloud::CompletionQueue& cq, diff --git a/google/cloud/spanner/internal/spanner_stub.h b/google/cloud/spanner/internal/spanner_stub.h index 54037402ed126..7908a18a352c6 100644 --- a/google/cloud/spanner/internal/spanner_stub.h +++ b/google/cloud/spanner/internal/spanner_stub.h @@ -101,6 +101,12 @@ class SpannerStub { Options const& options, google::spanner::v1::BatchWriteRequest const& request) = 0; + virtual std::unique_ptr> + FetchCacheUpdate( + std::shared_ptr context, Options const& options, + google::spanner::v1::FetchCacheUpdateRequest const& request) = 0; + virtual future> AsyncCreateSession( google::cloud::CompletionQueue& cq, std::shared_ptr context, @@ -191,6 +197,12 @@ class DefaultSpannerStub : public SpannerStub { Options const& options, google::spanner::v1::BatchWriteRequest const& request) override; + std::unique_ptr> + FetchCacheUpdate( + std::shared_ptr context, Options const& options, + google::spanner::v1::FetchCacheUpdateRequest const& request) override; + future> AsyncCreateSession( google::cloud::CompletionQueue& cq, std::shared_ptr context, diff --git a/google/cloud/spanner/internal/spanner_tracing_stub.cc b/google/cloud/spanner/internal/spanner_tracing_stub.cc index b927b9b9a5783..3b895f7d3e7d9 100644 --- a/google/cloud/spanner/internal/spanner_tracing_stub.cc +++ b/google/cloud/spanner/internal/spanner_tracing_stub.cc @@ -188,6 +188,21 @@ SpannerTracingStub::BatchWrite( std::move(context), std::move(stream), std::move(span)); } +std::unique_ptr< + google::cloud::internal::StreamingReadRpc> +SpannerTracingStub::FetchCacheUpdate( + std::shared_ptr context, Options const& options, + google::spanner::v1::FetchCacheUpdateRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.spanner.v1.Spanner", "FetchCacheUpdate"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto stream = child_->FetchCacheUpdate(context, options, request); + return std::make_unique< + internal::StreamingReadRpcTracing>( + std::move(context), std::move(stream), std::move(span)); +} + future> SpannerTracingStub::AsyncCreateSession( google::cloud::CompletionQueue& cq, diff --git a/google/cloud/spanner/internal/spanner_tracing_stub.h b/google/cloud/spanner/internal/spanner_tracing_stub.h index 9abf3bc8dc530..ca8678470c3d5 100644 --- a/google/cloud/spanner/internal/spanner_tracing_stub.h +++ b/google/cloud/spanner/internal/spanner_tracing_stub.h @@ -97,6 +97,12 @@ class SpannerTracingStub : public SpannerStub { Options const& options, google::spanner::v1::BatchWriteRequest const& request) override; + std::unique_ptr> + FetchCacheUpdate( + std::shared_ptr context, Options const& options, + google::spanner::v1::FetchCacheUpdateRequest const& request) override; + future> AsyncCreateSession( google::cloud::CompletionQueue& cq, std::shared_ptr context, diff --git a/google/cloud/spanner/testing/mock_spanner_stub.h b/google/cloud/spanner/testing/mock_spanner_stub.h index bb5310945fc4b..b2d8385010780 100644 --- a/google/cloud/spanner/testing/mock_spanner_stub.h +++ b/google/cloud/spanner/testing/mock_spanner_stub.h @@ -130,6 +130,13 @@ class MockSpannerStub : public google::cloud::spanner_internal::SpannerStub { (std::shared_ptr, Options const&, google::spanner::v1::BatchWriteRequest const&), (override)); + + MOCK_METHOD(std::unique_ptr>, + FetchCacheUpdate, + (std::shared_ptr, Options const&, + google::spanner::v1::FetchCacheUpdateRequest const&), + (override)); }; GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END diff --git a/google/cloud/support/v2/case_attachment_client.cc b/google/cloud/support/v2/case_attachment_client.cc index d0f8820c6b930..2fd3a90cdfd81 100644 --- a/google/cloud/support/v2/case_attachment_client.cc +++ b/google/cloud/support/v2/case_attachment_client.cc @@ -48,6 +48,23 @@ CaseAttachmentServiceClient::ListAttachments( return connection_->ListAttachments(std::move(request)); } +StatusOr +CaseAttachmentServiceClient::GetAttachment(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::support::v2::GetAttachmentRequest request; + request.set_name(name); + return connection_->GetAttachment(request); +} + +StatusOr +CaseAttachmentServiceClient::GetAttachment( + google::cloud::support::v2::GetAttachmentRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetAttachment(request); +} + GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END } // namespace support_v2 } // namespace cloud diff --git a/google/cloud/support/v2/case_attachment_client.h b/google/cloud/support/v2/case_attachment_client.h index 5acdeddcaf382..c66b1c1938934 100644 --- a/google/cloud/support/v2/case_attachment_client.h +++ b/google/cloud/support/v2/case_attachment_client.h @@ -116,7 +116,7 @@ class CaseAttachmentServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.support.v2.Attachment]: @googleapis_reference_link{google/cloud/support/v2/attachment.proto#L40} - /// [google.cloud.support.v2.ListAttachmentsRequest]: @googleapis_reference_link{google/cloud/support/v2/attachment_service.proto#L53} + /// [google.cloud.support.v2.ListAttachmentsRequest]: @googleapis_reference_link{google/cloud/support/v2/attachment_service.proto#L91} /// // clang-format on StreamRange ListAttachments( @@ -155,13 +155,129 @@ class CaseAttachmentServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.support.v2.Attachment]: @googleapis_reference_link{google/cloud/support/v2/attachment.proto#L40} - /// [google.cloud.support.v2.ListAttachmentsRequest]: @googleapis_reference_link{google/cloud/support/v2/attachment_service.proto#L53} + /// [google.cloud.support.v2.ListAttachmentsRequest]: @googleapis_reference_link{google/cloud/support/v2/attachment_service.proto#L91} /// // clang-format on StreamRange ListAttachments( google::cloud::support::v2::ListAttachmentsRequest request, Options opts = {}); + // clang-format off + /// + /// Retrieve an attachment associated with a support case. + /// + /// EXAMPLES: + /// + /// cURL: + /// + /// ```shell + /// attachment="projects/some-project/cases/23598314/attachments/0684M00000P3h1fQAB" + /// curl + /// --header "Authorization: Bearer $(gcloud auth print-access-token)" + /// "https://cloudsupport.googleapis.com/v2/$attachment" + /// ``` + /// + /// Python: + /// + /// ```python + /// import googleapiclient.discovery + /// + /// api_version = "v2" + /// supportApiService = googleapiclient.discovery.build( + /// serviceName="cloudsupport", + /// version=api_version, + /// discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", + /// ) + /// request = ( + /// supportApiService.cases() + /// .attachments() + /// .get(name="projects/some-project/cases/43595344/attachments/0684M00000P3h1fQAB") + /// ) + /// print(request.execute()) + /// ``` + /// + /// @param name Required. The name of the attachment 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.support.v2.Attachment]) + /// 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.support.v2.Attachment]: @googleapis_reference_link{google/cloud/support/v2/attachment.proto#L40} + /// [google.cloud.support.v2.GetAttachmentRequest]: @googleapis_reference_link{google/cloud/support/v2/attachment_service.proto#L116} + /// + // clang-format on + StatusOr GetAttachment( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Retrieve an attachment associated with a support case. + /// + /// EXAMPLES: + /// + /// cURL: + /// + /// ```shell + /// attachment="projects/some-project/cases/23598314/attachments/0684M00000P3h1fQAB" + /// curl + /// --header "Authorization: Bearer $(gcloud auth print-access-token)" + /// "https://cloudsupport.googleapis.com/v2/$attachment" + /// ``` + /// + /// Python: + /// + /// ```python + /// import googleapiclient.discovery + /// + /// api_version = "v2" + /// supportApiService = googleapiclient.discovery.build( + /// serviceName="cloudsupport", + /// version=api_version, + /// discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", + /// ) + /// request = ( + /// supportApiService.cases() + /// .attachments() + /// .get(name="projects/some-project/cases/43595344/attachments/0684M00000P3h1fQAB") + /// ) + /// print(request.execute()) + /// ``` + /// + /// @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.support.v2.GetAttachmentRequest]. + /// 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.support.v2.Attachment]) + /// 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.support.v2.Attachment]: @googleapis_reference_link{google/cloud/support/v2/attachment.proto#L40} + /// [google.cloud.support.v2.GetAttachmentRequest]: @googleapis_reference_link{google/cloud/support/v2/attachment_service.proto#L116} + /// + // clang-format on + StatusOr GetAttachment( + google::cloud::support::v2::GetAttachmentRequest const& request, + Options opts = {}); + private: std::shared_ptr connection_; Options options_; diff --git a/google/cloud/support/v2/case_attachment_connection.cc b/google/cloud/support/v2/case_attachment_connection.cc index 2f57e1631f1be..4447a8a4164b8 100644 --- a/google/cloud/support/v2/case_attachment_connection.cc +++ b/google/cloud/support/v2/case_attachment_connection.cc @@ -46,6 +46,12 @@ CaseAttachmentServiceConnection::ListAttachments( StreamRange>(); } +StatusOr +CaseAttachmentServiceConnection::GetAttachment( + google::cloud::support::v2::GetAttachmentRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + std::shared_ptr MakeCaseAttachmentServiceConnection(Options options) { internal::CheckExpectedOptions ListAttachments( google::cloud::support::v2::ListAttachmentsRequest request); + + virtual StatusOr GetAttachment( + google::cloud::support::v2::GetAttachmentRequest const& request); }; /** diff --git a/google/cloud/support/v2/case_attachment_connection_idempotency_policy.cc b/google/cloud/support/v2/case_attachment_connection_idempotency_policy.cc index ec201394bb76b..3311b7501f762 100644 --- a/google/cloud/support/v2/case_attachment_connection_idempotency_policy.cc +++ b/google/cloud/support/v2/case_attachment_connection_idempotency_policy.cc @@ -40,6 +40,11 @@ Idempotency CaseAttachmentServiceConnectionIdempotencyPolicy::ListAttachments( return Idempotency::kIdempotent; } +Idempotency CaseAttachmentServiceConnectionIdempotencyPolicy::GetAttachment( + google::cloud::support::v2::GetAttachmentRequest const&) { + return Idempotency::kIdempotent; +} + std::unique_ptr MakeDefaultCaseAttachmentServiceConnectionIdempotencyPolicy() { return std::make_unique(); diff --git a/google/cloud/support/v2/case_attachment_connection_idempotency_policy.h b/google/cloud/support/v2/case_attachment_connection_idempotency_policy.h index 0309d9c1264ee..ec04e4b430114 100644 --- a/google/cloud/support/v2/case_attachment_connection_idempotency_policy.h +++ b/google/cloud/support/v2/case_attachment_connection_idempotency_policy.h @@ -39,6 +39,9 @@ class CaseAttachmentServiceConnectionIdempotencyPolicy { virtual google::cloud::Idempotency ListAttachments( google::cloud::support::v2::ListAttachmentsRequest request); + + virtual google::cloud::Idempotency GetAttachment( + google::cloud::support::v2::GetAttachmentRequest const& request); }; std::unique_ptr diff --git a/google/cloud/support/v2/comment_client.cc b/google/cloud/support/v2/comment_client.cc index 4cc463fa05995..165103308a44b 100644 --- a/google/cloud/support/v2/comment_client.cc +++ b/google/cloud/support/v2/comment_client.cc @@ -66,6 +66,21 @@ CommentServiceClient::CreateComment( return connection_->CreateComment(request); } +StatusOr CommentServiceClient::GetComment( + std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::support::v2::GetCommentRequest request; + request.set_name(name); + return connection_->GetComment(request); +} + +StatusOr CommentServiceClient::GetComment( + google::cloud::support::v2::GetCommentRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetComment(request); +} + GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END } // namespace support_v2 } // namespace cloud diff --git a/google/cloud/support/v2/comment_client.h b/google/cloud/support/v2/comment_client.h index 7f0f08b3c6697..8d8346fbccea9 100644 --- a/google/cloud/support/v2/comment_client.h +++ b/google/cloud/support/v2/comment_client.h @@ -113,7 +113,7 @@ class CommentServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.support.v2.Comment]: @googleapis_reference_link{google/cloud/support/v2/comment.proto#L37} - /// [google.cloud.support.v2.ListCommentsRequest]: @googleapis_reference_link{google/cloud/support/v2/comment_service.proto#L67} + /// [google.cloud.support.v2.ListCommentsRequest]: @googleapis_reference_link{google/cloud/support/v2/comment_service.proto#L104} /// // clang-format on StreamRange ListComments( @@ -152,7 +152,7 @@ class CommentServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.support.v2.Comment]: @googleapis_reference_link{google/cloud/support/v2/comment.proto#L37} - /// [google.cloud.support.v2.ListCommentsRequest]: @googleapis_reference_link{google/cloud/support/v2/comment_service.proto#L67} + /// [google.cloud.support.v2.ListCommentsRequest]: @googleapis_reference_link{google/cloud/support/v2/comment_service.proto#L104} /// // clang-format on StreamRange ListComments( @@ -181,7 +181,7 @@ class CommentServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.support.v2.Comment]: @googleapis_reference_link{google/cloud/support/v2/comment.proto#L37} - /// [google.cloud.support.v2.CreateCommentRequest]: @googleapis_reference_link{google/cloud/support/v2/comment_service.proto#L96} + /// [google.cloud.support.v2.CreateCommentRequest]: @googleapis_reference_link{google/cloud/support/v2/comment_service.proto#L133} /// // clang-format on StatusOr CreateComment( @@ -214,13 +214,127 @@ class CommentServiceClient { /// [`StatusOr`]: @ref google::cloud::StatusOr /// [`Status`]: @ref google::cloud::Status /// [google.cloud.support.v2.Comment]: @googleapis_reference_link{google/cloud/support/v2/comment.proto#L37} - /// [google.cloud.support.v2.CreateCommentRequest]: @googleapis_reference_link{google/cloud/support/v2/comment_service.proto#L96} + /// [google.cloud.support.v2.CreateCommentRequest]: @googleapis_reference_link{google/cloud/support/v2/comment_service.proto#L133} /// // clang-format on StatusOr CreateComment( google::cloud::support::v2::CreateCommentRequest const& request, Options opts = {}); + // clang-format off + /// + /// Retrieve a comment. + /// + /// EXAMPLES: + /// + /// cURL: + /// + /// ```shell + /// comment="projects/some-project/cases/43595344/comments/234567890" + /// curl + /// --header "Authorization: Bearer $(gcloud auth print-access-token)" + /// "https://cloudsupport.googleapis.com/v2/$comment" + /// ``` + /// + /// Python: + /// + /// ```python + /// import googleapiclient.discovery + /// + /// api_version = "v2" + /// supportApiService = googleapiclient.discovery.build( + /// serviceName="cloudsupport", + /// version=api_version, + /// discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", + /// ) + /// + /// request = supportApiService.cases().comments().get( + /// name="projects/some-project/cases/43595344/comments/234567890", + /// ) + /// print(request.execute()) + /// ``` + /// + /// @param name Required. The name of the comment to retrieve. + /// @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.support.v2.Comment]) + /// 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.support.v2.Comment]: @googleapis_reference_link{google/cloud/support/v2/comment.proto#L37} + /// [google.cloud.support.v2.GetCommentRequest]: @googleapis_reference_link{google/cloud/support/v2/comment_service.proto#L147} + /// + // clang-format on + StatusOr GetComment( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Retrieve a comment. + /// + /// EXAMPLES: + /// + /// cURL: + /// + /// ```shell + /// comment="projects/some-project/cases/43595344/comments/234567890" + /// curl + /// --header "Authorization: Bearer $(gcloud auth print-access-token)" + /// "https://cloudsupport.googleapis.com/v2/$comment" + /// ``` + /// + /// Python: + /// + /// ```python + /// import googleapiclient.discovery + /// + /// api_version = "v2" + /// supportApiService = googleapiclient.discovery.build( + /// serviceName="cloudsupport", + /// version=api_version, + /// discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", + /// ) + /// + /// request = supportApiService.cases().comments().get( + /// name="projects/some-project/cases/43595344/comments/234567890", + /// ) + /// print(request.execute()) + /// ``` + /// + /// @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.support.v2.GetCommentRequest]. + /// 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.support.v2.Comment]) + /// 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.support.v2.Comment]: @googleapis_reference_link{google/cloud/support/v2/comment.proto#L37} + /// [google.cloud.support.v2.GetCommentRequest]: @googleapis_reference_link{google/cloud/support/v2/comment_service.proto#L147} + /// + // clang-format on + StatusOr GetComment( + google::cloud::support::v2::GetCommentRequest const& request, + Options opts = {}); + private: std::shared_ptr connection_; Options options_; diff --git a/google/cloud/support/v2/comment_connection.cc b/google/cloud/support/v2/comment_connection.cc index f4c1e36bfade6..45d4edbd884be 100644 --- a/google/cloud/support/v2/comment_connection.cc +++ b/google/cloud/support/v2/comment_connection.cc @@ -52,6 +52,12 @@ CommentServiceConnection::CreateComment( return Status(StatusCode::kUnimplemented, "not implemented"); } +StatusOr +CommentServiceConnection::GetComment( + google::cloud::support::v2::GetCommentRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + std::shared_ptr MakeCommentServiceConnection( Options options) { internal::CheckExpectedOptions CreateComment( google::cloud::support::v2::CreateCommentRequest const& request); + + virtual StatusOr GetComment( + google::cloud::support::v2::GetCommentRequest const& request); }; /** diff --git a/google/cloud/support/v2/comment_connection_idempotency_policy.cc b/google/cloud/support/v2/comment_connection_idempotency_policy.cc index c0995e24c26bd..6fb7612522647 100644 --- a/google/cloud/support/v2/comment_connection_idempotency_policy.cc +++ b/google/cloud/support/v2/comment_connection_idempotency_policy.cc @@ -44,6 +44,11 @@ Idempotency CommentServiceConnectionIdempotencyPolicy::CreateComment( return Idempotency::kNonIdempotent; } +Idempotency CommentServiceConnectionIdempotencyPolicy::GetComment( + google::cloud::support::v2::GetCommentRequest const&) { + return Idempotency::kIdempotent; +} + std::unique_ptr MakeDefaultCommentServiceConnectionIdempotencyPolicy() { return std::make_unique(); diff --git a/google/cloud/support/v2/comment_connection_idempotency_policy.h b/google/cloud/support/v2/comment_connection_idempotency_policy.h index c0f89cd65255d..2f162ed8177ba 100644 --- a/google/cloud/support/v2/comment_connection_idempotency_policy.h +++ b/google/cloud/support/v2/comment_connection_idempotency_policy.h @@ -42,6 +42,9 @@ class CommentServiceConnectionIdempotencyPolicy { virtual google::cloud::Idempotency CreateComment( google::cloud::support::v2::CreateCommentRequest const& request); + + virtual google::cloud::Idempotency GetComment( + google::cloud::support::v2::GetCommentRequest const& request); }; std::unique_ptr diff --git a/google/cloud/support/v2/internal/case_attachment_auth_decorator.cc b/google/cloud/support/v2/internal/case_attachment_auth_decorator.cc index de7660f25e8be..d42ffb1b48654 100644 --- a/google/cloud/support/v2/internal/case_attachment_auth_decorator.cc +++ b/google/cloud/support/v2/internal/case_attachment_auth_decorator.cc @@ -43,6 +43,15 @@ CaseAttachmentServiceAuth::ListAttachments( return child_->ListAttachments(context, options, request); } +StatusOr +CaseAttachmentServiceAuth::GetAttachment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetAttachmentRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetAttachment(context, options, request); +} + GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END } // namespace support_v2_internal } // namespace cloud diff --git a/google/cloud/support/v2/internal/case_attachment_auth_decorator.h b/google/cloud/support/v2/internal/case_attachment_auth_decorator.h index b847b481716fc..e4184842c9b29 100644 --- a/google/cloud/support/v2/internal/case_attachment_auth_decorator.h +++ b/google/cloud/support/v2/internal/case_attachment_auth_decorator.h @@ -46,6 +46,10 @@ class CaseAttachmentServiceAuth : public CaseAttachmentServiceStub { google::cloud::support::v2::ListAttachmentsRequest const& request) override; + StatusOr GetAttachment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetAttachmentRequest const& request) override; + private: std::shared_ptr auth_; std::shared_ptr child_; diff --git a/google/cloud/support/v2/internal/case_attachment_connection_impl.cc b/google/cloud/support/v2/internal/case_attachment_connection_impl.cc index 150938ea00d2f..a7ec553ac9fc6 100644 --- a/google/cloud/support/v2/internal/case_attachment_connection_impl.cc +++ b/google/cloud/support/v2/internal/case_attachment_connection_impl.cc @@ -95,6 +95,20 @@ CaseAttachmentServiceConnectionImpl::ListAttachments( }); } +StatusOr +CaseAttachmentServiceConnectionImpl::GetAttachment( + google::cloud::support::v2::GetAttachmentRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetAttachment(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetAttachmentRequest const& request) { + return stub_->GetAttachment(context, options, request); + }, + *current, request, __func__); +} + GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END } // namespace support_v2_internal } // namespace cloud diff --git a/google/cloud/support/v2/internal/case_attachment_connection_impl.h b/google/cloud/support/v2/internal/case_attachment_connection_impl.h index 3bfac6070e26d..4de48e924bc7c 100644 --- a/google/cloud/support/v2/internal/case_attachment_connection_impl.h +++ b/google/cloud/support/v2/internal/case_attachment_connection_impl.h @@ -52,6 +52,9 @@ class CaseAttachmentServiceConnectionImpl StreamRange ListAttachments( google::cloud::support::v2::ListAttachmentsRequest request) override; + StatusOr GetAttachment( + google::cloud::support::v2::GetAttachmentRequest const& request) override; + private: std::unique_ptr background_; std::shared_ptr stub_; diff --git a/google/cloud/support/v2/internal/case_attachment_logging_decorator.cc b/google/cloud/support/v2/internal/case_attachment_logging_decorator.cc index 745a16e826abe..7196a3b77edbb 100644 --- a/google/cloud/support/v2/internal/case_attachment_logging_decorator.cc +++ b/google/cloud/support/v2/internal/case_attachment_logging_decorator.cc @@ -51,6 +51,18 @@ CaseAttachmentServiceLogging::ListAttachments( context, options, request, __func__, tracing_options_); } +StatusOr +CaseAttachmentServiceLogging::GetAttachment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetAttachmentRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetAttachmentRequest const& request) { + return child_->GetAttachment(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END } // namespace support_v2_internal } // namespace cloud diff --git a/google/cloud/support/v2/internal/case_attachment_logging_decorator.h b/google/cloud/support/v2/internal/case_attachment_logging_decorator.h index 742d87730f5c3..9458a7de1c027 100644 --- a/google/cloud/support/v2/internal/case_attachment_logging_decorator.h +++ b/google/cloud/support/v2/internal/case_attachment_logging_decorator.h @@ -46,6 +46,10 @@ class CaseAttachmentServiceLogging : public CaseAttachmentServiceStub { google::cloud::support::v2::ListAttachmentsRequest const& request) override; + StatusOr GetAttachment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetAttachmentRequest const& request) override; + private: std::shared_ptr child_; TracingOptions tracing_options_; diff --git a/google/cloud/support/v2/internal/case_attachment_metadata_decorator.cc b/google/cloud/support/v2/internal/case_attachment_metadata_decorator.cc index e6d97338e4524..0f9fae22a15eb 100644 --- a/google/cloud/support/v2/internal/case_attachment_metadata_decorator.cc +++ b/google/cloud/support/v2/internal/case_attachment_metadata_decorator.cc @@ -57,6 +57,15 @@ CaseAttachmentServiceMetadata::ListAttachments( return child_->ListAttachments(context, options, request); } +StatusOr +CaseAttachmentServiceMetadata::GetAttachment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetAttachmentRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetAttachment(context, options, request); +} + void CaseAttachmentServiceMetadata::SetMetadata( grpc::ClientContext& context, Options const& options, std::string const& request_params) { diff --git a/google/cloud/support/v2/internal/case_attachment_metadata_decorator.h b/google/cloud/support/v2/internal/case_attachment_metadata_decorator.h index a910d79668993..9907cc9ec6f76 100644 --- a/google/cloud/support/v2/internal/case_attachment_metadata_decorator.h +++ b/google/cloud/support/v2/internal/case_attachment_metadata_decorator.h @@ -47,6 +47,10 @@ class CaseAttachmentServiceMetadata : public CaseAttachmentServiceStub { google::cloud::support::v2::ListAttachmentsRequest const& request) override; + StatusOr GetAttachment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetAttachmentRequest const& request) override; + private: void SetMetadata(grpc::ClientContext& context, Options const& options, std::string const& request_params); diff --git a/google/cloud/support/v2/internal/case_attachment_stub.cc b/google/cloud/support/v2/internal/case_attachment_stub.cc index 04bfccc74b487..3b2131be94772 100644 --- a/google/cloud/support/v2/internal/case_attachment_stub.cc +++ b/google/cloud/support/v2/internal/case_attachment_stub.cc @@ -45,6 +45,18 @@ DefaultCaseAttachmentServiceStub::ListAttachments( return response; } +StatusOr +DefaultCaseAttachmentServiceStub::GetAttachment( + grpc::ClientContext& context, Options const&, + google::cloud::support::v2::GetAttachmentRequest const& request) { + google::cloud::support::v2::Attachment response; + auto status = grpc_stub_->GetAttachment(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END } // namespace support_v2_internal } // namespace cloud diff --git a/google/cloud/support/v2/internal/case_attachment_stub.h b/google/cloud/support/v2/internal/case_attachment_stub.h index 86d4fc689ad6b..1dd564f63daf8 100644 --- a/google/cloud/support/v2/internal/case_attachment_stub.h +++ b/google/cloud/support/v2/internal/case_attachment_stub.h @@ -42,6 +42,10 @@ class CaseAttachmentServiceStub { ListAttachments( grpc::ClientContext& context, Options const& options, google::cloud::support::v2::ListAttachmentsRequest const& request) = 0; + + virtual StatusOr GetAttachment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetAttachmentRequest const& request) = 0; }; class DefaultCaseAttachmentServiceStub : public CaseAttachmentServiceStub { @@ -57,6 +61,10 @@ class DefaultCaseAttachmentServiceStub : public CaseAttachmentServiceStub { google::cloud::support::v2::ListAttachmentsRequest const& request) override; + StatusOr GetAttachment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetAttachmentRequest const& request) override; + private: std::unique_ptr< google::cloud::support::v2::CaseAttachmentService::StubInterface> diff --git a/google/cloud/support/v2/internal/case_attachment_tracing_connection.cc b/google/cloud/support/v2/internal/case_attachment_tracing_connection.cc index a26373915f20e..73d86d58fcc8e 100644 --- a/google/cloud/support/v2/internal/case_attachment_tracing_connection.cc +++ b/google/cloud/support/v2/internal/case_attachment_tracing_connection.cc @@ -42,6 +42,15 @@ CaseAttachmentServiceTracingConnection::ListAttachments( google::cloud::support::v2::Attachment>(std::move(span), std::move(sr)); } +StatusOr +CaseAttachmentServiceTracingConnection::GetAttachment( + google::cloud::support::v2::GetAttachmentRequest const& request) { + auto span = internal::MakeSpan( + "support_v2::CaseAttachmentServiceConnection::GetAttachment"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetAttachment(request)); +} + std::shared_ptr MakeCaseAttachmentServiceTracingConnection( std::shared_ptr conn) { diff --git a/google/cloud/support/v2/internal/case_attachment_tracing_connection.h b/google/cloud/support/v2/internal/case_attachment_tracing_connection.h index ac4a31b526106..f18cdb053a03f 100644 --- a/google/cloud/support/v2/internal/case_attachment_tracing_connection.h +++ b/google/cloud/support/v2/internal/case_attachment_tracing_connection.h @@ -41,6 +41,9 @@ class CaseAttachmentServiceTracingConnection StreamRange ListAttachments( google::cloud::support::v2::ListAttachmentsRequest request) override; + StatusOr GetAttachment( + google::cloud::support::v2::GetAttachmentRequest const& request) override; + private: std::shared_ptr child_; }; diff --git a/google/cloud/support/v2/internal/case_attachment_tracing_stub.cc b/google/cloud/support/v2/internal/case_attachment_tracing_stub.cc index 9923e69c17f3b..aa0919215cebe 100644 --- a/google/cloud/support/v2/internal/case_attachment_tracing_stub.cc +++ b/google/cloud/support/v2/internal/case_attachment_tracing_stub.cc @@ -45,6 +45,18 @@ CaseAttachmentServiceTracingStub::ListAttachments( child_->ListAttachments(context, options, request)); } +StatusOr +CaseAttachmentServiceTracingStub::GetAttachment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetAttachmentRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.support.v2.CaseAttachmentService", "GetAttachment"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetAttachment(context, options, request)); +} + std::shared_ptr MakeCaseAttachmentServiceTracingStub( std::shared_ptr stub) { return std::make_shared(std::move(stub)); diff --git a/google/cloud/support/v2/internal/case_attachment_tracing_stub.h b/google/cloud/support/v2/internal/case_attachment_tracing_stub.h index 3822fcd220425..3df5c19469ec6 100644 --- a/google/cloud/support/v2/internal/case_attachment_tracing_stub.h +++ b/google/cloud/support/v2/internal/case_attachment_tracing_stub.h @@ -45,6 +45,10 @@ class CaseAttachmentServiceTracingStub : public CaseAttachmentServiceStub { google::cloud::support::v2::ListAttachmentsRequest const& request) override; + StatusOr GetAttachment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetAttachmentRequest const& request) override; + private: std::shared_ptr child_; std::shared_ptr diff --git a/google/cloud/support/v2/internal/comment_auth_decorator.cc b/google/cloud/support/v2/internal/comment_auth_decorator.cc index fbbd5c5bb9fd4..4016d1bcaf37d 100644 --- a/google/cloud/support/v2/internal/comment_auth_decorator.cc +++ b/google/cloud/support/v2/internal/comment_auth_decorator.cc @@ -51,6 +51,14 @@ StatusOr CommentServiceAuth::CreateComment( return child_->CreateComment(context, options, request); } +StatusOr CommentServiceAuth::GetComment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetCommentRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetComment(context, options, request); +} + GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END } // namespace support_v2_internal } // namespace cloud diff --git a/google/cloud/support/v2/internal/comment_auth_decorator.h b/google/cloud/support/v2/internal/comment_auth_decorator.h index 1d3df0977f5b5..907505bada6c3 100644 --- a/google/cloud/support/v2/internal/comment_auth_decorator.h +++ b/google/cloud/support/v2/internal/comment_auth_decorator.h @@ -49,6 +49,10 @@ class CommentServiceAuth : public CommentServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::support::v2::CreateCommentRequest const& request) override; + StatusOr GetComment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetCommentRequest const& request) override; + private: std::shared_ptr auth_; std::shared_ptr child_; diff --git a/google/cloud/support/v2/internal/comment_connection_impl.cc b/google/cloud/support/v2/internal/comment_connection_impl.cc index e815614d9d57c..4f471f79a6132 100644 --- a/google/cloud/support/v2/internal/comment_connection_impl.cc +++ b/google/cloud/support/v2/internal/comment_connection_impl.cc @@ -107,6 +107,20 @@ CommentServiceConnectionImpl::CreateComment( *current, request, __func__); } +StatusOr +CommentServiceConnectionImpl::GetComment( + google::cloud::support::v2::GetCommentRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetComment(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetCommentRequest const& request) { + return stub_->GetComment(context, options, request); + }, + *current, request, __func__); +} + GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END } // namespace support_v2_internal } // namespace cloud diff --git a/google/cloud/support/v2/internal/comment_connection_impl.h b/google/cloud/support/v2/internal/comment_connection_impl.h index e97b398746aac..a7fff991aba39 100644 --- a/google/cloud/support/v2/internal/comment_connection_impl.h +++ b/google/cloud/support/v2/internal/comment_connection_impl.h @@ -55,6 +55,9 @@ class CommentServiceConnectionImpl StatusOr CreateComment( google::cloud::support::v2::CreateCommentRequest const& request) override; + StatusOr GetComment( + google::cloud::support::v2::GetCommentRequest const& request) override; + private: std::unique_ptr background_; std::shared_ptr stub_; diff --git a/google/cloud/support/v2/internal/comment_logging_decorator.cc b/google/cloud/support/v2/internal/comment_logging_decorator.cc index 8332f0e07c32d..3715468e98411 100644 --- a/google/cloud/support/v2/internal/comment_logging_decorator.cc +++ b/google/cloud/support/v2/internal/comment_logging_decorator.cc @@ -62,6 +62,17 @@ CommentServiceLogging::CreateComment( context, options, request, __func__, tracing_options_); } +StatusOr CommentServiceLogging::GetComment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetCommentRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetCommentRequest const& request) { + return child_->GetComment(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END } // namespace support_v2_internal } // namespace cloud diff --git a/google/cloud/support/v2/internal/comment_logging_decorator.h b/google/cloud/support/v2/internal/comment_logging_decorator.h index 64f583a169822..ad355dfc94571 100644 --- a/google/cloud/support/v2/internal/comment_logging_decorator.h +++ b/google/cloud/support/v2/internal/comment_logging_decorator.h @@ -49,6 +49,10 @@ class CommentServiceLogging : public CommentServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::support::v2::CreateCommentRequest const& request) override; + StatusOr GetComment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetCommentRequest const& request) override; + private: std::shared_ptr child_; TracingOptions tracing_options_; diff --git a/google/cloud/support/v2/internal/comment_metadata_decorator.cc b/google/cloud/support/v2/internal/comment_metadata_decorator.cc index 8bbdf7875a161..e2ecfc15b1dca 100644 --- a/google/cloud/support/v2/internal/comment_metadata_decorator.cc +++ b/google/cloud/support/v2/internal/comment_metadata_decorator.cc @@ -66,6 +66,15 @@ CommentServiceMetadata::CreateComment( return child_->CreateComment(context, options, request); } +StatusOr +CommentServiceMetadata::GetComment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetCommentRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetComment(context, options, request); +} + void CommentServiceMetadata::SetMetadata(grpc::ClientContext& context, Options const& options, std::string const& request_params) { diff --git a/google/cloud/support/v2/internal/comment_metadata_decorator.h b/google/cloud/support/v2/internal/comment_metadata_decorator.h index b5fa7871ecbfc..2ac3faf98841e 100644 --- a/google/cloud/support/v2/internal/comment_metadata_decorator.h +++ b/google/cloud/support/v2/internal/comment_metadata_decorator.h @@ -49,6 +49,10 @@ class CommentServiceMetadata : public CommentServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::support::v2::CreateCommentRequest const& request) override; + StatusOr GetComment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetCommentRequest const& request) override; + private: void SetMetadata(grpc::ClientContext& context, Options const& options, std::string const& request_params); diff --git a/google/cloud/support/v2/internal/comment_stub.cc b/google/cloud/support/v2/internal/comment_stub.cc index f2ce34d6c77b9..c504572ba9931 100644 --- a/google/cloud/support/v2/internal/comment_stub.cc +++ b/google/cloud/support/v2/internal/comment_stub.cc @@ -57,6 +57,18 @@ DefaultCommentServiceStub::CreateComment( return response; } +StatusOr +DefaultCommentServiceStub::GetComment( + grpc::ClientContext& context, Options const&, + google::cloud::support::v2::GetCommentRequest const& request) { + google::cloud::support::v2::Comment response; + auto status = grpc_stub_->GetComment(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END } // namespace support_v2_internal } // namespace cloud diff --git a/google/cloud/support/v2/internal/comment_stub.h b/google/cloud/support/v2/internal/comment_stub.h index c951ab8334670..d3a5f489281a7 100644 --- a/google/cloud/support/v2/internal/comment_stub.h +++ b/google/cloud/support/v2/internal/comment_stub.h @@ -46,6 +46,10 @@ class CommentServiceStub { virtual StatusOr CreateComment( grpc::ClientContext& context, Options const& options, google::cloud::support::v2::CreateCommentRequest const& request) = 0; + + virtual StatusOr GetComment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetCommentRequest const& request) = 0; }; class DefaultCommentServiceStub : public CommentServiceStub { @@ -63,6 +67,10 @@ class DefaultCommentServiceStub : public CommentServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::support::v2::CreateCommentRequest const& request) override; + StatusOr GetComment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetCommentRequest const& request) override; + private: std::unique_ptr grpc_stub_; diff --git a/google/cloud/support/v2/internal/comment_tracing_connection.cc b/google/cloud/support/v2/internal/comment_tracing_connection.cc index 573b55c56fe4e..3f48dad2de6f6 100644 --- a/google/cloud/support/v2/internal/comment_tracing_connection.cc +++ b/google/cloud/support/v2/internal/comment_tracing_connection.cc @@ -51,6 +51,15 @@ CommentServiceTracingConnection::CreateComment( return internal::EndSpan(*span, child_->CreateComment(request)); } +StatusOr +CommentServiceTracingConnection::GetComment( + google::cloud::support::v2::GetCommentRequest const& request) { + auto span = + internal::MakeSpan("support_v2::CommentServiceConnection::GetComment"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetComment(request)); +} + std::shared_ptr MakeCommentServiceTracingConnection( std::shared_ptr conn) { diff --git a/google/cloud/support/v2/internal/comment_tracing_connection.h b/google/cloud/support/v2/internal/comment_tracing_connection.h index 90ac323493bc6..15f68e8f42b75 100644 --- a/google/cloud/support/v2/internal/comment_tracing_connection.h +++ b/google/cloud/support/v2/internal/comment_tracing_connection.h @@ -44,6 +44,9 @@ class CommentServiceTracingConnection StatusOr CreateComment( google::cloud::support::v2::CreateCommentRequest const& request) override; + StatusOr GetComment( + google::cloud::support::v2::GetCommentRequest const& request) override; + private: std::shared_ptr child_; }; diff --git a/google/cloud/support/v2/internal/comment_tracing_stub.cc b/google/cloud/support/v2/internal/comment_tracing_stub.cc index d48b8da12ff70..7438f2874b6af 100644 --- a/google/cloud/support/v2/internal/comment_tracing_stub.cc +++ b/google/cloud/support/v2/internal/comment_tracing_stub.cc @@ -57,6 +57,18 @@ CommentServiceTracingStub::CreateComment( child_->CreateComment(context, options, request)); } +StatusOr +CommentServiceTracingStub::GetComment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetCommentRequest const& request) { + auto span = internal::MakeSpanGrpc("google.cloud.support.v2.CommentService", + "GetComment"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetComment(context, options, request)); +} + std::shared_ptr MakeCommentServiceTracingStub( std::shared_ptr stub) { return std::make_shared(std::move(stub)); diff --git a/google/cloud/support/v2/internal/comment_tracing_stub.h b/google/cloud/support/v2/internal/comment_tracing_stub.h index 48dcab8a44db9..bd65dc0598b0e 100644 --- a/google/cloud/support/v2/internal/comment_tracing_stub.h +++ b/google/cloud/support/v2/internal/comment_tracing_stub.h @@ -47,6 +47,10 @@ class CommentServiceTracingStub : public CommentServiceStub { grpc::ClientContext& context, Options const& options, google::cloud::support::v2::CreateCommentRequest const& request) override; + StatusOr GetComment( + grpc::ClientContext& context, Options const& options, + google::cloud::support::v2::GetCommentRequest const& request) override; + private: std::shared_ptr child_; std::shared_ptr diff --git a/google/cloud/support/v2/mocks/mock_case_attachment_connection.h b/google/cloud/support/v2/mocks/mock_case_attachment_connection.h index cbff2be25229f..b485e19f93462 100644 --- a/google/cloud/support/v2/mocks/mock_case_attachment_connection.h +++ b/google/cloud/support/v2/mocks/mock_case_attachment_connection.h @@ -51,6 +51,10 @@ class MockCaseAttachmentServiceConnection ListAttachments, (google::cloud::support::v2::ListAttachmentsRequest request), (override)); + + MOCK_METHOD(StatusOr, GetAttachment, + (google::cloud::support::v2::GetAttachmentRequest const& request), + (override)); }; GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END diff --git a/google/cloud/support/v2/mocks/mock_comment_connection.h b/google/cloud/support/v2/mocks/mock_comment_connection.h index c78aabf6dcc42..66ccecdd2e144 100644 --- a/google/cloud/support/v2/mocks/mock_comment_connection.h +++ b/google/cloud/support/v2/mocks/mock_comment_connection.h @@ -54,6 +54,10 @@ class MockCommentServiceConnection MOCK_METHOD(StatusOr, CreateComment, (google::cloud::support::v2::CreateCommentRequest const& request), (override)); + + MOCK_METHOD(StatusOr, GetComment, + (google::cloud::support::v2::GetCommentRequest const& request), + (override)); }; GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END