From 605840d7d7cbc50513ca8c1b26aa64509ad4a50d Mon Sep 17 00:00:00 2001
From: cq-bot <cq-bot@users.noreply.github.com>
Date: Wed, 17 Jul 2024 13:55:20 +0000
Subject: [PATCH] fix: Generate Python Code from `plugin-pb`

---
 cloudquery/plugin_v3/plugin_pb2.py      | 24 +++++++++-----
 cloudquery/plugin_v3/plugin_pb2.pyi     | 14 ++++++++
 cloudquery/plugin_v3/plugin_pb2_grpc.py | 44 +++++++++++++++++++++++++
 3 files changed, 73 insertions(+), 9 deletions(-)

diff --git a/cloudquery/plugin_v3/plugin_pb2.py b/cloudquery/plugin_v3/plugin_pb2.py
index 6acecf1..fa6a0c1 100644
--- a/cloudquery/plugin_v3/plugin_pb2.py
+++ b/cloudquery/plugin_v3/plugin_pb2.py
@@ -15,7 +15,7 @@
 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!cloudquery/plugin_v3/plugin.proto\x12\x14\x63loudquery.plugin.v3\x1a\x1fgoogle/protobuf/timestamp.proto\".\n\x07GetName\x1a\t\n\x07Request\x1a\x18\n\x08Response\x12\x0c\n\x04name\x18\x01 \x01(\t\"4\n\nGetVersion\x1a\t\n\x07Request\x1a\x1b\n\x08Response\x12\x0f\n\x07version\x18\x01 \x01(\t\"P\n\rGetSpecSchema\x1a\t\n\x07Request\x1a\x34\n\x08Response\x12\x18\n\x0bjson_schema\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_json_schema\"Y\n\x04Init\x1a\x45\n\x07Request\x12\x0c\n\x04spec\x18\x01 \x01(\x0c\x12\x15\n\rno_connection\x18\x02 \x01(\x08\x12\x15\n\rinvocation_id\x18\x03 \x01(\t\x1a\n\n\x08Response\"v\n\tGetTables\x1aM\n\x07Request\x12\x0e\n\x06tables\x18\x01 \x03(\t\x12\x13\n\x0bskip_tables\x18\x02 \x03(\t\x12\x1d\n\x15skip_dependent_tables\x18\x03 \x01(\x08\x1a\x1a\n\x08Response\x12\x0e\n\x06tables\x18\x01 \x03(\x0c\"\xbd\x05\n\x04Sync\x1a\x1f\n\rMessageInsert\x12\x0e\n\x06record\x18\x01 \x01(\x0c\x1a$\n\x13MessageMigrateTable\x12\r\n\x05table\x18\x01 \x01(\x0c\x1a\xa4\x01\n\x13MessageDeleteRecord\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12;\n\x0cwhere_clause\x18\x02 \x03(\x0b\x32%.cloudquery.plugin.v3.PredicatesGroup\x12<\n\x0ftable_relations\x18\x03 \x03(\x0b\x32#.cloudquery.plugin.v3.TableRelation\x1a\x38\n\x0e\x42\x61\x63kendOptions\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x12\n\nconnection\x18\x02 \x01(\t\x1a\xa6\x01\n\x07Request\x12\x0e\n\x06tables\x18\x01 \x03(\t\x12\x13\n\x0bskip_tables\x18\x02 \x03(\t\x12\x1d\n\x15skip_dependent_tables\x18\x03 \x01(\x08\x12\x1b\n\x13\x64\x65terministic_cq_id\x18\x04 \x01(\x08\x12:\n\x07\x62\x61\x63kend\x18\x05 \x01(\x0b\x32).cloudquery.plugin.v3.Sync.BackendOptions\x1a\xe3\x01\n\x08Response\x12G\n\rmigrate_table\x18\x01 \x01(\x0b\x32..cloudquery.plugin.v3.Sync.MessageMigrateTableH\x00\x12:\n\x06insert\x18\x02 \x01(\x0b\x32(.cloudquery.plugin.v3.Sync.MessageInsertH\x00\x12G\n\rdelete_record\x18\x03 \x01(\x0b\x32..cloudquery.plugin.v3.Sync.MessageDeleteRecordH\x00\x42\t\n\x07message\"<\n\x04Read\x1a\x18\n\x07Request\x12\r\n\x05table\x18\x01 \x01(\x0c\x1a\x1a\n\x08Response\x12\x0e\n\x06record\x18\x01 \x01(\x0c\"9\n\rTableRelation\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x14\n\x0cparent_table\x18\x02 \x01(\t\"{\n\tPredicate\x12:\n\x08operator\x18\x01 \x01(\x0e\x32(.cloudquery.plugin.v3.Predicate.Operator\x12\x0e\n\x06\x63olumn\x18\x02 \x01(\t\x12\x0e\n\x06record\x18\x03 \x01(\x0c\"\x12\n\x08Operator\x12\x06\n\x02\x45Q\x10\x00\"\xb2\x01\n\x0fPredicatesGroup\x12I\n\rgrouping_type\x18\x01 \x01(\x0e\x32\x32.cloudquery.plugin.v3.PredicatesGroup.GroupingType\x12\x33\n\npredicates\x18\x02 \x03(\x0b\x32\x1f.cloudquery.plugin.v3.Predicate\"\x1f\n\x0cGroupingType\x12\x07\n\x03\x41ND\x10\x00\x12\x06\n\x02OR\x10\x01\"\xc3\x05\n\x05Write\x1a;\n\x13MessageMigrateTable\x12\r\n\x05table\x18\x01 \x01(\x0c\x12\x15\n\rmigrate_force\x18\x02 \x01(\x08\x1a\x1f\n\rMessageInsert\x12\x0e\n\x06record\x18\x01 \x01(\x0c\x1a\x7f\n\x12MessageDeleteStale\x12\x11\n\x05table\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x13\n\x0bsource_name\x18\x02 \x01(\t\x12-\n\tsync_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ntable_name\x18\x04 \x01(\t\x1a\xa4\x01\n\x13MessageDeleteRecord\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12;\n\x0cwhere_clause\x18\x02 \x03(\x0b\x32%.cloudquery.plugin.v3.PredicatesGroup\x12<\n\x0ftable_relations\x18\x03 \x03(\x0b\x32#.cloudquery.plugin.v3.TableRelation\x1a\xa7\x02\n\x07Request\x12H\n\rmigrate_table\x18\x01 \x01(\x0b\x32/.cloudquery.plugin.v3.Write.MessageMigrateTableH\x00\x12;\n\x06insert\x18\x02 \x01(\x0b\x32).cloudquery.plugin.v3.Write.MessageInsertH\x00\x12@\n\x06\x64\x65lete\x18\x03 \x01(\x0b\x32..cloudquery.plugin.v3.Write.MessageDeleteStaleH\x00\x12H\n\rdelete_record\x18\x04 \x01(\x0b\x32/.cloudquery.plugin.v3.Write.MessageDeleteRecordH\x00\x42\t\n\x07message\x1a\n\n\x08Response\"\x1e\n\x05\x43lose\x1a\t\n\x07Request\x1a\n\n\x08Response\"y\n\x0eTestConnection\x1a\x17\n\x07Request\x12\x0c\n\x04spec\x18\x01 \x01(\x0c\x1aN\n\x08Response\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x14\n\x0c\x66\x61ilure_code\x18\x02 \x01(\t\x12\x1b\n\x13\x66\x61ilure_description\x18\x03 \x01(\t2\xa1\x07\n\x06Plugin\x12X\n\x07GetName\x12%.cloudquery.plugin.v3.GetName.Request\x1a&.cloudquery.plugin.v3.GetName.Response\x12\x61\n\nGetVersion\x12(.cloudquery.plugin.v3.GetVersion.Request\x1a).cloudquery.plugin.v3.GetVersion.Response\x12j\n\rGetSpecSchema\x12+.cloudquery.plugin.v3.GetSpecSchema.Request\x1a,.cloudquery.plugin.v3.GetSpecSchema.Response\x12O\n\x04Init\x12\".cloudquery.plugin.v3.Init.Request\x1a#.cloudquery.plugin.v3.Init.Response\x12^\n\tGetTables\x12\'.cloudquery.plugin.v3.GetTables.Request\x1a(.cloudquery.plugin.v3.GetTables.Response\x12Q\n\x04Sync\x12\".cloudquery.plugin.v3.Sync.Request\x1a#.cloudquery.plugin.v3.Sync.Response0\x01\x12Q\n\x04Read\x12\".cloudquery.plugin.v3.Read.Request\x1a#.cloudquery.plugin.v3.Read.Response0\x01\x12T\n\x05Write\x12#.cloudquery.plugin.v3.Write.Request\x1a$.cloudquery.plugin.v3.Write.Response(\x01\x12R\n\x05\x43lose\x12#.cloudquery.plugin.v3.Close.Request\x1a$.cloudquery.plugin.v3.Close.Response\x12m\n\x0eTestConnection\x12,.cloudquery.plugin.v3.TestConnection.Request\x1a-.cloudquery.plugin.v3.TestConnection.ResponseBS\n\x17io.cloudquery.plugin.v3P\x01Z6github.com/cloudquery/plugin-pb-go/pb/plugin/v3;pluginb\x06proto3')
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!cloudquery/plugin_v3/plugin.proto\x12\x14\x63loudquery.plugin.v3\x1a\x1fgoogle/protobuf/timestamp.proto\".\n\x07GetName\x1a\t\n\x07Request\x1a\x18\n\x08Response\x12\x0c\n\x04name\x18\x01 \x01(\t\"4\n\nGetVersion\x1a\t\n\x07Request\x1a\x1b\n\x08Response\x12\x0f\n\x07version\x18\x01 \x01(\t\"P\n\rGetSpecSchema\x1a\t\n\x07Request\x1a\x34\n\x08Response\x12\x18\n\x0bjson_schema\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_json_schema\"Y\n\x04Init\x1a\x45\n\x07Request\x12\x0c\n\x04spec\x18\x01 \x01(\x0c\x12\x15\n\rno_connection\x18\x02 \x01(\x08\x12\x15\n\rinvocation_id\x18\x03 \x01(\t\x1a\n\n\x08Response\"v\n\tGetTables\x1aM\n\x07Request\x12\x0e\n\x06tables\x18\x01 \x03(\t\x12\x13\n\x0bskip_tables\x18\x02 \x03(\t\x12\x1d\n\x15skip_dependent_tables\x18\x03 \x01(\x08\x1a\x1a\n\x08Response\x12\x0e\n\x06tables\x18\x01 \x03(\x0c\"\xbd\x05\n\x04Sync\x1a\x1f\n\rMessageInsert\x12\x0e\n\x06record\x18\x01 \x01(\x0c\x1a$\n\x13MessageMigrateTable\x12\r\n\x05table\x18\x01 \x01(\x0c\x1a\xa4\x01\n\x13MessageDeleteRecord\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12;\n\x0cwhere_clause\x18\x02 \x03(\x0b\x32%.cloudquery.plugin.v3.PredicatesGroup\x12<\n\x0ftable_relations\x18\x03 \x03(\x0b\x32#.cloudquery.plugin.v3.TableRelation\x1a\x38\n\x0e\x42\x61\x63kendOptions\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x12\n\nconnection\x18\x02 \x01(\t\x1a\xa6\x01\n\x07Request\x12\x0e\n\x06tables\x18\x01 \x03(\t\x12\x13\n\x0bskip_tables\x18\x02 \x03(\t\x12\x1d\n\x15skip_dependent_tables\x18\x03 \x01(\x08\x12\x1b\n\x13\x64\x65terministic_cq_id\x18\x04 \x01(\x08\x12:\n\x07\x62\x61\x63kend\x18\x05 \x01(\x0b\x32).cloudquery.plugin.v3.Sync.BackendOptions\x1a\xe3\x01\n\x08Response\x12G\n\rmigrate_table\x18\x01 \x01(\x0b\x32..cloudquery.plugin.v3.Sync.MessageMigrateTableH\x00\x12:\n\x06insert\x18\x02 \x01(\x0b\x32(.cloudquery.plugin.v3.Sync.MessageInsertH\x00\x12G\n\rdelete_record\x18\x03 \x01(\x0b\x32..cloudquery.plugin.v3.Sync.MessageDeleteRecordH\x00\x42\t\n\x07message\"<\n\x04Read\x1a\x18\n\x07Request\x12\r\n\x05table\x18\x01 \x01(\x0c\x1a\x1a\n\x08Response\x12\x0e\n\x06record\x18\x01 \x01(\x0c\"9\n\rTableRelation\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x14\n\x0cparent_table\x18\x02 \x01(\t\"{\n\tPredicate\x12:\n\x08operator\x18\x01 \x01(\x0e\x32(.cloudquery.plugin.v3.Predicate.Operator\x12\x0e\n\x06\x63olumn\x18\x02 \x01(\t\x12\x0e\n\x06record\x18\x03 \x01(\x0c\"\x12\n\x08Operator\x12\x06\n\x02\x45Q\x10\x00\"\xb2\x01\n\x0fPredicatesGroup\x12I\n\rgrouping_type\x18\x01 \x01(\x0e\x32\x32.cloudquery.plugin.v3.PredicatesGroup.GroupingType\x12\x33\n\npredicates\x18\x02 \x03(\x0b\x32\x1f.cloudquery.plugin.v3.Predicate\"\x1f\n\x0cGroupingType\x12\x07\n\x03\x41ND\x10\x00\x12\x06\n\x02OR\x10\x01\"\xc3\x05\n\x05Write\x1a;\n\x13MessageMigrateTable\x12\r\n\x05table\x18\x01 \x01(\x0c\x12\x15\n\rmigrate_force\x18\x02 \x01(\x08\x1a\x1f\n\rMessageInsert\x12\x0e\n\x06record\x18\x01 \x01(\x0c\x1a\x7f\n\x12MessageDeleteStale\x12\x11\n\x05table\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x13\n\x0bsource_name\x18\x02 \x01(\t\x12-\n\tsync_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ntable_name\x18\x04 \x01(\t\x1a\xa4\x01\n\x13MessageDeleteRecord\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12;\n\x0cwhere_clause\x18\x02 \x03(\x0b\x32%.cloudquery.plugin.v3.PredicatesGroup\x12<\n\x0ftable_relations\x18\x03 \x03(\x0b\x32#.cloudquery.plugin.v3.TableRelation\x1a\xa7\x02\n\x07Request\x12H\n\rmigrate_table\x18\x01 \x01(\x0b\x32/.cloudquery.plugin.v3.Write.MessageMigrateTableH\x00\x12;\n\x06insert\x18\x02 \x01(\x0b\x32).cloudquery.plugin.v3.Write.MessageInsertH\x00\x12@\n\x06\x64\x65lete\x18\x03 \x01(\x0b\x32..cloudquery.plugin.v3.Write.MessageDeleteStaleH\x00\x12H\n\rdelete_record\x18\x04 \x01(\x0b\x32/.cloudquery.plugin.v3.Write.MessageDeleteRecordH\x00\x42\t\n\x07message\x1a\n\n\x08Response\"B\n\tTransform\x1a\x19\n\x07Request\x12\x0e\n\x06record\x18\x01 \x01(\x0c\x1a\x1a\n\x08Response\x12\x0e\n\x06record\x18\x01 \x01(\x0c\"\x1e\n\x05\x43lose\x1a\t\n\x07Request\x1a\n\n\x08Response\"y\n\x0eTestConnection\x1a\x17\n\x07Request\x12\x0c\n\x04spec\x18\x01 \x01(\x0c\x1aN\n\x08Response\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x14\n\x0c\x66\x61ilure_code\x18\x02 \x01(\t\x12\x1b\n\x13\x66\x61ilure_description\x18\x03 \x01(\t2\x85\x08\n\x06Plugin\x12X\n\x07GetName\x12%.cloudquery.plugin.v3.GetName.Request\x1a&.cloudquery.plugin.v3.GetName.Response\x12\x61\n\nGetVersion\x12(.cloudquery.plugin.v3.GetVersion.Request\x1a).cloudquery.plugin.v3.GetVersion.Response\x12j\n\rGetSpecSchema\x12+.cloudquery.plugin.v3.GetSpecSchema.Request\x1a,.cloudquery.plugin.v3.GetSpecSchema.Response\x12O\n\x04Init\x12\".cloudquery.plugin.v3.Init.Request\x1a#.cloudquery.plugin.v3.Init.Response\x12^\n\tGetTables\x12\'.cloudquery.plugin.v3.GetTables.Request\x1a(.cloudquery.plugin.v3.GetTables.Response\x12Q\n\x04Sync\x12\".cloudquery.plugin.v3.Sync.Request\x1a#.cloudquery.plugin.v3.Sync.Response0\x01\x12Q\n\x04Read\x12\".cloudquery.plugin.v3.Read.Request\x1a#.cloudquery.plugin.v3.Read.Response0\x01\x12T\n\x05Write\x12#.cloudquery.plugin.v3.Write.Request\x1a$.cloudquery.plugin.v3.Write.Response(\x01\x12\x62\n\tTransform\x12\'.cloudquery.plugin.v3.Transform.Request\x1a(.cloudquery.plugin.v3.Transform.Response(\x01\x30\x01\x12R\n\x05\x43lose\x12#.cloudquery.plugin.v3.Close.Request\x1a$.cloudquery.plugin.v3.Close.Response\x12m\n\x0eTestConnection\x12,.cloudquery.plugin.v3.TestConnection.Request\x1a-.cloudquery.plugin.v3.TestConnection.ResponseBS\n\x17io.cloudquery.plugin.v3P\x01Z6github.com/cloudquery/plugin-pb-go/pb/plugin/v3;pluginb\x06proto3')
 
 _globals = globals()
 _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -99,18 +99,24 @@
   _globals['_WRITE_REQUEST']._serialized_end=2314
   _globals['_WRITE_RESPONSE']._serialized_start=114
   _globals['_WRITE_RESPONSE']._serialized_end=124
