[comment]: # ({1359fe15-1359fe15})
# configuration.import

[comment]: # ({/1359fe15-1359fe15})

[comment]: # ({347dffb3-fe885a4a})
### Opis

`boolean configuration.import(object parameters)`

Ta metoda umożliwia import danych konfiguracyjnych z serializowanego ciągu znaków.

::: noteclassic
Ta metoda jest dostępna dla użytkowników dowolnego typu.
Uprawnienia do wywołania tej metody mogą zostać cofnięte w ustawieniach roli użytkownika.
Więcej informacji można znaleźć w sekcji [Role użytkowników](/manual/web_interface/frontend_sections/users/user_roles).
:::

[comment]: # ({/347dffb3-fe885a4a})

[comment]: # ({2870849b-147fd272})
### Parametry

`(object)` Parametry zawierające dane do importu oraz reguły określające, jak dane powinny zostać obsłużone.

|Parameter|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|format|string|Format serializowanego ciągu.<br><br>Możliwe wartości:<br>`yaml` - YAML;<br>`xml` - XML;<br>`json` - JSON.<br><br>[Zachowanie parametru](/manual/api/reference_commentary#parameter-behavior):<br>- *required*|
|source|string|Serializowany ciąg zawierający dane konfiguracyjne.<br><br>[Zachowanie parametru](/manual/api/reference_commentary#parameter-behavior):<br>- *required*|
|rules|object|Reguły określające sposób importu nowych i istniejących obiektów.<br><br>Użytkownicy typu *Admin* mogą importować tylko te obiekty, dla których mają uprawnienie *read-write* [permission](/manual/api/reference/usergroup/object#permission), a także mapy. Na przykład host i jego elementy (pozycje, wyzwalacze, wykresy itd.) mogą zostać zaimportowane tylko wtedy, gdy grupa użytkowników, do której należy użytkownik, ma uprawnienia do grupy hostów, do której będzie należał importowany host. Użytkownicy typu *Admin* nie mogą importować obrazów ani typów mediów.<br><br>Parametr `rules` został szczegółowo opisany w tabeli poniżej.<br><br>[Zachowanie parametru](/manual/api/reference_commentary#parameter-behavior):<br>- *required*|

::: noteimportant
Jeśli nie zostaną podane żadne reguły, konfiguracja nie zostanie zaktualizowana.
:::

Obiekt `rules` obsługuje następujące parametry.

|Parameter|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|discoveryRules|object|Reguły importu reguł LLD.<br><br>Obsługiwane parametry:<br>`createMissing` - `(boolean)` jeśli ustawione na `true`, zostaną utworzone nowe reguły LLD; domyślnie: `false`;<br>`updateExisting` - `(boolean)` jeśli ustawione na `true`, istniejące reguły LLD zostaną zaktualizowane; domyślnie: `false`;<br>`deleteMissing` - `(boolean)` jeśli ustawione na `true`, reguły LLD nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: `false`.|
|graphs|object|Reguły importu wykresów.<br><br>Obsługiwane parametry:<br>`createMissing` - `(boolean)` jeśli ustawione na `true`, zostaną utworzone nowe wykresy; domyślnie: `false`;<br>`updateExisting` - `(boolean)` jeśli ustawione na `true`, istniejące wykresy zostaną zaktualizowane; domyślnie: `false`;<br>`deleteMissing` - `(boolean)` jeśli ustawione na `true`, wykresy nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: `false`.|
|host_groups|object|Reguły importu grup hostów.<br><br>Obsługiwane parametry:<br>`createMissing` - `(boolean)` jeśli ustawione na `true`, zostaną utworzone nowe grupy hostów; domyślnie: `false`;<br>`updateExisting` - `(boolean)` jeśli ustawione na `true`, istniejące grupy hostów zostaną zaktualizowane; domyślnie: `false`.|
|template_groups|object|Reguły importu grup szablonów.<br><br>Obsługiwane parametry:<br>`createMissing` - `(boolean)` jeśli ustawione na `true`, zostaną utworzone nowe grupy szablonów; domyślnie: `false`;<br>`updateExisting` - `(boolean)` jeśli ustawione na `true`, istniejące grupy szablonów zostaną zaktualizowane; domyślnie: `false`.|
|hosts|object|Reguły importu hostów.<br><br>Obsługiwane parametry:<br>`createMissing` - `(boolean)` jeśli ustawione na `true`, zostaną utworzone nowe hosty; domyślnie: `false`;<br>`updateExisting` - `(boolean)` jeśli ustawione na `true`, istniejące hosty zostaną zaktualizowane; domyślnie: `false`.|
|httptests|object|Reguły importu scenariuszy web.<br><br>Obsługiwane parametry:<br>`createMissing` - `(boolean)` jeśli ustawione na `true`, zostaną utworzone nowe scenariusze web; domyślnie: `false`;<br>`updateExisting` - `(boolean)` jeśli ustawione na `true`, istniejące scenariusze web zostaną zaktualizowane; domyślnie: `false`;<br>`deleteMissing` - `(boolean)` jeśli ustawione na `true`, scenariusze web nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: `false`.|
|images|object|Reguły importu obrazów.<br><br>Obsługiwane parametry:<br>`createMissing` - `(boolean)` jeśli ustawione na `true`, zostaną utworzone nowe obrazy; domyślnie: `false`;<br>`updateExisting` - `(boolean)` jeśli ustawione na `true`, istniejące obrazy zostaną zaktualizowane; domyślnie: `false`.|
|items|object|Reguły importu pozycji.<br><br>Obsługiwane parametry:<br>`createMissing` - `(boolean)` jeśli ustawione na `true`, zostaną utworzone nowe pozycje; domyślnie: `false`;<br>`updateExisting` - `(boolean)` jeśli ustawione na `true`, istniejące pozycje zostaną zaktualizowane; domyślnie: `false`;<br>`deleteMissing` - `(boolean)` jeśli ustawione na `true`, pozycje nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: `false`.|
|maps|object|Reguły importu map.<br><br>Obsługiwane parametry:<br>`createMissing` - `(boolean)` jeśli ustawione na `true`, zostaną utworzone nowe mapy; domyślnie: `false`;<br>`updateExisting` - `(boolean)` jeśli ustawione na `true`, istniejące mapy zostaną zaktualizowane; domyślnie: `false`.|
|mediaTypes|object|Reguły importu typów mediów.<br><br>Obsługiwane parametry:<br>`createMissing` - `(boolean)` jeśli ustawione na `true`, zostaną utworzone nowe typy mediów; domyślnie: `false`;<br>`updateExisting` - `(boolean)` jeśli ustawione na `true`, istniejące typy mediów zostaną zaktualizowane; domyślnie: `false`.|
|templateLinkage|object|Reguły importu powiązań szablonów.<br><br>Obsługiwane parametry:<br>`createMissing` - `(boolean)` jeśli ustawione na `true`, szablony, które nie są powiązane z importowanym hostem lub szablonem, ale są obecne w importowanych danych, zostaną powiązane; domyślnie: `false`;<br>`deleteMissing` - `(boolean)` jeśli ustawione na `true`, szablony powiązane z importowanym hostem lub szablonem, ale nieobecne w importowanych danych, zostaną odłączone bez usuwania elementów (pozycji, wyzwalaczy itd.) odziedziczonych po odłączonych szablonach; domyślnie: `false`.|
|templates|object|Reguły importu szablonów.<br><br>Obsługiwane parametry:<br>`createMissing` - `(boolean)` jeśli ustawione na `true`, zostaną utworzone nowe szablony; domyślnie: `false`;<br>`updateExisting` - `(boolean)` jeśli ustawione na `true`, istniejące szablony zostaną zaktualizowane; domyślnie: `false`.|
|templateDashboards|object|Reguły importu dashboardów szablonów.<br><br>Obsługiwane parametry:<br>`createMissing` - `(boolean)` jeśli ustawione na `true`, zostaną utworzone nowe dashboardy szablonów; domyślnie: `false`;<br>`updateExisting` - `(boolean)` jeśli ustawione na `true`, istniejące dashboardy szablonów zostaną zaktualizowane; domyślnie: `false`;<br>`deleteMissing` - `(boolean)` jeśli ustawione na `true`, dashboardy szablonów nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: `false`.|
|triggers|object|Reguły importu wyzwalaczy.<br><br>Obsługiwane parametry:<br>`createMissing` - `(boolean)` jeśli ustawione na `true`, zostaną utworzone nowe wyzwalacze; domyślnie: `false`;<br>`updateExisting` - `(boolean)` jeśli ustawione na `true`, istniejące wyzwalacze zostaną zaktualizowane; domyślnie: `false`;<br>`deleteMissing` - `(boolean)` jeśli ustawione na `true`, wyzwalacze nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: `false`.|
|valueMaps|object|Reguły importu map wartości hosta lub szablonu.<br><br>Obsługiwane parametry:<br>`createMissing` - `(boolean)` jeśli ustawione na `true`, zostaną utworzone nowe mapy wartości; domyślnie: `false`;<br>`updateExisting` - `(boolean)` jeśli ustawione na `true`, istniejące mapy wartości zostaną zaktualizowane; domyślnie: `false`;<br>`deleteMissing` - `(boolean)` jeśli ustawione na `true`, mapy wartości nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: `false`.|

[comment]: # ({/2870849b-147fd272})

[comment]: # ({08d02880-08d02880})
### Zwracane wartości

`(boolean)` Zwraca `true` jeżeli importowanie się powiodło.

[comment]: # ({/08d02880-08d02880})

[comment]: # ({b41637d2-b41637d2})
### Przykłady

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({c692ed15-0801380e})
#### Importowanie szablonu

Zaimportuj konfigurację szablonu zawartą w ciągu XML.
Jeśli w ciągu XML brakuje jakichkolwiek pozycji lub wyzwalaczy, zostaną one usunięte z bazy danych, a wszystko inne pozostanie bez zmian.

[Żądanie](/manual/api#performing-requests):

```json
{
    "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>7.4</version><template_groups><template_group><uuid>7df96b18c230490a9a0a9e2307226338</uuid><name>Templates</name></template_group></template_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>&lt;dt&gt;Server uptime: (.*)&lt;\/dt&gt;</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)&gt;2</expression><name>CPU load too high on {HOST.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"
    },
    "id": 1
}
```

Odpowiedź:

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

[comment]: # ({/c692ed15-0801380e})

[comment]: # ({b6dce61f-c5744b74})
### Źródło

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

[comment]: # ({/b6dce61f-c5744b74})
