class Controller(object):
    def __init__(self, conf):
        LOG.debug("[NFVGroup api] NFVGroup Manager controller with config:"
                                                "loadkulclouds.py %s", conf)
        self.conf = conf
        self.create_schema = NFVGroup_schema() 
        self.name = 'NFVGroupMgr'    
        
    @utils.verify_version
    def show(self, req, version, name):
        LOG.debug("[NFVGroup api] info request. Request: %s", req)
        result = core_api.show_nfvgroup(self.conf, version, name)
        return result

    @utils.verify_version
    def index(self, req, version):
        LOG.debug("[NFVGroup api] Show list of switches. Request: %s", req)
        result = core_api.index_nfvgroup(self.conf, version)
        return result

    @utils.http_success_code(202)
    @utils.verify_version_argument
    def create(self, req, version, body):
        LOG.debug("[NFVGroup api] Got create request. Request: %s", req)
        params = self.create_schema.deserialize(body)
        LOG.debug("Headers: %s", req.headers)
        # We need to create LB object and return its id
        #result = core_api.create_servicech(self.conf, version, params)
        result = core_api.create_nfvgroup(self.conf, version, body)
        return result

    @utils.http_success_code(202)
    @utils.verify_version
    def delete(self, req, version, name):
        LOG.debug("[NFVGroup api] Got delete request. Request: %s", req)
        result=core_api.delete_nfvgroup(self.conf, version, name)
        return result

    @utils.http_success_code(202)
    @utils.verify_version_argument
    def update(self, req, version, name, body):
        LOG.debug("[NFVGroup api] Got update request. Request: %s", req)
        params = self.create_schema.deserialize(body)
        result = core_api.update_nfvgroup(self.conf, version, name, params)
        return result
    
    def get_nfvgroup_sync(self, req, version):
        LOG.debug("[NFVGroup api] Makdi synchronization request. Request: %s", req)
        result = core_api.sync_nfvgroup(self.conf, version)
        return result    
 def __init__(self, conf):
     LOG.debug("[NFVGroup api] NFVGroup Manager controller with config:"
                                             "loadkulclouds.py %s", conf)
     self.conf = conf
     self.create_schema = NFVGroup_schema() 
     self.name = 'NFVGroupMgr'