-  _globals['_CLOSE']._serialized_start=2328
-  _globals['_CLOSE']._serialized_end=2358
+  _globals['_TRANSFORM']._serialized_start=2328
+  _globals['_TRANSFORM']._serialized_end=2394
+  _globals['_TRANSFORM_REQUEST']._serialized_start=2341
+  _globals['_TRANSFORM_REQUEST']._serialized_end=2366
+  _globals['_TRANSFORM_RESPONSE']._serialized_start=1225
+  _globals['_TRANSFORM_RESPONSE']._serialized_end=1251
+  _globals['_CLOSE']._serialized_start=2396
+  _globals['_CLOSE']._serialized_end=2426
   _globals['_CLOSE_REQUEST']._serialized_start=103
   _globals['_CLOSE_REQUEST']._serialized_end=112
   _globals['_CLOSE_RESPONSE']._serialized_start=114
   _globals['_CLOSE_RESPONSE']._serialized_end=124
-  _globals['_TESTCONNECTION']._serialized_start=2360
-  _globals['_TESTCONNECTION']._serialized_end=2481
+  _globals['_TESTCONNECTION']._serialized_start=2428
+  _globals['_TESTCONNECTION']._serialized_end=2549
   _globals['_TESTCONNECTION_REQUEST']._serialized_start=284
   _globals['_TESTCONNECTION_REQUEST']._serialized_end=307
