return vnfrs
def get_vnfd(self, vnfd_id: str):
- vnfr = self.common_db.get_one("vnfds",
+ vnfd = self.common_db.get_one("vnfds",
{"_id": vnfd_id})
- return vnfr
+ return vnfd
+
+ def get_vnfd_by_name(self, vnfd_name: str):
+ # TODO: optimize way of getting single VNFD in shared enviroments (RBAC)
+ if self.common_db.get_list("vnfds", {"name": vnfd_name}):
+ vnfd = self.common_db.get_list("vnfds", {"name": vnfd_name})[0]
+ return vnfd
+ else:
+ return None
+
+ def get_nsrs(self):
+ return self.common_db.get_list('nsrs')
def get_nsr(self, nsr_id: str):
nsr = self.common_db.get_one("nsrs",
if vdur['name'] == vdur_name:
return vdur
raise ValueError('vdur not found for nsr-id {}, member_index {} and vdur_name {}'.format(nsr_id, member_index,
- vdur_name))
+ vdur_name))
def decrypt_vim_password(self, vim_password: str, schema_version: str, vim_id: str):
return self.common_db.decrypt(vim_password, schema_version, vim_id)
def get_vim_accounts(self):
return self.common_db.get_list('vim_accounts')
+ def get_vim_account(self, vim_account_id: str) -> dict:
+ vim_account = self.common_db.get_one('vim_accounts', {"_id": vim_account_id})
+ vim_account['vim_password'] = self.decrypt_vim_password(vim_account['vim_password'],
+ 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):
return self.common_db.get_list('sdns')
def get_sdnc(self, sdnc_id: str):
return self.common_db.get_one('sdns', {'_id': sdnc_id})
+
+ def get_projects(self):
+ return self.common_db.get_list('projects')
+
+ def get_project(self, project_id: str):
+ return self.common_db.get_one('projects', {'_id': project_id})