@@ -628,6 +628,7 @@ def save(
628
628
entities .append (entity )
629
629
for asset in entities :
630
630
asset .validate_required ()
631
+ asset .flush_custom_metadata (client = self ._client ) # type: ignore[arg-type]
631
632
request = BulkRequest [Asset ](entities = entities )
632
633
raw_json = self ._client ._call_api (BULK_UPDATE , query_params , request )
633
634
response = AssetMutationResponse (** raw_json )
@@ -745,6 +746,7 @@ def save_replacing_cm(
745
746
entities .append (entity )
746
747
for asset in entities :
747
748
asset .validate_required ()
749
+ asset .flush_custom_metadata (client = self ._client ) # type: ignore[arg-type]
748
750
request = BulkRequest [Asset ](entities = entities )
749
751
raw_json = self ._client ._call_api (BULK_UPDATE , query_params , request )
750
752
return AssetMutationResponse (** raw_json )
@@ -885,6 +887,7 @@ def _restore_asset(self, asset: Asset) -> AssetMutationResponse:
885
887
"replaceBusinessAttributes" : False ,
886
888
"overwriteBusinessAttributes" : False ,
887
889
}
890
+ to_restore .flush_custom_metadata (self ._client ) # type: ignore[arg-type]
888
891
request = BulkRequest [Asset ](entities = [to_restore ])
889
892
raw_json = self ._client ._call_api (BULK_UPDATE , query_params , request )
890
893
return AssetMutationResponse (** raw_json )
@@ -919,7 +922,7 @@ def _modify_tags(
919
922
)
920
923
921
924
atlan_tag = [
922
- AtlanTag (
925
+ AtlanTag ( # type: ignore[call-arg]
923
926
type_name = AtlanTagName (display_text = name ),
924
927
propagate = propagate ,
925
928
remove_propagations_on_entity_delete = remove_propagation_on_delete ,
@@ -1091,6 +1094,7 @@ def _update_asset_by_attribute(
1091
1094
self , asset : A , asset_type : Type [A ], qualified_name : str
1092
1095
):
1093
1096
query_params = {"attr:qualifiedName" : qualified_name }
1097
+ asset .flush_custom_metadata (client = self ._client ) # type: ignore[arg-type]
1094
1098
raw_json = self ._client ._call_api (
1095
1099
PARTIAL_UPDATE_ENTITY_BY_ATTRIBUTE .format_path_with_params (
1096
1100
asset_type .__name__
@@ -1404,7 +1408,7 @@ def remove_custom_metadata(self, guid: str, cm_name: str):
1404
1408
:param cm_name: human-readable name of the custom metadata to remove
1405
1409
:raises AtlanError: on any API communication issue
1406
1410
"""
1407
- custom_metadata = CustomMetadataDict (name = cm_name )
1411
+ custom_metadata = CustomMetadataDict (client = self . _client , name = cm_name ) # type: ignore[arg-type]
1408
1412
# invoke clear_all so all attributes are set to None and consequently removed
1409
1413
custom_metadata .clear_all ()
1410
1414
custom_metadata_request = CustomMetadataRequest .create (
0 commit comments