cmdbAbstractObject
bizmodel,searchable,structure
false
autoincrement
organization
id
%1$s
name
false
code
true
active
inactive
status
active
true
parent_id
true
DEL_MANUAL
parent_id
name
-
10
-
20
-
30
-
40
-
10
-
20
-
30
-
40
-
10
-
20
cmdbAbstractObject
bizmodel,searchable,structure
false
autoincrement
location
id
%1$s
images/location.png
name
false
active
inactive
status
active
true
org_id
Organization
false
DEL_MANUAL
org_id
name
address
true
postal_code
true
city
true
country
true
parent_id
true
DEL_MANUAL
org_id]]>
parent_id
name
Contact
location_id
0
0
InfrastructureCI
location_id
0
0
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
10
-
20
-
30
-
40
-
50
-
60
-
10
-
20
-
30
-
40
cmdbAbstractObject
bizmodel,searchable,structure
true
autoincrement
contact
id
finalclass
%1$s
images/team.png
name
false
active
inactive
status
active
false
org_id
Organization
false
DEL_MANUAL
org_id
name
email
false
phone
true
org_id]]>
location_id
Location
true
DEL_MANUAL
location_id
name
lnkContractToContact
contact_id
0
0
contract_id
lnkServiceToContact
contact_id
0
0
service_id
lnkTicketToContact
contact_id
0
0
ticket_id
lnkCIToContact
contact_id
0
0
ci_id
lnkTeamToContact
contact_id
0
0
team_id
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
10
-
20
-
30
-
40
-
50
-
60
-
10
-
20
-
30
-
40
-
50
-
60
Contact
bizmodel,searchable,structure
false
autoincrement
person
id
%1$s %2$s
images/person.png
first_name
false
employee_id
true
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
10
-
20
-
30
-
40
-
50
-
60
-
70
Contact
bizmodel,searchable,structure
false
autoincrement
team
id
%1$s
images/team.png
lnkTeamToContact
team_id
0
0
contact_id
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
10
-
20
-
30
-
40
-
50
-
60
-
10
-
20
-
30
-
40
-
50
cmdbAbstractObject
1
bizmodel,searchable,structure
false
autoincrement
lnkteamtocontact
id
%1$s
team_id
Team
false
DEL_AUTO
team_id
name
contact_id
Contact
false
DEL_AUTO
contact_id
name
contact_id
location_id
contact_id
location_name
contact_id
email
contact_id
phone
role
true
-
10
-
20
-
30
-
10
-
20
-
30
-
10
-
20
-
30
-
40
-
50
-
60
cmdbAbstractObject
bizmodel,searchable,documentation
true
autoincrement
document
id
finalclass
%1$s
images/document.png
name
false
org_id
Organization
false
DEL_MANUAL
org_id
name
description
true
contract
networkmap
presentation
training
whitePaper
workinginstructions
type
presentation
true
draft
published
obsolete
status
draft
false
lnkContractToDoc
document_id
0
0
contract_id
lnkServiceToDoc
document_id
0
0
service_id
lnkTicketToDoc
document_id
0
0
ticket_id
lnkCIToDoc
document_id
0
0
ci_id
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
10
-
20
-
30
-
40
-
50
-
10
-
20
-
30
Document
bizmodel,searchable,documentation
false
autoincrement
externaldoc
id
%1$s
images/document.png
url
false
_blank
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
10
-
20
-
30
-
40
-
50
-
60
-
10
-
20
-
30
-
40
Document
bizmodel,searchable,documentation
false
autoincrement
note
id
%1$s
images/document.png
note
true
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
10
-
20
-
30
-
40
-
50
-
60
-
10
-
20
-
30
-
40
Document
bizmodel,searchable,documentation
false
autoincrement
filedoc
id
%1$s
images/document.png
/**
* Overload the display of the properties to add a tab (the first one)
* with the preview of the document
*/
false
public
Overload-cmdbAbstractObject
SetCurrentTab(Dict::S('Class:Document:PreviewTab'));
$oPage->add($this->DisplayDocumentInline($oPage, 'contents'));
$oPage->SetCurrentTab(Dict::S('UI:PropertiesTab'));
}
parent::DisplayBareProperties($oPage, $bEditMode, $sPrefix, $aExtraParams);
}]]>
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
10
-
20
-
30
-
40
-
50
-
10
-
20
-
30
-
40
cmdbAbstractObject
bizmodel,searchable,configmgmt
false
autoincrement
licence
id
%1$s
images/licence.png
provider
false
org_id
Organization
false
DEL_MANUAL
org_id
name
product
false
name
false
start
true
end
true
licence_key
true
scope
true
usage_limit
true
SoftwareInstance
licence_id
0
0
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
10
-
20
-
30
-
40
-
50
cmdbAbstractObject
bizmodel,searchable,configmgmt
false
autoincrement
subnet
id
%1$s / %2$s
images/subnet.png
description
true
org_id
Organization
false
DEL_MANUAL
org_id
name
ip
false
ip_mask
false
false
public
Overload-cmdbAbstractObject
SetCurrentTab(Dict::S('Class:Subnet/Tab:IPUsage'));
$bit_ip = ip2long($this->Get('ip'));
$bit_mask = ip2long($this->Get('ip_mask'));
$iIPMin = sprintf('%u', ($bit_ip & $bit_mask) | 1); // exclude the first one: identifies the subnet itself
$iIPMax = sprintf('%u', (($bit_ip | (~$bit_mask))) & 0xfffffffe); // exclude the last one : broadcast address
$sIPMin = long2ip($iIPMin);
$sIPMax = long2ip($iIPMax);
$oPage->p(Dict::Format('Class:Subnet/Tab:IPUsage-explain', $sIPMin, $sIPMax));
$oIfFilter = DBObjectSearch::FromOQL("SELECT NetworkInterface AS if WHERE INET_ATON(if.ip_address) >= INET_ATON('$sIPMin') AND INET_ATON(if.ip_address) <= INET_ATON('$sIPMax')");
$oIfSet = new CMDBObjectSet($oIfFilter);
$oBlock = new DisplayBlock($oIfFilter, 'list', false);
$oBlock->Display($oPage, 'nwif', array('menu' => false));
$iCountUsed = $oIfSet->Count();
$iCountRange = $iIPMax - $iIPMin; // On 32-bit systems the substraction will be computed using floats for values greater than PHP_MAX_INT;
$iFreeCount = $iCountRange - $iCountUsed;
$oPage->SetCurrentTab(Dict::S('Class:Subnet/Tab:FreeIPs'));
$oPage->p(Dict::Format('Class:Subnet/Tab:FreeIPs-count', $iFreeCount));
$oPage->p(Dict::S('Class:Subnet/Tab:FreeIPs-explain'));
$aUsedIPs = $oIfSet->GetColumnAsArray('ip_address', false);
$iAnIP = $iIPMin;
$iFound = 0;
while (($iFound < min($iFreeCount, 10)) && ($iAnIP <= $iIPMax))
{
$sAnIP = long2ip($iAnIP);
if (!in_array($sAnIP, $aUsedIPs))
{
$iFound++;
$oPage->p($sAnIP);
}
else
{
}
$iAnIP++;
}
}
}]]>
-
10
-
20
-
30
-
40
-
10
-
20
-
30
-
40
-
10
-
20
-
30
cmdbAbstractObject
bizmodel,searchable,configmgmt
false
autoincrement
patch
id
%1$s
images/patch.png
name
false
description
true
target_sw
true
version
true
application
os
security
servicepack
type
security
false
lnkPatchToCI
patch_id
0
0
ci_id
-
10
-
20
-
30
-
40
-
50
-
60
-
10
-
20
-
30
-
40
-
50
-
10
-
20
-
30
cmdbAbstractObject
bizmodel,searchable,configmgmt
true
autoincrement
software
id
finalclass
%1$s
images/software.png
name
false
description
true
-
10
-
20
-
10
-
20
-
10
Software
bizmodel,searchable,configmgmt
false
autoincrement
software_app
id
%1$s
images/software.png
ApplicationInstance
software_id
0
0
-
10
-
20
-
30
-
10
-
20
-
10
Software
bizmodel,searchable,configmgmt
false
autoincrement
software_db
id
%1$s
images/software.png
DBServerInstance
software_id
0
0
-
10
-
20
-
30
-
10
-
20
-
10
cmdbAbstractObject
1
bizmodel,configmgmt
false
autoincrement
lnkpatchtoci
id
%1$s
patch_id
Patch
false
DEL_AUTO
patch_id
name
ci_id
Device
false
DEL_AUTO
ci_id
name
ci_id
status
-
10
-
20
-
30
-
10
-
20
-
10
-
20
-
30
cmdbAbstractObject
bizmodel,searchable,configmgmt
true
autoincrement
functionalci
id
finalclass
%1$s
images/server.png
name
false
implementation
production
obsolete
status
implementation
false
org_id
Organization
false
DEL_MANUAL
org_id
name
low
medium
high
importance
medium
false
lnkCIToContact
ci_id
0
0
contact_id
lnkCIToDoc
ci_id
0
0
document_id
lnkSolutionToCI
ci_id
0
0
solution_id
lnkContractToCI
ci_id
0
0
contract_id
lnkTicketToCI
ci_id
0
0
ticket_id
true
public
Overload-DBObject
array("sQuery"=>"SELECT Contact AS c JOIN lnkCIToContact AS l1 ON l1.contact_id = c.id WHERE l1.ci_id = :this->id", "bPropagate"=>true, "iDistance"=>3),
"solution" => array("sQuery"=>"SELECT ApplicationSolution AS s JOIN lnkSolutionToCI AS l1 ON l1.solution_id = s.id WHERE l1.ci_id = :this->id", "bPropagate"=>true, "iDistance"=>2),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
default:
return parent::GetRelationQueries($sRelCode);
}
}]]>
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
10
-
20
-
30
-
40
-
10
-
20
-
30
-
40
FunctionalCI
bizmodel,searchable,configmgmt
true
autoincrement
softwareinstance
id
%1$s - %2$s
images/application.png
org_id]]>
device_id
Device
false
DEL_MANUAL
device_id
name
org_id]]>
licence_id
Licence
true
DEL_MANUAL
licence_id
name
version
true
description
true
false
public
Overload-DBObject
public function ComputeValues()
{
}
true
public
Overload-DBObject
array("sQuery"=>"SELECT DatabaseInstance AS db WHERE db.db_server_instance_id = :this->id", "bPropagate"=>true, "iDistance"=>5),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
case 'depends on':
$aRels = array(
"applications" => array("sQuery"=>"SELECT Device JOIN SoftwareInstance AS app ON app.device_id = Device.id WHERE app.id = :this->id", "bPropagate"=>true, "iDistance"=>5),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
default:
return parent::GetRelationQueries($sRelCode);
}
}]]>
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
10
-
20
-
30
-
40
-
50
-
60
-
10
-
20
-
30
-
40
-
50
-
60
SoftwareInstance
bizmodel,searchable,configmgmt
false
autoincrement
softwareinstance_dbserver
id
%1$s - %2$s
images/database.png
software_id
DBServer
false
DEL_MANUAL
software_id
name
DatabaseInstance
db_server_instance_id
0
0
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
140
-
150
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
10
-
20
-
30
-
40
-
50
-
60
SoftwareInstance
bizmodel,searchable,configmgmt
false
autoincrement
softwareinstance_application
id
%1$s - %2$s
images/application.png
software_id
Application
false
DEL_MANUAL
software_id
name
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
140
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
10
-
20
-
30
-
40
-
50
-
60
FunctionalCI
bizmodel,searchable,configmgmt
false
autoincrement
databaseinstance
id
%1$s - %2$s
images/database-instance.png
org_id]]>
db_server_instance_id
DBServerInstance
false
DEL_MANUAL
db_server_instance_id
name
db_server_instance_id
version
description
true
true
public
Overload-DBObject
array("sQuery"=>"SELECT DBServerInstance AS db_server_inst JOIN DatabaseInstance AS db ON db.db_server_instance_id = db_server_inst.id WHERE db.id = :this->id", "bPropagate"=>true, "iDistance"=>5),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
default:
return parent::GetRelationQueries($sRelCode);
}
}]]>
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
10
-
20
-
30
-
40
-
50
-
60
-
10
-
20
-
30
-
40
-
50
FunctionalCI
bizmodel,searchable,configmgmt
false
autoincrement
applicationsolution
id
%1$s
images/solution.png
description
true
lnkSolutionToCI
solution_id
0
0
ci_id
lnkProcessToSolution
solution_id
0
0
process_id
true
public
Overload-DBObject
array("sQuery"=>"SELECT BusinessProcess AS p JOIN lnkProcessToSolution AS l1 ON l1.process_id = p.id WHERE l1.solution_id = :this->id", "bPropagate"=>true, "iDistance"=>3),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
case "depends on":
$aRels = array(
"solution" => array("sQuery"=>"SELECT FunctionalCI AS ci JOIN lnkSolutionToCI AS l1 ON l1.ci_id = ci.id WHERE l1.solution_id = :this->id", "bPropagate"=>true, "iDistance"=>2),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
default:
return parent::GetRelationQueries($sRelCode);
}
}]]>
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
10
-
20
-
30
-
40
-
10
-
20
-
30
FunctionalCI
bizmodel,searchable,configmgmt
false
autoincrement
businessprocess
id
%1$s
images/business-process.png
description
true
lnkProcessToSolution
process_id
0
0
solution_id
true
public
Overload-DBObject
array("sQuery"=>"SELECT ApplicationSolution AS app JOIN lnkProcessToSolution AS l1 ON l1.solution_id = app.id WHERE l1.process_id = :this->id", "bPropagate"=>true, "iDistance"=>3),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
default:
return parent::GetRelationQueries($sRelCode);
}
}]]>
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
10
-
20
-
30
-
40
-
50
-
10
-
20
-
30
FunctionalCI
bizmodel,searchable,configmgmt
true
autoincrement
connectableci
id
%1$s
images/server.png
brand
true
model
true
serial_number
true
asset_ref
true
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
ConnectableCI
bizmodel,searchable,configmgmt
false
autoincrement
networkinterface
id
%1$s - %2$s
images/interface.png
org_id]]>
device_id
Device
false
DEL_AUTO
device_id
name
backup
logical
port
primary
secondary
logical_type
primary
false
atm
ethernet
framerelay
vlan
physical_type
ethernet
false
ip_address
true
ip_mask
true
mac_address
true
speed
true
full
half
auto
unknown
duplex
full
true
org_id]]>
connected_if
NetworkInterface
true
DEL_AUTO
connected_if
name
connected_if
device_id
connected_if
device_name
uplink
downlink
link_type
uplink
false
connected_if
device_id_friendlyname
true
public
Overload-DBObject
array("sQuery"=>"SELECT Device AS dev JOIN NetworkInterface AS if1 ON if1.device_id = dev.id JOIN NetworkInterface AS if2 ON if2.connected_if = if1.id WHERE if2.id = :this->id AND if2.link_type='downlink'", "bPropagate"=>true, "iDistance"=>5),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
default:
return parent::GetRelationQueries($sRelCode);
}
}]]>
false
protected
Overload-DBObject
m_aOrigValues['connected_if']; // The interface this interface was connected to
if ($iPrevTargetIf == $this->Get('connected_if'))
{
return;
}
if ($iPrevTargetIf != 0)
{
// The interface was previosuly connected to another interface. Make sure that we reset this 'previously connected interface'
$oPrevConnectedIf = MetaModel::GetObject('NetworkInterface', $iPrevTargetIf, false);
if (!is_null($oPrevConnectedIf))
{
if ($oPrevConnectedIf->Get('connected_if') == $this->GetKey()) // protection against reentrance
{
$oPrevConnectedIf->Set('connected_if', 0);
$oPrevConnectedIf->DBUpdate();
}
}
}
$oConnIf = MetaModel::GetObject('NetworkInterface', $this->Get('connected_if'), false /* no exception if not found */);
if (!is_null($oConnIf))
{
$sLink = $this->Get('link_type');
$sConnLink = ($sLink == 'uplink') ? 'downlink' : 'uplink';
if (($oConnIf->Get('connected_if') != $this->GetKey()) || ($sConnLink != $oConnIf->Get('link_type')))
{
// Connect the remote interface to the current one
$oConnIf->Set('connected_if', $this->GetKey());
$oConnIf->Set('link_type', $sConnLink);
// Need to backup the current change, because it is reset when DBUpdateTracked is complete
$oConnIf->DBUpdate();
}
}
}]]>
false
protected
Overload-DBObject
UpdateConnectedInterface();
parent::AfterInsert();
}]]>
false
protected
Overload-DBObject
UpdateConnectedInterface();
parent::AfterUpdate();
}]]>
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
140
-
150
-
160
-
170
-
180
-
190
-
200
-
210
-
220
-
230
-
240
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
ConnectableCI
bizmodel,searchable,configmgmt
true
autoincrement
device
id
%1$s
images/server.png
NetworkInterface
device_id
0
0
true
public
Overload-DBObject
array("sQuery"=>"SELECT SoftwareInstance AS app WHERE app.device_id = :this->id", "bPropagate"=>true, "iDistance"=>5),
"connected_devices" => array("sQuery"=>"SELECT Device AS dev JOIN NetworkInterface AS if1 ON if1.device_id = dev.id JOIN NetworkInterface AS if2 ON if2.connected_if = if1.id WHERE if2.device_id = :this->id AND if2.link_type='downlink'", "bPropagate"=>true, "iDistance"=>5),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
case "depends on":
$aRels = array(
"connected_devices" => array("sQuery"=>"SELECT Device AS dev JOIN NetworkInterface AS if1 ON if1.device_id = dev.id JOIN NetworkInterface AS if2 ON if2.connected_if = if1.id WHERE if2.device_id = :this->id AND if2.link_type='uplink'", "bPropagate"=>true, "iDistance"=>5),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
default:
return parent::GetRelationQueries($sRelCode);
}
}]]>
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
140
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
Device
bizmodel,searchable,configmgmt
false
autoincrement
pc
id
%1$s
images/laptop.png
cpu
true
ram
true
hdd
true
os_family
true
os_version
true
SoftwareInstance
device_id
0
0
lnkPatchToCI
ci_id
0
0
patch_id
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
140
-
150
-
160
-
170
-
180
-
190
-
200
-
210
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
10
-
20
-
30
-
40
-
50
-
60
Device
bizmodel,searchable,configmgmt
true
autoincrement
mobileci
id
%1$s
images/mobile-phone.png
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
140
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
10
-
20
-
30
-
40
-
50
MobileCI
bizmodel,searchable,configmgmt
false
autoincrement
mobilephone
id
%1$s
images/mobile-phone.png
number
true
IMIE
true
hw_pin
true
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
140
-
150
-
160
-
170
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
10
-
20
-
30
-
40
-
50
Device
bizmodel,searchable,configmgmt
true
autoincrement
infrastructureci
id
%1$s
images/server.png
description
true
org_id]]>
location_id
Location
true
DEL_MANUAL
location_id
name
location_details
true
management_ip
true
default_gateway
true
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
140
-
150
-
160
-
170
-
180
-
190
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
10
-
20
-
30
-
40
-
50
-
60
InfrastructureCI
bizmodel,searchable,configmgmt
false
autoincrement
networkdevice
id
%1$s
images/switch.png
wanaccelerator
firewall
hub
loadbalancer
router
switch
type
switch
true
ios_version
true
ram
true
snmp_read
true
snmp_write
true
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
140
-
150
-
160
-
170
-
180
-
190
-
200
-
210
-
220
-
230
-
240
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
10
-
20
-
30
-
40
-
50
-
60
-
70
InfrastructureCI
bizmodel,searchable,configmgmt
false
autoincrement
server
id
%1$s
images/server.png
cpu
true
ram
true
hdd
true
os_family
true
os_version
true
SoftwareInstance
device_id
0
0
lnkPatchToCI
ci_id
0
0
patch_id
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
140
-
150
-
160
-
170
-
180
-
190
-
200
-
210
-
220
-
230
-
240
-
250
-
260
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
10
-
20
-
30
-
40
-
50
-
60
-
70
InfrastructureCI
bizmodel,searchable,configmgmt
false
autoincrement
printer
id
%1$s
images/printer.png
mopier
printer
type
printer
true
laser
inkjet
tracer
technology
laser
true
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
140
-
150
-
160
-
170
-
180
-
190
-
200
-
210
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
140
-
150
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
cmdbAbstractObject
bizmodel,searchable,configmgmt
false
autoincrement
group
id
%1$s
images/group.png
name
false
production
implementation
obsolete
status
implementation
false
org_id
Organization
false
DEL_MANUAL
org_id
name
description
true
type
true
parent_id
true
DEL_MANUAL
parent_id
name
lnkGroupToCI
group_id
0
0
ci_id
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
10
-
20
-
30
-
40
-
10
-
20
-
30
-
40
cmdbAbstractObject
1
bizmodel,configmgmt
false
autoincrement
lnkgrouptoci
id
%1$s
group_id
Group
false
DEL_MANUAL
group_id
name
ci_id
FunctionalCI
false
DEL_MANUAL
ci_id
name
ci_id
status
reason
true
-
10
-
20
-
30
-
40
-
10
-
20
-
30
-
10
-
20
-
30
-
40
cmdbAbstractObject
1
bizmodel,configmgmt
false
autoincrement
lnkcitodoc
id
%1$s
ci_id
FunctionalCI
false
DEL_AUTO
ci_id
name
ci_id
status
document_id
Document
false
DEL_AUTO
document_id
name
document_id
type
document_id
status
-
10
-
20
-
30
-
40
-
50
-
10
-
20
-
10
-
20
-
30
-
40
-
50
cmdbAbstractObject
1
bizmodel,configmgmt
false
autoincrement
lnkcitocontact
id
%1$s
images/contact.png
ci_id
FunctionalCI
false
DEL_AUTO
ci_id
name
ci_id
status
contact_id
Contact
false
DEL_AUTO
contact_id
name
contact_id
email
role
true
-
10
-
20
-
30
-
40
-
50
-
10
-
20
-
30
-
10
-
20
-
30
-
40
-
50
cmdbAbstractObject
1
bizmodel,configmgmt
false
autoincrement
lnksolutiontoci
id
%1$s
solution_id
ApplicationSolution
false
DEL_AUTO
solution_id
name
ci_id
FunctionalCI
false
DEL_AUTO
ci_id
name
ci_id
status
utility
true
-
10
-
20
-
30
-
40
-
10
-
20
-
30
-
10
-
20
-
30
-
40
cmdbAbstractObject
1
bizmodel,configmgmt
false
autoincrement
lnkprocesstosolution
id
%1$s
solution_id
ApplicationSolution
false
DEL_AUTO
solution_id
name
process_id
BusinessProcess
false
DEL_AUTO
process_id
name
reason
true
-
10
-
20
-
30
-
10
-
20
-
30
-
10
-
20
-
30