configuration.import

Описание

логический configuration.import(объект параметры)

Этот метод позволяет импортировать данные конфигурации из сериализованной строки.

Параметры

(объект) Параметры, которые содержат импортируемые данные конфигурации и правила каким образом необходимо обрабатывать эти данные.

Параметр Тип Описание
format
(требуется)
строка Формат сериализованной строки.

Возможные значения:
json - JSON;
xml - XML.
source
(требуется)
строка Сериализованная строка, которая содержит данные конфигурации.
rules
(требуется)
объект Правила, каким образом необходимо импортировать новые и существующие объекты.

Параметр rules детально описан в таблице ниже.

Если правила не заданы, конфигурация не будет обновляться.

Объект rules поддерживает следующие параметры.

Параметр Тип Описание
applications объект Правила, каким образом импортировать группы элементов данных.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые группы элементов данных; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие группы элементов данных будут обновлены; по умолчанию: false;
deleteMissing - (логический) если задано значение true, отсутствующие группы элементов данных в импортируемых данных будут удалены из базы данных; по умолчанию: false.
discoveryRules объект Правила, каким образом импортировать LLD правила.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые LLD правила; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие LLD правила будут обновлены; по умолчанию: false;
deleteMissing - (логический) если задано значение true, отсутствующие LLD правила в импортируемых данных будут удалены из базы данных; по умолчанию: false.
graphs объект Правила, каким образом импортировать графики.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые графики; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие графики будут обновлены; по умолчанию: false;
deleteMissing - (логический) если задано значение true, отсутствующие графики в импортируемых данных будут удалены из базы данных; по умолчанию: false.
groups объект Правила, каким образом импортировать группы узлов сети.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые группы узлов сети; по умолчанию: false.
hosts объект Правила, каким образом импортировать узлы сети.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые узлы сети; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие узлы сети будут обновлены; по умолчанию: false.
images объект Правила, каким образом импортировать изображения.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые изображения; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие изображения будут обновлены; по умолчанию: false.
items объект Правила, каким образом импортировать элементы данных.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые элементы данных; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие элементы данных будут обновлены; по умолчанию: false;
deleteMissing - (логический) если задано значение true, отсутствующие элементы данных в импортируемых данных будут удалены из базы данных; по умолчанию: false.
maps объект Правила, каким образом импортировать карты сетей.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые карты сетей; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие карты сетей будут обновлены; по умолчанию: false.
screens объект Правила, каким образом импортировать комплексные экраны.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые комплексные экраны; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие комплексные экраны будут обновлены; по умолчанию: false.
templateLinkage объект Правила, каким образом импортировать соединения с шаблонами.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые соединения между шаблонами и узлами сети; по умолчанию: false.
templates объект Правила, каким образом импортировать шаблоны.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые шаблоны; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие шаблоны будут обновлены; по умолчанию: false.
templateScreens объект Правила, каким образом импортировать комплексные экраны шаблонов.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые комплексные экраны шаблонов; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие комплексные экраны шаблонов будут обновлены; по умолчанию: false;
deleteMissing - (логический) если задано значение true, отсутствующие комплексные экраны шаблонов в импортируемых данных будут удалены из базы данных; по умолчанию: false.
triggers объект Правила, каким образом импортировать триггеры.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые триггеры; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие триггеры будут обновлены; по умолчанию: false;
deleteMissing - (логический) если задано значение true, отсутствующие триггеры в импортируемых данных будут удалены из базы данных; по умолчанию: false.

Возвращаемые значения

(логический) Возвращает true при успешном импорте.

Примеры

Импорт узлов сети с элементами данных

Импорт узлов сети и элементов данных, которые имеются в строке XML. Если какие-либо элементы данных отсутствуют в XML, они будут удалены из базы данных, всё остальное останется не тронутым.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "configuration.import",
           "params": {
               "format": "xml",
               "rules": {
                   "hosts": {
                       "createMissing": true,
                       "updateExisting": true
                   },
                   "items": {
                       "createMissing": true,
                       "updateExisting": true,
                       "deleteMissing": true
                   }
               },
               "source": "<!--?xml version=\"1.0\" encoding=\"UTF-8\"?-→<zabbix_export><version>2.0</version><date>2012-04-18T11:20:14Z</date><groups><group><name>Zabbix servers</name></group></groups><hosts><host><host>Export host</host><name>Export host</name><proxyid>0</proxyid><status>0</status><ipmi_authtype>-1</ipmi_authtype><ipmi_privilege>2</ipmi_privilege><ipmi_username></ipmi_username><ipmi_password></ipmi_password><templates></templates><groups><group><name>Zabbix servers</name></group></groups><interfaces><interface><default>1</default><type>1</type><useip>1</useip><ip>127.0.0.1</ip><dns></dns><port>10050</port><interface_ref>if1</interface_ref></interface></interfaces><applications><application><name>Application</name></application></applications><items><item><name>Item</name><type>0</type><snmp_community></snmp_community><multiplier>0</multiplier><snmp_oid></snmp_oid><key>item.key</key><delay>30</delay><history>90</history><trends>365</trends><status>0</status><value_type>3</value_type><allowed_hosts></allowed_hosts><units></units><delta>0</delta><snmpv3_securityname></snmpv3_securityname><snmpv3_securitylevel>0</snmpv3_securitylevel><snmpv3_authpassphrase></snmpv3_authpassphrase><snmpv3_privpassphrase></snmpv3_privpassphrase><formula>1</formula><delay_flex></delay_flex><params></params><ipmi_sensor></ipmi_sensor><data_type>0</data_type><authtype>0</authtype><username></username><password></password><publickey></publickey><privatekey></privatekey><port></port><description></description><inventory_link>0</inventory_link><applications><application><name>Application</name></application></applications><valuemap></valuemap><interface_ref>if1</interface_ref></item></items><discovery_rules></discovery_rules><macros></macros><inventory></inventory></host></hosts><triggers><trigger><expression>{Export host:item.key.last()}=0</expression><name>Trigger</name><url></url><status>0</status><priority>2</priority><description>Host trigger</description><type>0</type><dependencies></dependencies></trigger></triggers><graphs><graph><name>Graph</name><width>900</width><height>200</height><yaxismin>0.0000</yaxismin><yaxismax>100.0000</yaxismax><show_work_period>1</show_work_period><show_triggers>1</show_triggers><type>0</type><show_legend>1</show_legend><show_3d>0</show_3d><percent_left>0.0000</percent_left><percent_right>0.0000</percent_right><ymin_type_1>0</ymin_type_1><ymax_type_1>0</ymax_type_1><ymin_item_1>0</ymin_item_1><ymax_item_1>0</ymax_item_1><graph_items><graph_item><sortorder>0</sortorder><drawtype>0</drawtype><color>C80000</color><yaxisside>0</yaxisside><calc_fnc>7</calc_fnc><type>0</type><item><host>Export host</host><key>item.key</key></item></graph_item></graph_items></graph></graphs></zabbix_export>"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": true,
           "id": 1
       }

Исходный код

CConfiguration::import() в frontends/php/include/classes/api/services/CConfiguration.php.