source: ocsinventory-agent/trunk/fuentes/lib/Ocsinventory/Agent/Backend/Virtualization/VmWareDesktop.pm @ 468

Last change on this file since 468 was 468, checked in by mabarracus, 4 years ago

Copyt trusty code

File size: 1.4 KB
Line 
1package Ocsinventory::Agent::Backend::Virtualization::VmWareDesktop;
2#
3# initial version: Walid Nouh
4#
5
6use strict;
7
8sub check { return can_run('/Library/Application\ Support/VMware\ Fusion/vmrun') }
9
10sub run {
11    my $params = shift;
12    my $common = $params->{common};
13    my $logger = $params->{logger};
14
15    my $uuid;
16    my $mem;
17    my $status;
18    my $name;
19    my $i = 0;
20
21    my $commande = "/Library/Application\\ Support/VMware\\ Fusion\/vmrun list";
22    foreach my $vmxpath ( `$commande` ) {
23        next unless $i++ > 0; # Ignore the first line
24        if (!open TMP, "<$vmxpath") {
25            $logger->debug("Can't open $vmxpath\n");
26            next;
27        }
28        my @vminfos = <TMP>;
29        close TMP;
30
31        foreach my $line (@vminfos) {
32            if ($line =~ m/^displayName =\s\"+(.*)\"/) {
33                $name = $1;
34            }
35            elsif ($line =~ m/^memsize =\s\"+(.*)\"/) {
36                $mem = $1;
37            }
38            elsif ($line =~ m/^uuid.bios =\s\"+(.*)\"/) {
39                $uuid = $1;
40            }
41        }
42
43        $common->addVirtualMachine ({
44                NAME      => $name,
45                VCPU      => 1,
46                UUID      => $uuid,
47                MEMORY    => $mem,
48                STATUS    => "running",
49                SUBSYSTEM => "VmWare Fusion",
50                VMTYPE    => "VmWare",
51            });
52    }
53}
54
551;
Note: See TracBrowser for help on using the repository browser.