Files
iTop/datamodels/2.x/itop-container-mgmt/datamodel.itop-container-mgmt.xml
Vincent Dumas 38cda442e3 N°9138 - Presentation details step2 + move sample data (#866)
N°9471 - Rename in FR Rack as Baie - Switch Baie and Chassis icons
2026-04-02 18:23:11 +02:00

1496 lines
47 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.3">
<classes>
<class id="ContainerImage" _delta="define">
<parent>cmdbAbstractObject</parent>
<properties>
<category>bizmodel,searchable</category>
<abstract>false</abstract>
<db_table>containerimage</db_table>
<naming>
<attributes>
<attribute id="name"/>
<attribute id="version"/>
</attributes>
<complementary_attributes>
<attribute id="publisher"/>
<attribute id="image"/>
</complementary_attributes>
</naming>
<reconciliation>
<attributes>
<attribute id="image"/>
<attribute id="name"/>
<attribute id="version"/>
<attribute id="publisher"/>
</attributes>
</reconciliation>
<style>
<icon>images/icons8-image-container.svg</icon>
</style>
<uniqueness_rules>
<rule id="no_duplicate">
<attributes>
<attribute id="publisher"/>
<attribute id="image"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
<is_blocking>true</is_blocking>
</rule>
</uniqueness_rules>
</properties>
<fields>
<field id="name" xsi:type="AttributeString">
<sql>name</sql>
<default_value/>
<is_null_allowed>false</is_null_allowed>
</field>
<field id="publisher" xsi:type="AttributeString">
<sql>publisher</sql>
<default_value/>
<is_null_allowed>false</is_null_allowed>
</field>
<field id="version" xsi:type="AttributeString">
<sql>version</sql>
<default_value/>
<is_null_allowed>false</is_null_allowed>
</field>
<field id="description" xsi:type="AttributeText">
<sql>description</sql>
<default_value/>
<is_null_allowed>true</is_null_allowed>
</field>
<field id="type_id" xsi:type="AttributeExternalKey">
<sql>containerimagetype_id</sql>
<target_class>ContainerImageType</target_class>
<is_null_allowed>true</is_null_allowed>
<on_target_delete>DEL_MANUAL</on_target_delete>
</field>
<field id="software_id" xsi:type="AttributeExternalKey">
<sql>software_id</sql>
<filter/>
<dependencies/>
<is_null_allowed>true</is_null_allowed>
<target_class>Software</target_class>
<on_target_delete>DEL_MANUAL</on_target_delete>
<tracking_level>all</tracking_level>
</field>
<field id="image" xsi:type="AttributeString">
<sql>image</sql>
<default_value/>
<is_null_allowed>false</is_null_allowed>
<target/>
<tracking_level>all</tracking_level>
</field>
<field id="containerapplications_list" xsi:type="AttributeLinkedSetIndirect">
<linked_class>lnkContainerApplicationToImage</linked_class>
<ext_key_to_me>containerimage_id</ext_key_to_me>
<count_min>0</count_min>
<count_max>0</count_max>
<ext_key_to_remote>containerapplication_id</ext_key_to_remote>
<duplicates/>
</field>
</fields>
<methods>
<method id="GetIcon">
<comment> /**
* Overrides the GetIcon method to return the logo of the associated Software if any, otherwise the default icon of the class will be returned
*
*/</comment>
<static>false</static>
<access>public</access>
<type>Custom</type>
<code><![CDATA[ public function GetIcon($bImgTag = true)
{
// If there is an image defined on the associated Software, we use it
$sIconClass = 'Software'; // the class storing the image which will be used as icon for the current object
$sExtKeyCode = 'software_id'; // the attribute code pointing to the class having the image to display
$sIconAttCode = 'logo'; // the attribute code of the image to display on the IconClass
$iObj = $this->Get($sExtKeyCode);
if ($iObj > 0) {
$oObj = MetaModel::GetObject($sIconClass, $iObj, true, true);
$oImage = $oObj->Get($sIconAttCode);
$sIconUrl = $oImage->IsEmpty() ? '' : $oImage->GetDisplayURL($sIconClass, $iObj, $sIconAttCode);
if (strlen($sIconUrl) > 0) {
if ($bImgTag) {
return "<img src=\"$sIconUrl\" alt=''/>";
} else {
return $sIconUrl;
}
}
}
// Return the default image
return parent::GetIcon($bImgTag);
}]]></code>
</method>
</methods>
<presentation>
<list>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="version">
<rank>20</rank>
</item>
<item id="publisher">
<rank>30</rank>
</item>
<item id="image">
<rank>40</rank>
</item>
</items>
</list>
<search>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="version">
<rank>20</rank>
</item>
<item id="publisher">
<rank>30</rank>
</item>
<item id="image">
<rank>40</rank>
</item>
<item id="type_id">
<rank>50</rank>
</item>
</items>
</search>
<summary>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="version">
<rank>20</rank>
</item>
<item id="publisher">
<rank>30</rank>
</item>
<item id="type_id">
<rank>40</rank>
</item>
</items>
</summary>
<details>
<items>
<item id="col:col1">
<items>
<item id="fieldset:ConfigMgmt:baseinfo">
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="version">
<rank>20</rank>
</item>
</items>
<rank>10</rank>
</item>
<item id="fieldset:Software:moreinfo">
<items>
<item id="publisher">
<rank>10</rank>
</item>
<item id="image">
<rank>20</rank>
</item>
<item id="type_id">
<rank>30</rank>
</item>
<item id="software_id">
<rank>40</rank>
</item>
</items>
<rank>10</rank>
</item>
</items>
<rank>10</rank>
</item>
<item id="col:col2">
<items>
<item id="fieldset:ConfigMgmt:otherinfo">
<items>
<item id="description">
<rank>10</rank>
</item>
</items>
<rank>10</rank>
</item>
</items>
<rank>20</rank>
</item>
<item id="containerapplications_list">
<rank>50</rank>
</item>
</items>
</details>
<default_search>
<items>
<item id="publisher">
<rank>30</rank>
</item>
<item id="image">
<rank>40</rank>
</item>
<item id="type_id">
<rank>50</rank>
</item>
</items>
</default_search>
</presentation>
<relations>
<relation id="impacts">
<neighbours>
<neighbour id="containerapplication">
<attribute>containerapplications_list</attribute>
<direction>both</direction>
</neighbour>
</neighbours>
</relation>
</relations>
</class>
<class id="SoftwareInstance" _delta="must_exist">
<fields>
<field id="system_id" _delta="must_exist" xsi:type="AttributeExternalKey">
<filter _delta="redefine">SELECT FunctionalCI WHERE IF(:this->finalclass = 'ContainerApplication', finalclass = 'ContainerVirtualHost', finalclass IN ('Server','VirtualMachine','PC'))</filter>
</field>
</fields>
</class>
<class id="ContainerApplication" _delta="define">
<parent>SoftwareInstance</parent>
<properties>
<category>bizmodel,searchable</category>
<abstract>false</abstract>
<db_table>containerapplication</db_table>
<naming>
<attributes>
<attribute id="name"/>
</attributes>
<complementary_attributes>
<attribute id="containervirtualhost_id_friendlyname"/>
</complementary_attributes>
</naming>
<fields_semantic>
<state_attribute>status</state_attribute>
<image_attribute>logo</image_attribute>
</fields_semantic>
<reconciliation>
<attributes>
<attribute id="name"/>
<attribute id="org_id"/>
<attribute id="finalclass"/>
</attributes>
</reconciliation>
<style>
<icon>images/icons8-application-container.svg</icon>
</style>
</properties>
<fields>
<field id="descriptor" xsi:type="AttributeBlob">
<sql>descriptor</sql>
<is_null_allowed>true</is_null_allowed>
</field>
<field id="containervirtualhost_id" xsi:type="AttributeExternalKey">
<sql>containervirtualhost_id</sql>
<filter/>
<is_null_allowed>false</is_null_allowed>
<target_class>ContainerVirtualHost</target_class>
<on_target_delete>DEL_AUTO</on_target_delete>
<tracking_level>all</tracking_level>
</field>
<field id="logo" xsi:type="AttributeImage">
<display_max_width>96</display_max_width>
<display_max_height>96</display_max_height>
<storage_max_width>128</storage_max_width>
<storage_max_height>128</storage_max_height>
<is_null_allowed>true</is_null_allowed>
</field>
<field id="containerimages_list" xsi:type="AttributeLinkedSetIndirect">
<linked_class>lnkContainerApplicationToImage</linked_class>
<ext_key_to_me>containerapplication_id</ext_key_to_me>
<count_min>0</count_min>
<count_max>0</count_max>
<ext_key_to_remote>containerimage_id</ext_key_to_remote>
<duplicates/>
</field>
</fields>
<methods>
<method id="EvtComputeSystemId">
<static>false</static>
<access>public</access>
<type>EventListener</type>
<code><![CDATA[ public function EvtComputeSystemId(?Combodo\iTop\Service\Events\EventData $oEventData = null)
{
$this->Set('system_id', $this->Get('containervirtualhost_id'));
}]]></code>
</method>
</methods>
<event_listeners>
<event_listener id="EVENT_DB_BEFORE_WRITE">
<event>EVENT_DB_BEFORE_WRITE</event>
<callback>EvtComputeSystemId</callback>
<rank>0</rank>
</event_listener>
</event_listeners>
<presentation>
<list>
<items>
<item id="containervirtualhost_id">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="move2production">
<rank>40</rank>
</item>
</items>
</list>
<search>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="move2production">
<rank>40</rank>
</item>
</items>
</search>
<summary>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="containervirtualhost_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="description">
<rank>40</rank>
</item>
</items>
</summary>
<details>
<items>
<item id="col:col1">
<items>
<item id="fieldset:ConfigMgmt:baseinfo">
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="status">
<rank>30</rank>
</item>
<item id="business_criticity">
<rank>40</rank>
</item>
</items>
<rank>10</rank>
</item>
<item id="fieldset:Container:moreinfo">
<items>
<item id="containervirtualhost_id">
<rank>10</rank>
</item>
<item id="descriptor">
<rank>10</rank>
</item>
</items>
<rank>20</rank>
</item>
</items>
<rank>10</rank>
</item>
<item id="col:col2">
<items>
<item id="fieldset:ConfigMgmt:dates">
<items>
<item id="move2production">
<rank>10</rank>
</item>
</items>
<rank>10</rank>
</item>
<item id="fieldset:ConfigMgmt:otherinfo">
<items>
<item id="description">
<rank>10</rank>
</item>
<item id="logo">
<rank>20</rank>
</item>
</items>
<rank>20</rank>
</item>
</items>
<rank>20</rank>
</item>
<item id="containerimages_list">
<rank>30</rank>
</item>
<item id="contacts_list">
<rank>40</rank>
</item>
<item id="documents_list">
<rank>50</rank>
</item>
<item id="applicationsolution_list">
<rank>60</rank>
</item>
<item id="providercontracts_list">
<rank>70</rank>
</item>
<item id="services_list">
<rank>80</rank>
</item>
</items>
</details>
<default_search>
<items>
<item id="friendlyname">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="containervirtualhost_id">
<rank>30</rank>
</item>
<item id="status">
<rank>40</rank>
</item>
</items>
</default_search>
</presentation>
</class>
<class id="lnkContainerApplicationToImage" _delta="define">
<parent>cmdbAbstractObject</parent>
<properties>
<is_link>1</is_link>
<category>bizmodel</category>
<abstract>false</abstract>
<key_type>autoincrement</key_type>
<db_table>lnkcontainerapplicationtoimage</db_table>
<db_key_field>id</db_key_field>
<db_final_class_field/>
<naming>
<attributes>
<attribute id="containerapplication_id_friendlyname"/>
<attribute id="containerimage_id_friendlyname"/>
</attributes>
</naming>
<style>
<icon/>
</style>
<reconciliation>
<attributes>
<attribute id="containerapplication_id"/>
<attribute id="containerimage_id"/>
</attributes>
</reconciliation>
<uniqueness_rules>
<rule id="no_duplicate">
<attributes>
<attribute id="containerapplication_id"/>
<attribute id="containerimage_id"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
<is_blocking>true</is_blocking>
</rule>
</uniqueness_rules>
</properties>
<fields>
<field id="containerapplication_id" xsi:type="AttributeExternalKey">
<sql>containerapplication_id</sql>
<target_class>ContainerApplication</target_class>
<is_null_allowed>false</is_null_allowed>
<on_target_delete>DEL_AUTO</on_target_delete>
</field>
<field id="containerimage_id" xsi:type="AttributeExternalKey">
<sql>containerimage_id</sql>
<target_class>ContainerImage</target_class>
<is_null_allowed>false</is_null_allowed>
<on_target_delete>DEL_AUTO</on_target_delete>
</field>
</fields>
<methods/>
<presentation>
<details>
<items>
<item id="containerapplication_id">
<rank>10</rank>
</item>
<item id="containerimage_id">
<rank>20</rank>
</item>
</items>
</details>
<search>
<items>
<item id="containerapplication_id">
<rank>10</rank>
</item>
<item id="containerimage_id">
<rank>20</rank>
</item>
</items>
</search>
<list>
<items>
<item id="containerapplication_id">
<rank>10</rank>
</item>
<item id="containerimage_id">
<rank>20</rank>
</item>
</items>
</list>
</presentation>
</class>
<class id="ContainerVirtualHost" _delta="define">
<parent>FunctionalCI</parent>
<properties>
<category>bizmodel,searchable</category>
<abstract>true</abstract>
<db_table>containervirtualhost</db_table>
<naming>
<attributes>
<attribute id="name"/>
</attributes>
</naming>
<reconciliation>
<attributes>
<attribute id="name"/>
<attribute id="org_id"/>
<attribute id="org_id_friendlyname"/>
<attribute id="finalclass"/>
</attributes>
</reconciliation>
<fields_semantic>
<state_attribute>status</state_attribute>
</fields_semantic>
<obsolescence>
<condition>status='obsolete'</condition>
</obsolescence>
</properties>
<fields>
<field id="containerapplications_list" xsi:type="AttributeLinkedSet">
<linked_class>ContainerApplication</linked_class>
<ext_key_to_me>containervirtualhost_id</ext_key_to_me>
<tracking_level>list</tracking_level>
<edit_mode/>
<with_php_constraint>false</with_php_constraint>
<with_php_computation>false</with_php_computation>
<edit_when/>
</field>
<field id="status" xsi:type="AttributeEnum">
<sql>status</sql>
<values>
<value id="implementation">
<code>implementation</code>
<rank>10</rank>
<style>
<main_color>$ibo-lifecycle-inactive-state-primary-color</main_color>
<complementary_color>$ibo-lifecycle-inactive-state-secondary-color</complementary_color>
<decoration_classes/>
</style>
</value>
<value id="production">
<code>production</code>
<rank>20</rank>
<style>
<main_color>$ibo-lifecycle-active-state-primary-color</main_color>
<complementary_color>$ibo-lifecycle-active-state-secondary-color</complementary_color>
<decoration_classes/>
</style>
</value>
<value id="obsolete">
<code>obsolete</code>
<rank>30</rank>
<style>
<main_color>$ibo-lifecycle-frozen-state-primary-color</main_color>
<complementary_color>$ibo-lifecycle-frozen-state-secondary-color</complementary_color>
<decoration_classes/>
</style>
</value>
</values>
<default_style>
<main_color>$ibo-lifecycle-neutral-state-primary-color</main_color>
<complementary_color>$ibo-lifecycle-neutral-state-secondary-color</complementary_color>
<decoration_classes/>
</default_style>
<sort_type/>
<default_value>implementation</default_value>
<is_null_allowed>false</is_null_allowed>
<display_style/>
<dependencies/>
<tracking_level>all</tracking_level>
</field>
<field id="containertype_id" xsi:type="AttributeExternalKey">
<sql>containertype_id</sql>
<filter/>
<dependencies/>
<is_null_allowed>true</is_null_allowed>
<target_class>ContainerType</target_class>
<on_target_delete>DEL_MANUAL</on_target_delete>
<tracking_level>all</tracking_level>
</field>
</fields>
<methods/>
<presentation>
<list>
<items>
<item id="finalclass">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="move2production">
<rank>40</rank>
</item>
</items>
</list>
<search>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="move2production">
<rank>40</rank>
</item>
</items>
</search>
<details>
<items>
<item id="col:col1">
<items>
<item id="fieldset:Container:baseinfo">
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="status">
<rank>30</rank>
</item>
<item id="business_criticity">
<rank>40</rank>
</item>
</items>
<rank>10</rank>
</item>
<item id="fieldset:Container:moreinfo">
<items>
<item id="system_id">
<rank>10</rank>
</item>
<item id="containertype_id">
<rank>20</rank>
</item>
</items>
<rank>20</rank>
</item>
</items>
<rank>10</rank>
</item>
<item id="col:col2">
<items>
<item id="fieldset:Container:otherinfo">
<items>
<item id="move2production">
<rank>50</rank>
</item>
<item id="description">
<rank>60</rank>
</item>
</items>
<rank>10</rank>
</item>
</items>
<rank>20</rank>
</item>
<item id="contacts_list">
<rank>30</rank>
</item>
<item id="documents_list">
<rank>40</rank>
</item>
<item id="providercontracts_list">
<rank>50</rank>
</item>
<item id="containerapplications_list">
<rank>60</rank>
</item>
</items>
</details>
<default_search>
<items>
<item id="friendlyname">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="status">
<rank>30</rank>
</item>
</items>
</default_search>
</presentation>
<relations>
<relation id="impacts">
<neighbours>
<neighbour id="containerapplications">
<attribute>containerapplications_list</attribute>
<direction>both</direction>
</neighbour>
</neighbours>
</relation>
</relations>
</class>
<class id="ContainerHost" _delta="define">
<parent>ContainerVirtualHost</parent>
<properties>
<category>bizmodel,searchable</category>
<abstract>false</abstract>
<db_table>containerhost</db_table>
<naming>
<attributes>
<attribute id="name"/>
</attributes>
<complementary_attributes>
<attribute id="role"/>
<attribute id="system_id_friendlyname"/>
</complementary_attributes>
</naming>
<reconciliation>
<attributes>
<attribute id="name"/>
<attribute id="org_id"/>
<attribute id="organization_name"/>
<attribute id="finalclass"/>
</attributes>
</reconciliation>
<fields_semantic>
<state_attribute>status</state_attribute>
</fields_semantic>
<style>
<icon>images/icons8-host-container.svg</icon>
</style>
</properties>
<fields>
<field id="containercluster_id" xsi:type="AttributeExternalKey">
<sql>containercluster_id</sql>
<filter>SELECT ContainerCluster WHERE org_id= :this-&gt;org_id</filter>
<is_null_allowed>true</is_null_allowed>
<target_class>ContainerCluster</target_class>
<on_target_delete>DEL_MANUAL</on_target_delete>
<tracking_level>all</tracking_level>
<dependencies>
<attribute id="org_id"/>
</dependencies>
</field>
<field id="role" xsi:type="AttributeEnum">
<sql>role</sql>
<values>
<value id="master">
<code>master</code>
<rank>10</rank>
</value>
<value id="worker">
<code>worker</code>
<rank>20</rank>
</value>
<value id="standalone">
<code>standalone</code>
<rank>30</rank>
</value>
</values>
<sort_type/>
<default_value>standalone</default_value>
<is_null_allowed>false</is_null_allowed>
<display_style>radio_horizontal</display_style>
<tracking_level>all</tracking_level>
</field>
<field id="system_id" xsi:type="AttributeExternalKey">
<sql>system_id</sql>
<filter>SELECT FunctionalCI WHERE finalclass IN ('Server','VirtualMachine','Cloud')</filter>
<is_null_allowed>false</is_null_allowed>
<target_class>FunctionalCI</target_class>
<on_target_delete>DEL_AUTO</on_target_delete>
<tracking_level>all</tracking_level>
</field>
</fields>
<methods>
<method id="EvtBeforeWrite">
<comment> /**
* Event Listener for EVENT_DB_BEFORE_WRITE
* An object is about to be written into the database.
* The object can be modified.
*
* @param Combodo\iTop\Service\Events\EventData $oEventData Event data object
*
*/</comment>
<static>false</static>
<access>public</access>
<type>EventListener</type>
<code><![CDATA[ public function EvtBeforeWrite(Combodo\iTop\Service\Events\EventData $oEventData)
{
if ($this->Get('containercluster_id') == 0) {
$this->Set('role', 'standalone');
} else if ($this->Get('role') == 'standalone') {
$this->Set('role', 'worker');
}
}]]></code>
</method>
</methods>
<presentation>
<list>
<items>
<item id="role">
<rank>10</rank>
</item>
<item id="containercluster_id">
<rank>20</rank>
</item>
<item id="system_id">
<rank>30</rank>
</item>
<item id="org_id">
<rank>40</rank>
</item>
<item id="business_criticity">
<rank>50</rank>
</item>
</items>
</list>
<search>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="move2production">
<rank>40</rank>
</item>
</items>
</search>
<summary>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="system_id">
<rank>20</rank>
</item>
<item id="containertype_id">
<rank>30</rank>
</item>
<item id="containercluster_id">
<rank>40</rank>
</item>
<item id="business_criticity">
<rank>50</rank>
</item>
<item id="description">
<rank>60</rank>
</item>
</items>
</summary>
<details>
<items>
<item id="col:col1">
<items>
<item id="fieldset:ConfigMgmt:baseinfo">
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="status">
<rank>30</rank>
</item>
<item id="business_criticity">
<rank>40</rank>
</item>
</items>
<rank>10</rank>
</item>
<item id="fieldset:Container:moreinfo">
<items>
<item id="system_id">
<rank>10</rank>
</item>
<item id="containertype_id">
<rank>20</rank>
</item>
<item id="containercluster_id">
<rank>30</rank>
</item>
<item id="role">
<rank>40</rank>
</item>
</items>
<rank>20</rank>
</item>
</items>
<rank>10</rank>
</item>
<item id="col:col2">
<items>
<item id="fieldset:ConfigMgmt:dates">
<items>
<item id="move2production">
<rank>10</rank>
</item>
</items>
<rank>10</rank>
</item>
<item id="fieldset:ConfigMgmt:otherinfo">
<items>
<item id="description">
<rank>10</rank>
</item>
</items>
<rank>20</rank>
</item>
</items>
<rank>20</rank>
</item>
<item id="contacts_list">
<rank>30</rank>
</item>
<item id="documents_list">
<rank>40</rank>
</item>
<item id="providercontracts_list">
<rank>50</rank>
</item>
<item id="containerapplications_list">
<rank>60</rank>
</item>
</items>
</details>
<default_search>
<items>
<item id="friendlyname">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="role">
<rank>30</rank>
</item>
<item id="containertype_id">
<rank>40</rank>
</item>
<item id="system_id">
<rank>50</rank>
</item>
<item id="status">
<rank>60</rank>
</item>
</items>
</default_search>
</presentation>
<relations>
<relation id="impacts">
<neighbours>
<neighbour id="containercluster">
<attribute>containercluster_id</attribute>
<direction>both</direction>
</neighbour>
</neighbours>
</relation>
</relations>
<event_listeners>
<event_listener id="EVENT_DB_BEFORE_WRITE">
<event>EVENT_DB_BEFORE_WRITE</event>
<callback>EvtBeforeWrite</callback>
<rank>0</rank>
</event_listener>
</event_listeners>
</class>
<class id="ContainerCluster" _delta="define">
<parent>ContainerVirtualHost</parent>
<properties>
<category>bizmodel,searchable</category>
<abstract>false</abstract>
<db_table>containercluster</db_table>
<naming>
<attributes>
<attribute id="name"/>
</attributes>
</naming>
<reconciliation>
<attributes>
<attribute id="name"/>
<attribute id="org_id"/>
<attribute id="organization_name"/>
<attribute id="finalclass"/>
</attributes>
</reconciliation>
<fields_semantic>
<state_attribute>status</state_attribute>
</fields_semantic>
<style>
<icon>images/icons8-cluster-container.svg</icon>
</style>
</properties>
<fields>
<field id="redundancy" xsi:type="AttributeRedundancySettings">
<sql>redundancy</sql>
<relation_code>impacts</relation_code>
<from_class>ContainerHost</from_class>
<neighbour_id>containercluster</neighbour_id>
<enabled>true</enabled>
<min_up>50</min_up>
<min_up_type>percent</min_up_type>
<min_up_mode>user</min_up_mode>
<enabled_mode>user</enabled_mode>
</field>
<field id="containerhosts_list" xsi:type="AttributeLinkedSet">
<linked_class>ContainerHost</linked_class>
<ext_key_to_me>containercluster_id</ext_key_to_me>
<tracking_level>list</tracking_level>
<edit_mode/>
<with_php_constraint>false</with_php_constraint>
<with_php_computation>false</with_php_computation>
<edit_when>on_host_display</edit_when>
</field>
</fields>
<methods/>
<presentation>
<list>
<items>
<item id="finalclass">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
</items>
</list>
<search>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="move2production">
<rank>40</rank>
</item>
</items>
</search>
<summary>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="containertype_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="description">
<rank>40</rank>
</item>
</items>
</summary>
<details>
<items>
<item id="col:col1">
<items>
<item id="fieldset:ConfigMgmt:baseinfo">
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="status">
<rank>30</rank>
</item>
<item id="business_criticity">
<rank>40</rank>
</item>
</items>
<rank>10</rank>
</item>
<item id="fieldset:Container:moreinfo">
<items>
<item id="containertype_id">
<rank>10</rank>
</item>
</items>
<rank>20</rank>
</item>
</items>
<rank>10</rank>
</item>
<item id="col:col2">
<items>
<item id="fieldset:ConfigMgmt:dates">
<items>
<item id="move2production">
<rank>10</rank>
</item>
</items>
<rank>10</rank>
</item>
<item id="fieldset:ConfigMgmt:otherinfo">
<items>
<item id="description">
<rank>10</rank>
</item>
</items>
<rank>20</rank>
</item>
</items>
<rank>20</rank>
</item>
<item id="contacts_list">
<rank>30</rank>
</item>
<item id="documents_list">
<rank>40</rank>
</item>
<item id="providercontracts_list">
<rank>50</rank>
</item>
<item id="containerhosts_list">
<rank>60</rank>
</item>
<item id="containerapplications_list">
<rank>70</rank>
</item>
</items>
</details>
<default_search>
<items>
<item id="friendlyname">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="containertype_id">
<rank>30</rank>
</item>
<item id="status">
<rank>40</rank>
</item>
</items>
</default_search>
</presentation>
</class>
<class id="ContainerType" _delta="define">
<parent>Typology</parent>
<properties>
<category>bizmodel,searchable</category>
<abstract>false</abstract>
<db_table>containertype</db_table>
<naming>
<attributes>
<attribute id="name"/>
</attributes>
</naming>
<reconciliation>
<attributes>
<attribute id="name"/>
<attribute id="finalclass"/>
</attributes>
</reconciliation>
</properties>
<fields/>
<methods/>
<presentation>
<list>
<items>
<item id="finalclass">
<rank>10</rank>
</item>
</items>
</list>
<search>
<items>
<item id="name">
<rank>10</rank>
</item>
</items>
</search>
<details>
<items>
<item id="name">
<rank>10</rank>
</item>
</items>
</details>
</presentation>
</class>
<class id="ContainerImageType" _delta="define">
<parent>Typology</parent>
<properties>
<category>bizmodel,searchable</category>
<abstract>false</abstract>
<db_table>containerimagetype</db_table>
<naming>
<attributes>
<attribute id="name"/>
</attributes>
</naming>
<reconciliation>
<attributes>
<attribute id="name"/>
<attribute id="finalclass"/>
</attributes>
</reconciliation>
</properties>
<fields/>
<methods/>
<presentation>
<list>
<items>
<item id="finalclass">
<rank>10</rank>
</item>
</items>
</list>
<search>
<items>
<item id="name">
<rank>10</rank>
</item>
</items>
</search>
<details>
<items>
<item id="name">
<rank>10</rank>
</item>
</items>
</details>
</presentation>
</class>
<class id="Cloud" _delta="must_exist">
<fields>
<field id="containerhosts_list" xsi:type="AttributeLinkedSet" _delta="define">
<linked_class>ContainerHost</linked_class>
<ext_key_to_me>system_id</ext_key_to_me>
<tracking_level>list</tracking_level>
<edit_mode/>
<with_php_constraint>false</with_php_constraint>
<with_php_computation>false</with_php_computation>
<edit_when/>
</field>
</fields>
<presentation>
<details>
<items>
<item id="containerhosts_list" _delta="define">
<rank>40</rank>
</item>
</items>
</details>
</presentation>
<relations>
<relation id="impacts" _delta="merge">
<neighbours>
<neighbour id="containerhosts" _delta="define">
<attribute>containerhosts_list</attribute>
<direction>both</direction>
</neighbour>
</neighbours>
</relation>
</relations>
</class>
<class id="Server" _delta="must_exist">
<fields>
<field id="containerhosts_list" xsi:type="AttributeLinkedSet" _delta="define">
<linked_class>ContainerHost</linked_class>
<ext_key_to_me>system_id</ext_key_to_me>
<tracking_level>list</tracking_level>
<edit_mode/>
<with_php_constraint>false</with_php_constraint>
<with_php_computation>false</with_php_computation>
<edit_when/>
</field>
</fields>
<presentation>
<details>
<items>
<item id="containerhosts_list" _delta="define">
<rank>140</rank>
</item>
</items>
</details>
</presentation>
<relations>
<relation id="impacts" _delta="merge">
<neighbours>
<neighbour id="containerhosts" _delta="define">
<attribute>containerhosts_list</attribute>
<direction>both</direction>
</neighbour>
</neighbours>
</relation>
</relations>
</class>
<class id="Software" _delta="must_exist">
<fields>
<field id="containerimages_list" xsi:type="AttributeLinkedSet" _delta="define">
<linked_class>ContainerImage</linked_class>
<ext_key_to_me>software_id</ext_key_to_me>
<tracking_level>list</tracking_level>
<edit_mode>add_only</edit_mode>
<with_php_constraint>false</with_php_constraint>
<with_php_computation>false</with_php_computation>
<edit_when/>
</field>
</fields>
<presentation>
<details>
<items>
<item id="containerimages_list" _delta="define">
<rank>150</rank>
</item>
</items>
</details>
</presentation>
</class>
<class id="VirtualMachine" _delta="must_exist">
<fields>
<field id="containerhosts_list" xsi:type="AttributeLinkedSet" _delta="define">
<linked_class>ContainerHost</linked_class>
<ext_key_to_me>system_id</ext_key_to_me>
<tracking_level>list</tracking_level>
<edit_mode/>
<with_php_constraint>false</with_php_constraint>
<with_php_computation>false</with_php_computation>
<edit_when/>
</field>
</fields>
<presentation>
<details>
<items>
<item id="containerhosts_list" _delta="define">
<rank>140</rank>
</item>
</items>
</details>
</presentation>
<relations>
<relation id="impacts" _delta="merge">
<neighbours>
<neighbour id="containerhosts" _delta="define">
<attribute>containerhosts_list</attribute>
<direction>both</direction>
</neighbour>
</neighbours>
</relation>
</relations>
</class>
</classes>
<menus>
<menu id="ConfigManagementOverview" xsi:type="DashboardMenuNode" _delta="must_exist">
<definition>
<cells>
<cell id="1" _delta="must_exist">
<rank>1</rank>
<dashlets>
<dashlet id="container_43" xsi:type="DashletBadge" _delta="define">
<rank>5</rank>
<class>ContainerApplication</class>
</dashlet>
<dashlet id="container_44" xsi:type="DashletBadge" _delta="define">
<rank>6</rank>
<class>ContainerHost</class>
</dashlet>
<dashlet id="container_45" xsi:type="DashletBadge" _delta="define">
<rank>7</rank>
<class>ContainerCluster</class>
</dashlet>
<dashlet id="container_46" xsi:type="DashletBadge" _delta="define">
<rank>8</rank>
<class>ContainerImage</class>
</dashlet>
</dashlets>
</cell>
</cells>
</definition>
</menu>
<menu id="Typology" xsi:type="DashboardMenuNode" _delta="must_exist">
<definition>
<cells>
<cell id="0">
<rank>0</rank>
<dashlets>
<dashlet id="container_21" xsi:type="DashletBadge" _delta="define">
<rank>21</rank>
<class>ContainerType</class>
</dashlet>
<dashlet id="container_22" xsi:type="DashletBadge" _delta="define">
<rank>22</rank>
<class>ContainerImageType</class>
</dashlet>
</dashlets>
</cell>
</cells>
</definition>
</menu>
</menus>
</itop_design>