mirror of
https://opendev.org/x/pyghmi
synced 2025-10-26 08:55:20 +00:00
Add support for deleting licenses from XCC
Complete the XCC license management capabilities by adding deletion of licenses. Change-Id: I4c023858263934e63c73b81af13713aad4b066aa
This commit is contained in:
@@ -1999,6 +1999,10 @@ class Command(object):
|
||||
self.oem_init()
|
||||
return self._oem.get_licenses()
|
||||
|
||||
def delete_license(self, name):
|
||||
self.oem_init()
|
||||
return self._oem.delete_license(name)
|
||||
|
||||
def save_licenses(self, directory):
|
||||
self.oem_init()
|
||||
return self._oem.save_licenses(directory)
|
||||
|
||||
@@ -356,6 +356,9 @@ class OEMHandler(object):
|
||||
def get_licenses(self):
|
||||
raise exc.UnsupportedFunctionality()
|
||||
|
||||
def delete_license(self, name):
|
||||
raise exc.UnsupportedFunctionality()
|
||||
|
||||
def save_licenses(self, directory):
|
||||
raise exc.UnsupportedFunctionality()
|
||||
|
||||
|
||||
@@ -980,6 +980,11 @@ class OEMHandler(generic.OEMHandler):
|
||||
if self.has_xcc:
|
||||
return self.immhandler.get_licenses()
|
||||
return super(OEMHandler, self).get_licenses()
|
||||
|
||||
def delete_license(self, name):
|
||||
if self.has_xcc:
|
||||
return self.immhandler.delete_license(name)
|
||||
return super(OEMHandler, self).delete_license(name)
|
||||
|
||||
def save_licenses(self, directory):
|
||||
if self.has_xcc:
|
||||
|
||||
@@ -1815,6 +1815,15 @@ class XCCClient(IMMClient):
|
||||
self._refresh_token()
|
||||
yield savefile
|
||||
|
||||
def delete_license(self, name):
|
||||
licdata = self.wc.grab_json_response('/api/providers/imm_fod')
|
||||
for lic in licdata.get('items', [{}])[0].get('keys', []):
|
||||
if lic.get('feature', None) == name:
|
||||
licid = ','.join((str(lic['type']), str(lic['id'])))
|
||||
self.wc.grab_json_response(
|
||||
'/api/providers/imm_fod', {'FOD_LicenseKeyDelete': licid})
|
||||
break
|
||||
|
||||
def apply_license(self, filename, progress=None):
|
||||
uploadthread = webclient.FileUploader(self.wc, '/upload', filename)
|
||||
uploadthread.start()
|
||||
|
||||
@@ -1426,6 +1426,9 @@ class Command(object):
|
||||
def get_licenses(self):
|
||||
return self.oem.get_licenses()
|
||||
|
||||
def delete_license(self, name):
|
||||
return self.oem.delete_license(name)
|
||||
|
||||
def save_licenses(self, directory):
|
||||
return self.oem.save_licenses(directory)
|
||||
|
||||
|
||||
@@ -92,6 +92,9 @@ class OEMHandler(object):
|
||||
def get_licenses(self):
|
||||
raise exc.UnsupportedFunctionality()
|
||||
|
||||
def delete_license(self, name):
|
||||
raise exc.UnsupportedFunctionality()
|
||||
|
||||
def save_licenses(self, directory):
|
||||
raise exc.UnsupportedFunctionality()
|
||||
|
||||
|
||||
@@ -710,6 +710,15 @@ class OEMHandler(generic.OEMHandler):
|
||||
if lic['status'] == 0:
|
||||
yield {'name': lic['feature']}
|
||||
|
||||
def delete_license(self, name):
|
||||
licdata = self.wc.grab_json_response('/api/providers/imm_fod')
|
||||
for lic in licdata.get('items', [{}])[0].get('keys', []):
|
||||
if lic.get('feature', None) == name:
|
||||
licid = ','.join((str(lic['type']), str(lic['id'])))
|
||||
self.wc.grab_json_response(
|
||||
'/api/providers/imm_fod', {'FOD_LicenseKeyDelete': licid})
|
||||
break
|
||||
|
||||
def save_licenses(self, directory):
|
||||
licdata = self.wc.grab_json_response('/api/providers/imm_fod')
|
||||
for lic in licdata.get('items', [{}])[0].get('keys', []):
|
||||
|
||||
Reference in New Issue
Block a user