diff --git a/cloudquery/sdk/internal/servers/plugin_v3/plugin.py b/cloudquery/sdk/internal/servers/plugin_v3/plugin.py index 8bc561f..8246085 100644 --- a/cloudquery/sdk/internal/servers/plugin_v3/plugin.py +++ b/cloudquery/sdk/internal/servers/plugin_v3/plugin.py @@ -28,6 +28,9 @@ def GetName(self, request, context): def GetVersion(self, request, context): return plugin_pb2.GetVersion.Response(version=self._plugin.version()) + def GetSpecSchema(self, request, context): + return plugin_pb2.GetSpecSchema.Response(json_schema=self._plugin.json_schema()) + def Init(self, request: plugin_pb2.Init.Request, context): self._plugin.init(request.spec, no_connection=request.no_connection) return plugin_pb2.Init.Response() diff --git a/cloudquery/sdk/plugin/plugin.py b/cloudquery/sdk/plugin/plugin.py index ff20cd6..5b3d5f5 100644 --- a/cloudquery/sdk/plugin/plugin.py +++ b/cloudquery/sdk/plugin/plugin.py @@ -41,6 +41,7 @@ class Options: build_targets: List[BuildTarget] = None team: str = None kind: str = None + json_schema: str = None class Plugin: @@ -74,6 +75,9 @@ def team(self) -> str: def kind(self) -> str: return self._opts.kind + def json_schema(self) -> str: + return self._opts.json_schema + def dockerfile(self) -> str: return self._opts.dockerfile