-  _globals['_TESTCONNECTION_RESPONSE']._serialized_start=2403
-  _globals['_TESTCONNECTION_RESPONSE']._serialized_end=2481
-  _globals['_PLUGIN']._serialized_start=2484
-  _globals['_PLUGIN']._serialized_end=3413
+  _globals['_TESTCONNECTION_RESPONSE']._serialized_start=2471
+  _globals['_TESTCONNECTION_RESPONSE']._serialized_end=2549
+  _globals['_PLUGIN']._serialized_start=2552
+  _globals['_PLUGIN']._serialized_end=3581
 # @@protoc_insertion_point(module_scope)
diff --git a/cloudquery/plugin_v3/plugin_pb2.pyi b/cloudquery/plugin_v3/plugin_pb2.pyi
index 8542c63..88b255f 100644
--- a/cloudquery/plugin_v3/plugin_pb2.pyi
+++ b/cloudquery/plugin_v3/plugin_pb2.pyi
@@ -229,6 +229,20 @@ class Write(_message.Message):
         def __init__(self) -> None: ...
     def __init__(self) -> None: ...
 
+class Transform(_message.Message):
+    __slots__ = ()
+    class Request(_message.Message):
+        __slots__ = ("record",)
+        RECORD_FIELD_NUMBER: _ClassVar[int]
+        record: bytes
+        def __init__(self, record: _Optional[bytes] = ...) -> None: ...
+    class Response(_message.Message):
+        __slots__ = ("record",)
+        RECORD_FIELD_NUMBER: _ClassVar[int]
+        record: bytes
+        def __init__(self, record: _Optional[bytes] = ...) -> None: ...
+    def __init__(self) -> None: ...
+
 class Close(_message.Message):
     __slots__ = ()
     class Request(_message.Message):
