The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

FusionInventory::Agent::XML::Query::Inventory - the XML abstraction layer

DESCRIPTION

FusionInventory uses OCS Inventory XML format for the data transmition. This module is the abstraction layer. It's mostly used in the backend module where it called $inventory in general.

new()

The usual constructor.

initialise()

Runs the backend modules to initilise the data.

addController()

Add a controller in the inventory.

addModem()

Add a modem in the inventory.

addDrive()

Add a partition in the inventory.

addStorage()

Add a storage system (hard drive, USB key, SAN volume, etc) in the inventory.

addMemory()

Add a memory module in the inventory.

addPort()

Add a port module in the inventory.

addSlot()

Add a slot in the inventory.

addSoftware()

Register a software in the inventory.

addMonitor()

Add a monitor (screen) in the inventory.

addVideo()

Add a video card in the inventory.

addSound()

Add a sound card in the inventory.

addNetwork()

Register a network interface in the inventory.

setHardware()

Save global information regarding the machine.

The use of setHardware() to update USERID and PROCESSOR* informations is deprecated, please, use addUser() and addCPU() instead.

setBios()

Set BIOS informations.

addCPU()

Add a CPU in the inventory.

addUser()

Add an user in the list of logged user.

addPrinter()

Add a printer in the inventory.

addVirtualMachine()

Add a Virtual Machine in the inventory.

addProcess()

Record a running process in the inventory.

addInput()

Add an input device (mouce/keyboard) in the inventory.

addEnv()

Register an environement variable.

addUSBDevice()

USB device

addBattery()

Battery

addRegistry()

Windows Registry key

addAntiVirus()

Registred Anti-Virus on Windows

setAccessLog()

What is that for? :)

addIpDiscoverEntry()

IpDiscover is used to identify network interface on the local network. This is done on the ARP level.

This function adds a network interface in the inventory.

addSoftwareDeploymentPackage()

This function is for software deployment.

Order sent to the agent are recorded on the client side and then send back to the server in the inventory.

getContent()

Return the inventory as a XML string.

printXML()

Only for debugging purpose. Print the inventory on STDOUT.

writeXML()

Save the generated inventory as an XML file. The 'local' key of the config is used to know where the file as to be saved.

writeHTML()

Save the generated inventory as an XML file. The 'local' key of the config is used to know where the file as to be saved.

processChecksum()

Compute the <CHECKSUM/> field. This information is used by the server to know which parts of the XML have changed since the last inventory.

The is done thank to the last_file file. It has MD5 prints of the previous inventory.

saveLastState()

At the end of the process IF the inventory was saved correctly, the last_state is saved.

addSection()

A generic way to save a section in the inventory. Please avoid this solution.

feedSection()

Add information in inventory.

XML STRUCTURE

This section presents the XML structure used by FusionInventory. The schema is based on OCS Inventory XML with various additions.

BIOS

SMODEL
SMANUFACTURER
SSN
BDATE
BVERSION

The BIOS revision

BMANUFACTURER
MMANUFACTURER
MSN
MMODEL
ASSETTAG
ENCLOSURESERIAL
BASEBOARDSERIAL
BIOSSERIAL

The optional asset tag for this machine.

CONTROLLERS

CAPTION

Windows CAPTION field or subsystem Name from the pci.ids table

DRIVER
NAME
MANUFACTURER
PCICLASS
PCIID

The PCI ID, e.g: 8086:2a40 (only for PCI device)

PCISUBSYSTEMID

The PCI subsystem ID, e.g: 8086:2a40 (only for PCI device)

PCISLOT

The PCI slot, e.g: 00:02.1 (only for PCI device)

TYPE

The controller revision, e.g: rev 02. This field may be renamed in the future.

REV

Revision of the device in the XX format (e.g: 04)

MEMORIES

CAPACITY
CAPTION

E.g: Physical Memory

DESCRIPTION
FORMFACTOR

Only avalaible on Windows, See Win32_PhysicalMemory documentation on MSDN.

REMOVABLE
PURPOSE

Only avalaible on Windows, See Win32_PhysicalMemory documentation on MSDN.

SPEED

In Mhz, e.g: 800

TYPE
NUMSLOTS

Eg. 2, start at 1, not 0

SERIALNUMBER

CPUS

CACHESIZE

The total CPU cache size in KB. e.g: 3072

CORE

Number of core.

DESCRIPTION
MANUFACTURER
NAME

The name of the CPU, e.g: Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz

THREAD

Number of thread per core.

SERIAL

CPU Id/Serial

SPEED

Frequency in MHz

DRIVES

Drive is actually a filesystem.

CREATEDATE

Date of the create of the filesystem in in DD/MM/YYYY format.

DESCRIPTION
FREE

Free space

FILESYSTEM

File system name. e.g: ext3

LABEL

Name of the partition given by the user.

LETTER

Windows driver letter. Windows only

SERIAL

Partition serial number

SYSTEMDRIVE

Boolean. Is the system partition?

TOTAL

Total space avalaible.

TYPE

The mount point on UNIX.

VOLUMN

System name of the partition (e.g: /dev/sda1)

HARDWARE

USERID

The current user list, '/' is the delemiter. This field is deprecated, you should use the USERS section instead.

OSVERSION
PROCESSORN
OSCOMMENTS

Service Pack on Windows, kernel build date on Linux

CHECKSUM

Deprecated, OCS only.

PROCESSORT

Deprecated, OCS only.

NAME
PROCESSORS

The processor speed in MHz, this field is deprecated, see CPUS instead.

SWAP

