# For those usages not covered by the Apache License, Version 2.0 please
# contact: bdiaz@whitestack.com or glavado@whitestack.com
##
+from typing import List
+
from osm_common import dbmongo, dbmemory
from osm_mon.core.config import Config
+from osm_mon.core.models import Alarm
class CommonDbClient:
vim_account['vim_password'] = self.decrypt_vim_password(vim_account['vim_password'],
vim_account['schema_version'],
vim_account_id)
- vim_config_encrypted = ("admin_password", "nsx_password", "vcenter_password")
- for key in vim_account['config']:
- if key in vim_config_encrypted:
- vim_account['config'][key] = self.decrypt_vim_password(vim_account['config'][key],
- vim_account['schema_version'],
- vim_account_id)
+ vim_config_encrypted_dict = {
+ "1.1": ("admin_password", "nsx_password", "vcenter_password"),
+ "default": ("admin_password", "nsx_password", "vcenter_password", "vrops_password")
+ }
+ vim_config_encrypted = vim_config_encrypted_dict['default']
+ if vim_account['schema_version'] in vim_config_encrypted_dict.keys():
+ vim_config_encrypted = vim_config_encrypted_dict[vim_account['schema_version']]
+ if 'config' in vim_account:
+ for key in vim_account['config']:
+ if key in vim_config_encrypted:
+ vim_account['config'][key] = self.decrypt_vim_password(vim_account['config'][key],
+ vim_account['schema_version'],
+ vim_account_id)
return vim_account
def get_sdncs(self):
def get_sdnc(self, sdnc_id: str):
return self.common_db.get_one('sdns', {'_id': sdnc_id})
+
+ def create_alarm(self, alarm: Alarm):
+ return self.common_db.create('alarms', alarm.to_dict())
+
+ def delete_alarm(self, alarm_uuid: str):
+ return self.common_db.del_one('alarms', {'uuid': alarm_uuid})
+
+ def get_alarms(self) -> List[Alarm]:
+ alarms = []
+ alarm_dicts = self.common_db.get_list('alarms')
+ for alarm_dict in alarm_dicts:
+ alarms.append(Alarm.from_dict(alarm_dict))
+ return alarms