IdentificationEngine - Com escopo
. IdentificationEngine A API usa a estrutura de Identificação e reconciliação para minimizar a criação de itens de configuração (ICs) duplicados e reconciliar atributos de IC aceitando somente informações de fontes de dados autorizadas ao atualizar o. Configuration Management Database (CMDB).
Ao usar esta classe em uma aplicação com escopo, use sn_cmdb identificador de namespace.
IdentificationEngine - createOrUpdateCI (origem de cadeia de caracteres, entrada de cadeia de caracteres)
Insere ou atualiza itens de configuração (IC) e não Configuration Management Database (CMDB) ICs (classes que não se estendem de cmdb_ci) no CMDB com base em regras de identificação e reconciliação. Use esta API em vez de atualizar o. CMDB diretamente.
Para obter informações adicionais sobre ingestão de tabela não pertencente ao CMDB, consulte IRE support for non-CMDB tables.
| Nome | Tipo | Descrição |
|---|---|---|
| entrada | Cadeia de caracteres | Obrigatório. Carga de entrada. Uma cadeia de caracteres formatada JSON de itens de configuração a serem adicionados ou atualizados. |
| input.items | Matriz de objetivos | Itens a serem adicionados ou atualizados. |
| input.items.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer um CMDB classe/tabela, como cmdb_ci_linux_server ou cmdb_ci_win_server. |
| input.items.display_values | Objeto | Campos de referência a serem criados ou atualizados para este item relacionado como pares nome-valor, em que o nome é o nome do campo e o valor é o valor de exibição referenciado. Se você quiser usar o sys_id em vez do valor de exibição para campos de referência, passe as informações no input.items.lookup.valuesem vez de neste parâmetro. Os nomes dos campos de referência dependem dos campos selecionados pelo usuário, como: |
| input.items.internal_id | Cadeia de caracteres | Identificador de item exclusivo para a carga associada. Pode ser qualquer valor, mas deve ser exclusivo na carga. |
| input.items.lookup | Matriz de objetivos | Identifica o item de nível superior que contém a pesquisa (identificação baseada em pesquisa). Esses registros são usados para identificar o item de configuração com base em uma tabela de pesquisa que tem uma referência de volta a cmdb_ci. Por exemplo: |
| input.items.lookup.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer um CMDB classe/tabela, como cmdb_serial_number ou cmdb_ci_network_adapter. |
| input.items.lookup.internal_id | Cadeia de caracteres | Identificador de item exclusivo para a carga associada. Pode ser qualquer valor, mas deve ser exclusivo na carga. |
| input.items.lookup.sys_object_source_info | Objeto | Identificador de IC exclusivo para uma origem específica. |
| input.items.lookup.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.lookup.sys_object_source_info.source_name | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.lookup.sys_object_source_info.source_native_key | Cadeia de caracteres | ID/chave exclusiva do item da origem. A fonte de dados gera esta chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data e hora UTC em que o item foi verificado. Formato: AAAA-MM-DD hh:mm:ss |
| input.items.lookup.values | Objeto | Campos a serem criados ou atualizados para este item relacionado como pares de nome/valor, em que o nome é o nome do campo. Para um campo de referência, o valor deve ser o sys_id referenciado. Se você quiser usar o valor de exibição em vez do sys_id para campos de referência, passe essas informações em um display_valuesobjeto em vez de no valuesobjeto. Os nomes e tipos de campo dependem dos campos selecionados pelo usuário, como: |
| input.items.related | Matriz | Referência ao item de nível superior que contém a lista relacionada. As regras na entrada relacionada [cmdb_related_entry] definem que tipo de registros podem estar nesta matriz. Esses registros são usados para adicionar itens com base em uma tabela relacionada que tem uma referência ao IC que está sendo identificado. A tabela relacionada pode ou não estender cmdb_ci. Esses registros não são usados para identificar o item de configuração. |
| input.items.related.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer um CMDB classe/tabela, como cmdb_software_instance ou cmdb_key_value. |
| input.items.related.internal_id | Cadeia de caracteres | Identificador de item exclusivo para a carga associada. Pode ser qualquer valor, mas deve ser exclusivo na carga. |
| input.items.related.sys_object_source_info | Objeto | Identificador de IC exclusivo para uma origem específica. |
| input.items.related.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.related.sys_object_source_info.source_name | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.related.sys_object_source_info.source_native_key | Cadeia de caracteres | ID/chave exclusiva do item da origem. A fonte de dados gera esta chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.related.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data e hora UTC em que o item foi verificado. Formato: AAAA-MM-DD hh:mm:ss |
| input.items.related.values | Objeto | Campos a serem criados ou atualizados para este item relacionado como pares de nome/valor, em que o nome é o nome do campo. Para um campo de referência, o valor deve ser o sys_id referenciado. Se você quiser usar o valor de exibição em vez do sys_id para campos de referência, passe essas informações em um display_valuesobjeto em vez de no valuesobjeto. Os nomes e tipos de campo dependem dos campos selecionados pelo usuário, como: |
| input.items.settings | Objeto | Parâmetros que definem os tipos de atualizações permitidos. |
| input.items.settings.skipReclassificationRestrictionRules | Booliano | Sinalizador que indica se o IRE não deve executar a regra de restrição de reclassificação que corresponde à classe do item de carga útil. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutDowngrade | Booliano | Sinalizador que indica se atualização e downgrade são permitidos para este item. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutUpgrade | Booliano | Sinalizador que indica se atualização e upgrade são permitidos para este item. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutSwitch | Booliano | Sinalizador que indica se o item pode ser atualizado e a classe alternada. Valores válidos:
Padrão: falso |
| input.items.sys_object_source_info | Objeto | Identificador de IC exclusivo para uma origem específica. |
| input.items.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.sys_object_source_info.source_name | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.sys_object_source_info.source_native_key | Cadeia de caracteres | ID/chave exclusiva do item da origem. A fonte de dados gera esta chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data e hora UTC em que o item foi verificado. Formato: AAAA-MM-DD hh:mm:ss |
| input.items.values | Objeto | Campos a serem criados ou atualizados para este item relacionado como pares de nome/valor, em que o nome é o nome do campo. Para um campo de referência, o valor deve ser o sys_id referenciado. Se você quiser usar o valor de exibição em vez do sys_id para campos de referência, passe essas informações em um display_valuesobjeto em vez de no valuesobjeto. Os nomes e tipos de campo dependem dos campos selecionados pelo usuário, como: |
| Input.referenceItems | Matriz de objetivos | Lista que definem referências entre itens na carga de entrada. Os valores de cada item de referência são preenchidos antes de identificar um IC usando as regras de IRE definidas em uma classe. |
| Items.referenciadoItems.referenciado | Cadeia de caracteres | . internal_iddefinido para o item que está sendo referenciado por outro item. |
| Items.referenceItems.referencedBy | Cadeia de caracteres | . internal_iddefinido para o item que faz referência a outro item. |
| Input.referenceItems.referenceField | Cadeia de caracteres | Nome do campo de referência na classe/tabela do referencedByitem. |
| input.relations | Matriz de objetivos | Lista que especifica relacionamentos entre itens na carga de entrada. Um objeto nesta matriz pode usar um dos dois formatos.
|
| input.relations.child | Número | Índice inteiro do objeto de IC no itemsmatriz que representa o secundário no relacionamento (items, items.related ou items.lookup.) |
| input.relations.child_id | Cadeia de caracteres | . internal_iddo item secundário na relação (items, items.related ou items.lookup.) |
| input.relations.parent | Número | Índice inteiro do item primário em itemsmatriz (items, items.related ou items.lookup.) |
| input.relations.parent_id | Cadeia de caracteres | . internal_iddo item primário na relação (items, items.related ou items.lookup.) |
| input.relations.sys_rel_source_info | Objeto | Informações de origem da Descoberta para o relacionamento. Para relacionamentos sem dependência, essas informações são salvas na tabela Origens de relacionamento [sys_rel_source] (não persistidas para IdentifyCIEnhanced() ou IdentifyCI() .) Tipo de dados: Objeto |
| input.relations.sys_rel_source_info.source_name | Cadeia de caracteres | Nome da origem da Descoberta. Padrão: Origem da descoberta passada no parâmetro Método de API. |
| input.relations.sys_rel_source_info.source_feed | Cadeia de caracteres | Qualquer cadeia de caracteres que seja uma subdescoberta/verificação na origem da descoberta. Padrão: "DESCONHECIDO" é armazenado na coluna source_feed ao criar um registro na tabela sys_rel_source. |
| input.relations.type | Cadeia de caracteres | Tipo de relacionamento que existe entre os itens primário e secundário. Deve ser um valor de campo de nome da tabela Tipo de relacionamento de IC [cmdb_rel_type]. |
| origem | Cadeia de caracteres | Identifica a fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela cmdb_ci. |
| Tipo | Descrição |
|---|---|
| <String> | Cadeia de caracteres formatada JSON que é uma lista de resultados dos itens de configuração na cadeia de caracteres de entrada. Cada cadeia de caracteres de resultado está no formato "itens: []], relações:[]]", em que cada item nas listas de itens e relações contém pares nome-valor. Tipo de dados: Cadeia de caracteres |
| ItemsCommittedAditionalCommittedItems <String> | Nenhum valor é retornado no momento. |
| RelacionaçõesCommitedadicionais <String> | Nenhum valor é retornado no momento. |
| Itens.<String> | Descrição dos ICs criados ou atualizados. Tipo de dados: Objeto |
| ItemsRelacionadosadicionais.ItemsRelacionadosadicionais <String> | Lista de informações sobre pesquisa adicional e itens relacionados que foram processados, mas não fornecidos como parte da carga de entrada. Esses itens são de cargas úteis parciais. Essas informações não são retornadas no momento. Tipo de dados: Matriz de objetos |
| Items.itens.additionalRelatedItems.classname <String> | Nome da classe/tabela (sys_class_name) do IC que foi criado ou atualizado. Tipo de dados: Cadeia de caracteres |
| <String>.items.additionalRelatedItems.inputIndices | Índice do item de entrada correspondente. Para itens de nível superior, é uma lista de números inteiros. Para itens relacionados ou de pesquisa, é a lista de objetos JSON. Tipo de dados: Matriz de números ou Matriz de objetos |
| <String>.items.additionalRelatedItems.inputIndices.mainIndex | Valor de índice do corpo da solicitação itemsMatriz que corresponde ao IC primário do item relacionado adicional. Tipo de dados: Número |
| <String>.items.additionalRelatedItems.inputIndices.subIndex | Valor de índice do corpo da solicitação items.lookupmatriz que corresponde ao item relacionado adicional. Tipo de dados: Número |
| Items.Items.Relacionadosadicionais.Operação <String> | Tipo de operação. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| Items.Items.SYSID Relacionadosadicionais.Items.Items.Items.AditionalRelacionados <String> | Sys_id dos itens relacionados adicionais. Tipo de dados: Cadeia de caracteres |
| <String>.items.classname | Nome da classe/tabela (sys_class_name) do IC que foi criado ou atualizado. Tipo de dados: Cadeia de caracteres |
| Itens.duplicadosIndices <String> | Lista de índices de ICs duplicados do item atual. Tipo de dados: Matriz |
| Items.ErrorCount <String> | Número de erros. Tipo de dados: Número |
| Itens.Erros.Itens.<String> | Lista de erros encontrados ao processar este IC. Tipo de dados: Matriz de objetos |
| <String>.itens.errors.error | Tipo de erro encontrado ao processar o IC. Tipo de dados: Cadeia de caracteres |
| <String>.itens.errors.message | Mensagem de erro associada ao erro. Tipo de dados: Cadeia de caracteres |
| <String>.items.IdentificationAttents | Lista de tentativas feitas para identificar os ICs. Tipo de dados: Matriz de objetos |
| IdentificationAttempts.attempts.attemptResult <String> | Resultados da tentativa de identificar o IC. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| Atributos.IdentificationAttempts.Attributes.IdentificationAttributes <String> | Lista de atributos de entrada de identificador de IC que foram usados durante o processo de identificação. Tipo de dados: Matriz Os nomes e tipos de atributo dependem dos dados do corpo da solicitação e do identificador em uso, como: |
| Atributos.IdentificationAttempts.hybridEntryCiEntryCiAttributes <String> | Nenhum valor é retornado no momento. |
| IdentificationAttempts.IdentificationAttents.IdentificationName <String> | Regra de identificador usada para esta tentativa de identificação de IC. Tipo de dados: Cadeia de caracteres |
| <String>.items.identificationAttempts.searchOnTable | Nome da tabela pesquisada durante o processo de identificação. Tipo de dados: Cadeia de caracteres |
| IdSysEntryEntysid.IdentifierEntryId.IdentifierId <String> | Sys_id para a regra de identificador usada para identificar o IC. Tipo de dados: Cadeia de caracteres Entrada do identificador [cmdb_identifier_entry] |
| <String>.items.info | Lista que contém informações adicionais sobre o processamento do item. Tipo de dados: Matriz de objetos |
| <String>.items.info.code | Tipo de reclassificação ignorado. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| <String>.items.info.message | Mensagem que fornece informações adicionais sobre o motivo para ignorar a reclassificação. Tipo de dados: Cadeia de caracteres |
| <String>.items.info.ruleSysId | Sys_id da regra de restrição de reclassificação que foi correspondida. Aplicável somente quando o IRE ignora a reclassificação devido à regra de restrição de reclassificação. Este valor ficará vazio se a reclassificação for ignorada devido a uma carga útil ou sinalizador global. Tipo de dados: Cadeia de caracteres |
| <String>.items.inputIndices | Valores de índice para ICs do corpo da solicitação itemsMatriz que corresponde a este IC. Tipo de dados: Matriz |
| <String>.itens.atributos masked | Lista de atributos cuja atualização por uma fonte de dados não autorizada foi ignorada conforme definido por Regras de reconciliação . Tipo de dados: Matriz |
| Items.RelatedItems.RelatedItems <String> | Lista que fornece informações sobre os itens relacionados processados. Tipo de dados: Matriz de objetos |
| Items.RelatedItems.Classname <String> | Nome da classe/tabela (sys_class_name) do item relacionado. Tipo de dados: Cadeia de caracteres |
| Items.RelatedItems.Erros.RelatedItems <String> | Lista de erros que ocorreram durante o processamento. Tipo de dados: Matriz de objetos |
| Items.RelatedItems.ErrorCount <String> | Número de erros detectados durante o processamento. Tipo de dados: Número |
| <String>.items.relatedItems.inputIndices | Índices dos itens relacionados correspondentes. Tipo de dados: Matriz ou números |
| <String>.items.relatedItems.inputIndices.mainIndex | Valor inteiro do corpo da solicitação itemsMatriz que corresponde ao IC primário do item relacionado. Tipo de dados: Número |
| <String>.items.relatedItems.inputIndices.subIndex | Valor inteiro do corpo da solicitação items.lookupmatriz que corresponde ao item relacionado. Tipo de dados: Número |
| Items.RelatedItems.Operation <String> | Tipo de operação. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| SysIds.RelatedSysIds <String> | Lista de valores sys_id para itens relacionados (itens de pesquisa de tabela) do corpo da solicitação items.lookupmatriz. Valores notáveis - nulo: Nenhum sys_id foi identificado para este item relacionado. Tipo de dados: Matriz |
| <String>.items.sys_id | Sys_id do IC que foi atualizado ou criado. Tipo de dados: Cadeia de caracteres |
| <String>.relations | Informações sobre as relações processadas. Tipo de dados: Matriz de objetos |
| <String>.relations.classname | Sys_class_name deste IC de relacionamento dependente. Somente valor compatível: cmdb_rel_ci: Tabela de relacionamento de IC. Tipo de dados: Cadeia de caracteres |
| Relations.ErrorCount.<String> | Número de erros. Tipo de dados: Número |
| <String>.relations.inputIndices | Índices das relações de entrada correspondentes. Tipo de dados: Matriz |
| Relations.Operation.<String> | Tipo de operação realizada. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| SYSID.relations.SYSID <String> | Sys_id do IC de relacionamento dependente. Tipo de dados: Cadeia de caracteres |
A seguir mostra como reclassificar um item de configuração.
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));
Saída:
{
"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": []
}
A seguir mostra como atualizar um item de configuração.
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));
Saída:
{
"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": []
}
Identificar um IC dependente.
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));
Saída:
{
"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": []
}
Identifique um IC independente com identificação baseada em pesquisa.
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));
Saída:
{
"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 (origem de cadeia de caracteres, entrada de cadeia de caracteres, opções de objeto)
Insere ou atualiza itens de configuração (IC) e não Configuration Management Database (CMDB) ICs (classes que não se estendem de cmdb_ci) no CMDB com base em regras de identificação e reconciliação. Use esta API em vez de atualizar o. CMDB diretamente.
- Lidar com cargas parciais
- Manipulando confirmações parciais
- Removendo itens duplicados em uma carga
- Gerando resumos de saída
Para obter informações adicionais sobre ingestão de tabela não pertencente ao CMDB, consulte IRE support for non-CMDB tables.
| Nome | Tipo | Descrição |
|---|---|---|
| entrada | Cadeia de caracteres | Obrigatório. Carga de entrada. Uma cadeia de caracteres formatada JSON de itens de configuração a serem adicionados ou atualizados. |
| input.items | Matriz de objetivos | Itens a serem adicionados ou atualizados. |
| input.items.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer um CMDB classe/tabela, como cmdb_ci_linux_server ou cmdb_ci_win_server. |
| input.items.display_values | Objeto | Campos de referência a serem criados ou atualizados para este item relacionado como pares nome-valor, em que o nome é o nome do campo e o valor é o valor de exibição referenciado. Se você quiser usar o sys_id em vez do valor de exibição para campos de referência, passe as informações no input.items.lookup.valuesem vez de neste parâmetro. Os nomes dos campos de referência dependem dos campos selecionados pelo usuário, como: |
| input.items.internal_id | Cadeia de caracteres | Identificador de item exclusivo para a carga associada. Pode ser qualquer valor, mas deve ser exclusivo na carga. |
| input.items.lookup | Matriz de objetivos | Identifica o item de nível superior que contém a pesquisa (identificação baseada em pesquisa). Esses registros são usados para identificar o item de configuração com base em uma tabela de pesquisa que tem uma referência de volta a cmdb_ci. Por exemplo: |
| input.items.lookup.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer um CMDB classe/tabela, como cmdb_serial_number ou cmdb_ci_network_adapter. |
| input.items.lookup.internal_id | Cadeia de caracteres | Identificador de item de pesquisa exclusivo para a carga associada. Pode ser qualquer valor, mas deve ser exclusivo na carga. |
| input.items.lookup.sys_object_source_info | Objeto | Define um identificador de IC exclusivo para uma fonte de dados específica. Origens diferentes podem ter pares de nome-valor diferentes para o mesmo IC. |
| input.items.lookup.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.lookup.sys_object_source_info.source_name | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.lookup.sys_object_source_info.source_native_key | Cadeia de caracteres | Key-id exclusivo para o item da origem. A fonte de dados gera esta chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data/hora UTC em que o item foi verificado. Formato: AAAA-MM-DD hh:mm:ss |
| input.items.lookup.values | Objeto | Informações de campo para o IC como pares nome-valor, em que o nome é o nome do campo. Ao atualizar campos de referência, o valor deve ser o sys_id referenciado. Os nomes e tipos de campo dependem dos campos selecionados pelo usuário, como: |
| input.items.related | Matriz de objetivos | Referência ao item de nível superior que contém a lista relacionada. As regras na entrada relacionada [cmdb_related_entry] definem que tipo de registros podem estar nesta matriz. Esses registros são usados para adicionar itens com base em uma tabela relacionada que tem uma referência ao IC que está sendo identificado. A tabela relacionada pode ou não estender cmdb_ci. Esses registros não são usados para identificar o item de configuração. |
| input.items.related.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer um CMDB classe/tabela, como cmdb_software_instance ou cmdb_key_value. |
| input.items.related.internal_id | Cadeia de caracteres | Identificador exclusivo para este item relacionado nesta carga. Pode ser qualquer valor, mas deve ser exclusivo na carga. |
| input.items.related.sys_object_source_info | Objeto | Objeto que compõe um identificador de IC exclusivo para uma fonte de dados especificada. Origens diferentes podem ter pares de nome-valor diferentes para o mesmo IC. |
| input.items.related.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.related.sys_object_source_info.source_name | Cadeia de caracteres | Identifica a fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.related.sys_object_source_info.source_native_key | Cadeia de caracteres | ID/chave exclusiva da origem do item relacionado. A fonte de dados gera esta chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.related.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data e hora UTC em que o item foi verificado. Formato: |
| input.items.related.values | Objeto | Campos a serem criados ou atualizados para este item relacionado como pares de nome/valor, em que o nome é o nome do campo. Para um campo de referência, o valor deve ser o sys_id referenciado. Se você quiser usar o valor de exibição em vez do sys_id para campos de referência, passe essas informações em um display_valuesobjeto em vez de no valuesobjeto. Os nomes e tipos de campo dependem dos campos selecionados pelo usuário, como: |
| input.items.settings | Objeto | Parâmetros que definem os tipos de atualizações permitidos. |
| input.items.settings.skipReclassificationRestrictionRules | Booliano | Sinalizador que indica se o IRE não deve executar a regra de restrição de reclassificação que corresponde à classe do item de carga útil. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutDowngrade | Booliano | Sinalizador que indica se atualização e downgrade são permitidos para este item. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutSwitch | Booliano | Sinalizador que indica se o item pode ser atualizado e a classe alternada. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutUpgrade | Booliano | Sinalizador que indica se atualização e upgrade são permitidos para este item. Valores válidos:
Padrão: falso |
| input.items.sys_object_source_info | Objeto | Identificador de IC exclusivo para uma origem específica. |
| input.items.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.sys_object_source_info.source_name | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.sys_object_source_info.source_native_key | Cadeia de caracteres | ID/chave exclusiva do item da origem. A fonte de dados gera esta chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data e hora UTC em que o item foi verificado. Formato: AAAA-MM-DD hh:mm:ss |
| input.items.values | Objeto | Campos a serem criados ou atualizados para este item relacionado como pares de nome/valor, em que o nome é o nome do campo. Para um campo de referência, o valor deve ser o sys_id referenciado. Se você quiser usar o valor de exibição em vez do sys_id para campos de referência, passe essas informações em um display_valuesobjeto em vez de no valuesobjeto. Os nomes e tipos de campo dependem dos campos selecionados pelo usuário, como: |
| Input.referenceItems | Matriz de objetivos | Lista que definem referências entre itens na carga de entrada. Os valores de cada item de referência são preenchidos antes de identificar um IC usando as regras de IRE definidas em uma classe. |
| Items.referenciadoItems.referenciado | Cadeia de caracteres | . internal_iddefinido para o item que está sendo referenciado por outro item. |
| Items.referenceItems.referencedBy | Cadeia de caracteres | . internal_iddefinido para o item que faz referência a outro item. |
| Input.referenceItems.referenceField | Cadeia de caracteres | Nome do campo de referência na classe/tabela do referencedByitem. |
| input.relations | Matriz de objetivos | Lista que especifica relacionamentos entre itens na carga de entrada. Um objeto nesta matriz pode usar um dos dois formatos.
|
| input.relations.child | Número | Índice inteiro do objeto de IC no itemsmatriz que representa o secundário no relacionamento (items, items.related ou items.lookup.) |
| input.relations.child_id | Cadeia de caracteres | . internal_iddo item secundário na relação (items, items.related ou items.lookup.) |
| input.relations.parent | Número | Índice inteiro do item primário em itemsmatriz (items, items.related ou items.lookup.) |
| input.relations.parent_id | Cadeia de caracteres | . internal_iddo item primário na relação (items, items.related ou items.lookup.) |
| input.relations.sys_rel_source_info | Objeto | Informações de origem da Descoberta para o relacionamento. Para relacionamentos sem dependência, essas informações são salvas na tabela Origens de relacionamento [sys_rel_source] (não persistidas para IdentifyCIEnhanced() ou IdentifyCI() .) Tipo de dados: Objeto |
| input.relations.sys_rel_source_info.source_name | Cadeia de caracteres | Nome da origem da Descoberta. Padrão: Origem da descoberta passada no parâmetro Método de API. |
| input.relations.sys_rel_source_info.source_feed | Cadeia de caracteres | Qualquer cadeia de caracteres que seja uma subdescoberta/verificação na origem da descoberta. Padrão: "DESCONHECIDO" é armazenado na coluna source_feed ao criar um registro na tabela sys_rel_source. |
| input.relations.type | Cadeia de caracteres | Tipo de relacionamento que existe entre os itens primário e secundário. Deve ser um valor de campo de nome da tabela Tipo de relacionamento de IC [cmdb_rel_type]. |
| opções | Objeto | Opcional, mas nulo ou nulo deve ser passado. Opções para habilitar ou desabilitar recursos. Nota: Por padrão ou se partial_payloadsdefinido como verdadeiro, ambos partial_commitse. deduplicate_payloadsestão habilitados, mesmo se estiverem definidos como falsos, pois esses recursos são essenciais para a funcionalidade de cargas parciais. |
| options.deduplicate_payloads | Booliano | Sinalizador que indica se itens duplicados são mesclados ou considerados erros. Valores válidos:
Padrão: verdadeiro |
| options.generate_summary | Booliano | Sinalizador que indica se os resultados retornados contêm informações resumidas. Para obter os detalhes das informações resumidas retornadas, consulte <String>.summaryna tabela retornar resultados. Valores válidos:
Padrão: falso |
| options.partial_commits | Booliano | Sinalizador que indica se o suporte de confirmação parcial está habilitado. Para obter informações adicionais sobre confirmações parciais, consulte Recursos IRE aprimorados . Valores válidos:
Padrão: verdadeiro |
| options.partial_payloads | Booliano | Sinalizador que indica se o suporte de carga parcial está habilitado. Para obter informações adicionais sobre cargas parciais, consulte Recursos IRE aprimorados e. Crie uma regra de fonte de dados IRE . Valores válidos:
Padrão: verdadeiro |
| options.skip_updating_last_scan_to_now | Booliano | Sinalizador que indica se a atualização do campo last_scan de sys_object_source deve ser ignorada. Valores válidos:
Padrão: Usa o valor na propriedade do sistema glide.identification_engine.skip_updating_last_scan_to_now. |
| options.skip_updating_source_last_discovered_to_now | Booliano | Sinalizador que indica se a atualização dos campos discovery_source e last_discovered deve ser ignorada na tabela Item de configuração [cmdb_ci]. Valores válidos:
Padrão: Usa o valor na propriedade do sistema glide.identification_engine.skip_updating_source_last_discovered_to_now. |
| origem | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| Parâmetro | Descrição |
|---|---|
| <String> | Cadeia de caracteres formatada JSON que é uma lista de resultados dos itens de configuração na cadeia de caracteres de entrada. Tipo de dados: Cadeia de caracteres |
| ItemsCommittedAditionalCommittedItems <String> | Lista de ICs que foram confirmados durante o processamento de IRE da carga atual, mas não estavam presentes na carga de entrada atual. Tipo de dados: Matriz de objetos |
| ItemsCommittedItems.Classname.additionalCommittedItems.Classname <String> | Sys_class_name deste IC adicional. Tipo de dados: Cadeia de caracteres |
| ItemsCommittedItems.Erros adicionais <String> | Número de erros encontrados ao processar este IC adicional. Tipo de dados: Número |
| ItemsCommittedItems.additionalCommittedItems.Errors <String> | Matriz de objetos que descreve erros encontrados durante o processamento deste IC adicional. Tipo de dados: Matriz |
| ItemsCommittedItems.errors.additionalCommittedItems.error <String> | Tipo de erro encontrado ao processar o IC adicional. Tipo de dados: Cadeia de caracteres |
| <String>.additionalCommittedItems.errors.message | Mensagem de erro encontrada ao processar o IC adicional. Tipo de dados: Cadeia de caracteres |
| ItemsAtivoAçãoAmistoCommittedItems.IdentificationAttents <String> | Matriz de objetos em que cada objeto descreve uma tentativa feita para identificar este IC adicional. Tipo de dados: Matriz de objetos |
| AdditionalCommittedItems.IdentificationAttempts.attemptResult <String> | Resultado desta tentativa de identificação de IC adicional. Tipo de dados: Cadeia de caracteres Valores possíveis:
|
| Atributos.IdentificaçãoAmistedItems.IdentificationAttributes <String> | Atributos de entrada do identificador de IC usados durante esta tentativa de identificação de IC adicional. Tipo de dados: Matriz Os nomes e tipos de atributo dependem dos dados do corpo da solicitação e do identificador em uso, como: |
| ItemDeDeCommittedItems.IdentificationAttempts.hybridEntryCiAttributes <String> | Matriz de atributos de entrada de identificador de IC usados durante esta tentativa de identificação de IC adicional. Tipo de dados: Matriz Os nomes e tipos de atributo dependem dos dados do corpo da solicitação e do identificador em uso, como: |
| ItemsAIdentificationAttents.IdentificationAttents.IdentificerName <String> | Regra de identificador usada para esta tentativa de identificação de IC adicional. Tipo de dados: Cadeia de caracteres |
| <String>.additionalCommittedItems.identificationAttempts.searchOnTable | Nome da tabela pesquisada para esta tentativa de identificação de IC adicional. Tipo de dados: Cadeia de caracteres |
| ItemsItemsEntyEntryEntryItemsId.additionalCommittedItems.identifierEntryEntryId <String> | Sys_id para a regra de identificador usada para identificar este IC adicional. Valores notáveis - Desconhecido: Falha na identificação deste IC adicional. Consulte errorspara obter detalhes. |
| <String>.additionalCommittedItems.inputIndices | Valores de índice para ICs do corpo da solicitação itemsMatriz que corresponde a este IC adicional. Tipo de dados: Matriz de números |
| ItemsCommittedItems.additionalCommittedItems.markers <String> | Valores do marcador para uso interno. Tipo de dados: Matriz |
| ItemsCommittedItems.mergedPayloads adicionais <String> | Valores sys_id para cargas parciais da tabela Cargas parciais do IRE do CMDB [cmdb_ire_partial_payloads] que foram mescladas durante o processamento deste IC adicional. Tipo de dados: Matriz |
| ItemsCommittedItems.adicionais <String> | Operação realizada para este IC adicional. Tipo de dados: Cadeia de caracteres Valores possíveis:
|
| ItemsCommittedItems.SYSID.additionalCommittedItems.SYSID <String> | Sys_id encontrado para este IC adicional por meio de identificação. Tipo de dados: Cadeia de caracteres Valores notáveis - Desconhecido: Falha na identificação deste IC adicional. Consulte errorspara obter detalhes. |
| ItemsCommittedItems.additionalCommittedItems.warnings <String> | Descrição dos avisos encontrados durante o processamento deste IC adicional. Tipo de dados: Matriz de objetos |
| ItemsCommittedItems.warnings.error <String> | Tipo de aviso encontrado ao processar este IC adicional. Tipo de dados: Cadeia de caracteres |
| ItemsCommittedItems.warnings.message <String> | Mensagem de aviso encontrada durante o processamento deste IC adicional. Tipo de dados: Cadeia de caracteres |
| RelacionaçõesCommitedadicionais <String> | Descrição de um IC de relacionamento dependente que não foi incluído no corpo da solicitação relationslista a ser inserida ou atualizada. Tipo de dados: Matriz de objetos |
| AdditionalCommittedRelations.Classname <String> | O sys_class_name deste IC de relacionamento dependente adicional. Tipo de dados: Cadeia de caracteres Somente valor compatível: cmdb_rel_ci: A tabela de relacionamento de IC. |
| RelacionaçõesCommitedadicionais.Contagem de erros <String> | Número de erros encontrados ao processar este IC de relacionamento dependente adicional. Tipo de dados: Número |
| RelacionadosCommittedRelacionadosadicionais.Erros <String> | Descrição dos erros encontrados ao processar este IC de relacionamento dependente adicional. Tipo de dados: Matriz de objetos |
| RelacionadosCommittedRelacionamentos.Erros.AditionalCommittedRelacionamentos.Errors <String> | Tipo de erro encontrado ao processar o IC de relacionamento dependente adicional. Tipo de dados: Cadeia de caracteres |
| Relacionamentos.additionalCommittedRelacionamentos.Erros.mensagem <String> | Mensagem de erro encontrada ao processar este IC de relacionamento dependente adicional. Tipo de dados: Cadeia de caracteres |
| <String>.additionalCommittedRelations.inputIndices | Valores de índice para objetos de IC de relacionamento dependente no corpo da solicitação relationsMatriz que corresponde a este IC de relacionamento dependente adicional. Tipo de dados: Matriz |
| RelacionadosCommitedRelacionadosadicionais.marcadores <String> | Valores do marcador para uso interno. Tipo de dados: Matriz |
| RelacionaçõesDeRelacionadosDeCompromisso.mergedPayloadIds <String> | Valores sys_id para cargas parciais da tabela Cargas parciais do IRE do CMDB [cmdb_ire_partial_payloads] que foram mesclados para este IC.Que foram mesclados durante o processamento deste IC de relacionamento dependente adicional. Tipo de dados: Matriz |
| RelacionaçõesCommitedadicionais.Operação <String> | Operação que foi realizada para o IC de relacionamento dependente adicional. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| Erro.hasErro <String> | Sinalizador que indica se algum item ou relação tem erros. Tipo de dados: Booliano |
| <String>.hasWarning | Sinalizador que indica se algum item ou relação tem avisos. Tipo de dados: Booliano |
| Itens.<String> | Descrição dos ICs criados ou atualizados. Tipo de dados: Matriz de objetos |
| ItemsRelacionadosadicionais.ItemsRelacionadosadicionais <String> | Informações sobre pesquisa adicional e itens relacionados que foram processados, mas não fornecidos como parte da carga de entrada. Esses itens são de cargas úteis parciais. Tipo de dados: Matriz de objetos |
| Items.itens.additionalRelatedItems.classname <String> | Nome da classe/tabela (sys_class_name) do IC que foi criado ou atualizado. Tipo de dados: Cadeia de caracteres |
| <String>.items.additionalRelatedItems.inputIndices | Valores de índice para ICs do corpo da solicitação itemsmatriz que corresponde a este item relacionado. Tipo de dados: Matriz de números |
| Items.ItemsRelacionadosadicionais.mergedPayloadIds <String> | Lista de sys_ids das cargas parciais que foram mescladas no item relacionado. Tipo de dados: Matriz Tabela: Cargas parciais do IRE do CMDB [cmdb_ire_partial_payloads] |
| Items.Items.Relacionadosadicionais.Operação <String> | Tipo de operação. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| Items.Items.SYSID Relacionadosadicionais.Items.Items.Items.AditionalRelacionados <String> | Sys_id do IC que foi atualizado ou criado. Tipo de dados: Cadeia de caracteres |
| <String>.items.classname | Nome da classe/tabela (sys_class_name) do IC que foi criado ou atualizado. Tipo de dados: Cadeia de caracteres |
| Itens.duplicadosIndices <String> | Lista de índices de ICs duplicados do item atual. Tipo de dados: Matriz |
| Items.ErrorCount <String> | Número de erros encontrados ao processar o item. Tipo de dados: Número |
| Itens.Erros.Itens.<String> | Lista de erros encontrados ao processar este IC. Tipo de dados: Matriz de objetos |
| <String>.itens.errors.error | Tipo de erro encontrado ao processar o IC. Tipo de dados: Cadeia de caracteres |
| <String>.itens.errors.message | Mensagem de erro associada ao erro. Tipo de dados: Cadeia de caracteres |
| <String>.items.IdentificationAttents | Lista de tentativas feitas para identificar os ICs. Tipo de dados: Matriz de objetos |
| IdentificationAttempts.attempts.attemptResult <String> | Resultados da tentativa de identificar o IC. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| Atributos.IdentificationAttempts.Attributes.IdentificationAttributes <String> | Lista de atributos de entrada de identificador de IC que foram usados durante o processo de identificação. Tipo de dados: Matriz Os nomes e tipos de atributo dependem dos dados do corpo da solicitação e do identificador em uso, como: |
| Atributos.IdentificationAttempts.hybridEntryCiEntryCiAttributes <String> | Lista de atributos de entrada de identificador de IC que foram usados durante o processo de identificação. Tipo de dados: Matriz Os nomes e tipos de atributo dependem dos dados do corpo da solicitação e do identificador em uso, como: |
| IdentificationAttempts.IdentificationAttents.IdentificationName <String> | Regra de identificador usada para esta tentativa de identificação de IC. Tipo de dados: Cadeia de caracteres |
| <String>.items.identificationAttempts.searchOnTable | Nome da tabela pesquisada durante o processo de identificação. Tipo de dados: Cadeia de caracteres |
| IdSysEntryEntysid.IdentifierEntryId.IdentifierId <String> | Sys_id para a regra de identificador usada para identificar o IC. Tipo de dados: Cadeia de caracteres Entrada do identificador [cmdb_identifier_entry] |
| <String>.items.incompleteSysIds | Se o item tiver erros e tiver sido salvo como uma carga incompleta, este parâmetro conterá o sys_id do registro na tabela Cargas incompletas do IRE do CMDB [cmdb_ire_incomplete_payloads]. Tipo de dados: Cadeia de caracteres |
| <String>.items.info | Informações adicionais sobre o processamento do item. Tipo de dados: Matriz de objetos |
| <String>.items.info.code | Tipo de reclassificação ignorado. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| <String>.items.info.message | Mensagem que fornece informações adicionais sobre o motivo para ignorar a reclassificação. Tipo de dados: Cadeia de caracteres |
| <String>.items.info.ruleSysId | Sys_id da regra de restrição de reclassificação que foi correspondida. Aplicável somente quando o IRE ignora a reclassificação devido à regra de restrição de reclassificação. Este valor ficará vazio se a reclassificação for ignorada devido a uma carga útil ou sinalizador global. Tipo de dados: Cadeia de caracteres |
| <String>.items.inputIndices | Índices do IC de entrada correspondente. Para itens de nível superior, é uma lista de números inteiros. Para ICs relacionados ou de pesquisa, é a lista de objetos JSON. Tipo de dados: Matriz de números |
| <String>.itens.atributos masked | Lista de atributos cuja atualização por uma fonte de dados não autorizada foi ignorada conforme definido por Regras de reconciliação . Tipo de dados: Matriz |
| <String>.itens.operação | Operação que ocorreu. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| SysIds.partialSysIds <String> | Se o item tiver erros e tiver sido salvo como uma carga parcial, este parâmetro conterá o sys_id do registro de carga parcial. Tipo de dados: Cadeia de caracteres |
| Items.RelatedItems.RelatedItems <String> | Lista de objetos JSON que descrevem um IC relacionado (IC de pesquisa de tabela) do corpo da solicitação items.lookupmatriz. Tipo de dados: Matriz de objetos |
| Items.RelatedItems.Classname <String> | Nome da classe/tabela (sys_class_name) do item relacionado. Tipo de dados: Cadeia de caracteres |
| Items.RelatedItems.Erros.RelatedItems <String> | Lista de erros que ocorreram durante o processamento do item relacionado. Tipo de dados: Matriz de objetos |
| Items.RelatedItems.Errors.ERROR <String> | Tipo de erro encontrado ao processar o item relacionado. Tipo de dados: Cadeia de caracteres |
| Items.RelatedItems.Errors.message <String> | Mensagem de erro associada ao erro. Tipo de dados: Cadeia de caracteres |
| Items.RelatedItems.ErrorCount <String> | Número de erros detectados ao processar os itens relacionados. Tipo de dados: Número |
| <String>.items.relatedItems.incompleteSysIds | Se a relação tiver erros e tiver sido salva como uma carga incompleta, este valor será o sys_id do registro na tabela Cargas Incompletas do IRE do CMDB [cmdb_ire_incomplete_payloads]. Tipo de dados: Cadeia de caracteres |
| <String>.items.relatedItems.inputIndices | Índice do item de entrada correspondente. Para itens de nível superior, é uma lista de números inteiros. Para itens relacionados ou de pesquisa, é a lista de objetos JSON. Tipo de dados: Matriz de números ou Matriz de objetos |
| <String>.items.relatedItems.inputIndices.mainIndex | Valor de índice do corpo da solicitação itemsMatriz que corresponde ao IC primário do item relacionado. Tipo de dados: Número |
| <String>.items.relatedItems.inputIndices.subIndex | Valor de índice do corpo da solicitação items.lookupmatriz que corresponde ao item relacionado. Tipo de dados: Número |
| Items.RelatedItems.mergedPayloadIds <String> | Lista de sys_ids das cargas parciais que foram mescladas no IC durante o processamento. Tipo de dados: Matriz |
| Items.RelatedItems.Operation <String> | Operação que ocorreu. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| Items.RelatedItems.PartialSysIds <String> | Se o item relacionado tiver erros e tiver sido salvo como uma carga parcial, conterá uma lista dos sys_ids dos registros associados na tabela Cargas parciais do IRE do CMDB [cmdb_ire_partial_payloads]. Tipo de dados: Matriz |
| Items.RelatedItems.SYSID.Items.RelatedItems <String> | Sys_id do item relacionado. Tipo de dados: Cadeia de caracteres |
| Items.RelatedItems.warningCount <String> | Número de avisos encontrados ao processar os itens relacionados. Tipo de dados: Número |
| Items.RelatedItems.warnings <String> | Descrição dos avisos encontrados durante o processamento dos itens relacionados. Tipo de dados: Matriz de objetos |
| Items.RelatedItems.warnings.error.RelatedItems.<String> | Tipo de aviso encontrado ao processar o item relacionado. Tipo de dados: Cadeia de caracteres |
| Items.relatedItems.warnings.message <String> | Mensagem associada ao aviso. Tipo de dados: Cadeia de caracteres |
| SysIds.RelatedSysIds <String> | Lista de valores sys_id dos ICs usados durante a identificação baseada em pesquisa de itens relacionados. Tipo de dados: Cadeia de caracteres |
| <String>.items.sys_id | Sys_id do IC que foi atualizado ou criado. Tipo de dados: Cadeia de caracteres |
| <String>.relations | Descrição de um IC de relacionamento dependente do corpo da solicitação relationsmatriz. Tipo de dados: Matriz de objetos |
| <String>.relations.classname | Sys_class_name deste IC de relacionamento dependente. Somente valor compatível: cmdb_rel_ci: Tabela de relacionamento de IC. Tipo de dados: Cadeia de caracteres |
| Relations.ErrorCount.<String> | Número de erros encontrados ao processar o IC de relacionamento dependente. Tipo de dados: Número |
| Relações.Erros.Relacionamento.<String> | Lista que descreve os erros encontrados durante o processamento deste IC de relacionamento dependente. Tipo de dados: Matriz de objetos |
| <String>.relations.errors.errors.error | Tipo de erro encontrado ao processar o IC de relacionamento dependente. Tipo de dados: Cadeia de caracteres |
| <String>.relations.errors.message | Mensagem de erro encontrada ao processar este IC de relacionamento dependente. Tipo de dados: Cadeia de caracteres |
| <String>.relations.incompleteSysIds | Se a relação tiver erros e tiver sido salva como uma carga incompleta, este valor será o sys_id do registro na tabela Cargas Incompletas do IRE do CMDB [cmdb_ire_incomplete_payloads]. Tipo de dados: Cadeia de caracteres |
| <String>.relations.inputIndices | Índices para os objetos de IC de relacionamento dependente no corpo da solicitação relationsMatriz que corresponde a este IC de relacionamento dependente. Tipo de dados: Matriz |
| Relations.Operation.<String> | Tipo de operação realizada. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| SysIds.partialSysIds.partialsIds <String> | Se a relação tiver erros e tiver sido salva como uma carga parcial, esse valor será o sys_id do registro na tabela Cargas parciais do IRE do CMDB [cmdb_ire_partial_payloads]. Tipo de dados: Cadeia de caracteres |
| SYSID.relations.SYSID <String> | Sys_id do IC de relacionamento dependente. Tipo de dados: Cadeia de caracteres |
| Resumo.<String> | Lista de propriedades JSON que fornecem estatísticas sobre quantos itens foram inseridos, atualizados e similares por classe. Tipo de dados: Matriz |
| <String>.Summary.<class_name> | Estatísticas de uma classe específica. Tipo de dados: Objeto |
| <String>.summary.<class_name>.additionalInsertedItemCount | Número de itens inseridos devido ao processamento de cargas parciais. Tipo de dados: Número |
| <String>.summary.<class_name>.errorCount | Número de erros encontrados ao processar itens. Tipo de dados: Número |
| <String>.summary.<class_name>.incompleteItemCount | Número de itens inseridos na tabela Cargas Incompletas do IRE do CMDB [cmdb_ire_incomplete_payloads]. Tipo de dados: Número |
| <String>.summary.<class_name>.insertedItemCount | Número de itens criados. Tipo de dados: Número |
| <String>.summary.<class_name>.PartialItemCount | Número de itens salvos na tabela Carga parcial [cmdb_ire_partial_payloads]. Tipo de dados: Número |
| <String>.summary.<class_name>.skippedItemCount | Número de itens ignorados. Tipo de dados: Número |
| <String>.summary.<class_name>.unchangedItemCount | Número de itens que tinham entradas, mas não foram modificados. Tipo de dados: Número |
| <String>.summary.<class_name>.updatedItemCount | Número de itens atualizados. Tipo de dados: Número |
| <String>.summary.<class_name>.warningCount | Número de itens que geraram um aviso quando processados. Tipo de dados: Número |
Este exemplo mostra como importar várias entradas de IC.
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));
Saída:
{
"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(cadeia de caracteres jsonString)
Determina a operação (inserir/atualizar) a ser executada com a carga especificada sem confirmar a operação no banco de dados.
Isso funciona da mesma forma OrUpdateCI() , mas não confirma o resultado.
| Nome | Tipo | Descrição |
|---|---|---|
| JsonString | Cadeia de caracteres | Uma cadeia de caracteres formatada JSON de itens de configuração a serem adicionados ou atualizados. Cada cadeia de caracteres de entrada está no formato "itens: []], relações:[]]", em que cada item nas listas de itens e relações contém pares nome-valor. Os possíveis pares nome-valor na lista de itens são:
Possíveis pares nome-valor na lista de relações são:
|
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Uma cadeia de caracteres formatada JSON que é uma lista de resultados. Cada cadeia de caracteres de resultado está no formato "itens: []], relações:[]]", em que cada item nas listas de itens e relações contém pares nome-valor. Os possíveis pares nome-valor na lista de itens são:
Possíveis pares nome-valor na lista de relações são:
|
A seguir mostra como reclassificar um item de configuração.
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));
Saída:
{
"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 (origem de cadeia de caracteres, entrada de cadeia de caracteres, opções de objeto)
Determina o. Configuration Management Database (CMDB) operação (inserir/atualizar) a ser executada com a carga especificada (corpo da solicitação), sem confirmar as operações no banco de dados.
Use este método para simular o envio de uma carga.
- Cargas parciais
- Em caso de um item ter um aviso ou erro, indica se uma operação de item é INSERT_AS_PARTIAL ou INSERT_INCOMPLETE.
- Retorna os sys_ids de cargas parciais que foram mescladas com cargas parciais existentes.
- Oferece suporte ao recurso de desduplicação de carga.
- Gera um resumo.
| Nome | Tipo | Descrição |
|---|---|---|
| entrada | Cadeia de caracteres | Obrigatório. Carga de entrada. Uma cadeia de caracteres formatada JSON de itens de configuração a serem adicionados ou atualizados. |
| input.items | Matriz de objetivos | Itens a serem adicionados ou atualizados. |
| input.items.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer um CMDB classe/tabela, como cmdb_ci_linux_server ou cmdb_ci_win_server. |
| input.items.display_values | Objeto | Campos de referência a serem criados ou atualizados para este item relacionado como pares nome-valor, em que o nome é o nome do campo e o valor é o valor de exibição referenciado. Se você quiser usar o sys_id em vez do valor de exibição para campos de referência, passe as informações no input.items.lookup.valuesem vez de neste parâmetro. Os nomes dos campos de referência dependem dos campos selecionados pelo usuário, como: |
| input.items.internal_id | Cadeia de caracteres | Identificador de item exclusivo para a carga associada. Pode ser qualquer valor, mas deve ser exclusivo na carga. |
| input.items.lookup | Matriz de objetivos | Identifica o item de nível superior que contém a pesquisa (identificação baseada em pesquisa). Esses registros são usados para identificar o item de configuração com base em uma tabela de pesquisa que tem uma referência de volta a cmdb_ci. Por exemplo: |
| input.items.lookup.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer um CMDB classe/tabela, como cmdb_serial_number ou cmdb_ci_network_adapter. |
| input.items.lookup.internal_id | Cadeia de caracteres | Identificador de item de pesquisa exclusivo para a carga associada. Pode ser qualquer valor, mas deve ser exclusivo na carga. |
| input.items.lookup.sys_object_source_info | Objeto | Define um identificador de IC exclusivo para uma fonte de dados específica. Origens diferentes podem ter pares de nome-valor diferentes para o mesmo IC. |
| input.items.lookup.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.lookup.sys_object_source_info.source_name | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.lookup.sys_object_source_info.source_native_key | Cadeia de caracteres | Key-id exclusivo para o item da origem. A fonte de dados gera esta chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data/hora UTC em que o item foi verificado. Formato: AAAA-MM-DD hh:mm:ss |
| input.items.lookup.values | Objeto | Informações de campo para o IC como pares nome-valor, em que o nome é o nome do campo. Ao atualizar campos de referência, o valor deve ser o sys_id referenciado. Os nomes e tipos de campo dependem dos campos selecionados pelo usuário, como: |
| input.items.related | Matriz de objetivos | Referência ao item de nível superior que contém a lista relacionada. As regras na entrada relacionada [cmdb_related_entry] definem que tipo de registros podem estar nesta matriz. Esses registros são usados para adicionar itens com base em uma tabela relacionada que tem uma referência ao IC que está sendo identificado. A tabela relacionada pode ou não estender cmdb_ci. Esses registros não são usados para identificar o item de configuração. |
| input.items.related.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer um CMDB classe/tabela, como cmdb_software_instance ou cmdb_key_value. |
| input.items.related.internal_id | Cadeia de caracteres | Identificador exclusivo para este item relacionado nesta carga. Pode ser qualquer valor, mas deve ser exclusivo na carga. |
| input.items.related.sys_object_source_info | Objeto | Objeto que compõe um identificador de IC exclusivo para uma fonte de dados especificada. Origens diferentes podem ter pares de nome-valor diferentes para o mesmo IC. |
| input.items.related.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.related.sys_object_source_info.source_name | Cadeia de caracteres | Identifica a fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.related.sys_object_source_info.source_native_key | Cadeia de caracteres | ID/chave exclusiva da origem do item relacionado. A fonte de dados gera esta chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.related.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data e hora UTC em que o item foi verificado. Formato: |
| input.items.related.values | Objeto | Campos a serem criados ou atualizados para este item relacionado como pares de nome/valor, em que o nome é o nome do campo. Para um campo de referência, o valor deve ser o sys_id referenciado. Se você quiser usar o valor de exibição em vez do sys_id para campos de referência, passe essas informações em um display_valuesobjeto em vez de no valuesobjeto. Os nomes e tipos de campo dependem dos campos selecionados pelo usuário, como: |
| input.items.settings | Objeto | Parâmetros que definem os tipos de atualizações permitidos. |
| input.items.settings.skipReclassificationRestrictionRules | Booliano | Sinalizador que indica se o IRE não deve executar a regra de restrição de reclassificação que corresponde à classe do item de carga útil. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutDowngrade | Booliano | Sinalizador que indica se atualização e downgrade são permitidos para este item. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutSwitch | Booliano | Sinalizador que indica se o item pode ser atualizado e a classe alternada. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutUpgrade | Booliano | Sinalizador que indica se atualização e upgrade são permitidos para este item. Valores válidos:
Padrão: falso |
| input.items.sys_object_source_info | Objeto | Identificador de IC exclusivo para uma origem específica. |
| input.items.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.sys_object_source_info.source_name | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.sys_object_source_info.source_native_key | Cadeia de caracteres | ID/chave exclusiva do item da origem. A fonte de dados gera esta chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data e hora UTC em que o item foi verificado. Formato: AAAA-MM-DD hh:mm:ss |
| input.items.values | Objeto | Campos a serem criados ou atualizados para este item relacionado como pares de nome/valor, em que o nome é o nome do campo. Para um campo de referência, o valor deve ser o sys_id referenciado. Se você quiser usar o valor de exibição em vez do sys_id para campos de referência, passe essas informações em um display_valuesobjeto em vez de no valuesobjeto. Os nomes e tipos de campo dependem dos campos selecionados pelo usuário, como: |
| Input.referenceItems | Matriz de objetivos | Lista que definem referências entre itens na carga de entrada. Os valores de cada item de referência são preenchidos antes de identificar um IC usando as regras de IRE definidas em uma classe. |
| Items.referenciadoItems.referenciado | Cadeia de caracteres | . internal_iddefinido para o item que está sendo referenciado por outro item. |
| Items.referenceItems.referencedBy | Cadeia de caracteres | . internal_iddefinido para o item que faz referência a outro item. |
| Input.referenceItems.referenceField | Cadeia de caracteres | Nome do campo de referência na classe/tabela do referencedByitem. |
| input.relations | Matriz de objetivos | Lista que especifica relacionamentos entre itens na carga de entrada. Um objeto nesta matriz pode usar um dos dois formatos.
|
| input.relations.child | Número | Índice inteiro do objeto de IC no itemsmatriz que representa o secundário no relacionamento (items, items.related ou items.lookup.) |
| input.relations.child_id | Cadeia de caracteres | . internal_iddo item secundário na relação (items, items.related ou items.lookup.) |
| input.relations.parent | Número | Índice inteiro do item primário em itemsmatriz (items, items.related ou items.lookup.) |
| input.relations.parent_id | Cadeia de caracteres | . internal_iddo item primário na relação (items, items.related ou items.lookup.) |
| input.relations.sys_rel_source_info | Objeto | Informações de origem da Descoberta para o relacionamento. Para relacionamentos sem dependência, essas informações são salvas na tabela Origens de relacionamento [sys_rel_source] (não persistidas para IdentifyCIEnhanced() ou IdentifyCI() .) Tipo de dados: Objeto |
| input.relations.sys_rel_source_info.source_name | Cadeia de caracteres | Nome da origem da Descoberta. Padrão: Origem da descoberta passada no parâmetro Método de API. |
| input.relations.sys_rel_source_info.source_feed | Cadeia de caracteres | Qualquer cadeia de caracteres que seja uma subdescoberta/verificação na origem da descoberta. Padrão: "DESCONHECIDO" é armazenado na coluna source_feed ao criar um registro na tabela sys_rel_source. |
| input.relations.type | Cadeia de caracteres | Tipo de relacionamento que existe entre os itens primário e secundário. Deve ser um valor de campo de nome da tabela Tipo de relacionamento de IC [cmdb_rel_type]. |
| opções | Objeto | Opcional, mas nulo ou nulo deve ser passado. Opções para habilitar ou desabilitar recursos. Nota: Por padrão ou se partial_payloadsdefinido como verdadeiro, ambos partial_commitse. deduplicate_payloadsestão habilitados, mesmo se estiverem definidos como falsos, pois esses recursos são essenciais para a funcionalidade de cargas parciais. |
| options.deduplicate_payloads | Booliano | Sinalizador que indica se itens duplicados são mesclados ou considerados erros. Valores válidos:
Padrão: verdadeiro |
| options.generate_summary | Booliano | Sinalizador que indica se os resultados retornados contêm informações resumidas. Para obter os detalhes das informações resumidas retornadas, consulte <String>.summaryna tabela retornar resultados. Valores válidos:
Padrão: falso |
| options.partial_commits | Booliano | Sinalizador que indica se o suporte de confirmação parcial está habilitado. Para obter informações adicionais sobre confirmações parciais, consulte Recursos IRE aprimorados . Valores válidos:
Padrão: verdadeiro |
| options.partial_payloads | Booliano | Sinalizador que indica se o suporte de carga parcial está habilitado. Para obter informações adicionais sobre cargas parciais, consulte Recursos IRE aprimorados e. Crie uma regra de fonte de dados IRE . Valores válidos:
Padrão: verdadeiro |
| options.skip_updating_last_scan_to_now | Booliano | Sinalizador que indica se a atualização do campo last_scan de sys_object_source deve ser ignorada. Valores válidos:
Padrão: Usa o valor na propriedade do sistema glide.identification_engine.skip_updating_last_scan_to_now. |
| options.skip_updating_source_last_discovered_to_now | Booliano | Sinalizador que indica se a atualização dos campos discovery_source e last_discovered deve ser ignorada na tabela Item de configuração [cmdb_ci]. Valores válidos:
Padrão: Usa o valor na propriedade do sistema glide.identification_engine.skip_updating_source_last_discovered_to_now. |
| origem | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| Tipo | Descrição |
|---|---|
| <String> | Cadeia de caracteres formatada JSON que é uma lista de resultados dos itens de configuração na cadeia de caracteres de entrada. Tipo de dados: Cadeia de caracteres |
| ItemsCommittedAditionalCommittedItems <String> | Lista de ICs que foram confirmados durante o processamento de IRE da carga atual, mas não estavam presentes na carga de entrada atual. Tipo de dados: Matriz de objetos |
| RelacionaçõesCommitedadicionais <String> | Descrição de um IC de relacionamento dependente que não foi incluído no corpo da solicitação relationslista a ser inserida ou atualizada. Tipo de dados: Matriz de objetos |
| Erro.hasErro <String> | Sinalizador que indica se algum item ou relação tem erros. Tipo de dados: Booliano |
| <String>.hasWarning | Sinalizador que indica se algum item ou relação tem avisos. Tipo de dados: Booliano |
| Itens.<String> | Descrição dos ICs criados ou atualizados. Tipo de dados: Matriz de objetos |
| ItemsRelacionadosadicionais.ItemsRelacionadosadicionais <String> | Informações sobre pesquisa adicional e itens relacionados que foram processados, mas não fornecidos como parte da carga de entrada. Esses itens são de cargas úteis parciais. Tipo de dados: Matriz de objetos |
| Items.itens.additionalRelatedItems.classname <String> | Nome da classe/tabela (sys_class_name) do IC que foi criado ou atualizado. Tipo de dados: Cadeia de caracteres |
| <String>.items.additionalRelatedItems.inputIndices | Valores de índice para ICs do corpo da solicitação itemsmatriz que corresponde a este item relacionado. Tipo de dados: Matriz de números |
| Items.ItemsRelacionadosadicionais.mergedPayloadIds <String> | Lista de sys_ids das cargas parciais que foram mescladas no item relacionado. Tipo de dados: Matriz Tabela: Cargas parciais do IRE do CMDB [cmdb_ire_partial_payloads] |
| Items.Items.Relacionadosadicionais.Operação <String> | Tipo de operação. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| Items.Items.SYSID Relacionadosadicionais.Items.Items.Items.AditionalRelacionados <String> | Sys_id do IC que foi atualizado ou criado. Tipo de dados: Cadeia de caracteres |
| <String>.items.classname | Nome da classe/tabela (sys_class_name) do IC que foi criado ou atualizado. Tipo de dados: Cadeia de caracteres |
| Itens.duplicadosIndices <String> | Lista de índices de ICs duplicados do item atual. Tipo de dados: Matriz |
| Items.ErrorCount <String> | Número de erros encontrados ao processar o item. Tipo de dados: Número |
| Itens.Erros.Itens.<String> | Lista de erros encontrados ao processar este IC. Tipo de dados: Matriz de objetos |
| <String>.itens.errors.error | Tipo de erro encontrado ao processar o IC. Tipo de dados: Cadeia de caracteres |
| <String>.itens.errors.message | Mensagem de erro encontrada ao processar o IC. Tipo de dados: Cadeia de caracteres |
| <String>.items.IdentificationAttents | Lista de tentativas feitas para identificar os ICs. Tipo de dados: Matriz de objetos |
| IdentificationAttempts.attempts.attemptResult <String> | Resultados da tentativa de identificar o IC. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| Atributos.IdentificationAttempts.Attributes.IdentificationAttributes <String> | Lista de atributos de entrada de identificador de IC que foram usados durante o processo de identificação. Tipo de dados: Matriz Os nomes e tipos de atributo dependem dos dados do corpo da solicitação e do identificador em uso, como: |
| IdentificationAttempts.IdentificationAttents.IdentificationName <String> | Regra de identificador usada para esta tentativa de identificação de IC. Tipo de dados: Cadeia de caracteres |
| <String>.items.identificationAttempts.searchOnTable | Nome da tabela pesquisada durante o processo de identificação. Tipo de dados: Cadeia de caracteres |
| IdSysEntryEntysid.IdentifierEntryId.IdentifierId <String> | Sys_id para a regra de identificador usada para identificar o IC. Tipo de dados: Cadeia de caracteres Entrada do identificador [cmdb_identifier_entry] |
| <String>.items.info | Informações adicionais sobre o processamento do item. Tipo de dados: Matriz de objetos |
| <String>.items.info.code | Tipo de reclassificação ignorado. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| <String>.items.info.message | Mensagem que fornece informações adicionais sobre o motivo para ignorar a reclassificação. Tipo de dados: Cadeia de caracteres |
| <String>.items.info.ruleSysId | Sys_id da regra de restrição de reclassificação que foi correspondida. Aplicável somente quando o IRE ignora a reclassificação devido à regra de restrição de reclassificação. Este valor ficará vazio se a reclassificação for ignorada devido a uma carga útil ou sinalizador global. Tipo de dados: Cadeia de caracteres |
| <String>.items.inputIndices | Índices do IC de entrada correspondente. Para itens de nível superior, é uma lista de números inteiros. Para ICs relacionados ou de pesquisa, é a lista de objetos JSON. Tipo de dados: Matriz de números |
| <String>.itens.atributos masked | Lista de atributos cuja atualização por uma fonte de dados não autorizada foi ignorada conforme definido por Regras de reconciliação . Tipo de dados: Matriz |
| <String>.itens.operação | Operação que ocorreu. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| Items.RelatedItems.RelatedItems <String> | Informações sobre os itens relacionados processados. Tipo de dados: Matriz de objetos |
| Items.RelatedItems.Classname <String> | Nome da classe/tabela (sys_class_name) do item relacionado. Tipo de dados: Cadeia de caracteres |
| Items.RelatedItems.ErrorCount <String> | Número de erros detectados ao processar os itens relacionados. Tipo de dados: Número |
| Items.RelatedItems.Erros.RelatedItems <String> | Lista de erros que ocorreram durante o processamento do item relacionado. Tipo de dados: Matriz de objetos |
| Items.RelatedItems.Errors.ERROR <String> | Tipo de erro encontrado ao processar o item relacionado. Tipo de dados: Cadeia de caracteres |
| Items.RelatedItems.Errors.message <String> | Mensagem de erro encontrada ao processar o item relacionado. Tipo de dados: Cadeia de caracteres |
| <String>.items.relatedItems.inputIndices | Índice do item de entrada correspondente. Para itens de nível superior, é uma lista de números inteiros. Para itens relacionados ou de pesquisa, é a lista de objetos JSON. Tipo de dados: Matriz de números ou Matriz de objetos |
| <String>.items.relatedItems.inputIndices.mainIndex | Valor de índice do corpo da solicitação itemsMatriz que corresponde ao IC primário do item relacionado. Tipo de dados: Número |
| <String>.items.relatedItems.inputIndices.subIndex | Valor de índice do corpo da solicitação items.lookupmatriz que corresponde ao item relacionado. Tipo de dados: Número |
| Items.RelatedItems.mergedPayloadIds <String> | Lista de sys_ids das cargas parciais que foram mescladas no IC durante o processamento. Tipo de dados: Matriz |
| Items.RelatedItems.Operation <String> | Operação que ocorreu. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| Items.RelatedItems.SYSID.Items.RelatedItems <String> | Sys_id do item relacionado. Tipo de dados: Cadeia de caracteres |
| Items.RelatedItems.warningCount <String> | Número de avisos encontrados ao processar os itens relacionados. Tipo de dados: Número |
| Items.RelatedItems.warnings <String> | Descrição dos avisos encontrados durante o processamento dos itens relacionados. Tipo de dados: Matriz de objetos |
| SysIds.RelatedSysIds <String> | Lista de valores sys_id dos ICs usados durante a identificação baseada em pesquisa de itens relacionados. Tipo de dados: Cadeia de caracteres |
| <String>.items.sys_id | Sys_id do IC que foi atualizado ou criado. Tipo de dados: Cadeia de caracteres |
| <String>.relations | Informações sobre as relações processadas. Tipo de dados: Matriz de objetos |
| <String>.relations.classname | Sys_class_name deste IC de relacionamento dependente. Somente valor compatível: cmdb_rel_ci: Tabela de relacionamento de IC. Tipo de dados: Cadeia de caracteres |
| Relations.ErrorCount.<String> | Número de erros encontrados ao processar o IC de relacionamento dependente. Tipo de dados: Número |
| Relações.Erros.Relacionamento.<String> | Lista que descreve os erros encontrados durante o processamento deste IC de relacionamento dependente. Tipo de dados: Matriz de objetos |
| <String>.relations.inputIndices | Índices para os objetos de IC de relacionamento dependente no corpo da solicitação relationsMatriz que corresponde a este IC de relacionamento dependente. Tipo de dados: Matriz |
| Relations.Operation.<String> | Tipo de operação realizada. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| SYSID.relations.SYSID <String> | Sys_id do IC de relacionamento dependente. Tipo de dados: Cadeia de caracteres |
| Resumo.<String> | Lista de propriedades JSON que fornecem estatísticas sobre quantos itens foram inseridos, atualizados e similares por classe. Tipo de dados: Matriz |
| <String>.Summary.<class_name> | Estatísticas de uma classe específica. Tipo de dados: Objeto |
| <String>.summary.<class_name>.additionalInsertedItemCount | Número de itens inseridos devido ao processamento de cargas parciais. Tipo de dados: Número |
| <String>.summary.<class_name>.errorCount | Número de erros encontrados ao processar itens. Tipo de dados: Número |
| <String>.summary.<class_name>.incompleteItemCount | Número de itens inseridos na tabela Cargas Incompletas do IRE do CMDB [cmdb_ire_incomplete_payloads]. Tipo de dados: Número |
| <String>.summary.<class_name>.insertedItemCount | Número de itens criados. Tipo de dados: Número |
| <String>.summary.<class_name>.PartialItemCount | Número de itens salvos na tabela Carga parcial [cmdb_ire_partial_payloads]. Tipo de dados: Número |
| <String>.summary.<class_name>.skippedItemCount | Número de itens ignorados. Tipo de dados: Número |
| <String>.summary.<class_name>.unchangedItemCount | Número de itens que tinham entradas, mas não foram modificados. Tipo de dados: Número |
| <String>.summary.<class_name>.updatedItemCount | Número de itens atualizados. Tipo de dados: Número |
| <String>.summary.<class_name>.warningCount | Número de itens que geraram um aviso quando processados. Tipo de dados: Número |
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));
Saída:
{
"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)
Executa uma auditoria de identificação em relação ao item de configuração (IC) especificado para detectar duplicatas.
Se forem encontradas duplicatas, as tarefas de duplicação serão criadas. Use este método somente em tipos de IC com regras de identificação independentes.
| Nome | Tipo | Descrição |
|---|---|---|
| Now_GR | GlideRecord | IC no qual executar a auditoria para detectar duplicatas. O IC deve ter regras de identificação independentes. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como verificar se há duplicatas em um registro na tabela Servidores 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);