diff --git a/cloudquery/plugin_v3/plugin_pb2_grpc.py b/cloudquery/plugin_v3/plugin_pb2_grpc.py
index 15a7eac..9042d8e 100644
--- a/cloudquery/plugin_v3/plugin_pb2_grpc.py
+++ b/cloudquery/plugin_v3/plugin_pb2_grpc.py
@@ -79,6 +79,11 @@ def __init__(self, channel):
                 request_serializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.Write.Request.SerializeToString,
                 response_deserializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.Write.Response.FromString,
                 _registered_method=True)
+        self.Transform = channel.stream_stream(
+                '/cloudquery.plugin.v3.Plugin/Transform',
+                request_serializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.Transform.Request.SerializeToString,
+                response_deserializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.Transform.Response.FromString,
+                _registered_method=True)
         self.Close = channel.unary_unary(
                 '/cloudquery.plugin.v3.Plugin/Close',
                 request_serializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.Close.Request.SerializeToString,
@@ -153,6 +158,13 @@ def Write(self, request_iterator, context):
         context.set_details('Method not implemented!')
         raise NotImplementedError('Method not implemented!')
 
+    def Transform(self, request_iterator, context):
+        """Transform resources.
+        """
+        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+        context.set_details('Method not implemented!')
+        raise NotImplementedError('Method not implemented!')
+
     def Close(self, request, context):
         """Send signal to flush and close open connections
         """
@@ -210,6 +222,11 @@ def add_PluginServicer_to_server(servicer, server):
                     request_deserializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.Write.Request.FromString,
                     response_serializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.Write.Response.SerializeToString,
             ),
