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

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

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

`boolean configuration.import(object parameters)`

Cette méthode permet d'importer les données de configuration sous forme de chaîne sérialisée.

::: noteclassic
Cette méthode est disponible pour les utilisateurs de tout type.
Les autorisations d'appeler la méthode peuvent être révoquées dans les paramètres de rôle utilisateur.
Voir [Rôles utilisateur](/manual/web_interface/frontend_sections/users/user_roles) pour plus d'informations.
:::

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

[comment]: # ({2870849b-147fd272})
### Paramètres

`(object)` Paramètres contenant les données à importer et les règles de traitement de ces données.

|Parameter|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|format|string|Format de la chaîne sérialisée.<br><br>Valeurs possibles :<br>`yaml` - YAML;<br>`xml` - XML;<br>`json` - JSON.<br><br>[Comportement du paramètre](/manual/api/reference_commentary#parameter-behavior) :<br>- *required*|
|source|string|Chaîne sérialisée contenant les données de configuration.<br><br>[Comportement du paramètre](/manual/api/reference_commentary#parameter-behavior) :<br>- *required*|
|rules|object|Règles définissant comment les nouveaux objets et les objets existants doivent être importés.<br><br>Les utilisateurs de type *Admin* peuvent importer uniquement les objets pour lesquels ils disposent d'une [permission](/manual/api/reference/usergroup/object#permission) *read-write*, ainsi que les cartes. Par exemple, un hôte et ses entités (éléments, déclencheurs, graphiques, etc.) ne peuvent être importés que si le groupe d'utilisateurs de l'utilisateur dispose d'une permission sur le groupe d'hôtes auquel l'hôte importé appartiendra. Les images et les types de média ne peuvent pas être importés par des utilisateurs de type *Admin*.<br><br>Le paramètre `rules` est décrit en détail dans le tableau ci-dessous.<br><br>[Comportement du paramètre](/manual/api/reference_commentary#parameter-behavior) :<br>- *required*|

::: noteimportant
Si aucune règle n'est fournie, la configuration ne sera pas mise à jour.
:::

L'objet `rules` prend en charge les paramètres suivants.

|Parameter|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|discoveryRules|object|Règles définissant comment importer les règles LLD.<br><br>Paramètres pris en charge :<br>`createMissing` - `(boolean)` si défini sur `true`, les nouvelles règles LLD seront créées ; valeur par défaut : `false` ;<br>`updateExisting` - `(boolean)` si défini sur `true`, les règles LLD existantes seront mises à jour ; valeur par défaut : `false` ;<br>`deleteMissing` - `(boolean)` si défini sur `true`, les règles LLD absentes des données importées seront supprimées de la base de données ; valeur par défaut : `false`.|
|graphs|object|Règles définissant comment importer les graphiques.<br><br>Paramètres pris en charge :<br>`createMissing` - `(boolean)` si défini sur `true`, les nouveaux graphiques seront créés ; valeur par défaut : `false` ;<br>`updateExisting` - `(boolean)` si défini sur `true`, les graphiques existants seront mis à jour ; valeur par défaut : `false` ;<br>`deleteMissing` - `(boolean)` si défini sur `true`, les graphiques absents des données importées seront supprimés de la base de données ; valeur par défaut : `false`.|
|host_groups|object|Règles définissant comment importer les groupes d'hôtes.<br><br>Paramètres pris en charge :<br>`createMissing` - `(boolean)` si défini sur `true`, les nouveaux groupes d'hôtes seront créés ; valeur par défaut : `false` ;<br>`updateExisting` - `(boolean)` si défini sur `true`, les groupes d'hôtes existants seront mis à jour ; valeur par défaut : `false`.|
|template_groups|object|Règles définissant comment importer les groupes de modèles.<br><br>Paramètres pris en charge :<br>`createMissing` - `(boolean)` si défini sur `true`, les nouveaux groupes de modèles seront créés ; valeur par défaut : `false` ;<br>`updateExisting` - `(boolean)` si défini sur `true`, les groupes de modèles existants seront mis à jour ; valeur par défaut : `false`.|
|hosts|object|Règles définissant comment importer les hôtes.<br><br>Paramètres pris en charge :<br>`createMissing` - `(boolean)` si défini sur `true`, les nouveaux hôtes seront créés ; valeur par défaut : `false` ;<br>`updateExisting` - `(boolean)` si défini sur `true`, les hôtes existants seront mis à jour ; valeur par défaut : `false`.|
|httptests|object|Règles définissant comment importer les scénarios web.<br><br>Paramètres pris en charge :<br>`createMissing` - `(boolean)` si défini sur `true`, les nouveaux scénarios web seront créés ; valeur par défaut : `false` ;<br>`updateExisting` - `(boolean)` si défini sur `true`, les scénarios web existants seront mis à jour ; valeur par défaut : `false` ;<br>`deleteMissing` - `(boolean)` si défini sur `true`, les scénarios web absents des données importées seront supprimés de la base de données ; valeur par défaut : `false`.|
|images|object|Règles définissant comment importer les images.<br><br>Paramètres pris en charge :<br>`createMissing` - `(boolean)` si défini sur `true`, les nouvelles images seront créées ; valeur par défaut : `false` ;<br>`updateExisting` - `(boolean)` si défini sur `true`, les images existantes seront mises à jour ; valeur par défaut : `false`.|
|items|object|Règles définissant comment importer les éléments.<br><br>Paramètres pris en charge :<br>`createMissing` - `(boolean)` si défini sur `true`, les nouveaux éléments seront créés ; valeur par défaut : `false` ;<br>`updateExisting` - `(boolean)` si défini sur `true`, les éléments existants seront mis à jour ; valeur par défaut : `false` ;<br>`deleteMissing` - `(boolean)` si défini sur `true`, les éléments absents des données importées seront supprimés de la base de données ; valeur par défaut : `false`.|
|maps|object|Règles définissant comment importer les cartes.<br><br>Paramètres pris en charge :<br>`createMissing` - `(boolean)` si défini sur `true`, les nouvelles cartes seront créées ; valeur par défaut : `false` ;<br>`updateExisting` - `(boolean)` si défini sur `true`, les cartes existantes seront mises à jour ; valeur par défaut : `false`.|
|mediaTypes|object|Règles définissant comment importer les types de média.<br><br>Paramètres pris en charge :<br>`createMissing` - `(boolean)` si défini sur `true`, les nouveaux types de média seront créés ; valeur par défaut : `false` ;<br>`updateExisting` - `(boolean)` si défini sur `true`, les types de média existants seront mis à jour ; valeur par défaut : `false`.|
|templateLinkage|object|Règles définissant comment importer les liens de modèles.<br><br>Paramètres pris en charge :<br>`createMissing` - `(boolean)` si défini sur `true`, les modèles qui ne sont pas liés à l'hôte ou au modèle importé, mais qui sont présents dans les données importées, seront liés ; valeur par défaut : `false` ;<br>`deleteMissing` - `(boolean)` si défini sur `true`, les modèles liés à l'hôte ou au modèle importé, mais absents des données importées, seront dissociés sans supprimer les entités (éléments, déclencheurs, etc.) héritées des modèles dissociés ; valeur par défaut : `false`.|
|templates|object|Règles définissant comment importer les modèles.<br><br>Paramètres pris en charge :<br>`createMissing` - `(boolean)` si défini sur `true`, les nouveaux modèles seront créés ; valeur par défaut : `false` ;<br>`updateExisting` - `(boolean)` si défini sur `true`, les modèles existants seront mis à jour ; valeur par défaut : `false`.|
|templateDashboards|object|Règles définissant comment importer les tableaux de bord de modèles.<br><br>Paramètres pris en charge :<br>`createMissing` - `(boolean)` si défini sur `true`, les nouveaux tableaux de bord de modèles seront créés ; valeur par défaut : `false` ;<br>`updateExisting` - `(boolean)` si défini sur `true`, les tableaux de bord de modèles existants seront mis à jour ; valeur par défaut : `false` ;<br>`deleteMissing` - `(boolean)` si défini sur `true`, les tableaux de bord de modèles absents des données importées seront supprimés de la base de données ; valeur par défaut : `false`.|
|triggers|object|Règles définissant comment importer les déclencheurs.<br><br>Paramètres pris en charge :<br>`createMissing` - `(boolean)` si défini sur `true`, les nouveaux déclencheurs seront créés ; valeur par défaut : `false` ;<br>`updateExisting` - `(boolean)` si défini sur `true`, les déclencheurs existants seront mis à jour ; valeur par défaut : `false` ;<br>`deleteMissing` - `(boolean)` si défini sur `true`, les déclencheurs absents des données importées seront supprimés de la base de données ; valeur par défaut : `false`.|
|valueMaps|object|Règles définissant comment importer les cartes de valeurs d'hôte ou de modèle.<br><br>Paramètres pris en charge :<br>`createMissing` - `(boolean)` si défini sur `true`, les nouvelles cartes de valeurs seront créées ; valeur par défaut : `false` ;<br>`updateExisting` - `(boolean)` si défini sur `true`, les cartes de valeurs existantes seront mises à jour ; valeur par défaut : `false` ;<br>`deleteMissing` - `(boolean)` si défini sur `true`, les cartes de valeurs absentes des données importées seront supprimées de la base de données ; valeur par défaut : `false`.|

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

[comment]: # ({08d02880-08d02880})
### Valeurs retournées

`(boolean)` Retourne `true` si l'import est réussi.

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

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

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

[comment]: # ({c692ed15-0801380e})
#### Importation d'un modèle

Importez la configuration du modèle contenue dans la chaîne XML.
Si des éléments ou des déclencheurs dans la chaîne XML sont manquants, ils seront supprimés de la base de données, et tout le reste restera inchangé.

[Request](/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
}
```

Response:

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

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

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

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

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