---
name: "FusionInventory::Agent::Task::Inventory::Inventory"
section: "3pm"
platform: "linux"
package: "fusioninventory-agent"
version: "2.2.3-8"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/FusionInventory::Agent::Task::Inventory::Inventory"
---

# FusionInventory::Agent::Task::Inventory::Inventory(3pm)

Inventory data structure

## NAME

FusionInventory::Agent::Task::Inventory::Inventory - Inventory data structure

## DESCRIPTION

This is a data structure corresponding to an hardware and software inventory.

## METHODS

### new(%params)

The constructor. The following parameters are allowed, as keys of the `%params` hash:

- *logger*

  a logger object

- *statedir*

  a path to a writable directory containing the last serialized inventory

- *tag*

  an arbitrary label, used for server-side filtering

### *getContent()*

Get content attribute.

### mergeContent($content)

Merge content to the inventory.

### addEntry(%params)

Add a new entry to the inventory. The following parameters are allowed, as keys of the `%params` hash:

- *section*

  the entry section (mandatory)

- *entry*

  the entry (mandatory)

- *noDuplicated*

  ignore entry if already present

### setTag($tag)

Set inventory tag, an arbitrary label used for filtering on server side.

### *setHardware()*

Save global information regarding the machine.

### *setOperatingSystem()*

Operating System information.

### *setBios()*

Set BIOS informations.

### *setAccessLog()*

What is that for? :)

### *computeChecksum()*

Compute the inventory checksum. This information is used by the server to know which parts of the inventory have changed since the last one.

### *computeLegacyValues()*

Compute the inventory global values, meaning values in hardware section such as CPU number, speed and model, computed from other values, but needed for OCS compatibility.

### *saveLastState()*

At the end of the process IF the inventory was saved correctly, the last\_state is saved.

## DATA MODEL

This section presents the various entry types, with their attributes. The names correspond to the historical OCS format.

### BIOS

- SMODEL

  System model

- SMANUFACTURER

  System manufacturer

- SSN

  System Serial number

- BDATE

  BIOS release date

- BVERSION

  The BIOS revision

- BMANUFACTURER

  BIOS manufacturer

- MMANUFACTURER

  Motherboard Manufacturer

- MSN

  Motherboard Serial

- MMODEL

  Motherboard model

- ASSETTAG

  - ENCLOSURESERIAL

  - BIOSSERIAL

  The optional asset tag for this machine.

- TYPE

  depcreated, replace by HARDWARE/CHASSIS\_TYPE

### CONTROLLERS

- CAPTION

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

- DRIVER

  - NAME

  The device name, the on from the PCIIDs DB

- MANUFACTURER

  The manifacturer name, the on from the PCIIDs DB

- PCICLASS

  The PCI class ID

- 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 available 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

  AMD/Intel/Transmeta/Cyrix/VIA/Sun Microsystems//Fujitsu

- 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

  Serial number

- SPEED

  Frequency in MHz

- ID

  The CPU ID: http://en.wikipedia.org/wiki/CPUID

- STEPPING

  Stepping value (Contained in CPUID)

- MODEL

  Model value (Contained in CPUID)

- FAMILYNUMBER

  Family value (Contained in CPUID)

- FAMILYNAME

  Family Name

### DRIVES

Drive is actually a filesystem. Virtual filesystem like /proc or /sys are ignored.

- CREATEDATE

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

- DESCRIPTION

  - FREE

  Free space (MB)

- 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 or UUID

- SYSTEMDRIVE

  Boolean. Is this the system partition?

- TOTAL

  Total space available (MB)

- TYPE

  The mount point on UNIX.

- VOLUMN

  System name of the partition (e.g: /dev/sda1 or server:/directory for NFS)

### HARDWARE

- USERID

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

- OSVERSION

  Version number of the operating system. This field will be deprecated in the future, please use OPERATINGSYSTEM/VERSION or OPERATINGSYSTEM/KERNEL\_VERSION instead.

- 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

  Full name of the operating system as reported by itself. This field will be deprecated in the future, please use OPERATINGSYSTEM/NAME or OPERATINGSYSTEM/FULL\_NAME instead.

- IPADDR

  - WORKGROUP

  - DESCRIPTION

  Computer description (Windows only so far)

- MEMORY

  Total system memory in MB

- 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 technology used if the machine is a virtual machine.

  Can be:

  - Physical: (default)

    - Xen

    - VirtualBox

    - Virtual Machine: Generic if it's not possible to correctly identify the solution

    - VMware: ESX, ESXi, server, etc

    - QEMU

    - SolarisZone

    - VServer

    - OpenVZ

    - BSDJail

    - Parallels

    - Hyper-V

    - WINOWNER

  - WINPRODID

  - WINPRODKEY

  - WINCOMPANY

  - WINLANG

  Language code of the Windows

- CHASSIS\_TYPE

  The computer chassis format (e.g: Notebook, Laptop, Server, etc)

### OPERATINGSYSTEM

- KERNEL\_NAME

  The name of the kernel used by this operating system, e.g freebsd, linux, hpux, win32, etc (linux for android).

- KERNEL\_VERSION

  Version of the operating system's kernel, e.g 2.6.32 for Linux, 5.2.x.y on Windows Server 2003, etc.

- NAME

  Name of the Operating System ("Distributor ID" in LSB terms), e.g Debian, Ubuntu, CentOS, SUSE LINUX, Windows, MacOSX, FreeBSD, AIX, Android, etc.

