@@ -459,6 +459,8 @@ def patterned_write_config(namespace: str) -> object:
459
459
460
460
config = request .get_json ()
461
461
462
+ delete = config .get ("delete" , False )
463
+ delete_qualifier = config .get ("deleteQualifier" , None )
462
464
dry_run = config .get ("dryRun" , True )
463
465
document = config .get ("document" , {})
464
466
@@ -487,6 +489,9 @@ def patterned_write_config(namespace: str) -> object:
487
489
dfile = None
488
490
select_tag_qualifier = None
489
491
492
+ if delete :
493
+ select_tag_qualifier = delete_qualifier
494
+
490
495
# if 'configFile' in request.files and not request.files['configFile'].filename == '':
491
496
# log.debug("[%s] %s", namespace, request.files['configFile'])
492
497
# dfile = request.files['configFile']
@@ -532,6 +537,19 @@ def patterned_write_config(namespace: str) -> object:
532
537
log .error ("%s - %s" % (namespace , "Empty Configuration Passed" ))
533
538
abort_early (event_id , 'publish' , namespace , jsonify (error = "Empty Configuration Passed" ))
534
539
540
+ if delete :
541
+ # if deleting, then set the select tag qualifier and override the document
542
+ # to be a delete document
543
+ select_tag_qualifier = delete_qualifier
544
+
545
+ delete_doc = [
546
+ {
547
+ "_format_version" : "3.0" ,
548
+ "services" : []
549
+ }
550
+ ]
551
+ yaml_documents = [ yaml .load (yaml .dump (delete_doc ), Loader = yaml .FullLoader ) ]
552
+
535
553
selectTag = "ns.%s" % namespace
536
554
ns_qualifier = None
537
555
if select_tag_qualifier is not None and select_tag_qualifier != "" and "." not in select_tag_qualifier :
0 commit comments