Skip to content

Commit

Permalink
Update measurement client generator to interact with C# measurement s…
Browse files Browse the repository at this point in the history
…ervices (#889)

* fix: add configuration_parameters_type_url to measure request
  • Loading branch information
Jotheeswaran-Nandagopal authored Sep 19, 2024
1 parent 7f7ac57 commit ac3d5b1
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ def _create_client(
built_in_import_modules: List[str] = []
custom_import_modules: List[str] = []
enum_values_by_type: Dict[Type[Enum], Dict[str, int]] = {}
type_url_prefix = "type.googleapis.com/"

measurement_service_stub = get_measurement_service_stub(
discovery_client, channel_pool, measurement_service_class
Expand Down Expand Up @@ -105,6 +106,8 @@ def _create_client(
built_in_import_modules=to_ordered_set(built_in_import_modules),
custom_import_modules=to_ordered_set(custom_import_modules),
enum_by_class_name=enum_values_by_type,
configuration_parameters_type_url=type_url_prefix
+ metadata.measurement_signature.configuration_parameters_message_type,
)

print(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<%page args="class_name, display_name, configuration_metadata, output_metadata, service_class, configuration_parameters_with_type_and_default_values, measure_api_parameters, output_parameters_with_type, built_in_import_modules, custom_import_modules, enum_by_class_name"/>\
<%page args="class_name, display_name, configuration_metadata, output_metadata, service_class, configuration_parameters_with_type_and_default_values, measure_api_parameters, output_parameters_with_type, built_in_import_modules, custom_import_modules, enum_by_class_name, configuration_parameters_type_url"/>\
\
"""Generated client API for the ${display_name | repr} measurement plug-in."""

Expand Down Expand Up @@ -174,6 +174,7 @@ class ${class_name}:
self, parameter_values: List[Any]
) -> v2_measurement_service_pb2.MeasureRequest:
serialized_configuration = any_pb2.Any(
type_url=${configuration_parameters_type_url | repr},
value=serialize_parameters(
parameter_metadata_dict=self._configuration_metadata,
parameter_values=parameter_values,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -467,11 +467,12 @@ def _create_measure_request(
self, parameter_values: List[Any]
) -> v2_measurement_service_pb2.MeasureRequest:
serialized_configuration = any_pb2.Any(
type_url="type.googleapis.com/ni.measurementlink.measurement.v2.MeasurementConfigurations",
value=serialize_parameters(
parameter_metadata_dict=self._configuration_metadata,
parameter_values=parameter_values,
service_name=f"{self._service_class}.Configurations",
)
),
)
return v2_measurement_service_pb2.MeasureRequest(
configuration_parameters=serialized_configuration,
Expand Down

0 comments on commit ac3d5b1

Please sign in to comment.