- VERSION

  Version of the operating system distribution ("Release" in LSB terms), e.g 11.04 on Ubuntu natty, 5.0.8 on Debian Lenny, 5.4 on CentOS 5.4, 2003 for Windows Server 2003, etc.

- FULL\_NAME

  Full name of the operating system as reported by itself, e.g "Debian GNU/Linux unstable (sid)" or "Microsoft(R) Windows(R) Server 2003, Enterprise Edition x64". This is also contained in the HARDWARE/OSNAME field which will be deprecated in the future.

- SERVICE\_PACK

  The Service Pack level reported by the operating system. This field is only present on systems which use this notion.

- INSTALL\_DATE

  The operating system installation date.

### 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

Represents physical connection points including ports, motherboard slots and peripherals, and proprietary connection points.

This information is hardly reliable.

- CAPACITY

  - CAPTION

  - FORMFACTOR

  - REMOVABLE

  - PURPOSE

  - TYPE

  - DESCRIPTION

  ### STORAGES

- DESCRIPTION

  The long name of the device displayed to the user.

- DISKSIZE

  The disk size in MB.

- INTERFACE

  INTERFACE can be SCSI/HDC/IDE/USB/1394/Serial-ATA/SAS or empty if unknown

- MANUFACTURER

  - MODEL

  The commercial name of the device

- NAME

  The name of the device as seen by the system. E.g: hda (Linux), \\\\.\\PHYSICALDRIVE0 (Windows)

- TYPE

  The kind of device. There is no standard for the format of the string in this field.

- SERIAL

  The harddrive serial number

- SERIALNUMBER

  Deprecated. The harddrive serial number, same as SERIAL.

- FIRMWARE

  - SCSI\_COID

  - SCSI\_CHID

  - SCSI\_UNID

  - SCSI\_LUN

  - WWN

  World Wide Name http://fr.wikipedia.org/wiki/World\_Wide\_Name

### SOFTWARES

- COMMENTS

  - FILESIZE

  - FOLDER

  - FROM

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

- HELPLINK

  - INSTALLDATE

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

- NAME

  - NO\_REMOVE

  Can the software be removed.

- 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 available.

### VIDEOS

- CHIPSET

  - MEMORY

  Video card memory in MB

- NAME

  - RESOLUTION

  Resolution in pixel. 1024x768.

- PCISLOT

  The local PCI slot ID if the video card use PCI.

### 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

  Number of CPU affected to the virtual machine

- VMID

  The ID of virtual machine in the virtual managment system.

- MAC

  The list of the MAC addresses of the virtual machine. The delimiter is '/'. e.g: 00:23:18:91:db:8d/00:23:57:31:sb:8e

- COMMENT

  a comment

- OWNER

  ### SOUNDS

- DESCRIPTION

  - MANUFACTURER

  - NAME

  ### MODEMS

- DESCRIPTION

  - NAME

  ### ENVS

Environment 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

A network configuration.

- DESCRIPTION

  The name of the interface as seen in the OS settings, e.g: eth0 (Linux) or AMD PCNET Family Ethernet Adapter (Windows)

- DRIVER

  The name of the driver used by the network interface

- IPADDRESS

  - IPADDRESS6

  - IPDHCP

  The IP address of the DHCP server (optional).

- IPGATEWAY

  - IPMASK

  - IPSUBNET

  - MACADDR

  - MTU

  - PCISLOT

  The PCI slot name.

- STATUS

  Up or Down

- TYPE

  Interface type: Ethernet, Wifi

- VIRTUALDEV

  If the interface exist or not (1 or empty)

- SLAVES

  Bonded interfaces list in the eth0/eth1/eth2 format (/ is the separator).

- MANAGEMENT

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

- SPEED

  Interface speed in Mb/s

- BSSID

  Wifi only, Access point MAC Address

- SSID

  Wifi only, Access point name

### BATTERIES

- CAPACITY

  Battery capacity in mWh

- DATE

  Manufacture date in 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

  - SERIAL

  The serial number

### PROCESSES

- USER

  The process owner

- PID

  The process Id

- CPUUSAGE

  The CPU usage.

- MEM

  The memory.

- VIRTUALMEMORY

  - TTY

  - STARTED

  When the process has been started in 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

  ### LOGICAL\_VOLUMES

A LVM Logical Volume

- LVNAME

  The volume name.

- VGNAME

  The volume group name.

- ATTR

  The special attribue used on this volume (e.g: a-)

- SIZE

  The size of the volume on MB.

- UUID

  The volume UUID.

### PHYSICAL\_VOLUMES

- DEVICE

  The device name. Eg.: /dev/sda1 on Linux.

- PV\_NAME

  The physical device name.

- FORMAT

  The format. E.g: lvm2.

- ATTR

  The LVM attribue in use for this phyisical device.

- SIZE

  The size in MB.

- PV\_UUID

  The UUID.

- PV\_PE\_COUNT

  Item PV\_PE\_COUNT

- PE\_SIZE

  Item PE\_SIZE

### VOLUME\_GROUPS

A LVM Volume group.

- VGNAME

  The name of the volume group.

- PV\_COUNT

  - LV\_COUNT

  - ATTR

  The volume group LVM attribue.

- SIZE

  The size.

- FREE

  The free space.

- UUID

  The UUID
