Change-Id: Ib593840025e2e7cdf91a9c181deb9dc67f895b49
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
# DELETE operations
####################
# DELETE operations
####################
-def nsd_delete(ctx, name):
+def nsd_delete(ctx, name, force):
- ctx.obj.nsd.delete(name)
+ if not force:
+ ctx.obj.nsd.delete(name)
+ else:
+ check_client_version(ctx.obj, '--force')
+ ctx.obj.nsd.delete(name, force)
except ClientException as inst:
print(inst.message)
exit(1)
except ClientException as inst:
print(inst.message)
exit(1)
@cli.command(name='nsd-delete', short_help='deletes a NSD/NSpkg')
@click.argument('name')
@cli.command(name='nsd-delete', short_help='deletes a NSD/NSpkg')
@click.argument('name')
+@click.option('--force', is_flag=True, help='forces the deletion bypassing pre-conditions')
-def nsd_delete1(ctx, name):
+def nsd_delete1(ctx, name, force):
'''deletes a NSD/NSpkg
NAME: name or ID of the NSD/NSpkg to be deleted
'''
'''deletes a NSD/NSpkg
NAME: name or ID of the NSD/NSpkg to be deleted
'''
+ nsd_delete(ctx, name, force)
@cli.command(name='nspkg-delete', short_help='deletes a NSD/NSpkg')
@click.argument('name')
@cli.command(name='nspkg-delete', short_help='deletes a NSD/NSpkg')
@click.argument('name')
+@click.option('--force', is_flag=True, help='forces the deletion bypassing pre-conditions')
-def nsd_delete2(ctx, name):
+def nsd_delete2(ctx, name, force):
'''deletes a NSD/NSpkg
NAME: name or ID of the NSD/NSpkg to be deleted
'''
'''deletes a NSD/NSpkg
NAME: name or ID of the NSD/NSpkg to be deleted
'''
+ nsd_delete(ctx, name, force)
-def vnfd_delete(ctx, name):
+def vnfd_delete(ctx, name, force):
- ctx.obj.vnfd.delete(name)
+ if not force:
+ ctx.obj.vnfd.delete(name)
+ else:
+ check_client_version(ctx.obj, '--force')
+ ctx.obj.vnfd.delete(name, force)
except ClientException as inst:
print(inst.message)
exit(1)
except ClientException as inst:
print(inst.message)
exit(1)
@cli.command(name='vnfd-delete', short_help='deletes a VNFD/VNFpkg')
@click.argument('name')
@cli.command(name='vnfd-delete', short_help='deletes a VNFD/VNFpkg')
@click.argument('name')
+@click.option('--force', is_flag=True, help='forces the deletion bypassing pre-conditions')
-def vnfd_delete1(ctx, name):
+def vnfd_delete1(ctx, name, force):
'''deletes a VNFD/VNFpkg
NAME: name or ID of the VNFD/VNFpkg to be deleted
'''
'''deletes a VNFD/VNFpkg
NAME: name or ID of the VNFD/VNFpkg to be deleted
'''
+ vnfd_delete(ctx, name, force)
@cli.command(name='vnfpkg-delete', short_help='deletes a VNFD/VNFpkg')
@click.argument('name')
@cli.command(name='vnfpkg-delete', short_help='deletes a VNFD/VNFpkg')
@click.argument('name')
+@click.option('--force', is_flag=True, help='forces the deletion bypassing pre-conditions')
-def vnfd_delete2(ctx, name):
+def vnfd_delete2(ctx, name, force):
'''deletes a VNFD/VNFpkg
NAME: name or ID of the VNFD/VNFpkg to be deleted
'''
'''deletes a VNFD/VNFpkg
NAME: name or ID of the VNFD/VNFpkg to be deleted
'''
+ vnfd_delete(ctx, name, force)
@cli.command(name='ns-delete', short_help='deletes a NS instance')
@click.argument('name')
@cli.command(name='ns-delete', short_help='deletes a NS instance')
@click.argument('name')
+@click.option('--force', is_flag=True, help='forces the deletion bypassing pre-conditions')
-def ns_delete(ctx, name):
+def ns_delete(ctx, name, force):
'''deletes a NS instance
NAME: name or ID of the NS instance to be deleted
'''
try:
'''deletes a NS instance
NAME: name or ID of the NS instance to be deleted
'''
try:
- ctx.obj.ns.delete(name)
+ if not force:
+ ctx.obj.ns.delete(name)
+ else:
+ check_client_version(ctx.obj, '--force')
+ ctx.obj.ns.delete(name, force)
except ClientException as inst:
print(inst.message)
exit(1)
except ClientException as inst:
print(inst.message)
exit(1)
@cli.command(name='vim-delete')
@click.argument('name')
@cli.command(name='vim-delete')
@click.argument('name')
+@click.option('--force', is_flag=True, help='forces the deletion bypassing pre-conditions')
-def vim_delete(ctx, name):
+def vim_delete(ctx, name, force):
'''deletes a VIM account
NAME: name or ID of the VIM account to be deleted
'''
try:
'''deletes a VIM account
NAME: name or ID of the VIM account to be deleted
'''
try:
- ctx.obj.vim.delete(name)
+ if not force:
+ ctx.obj.vim.delete(name)
+ else:
+ check_client_version(ctx.obj, '--force')
+ ctx.obj.vim.delete(name, force)
except ClientException as inst:
print(inst.message)
exit(1)
except ClientException as inst:
print(inst.message)
exit(1)
@cli.command(name='sdnc-delete')
@click.argument('name')
@cli.command(name='sdnc-delete')
@click.argument('name')
+@click.option('--force', is_flag=True, help='forces the deletion bypassing pre-conditions')
-def sdnc_delete(ctx, name):
+def sdnc_delete(ctx, name, force):
'''deletes an SDN controller
NAME: name or ID of the SDN controller to be deleted
'''
try:
check_client_version(ctx.obj, ctx.command.name)
'''deletes an SDN controller
NAME: name or ID of the SDN controller to be deleted
'''
try:
check_client_version(ctx.obj, ctx.command.name)
- ctx.obj.sdnc.delete(name)
+ ctx.obj.sdnc.delete(name, force)
except ClientException as inst:
print(inst.message)
exit(1)
except ClientException as inst:
print(inst.message)
exit(1)
return resp
raise NotFound("ns {} not found".format(name))
return resp
raise NotFound("ns {} not found".format(name))
- def delete(self, name):
+ def delete(self, name, force=False):
- http_code, resp = self._http.delete_cmd('{}/{}'.format(self._apiBase,ns['_id']))
+ querystring = ''
+ if force:
+ querystring = '?FORCE=True'
+ http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
+ ns['_id'], querystring))
if resp:
resp = json.loads(resp)
#print 'RESP: {}'.format(resp)
if resp:
resp = json.loads(resp)
#print 'RESP: {}'.format(resp)
def get_artifact(self, name, artifact, filename):
self.get_thing(name, 'artifacts/{}'.format(artifact), filename)
def get_artifact(self, name, artifact, filename):
self.get_thing(name, 'artifacts/{}'.format(artifact), filename)
- def delete(self, name):
+ def delete(self, name, force=False):
- http_code, resp = self._http.delete_cmd('{}/{}'.format(self._apiBase, nsd['_id']))
+ querystring = ''
+ if force:
+ querystring = '?FORCE=True'
+ http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
+ nsd['_id'], querystring))
if resp:
resp = json.loads(resp)
#print 'RESP: {}'.format(resp)
if resp:
resp = json.loads(resp)
#print 'RESP: {}'.format(resp)
- def delete(self, name):
+ def delete(self, name, force=False):
sdn_controller = self.get(name)
sdn_controller = self.get(name)
- http_code, resp = self._http.delete_cmd('{}/{}'.format(self._apiBase,sdn_controller['_id']))
+ querystring = ''
+ if force:
+ querystring = '?FORCE=True'
+ http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
+ sdn_controller['_id'], querystring))
if resp:
resp = json.loads(resp)
#print 'RESP: {}'.format(resp)
if resp:
resp = json.loads(resp)
#print 'RESP: {}'.format(resp)
return vim['uuid']
raise NotFound("vim {} not found".format(name))
return vim['uuid']
raise NotFound("vim {} not found".format(name))
- def delete(self, vim_name):
+ def delete(self, vim_name, force=False):
vim_id = vim_name
if not utils.validate_uuid4(vim_name):
vim_id = self.get_id(vim_name)
vim_id = vim_name
if not utils.validate_uuid4(vim_name):
vim_id = self.get_id(vim_name)
- http_code, resp = self._http.delete_cmd('{}/{}'.format(self._apiBase,vim_id))
+ querystring = ''
+ if force:
+ querystring = '?FORCE=True'
+ http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
+ vim_id, querystring))
if resp:
resp = json.loads(resp)
#print 'RESP: {}'.format(resp)
if resp:
resp = json.loads(resp)
#print 'RESP: {}'.format(resp)
def get_artifact(self, name, artifact, filename):
self.get_thing(name, 'artifacts/{}'.format(artifact), filename)
def get_artifact(self, name, artifact, filename):
self.get_thing(name, 'artifacts/{}'.format(artifact), filename)
- def delete(self, name):
+ def delete(self, name, force=False):
- http_code, resp = self._http.delete_cmd('{}/{}'.format(self._apiBase,vnfd['_id']))
+ querystring = ''
+ if force:
+ querystring = '?FORCE=True'
+ http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
+ vnfd['_id'], querystring))
if resp:
resp = json.loads(resp)
#print 'RESP: {}'.format(resp)
if resp:
resp = json.loads(resp)
#print 'RESP: {}'.format(resp)