nfv/nfv/nfv-vim/nfv_vim/database/_database_identity_module.py

59 lines
1.5 KiB
Python
Executable File

#
# Copyright (c) 2015-2016 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
from nfv_vim import objects
from nfv_vim.database import model
from nfv_vim.database._database import database_get
def database_tenant_add(tenant_obj):
"""
Add a tenant object to the database
"""
db = database_get()
session = db.session()
query = session.query(model.Tenant)
tenant = query.filter(model.Tenant.uuid == tenant_obj.uuid).first()
if not tenant:
tenant = model.Tenant()
tenant.uuid = tenant_obj.uuid
tenant.name = tenant_obj.name
tenant.description = tenant_obj.description
tenant.enabled = tenant_obj.enabled
session.add(tenant)
else:
tenant.description = tenant_obj.description
tenant.enabled = tenant_obj.enabled
db.commit()
def database_tenant_delete(tenant_uuid):
"""
Delete a tenant object from the database
"""
db = database_get()
session = db.session()
query = session.query(model.Tenant)
query.filter(model.Tenant.uuid == tenant_uuid).delete()
session.commit()
def database_tenant_get_list():
"""
Fetch all the tenant objects from the database
"""
db = database_get()
session = db.session()
query = session.query(model.Tenant)
tenant_objs = list()
for tenant in query.all():
tenant_obj = objects.Tenant(tenant.uuid, tenant.name,
tenant.description, tenant.enabled)
tenant_objs.append(tenant_obj)
return tenant_objs