Skip to content

v1.14.4

Choose a tag to compare

@Keayoub Keayoub released this 20 Jul 15:42
· 18 commits to main since this release

v1.14.4 — Delete & Create Reliability Hardening

Bug Fixes

False-success prevention — UC create / update / delete commands

All Unified Catalog and non-UC delete/create/update handlers now correctly detect
API error responses (status == "error" or "error" key present) before printing
a success message. Previously, commands could print SUCCESS even when the Purview
API returned an HTTP 400/403/404 error.

Affected commands fixed:

  • pvw uc domain create
  • pvw uc dataproduct create, update
  • pvw uc term create
  • pvw uc data-asset delete
  • pvw entity delete, bulk-delete, delete-by-attribute
  • pvw collections force-delete
  • pvw lineage delete-column
  • pvw scan deleteintegrationruntimesafe
  • pvw domain delete

_uc_render error gate

The shared UC output helper now detects and surfaces API error responses with status
code and debug hint instead of rendering them silently as data output.

pvw uc data-asset remove-relationship — endpoint fix

Fixed incorrect endpoint path for data-asset relationship deletion.
The entityId is now correctly sent as a path parameter, and entityType as a
query parameter, matching the Purview API contract.

pvw uc data-asset add-relationship — filter support

--asset-type option in pvw collections resources now accepts comma-separated
values in addition to repeated flags (e.g. --asset-type "Table,File").

Other

  • Shared _is_api_error() helper extracted to eliminate duplicate error-detection logic.
  • Docs: corrected minimal payload example for pvw uc data-asset create (added required name and type fields, listed valid type values).

Tests Added

  • tests/test_uc_create_update_error_handling.py — 9 cases for create/update/delete false-success
  • tests/test_non_uc_delete_error_handling.py — domain, entity, lineage, scan delete error handling
  • tests/test_uc_data_asset_remove_relationship.py — endpoint shape + CLI behavior
  • tests/test_uc_relationship_delete_error_handling.py — term/CDE relationship delete
  • tests/test_uc_delete_error_handling.py — dataproduct/keyresult delete