+            'Transform': grpc.stream_stream_rpc_method_handler(
+                    servicer.Transform,
+                    request_deserializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.Transform.Request.FromString,
+                    response_serializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.Transform.Response.SerializeToString,
+            ),
             'Close': grpc.unary_unary_rpc_method_handler(
                     servicer.Close,
                     request_deserializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.Close.Request.FromString,
@@ -447,6 +464,33 @@ def Write(request_iterator,
             metadata,
             _registered_method=True)
 
+    @staticmethod
+    def Transform(request_iterator,
+            target,
+            options=(),
+            channel_credentials=None,
+            call_credentials=None,
+            insecure=False,
+            compression=None,
+            wait_for_ready=None,
+            timeout=None,
+            metadata=None):
+        return grpc.experimental.stream_stream(
+            request_iterator,
+            target,
+            '/cloudquery.plugin.v3.Plugin/Transform',
+            cloudquery_dot_plugin__v3_dot_plugin__pb2.Transform.Request.SerializeToString,
+            cloudquery_dot_plugin__v3_dot_plugin__pb2.Transform.Response.FromString,
+            options,
+            channel_credentials,
+            insecure,
+            call_credentials,
+            compression,
+            wait_for_ready,
+            timeout,
+            metadata,
+            _registered_method=True)
+
     @staticmethod
     def Close(request,
             target,