[CORD-1518] Add /delete endpoint to remove models
Change-Id: I2bc586730183b5f9737951970a6eed481922f2fb
diff --git a/src/web_server/main.py b/src/web_server/main.py
index 266d651..efeae13 100644
--- a/src/web_server/main.py
+++ b/src/web_server/main.py
@@ -39,8 +39,14 @@
response[name] = "/custom_type/%s" % name
return json.dumps(response)
+ @app.route("/custom_type/<name>")
+ def custom_type(self, request, name):
+ request.responseHeaders.addRawHeader(b"content-type", b"text/plain")
+ custom_type = open(TOSCA_DEFS_DIR + '/' + name + '.yaml').read()
+ return custom_type
+
@app.route('/run', methods=['POST'])
- def execute(self, request):
+ def run(self, request):
recipe = request.content.read()
headers = request.getAllHeaders()
username = headers['xos-username']
@@ -51,11 +57,17 @@
d.addCallback(self.execute_tosca)
return d
- @app.route("/custom_type/<name>")
- def custom_type(self, request, name):
- request.responseHeaders.addRawHeader(b"content-type", b"text/plain")
- custom_type = open(TOSCA_DEFS_DIR + '/' + name + '.yaml').read()
- return custom_type
+ @app.route('/delete', methods=['POST'])
+ def delete(self, request):
+ recipe = request.content.read()
+ headers = request.getAllHeaders()
+ username = headers['xos-username']
+ password = headers['xos-password']
+
+ d = GRPC_Client().create_secure_client(username, password, recipe)
+ self.parser = TOSCA_Parser(recipe, username, password, delete=True)
+ d.addCallback(self.execute_tosca)
+ return d
def __init__(self):
self.app.run('0.0.0.0', '9102')
\ No newline at end of file