IdentificationEngine - Dans le champ d’application
L’API IdentificationEngine utilise le cadre de travail Identification et rapprochement pour minimiser la création d’éléments de configuration (CI) en double et pour rapprocher les attributs de CI en n’acceptant que les informations provenant de sources de données autorisées lors de la mise à jour du Base de données de gestion des configurations (CMDB).
Lors de l’utilisation de cette classe dans une application incluse dans le périmètre, utilisez l’identificateur de l’espace de noms sn_cmdb .
IdentificationEngine : createOrUpdateCI(Source de chaîne, Entrée de chaîne)
Insère ou met à jour des éléments de configuration (CI) et des non-CIBase de données de gestion des configurations (CMDB) (classes ne s’étendant pas à partir de cmdb_ci) dans le Basé sur les règles d’identification CMDB et de rapprochement. Utilisez cette API au lieu de mettre CMDB à jour directement.
Pour plus d’informations sur l’ingestion de tables non CMDB, reportez-vous à la section IRE support for non-CMDB tables.
| Nom | Type | Description |
|---|---|---|
| entrée | Chaîne | Requis. Charge utile en entrée. Une chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour. |
| Entrée.Éléments | Tableau d'objets | Éléments à ajouter ou mettre à jour. |
| entrée.éléments.nom_classe | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe ou table, telle que cmdb_ci_linux_server ou cmdb_ci_win_server. |
| input.items.display_values | Objet | Champs de référence à créer ou mettre à jour pour cet élément connexe sous forme de paires nom-valeur, où le nom est le nom du champ et la valeur est la valeur d’affichage référencée. Si vous souhaitez utiliser la sys_id au lieu de la valeur d’affichage des champs de référence, transmettez les informations dans le input.items.lookup.values paramètre plutôt que dans ce paramètre. Les noms des champs de référence dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.items.internal_id | Chaîne | Identificateur d’élément unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| entrée.éléments.recherche | Tableau d'objets | Identifie l’élément de niveau supérieur contenant la recherche (identification basée sur la recherche). Ces enregistrements sont utilisés pour identifier l’élément de configuration en fonction d’une table de recherche qui a une référence à cmdb_ci. Par exemple : |
| input.items.lookup.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe ou table, telle que cmdb_serial_number ou cmdb_ci_network_adapter. |
| input.items.lookup.internal_id | Chaîne | Identificateur d’élément unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| input.items.lookup.sys_object_source_info | Objet | Identificateur CI unique d’une source spécifique. |
| input.items.lookup.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie de manière unique le flux source. |
| nom_source input.items.lookup.sys_objet_source_nom_source | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.lookup.sys_object_source_info.source_native_key | Chaîne | Clé/ID unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été analysé. Format : JJ-MM-AAAA hh :mm :ss |
| Entrée.Éléments.Recherche.Valeurs | Objet | Champs à créer ou mettre à jour pour cet élément associé sous forme de paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Entrée.Éléments.Connexes | Tableau | Référence à l’élément de niveau supérieur qui contient la liste connexe. Les règles de l’entrée connexe [cmdb_related_entry] définissent le type d’enregistrements qui peuvent se trouver dans ce tableau. Ces enregistrements sont utilisés pour ajouter des éléments en fonction d’une table connexe qui a une référence au CI en cours d’identification. La table connexe peut étendre ou non cmdb_ci. Ces enregistrements ne sont pas utilisés pour identifier l’élément de configuration. |
| input.items.related.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe ou table, telle que cmdb_software_instance ou cmdb_key_value. |
| input.items.related.internal_id | Chaîne | Identificateur d’élément unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| input.items.related.sys_object_source_info | Objet | Identificateur CI unique d’une source spécifique. |
| input.items.related.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie de manière unique le flux source. |
| nom_source input.items.related.sys_objet_source.nom_source | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.related.sys_object_source_info.source_native_key | Chaîne | Clé/ID unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.related.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été analysé. Format : JJ-MM-AAAA hh :mm :ss |
| Entrée.Éléments.Valeurs.connexes | Objet | Champs à créer ou mettre à jour pour cet élément associé sous forme de paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Entrée.Éléments.Paramètres | Objet | Paramètres qui définissent les types de mises à jour autorisés. |
| input.items.settings.skipReclassificationRestrictionRules | Booléen | Marqueur indiquant si IRE ne doit pas exécuter la règle de restriction de reclassification qui correspond à la classe de l’élément de charge utile. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutDowngrade | Booléen | Marqueur indiquant si la mise à jour et la version antérieure sont autorisées pour cet élément. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutUpgrade | Booléen | Marqueur indiquant si la mise à jour et la mise à niveau sont autorisées pour cet élément. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutSwitch | Booléen | Marqueur indiquant si l’élément peut être mis à jour et la classe changée. Valeurs valides :
Valeur par défaut : false |
| input.items.sys_object_source_info | Objet | Identificateur CI unique d’une source spécifique. |
| input.items.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie de manière unique le flux source. |
| input.items.sys_info_source_objet_nom_source | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.sys_object_source_info.source_native_key | Chaîne | Clé/ID unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été analysé. Format : JJ-MM-AAAA hh :mm :ss |
| entrée.éléments.valeurs | Objet | Champs à créer ou mettre à jour pour cet élément associé sous forme de paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.referenceItems | Tableau d'objets | Liste qui définit les références entre les éléments dans la charge utile d’entrée. |
| input.referenceItems.referenced | Chaîne | Défini internal_id pour l’élément référencé par un autre élément. |
| input.referenceItems.referencedBy | Chaîne | Défini internal_id pour l’élément qui fait référence à un autre élément. |
| input.referenceItems.referenceField | Chaîne | Nom du champ de référence dans la classe/la table pour l’élément referencedBy . |
| Entrée.Relations | Tableau d'objets | Liste qui spécifie les relations entre les éléments dans la charge utile d’entrée. Un objet de ce tableau peut utiliser l’un des deux formats.
|
| entrée.relations.enfant | Numéro | Index entier de l’objet CI dans le items tableau qui représente l’enfant dans la relation (items, items.related ou items.lookup). |
| input.relations.child_id | Chaîne | Le internal_id de l’élément enfant dans la relation (items, items.related ou items.lookup). |
| entrée.relations.parent | Numéro | Index entier de l’élément parent dans le items tableau (items, items.related ou items.lookup). |
| input.relations.parent_id | Chaîne | L’élément internal_id de l’élément parent dans la relation (items, items.related ou items.lookup.) |
| input.relations.sys_rel_source_info | Objet | Informations sur la source de découverte pour la relation. Pour les relations de non-dépendance, ces informations sont enregistrées dans la table Sources de relations [sys_rel_source] (non conservée pour les méthodes identifyCIEnhanced() ou identifyCI( ).) Type de données : objet |
| input.relations.sys_rel_source_info.nom_source | Chaîne | Nom de la source de découverte. Par défaut : source de découverte transmise dans le paramètre de méthode API. |
| input.relations.sys_rel_source_info.source_feed | Chaîne | Toute chaîne qui est une sous-découverte/analyse dans la source de découverte. Par défaut : « INCONNU » est stocké dans la colonne source_feed lors de la création d’un enregistrement dans sys_rel_source table. |
| entrée.relations.type | Chaîne | Type de relation qui existe entre les éléments parent et enfant. Il doit s’agir d’une valeur de champ de nom de la table Type de relation CI [cmdb_rel_type]. |
| source | Chaîne | Identifie la source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table cmdb_ci. |
| Type | Description |
|---|---|
| <chaîne> | Chaîne au format JSON qui est une liste de résultats pour les éléments de configuration dans la chaîne d’entrée. Chaque chaîne de résultat est au format 'items : [{}], relations :[{}]', où chaque élément des listes d’éléments et de relations contient des paires nom-valeur. Type de données : chaîne |
| <Chaîne>.additionalCommittedItems | Aucune valeur n’est actuellement renvoyée. |
| <String>.additionalCommittedRelations | Aucune valeur n’est actuellement renvoyée. |
| <chaîne>.éléments | Description des CI créés ou mis à jour. Type de données : objet |
| <String>.items.additionalRelatedItems | Liste des informations sur la recherche supplémentaire et les éléments connexes qui ont été traités, mais qui n’ont pas été fournis dans le cadre de la charge utile d’entrée. Ces éléments proviennent de charges utiles partielles. Ces informations ne sont pas actuellement renvoyées. Type de données : tableau d’objets |
| <String>.items.additionalRelatedItems.className | Nom de classe/table (sys_class_name) du CI qui a été créé ou mis à jour. Type de données : chaîne |
| <String>.items.additionalRelatedItems.inputIndices | Index de l’élément d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les éléments connexes ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : tableau de nombres ou tableau d’objets |
| <String>.items.additionalRelatedItems.inputIndices.mainIndex | Valeur d’index du tableau de corps items de la demande qui correspond au parent CI de l’élément connexe supplémentaire. Type de données : nombre |
| <String>.items.additionalRelatedItems.inputIndices.subIndex | Valeur d’index du tableau de corps items.lookup de la demande correspondant à l’élément connexe supplémentaire. Type de données : nombre |
| <String>.items.additionalRelatedItems.operation | Type d’opération. Valeurs possibles :
Type de données : chaîne |
| <String>.items.additionalRelatedItems.sysId | Sys_id des éléments connexes supplémentaires. Type de données : chaîne |
| <String>.items.className | Nom de classe/table (sys_class_name) du CI qui a été créé ou mis à jour. Type de données : chaîne |
| <String>.items.duplicateIndices | Liste des index de CI qui sont des doublons de l’élément actuel. Type de données : tableau |
| <String>.items.errorCount | Nombre d’erreurs. Type de données : nombre |
| <Chaîne>.éléments.erreurs | Liste des erreurs rencontrées lors du traitement de ce CI. Type de données : tableau d’objets |
| <Chaîne>.éléments.erreurs.erreur | Type d’erreur rencontrée lors du traitement du CI. Type de données : chaîne |
| <Chaîne>.éléments.erreurs.message | Message d’erreur associé à l’erreur. Type de données : chaîne |
| <String>.items.identificationAttempts | Liste des tentatives d’identification des CI. Type de données : tableau d’objets |
| <String>.items.identificationAttempts.attemptResult | Résultats de la tentative d’identification du CI. Valeurs possibles :
Type de données : chaîne |
| <Chaîne>.éléments.identificationTentatives.attributs | Liste des attributs d’entrée d’identificateur CI qui ont été utilisés au cours du processus d’identification. Type de données : tableau Les noms et les types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <String>.items.identificationAttempts.hybridEntryCiAttributes | Aucune valeur n’est actuellement renvoyée. |
| <String>.items.identificationAttempts.identifierName | Règle d’identificateur utilisée pour cette tentative d’identification de CI. Type de données : chaîne |
| <String>.items.identificationAttempts.searchOnTable | Nom de la table recherchée au cours du processus d’identification. Type de données : chaîne |
| <String>.items.identifierEntrySysId | Sys_id de la règle d’identificateur utilisée pour identifier le CI. Type de données : chaîne Table : Entrée d’identificateur [cmdb_identifier_entry] |
| <chaîne>.items.info | Liste contenant des informations supplémentaires sur le traitement de l’élément. Type de données : tableau d’objets |
| <Chaîne>.éléments.info.code | Type de reclassification qui a été ignoré. Valeurs possibles :
Type de données : chaîne |
| <Chaîne>.éléments.info.message | Message qui fournit des informations supplémentaires sur le motif pour lequel la reclassification a été ignorée. Type de données : chaîne |
| <String>.items.info.ruleSysId | Sys_id de la règle de restriction de reclassification correspondante. Applicable uniquement lorsque IRE ignore la reclassification en raison de la règle de restriction de reclassification. Cette valeur est vide si la reclassification est ignorée en raison d’une charge utile ou d’un marqueur global. Type de données : chaîne |
| <String>.items.inputIndices | Valeurs d’index pour les CI du tableau de corps items de la demande qui correspondent à ce CI. Type de données : tableau |
| <String>.items.maskedAttributes | Liste des attributs dont la mise à jour par une source de données ne faisant pas autorité a été ignorée, tel que défini par les règles de rapprochement. Type de données : tableau |
| <Chaîne>.items.relatedItems | Liste qui fournit des informations sur les éléments connexes traités. Type de données : tableau d’objets |
| <String>.items.relatedItems.className | Nom de classe/table (sys_class_name) de l’élément associé. Type de données : chaîne |
| <String>.items.relatedItems.errors | Liste des erreurs qui se sont produites pendant le traitement. Type de données : tableau d’objets |
| <String>.items.relatedItems.errorCount | Nombre d’erreurs détectées pendant le traitement. Type de données : nombre |
| <String>.items.relatedItems.inputIndices | Index des éléments connexes correspondants. Type de données : tableau ou nombres |
| <String>.items.relatedItems.inputIndices.mainIndex | Valeur entière du tableau de corps items de la demande qui correspond au parent CI de l’élément connexe. Type de données : nombre |
| <String>.items.relatedItems.inputIndices.subIndex | Valeur entière du tableau de corps items.lookup de la demande qui correspond à l’élément connexe. Type de données : nombre |
| <String>.items.relatedItems.operation | Type d’opération. Valeurs possibles :
Type de données : chaîne |
| <String>.items.relatedSysIds | Liste des valeurs sys_id pour les éléments connexes (éléments de recherche de table) à partir du tableau du corps items.lookup de la demande. Valeurs notables : nul : aucune sys_id n’a été identifiée pour cet élément associé. Type de données : tableau |
| <Chaîne>.items.sys_id | Sys_id du CI qui a été mis à jour ou créé. Type de données : chaîne |
| <Chaîne>.relations | Informations sur les relations traitées. Type de données : tableau d’objets |
| <String>.relations.className | Sys_class_name de ce CI de relation dépendante. Seule valeur prise en charge : cmdb_rel_ci : table de relations CI. Type de données : chaîne |
| <String>.relations.errorCount | Nombre d’erreurs. Type de données : nombre |
| <String>.relations.inputIndices | Index des relations d’entrée correspondantes. Type de données : tableau |
| <Chaîne>.relations.opération | Type d’opération effectuée. Valeurs possibles :
Type de données : chaîne |
| <String>.relations.sysId | Sys_id du CI de relation dépendante. Type de données : chaîne |
La section suivante montre comment reclassifier un élément de configuration.
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"short_description": "Linux server description",
"name": "Linux Server 1"
}
}
]
};
var input = JSON.stringify(payload);
var output = sn_cmdb.IdentificationEngine.createOrUpdateCI('ServiceNow', input);
gs.info(JSON.stringify(JSON.parse(output), null, 2));
Sortie :
{
"items": [
{
"className": "cmdb_ci_linux_server",
"operation": "NO_CHANGE",
"sysId": "440577800f321010150efc91ff767e94",
"identifierEntrySysId": "556eb250c3400200d8d4bea192d3ae92",
"identificationAttempts": [
{
"attributes": [],
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number",
"serial_number_type"
],
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number"
],
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"name"
],
"identifierName": "Hardware Rule",
"attemptResult": "MATCHED",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
}
],
"info": [
{
"message": "CI Reclassification not allowed from class: [cmdb_ci_linux_server] to [cmdb_ci_win_server] by a reclassification restriction rule",
"code": "SKIPPED_CLASS_SWITCH",
"ruleSysId": "b3d4b3800f321010150efc91ff767eab"
}
],
"errorCount": 0,
"warningCount": 0,
"markers": [],
"inputIndices": [
0
],
"mergedPayloadIds": []
}
],
"additionalCommittedItems": [],
"relations": [],
"additionalCommittedRelations": []
}
L’exemple suivant montre comment mettre à jour un élément de configuration.
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"chassis_type": "Desktop",
"os": "Windows 2012 R2 Datacenter",
"name": "Windows2012Server1",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"cpu_count": "1"
},
"lookup": [
{
"values": {
"valid": "true",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"serial_number_type": "bios"
},
"className": "cmdb_serial_number"
},
{
"values": {
"valid": "true",
"serial_number": "3311-9736-4988-9744-1749-4183-41",
"serial_number_type": "chassis"
},
"className": "cmdb_serial_number"
}],
"internal_id": "16777219",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "16777219",
"source_recency_timestamp": "2019-10-18 08:31:23"
}},
{
"className": "cmdb_ci_spkg",
"values": {
"name": "Windows 2012 R2 Datacenter",
"key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL"
},
"related": [
{
"internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219",
"values": {
"name": "Windows 2012 R2 Datacenter-SAMLABVM52"
},
"className": "cmdb_software_instance",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}}]},
{
"className": "cmdb_ci_app_server_tomcat",
"values": {
"running_process_key_parameters": "/opt/OV/nonOV/tomcat/b/temp org.apache.catalina.startup.Bootstrap start",
"install_directory": "/opt/OV/nonOV/tomcat/b",
"name": "Tomcat@hpom9:3443",
"server_port": "8006",
"sys_class_name": "cmdb_ci_app_server_tomcat"
},
"internal_id": "tomcat_id"
}],
"relations": [
{
"parent_id": "tomcat_id",
"child_id": "16777219",
"type": "Runs on::Runs"
}],
"referenceItems": [
{
"referenceField": "installed_on",
"referenced": "16777219",
"referencedBy": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}]};
var input = JSON.stringify(payload);
var output = sn_cmdb.IdentificationEngine.createOrUpdateCI('ServiceNow', input);
gs.info(JSON.stringify(JSON.parse(output), null, 2));
Sortie :
{
"items": [
{
"className": "cmdb_ci_win_server",
"operation": "INSERT",
"sysId": "d56ab6eadbd510102f67dfea5e96194e",
"relatedSysIds": [
"dd6af62adb1910102f67dfea5e96197f",
"996af62adb1910102f67dfea5e961980"
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "dd6af62adb1910102f67dfea5e96197f",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 0
}
],
"className": "cmdb_serial_number"
},
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "996af62adb1910102f67dfea5e961980",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 1
}
],
"className": "cmdb_serial_number"
}
],
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source NO_MATCH",
"identifierName": "",
"attemptResult": "NO_MATCH",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"serial_number",
"serial_number_type"
],
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"serial_number"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"name"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"mac_address",
"name"
],
"searchOnTable": "cmdb_ci_network_adapter",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
},
{
"className": "cmdb_ci_spkg",
"operation": "INSERT",
"sysId": "116af62adb1910102f67dfea5e961981",
"relatedSysIds": [
"6d6af62adb1910102f67dfea5e961984"
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "6d6af62adb1910102f67dfea5e961984",
"markers": [],
"inputIndices": [
{
"mainIndex": 1,
"subIndex": 0
}
],
"className": "cmdb_software_instance"
}
],
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"identifierName": "Software",
"attemptResult": "NO_MATCH",
"attributes": [
"key"
],
"searchOnTable": "cmdb_ci_spkg",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
1
]
},
{
"className": "cmdb_ci_app_server_tomcat",
"operation": "INSERT",
"sysId": "e96af62adb1910102f67dfea5e961985",
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
2
]
}
],
"additionalCommittedItems": [],
"relations": [
{
"className": "cmdb_rel_ci",
"operation": "INSERT",
"sysId": "e96af62adb1910102f67dfea5e961989",
"identifierEntrySysId": "Unknown",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
}
],
"additionalCommittedRelations": []
}
Identifiez un CI dépendant.
var payload =
{items: [
{className:'cmdb_ci_web_server',
values: {name:'apache linux den 200',
running_process_command: 'xyz',
running_process_key_parameters: 'abc',
tcp_port:'3452'}},
{className:'cmdb_ci_linux_server',
values: {name:'lnux100', ram:'2048'}}],
relations:[{parent: 0, child: 1, type: 'Runs on::Runs'}]
};
var input = JSON.stringify(payload);
var output = sn_cmdb.IdentificationEngine.createOrUpdateCI('ServiceNow', input);
gs.info(JSON.stringify(JSON.parse(output), null, 2));
Sortie :
{
"items": [
{
"className": "cmdb_ci_web_server",
"operation": "INSERT",
"sysId": "b9bb766adb1910102f67dfea5e961962",
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
},
{
"className": "cmdb_ci_linux_server",
"operation": "INSERT",
"sysId": "a5bb766adb1910102f67dfea5e96195b",
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"serial_number",
"serial_number_type"
],
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"serial_number"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"name"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"mac_address",
"name"
],
"searchOnTable": "cmdb_ci_network_adapter",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
1
]
}
],
"additionalCommittedItems": [],
"relations": [
{
"className": "cmdb_rel_ci",
"operation": "INSERT",
"sysId": "fdbb766adb1910102f67dfea5e961964",
"identifierEntrySysId": "Unknown",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
}
],
"additionalCommittedRelations": []
}
Identifiez un CI indépendant à l’aide de l’identification basée sur la recherche.
var payload = {items: [
{className:'cmdb_ci_netgear',
values: {name:'ny8500-nbxs08',
ports:'1200'},
lookup: [{className:'cmdb_serial_number',
values:{serial_number:'1234ABCD', serial_number_type:'uuid',absent:'false',valid:'true'}},
{className:'cmdb_serial_number',
values:{serial_number:'3456EFGH', serial_number_type:'system',absent:'false',valid:'true'}}]}]};
var input = JSON.stringify(payload);
var output = sn_cmdb.IdentificationEngine.createOrUpdateCI('ServiceNow', input);
gs.info(JSON.stringify(JSON.parse(output), null, 2));
Sortie :
{
"items": [
{
"className": "cmdb_ci_netgear",
"operation": "INSERT",
"sysId": "787c7e6adb1910102f67dfea5e96196e",
"relatedSysIds": [
"f47c7e6adb1910102f67dfea5e961977",
"3c7c7e6adb1910102f67dfea5e961977"
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "f47c7e6adb1910102f67dfea5e961977",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 0
}
],
"className": "cmdb_serial_number"
},
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "3c7c7e6adb1910102f67dfea5e961977",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 1
}
],
"className": "cmdb_serial_number"
}
],
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"serial_number",
"serial_number_type"
],
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"serial_number"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"name"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"mac_address",
"name"
],
"searchOnTable": "cmdb_ci_network_adapter",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
}
],
"additionalCommittedItems": [],
"relations": [],
"additionalCommittedRelations": []
}
IdentificationEngine : createOrUpdateCIEnhanced(Source de chaîne, Entrée de chaîne, Options d’objet)
Insère ou met à jour des éléments de configuration (CI) et des non-CIBase de données de gestion des configurations (CMDB) (classes ne s’étendant pas à partir de cmdb_ci) dans le Basé sur les règles d’identification CMDB et de rapprochement. Utilisez cette API au lieu de mettre CMDB à jour directement.
- Gestion de charges utiles partielles
- Gestion des validations partielles
- Suppression des éléments en double dans une charge utile
- Génération de résumés de sortie
Pour plus d’informations sur l’ingestion de tables non CMDB, reportez-vous à la section IRE support for non-CMDB tables.
| Nom | Type | Description |
|---|---|---|
| entrée | Chaîne | Requis. Charge utile en entrée. Une chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour. |
| Entrée.Éléments | Tableau d'objets | Éléments à ajouter ou mettre à jour. |
| entrée.éléments.nom_classe | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe ou table, telle que cmdb_ci_linux_server ou cmdb_ci_win_server. |
| input.items.display_values | Objet | Champs de référence à créer ou mettre à jour pour cet élément connexe sous forme de paires nom-valeur, où le nom est le nom du champ et la valeur est la valeur d’affichage référencée. Si vous souhaitez utiliser la sys_id au lieu de la valeur d’affichage des champs de référence, transmettez les informations dans le input.items.lookup.values paramètre plutôt que dans ce paramètre. Les noms des champs de référence dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.items.internal_id | Chaîne | Identificateur d’élément unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| entrée.éléments.recherche | Tableau d'objets | Identifie l’élément de niveau supérieur contenant la recherche (identification basée sur la recherche). Ces enregistrements sont utilisés pour identifier l’élément de configuration en fonction d’une table de recherche qui a une référence à cmdb_ci. Par exemple : |
| input.items.lookup.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe ou table, telle que cmdb_serial_number ou cmdb_ci_network_adapter. |
| input.items.lookup.internal_id | Chaîne | Identificateur d’élément de recherche unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| input.items.lookup.sys_object_source_info | Objet | Définit un identificateur CI unique pour une source de données spécifique. Différentes sources peuvent avoir des paires nom-valeur différentes pour le même CI. |
| input.items.lookup.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie de manière unique le flux source. |
| nom_source input.items.lookup.sys_objet_source_nom_source | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.lookup.sys_object_source_info.source_native_key | Chaîne | Identificateur-clé unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | Chaîne | Date/heure UTC à laquelle l’élément a été analysé. Format : JJ-MM-AAAA hh :mm :ss |
| Entrée.Éléments.Recherche.Valeurs | Objet | Informations de champ pour le CI sous forme de paires nom-valeur, où le nom est le nom de champ. Lors de la mise à jour des champs de référence, la valeur doit être le sys_id référencé. Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Entrée.Éléments.Connexes | Tableau d'objets | Référence à l’élément de niveau supérieur qui contient la liste connexe. Les règles de l’entrée connexe [cmdb_related_entry] définissent le type d’enregistrements qui peuvent se trouver dans ce tableau. Ces enregistrements sont utilisés pour ajouter des éléments en fonction d’une table connexe qui a une référence au CI en cours d’identification. La table connexe peut étendre ou non cmdb_ci. Ces enregistrements ne sont pas utilisés pour identifier l’élément de configuration. |
| input.items.related.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe ou table, telle que cmdb_software_instance ou cmdb_key_value. |
| input.items.related.internal_id | Chaîne | Identificateur unique de cet élément connexe dans cette charge utile. Peut être n’importe quelle valeur, mais doit être unique dans la charge utile. |
| input.items.related.sys_object_source_info | Objet | Objet qui constitue un identificateur CI unique pour une source de données spécifiée. Différentes sources peuvent avoir des paires nom-valeur différentes pour le même CI. |
| input.items.related.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie de manière unique le flux source. |
| nom_source input.items.related.sys_objet_source.nom_source | Chaîne | Identifie la source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.related.sys_object_source_info.source_native_key | Chaîne | Clé/ID unique de la source pour l’élément connexe. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.related.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été analysé. Format : |
| Entrée.Éléments.Valeurs.connexes | Objet | Champs à créer ou mettre à jour pour cet élément associé sous forme de paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Entrée.Éléments.Paramètres | Objet | Paramètres qui définissent les types de mises à jour autorisés. |
| input.items.settings.skipReclassificationRestrictionRules | Booléen | Marqueur indiquant si IRE ne doit pas exécuter la règle de restriction de reclassification qui correspond à la classe de l’élément de charge utile. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutDowngrade | Booléen | Marqueur indiquant si la mise à jour et la version antérieure sont autorisées pour cet élément. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutSwitch | Booléen | Marqueur indiquant si l’élément peut être mis à jour et la classe changée. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutUpgrade | Booléen | Marqueur indiquant si la mise à jour et la mise à niveau sont autorisées pour cet élément. Valeurs valides :
Valeur par défaut : false |
| input.items.sys_object_source_info | Objet | Identificateur CI unique d’une source spécifique. |
| input.items.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie de manière unique le flux source. |
| input.items.sys_info_source_objet_nom_source | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.sys_object_source_info.source_native_key | Chaîne | Clé/ID unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été analysé. Format : JJ-MM-AAAA hh :mm :ss |
| entrée.éléments.valeurs | Objet | Champs à créer ou mettre à jour pour cet élément associé sous forme de paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.referenceItems | Tableau d'objets | Liste qui définit les références entre les éléments dans la charge utile d’entrée. |
| input.referenceItems.referenced | Chaîne | Défini internal_id pour l’élément référencé par un autre élément. |
| input.referenceItems.referencedBy | Chaîne | Défini internal_id pour l’élément qui fait référence à un autre élément. |
| input.referenceItems.referenceField | Chaîne | Nom du champ de référence dans la classe/la table pour l’élément referencedBy . |
| Entrée.Relations | Tableau d'objets | Liste qui spécifie les relations entre les éléments dans la charge utile d’entrée. Un objet de ce tableau peut utiliser l’un des deux formats.
|
| entrée.relations.enfant | Numéro | Index entier de l’objet CI dans le items tableau qui représente l’enfant dans la relation (items, items.related ou items.lookup). |
| input.relations.child_id | Chaîne | Le internal_id de l’élément enfant dans la relation (items, items.related ou items.lookup). |
| entrée.relations.parent | Numéro | Index entier de l’élément parent dans le items tableau (items, items.related ou items.lookup). |
| input.relations.parent_id | Chaîne | L’élément internal_id de l’élément parent dans la relation (items, items.related ou items.lookup.) |
| input.relations.sys_rel_source_info | Objet | Informations sur la source de découverte pour la relation. Pour les relations de non-dépendance, ces informations sont enregistrées dans la table Sources de relations [sys_rel_source] (non conservée pour les méthodes identifyCIEnhanced() ou identifyCI( ).) Type de données : objet |
| input.relations.sys_rel_source_info.nom_source | Chaîne | Nom de la source de découverte. Par défaut : source de découverte transmise dans le paramètre de méthode API. |
| input.relations.sys_rel_source_info.source_feed | Chaîne | Toute chaîne qui est une sous-découverte/analyse dans la source de découverte. Par défaut : « INCONNU » est stocké dans la colonne source_feed lors de la création d’un enregistrement dans sys_rel_source table. |
| entrée.relations.type | Chaîne | Type de relation qui existe entre les éléments parent et enfant. Il doit s’agir d’une valeur de champ de nom de la table Type de relation CI [cmdb_rel_type]. |
| options | Objet | Facultatif, mais {} ou null doit être transmis. Options permettant d’activer ou de désactiver des fonctionnalités. Remarque : Par défaut ou si partial_payloads est défini sur true, les deux partial_commits et deduplicate_payloads sont activés, même s’ils sont définis sur false, car ces fonctionnalités sont essentielles pour la fonctionnalité de charges utiles partielles. |
| options.deduplicate_payloads | Booléen | Marqueur indiquant si les éléments en double sont fusionnés ou considérés comme des erreurs. Valeurs valides :
Par défaut : true |
| options.generate_summary | Booléen | Marqueur indiquant si les résultats renvoyés contiennent des informations récapitulatives. Pour plus de détails sur les informations récapitulatives renvoyées, consultez <String>.summary la table des résultats renvoyés. Valeurs valides :
Valeur par défaut : false |
| options.partial_commits | Booléen | Marqueur indiquant si la prise en charge partielle de la validation est activée. Pour plus d’informations sur les validations partielles, consultez Fonctionnalités IRE améliorées. Valeurs valides :
Par défaut : true |
| options.partial_payloads | Booléen | Marqueur indiquant si la prise en charge de la charge utile partielle est activée. Pour plus d’informations sur les charges utiles partielles, consultez Fonctionnalités IRE améliorées et Créer une règle de source de données IRE. Valeurs valides :
Par défaut : true |
| options.skip_updating_last_scan_to_now | Booléen | Marqueur indiquant s’il faut ignorer la mise à jour du champ d’heure de last_scan du sys_object_source. Valeurs valides :
Par défaut : utilise la valeur de la propriété système glide.identification_engine.skip_updating_last_scan_to_now. |
| options.skip_updating_source_last_discovered_to_now | Booléen | Marqueur indiquant si la mise à jour des champs discovery_source et last_discovered dans la table Élément de configuration [cmdb_ci] doit être ignorée. Valeurs valides :
Par défaut : utilise la valeur de la propriété système glide.identification_engine.skip_updating_source_last_discovered_to_now. |
| source | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| Paramètre | Description |
|---|---|
| <chaîne> | Chaîne au format JSON qui est une liste de résultats pour les éléments de configuration dans la chaîne d’entrée. Type de données : chaîne |
| <Chaîne>.additionalCommittedItems | Liste des CI qui ont été validés pendant le traitement IRE de la charge utile actuelle, mais qui n’étaient pas présents dans la charge utile d’entrée actuelle. Type de données : tableau d’objets |
| <String>.additionalCommittedItems.className | Sys_class_name de ce CI supplémentaire. Type de données : chaîne |
| <String>.additionalCommittedItems.errorCount | Nombre d’erreurs rencontrées lors du traitement de ce CI supplémentaire. Type de données : nombre |
| <Chaîne>.additionalCommittedItems.errors | Tableau d’objets qui décrit les erreurs rencontrées lors du traitement de ce CI supplémentaire. Type de données : tableau |
| <Chaîne>.additionalCommittedItems.errors.error | Type d’erreur rencontrée lors du traitement du CI supplémentaire. Type de données : chaîne |
| <Chaîne>.additionalCommittedItems.errors.message | Message d’erreur rencontré lors du traitement du CI supplémentaire. Type de données : chaîne |
| <String>.additionalCommittedItems.identificationAttempts | Tableau d’objets dans lequel chaque objet décrit une tentative d’identification de ce CI supplémentaire. Type de données : tableau d’objets |
| <String>.additionalCommittedItems.identificationAttempts.attemptResult | Résultat de cette tentative d’identification de CI supplémentaire. Type de données : chaîne Valeurs possibles :
|
| <Chaîne>.additionalCommittedItems.identificationAttempts.attributes | Attributs d’entrée d’identificateur de CI utilisés au cours de cette tentative d’identification de CI supplémentaire. Type de données : tableau Les noms et les types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <String>.additionalCommittedItems.identificationAttempts.hybridEntryCiAttributes | Tableau des attributs d’entrée d’identificateur de CI utilisés au cours de cette tentative d’identification de CI supplémentaire. Type de données : tableau Les noms et les types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <String>.additionalCommittedItems.identificationAttempts.identifierName | Règle d’identificateur utilisée pour cette tentative d’identification de CI supplémentaire. Type de données : chaîne |
| <String>.additionalCommittedItems.identificationAttempts.searchOnTable | Nom de la table recherchée pour cette tentative d’identification de CI supplémentaire. Type de données : chaîne |
| <String>.additionalCommittedItems.identifierEntrySysId | Sys_id de la règle d’identificateur utilisée pour identifier ce CI supplémentaire. Valeurs notables : inconnues : échec de l’identification de ce CI supplémentaire. Consultez errors pour en savoir plus. |
| <Chaîne>.additionalCommittedItems.inputIndices | Valeurs d’index pour les CI du tableau de corps items de la demande qui correspondent à ce CI supplémentaire. Type de données : tableau de nombres |
| <String>.additionalCommittedItems.markers | Valeurs du marqueur pour une utilisation interne. Type de données : tableau |
| <String>.additionalCommittedItems.mergedPayloads | Sys_id les valeurs des charges utiles partielles de la table Charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads] qui ont été fusionnées pendant le traitement de ce CI supplémentaire. Type de données : tableau |
| <Chaîne>.additionalCommittedItems.operation | Opération exécutée pour ce CI supplémentaire. Type de données : chaîne Valeurs possibles :
|
| <String>.additionalCommittedItems.sysId | Sys_id trouvé pour ce CI supplémentaire via l’identification. Type de données : chaîne Valeurs notables : inconnues : échec de l’identification de ce CI supplémentaire. Consultez errors pour en savoir plus. |
| <Chaîne>.additionalCommittedItems.avertissements | Description des avertissements rencontrés lors du traitement de ce CI supplémentaire. Type de données : tableau d’objets |
| <Chaîne>.additionalCommittedItems.warnings.error | Type d’avertissement rencontré lors du traitement de ce CI supplémentaire. Type de données : chaîne |
| <Chaîne>.additionalCommittedItems.avertissements.message | Message d’avertissement rencontré lors du traitement de ce CI supplémentaire. Type de données : chaîne |
| <String>.additionalCommittedRelations | Description d’un CI de relation dépendante qui n’était pas inclus dans la liste du corps relations de la demande à insérer ou à mettre à jour. Type de données : tableau d’objets |
| <String>.additionalCommittedRelations.className | Le sys_class_name de ce CI de relation dépendante supplémentaire. Type de données : chaîne Seule valeur prise en charge : cmdb_rel_ci : table des relations CI. |
| <String>.additionalCommittedRelations.errorCount | Nombre d’erreurs rencontrées lors du traitement de ce CI de relation dépendante supplémentaire. Type de données : nombre |
| <Chaîne>.additionalCommittedRelations.errors | Description des erreurs rencontrées lors du traitement de ce CI de relation dépendante supplémentaire. Type de données : tableau d’objets |
| <Chaîne>.additionalCommittedRelations.errors.error | Type d’erreur rencontrée lors du traitement du CI de relation dépendante supplémentaire. Type de données : chaîne |
| <Chaîne>.additionalCommittedRelations.errors.message | Un message d’erreur est survenu lors du traitement de ce CI de relation dépendante supplémentaire. Type de données : chaîne |
| <Chaîne>.additionalCommittedRelations.inputIndices | Valeurs d’index pour les objets CI de relation dépendante dans le tableau de corps relations de la demande qui correspondent à ce CI de relation dépendante supplémentaire. Type de données : tableau |
| <Chaîne>.additionalCommittedRelations.marqueurs | Valeurs du marqueur pour une utilisation interne. Type de données : tableau |
| <String>.additionalCommittedRelations.mergedPayloadIds | Sys_id les valeurs des charges utiles partielles de la table Charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads] qui ont été fusionnées pour ce CI.qui ont été fusionnées pendant le traitement de ce CI de relation dépendante supplémentaire. Type de données : tableau |
| <Chaîne>.additionalCommittedRelations.operation | Opération qui a été effectuée pour le CI de relation dépendante supplémentaire. Valeurs possibles :
Type de données : chaîne |
| <Chaîne>.hasError | Marqueur indiquant si un élément ou une relation comporte des erreurs. Type de données : booléennes |
| <Chaîne>.hasWarning | Marqueur indiquant si un élément ou une relation comporte des avertissements. Type de données : booléennes |
| <chaîne>.éléments | Description des CI créés ou mis à jour. Type de données : tableau d’objets |
| <String>.items.additionalRelatedItems | Informations sur la recherche supplémentaire et les éléments connexes qui ont été traités mais non fournis dans le cadre de la charge utile d’entrée. Ces éléments proviennent de charges utiles partielles. Type de données : tableau d’objets |
| <String>.items.additionalRelatedItems.className | Nom de classe/table (sys_class_name) du CI qui a été créé ou mis à jour. Type de données : chaîne |
| <String>.items.additionalRelatedItems.inputIndices | Valeurs d’index des CI du tableau de corps items de la demande qui correspondent à cet élément associé. Type de données : tableau de nombres |
| <String>.items.additionalRelatedItems.mergedPayloadIds | Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans l’élément associé. Type de données : tableau Table : charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads] |
| <String>.items.additionalRelatedItems.operation | Type d’opération. Valeurs possibles :
Type de données : chaîne |
| <String>.items.additionalRelatedItems.sysId | Sys_id du CI qui a été mis à jour ou créé. Type de données : chaîne |
| <String>.items.className | Nom de classe/table (sys_class_name) du CI qui a été créé ou mis à jour. Type de données : chaîne |
| <String>.items.duplicateIndices | Liste des index de CI qui sont des doublons de l’élément actuel. Type de données : tableau |
| <String>.items.errorCount | Nombre d’erreurs rencontrées lors du traitement de l’élément. Type de données : nombre |
| <Chaîne>.éléments.erreurs | Liste des erreurs rencontrées lors du traitement de ce CI. Type de données : tableau d’objets |
| <Chaîne>.éléments.erreurs.erreur | Type d’erreur rencontrée lors du traitement du CI. Type de données : chaîne |
| <Chaîne>.éléments.erreurs.message | Message d’erreur associé à l’erreur. Type de données : chaîne |
| <String>.items.identificationAttempts | Liste des tentatives d’identification des CI. Type de données : tableau d’objets |
| <String>.items.identificationAttempts.attemptResult | Résultats de la tentative d’identification du CI. Valeurs possibles :
Type de données : chaîne |
| <Chaîne>.éléments.identificationTentatives.attributs | Liste des attributs d’entrée d’identificateur CI qui ont été utilisés au cours du processus d’identification. Type de données : tableau Les noms et les types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <String>items.identificationAttempts.hybridEntryCiAttributes | Liste des attributs d’entrée d’identificateur CI qui ont été utilisés au cours du processus d’identification. Type de données : tableau Les noms et les types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <String>.items.identificationAttempts.identifierName | Règle d’identificateur utilisée pour cette tentative d’identification de CI. Type de données : chaîne |
| <String>.items.identificationAttempts.searchOnTable | Nom de la table recherchée au cours du processus d’identification. Type de données : chaîne |
| <String>.items.identifierEntrySysId | Sys_id de la règle d’identificateur utilisée pour identifier le CI. Type de données : chaîne Table : Entrée d’identificateur [cmdb_identifier_entry] |
| <String>.items.incompleteSysIds | Si l’élément comporte des erreurs et a été enregistré comme charge utile incomplète, ce paramètre contient le sys_id de l’enregistrement dans la table de charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads]. Type de données : chaîne |
| <String>.items.info | Informations supplémentaires sur le traitement de l’élément. Type de données : tableau d’objets |
| <Chaîne>.éléments.info.code | Type de reclassification qui a été ignoré. Valeurs possibles :
Type de données : chaîne |
| <Chaîne>.éléments.info.message | Message qui fournit des informations supplémentaires sur le motif pour lequel la reclassification a été ignorée. Type de données : chaîne |
| <String>.items.info.ruleSysId | Sys_id de la règle de restriction de reclassification correspondante. Applicable uniquement lorsque IRE ignore la reclassification en raison de la règle de restriction de reclassification. Cette valeur est vide si la reclassification est ignorée en raison d’une charge utile ou d’un marqueur global. Type de données : chaîne |
| <String>.items.inputIndices | Index du CI d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les CI connexes ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : tableau de nombres |
| <String>.items.maskedAttributes | Liste des attributs dont la mise à jour par une source de données ne faisant pas autorité a été ignorée, tel que défini par les règles de rapprochement. Type de données : tableau |
| <Chaîne>.éléments.opération | Opération qui a eu lieu. Valeurs possibles :
Type de données : chaîne |
| <String>.items.partialSysIds | Si l’élément comportait des erreurs et a été enregistré comme charge utile partielle, ce paramètre contient la sys_id de l’enregistrement de charge utile partielle. Type de données : chaîne |
| <Chaîne>.items.relatedItems | Liste des objets JSON qui décrivent un CI connexe (CI de recherche de table) à partir du tableau de corps items.lookup de la demande. Type de données : tableau d’objets |
| <String>.items.relatedItems.className | Nom de classe/table (sys_class_name) de l’élément associé. Type de données : chaîne |
| <String>.items.relatedItems.errors | Liste des erreurs qui se sont produites lors du traitement de l’élément connexe. Type de données : tableau d’objets |
| <Chaîne>.éléments.élémentsconnexes.erreurs.erreur | Type d’erreur rencontrée lors du traitement de l’élément connexe. Type de données : chaîne |
| <String>.items.relatedItems.errors.message | Message d’erreur associé à l’erreur. Type de données : chaîne |
| <String>.items.relatedItems.errorCount | Nombre d’erreurs détectées lors du traitement des éléments connexes. Type de données : nombre |
| <String>.items.relatedItems.incompleteSysIds | Si la relation comportait des erreurs et a été enregistrée comme charge utile incomplète, cette valeur est le sys_id de l’enregistrement dans la table Charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads]. Type de données : chaîne |
| <String>.items.relatedItems.inputIndices | Index de l’élément d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les éléments connexes ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : tableau de nombres ou tableau d’objets |
| <String>.items.relatedItems.inputIndices.mainIndex | Valeur d’index du tableau de corps items de la demande qui correspond au parent CI de l’élément connexe. Type de données : nombre |
| <String>.items.relatedItems.inputIndices.subIndex | Valeur d’index du tableau de corps items.lookup de la demande qui correspond à l’élément connexe. Type de données : nombre |
| <String>.items.relatedItems.mergedPayloadIds | Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans le CI pendant le traitement. Type de données : tableau |
| <String>.items.relatedItems.operation | Opération qui a eu lieu. Valeurs possibles :
Type de données : chaîne |
| <String>.items.relatedItems.partialSysIds | Si l’élément associé comportait des erreurs et a été enregistré comme charge utile partielle, il contient une liste des sys_ids des enregistrements associés dans la table Charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads]. Type de données : tableau |
| <String>.items.relatedItems.sysId | Sys_id de l’élément connexe. Type de données : chaîne |
| <String>.items.relatedItems.warningCount | Nombre d’avertissements rencontrés lors du traitement des éléments connexes. Type de données : nombre |
| <String>.items.relatedItems.warnings | Description des avertissements rencontrés lors du traitement des éléments connexes. Type de données : tableau d’objets |
| <String>.items.relatedItems.warnings.error | Type d’avertissement rencontré lors du traitement de l’élément connexe. Type de données : chaîne |
| <Chaîne>.éléments.connexesÉléments.avertissements.message | Message associé à l’avertissement. Type de données : chaîne |
| <String>.items.relatedSysIds | Liste des valeurs de sys_id des CI utilisés lors de l’identification basée sur la recherche d’éléments connexes. Type de données : chaîne |
| <Chaîne>.items.sys_id | Sys_id du CI qui a été mis à jour ou créé. Type de données : chaîne |
| <Chaîne>.relations | Description d’un CI de relation dépendante à partir du tableau de corps relations de la demande. Type de données : tableau d’objets |
| <String>.relations.className | Sys_class_name de ce CI de relation dépendante. Seule valeur prise en charge : cmdb_rel_ci : table de relations CI. Type de données : chaîne |
| <String>.relations.errorCount | Nombre d’erreurs rencontrées lors du traitement du CI de relation dépendante. Type de données : nombre |
| <Chaîne>.relations.errors | Liste qui décrit les erreurs rencontrées lors du traitement de ce CI de relation dépendante. Type de données : tableau d’objets |
| <Chaîne>.relations.erreurs.erreur | Type d’erreur rencontrée lors du traitement du CI de relation dépendante. Type de données : chaîne |
| <Chaîne>.relations.erreurs.message | Message d’erreur rencontré lors du traitement de ce CI de relation dépendante. Type de données : chaîne |
| <String>.relations.incompleteSysIds | Si la relation comportait des erreurs et a été enregistrée comme charge utile incomplète, cette valeur est le sys_id de l’enregistrement dans la table Charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads]. Type de données : chaîne |
| <String>.relations.inputIndices | Index des objets CI de relation dépendante dans le tableau de corps relations de la demande qui correspondent à ce CI de relation dépendante. Type de données : tableau |
| <Chaîne>.relations.opération | Type d’opération effectuée. Valeurs possibles :
Type de données : chaîne |
| <String>.relations.partialSysIds | Si la relation comportait des erreurs et a été enregistrée comme charge utile partielle, cette valeur est le sys_id de l’enregistrement dans la table Charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads]. Type de données : chaîne |
| <String>.relations.sysId | Sys_id du CI de relation dépendante. Type de données : chaîne |
| <chaîne>.résumé | Liste des propriétés JSON qui fournissent des statistiques sur le nombre d’éléments insérés, mis à jour, entre autres, par classe. Type de données : tableau |
| <chaîne>.summary.<class_name> | Statistiques d’une classe spécifique. Type de données : objet |
| <String>.summary.<class_name>.additionalInsertedItemCount | Nombre d’éléments insérés en raison du traitement de charges utiles partielles. Type de données : nombre |
| <String>.summary.<class_name>.errorCount | Nombre d’erreurs rencontrées lors du traitement des éléments. Type de données : nombre |
| <String>.summary.<class_name>.incompleteItemCount | Nombre d’éléments insérés dans la table Charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads]. Type de données : nombre |
| <String>.summary.<class_name>.insertedItemCount | Nombre d’éléments créés. Type de données : nombre |
| <Chaîne>.summary.<class_name>.partialItemCount | Nombre d’éléments enregistrés dans la table de charge utile partielle [cmdb_ire_partial_payloads]. Type de données : nombre |
| <String>.summary.<class_name>.skippedItemCount | Nombre d’éléments ignorés. Type de données : nombre |
| <String>.summary.<class_name>.unchangedItemCount | Nombre d’éléments qui avaient des entrées mais qui n’ont pas été modifiés. Type de données : nombre |
| <Chaîne>.summary.<class_name>.updatedItemCount | Nombre d’éléments mis à jour. Type de données : nombre |
| <String>.summary.<class_name>.warningCount | Nombre d’éléments qui ont généré un avertissement lors de leur traitement. Type de données : nombre |
Cet exemple montre comment importer plusieurs entrées CI.
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"chassis_type": "Desktop",
"os": "Windows 2012 R2 Datacenter",
"name": "Windows2012Server1",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"cpu_count": "1"
},
"lookup": [
{
"values": {
"valid": "true",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"serial_number_type": "bios"
},
"className": "cmdb_serial_number"
},
{
"values": {
"valid": "true",
"serial_number": "3311-9736-4988-9744-1749-4183-41",
"serial_number_type": "chassis"
},
"className": "cmdb_serial_number"
}],
"internal_id": "16777219",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "16777219",
"source_recency_timestamp": "2019-10-18 08:31:23"
}},
{
"className": "cmdb_ci_spkg",
"values": {
"name": "Windows 2012 R2 Datacenter",
"key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL"
},
"related": [
{
"internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219",
"values": {
"name": "Windows 2012 R2 Datacenter-SAMLABVM52"
},
"className": "cmdb_software_instance",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}}],
"settings" : {
"skipReclassificationRestrictionRules" : "false",
"updateWithoutDowngrade" : "true",
"updateWithoutUpgrade" : "true",
"updateWithoutSwitch" : "true"
}},
{
"className": "cmdb_ci_app_server_tomcat",
"values": {
"running_process_key_parameters": "/opt/OV/nonOV/tomcat/b/temp org.apache.catalina.startup.Bootstrap start",
"install_directory": "/opt/OV/nonOV/tomcat/b",
"name": "Tomcat@hpom9:3443",
"server_port": "8006",
"sys_class_name": "cmdb_ci_app_server_tomcat"
},
"internal_id": "tomcat_id"
}],
"relations": [
{
"parent_id": "tomcat_id",
"child_id": "16777219",
"type": "Runs on::Runs"
}],
"referenceItems": [
{
"referenceField": "installed_on",
"referenced": "16777219",
"referencedBy": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}]};
var input = JSON.stringify((payload));
var output = sn_cmdb.IdentificationEngine.createOrUpdateCIEnhanced('ServiceNow', input, {});
gs.info(JSON.stringify(JSON.parse(output), null, 2));
Sortie :
{
"items": [
{
"className": "cmdb_ci_win_server",
"operation": "NO_CHANGE",
"sysId": "65d873d2b3a0001028f6eae2c6a8dc2a",
"relatedSysIds": [
"a1d873d2b3a0001028f6eae2c6a8dc32",
"a1d873d2b3a0001028f6eae2c6a8dc33"
],
"relatedItems": [
{
"className": "cmdb_serial_number",
"sysId": "a1d873d2b3a0001028f6eae2c6a8dc32",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 0
}]
},
"className": "cmdb_serial_number",
"sysId": "a1d873d2b3a0001028f6eae2c6a8dc33",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 1
}]
}],
"additionalRelatedItems": [],
"identificationAttempts": [],
"errorCount": 0,
"inputIndices": [0]
},
{
"className": "cmdb_ci_spkg",
"operation": "NO_CHANGE",
"sysId": "c764e971b320001028f6eae2c6a8dc44",
"relatedSysIds": [
"8b64e971b320001028f6eae2c6a8dc47"
],
"relatedItems": [
{
"className": "cmdb_software_instance",
"sysId": "8b64e971b320001028f6eae2c6a8dc47",
"markers": [],
"inputIndices": [
{
"mainIndex": 1,
"subIndex": 0
}]
}],
"additionalRelatedItems": [],
"identifierEntrySysId": "a52a87c03746220006b216a543990e8c",
"identificationAttempts": [
{
"attributes": [
"key"
],
"identifierName": "Software",
"attemptResult": "MATCHED",
"searchOnTable": "cmdb_ci_spkg",
"hybridEntryCiAttributes": []
}],
"errorCount": 0,
"inputIndices": [1]
},
{
"className": "cmdb_ci_app_server_tomcat",
"operation": "INSERT",
"sysId": "6f29f3d2b3a0001028f6eae2c6a8dcc6",
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"attributes": [
"install_directory",
"running_process_key_parameters",
"sys_class_name"
],
"identifierName": "Tomcat",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_ci_app_server_tomcat",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"cl_port",
"sys_class_name"
],
"identifierName": "Application Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_ci_appl",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"running_process_command",
"running_process_key_parameters",
"sys_class_name"
],
"identifierName": "Application Rule",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_ci_appl",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"inputIndices": [2]
}
],
"additionalCommittedItems": [],
"relations": [
{
"className": "cmdb_rel_ci",
"operation": "INSERT",
"sysId": "6729f3d2b3a0001028f6eae2c6a8dcc9",
"errorCount": 0,
"inputIndices": [0]
}],
"additionalCommittedRelations": []
}
IdentificationEngine : identifyCI(String jsonString)
Détermine l’opération (insérer/mettre à jour) à effectuer avec la charge utile spécifiée sans valider l’opération dans la base de données.
Cela fonctionne comme createOrUpdateCI(), mais ne valide pas le résultat.
| Nom | Type | Description |
|---|---|---|
| chaîne jsonChaîne | Chaîne | Une chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour. Chaque chaîne d’entrée est au format 'items : [{}], relations :[{}]', où chaque élément des listes d’éléments et de relations contient des paires nom-valeur. Les paires nom-valeur possibles dans la liste des éléments sont les suivantes :
Les paires nom-valeur possibles dans la liste des relations sont les suivantes :
|
| Type | Description |
|---|---|
| Chaîne | Chaîne au format JSON qui est une liste de résultats. Chaque chaîne de résultat est au format 'items : [{}], relations :[{}]', où chaque élément des listes d’éléments et de relations contient des paires nom-valeur. Les paires nom-valeur possibles dans la liste des éléments sont les suivantes :
Les paires nom-valeur possibles dans la liste des relations sont les suivantes :
|
La section suivante montre comment reclassifier un élément de configuration.
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"short_description": "Linux server description",
"name": "Linux Server 1"
}
}
]
};
var input = JSON.stringify(payload);
var output = sn_cmdb.IdentificationEngine.identifyCI(input);
gs.info(JSON.stringify(JSON.parse(output), null, 2));
Sortie :
{
"items": [
{
"className": "cmdb_ci_linux_server",
"operation": "NO_CHANGE",
"sysId": "440577800f321010150efc91ff767e94",
"identifierEntrySysId": "556eb250c3400200d8d4bea192d3ae92",
"identificationAttempts": [
{
"attributes": [],
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number",
"serial_number_type"
],
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number"
],
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"name"
],
"identifierName": "Hardware Rule",
"attemptResult": "MATCHED",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
}
],
"info": [
{
"message": "CI Reclassification not allowed from class: [cmdb_ci_linux_server] to [cmdb_ci_win_server] by a reclassification restriction rule",
"code": "SKIPPED_CLASS_SWITCH",
"ruleSysId": "b3d4b3800f321010150efc91ff767eab"
}
],
"errorCount": 0,
"warningCount": 0,
"markers": [],
"inputIndices": [
0
],
"mergedPayloadIds": []
}
],
"additionalCommittedItems": [],
"relations": [],
"additionalCommittedRelations": []
}
IdentificationEngine : identifyCIEnhanced(source de chaîne, entrée de chaîne, options d’objet)
Détermine l’opération Base de données de gestion des configurations (CMDB) (insérer/mettre à jour) à effectuer avec la charge utile spécifiée (corps de la demande), sans valider les opérations dans la base de données.
Utilisez cette méthode pour simuler la soumission d’une charge utile.
- Charges utiles partielles
- Si un élément présente un avertissement ou une erreur, indique si une opération d’élément est INSERT_AS_PARTIAL ou INSERT_INCOMPLETE.
- Renvoie le sys_ids des charges utiles partielles qui ont été fusionnées avec des charges utiles partielles existantes.
- Prend en charge la fonctionnalité de déduplication de la charge utile.
- Génère un résumé.
| Nom | Type | Description |
|---|---|---|
| entrée | Chaîne | Requis. Charge utile en entrée. Une chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour. |
| Entrée.Éléments | Tableau d'objets | Éléments à ajouter ou mettre à jour. |
| entrée.éléments.nom_classe | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe ou table, telle que cmdb_ci_linux_server ou cmdb_ci_win_server. |
| input.items.display_values | Objet | Champs de référence à créer ou mettre à jour pour cet élément connexe sous forme de paires nom-valeur, où le nom est le nom du champ et la valeur est la valeur d’affichage référencée. Si vous souhaitez utiliser la sys_id au lieu de la valeur d’affichage des champs de référence, transmettez les informations dans le input.items.lookup.values paramètre plutôt que dans ce paramètre. Les noms des champs de référence dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.items.internal_id | Chaîne | Identificateur d’élément unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| entrée.éléments.recherche | Tableau d'objets | Identifie l’élément de niveau supérieur contenant la recherche (identification basée sur la recherche). Ces enregistrements sont utilisés pour identifier l’élément de configuration en fonction d’une table de recherche qui a une référence à cmdb_ci. Par exemple : |
| input.items.lookup.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe ou table, telle que cmdb_serial_number ou cmdb_ci_network_adapter. |
| input.items.lookup.internal_id | Chaîne | Identificateur d’élément de recherche unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| input.items.lookup.sys_object_source_info | Objet | Définit un identificateur CI unique pour une source de données spécifique. Différentes sources peuvent avoir des paires nom-valeur différentes pour le même CI. |
| input.items.lookup.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie de manière unique le flux source. |
| nom_source input.items.lookup.sys_objet_source_nom_source | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.lookup.sys_object_source_info.source_native_key | Chaîne | Identificateur-clé unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | Chaîne | Date/heure UTC à laquelle l’élément a été analysé. Format : JJ-MM-AAAA hh :mm :ss |
| Entrée.Éléments.Recherche.Valeurs | Objet | Informations de champ pour le CI sous forme de paires nom-valeur, où le nom est le nom de champ. Lors de la mise à jour des champs de référence, la valeur doit être le sys_id référencé. Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Entrée.Éléments.Connexes | Tableau d'objets | Référence à l’élément de niveau supérieur qui contient la liste connexe. Les règles de l’entrée connexe [cmdb_related_entry] définissent le type d’enregistrements qui peuvent se trouver dans ce tableau. Ces enregistrements sont utilisés pour ajouter des éléments en fonction d’une table connexe qui a une référence au CI en cours d’identification. La table connexe peut étendre ou non cmdb_ci. Ces enregistrements ne sont pas utilisés pour identifier l’élément de configuration. |
| input.items.related.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe ou table, telle que cmdb_software_instance ou cmdb_key_value. |
| input.items.related.internal_id | Chaîne | Identificateur unique de cet élément connexe dans cette charge utile. Peut être n’importe quelle valeur, mais doit être unique dans la charge utile. |
| input.items.related.sys_object_source_info | Objet | Objet qui constitue un identificateur CI unique pour une source de données spécifiée. Différentes sources peuvent avoir des paires nom-valeur différentes pour le même CI. |
| input.items.related.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie de manière unique le flux source. |
| nom_source input.items.related.sys_objet_source.nom_source | Chaîne | Identifie la source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.related.sys_object_source_info.source_native_key | Chaîne | Clé/ID unique de la source pour l’élément connexe. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.related.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été analysé. Format : |
| Entrée.Éléments.Valeurs.connexes | Objet | Champs à créer ou mettre à jour pour cet élément associé sous forme de paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Entrée.Éléments.Paramètres | Objet | Paramètres qui définissent les types de mises à jour autorisés. |
| input.items.settings.skipReclassificationRestrictionRules | Booléen | Marqueur indiquant si IRE ne doit pas exécuter la règle de restriction de reclassification qui correspond à la classe de l’élément de charge utile. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutDowngrade | Booléen | Marqueur indiquant si la mise à jour et la version antérieure sont autorisées pour cet élément. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutSwitch | Booléen | Marqueur indiquant si l’élément peut être mis à jour et la classe changée. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutUpgrade | Booléen | Marqueur indiquant si la mise à jour et la mise à niveau sont autorisées pour cet élément. Valeurs valides :
Valeur par défaut : false |
| input.items.sys_object_source_info | Objet | Identificateur CI unique d’une source spécifique. |
| input.items.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie de manière unique le flux source. |
| input.items.sys_info_source_objet_nom_source | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.sys_object_source_info.source_native_key | Chaîne | Clé/ID unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été analysé. Format : JJ-MM-AAAA hh :mm :ss |
| entrée.éléments.valeurs | Objet | Champs à créer ou mettre à jour pour cet élément associé sous forme de paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.referenceItems | Tableau d'objets | Liste qui définit les références entre les éléments dans la charge utile d’entrée. |
| input.referenceItems.referenced | Chaîne | Défini internal_id pour l’élément référencé par un autre élément. |
| input.referenceItems.referencedBy | Chaîne | Défini internal_id pour l’élément qui fait référence à un autre élément. |
| input.referenceItems.referenceField | Chaîne | Nom du champ de référence dans la classe/la table pour l’élément referencedBy . |
| Entrée.Relations | Tableau d'objets | Liste qui spécifie les relations entre les éléments dans la charge utile d’entrée. Un objet de ce tableau peut utiliser l’un des deux formats.
|
| entrée.relations.enfant | Numéro | Index entier de l’objet CI dans le items tableau qui représente l’enfant dans la relation (items, items.related ou items.lookup). |
| input.relations.child_id | Chaîne | Le internal_id de l’élément enfant dans la relation (items, items.related ou items.lookup). |
| entrée.relations.parent | Numéro | Index entier de l’élément parent dans le items tableau (items, items.related ou items.lookup). |
| input.relations.parent_id | Chaîne | L’élément internal_id de l’élément parent dans la relation (items, items.related ou items.lookup.) |
| input.relations.sys_rel_source_info | Objet | Informations sur la source de découverte pour la relation. Pour les relations de non-dépendance, ces informations sont enregistrées dans la table Sources de relations [sys_rel_source] (non conservée pour les méthodes identifyCIEnhanced() ou identifyCI( ).) Type de données : objet |
| input.relations.sys_rel_source_info.nom_source | Chaîne | Nom de la source de découverte. Par défaut : source de découverte transmise dans le paramètre de méthode API. |
| input.relations.sys_rel_source_info.source_feed | Chaîne | Toute chaîne qui est une sous-découverte/analyse dans la source de découverte. Par défaut : « INCONNU » est stocké dans la colonne source_feed lors de la création d’un enregistrement dans sys_rel_source table. |
| entrée.relations.type | Chaîne | Type de relation qui existe entre les éléments parent et enfant. Il doit s’agir d’une valeur de champ de nom de la table Type de relation CI [cmdb_rel_type]. |
| options | Objet | Facultatif, mais {} ou null doit être transmis. Options permettant d’activer ou de désactiver des fonctionnalités. Remarque : Par défaut ou si partial_payloads est défini sur true, les deux partial_commits et deduplicate_payloads sont activés, même s’ils sont définis sur false, car ces fonctionnalités sont essentielles pour la fonctionnalité de charges utiles partielles. |
| options.deduplicate_payloads | Booléen | Marqueur indiquant si les éléments en double sont fusionnés ou considérés comme des erreurs. Valeurs valides :
Par défaut : true |
| options.generate_summary | Booléen | Marqueur indiquant si les résultats renvoyés contiennent des informations récapitulatives. Pour plus de détails sur les informations récapitulatives renvoyées, consultez <String>.summary la table des résultats renvoyés. Valeurs valides :
Valeur par défaut : false |
| options.partial_commits | Booléen | Marqueur indiquant si la prise en charge partielle de la validation est activée. Pour plus d’informations sur les validations partielles, consultez Fonctionnalités IRE améliorées. Valeurs valides :
Par défaut : true |
| options.partial_payloads | Booléen | Marqueur indiquant si la prise en charge de la charge utile partielle est activée. Pour plus d’informations sur les charges utiles partielles, consultez Fonctionnalités IRE améliorées et Créer une règle de source de données IRE. Valeurs valides :
Par défaut : true |
| options.skip_updating_last_scan_to_now | Booléen | Marqueur indiquant s’il faut ignorer la mise à jour du champ d’heure de last_scan du sys_object_source. Valeurs valides :
Par défaut : utilise la valeur de la propriété système glide.identification_engine.skip_updating_last_scan_to_now. |
| options.skip_updating_source_last_discovered_to_now | Booléen | Marqueur indiquant si la mise à jour des champs discovery_source et last_discovered dans la table Élément de configuration [cmdb_ci] doit être ignorée. Valeurs valides :
Par défaut : utilise la valeur de la propriété système glide.identification_engine.skip_updating_source_last_discovered_to_now. |
| source | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| Type | Description |
|---|---|
| <chaîne> | Chaîne au format JSON qui est une liste de résultats pour les éléments de configuration dans la chaîne d’entrée. Type de données : chaîne |
| <Chaîne>.additionalCommittedItems | Liste des CI qui ont été validés pendant le traitement IRE de la charge utile actuelle, mais qui n’étaient pas présents dans la charge utile d’entrée actuelle. Type de données : tableau d’objets |
| <String>.additionalCommittedRelations | Description d’un CI de relation dépendante qui n’était pas inclus dans la liste du corps relations de la demande à insérer ou à mettre à jour. Type de données : tableau d’objets |
| <Chaîne>.hasError | Marqueur indiquant si un élément ou une relation comporte des erreurs. Type de données : booléennes |
| <Chaîne>.hasWarning | Marqueur indiquant si un élément ou une relation comporte des avertissements. Type de données : booléennes |
| <chaîne>.éléments | Description des CI créés ou mis à jour. Type de données : tableau d’objets |
| <String>.items.additionalRelatedItems | Informations sur la recherche supplémentaire et les éléments connexes qui ont été traités mais non fournis dans le cadre de la charge utile d’entrée. Ces éléments proviennent de charges utiles partielles. Type de données : tableau d’objets |
| <String>.items.additionalRelatedItems.className | Nom de classe/table (sys_class_name) du CI qui a été créé ou mis à jour. Type de données : chaîne |
| <String>.items.additionalRelatedItems.inputIndices | Valeurs d’index des CI du tableau de corps items de la demande qui correspondent à cet élément associé. Type de données : tableau de nombres |
| <String>.items.additionalRelatedItems.mergedPayloadIds | Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans l’élément associé. Type de données : tableau Table : charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads] |
| <String>.items.additionalRelatedItems.operation | Type d’opération. Valeurs possibles :
Type de données : chaîne |
| <String>.items.additionalRelatedItems.sysId | Sys_id du CI qui a été mis à jour ou créé. Type de données : chaîne |
| <String>.items.className | Nom de classe/table (sys_class_name) du CI qui a été créé ou mis à jour. Type de données : chaîne |
| <String>.items.duplicateIndices | Liste des index de CI qui sont des doublons de l’élément actuel. Type de données : tableau |
| <String>.items.errorCount | Nombre d’erreurs rencontrées lors du traitement de l’élément. Type de données : nombre |
| <Chaîne>.éléments.erreurs | Liste des erreurs rencontrées lors du traitement de ce CI. Type de données : tableau d’objets |
| <Chaîne>.éléments.erreurs.erreur | Type d’erreur rencontrée lors du traitement du CI. Type de données : chaîne |
| <Chaîne>.éléments.erreurs.message | Un message d’erreur est survenu lors du traitement du CI. Type de données : chaîne |
| <String>.items.identificationAttempts | Liste des tentatives d’identification des CI. Type de données : tableau d’objets |
| <String>.items.identificationAttempts.attemptResult | Résultats de la tentative d’identification du CI. Valeurs possibles :
Type de données : chaîne |
| <Chaîne>.éléments.identificationTentatives.attributs | Liste des attributs d’entrée d’identificateur CI qui ont été utilisés au cours du processus d’identification. Type de données : tableau Les noms et les types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <String>.items.identificationAttempts.identifierName | Règle d’identificateur utilisée pour cette tentative d’identification de CI. Type de données : chaîne |
| <String>.items.identificationAttempts.searchOnTable | Nom de la table recherchée au cours du processus d’identification. Type de données : chaîne |
| <String>.items.identifierEntrySysId | Sys_id de la règle d’identificateur utilisée pour identifier le CI. Type de données : chaîne Table : Entrée d’identificateur [cmdb_identifier_entry] |
| <chaîne>.items.info | Informations supplémentaires sur le traitement de l’élément. Type de données : tableau d’objets |
| <Chaîne>.éléments.info.code | Type de reclassification qui a été ignoré. Valeurs possibles :
Type de données : chaîne |
| <Chaîne>.éléments.info.message | Message qui fournit des informations supplémentaires sur le motif pour lequel la reclassification a été ignorée. Type de données : chaîne |
| <String>.items.info.ruleSysId | Sys_id de la règle de restriction de reclassification correspondante. Applicable uniquement lorsque IRE ignore la reclassification en raison de la règle de restriction de reclassification. Cette valeur est vide si la reclassification est ignorée en raison d’une charge utile ou d’un marqueur global. Type de données : chaîne |
| <String>.items.inputIndices | Index du CI d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les CI connexes ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : tableau de nombres |
| <String>.items.maskedAttributes | Liste des attributs dont la mise à jour par une source de données ne faisant pas autorité a été ignorée, tel que défini par les règles de rapprochement. Type de données : tableau |
| <Chaîne>.éléments.opération | Opération qui a eu lieu. Valeurs possibles :
Type de données : chaîne |
| <Chaîne>.items.relatedItems | Informations sur les éléments liés traités. Type de données : tableau d’objets |
| <String>.items.relatedItems.className | Nom de classe/table (sys_class_name) de l’élément associé. Type de données : chaîne |
| <String>.items.relatedItems.errorCount | Nombre d’erreurs détectées lors du traitement des éléments connexes. Type de données : nombre |
| <String>.items.relatedItems.errors | Liste des erreurs qui se sont produites lors du traitement de l’élément connexe. Type de données : tableau d’objets |
| <Chaîne>.éléments.élémentsconnexes.erreurs.erreur | Type d’erreur rencontrée lors du traitement de l’élément connexe. Type de données : chaîne |
| <String>.items.relatedItems.errors.message | Message d’erreur rencontré lors du traitement de l’élément connexe. Type de données : chaîne |
| <String>.items.relatedItems.inputIndices | Index de l’élément d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les éléments connexes ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : tableau de nombres ou tableau d’objets |
| <String>.items.relatedItems.inputIndices.mainIndex | Valeur d’index du tableau de corps items de la demande qui correspond au parent CI de l’élément connexe. Type de données : nombre |
| <String>.items.relatedItems.inputIndices.subIndex | Valeur d’index du tableau de corps items.lookup de la demande qui correspond à l’élément connexe. Type de données : nombre |
| <String>.items.relatedItems.mergedPayloadIds | Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans le CI pendant le traitement. Type de données : tableau |
| <String>.items.relatedItems.operation | Opération qui a eu lieu. Valeurs possibles :
Type de données : chaîne |
| <String>.items.relatedItems.sysId | Sys_id de l’élément connexe. Type de données : chaîne |
| <String>.items.relatedItems.warningCount | Nombre d’avertissements rencontrés lors du traitement des éléments connexes. Type de données : nombre |
| <String>.items.relatedItems.warnings | Description des avertissements rencontrés lors du traitement des éléments connexes. Type de données : tableau d’objets |
| <String>.items.relatedSysIds | Liste des valeurs de sys_id des CI utilisés lors de l’identification basée sur la recherche d’éléments connexes. Type de données : chaîne |
| <Chaîne>.items.sys_id | Sys_id du CI qui a été mis à jour ou créé. Type de données : chaîne |
| <Chaîne>.relations | Informations sur les relations traitées. Type de données : tableau d’objets |
| <String>.relations.className | Sys_class_name de ce CI de relation dépendante. Seule valeur prise en charge : cmdb_rel_ci : table de relations CI. Type de données : chaîne |
| <String>.relations.errorCount | Nombre d’erreurs rencontrées lors du traitement du CI de relation dépendante. Type de données : nombre |
| <Chaîne>.relations.errors | Liste qui décrit les erreurs rencontrées lors du traitement de ce CI de relation dépendante. Type de données : tableau d’objets |
| <String>.relations.inputIndices | Index des objets CI de relation dépendante dans le tableau de corps relations de la demande qui correspondent à ce CI de relation dépendante. Type de données : tableau |
| <Chaîne>.relations.opération | Type d’opération effectuée. Valeurs possibles :
Type de données : chaîne |
| <String>.relations.sysId | Sys_id du CI de relation dépendante. Type de données : chaîne |
| <chaîne>.résumé | Liste des propriétés JSON qui fournissent des statistiques sur le nombre d’éléments insérés, mis à jour, entre autres, par classe. Type de données : tableau |
| <chaîne>.summary.<class_name> | Statistiques d’une classe spécifique. Type de données : objet |
| <String>.summary.<class_name>.additionalInsertedItemCount | Nombre d’éléments insérés en raison du traitement de charges utiles partielles. Type de données : nombre |
| <String>.summary.<class_name>.errorCount | Nombre d’erreurs rencontrées lors du traitement des éléments. Type de données : nombre |
| <String>.summary.<class_name>.incompleteItemCount | Nombre d’éléments insérés dans la table Charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads]. Type de données : nombre |
| <String>.summary.<class_name>.insertedItemCount | Nombre d’éléments créés. Type de données : nombre |
| <Chaîne>.summary.<class_name>.partialItemCount | Nombre d’éléments enregistrés dans la table de charge utile partielle [cmdb_ire_partial_payloads]. Type de données : nombre |
| <String>.summary.<class_name>.skippedItemCount | Nombre d’éléments ignorés. Type de données : nombre |
| <String>.summary.<class_name>.unchangedItemCount | Nombre d’éléments qui avaient des entrées mais qui n’ont pas été modifiés. Type de données : nombre |
| <Chaîne>.summary.<class_name>.updatedItemCount | Nombre d’éléments mis à jour. Type de données : nombre |
| <String>.summary.<class_name>.warningCount | Nombre d’éléments qui ont généré un avertissement lors de leur traitement. Type de données : nombre |
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"chassis_type": "Desktop",
"os": "Windows 2012 R2 Datacenter",
"name": "Windows2012Server1",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"cpu_count": "1"
},
"lookup": [
{
"values": {
"valid": "true",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"serial_number_type": "bios"
},
"className": "cmdb_serial_number"
},
{
"values": {
"valid": "true",
"serial_number": "3311-9736-4988-9744-1749-4183-41",
"serial_number_type": "chassis"
},
"className": "cmdb_serial_number"
}],
"internal_id": "16777219",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "16777219",
"source_recency_timestamp": "2019-10-18 08:31:23"
}},
{
"className": "cmdb_ci_spkg",
"values": {
"name": "Windows 2012 R2 Datacenter",
"key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL"
},
"related": [
{
"internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219",
"values": {
"name": "Windows 2012 R2 Datacenter-SAMLABVM52"
},
"className": "cmdb_software_instance",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}},
{
"internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777229",
"values": {
"name": "Windows 2012 R2 Datacenter-SAMLABVM52"
},
"className": "cmdb_software_instance",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777229"
}}
],
"settings" : {
"skipReclassificationRestrictionRules" : "false",
"updateWithoutDowngrade" : "true",
"updateWithoutUpgrade" : "true",
"updateWithoutSwitch" : "true"
}},
{
"className": "cmdb_ci_app_server_tomcat",
"values": {
"running_process_key_parameters": "/opt/OV/nonOV/tomcat/b/temp org.apache.catalina.startup.Bootstrap start",
"install_directory": "/opt/OV/nonOV/tomcat/b",
"name": "Tomcat@hpom9:3443",
"server_port": "8006",
"sys_class_name": "cmdb_ci_app_server_tomcat"
},
"internal_id": "tomcat_id"
}],
"relations": [
{
"parent_id": "tomcat_id",
"child_id": "16777219",
"type": "Runs on::Runs"
}],
"referenceItems": [
{
"referenceField": "installed_on",
"referenced": "16777219",
"referencedBy": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}]};
var input = JSON.stringify(payload);
var output = sn_cmdb.IdentificationEngine.identifyCIEnhanced('ServiceNow', input, {});
gs.info(JSON.stringify(JSON.parse(output), null, 2));
Sortie :
{
"items": [
{
"className": "cmdb_ci_win_server",
"operation": "INSERT",
"relatedSysIds": [
null,
null
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"className": "cmdb_serial_number",
"errorCount": 0,
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 0
}
],
"mergedPayloadIds": [],
"warningCount": 0
},
{
"errors": [],
"operation": "INSERT",
"className": "cmdb_serial_number",
"errorCount": 0,
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 1
}
],
"mergedPayloadIds": [],
"warningCount": 0
}
],
"identificationAttempts": [
{
"attributes": [],
"info": "sys_object_source NO_MATCH",
"identifierName": "",
"attemptResult": "NO_MATCH",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number",
"serial_number_type"
],
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number"
],
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"name"
],
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"mac_address",
"name"
],
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_ci_network_adapter",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"markers": [],
"inputIndices": [
0
],
"mergedPayloadIds": [],
"warningCount": 0
},
{
"className": "cmdb_ci_spkg",
"operation": "INSERT",
"relatedSysIds": [
null
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"className": "cmdb_software_instance",
"errorCount": 0,
"markers": [],
"inputIndices": [
{
"mainIndex": 1,
"subIndex": 0
}
],
"mergedPayloadIds": [],
"warningCount": 0
},
{
"errors": [],
"warnings": [
{
"error": "MISSING_MATCHING_ATTRIBUTES",
"message": "In payload missing minimum set of input values for criterion (matching) attributes from identify rule for table [cmdb_software_instance]. Add these input values in payload item '{\"className\":\"cmdb_software_instance\",\"values\":{},\"internal_id\":\"f7273cccec30101056cd4bb46eb4db5d\",\"sys_object_source_info\":{\"source_feed\":\"SN Discovery Feed 1\",\"source_name\":\"ServiceNow\",\"source_native_key\":\"Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777229\"},\"settings\":{},\"sys_ire_info\":{\"ire_received_time\":\"2020-05-10 17:57:48\"}}'"
}
],
"operation": "INSERT_AS_PARTIAL",
"className": "cmdb_software_instance",
"errorCount": 0,
"sysId": "Unknown",
"markers": [],
"inputIndices": [
{
"mainIndex": 1,
"subIndex": 1
}
],
"mergedPayloadIds": [],
"warningCount": 1
}
],
"identificationAttempts": [
{
"attributes": [],
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"key"
],
"identifierName": "Software",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_ci_spkg",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"markers": [],
"inputIndices": [
1
],
"mergedPayloadIds": [],
"warningCount": 0
},
{
"className": "cmdb_ci_app_server_tomcat",
"operation": "INSERT",
"identificationAttempts": [
{
"attributes": [],
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"markers": [],
"inputIndices": [
2
],
"mergedPayloadIds": [],
"warningCount": 0
}
],
"additionalCommittedItems": [],
"relations": [
{
"className": "cmdb_rel_ci",
"operation": "INSERT",
"errorCount": 0,
"markers": [],
"inputIndices": [
0
],
"mergedPayloadIds": [],
"warningCount": 0
}
],
"additionalCommittedRelations": []
}
IdentificationEngine : runIdentificationAudit(GlideRecord now_GR)
Exécute un audit d’identification sur l’élément de configuration (CI) spécifié pour détecter les doublons.
Si des doublons sont trouvés, des tâches de duplication sont créées. Utilisez cette méthode uniquement sur les types de CI avec des règles d’identification indépendantes.
| Nom | Type | Description |
|---|---|---|
| now_GR | GlideRecord | CI sur lequel exécuter l’audit pour détecter les doublons. Le CI doit avoir des règles d’identification indépendantes. |
| Type | Description |
|---|---|
| nul |
L’exemple suivant montre comment vérifier les doublons d’un enregistrement dans la table Serveurs Linux [cmdb_ci_linux_server].
var sysId = '<cbdb_ci_sys_id>';
var gr = new GlideRecord('cmdb_ci_linux_server');
gr.get(sysId);
sn_cmdb.IdentificationEngine.runIdentificationAudit(gr);