def project_query(self, name):
     '''
     Retrieves UUID of project based on its name
     Parameters:
         name: name of project
     Returns: UUID of project
     Throws:
         SOSError - when project name is not found 
     '''
     if (common.is_uri(name)):
         return name
     (tenant_name, project_name) = common.get_parent_child_from_xpath(name)
     
     from tenant import Tenant
     tenant_obj = Tenant(self.__ipAddr, self.__port)
     
     try:
         tenant_uri = tenant_obj.tenant_query(tenant_name)
         projects = self.project_list(tenant_uri)
         if(projects and len(projects) > 0):
             for project in projects:
                 if (project):
                     project_detail = self.project_show_by_uri(project['id'])
                     if(project_detail and project_detail['name'] == project_name):
                         return project_detail['id']
         raise SOSError(SOSError.NOT_FOUND_ERR, 'Project: ' + project_name + ' not found')
     except SOSError as e:
         raise e
Ejemplo n.º 2
0
    def project_query(self, name):
        '''
        Retrieves UUID of project based on its name
        Parameters:
            name: name of project
        Returns: UUID of project
        Throws:
            SOSError - when project name is not found
        '''
        if (common.is_uri(name)):
            return name
        (tenant_name, project_name) = common.get_parent_child_from_xpath(name)

        from tenant import Tenant
        tenant_obj = Tenant(self.__ipAddr, self.__port)

        try:
            tenant_uri = tenant_obj.tenant_query(tenant_name)
            projects = self.project_list(tenant_uri)
            if(projects and len(projects) > 0):
                for project in projects:
                    if (project):
                        project_detail = self.project_show_by_uri(
                                                project['id'])
                        if(project_detail and
                           project_detail['name'] == project_name):
                            return project_detail['id']
            raise SOSError(SOSError.NOT_FOUND_ERR,
                            'Project: ' + project_name + ' not found')
        except SOSError as e:
            raise e