[comment]: # translation:outdated

[comment]: # ({2956300c-2956300c})
# configuratie.importvergelijking

[comment]: # ({/2956300c-2956300c})

[comment]: # ({24146d56-069ae59d})
The method `configuration.importcompare` allows you to compare an import file with the current system elements and see what changes would occur if the import file were to be imported. This can help you understand the impact of importing the configuration changes without actually applying them to the system.

Please note that this method is available to users of any type, but permissions to call the method can be controlled through user role settings.

For more information on how to use this method and its parameters, you can refer to the [official Zabbix documentation](https://www.zabbix.com/documentation/5.4/manual/api/reference/configuration/importcompare).

[comment]: # ({/24146d56-069ae59d})

[comment]: # ({dee760dc-0ae26f0f})
### Parameters

`(object)` Parameters met de mogelijke gegevens om te importeren en de regels voor hoe de gegevens moeten worden verwerkt.

|Parameter|[Type](/manual/api/reference_commentary#data_types)|Omschrijving|
|--|--|------|
|format|string|Formaat van de geserialiseerde string.<br><br>Mogelijke waarden:<br>`yaml` - YAML;<br>`xml` - XML;<br>`json` - JSON.<br><br>[Gedrag van de parameter](/manual/api/reference_commentary#parameter-behavior):<br>- *verplicht*|
|source|string|Geserialiseerde string met de configuratiegegevens.<br><br>[Gedrag van de parameter](/manual/api/reference_commentary#parameter-behavior):<br>- *verplicht*|
|rules|object|Regels over hoe nieuwe en bestaande objecten moeten worden vergeleken.<br><br>De parameter `rules` wordt in detail beschreven in de onderstaande tabel.<br><br>[Gedrag van de parameter](/manual/api/reference_commentary#parameter-behavior):<br>- *verplicht*|

::: notetip
Als er geen regels worden opgegeven, is er niets om bij te werken en is het resultaat leeg.
:::

::: notetip
Vergelijking wordt alleen gedaan voor hostgroepen en sjablonen.
Triggers en grafieken worden alleen vergeleken voor geïmporteerde sjablonen, alle andere worden beschouwd als "nieuw".
:::

Het `rules`-object ondersteunt de volgende parameters.

|Parameter|[Type](/manual/api/reference_commentary#data_types)|Omschrijving|
|--|--|------|
|discoveryRules|object|Regels voor het importeren van LLD-regels (Low-Level Discovery).<br><br>Ondersteunde parameters:<br>`createMissing` - `(boolean)` als dit is ingesteld op `true`, worden nieuwe LLD-regels gemaakt; standaard: `false`;<br>`updateExisting` - `(boolean)` als dit is ingesteld op `true`, worden bestaande LLD-regels bijgewerkt; standaard: `false`;<br>`deleteMissing` - `(boolean)` als dit is ingesteld op `true`, worden LLD-regels die niet in de geïmporteerde gegevens voorkomen, verwijderd uit de database; standaard: `false`.|
|graphs|object|Regels voor het importeren van grafieken.<br><br>Ondersteunde parameters:<br>`createMissing` - `(boolean)` als dit is ingesteld op `true`, worden nieuwe grafieken gemaakt; standaard: `false`;<br>`updateExisting` - `(boolean)` als dit is ingesteld op `true`, worden bestaande grafieken bijgewerkt; standaard: `false`;<br>`deleteMissing` - `(boolean)` als dit is ingesteld op `true`, worden grafieken die niet in de geïmporteerde gegevens voorkomen, verwijderd uit de database; standaard: `false`.|
|host_groups|object|Regels voor het importeren van hostgroepen.<br><br>Ondersteunde parameters:<br>`createMissing` - `(boolean)` als dit is ingesteld op `true`, worden nieuwe hostgroepen gemaakt; standaard: `false`;<br>`updateExisting` - `(boolean)` als dit is ingesteld op `true`, worden bestaande hostgroepen bijgewerkt; standaard: `false`.|
|template_groups|object|Regels voor het importeren van sjabloongroepen.<br><br>Ondersteunde parameters:<br>`createMissing` - `(boolean)` als dit is ingesteld op `true`, worden nieuwe sjabloongroepen gemaakt; standaard: `false`;<br>`updateExisting` - `(boolean)` als dit is ingesteld op `true`, worden bestaande sjabloongroepen bijgewerkt; standaard: `false`.|
|hosts|object|Regels voor het importeren van hosts.<br><br>Ondersteunde parameters:<br>`createMissing` - `(boolean)` als dit is ingesteld op `true`, worden nieuwe hosts gemaakt; standaard: `false`;<br>`updateExisting` - `(boolean)` als dit is ingesteld op `true`, worden bestaande hosts bijgewerkt; standaard: `false`.<br><br>Deze parameter maakt geen verschil voor de output. Het is alleen toegestaan voor consistentie met `configuration.import`.|
|httptests|object|Regels voor het importeren van web scenario's.<br><br>Ondersteunde parameters:<br>`createMissing` - `(boolean)` als dit is ingesteld op `true`, worden nieuwe web scenario's gemaakt; standaard: `false`;<br>`updateExisting` - `(boolean)` als dit is ingesteld op `true`, worden bestaande web scenario's bijgewerkt; standaard: `false`;<br>`deleteMissing` - `(boolean)` als dit is ingesteld op `true`, worden web scenario's die niet in de geïmporteerde gegevens voorkomen, verwijderd uit de database; standaard: `false`.|
|images|object|Regels voor het importeren van afbeeldingen.<br><br>Ondersteunde parameters:<br>`createMissing` - `(boolean)` als dit is ingesteld op `true`, worden nieuwe afbeeldingen gemaakt; standaard: `false`;<br>`updateExisting` - `(boolean)` als dit is ingesteld op `true`, worden bestaande afbeeldingen bijgewerkt; standaard: `false`.<br><br>Deze parameter maakt geen verschil voor de output. Het is alleen toegestaan voor consistentie met `configuration.import`.|
|items|object|Regels voor het importeren van items.<br><br>Ondersteunde parameters:<br>`createMissing` - `(boolean)` als dit is ingesteld op `true`, worden nieuwe items gemaakt; standaard: `false`;<br>`updateExisting` - `(boolean)` als dit is ingesteld op `true`, worden bestaande items bijgewerkt; standaard: `false`;<br>`deleteMissing` - `(boolean)` als dit is ingesteld op `true`, worden items die niet in de geïmporteerde gegevens voorkomen, verwijderd uit de database; standaard: `false`.|
|maps|object|Regels voor het importeren van kaarten.<br><br>Ondersteunde parameters:<br>`createMissing` - `(boolean)` als dit is ingesteld op `true`, worden nieuwe kaarten gemaakt; standaard: `false`;<br>`updateExisting` - `(boolean)` als dit is ingesteld op `true`, worden bestaande kaarten bijgewerkt; standaard: `false`.<br><br>Deze parameter maakt geen verschil voor de output. Het is alleen toegestaan voor consistentie met `configuration.import`.|
|mediaTypes|object|Regels voor het importeren van mediatypen.<br><br>Ondersteunde parameters:<br>`createMissing` - `(boolean)` als dit is ingesteld op `true`, worden nieuwe mediatypen gemaakt; standaard: `false`;<br>`updateExisting` - `(boolean)` als dit is ingesteld op `true`, worden bestaande mediatypen bijgewerkt; standaard: `false`.<br><br>Deze parameter maakt geen verschil voor de output. Het is alleen toegestaan voor consistentie met `configuration.import`.|
|templateLinkage|object|Regels voor het importeren van sjabloonkoppelingen.<br><br>Ondersteunde parameters:<br>`createMissing` - `(boolean)` als dit is ingesteld op `true`, worden sjablonen die niet zijn gekoppeld aan de geïmporteerde host of sjabloon, maar wel aanwezig zijn in de geïmporteerde gegevens, gekoppeld; standaard: `false`;<br>`deleteMissing` - `(boolean)` als dit is ingesteld op `true`, worden sjablonen die zijn gekoppeld aan de geïmporteerde host of sjabloon, maar niet aanwezig zijn in de geïmporteerde gegevens, ontkoppeld zonder entiteiten te verwijderen (items, triggers, etc.) die zijn overgenomen van de ontkoppelde sjablonen; standaard: `false`.|
|templates|object|Regels voor het importeren van sjablonen.<br><br>Ondersteunde parameters:<br>`createMissing` - `(boolean)` als dit is ingesteld op `true`, worden nieuwe sjablonen gemaakt; standaard: `false`;<br>`updateExisting` - `(boolean)` als dit is ingesteld op `true`, worden bestaande sjablonen bijgewerkt; standaard: `false`.|
|templateDashboards|object|Regels voor het importeren van sjabloon-dashboards.<br><br>Ondersteunde parameters:<br>`createMissing` - `(boolean)` als dit is ingesteld op `true`, worden nieuwe sjabloon-dashboards gemaakt; standaard: `false`;<br>`updateExisting` - `(boolean)` als dit is ingesteld op `true`, worden bestaande sjabloon-dashboards bijgewerkt; standaard: `false`;<br>`deleteMissing` - `(boolean)` als dit is ingesteld op `true`, worden sjabloon-dashboards die niet in de geïmporteerde gegevens voorkomen, verwijderd uit de database; standaard: `false`.|
|triggers|object|Regels voor het importeren van triggers.<br><br>Ondersteunde parameters:<br>`createMissing` - `(boolean)` als dit is ingesteld op `true`, worden nieuwe triggers gemaakt; standaard: `false`;<br>`updateExisting` - `(boolean)` als dit is ingesteld op `true`, worden bestaande triggers bijgewerkt; standaard: `false`;<br>`deleteMissing` - `(boolean)` als dit is ingesteld op `true`, worden triggers die niet in de geïmporteerde gegevens voorkomen, verwijderd uit de database; standaard: `false`.|
|valueMaps|object|Regels voor het importeren van host- of sjabloonwaardekaarten.<br><br>Ondersteunde parameters:<br>`createMissing` - `(boolean)` als dit is ingesteld op `true`, worden nieuwe waardekaarten gemaakt; standaard: `false`;<br>`updateExisting` - `(boolean)` als dit is ingesteld op `true`, worden bestaande waardekaarten bijgewerkt; standaard: `false`;<br>`deleteMissing` - `(boolean)` als dit is ingesteld op `true`, worden waardekaarten die niet in de geïmporteerde gegevens voorkomen, verwijderd uit de database; standaard: `false`.|

[comment]: # ({/dee760dc-0ae26f0f})

[comment]: # ({5ee9fb6b-43693d8e})
### Teruggegeven waarden

`(array)` Geeft een array terug met wijzigingen in de configuratie die zullen worden uitgevoerd.

[comment]: # ({/5ee9fb6b-43693d8e})

[comment]: # ({aa9a5ad3-b41637d2})
### Voorbeelden

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

[comment]: # ({6baf6bc7-d979e902})
#### Vergelijking van de import van een sjabloon

Vergelijk het sjabloon dat is opgenomen in de XML-string met de huidige systeemelementen en laat zien wat er zal veranderen als dit sjabloon wordt geïmporteerd.

[Aanvraag](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "configuration.importcompare",
    "params": {
        "format": "xml",
        "rules": {
            "discoveryRules": {
                "createMissing": true,
                "updateExisting": true,
                "deleteMissing": true
            },
            "graphs": {
                "createMissing": true,
                "updateExisting": true,
                "deleteMissing": true
            },
            "host_groups": {
                "createMissing": true,
                "updateExisting": true
            },
            "template_groups": {
                "createMissing": true,
                "updateExisting": true
            },
            "httptests": {
                "createMissing": true,
                "updateExisting": true,
                "deleteMissing": true
            },
            "items": {
                "createMissing": true,
                "updateExisting": true,
                "deleteMissing": true
            },
            "templateLinkage": {
                "createMissing": true,
                "deleteMissing": true
            },
            "templates": {
                "createMissing": true,
                "updateExisting": true
            },
            "templateDashboards": {
                "createMissing": true,
                "updateExisting": true,
                "deleteMissing": true
            },
            "triggers": {
                "createMissing": true,
                "updateExisting": true,
                "deleteMissing": true
            },
            "valueMaps": {
                "createMissing": true,
                "updateExisting": true,
                "deleteMissing": true
            }
        },
        "source": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<zabbix_export><version>6.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><delay>3m</delay></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>648006da5971424ead0c47ddbbf1ea2e</uuid><name>CPU utilization</name><key>system.cpu.util</key><value_type>FLOAT</value_type><units>%</units><triggers><trigger><uuid>736225012c534ec480c2a66a91322ce0</uuid><expression>avg(/New template/system.cpu.util,3m)>70</expression><name>CPU utilization 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"
    },
    "id": 1
}
```

Reactie:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "templates": {
            "updated": [
                {
                    "before": {
                        "uuid": "5aef0444a82a4d8cb7a95dc4c0c85330",
                        "template": "New template",
                        "name": "New template",
                        "groups": [
                            {
                                "name": "Templates"
                            }
                        ]
                    },
                    "after": {
                        "uuid": "5aef0444a82a4d8cb7a95dc4c0c85330",
                        "template": "New template",
                        "name": "New template",
                        "groups": [
                            {
                                "name": "Templates"
                            }
                        ]
                    },
                    "items": {
                        "added": [
                            {
                                "after": {
                                    "uuid": "648006da5971424ead0c47ddbbf1ea2e",
                                    "name": "CPU utilization",
                                    "key": "system.cpu.util",
                                    "value_type": "FLOAT",
                                    "units": "%"
                                },
                                "triggers": {
                                    "added": [
                                        {
                                            "after": {
                                                "uuid": "736225012c534ec480c2a66a91322ce0",
                                                "expression": "avg(/New template/system.cpu.util,3m)>70",
                                                "name": "CPU utilization too high on 'New host' for 3 minutes",
                                                "priority": "WARNING"
                                            }
                                        }
                                    ]
                                }
                            }
                        ],
                        "removed": [
                            {
                                "before": {
                                    "uuid": "6805d4c39a624a8bab2cc8ab63df1ab3",
                                    "name": "CPU load",
                                    "key": "system.cpu.load",
                                    "value_type": "FLOAT"
                                },
                                "triggers": {
                                    "removed": [
                                        {
                                            "before": {
                                                "uuid": "ab4c2526c2bc42e48a633082255ebcb3",
                                                "expression": "avg(/New template/system.cpu.load,3m)>2",
                                                "name": "CPU load too high on 'New host' for 3 minutes",
                                                "priority": "WARNING"
                                            }
                                        }
                                    ]
                                }
                            }
                        ],
                        "updated": [
                            {
                                "before": {
                                    "uuid": "7f1e6f1e48aa4a128e5b6a958a5d11c3",
                                    "name": "Zabbix agent ping",
                                    "key": "agent.ping"
                                },
                                "after": {
                                    "uuid": "7f1e6f1e48aa4a128e5b6a958a5d11c3",
                                    "name": "Zabbix agent ping",
                                    "key": "agent.ping",
                                    "delay": "3m"
                                }
                            }
                        ]
                    }
                }
            ]
        }
    },
    "id": 1
}
```

[comment]: # ({/6baf6bc7-d979e902})

[comment]: # ({f4cf61e8-c9a0185c})
### Bron

CConfiguratie::importcompare() in *ui/include/classes/api/services/CConfiguration.php*.

[comment]: # ({/f4cf61e8-c9a0185c})
