Beispiel #1
0
    def execute(self, args):
        out = vboxmanage(self, 'list', 'vms', capture=True)
        out = out.strip().splitlines()

        vmdata = []

        for line in out:
            name, uuid = line.rsplit(' ', 1)
            name = name[1:-1]
            uuid = uuid[1:-1]

            out = vboxmanage(self, 'showvminfo', name, capture=True)
            info, _ = out.split('\n\n', 1)
            vm = {}

            for line in info.splitlines():
                m = re.search(r'([^:]+):\s+(.*)', line)
                if m:
                    vm[m.group(1).lower()] = m.group(2)
            vmdata.append(vm)


        vmdata = [self.getinfo(vm) for vm in vmdata]
        headers = [
            ('ID', 'Name', 'OS', 'CPU', 'RAM', 'State'),
        ]

        output.printtable(headers + vmdata, headerrows=1)
Beispiel #2
0
    def execute(self, args):
        manager = self.manager_class(self.config)
        resources = manager.list()

        if resources:
            headers = [manager.resource_class.labels()]
            data = [r._row() for r in resources]
            output.printtable(headers + data, headerrows=1)
        else:
            self.logger.info('No registered {} found.'.format(self.resname))
Beispiel #3
0
    def execute(self, args):
        headers = ((
            'Name', 'Cores', 'RAM [MB]'
        ),)

        data = self.config.sections()
        data = (s for s in data if s.startswith(self.prefix))
        data = ((
            s[len(self.prefix):],
            self.config.get(s, 'cores'),
            self.config.get(s, 'memory'),
        ) for s in data)

        output.printtable(headers + tuple(data), headerrows=1)