array configuration.importcompare(parametri oggetto)
Questo metodo consente di confrontare il file di importazione con gli elementi del sistema corrente e mostra cosa verrà modificato se questo file di importazione verrà importato.
Questo metodo è disponibile per utenti di qualsiasi tipo. Permessi per chiamare il metodo può essere revocato nelle impostazioni del ruolo utente. Vedere Utente ruoli per maggiori informazioni.
(object)
Parametri contenenti i possibili dati da importare e regole di come devono essere gestiti i dati.
Parametri | Tipo | Descrizione |
---|---|---|
format (required) |
string | Formato della stringa serializzata. Valori possibili: yaml - YAML;xml - XML;json - JSON. |
source (required) |
string | Stringa serializzata contenente i dati di configurazione. |
rules (required) |
object | Regole su come importare oggetti nuovi ed esistenti. Il parametro regole è descritto in dettaglio nella tabella seguente. |
Se non vengono fornite regole, non ci sarà nulla da aggiornare e il risultato sarà vuoto.
Il confronto sarà essere fatto solo per gruppi host e modelli. Trigger e grafici saranno confrontato solo per i modelli importati, qualsiasi altro sarà considerato come "nuovo".
L'oggetto regole
supporta i seguenti parametri.
Parametro | Tipo | Descrizione |
---|---|---|
discoveryRules | object | Regole su come importare le regole LLD. Parametri supportati createMissing - (boolean) se impostato su true , verranno create nuove regole LLD; default: false ;updateExisting - (boolean) se impostato su true , le regole LLD esistenti verranno aggiornate; default: false ;deleteMissing - (boolean) se impostato a true , le regole LLD non presenti nei dati importati verranno cancellate dal database; default: false . |
graphs | object | Regole su come importare i grafici. Parametri supportati: createMissing - (boolean) se impostato su true , verranno creati nuovi grafici; default: false ;updateExisting - (boolean) se impostato su true , i grafici esistenti verranno aggiornati; default: false ;deleteMissing - (boolean) se impostato a true , i grafici non presenti nei dati importati verranno eliminati dal database; default: false . |
groups | object | Regole su come importare i gruppi host. Parametri supportati: createMissing - (boolean) se impostato su true , verranno creati nuovi gruppi host; default: false ;updateExisting - (boolean) se impostato su true , i gruppi host esistenti verranno aggiornati; default: false . |
hosts | object | Regole su come importare host. Parametri supportati: createMissing - (boolean) se impostato su true , verranno creati nuovi host; default: false ;updateExisting - (boolean) se impostato su true , gli host esistenti verranno aggiornati; default: false .Questo parametro non farà alcuna differenza per l'output. È consentito solo per coerenza con configuration.import . |
httptests | object | Regole su come importare scenari web. Parametri supportati: createMissing - (boolean) se impostato su true , verranno creati nuovi scenari web; default: false ;updateExisting - (boolean) se impostato su true , gli scenari web esistenti verranno aggiornati; default: false ;deleteMissing - (boolean) if set to true , se impostato a true , gli scenari web non presenti nei dati importati verranno eliminati dal database; predefinito: falso . |
images | object | Regole su come importare le immagini. Parametri supportati: createMissing - (boolean) se impostato su true , verranno create nuove immagini; default: false ;updateExisting - (boolean) se impostato su true , le immagini esistenti verranno aggiornate; predefinito: falso .Questo parametro non farà alcuna differenza per l'output. È consentito solo per coerenza con configuration.import . |
items | object | Regole su come importare elementi. Parametri supportati: createMissing - (boolean) se impostato su true , verranno creati nuovi elementi; default: false ;updateExisting - (boolean) se impostato su true , gli elementi esistenti verranno aggiornati; default: false ;deleteMissing - (boolean) se impostato a true , gli elementi non presenti nei dati importati verranno eliminati dal database; predefinito: falso . |
maps | object | Regole su come importare le mappe. Parametri Supportati: createMissing - (boolean) se impostato su true , verranno create nuove mappe; predefinito: falso ;updateExisting - (boolean) se impostato su true , le mappe esistenti verranno aggiornate; default: false .Questo parametro non farà alcuna differenza per l'output. È consentito solo per coerenza con configuration.import . |
mediaTypes | object | Regole su come importare i tipi di media. Parametri supportati: createMissing - (boolean) se impostato su true , verranno creati nuovi tipi di media; default: false ;updateExisting - (boolean) se impostato su true , i tipi di media esistenti verranno aggiornati; default: false .Questo parametro non farà alcuna differenza per l'output. È consentito solo per coerenza con configuration.import . |
templateLinkage | object | Regole su come importare i link dei template. Parametri supportati: createMissing - (boolean) se impostato su true , verranno creati nuovi link tra i template e l'host ; default: false ;deleteMissing - (boolean) se impostato a true , i link ai template non presenti nei dati importati verranno cancellati dal database; predefinito: falso . |
templates | object | Regole su come importare modelli. Parametri supportati: createMissing - (boolean) se impostato su true , verranno creati nuovi modelli; default: false ;updateExisting - (boolean) se impostato su true , i modelli esistenti verranno aggiornati; predefinito: falso . |
templateDashboards | object | Regole su come importare i dashboard dei modelli. Parametri supportati: createMissing - (boolean) se impostato su true , verranno creati nuovi dashboard dei modelli; default: false ;updateExisting - (boolean) se impostato su true , i dashboard dei modelli esistenti verranno aggiornati; default: false ;deleteMissing - (boolean) se impostato a true , i dashboard dei modelli non presenti nei dati importati verranno eliminati dal database; predefinito: falso . |
trigger | oggetto | Regole su come importare i trigger. Parametri supportati: createMissing - (boolean) se impostato su true , verranno creati nuovi trigger; default: false ;updateExisting - (boolean) se impostato su true , i trigger esistenti verranno aggiornati; default: false ;deleteMissing - (boolean) se impostato a true , i trigger non presenti nei dati importati verranno eliminati dal database; predefinito: falso . |
valueMaps | object | Regole su come importare mappe di valori host o modelli. Parametri supportati: createMissing - (boolean) se impostato su true , verranno create nuove mappe di valori ; default: false ;updateExisting - (boolean) se impostato su true , le mappe dei valori esistenti verranno aggiornate; default: false ;deleteMissing - (boolean) se impostato a true , le mappe dei valori non presenti nei dati importati verranno cancellate dal database; predefinito: falso . |
(array)
Restituisce un array con modifiche nella configurazione, che sarà fatto.
Importa il modello e gli elementi contenuti nella stringa YAML. Se ci sono oggetti mancanti in YAML, verranno mostrati come eliminati e tutto il resto rimarrà invariato.
Richiesta:
{
"jsonrpc": "2.0",
"metodo": "configuration.import",
"parametri": {
"formato": "xml",
"regole": {
"gruppi": {
"createMissing": vero,
"aggiornamento esistente": vero
},
"modelli": {
"createMissing": vero,
"aggiornamento esistente": vero
},
"Oggetti": {
"createMissing": vero,
"aggiornamento esistente": vero,
"deleteMissing": vero
},
"trigger": {
"createMissing": vero,
"aggiornamento esistente": vero,
"deleteMissing": vero
},
"DiscoveryRules": {
"createMissing": vero,
"aggiornamento esistente": vero,
"deleteMissing": vero
},
"valueMaps": {
"createMissing": vero,
"aggiornamento esistente": falso
}
},
"source": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><zabbix_export><version>5.4</version><date>27-05-2021T07:12:07Z< /date><groups><group><uuid>6f6799aa69e844b4b3918f779f2abf08</uuid><name>Server Zabbix</name></group></groups><templates><template><uuid>e1bde9bf2f0544f5929f45b82502e744</uuid><template >Modello di esportazione</template><name>Modello di esportazione</name><groups><group><name>Server Zabbix</name></group></groups><items><item><uuid>3237bc89226e42ed8207574022470e83< /uuid><name>Elemento</name><key>item.key</key><delay>30s</delay><valuemap><name>Stato host</name></valuemap><triggers><trigger ><uuid>bd1ed0089e4b4f35b762c9d6c599c348</uuid><expression>last(/Export template/item.key)=0</expression><name>Trigger</name></trigger></triggers></item></ items><discovery_rules><discovery_rule><uuid>c91616bcf4a44f349539a1b40cb0979d</uuid><name>Regola di rilevamento</name><key>rule.key</key><item_prototypes><item_prototype><uuid>7e164881825744248b3039af3435cf4b</uuid> name>Prototipo oggetto</name><key>prototype.key</ key></item_prototype></item_prototypes></discovery_rule></discovery_rules><valuemaps><valuemap><uuid>7e666857c5df4af3a338349586f2afc3</uuid><name>Stato host</name><mappings><mapping><value> 0</value><newvalue>Su</newvalue></mapping><mapping><value>2</value><newvalue>Irraggiungibile</newvalue></mapping></mappings></valuemap></ valuemaps></template></templates></zabbix_export>"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Risposta:
{
"jsonrpc": "2.0",
"risultato":{
"modelli":{
"aggiornato":[
{
"prima":{
"uuid":"e1bde9bf2f0544f5929f45b82502e744",
"template": "Esporta modello",
"name": "Esporta modello"
},
"dopo":{
"uuid":"e1bde9bf2f0544f5929f45b82502e744",
"template": "Esporta modello",
"name": "Esporta modello"
},
"Oggetti":{
"aggiunto":[
{
"dopo":{
"uuid":"3237bc89226e42ed8207574022470e83",
"nome": "Articolo",
"chiave":"elemento.chiave",
"ritardo": "30 anni",
"mappa dei valori":{
"name":"Stato host"
}
},
"trigger":{
"aggiunto":[
{
"dopo":{
"uuid":"bd1ed0089e4b4f35b762c9d6c599c348",
"expression":"last(/Esporta modello/item.key)=0",
"nome": "Trigger"
}
}
]
}
}
],
"RIMOSSO":[
{
"prima":{
"uuid":"bd3e7b28b3d544d6a83ed01ddaa65ab6",
"name": "Oggetto vecchio",
"key":"ite_old.key",
"ritardo": "30 anni",
"mappa dei valori":{
"name":"Stato host"
}
}
}
]
},
"discovery_rules":{
"aggiornato":[
{
"prima":{
"uuid":"c91616bcf4a44f349539a1b40cb0979d",
"name": "Regola di rilevamento",
"chiave":"regola.chiave"
},
"dopo":{
"uuid":"c91616bcf4a44f349539a1b40cb0979d",
"name": "Regola di rilevamento",
"chiave":"regola.chiave"
},
"item_prototypes":{
"aggiornato":[
{
"prima":{
"uuid":"7e164881825744248b3039af3435cf4b",
"name": "Prototipo di vecchio oggetto",
"key":"prototype_old.key"
},
"dopo":{
"uuid":"7e164881825744248b3039af3435cf4b",
"name":"Prototipo dell'oggetto",
"chiave":"prototipo.chiave"
}
}
]
}
}
]
}
}
]
}
},
"id": 1
}
CConfiguration::importcompare() in ui/include/classes/api/services/CConfiguration.php.