mirror of
				https://github.com/open-metadata/OpenMetadata.git
				synced 2025-10-27 00:31:42 +00:00 
			
		
		
		
	
		
			
	
	
		
			295 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			295 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Patch Mixin | ||
|  | slug: /sdk/python/api-reference/patch-mixin | ||
|  | --- | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L0") | ||
|  | 
 | ||
|  | # module `patch_mixin`
 | ||
|  | Mixin class containing PATCH specific methods  | ||
|  | 
 | ||
|  | To be used by OpenMetadata class  | ||
|  | 
 | ||
|  | **Global Variables** | ||
|  | --------------- | ||
|  | - **OWNER_TYPES** | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L57") | ||
|  | 
 | ||
|  | ## function `update_column_tags`
 | ||
|  | 
 | ||
|  | ```python | ||
|  | update_column_tags( | ||
|  |     columns: List[Column], | ||
|  |     column_tag: ColumnTag, | ||
|  |     operation: PatchOperation | ||
|  | ) → None | ||
|  | ``` | ||
|  | 
 | ||
|  | Inplace update for the incoming column list  | ||
|  | 
 | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L82") | ||
|  | 
 | ||
|  | ## function `update_column_description`
 | ||
|  | 
 | ||
|  | ```python | ||
|  | update_column_description( | ||
|  |     columns: List[Column], | ||
|  |     column_fqn: str, | ||
|  |     description: str, | ||
|  |     force: bool = False | ||
|  | ) → None | ||
|  | ``` | ||
|  | 
 | ||
|  | Inplace update for the incoming column list  | ||
|  | 
 | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L104") | ||
|  | 
 | ||
|  | ## class `OMetaPatchMixin`
 | ||
|  | OpenMetadata API methods related to Tables.  | ||
|  | 
 | ||
|  | To be inherited by OpenMetadata  | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L113") | ||
|  | 
 | ||
|  | ### method `patch`
 | ||
|  | 
 | ||
|  | ```python | ||
|  | patch(entity: Type[~T], source: ~T, destination: ~T) → Optional[~T] | ||
|  | ``` | ||
|  | 
 | ||
|  | Given an Entity type and Source entity and Destination entity, generate a JSON Patch and apply it.  | ||
|  | 
 | ||
|  | Args  entity (T): Entity Type  source: Source payload which is current state of the source in OpenMetadata  destination: payload with changes applied to the source.  | ||
|  | 
 | ||
|  | Returns  Updated Entity  | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L457") | ||
|  | 
 | ||
|  | ### method `patch_automation_workflow_response`
 | ||
|  | 
 | ||
|  | ```python | ||
|  | patch_automation_workflow_response( | ||
|  |     automation_workflow: Workflow, | ||
|  |     test_connection_result: TestConnectionResult, | ||
|  |     workflow_status: WorkflowStatus | ||
|  | ) → None | ||
|  | ``` | ||
|  | 
 | ||
|  | Given an AutomationWorkflow, JSON PATCH the status and response.  | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L417") | ||
|  | 
 | ||
|  | ### method `patch_column_description`
 | ||
|  | 
 | ||
|  | ```python | ||
|  | patch_column_description( | ||
|  |     table: Table, | ||
|  |     column_fqn: str, | ||
|  |     description: str, | ||
|  |     force: bool = False | ||
|  | ) → Optional[~T] | ||
|  | ``` | ||
|  | 
 | ||
|  | Given an Table , Column FQN, JSON PATCH the description of the column  | ||
|  | 
 | ||
|  | Args  src_table: origin Table object  column_fqn: FQN of the column to update  description: new description to add  force: if True, we will patch any existing description. Otherwise, we will maintain  the existing data. Returns  Updated Entity  | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L398") | ||
|  | 
 | ||
|  | ### method `patch_column_tag`
 | ||
|  | 
 | ||
|  | ```python | ||
|  | patch_column_tag( | ||
|  |     table: Table, | ||
|  |     column_fqn: str, | ||
|  |     tag_label: TagLabel, | ||
|  |     operation: Union[ForwardRef(<ADD: 'add'>), ForwardRef(<REMOVE: 'remove'>)] = <PatchOperation.ADD: 'add'> | ||
|  | ) → Optional[~T] | ||
|  | ``` | ||
|  | 
 | ||
|  | Will be deprecated in 1.3  | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L357") | ||
|  | 
 | ||
|  | ### method `patch_column_tags`
 | ||
|  | 
 | ||
|  | ```python | ||
|  | patch_column_tags( | ||
|  |     table: Table, | ||
|  |     column_tags: List[ColumnTag], | ||
|  |     operation: Union[ForwardRef(<ADD: 'add'>), ForwardRef(<REMOVE: 'remove'>)] = <PatchOperation.ADD: 'add'> | ||
|  | ) → Optional[~T] | ||
|  | ``` | ||
|  | 
 | ||
|  | Given an Entity ID, JSON PATCH the tag of the column  | ||
|  | 
 | ||
|  | Args  entity_id: ID  tag_label: TagLabel to add or remove  column_name: column to update  operation: Patch Operation to add or remove Returns  Updated Entity  | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L159") | ||
|  | 
 | ||