The swap space in MB.

ETIME

The time needed to run the inventory on the agent side.

TYPE
OSNAME
IPADDR
WORKGROUP
DESCRIPTION
MEMORY
UUID
DNS
LASTLOGGEDUSER

The login of the last logged user.

USERDOMAIN

This field is deprecated, you should use the USERS section instead.

DATELASTLOGGEDUSER
DEFAULTGATEWAY
VMSYSTEM

The virtualization technologie used if the machine is a virtual machine.

Can by: Physical (default), Xen, VirtualBox, Virtual Machine, VMware, QEMU, SolarisZone

WINOWNER
WINPRODID
WINPRODKEY
WINCOMPANY
WINLANG

MONITORS

BASE64

The uuencoded EDID trame. Optional.

CAPTION
DESCRIPTION
MANUFACTURER

The manufacturer retrieved from the EDID trame.

SERIAL

The serial number retrieved from the EDID trame.

UUENCODE

The uuencoded EDID trame. Optional.

PORTS

Serial, Parallel, SATA, etc

CAPTION
DESCRIPTION
NAME
TYPE

SLOTS

CAPACITY
CAPTION
FORMFACTOR
REMOVABLE
PURPOSE
TYPE
DESCRIPTION

STORAGES

DESCRIPTION
DISKSIZE

The disk size in MB.

INTERFACE
MANUFACTURER
MODEL
NAME
TYPE

INTERFACE can be SCSI/HDC/IDE/USB/1394 (See: Win32_DiskDrive / InterfaceType in MSDN documentation

SERIAL

The harddrive serial number

SERIALNUMBER

Deprecated. The harddrive serial number, same as SERIAL.

FIRMWARE
SCSI_COID
SCSI_CHID
SCSI_UNID
SCSI_LUN

SOFTWARES

COMMENTS
FILESIZE
FOLDER
FROM

Where the information about the software come from, can be: registry, rpm, deb, etc

INSTALLDATE

Installation day in DD/MM/YYYY format. Windows only.

NAME
NO_REMOVE
RELEASE_TYPE

Windows only for now, come from the registry

PUBLISHER
UNINSTALL_STRING

Windows only, come from the registry

URL_INFO_ABOUT
VERSION
VERSION_MINOR

Windows only, come from the registry

VERSION_MAJOR

Windows only, come from the registry

IS64BIT

If the software is in 32 or 64bit, (1/0)

GUID

Windows software GUID

USERS

LOGIN
DOMAIN

The Windows domain of the user, if avalaible.

VIDEOS

CHIPSET
MEMORY
NAME
RESOLUTION

Resolution in pixel. 1024x768.

VIRTUALMACHINES

MEMORY

Memory size, in MB.

NAME

The name of the virtual machine.

UUID
STATUS

The VM status: running, idle, paused, shutdown, crashed, dying, off

SUBSYSTEM

The virtualisation software. E.g: VmWare ESX

VMTYPE

The name of the virtualisation system family. The same type found is HARDWARE/VMSYSTEM

VCPU
VMID

The ID of virtual machine in the virtual managment system.

SOUNDS

DESCRIPTION
MANUFACTURER
NAME

MODEMS

DESCRIPTION
NAME

ENVS

Environement variables

KEY
VAL

UPDATES

Windows updates

ID

Update Id

KB

List of KB, delimiter is '/'

USBDEVICES

USB Devices

VENDORID

Vendor USB ID. 4 hexa char.

PRODUCTID

Product USB ID. 4 hexa char.

SERIAL
CLASS

USB Class (e.g: 8 for Mass Storage)

SUBCLASS

USB Sub Class

NAME

The name of the device (optional)

NETWORKS

DESCRIPTION
DRIVER
IPADDRESS
IPADDRESS6
IPDHCP
IPGATEWAY
IPMASK
IPSUBNET
MACADDR
MTU
PCISLOT
STATUS
TYPE
VIRTUALDEV

If the interface exist or not (1 or empty)

SLAVES
MANAGEMENT

Whether or not it is a HP iLO, Sun SC, HP MP or other kink of Remote Management Interface

SPEED

Interface speed in Mb/s

BATTERIES

CAPACITY

Battery capacity in mWh

DATE

Manufacture date in the DD/MM/YYYY format

NAME

Name of the device

SERIAL

Serial number

MANUFACTURER

Battery manufacturer

VOLTAGE

Voltage in mV

PRINTERS

COMMENT
DESCRIPTION
DRIVER
NAME
NETWORK

Network: True (1) if it's a network printer

PORT
RESOLUTION

Resolution: eg. 600x600

SHARED

Shared: True if the printer is shared (Win32)

STATUS

Status: See Win32_Printer.PrinterStatus

ERRSTATUS

ErrStatus: See Win32_Printer.ExtendedDetectedErrorState

SERVERNAME
SHARENAME
PRINTPROCESSOR

PROCESSES

USER

The process owner

PID

The process Id

CPUUSAGE

The CPU usage.

MEM

The memory.

VIRTUALMEMORY
TTY
STARTED

When the process'd been started in the YYYY/MM/DD HH:MM format

CMD

The command.

ANTIVIRUS

COMPANY

Comapny name

NAME
GUID

Unique ID

ENABLED

1 if the antivirus is enabled.

UPTODATE

1 if the antivirus is up to date.

VERSION

3 POD Errors

The following errors were encountered while parsing the POD:

Around line 2075:

'=item' outside of any '=over'

Around line 2103:

You forgot a '=back' before '=head2'

Around line 2105:

=over without closing =back