From 67fa7191c1239747d17b1bc8b79aeb4912f1dc21 Mon Sep 17 00:00:00 2001 From: Jeremy Shih Date: Tue, 15 Oct 2024 11:00:15 +0800 Subject: [PATCH] fix(vdp): fix update pipeline parameter --- instill/clients/pipeline.py | 66 +++++++++++++++++++------------------ 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/instill/clients/pipeline.py b/instill/clients/pipeline.py index ea12462..b772b9d 100644 --- a/instill/clients/pipeline.py +++ b/instill/clients/pipeline.py @@ -315,11 +315,6 @@ def update_pipeline( namespace_id: str, pipeline_id: str, description: str, - readme: str, - tags: List[str], - source_url: str, - documentation_url: str, - license_url: str, recipe: Optional[dict] = None, raw_recipe: str = "", async_enabled: bool = False, @@ -330,11 +325,6 @@ def update_pipeline( id=pipeline_id, description=description, raw_recipe=raw_recipe, - readme=readme, - tags=tags, - source_url=source_url, - documentation_url=documentation_url, - license=license_url, ) if recipe is None: @@ -672,11 +662,9 @@ def create_pipeline_release( namespace_id: str, pipeline_id: str, release_id: str, - name: str, - description: str, - alias: str, - readme: str, - release: pipeline_interface.PipelineRelease, + name: str = "", + description: str = "", + alias: str = "", recipe: Optional[dict] = None, raw_recipe: str = "", metadata: Optional[dict] = None, @@ -687,7 +675,6 @@ def create_pipeline_release( name=name, description=description, alias=alias, - readme=readme, raw_recipe=raw_recipe, ) @@ -796,26 +783,27 @@ def update_pipeline_release( namespace_id: str, pipeline_id: str, release_id: str, - recipe: Struct, - readme: str, + description: str = "", + recipe: Optional[dict] = None, + raw_recipe: str = "", async_enabled: bool = False, ) -> pipeline_interface.UpdateNamespacePipelineReleaseResponse: release = pipeline_interface.PipelineRelease( name=f"namespaces/{namespace_id}/models/{pipeline_id}/releases/{release_id}", id=release_id, - recipe=recipe, - readme=readme, + description=description, + raw_recipe=raw_recipe, ) + if recipe is None: + recipe = {} + release.recipe.update(recipe) + update_mask = field_mask_pb2.FieldMask() update_mask.paths.extend( [ "recipe", - "readme", - "tags", - "source_url", - "documentation_url", - "license", + "description", ] ) @@ -1484,8 +1472,8 @@ def create_connection( scopes=scopes, ) - if setup is None: - setup = {} + setup = {} if setup is None else setup + connection.setup.Clear() connection.setup.update(setup) if o_auth_access_details is None: o_auth_access_details = {} @@ -1524,7 +1512,7 @@ def update_connection( scopes: Optional[List[str]] = None, identity: Optional[str] = None, setup: Optional[dict] = None, - o_auth_access_details: Optional[dict] = None, + # o_auth_access_details: Optional[dict] = None, is_oauth: bool = False, async_enabled: bool = False, ) -> integration_interface.UpdateNamespaceConnectionResponse: @@ -1533,17 +1521,27 @@ def update_connection( connection = integration_interface.Connection( namespace_id=namespace_id, integration_id=integration_id, - id=connection_id, scopes=scopes, identity=identity, ) if setup is None: setup = {} + connection.setup.Clear() connection.setup.update(setup) - if o_auth_access_details is None: - o_auth_access_details = {} - connection.o_auth_access_details.update(o_auth_access_details) + # if o_auth_access_details is None: + # o_auth_access_details = {} + # connection.o_auth_access_details.Clear() + # connection.o_auth_access_details.update(o_auth_access_details) + + update_mask = field_mask_pb2.FieldMask() + update_mask.paths.extend( + [ + "setup", + "scopes", + "identity", + ] + ) if is_oauth: connection.method = integration_interface.Connection.Method.METHOD_OAUTH @@ -1556,7 +1554,9 @@ def update_connection( return RequestFactory( method=self.host.async_client.UpdateNamespaceConnection, request=integration_interface.UpdateNamespaceConnectionRequest( + connection_id=connection_id, connection=connection, + update_mask=update_mask, ), metadata=self.host.metadata + self.metadata, ).send_async() @@ -1564,7 +1564,9 @@ def update_connection( return RequestFactory( method=self.host.client.UpdateNamespaceConnection, request=integration_interface.UpdateNamespaceConnectionRequest( + connection_id=connection_id, connection=connection, + update_mask=update_mask, ), metadata=self.host.metadata + self.metadata, ).send_sync()