|  | ### method `patch_description`
 | ||
|  | 
 | ||
|  | ```python | ||
|  | patch_description( | ||
|  |     entity: Type[~T], | ||
|  |     source: ~T, | ||
|  |     description: str, | ||
|  |     force: bool = False | ||
|  | ) → Optional[~T] | ||
|  | ``` | ||
|  | 
 | ||
|  | Given an Entity type and ID, JSON PATCH the description.  | ||
|  | 
 | ||
|  | Args  entity (T): Entity Type  source: source entity object  description: new description to add  force: if True, we will patch any existing description. Otherwise, we will maintain  the existing data. Returns  Updated Entity  | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L516") | ||
|  | 
 | ||
|  | ### method `patch_domain`
 | ||
|  | 
 | ||
|  | ```python | ||
|  | patch_domain(entity: BaseModel, domain: Domain) → Optional[BaseModel] | ||
|  | ``` | ||
|  | 
 | ||
|  | Patch domain data for an Entity  | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L494") | ||
|  | 
 | ||
|  | ### method `patch_life_cycle`
 | ||
|  | 
 | ||
|  | ```python | ||
|  | patch_life_cycle(entity: BaseModel, life_cycle: LifeCycle) → Optional[BaseModel] | ||
|  | ``` | ||
|  | 
 | ||
|  | Patch life cycle data for a entity  | ||
|  | 
 | ||
|  | :param entity: Entity to update the life cycle for :param life_cycle_data: Life Cycle data to add  | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L317") | ||
|  | 
 | ||
|  | ### method `patch_owner`
 | ||
|  | 
 | ||
|  | ```python | ||
|  | patch_owner( | ||
|  |     entity: Type[~T], | ||
|  |     source: ~T, | ||
|  |     owner: EntityReference = None, | ||
|  |     force: bool = False | ||
|  | ) → Optional[~T] | ||
|  | ``` | ||
|  | 
 | ||
|  | Given an Entity type and ID, JSON PATCH the owner. If not owner Entity type and not owner ID are provided, the owner is removed.  | ||
|  | 
 | ||
|  | Args  entity (T): Entity Type of the entity to be patched  entity_id: ID of the entity to be patched  owner: Entity Reference of the owner. If None, the owner will be removed  force: if True, we will patch any existing owner. Otherwise, we will maintain  the existing data. Returns  Updated Entity  | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L205") | ||
|  | 
 | ||
|  | ### method `patch_table_constraints`
 | ||
|  | 
 | ||
|  | ```python | ||
|  | patch_table_constraints( | ||
|  |     table: Table, | ||
|  |     constraints: List[TableConstraint] | ||
|  | ) → Optional[~T] | ||
|  | ``` | ||
|  | 
 | ||
|  | Given an Entity ID, JSON PATCH the table constraints of table  | ||
|  | 
 | ||
|  | Args  source_table: Origin table  description: new description to add  table_constraints: table constraints to add  | ||
|  | 
 | ||
|  | Returns  Updated Entity  | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L302") | ||
|  | 
 | ||
|  | ### method `patch_tag`
 | ||
|  | 
 | ||
|  | ```python | ||
|  | patch_tag( | ||
|  |     entity: Type[~T], | ||
|  |     source: ~T, | ||
|  |     tag_label: TagLabel, | ||
|  |     operation: Union[ForwardRef(<ADD: 'add'>), ForwardRef(<REMOVE: 'remove'>)] = <PatchOperation.ADD: 'add'> | ||
|  | ) → Optional[~T] | ||
|  | ``` | ||
|  | 
 | ||
|  | Will be deprecated in 1.3  | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L261") | ||
|  | 
 | ||
|  | ### method `patch_tags`
 | ||
|  | 
 | ||
|  | ```python | ||
|  | patch_tags( | ||
|  |     entity: Type[~T], | ||
|  |     source: ~T, | ||
|  |     tag_labels: List[TagLabel], | ||
|  |     operation: Union[ForwardRef(<ADD: 'add'>), ForwardRef(<REMOVE: 'remove'>)] = <PatchOperation.ADD: 'add'> | ||
|  | ) → Optional[~T] | ||
|  | ``` | ||
|  | 
 | ||
|  | Given an Entity type and ID, JSON PATCH the tag.  | ||
|  | 
 | ||
|  | Args  entity (T): Entity Type  source: Source entity object  tag_label: TagLabel to add or remove  operation: Patch Operation to add or remove the tag. Returns  Updated Entity  | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | [{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py#L234") | ||
|  | 
 | ||
|  | ### method `patch_test_case_definition`
 | ||
|  | 
 | ||
|  | ```python | ||
|  | patch_test_case_definition( | ||
|  |     source: TestCase, | ||
|  |     entity_link: str, | ||
|  |     test_case_parameter_values: Optional[List[TestCaseParameterValue]] = None | ||
|  | ) → Optional[TestCase] | ||
|  | ``` | ||
|  | 
 | ||
|  | Given a test case and a test case definition JSON PATCH the test case  | ||
|  | 
 | ||
|  | Args  test_case: test case object  test_case_definition: test case definition to add  | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | --- | ||
|  | 
 | ||
|  | 
 |