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

configuration.import

Описание

boolean configuration.import(параметры объекта)

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

Этот метод доступен пользователям любого типа. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.

Параметры

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

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

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

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

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

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

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

Поддерживаемые параметры:
createMissing - (логический) Если задано значение 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.
httptests объект Правила, каким образом импортировать вэб-сценарии.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые вэб-сценарии; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие вэб-сценарии будут обновлены; по умолчанию: false;
deleteMissing - (логический) если задано значение 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.
valueMaps объект Правила, каким образом импортировать преобразования значений.

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

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

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

Примеры

Импорт шаблона

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

Запрос:

{
           "jsonrpc": "2.0",
           "method": "configuration.import",
           "params": {
               "format": "xml",
               "rules": {
                   "templates": {
                       "createMissing": true,
                       "updateExisting": true
                   },
                   "items": {
                       "createMissing": true,
                       "updateExisting": true,
                       "deleteMissing": true
                   },
                   "triggers": {
                       "createMissing": true,
                       "updateExisting": true,
                       "deleteMissing": true
                   },
                   "valueMaps": {
                       "createMissing": true,
                       "updateExisting": false
                   }
               },
               "source": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<zabbix_export><version>6.0</version><date>2023-01-01T12:00:00Z</date><groups><group><uuid>7df96b18c230490a9a0a9e2307226338</uuid><name>Templates</name></group></groups><templates><template><uuid>5aef0444a82a4d8cb7a95dc4c0c85330</uuid><template>New template</template><name>New template</name><groups><group><name>Templates</name></group></groups><items><item><uuid>7f1e6f1e48aa4a128e5b6a958a5d11c3</uuid><name>Zabbix agent ping</name><key>agent.ping</key></item><item><uuid>77ba228662be4570830aa3c503fcdc03</uuid><name>Apache server uptime</name><type>DEPENDENT</type><key>apache.server.uptime</key><delay>0</delay><trends>0</trends><value_type>TEXT</value_type><preprocessing><step><type>REGEX</type><parameters><parameter><dt>Server uptime: (.*)</dt></parameter><parameter>\\1</parameter></parameters></step></preprocessing><master_item><key>web.page.get[127.0.0.1/server-status]</key></master_item></item><item><uuid>6805d4c39a624a8bab2cc8ab63df1ab3</uuid><name>CPU load</name><key>system.cpu.load</key><value_type>FLOAT</value_type><triggers><trigger><uuid>ab4c2526c2bc42e48a633082255ebcb3</uuid><expression>avg(/New template/system.cpu.load,3m)>2</expression><name>CPU load too high on 'New host' for 3 minutes</name><priority>WARNING</priority></trigger></triggers></item><item><uuid>590efe5731254f089265c76ff9320726</uuid><name>Apache server status</name><key>web.page.get[127.0.0.1/server-status]</key><trends>0</trends><value_type>TEXT</value_type></item></items><valuemaps><valuemap><uuid>8fd5814c45d44a00a15ac6eaae1f3946</uuid><name>Zabbix agent ping</name><mappings><mapping><value>1</value><newvalue>Available</newvalue></mapping><mapping><value>0</value><newvalue>Not available</newvalue></mapping></mappings></valuemap></valuemaps></template></templates></zabbix_export>\n"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

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

Источник

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