@@ -382,7 +382,6 @@ def by_filter(
382
382
platform = platform ,
383
383
env = env ,
384
384
query = query ,
385
- recursive = recursive ,
386
385
)
387
386
soft_delete_filter = _validate_user_soft_delete_flags (
388
387
soft = soft , aspect = aspect , only_soft_deleted = only_soft_deleted
@@ -432,6 +431,7 @@ def by_filter(
432
431
)
433
432
)
434
433
if recursive :
434
+ _validate_recursive_delete (urns )
435
435
for urn in urns :
436
436
# Add children urns to the list.
437
437
if guess_entity_type (urn ) == "dataPlatformInstance" :
@@ -553,7 +553,6 @@ def _validate_user_urn_and_filters(
553
553
platform : Optional [str ],
554
554
env : Optional [str ],
555
555
query : Optional [str ],
556
- recursive : bool ,
557
556
) -> None :
558
557
# Check urn / filters options.
559
558
if urn :
@@ -574,20 +573,17 @@ def _validate_user_urn_and_filters(
574
573
f"Using --env without other filters will delete all metadata in the { env } environment. Please use with caution."
575
574
)
576
575
577
- # Check recursive flag.
578
- if recursive :
579
- if not urn :
580
- raise click .UsageError (
581
- "The --recursive flag can only be used with a single urn."
576
+
577
+ def _validate_recursive_delete (urns : List [str ]) -> None :
578
+ for urn in urns :
579
+ if guess_entity_type (urn ) in _RECURSIVE_DELETE_TYPES :
580
+ logger .warning (
581
+ f"This will only delete { urn } . Use --recursive to delete all contained entities."
582
582
)
583
- elif guess_entity_type ( urn ) not in _RECURSIVE_DELETE_TYPES :
583
+ else :
584
584
raise click .UsageError (
585
585
f"The --recursive flag can only be used with these entity types: { _RECURSIVE_DELETE_TYPES } ."
586
586
)
587
- elif urn and guess_entity_type (urn ) in _RECURSIVE_DELETE_TYPES :
588
- logger .warning (
589
- f"This will only delete { urn } . Use --recursive to delete all contained entities."
590
- )
591
587
592
588
593
589
def _validate_user_soft_delete_flags (
0 commit comments