IdentificationEngine - 범위 지정됨
IdentificationEngine API는 식별 및 조정 프레임워크를 사용하여 중복 구성 항목(CI) 생성을 최소화하고, 구성 관리 데이터베이스(CMDB).
범위가 지정된 애플리케이션에서 이 클래스를 사용하는 경우 sn_cmdb 네임스페이스 식별자를 사용합니다.
IdentificationEngine - createOrUpdateCI(문자열 소스, 문자열 입력)
식별 및 조정 규칙을 기반으로 구성 항목(CI) 및 비구성 관리 데이터베이스(CMDB) CI(cmdb_ci에서 확장되지 않는 클래스)를 CMDB 삽입하거나 업데이트합니다. 직접 업데이트하는 대신 이 API를 CMDB 사용합니다.
비 CMDB 테이블 수집에 대한 자세한 내용은 다음 문서를 참조하십시오 IRE support for non-CMDB tables.
| 이름 | 유형 | 설명 |
|---|---|---|
| 입력 | 문자열 | 필수 입력 페이로드입니다. 추가하거나 업데이트할 구성 항목의 JSON 형식 문자열입니다. |
| 입력.항목 | 객체 배열 | 추가하거나 업데이트할 항목입니다. |
| 입력.항목.클래스 이름 | 문자열 | 필수 작성하거나 업데이트할 CI(구성 항목)의 클래스/테이블 이름(sys_class_name)입니다. 이 값은 cmdb_ci_linux_server 또는 cmdb_ci_win_server와 같은 모든 CMDB 클래스/테이블이 될 수 있습니다. |
| input.items.display_values | 객체 | 이 관련 항목에 대해 이름-값 쌍으로 만들거나 업데이트할 참조 필드입니다. 여기서 이름은 필드 이름이고 값은 참조된 표시 값입니다. 참조 필드에 대한 표시 값 대신 sys_id 사용하려면 이 매개변수 대신 매개변수에 input.items.lookup.values 정보를 전달합니다. 참조 필드 이름은 다음과 같이 사용자가 선택한 필드에 따라 달라집니다. |
| input.items.internal_id | 문자열 | 연결된 페이로드의 고유 항목 식별자입니다. 이 값은 모든 값이 될 수 있지만 페이로드 내에서 고유해야 합니다. |
| 입력.항목.조회 | 객체 배열 | 조회(조회 기반 식별)를 포함하는 최상위 항목을 식별합니다. 이러한 기록은 cmdb_ci에 대한 참조가 있는 조회 테이블을 기반으로 구성 항목을 식별하는 데 사용됩니다. 예: |
| 입력.항목.조회.클래스 이름 | 문자열 | 필수 작성하거나 업데이트할 CI(구성 항목)의 클래스/테이블 이름(sys_class_name)입니다. 이 값은 cmdb_serial_number 또는 cmdb_ci_network_adapter와 같은 모든 CMDB 클래스/테이블일 수 있습니다. |
| input.items.lookup.internal_id | 문자열 | 연결된 페이로드의 고유 항목 식별자입니다. 이 값은 모든 값이 될 수 있지만 페이로드 내에서 고유해야 합니다. |
| input.items.lookup.sys_object_source_info | 객체 | 특정 소스의 고유 CI 식별자. |
| input.items.lookup.sys_object_source_info.소스_피드 | 문자열 | 소스에 여러 피드가 있을 수 있는 경우 이 필드를 사용하여 이 항목을 보내는 피드의 이름을 제공합니다. 데이터 소스에서 이 피드 이름이 생성됩니다. 소스 피드를 고유하게 식별하는 모든 문자열이 될 수 있습니다. |
| input.items.lookup.sys_object_source_info.소스_이름 | 문자열 | CI 정보의 데이터 소스입니다. 이 값은 구성 항목 [cmdb_ci] 테이블의 discovery_source 필드에 대해 정의된 선택 값 중 하나여야 합니다. |
| input.items.lookup.sys_object_source_info.source_native_key | 문자열 | 소스에서 가져온 항목의 고유 키/ID입니다. 데이터 원본에서 이 키를 생성합니다. 항목에 고유한 문자열이 될 수 있습니다. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | 문자열 | 항목이 스캔된 UTC 날짜 및 시간입니다. 형식: YYYY-MM-DD hh:mm:ss |
| 입력.항목.조회.값 | 객체 | 이 관련 항목에 대해 이름/값 쌍으로 작성하거나 업데이트할 필드입니다. 여기서 이름은 필드 이름입니다. 참조 필드의 경우 해당 값은 참조 필드여야 sys_id. 참조 필드에 대한 sys_id 대신 표시 값을 사용하려면 이 정보를 객체 대신 values 객체에 display_values 전달합니다. 필드 이름과 유형은 다음과 같이 사용자가 선택한 필드에 따라 달라집니다. |
| 입력.항목.관련 | 배열 | 관련 목록이 포함된 최상위 항목을 말합니다. 관련 항목 [cmdb_related_entry]의 규칙은 이 배열에 있을 수 있는 기록 유형을 정의합니다. 이러한 기록은 식별 중인 CI에 대한 참조가 있는 관련 테이블을 기반으로 항목을 추가하는 데 사용됩니다. 관련 테이블은 cmdb_ci 확장되거나 확장되지 않을 수 있습니다. 이러한 기록은 구성 항목을 식별하는 데 사용되지 않습니다. |
| 입력.항목.관련.클래스 이름 | 문자열 | 필수 작성하거나 업데이트할 CI(구성 항목)의 클래스/테이블 이름(sys_class_name)입니다. 이 값은 cmdb_software_instance 또는 cmdb_key_value과 같은 모든 CMDB 클래스/테이블이 될 수 있습니다. |
| input.items.related.internal_id | 문자열 | 연결된 페이로드의 고유 항목 식별자입니다. 이 값은 모든 값이 될 수 있지만 페이로드 내에서 고유해야 합니다. |
| input.items.related.sys_object_source_info | 객체 | 특정 소스의 고유 CI 식별자. |
| input.items.related.sys_object_source_info.소스_피드 | 문자열 | 소스에 여러 피드가 있을 수 있는 경우 이 필드를 사용하여 이 항목을 보내는 피드의 이름을 제공합니다. 데이터 소스에서 이 피드 이름이 생성됩니다. 소스 피드를 고유하게 식별하는 모든 문자열이 될 수 있습니다. |
| input.items.related.sys_object_source_info.소스_이름 | 문자열 | CI 정보의 데이터 소스입니다. 이 값은 구성 항목 [cmdb_ci] 테이블의 discovery_source 필드에 대해 정의된 선택 값 중 하나여야 합니다. |
| input.items.related.sys_object_source_info.source_native_key | 문자열 | 소스에서 가져온 항목의 고유 키/ID입니다. 데이터 원본에서 이 키를 생성합니다. 항목에 고유한 문자열이 될 수 있습니다. |
| input.items.related.sys_object_source_info.source_recency_timestamp | 문자열 | 항목이 스캔된 UTC 날짜 및 시간입니다. 형식: YYYY-MM-DD hh:mm:ss |
| 입력.항목.관련.값 | 객체 | 이 관련 항목에 대해 이름/값 쌍으로 작성하거나 업데이트할 필드입니다. 여기서 이름은 필드 이름입니다. 참조 필드의 경우 해당 값은 참조 필드여야 sys_id. 참조 필드에 대한 sys_id 대신 표시 값을 사용하려면 이 정보를 객체 대신 values 객체에 display_values 전달합니다. 필드 이름과 유형은 다음과 같이 사용자가 선택한 필드에 따라 달라집니다. |
| 입력.항목.설정 | 객체 | 허용되는 업데이트 유형을 정의하는 매개변수입니다. |
| input.items.settings.skipReclassificationRestrictionRules | 부울 | IRE가 페이로드 항목의 클래스와 일치하는 재분류 제한 규칙을 실행하지 않아야 하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| input.items.settings.updateWithoutDowngrade | 부울 | 이 항목에 대해 업데이트 및 다운그레이드가 모두 허용되는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| input.items.settings.updateWithoutUpgrade | 부울 | 이 항목에 대해 업데이트와 업그레이드가 모두 허용되는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| input.items.settings.updateWithoutSwitch | 부울 | 항목을 업데이트하고 클래스를 전환할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| input.items.sys_object_source_info입니다. | 객체 | 특정 소스의 고유 CI 식별자. |
| input.items.sys_object_source_info.소스_피드 | 문자열 | 소스에 여러 피드가 있을 수 있는 경우 이 필드를 사용하여 이 항목을 보내는 피드의 이름을 제공합니다. 데이터 소스에서 이 피드 이름이 생성됩니다. 소스 피드를 고유하게 식별하는 모든 문자열이 될 수 있습니다. |
| input.items.sys_object_source_info.소스_이름 | 문자열 | CI 정보의 데이터 소스입니다. 이 값은 구성 항목 [cmdb_ci] 테이블의 discovery_source 필드에 대해 정의된 선택 값 중 하나여야 합니다. |
| input.items.sys_object_source_info.source_native_key | 문자열 | 소스에서 가져온 항목의 고유 키/ID입니다. 데이터 원본에서 이 키를 생성합니다. 항목에 고유한 문자열이 될 수 있습니다. |
| input.items.sys_object_source_info.source_recency_timestamp | 문자열 | 항목이 스캔된 UTC 날짜 및 시간입니다. 형식: YYYY-MM-DD hh:mm:ss |
| 입력.항목.값 | 객체 | 이 관련 항목에 대해 이름/값 쌍으로 작성하거나 업데이트할 필드입니다. 여기서 이름은 필드 이름입니다. 참조 필드의 경우 해당 값은 참조 필드여야 sys_id. 참조 필드에 대한 sys_id 대신 표시 값을 사용하려면 이 정보를 객체 대신 values 객체에 display_values 전달합니다. 필드 이름과 유형은 다음과 같이 사용자가 선택한 필드에 따라 달라집니다. |
| input.referenceItems | 객체 배열 | 입력 페이로드의 항목 간 참조를 정의하는 목록입니다. |
| input.referenceItems.referenced | 문자열 | internal_id 다른 항목에서 참조하는 항목에 대해 정의된 값입니다. |
| input.referenceItems.referencedBy | 문자열 | internal_id 다른 항목을 참조하는 항목에 대해 정의됩니다. |
| input.referenceItems.referenceField | 문자열 | 항목의 클래스/테이블에 있는 참조 필드의 referencedBy 이름입니다. |
| 입력.관계 | 객체 배열 | 입력 페이로드의 항목 간 관계를 지정하는 목록입니다. 이 배열의 객체는 두 가지 형식 중 하나를 사용할 수 있습니다.
|
| 입력.관계.하위 | 번호 | 관계(items, items.related 또는 items.lookup)에서 하위 항목을 나타내는 배열에 있는 items CI 객체의 정수 인덱스입니다. |
| input.relations.child_id | 문자열 | internal_id 관계의 하위 항목(items, items.related 또는 items.lookup)입니다. |
| 입력.관계.상위 | 번호 | 배열(items, items.related 또는 items.lookup)에 있는 상위 항목의 정수 인덱스입니다 items . |
| input.relations.parent_id | 문자열 | internal_id 관계의 상위 항목(items, items.related 또는 items.lookup)입니다. |
| input.relations.sys_rel_source_info입니다. | 객체 | 관계에 대한 검색 소스 정보입니다. 비의존성 관계의 경우 이 정보는 관계 소스 [sys_rel_source] 테이블에 저장됩니다( identifyCIEnhanced() 또는 identifyCI() 메서드에 대해 유지되지 않음). 데이터 유형: 객체 |
| input.relations.sys_rel_source_info.소스_이름 | 문자열 | 검색 소스 이름입니다. 기본값: API 메서드 매개변수에 전달된 검색 소스입니다. |
| input.relations.sys_rel_source_info.소스_피드 | 문자열 | 검색 소스 내에서 하위 검색/검사에 해당하는 문자열입니다. 기본값: '알 수 없음'은 sys_rel_source 테이블에서 기록을 만들 때 source_feed 열에 저장됩니다. |
| 입력.관계.유형 | 문자열 | 상위 항목과 하위 항목 간에 존재하는 관계의 유형입니다. 이 값은 CI 관계 유형 [cmdb_rel_type] 테이블의 이름 필드 값이어야 합니다. |
| 소스 | 문자열 | CI 정보의 데이터 소스를 식별합니다. 이 값은 cmdb_ci 테이블의 discovery_source 필드에 대해 정의된 선택 값 중 하나여야 합니다. |
| 유형 | 설명 |
|---|---|
| <문자열> | 입력 문자열의 구성 항목에 대한 결과 목록인 JSON 형식의 문자열입니다. 각 결과 문자열은 'items: [{}], relations:[{}]' 형식이며, 여기서 items 및 relations 목록 내의 각 항목에는 이름-값 쌍이 포함됩니다. 데이터 유형: 문자열 |
| <String>.additionalCommittedItems | 현재 반환된 값이 없습니다. |
| <String>.additionalCommittedRelations | 현재 반환된 값이 없습니다. |
| <String>.items | 생성되거나 업데이트된 CI에 대한 설명입니다. 데이터 유형: 객체 |
| <String>.items.additionalRelatedItems | 처리되었지만 입력 페이로드의 일부로 제공되지 않은 추가 조회 및 관련 항목에 대한 정보 목록입니다. 이러한 항목은 부분 페이로드에서 가져온 것입니다. 이 정보는 현재 반환되지 않습니다. 데이터 형식: 객체 배열 |
| <String>.items.additionalRelatedItems.className | 작성되거나 업데이트된 CI의 클래스/테이블 이름(sys_class_name)입니다. 데이터 유형: 문자열 |
| <String>.items.additionalRelatedItems.inputIndices | 해당 입력 항목의 인덱스입니다. 최상위 항목의 경우 정수 목록입니다. 관련 항목 또는 조회 항목의 경우 JSON 객체 목록입니다. 데이터 형식: 숫자로 구성된 배열 또는 개체로 구성된 배열 |
| <String>.items.additionalRelatedItems.inputIndices.mainIndex | 추가 관련 항목의 CI 상위에 해당하는 요청 본문 items 배열의 인덱스 값입니다. 데이터 유형: 숫자 |
| <String>.items.additionalRelatedItems.inputIndices.subIndex | 추가 관련 항목에 해당하는 요청 본문 items.lookup 배열의 인덱스 값입니다. 데이터 유형: 숫자 |
| <String>.items.additionalRelatedItems.operation | 운영 유형입니다. 가능한 값:
데이터 유형: 문자열 |
| <String>.items.additionalRelatedItems.sysId | 추가 관련 항목의 Sys_id입니다. 데이터 유형: 문자열 |
| <String>.items.className | 작성되거나 업데이트된 CI의 클래스/테이블 이름(sys_class_name)입니다. 데이터 유형: 문자열 |
| <String>.items.duplicateIndices | 현재 항목과 중복되는 CI의 인덱스 목록입니다. 데이터 유형: 배열 |
| <String>.items.errorCount | 오류 수입니다. 데이터 유형: 숫자 |
| <String>.items.errors | 이 CI를 처리하는 동안 발생한 오류 목록입니다. 데이터 형식: 객체 배열 |
| <문자열>.items.errors.error | CI를 처리하는 동안 발생한 오류의 유형입니다. 데이터 유형: 문자열 |
| <String>.items.errors.message | 오류와 관련된 오류 메시지입니다. 데이터 유형: 문자열 |
| <String>.items.identificationAttempts | CI를 식별하기 위해 시도한 목록입니다. 데이터 형식: 객체 배열 |
| <String>.items.identificationAttempts.attemptResult | CI를 식별하려는 시도의 결과입니다. 가능한 값:
데이터 유형: 문자열 |
| <String>.items.identificationAttempts.attributes | 식별 프로세스 중에 사용된 CI 식별자 항목 속성의 목록입니다. 데이터 유형: 배열 속성 이름과 유형은 다음과 같이 요청 본문 데이터와 사용 중인 식별자에 따라 달라집니다. |
| <String>.items.identificationAttempts.hybridEntryCiAttributes | 현재 반환된 값이 없습니다. |
| <String>.items.identificationAttempts.identifierName | 이 CI 식별 시도에 사용되는 식별자 규칙입니다. 데이터 유형: 문자열 |
| <String>.items.identificationAttempts.searchOnTable | 식별 프로세스 중에 검색된 테이블의 이름입니다. 데이터 유형: 문자열 |
| <String>.items.identifierEntrySysId | CI를 식별하는 데 사용되는 식별자 규칙의 Sys_id입니다. 식별자 항목 [cmdb_identifier_entry] 테이블에 있습니다. 데이터 유형: 문자열 |
| <문자열>.items.info | 항목 처리에 대한 추가 정보가 들어 있는 목록입니다. 데이터 형식: 객체 배열 |
| <String>.items.info.code | 건너뛴 재분류 유형입니다. 가능한 값:
데이터 유형: 문자열 |
| <문자열>.items.info.message | 재분류를 건너뛰는 이유에 대한 추가 인사이트를 제공하는 메시지입니다. 데이터 유형: 문자열 |
| <String>.items.info.ruleSysId | 일치하는 재분류 제한 규칙의 Sys_id입니다. IRE가 재분류 제한 규칙으로 인해 재분류를 건너뛰는 경우에만 적용할 수 있습니다. 페이로드 또는 전역 플래그로 인해 재분류를 건너뛰면 이 값이 비어 있습니다. 데이터 유형: 문자열 |
| <String>.items.inputIndices | 이 CI에 해당하는 요청 본문 items 배열의 CI 인덱스 값입니다. 데이터 유형: 배열 |
| <String>.items.maskedAttributes | 조정 규칙에 정의된 대로 신뢰할 수 없는 데이터 소스에 의한 업데이트를 건너뛴 속성 목록입니다. 데이터 유형: 배열 |
| <String>.items.relatedItems | 처리된 관련 항목에 대한 정보를 제공하는 목록입니다. 데이터 형식: 객체 배열 |
| <String>.items.relatedItems.className | 관련 항목의 클래스/테이블 이름(sys_class_name)입니다. 데이터 유형: 문자열 |
| <String>.items.relatedItems.errors | 처리 중에 발생한 오류의 목록입니다. 데이터 형식: 객체 배열 |
| <String>.items.relatedItems.errorCount | 처리 중에 감지된 오류 수입니다. 데이터 유형: 숫자 |
| <String>.items.relatedItems.inputIndices | 해당 관련 항목의 인덱스입니다. 데이터 형식: 배열 또는 숫자 |
| <String>.items.relatedItems.inputIndices.mainIndex | 관련 항목의 CI 상위에 해당하는 요청 본문 items 배열의 정수 값입니다. 데이터 유형: 숫자 |
| <String>.items.relatedItems.inputIndices.subIndex | 관련 항목에 해당하는 요청 본문 items.lookup 배열의 정수 값입니다. 데이터 유형: 숫자 |
| <String>.items.relatedItems.operation | 운영 유형입니다. 가능한 값:
데이터 유형: 문자열 |
| <String>.items.relatedSysIds | 요청 본문 items.lookup 배열의 관련 항목(테이블 조회 항목)에 대한 sys_id 값 목록입니다. 주목할 만한 값 - null: 이 관련 항목에 대해 식별된 sys_id 없습니다. 데이터 유형: 배열 |
| <문자열>.items.sys_id | 업데이트되거나 생성된 CI의 Sys_id입니다. 데이터 유형: 문자열 |
| <문자열>.관계 | 처리된 관계에 대한 정보입니다. 데이터 형식: 객체 배열 |
| <문자열>.relations.className | 이 종속 관계 CI의 Sys_class_name입니다. 지원되는 값만 cmdb_rel_ci: CI 관계 테이블입니다. 데이터 유형: 문자열 |
| <String>.relations.errorCount | 오류 수입니다. 데이터 유형: 숫자 |
| <String>.relations.inputIndices | 해당 입력 관계의 인덱스입니다. 데이터 유형: 배열 |
| <String>.relations.operation | 수행된 작업의 유형입니다. 가능한 값:
데이터 유형: 문자열 |
| <String>.relations.sysId | 종속 관계 CI의 Sys_id입니다. 데이터 유형: 문자열 |
구성 항목을 재분류하는 방법은 다음과 같습니다.
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));
출력:
{
"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": []
}
구성 항목을 업데이트하는 방법은 다음과 같습니다.
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));
출력:
{
"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": []
}
종속 CI를 식별합니다.
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));
출력:
{
"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": []
}
조회 기반 식별로 독립 CI를 식별합니다.
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));
출력:
{
"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(문자열 소스, 문자열 입력, 개체 옵션)
식별 및 조정 규칙을 기반으로 구성 항목(CI) 및 비구성 관리 데이터베이스(CMDB) CI(cmdb_ci에서 확장되지 않는 클래스)를 CMDB 삽입하거나 업데이트합니다. 직접 업데이트하는 대신 이 API를 CMDB 사용합니다.
- 부분 페이로드 처리
- 부분 커밋 처리
- 페이로드 내에서 중복 항목 제거
- 출력 요약 생성 중
비 CMDB 테이블 수집에 대한 자세한 내용은 다음 문서를 참조하십시오 IRE support for non-CMDB tables.
| 이름 | 유형 | 설명 |
|---|---|---|
| 입력 | 문자열 | 필수 입력 페이로드입니다. 추가하거나 업데이트할 구성 항목의 JSON 형식 문자열입니다. |
| 입력.항목 | 객체 배열 | 추가하거나 업데이트할 항목입니다. |
| 입력.항목.클래스 이름 | 문자열 | 필수 작성하거나 업데이트할 CI(구성 항목)의 클래스/테이블 이름(sys_class_name)입니다. 이 값은 cmdb_ci_linux_server 또는 cmdb_ci_win_server와 같은 모든 CMDB 클래스/테이블이 될 수 있습니다. |
| input.items.display_values | 객체 | 이 관련 항목에 대해 이름-값 쌍으로 만들거나 업데이트할 참조 필드입니다. 여기서 이름은 필드 이름이고 값은 참조된 표시 값입니다. 참조 필드에 대한 표시 값 대신 sys_id 사용하려면 이 매개변수 대신 매개변수에 input.items.lookup.values 정보를 전달합니다. 참조 필드 이름은 다음과 같이 사용자가 선택한 필드에 따라 달라집니다. |
| input.items.internal_id | 문자열 | 연결된 페이로드의 고유 항목 식별자입니다. 이 값은 모든 값이 될 수 있지만 페이로드 내에서 고유해야 합니다. |
| 입력.항목.조회 | 객체 배열 | 조회(조회 기반 식별)를 포함하는 최상위 항목을 식별합니다. 이러한 기록은 cmdb_ci에 대한 참조가 있는 조회 테이블을 기반으로 구성 항목을 식별하는 데 사용됩니다. 예: |
| 입력.항목.조회.클래스 이름 | 문자열 | 필수 작성하거나 업데이트할 CI(구성 항목)의 클래스/테이블 이름(sys_class_name)입니다. 이 값은 cmdb_serial_number 또는 cmdb_ci_network_adapter와 같은 모든 CMDB 클래스/테이블일 수 있습니다. |
| input.items.lookup.internal_id | 문자열 | 연결된 페이로드의 고유 조회 항목 식별자입니다. 이 값은 모든 값이 될 수 있지만 페이로드 내에서 고유해야 합니다. |
| input.items.lookup.sys_object_source_info | 객체 | 특정 데이터 소스에 대한 고유 CI 식별자를 정의합니다. 소스마다 동일한 CI에 대해 서로 다른 이름-값 쌍이 있을 수 있습니다. |
| input.items.lookup.sys_object_source_info.소스_피드 | 문자열 | 소스에 여러 피드가 있을 수 있는 경우 이 필드를 사용하여 이 항목을 보내는 피드의 이름을 제공합니다. 데이터 소스에서 이 피드 이름이 생성됩니다. 소스 피드를 고유하게 식별하는 모든 문자열이 될 수 있습니다. |
| input.items.lookup.sys_object_source_info.소스_이름 | 문자열 | CI 정보의 데이터 소스입니다. 이 값은 구성 항목 [cmdb_ci] 테이블의 discovery_source 필드에 대해 정의된 선택 값 중 하나여야 합니다. |
| input.items.lookup.sys_object_source_info.source_native_key | 문자열 | 소스에서 가져온 항목의 고유 키 ID입니다. 데이터 원본에서 이 키를 생성합니다. 항목에 고유한 문자열이 될 수 있습니다. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | 문자열 | 항목이 스캔된 UTC 날짜/시간입니다. 형식: YYYY-MM-DD hh:mm:ss |
| 입력.항목.조회.값 | 객체 | CI에 대한 필드 정보(이름-값 쌍)이며, 여기서 이름은 필드 이름입니다. 참조 필드를 업데이트할 때 값은 참조 sys_id이어야 합니다. 필드 이름과 유형은 다음과 같이 사용자가 선택한 필드에 따라 달라집니다. |
| 입력.항목.관련 | 객체 배열 | 관련 목록이 포함된 최상위 항목을 말합니다. 관련 항목 [cmdb_related_entry]의 규칙은 이 배열에 있을 수 있는 기록 유형을 정의합니다. 이러한 기록은 식별 중인 CI에 대한 참조가 있는 관련 테이블을 기반으로 항목을 추가하는 데 사용됩니다. 관련 테이블은 cmdb_ci 확장되거나 확장되지 않을 수 있습니다. 이러한 기록은 구성 항목을 식별하는 데 사용되지 않습니다. |
| 입력.항목.관련.클래스 이름 | 문자열 | 필수 작성하거나 업데이트할 CI(구성 항목)의 클래스/테이블 이름(sys_class_name)입니다. 이 값은 cmdb_software_instance 또는 cmdb_key_value과 같은 모든 CMDB 클래스/테이블이 될 수 있습니다. |
| input.items.related.internal_id | 문자열 | 이 페이로드의 이 관련 항목에 대한 고유 식별자입니다. 모든 값이 될 수 있지만 페이로드 내에서 고유해야 합니다. |
| input.items.related.sys_object_source_info | 객체 | 지정된 데이터 소스에 대한 고유 CI 식별자를 구성하는 객체입니다. 소스마다 동일한 CI에 대해 서로 다른 이름-값 쌍이 있을 수 있습니다. |
| input.items.related.sys_object_source_info.소스_피드 | 문자열 | 소스에 여러 피드가 있을 수 있는 경우 이 필드를 사용하여 이 항목을 보내는 피드의 이름을 제공합니다. 데이터 소스에서 이 피드 이름이 생성됩니다. 소스 피드를 고유하게 식별하는 모든 문자열이 될 수 있습니다. |
| input.items.related.sys_object_source_info.소스_이름 | 문자열 | CI 정보의 데이터 소스를 식별합니다. 이 값은 구성 항목 [cmdb_ci] 테이블의 discovery_source 필드에 대해 정의된 선택 값 중 하나여야 합니다. |
| input.items.related.sys_object_source_info.source_native_key | 문자열 | 관련 항목에 대한 소스의 고유 키/ID입니다. 데이터 원본에서 이 키를 생성합니다. 항목에 고유한 문자열이 될 수 있습니다. |
| input.items.related.sys_object_source_info.source_recency_timestamp | 문자열 | 항목이 스캔된 UTC 날짜 및 시간입니다. 형식: |
| 입력.항목.관련.값 | 객체 | 이 관련 항목에 대해 이름/값 쌍으로 작성하거나 업데이트할 필드입니다. 여기서 이름은 필드 이름입니다. 참조 필드의 경우 해당 값은 참조 필드여야 sys_id. 참조 필드에 대한 sys_id 대신 표시 값을 사용하려면 이 정보를 객체 대신 values 객체에 display_values 전달합니다. 필드 이름과 유형은 다음과 같이 사용자가 선택한 필드에 따라 달라집니다. |
| 입력.항목.설정 | 객체 | 허용되는 업데이트 유형을 정의하는 매개변수입니다. |
| input.items.settings.skipReclassificationRestrictionRules | 부울 | IRE가 페이로드 항목의 클래스와 일치하는 재분류 제한 규칙을 실행하지 않아야 하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| input.items.settings.updateWithoutDowngrade | 부울 | 이 항목에 대해 업데이트 및 다운그레이드가 모두 허용되는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| input.items.settings.updateWithoutSwitch | 부울 | 항목을 업데이트하고 클래스를 전환할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| input.items.settings.updateWithoutUpgrade | 부울 | 이 항목에 대해 업데이트와 업그레이드가 모두 허용되는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| input.items.sys_object_source_info입니다. | 객체 | 특정 소스의 고유 CI 식별자. |
| input.items.sys_object_source_info.소스_피드 | 문자열 | 소스에 여러 피드가 있을 수 있는 경우 이 필드를 사용하여 이 항목을 보내는 피드의 이름을 제공합니다. 데이터 소스에서 이 피드 이름이 생성됩니다. 소스 피드를 고유하게 식별하는 모든 문자열이 될 수 있습니다. |
| input.items.sys_object_source_info.소스_이름 | 문자열 | CI 정보의 데이터 소스입니다. 이 값은 구성 항목 [cmdb_ci] 테이블의 discovery_source 필드에 대해 정의된 선택 값 중 하나여야 합니다. |
| input.items.sys_object_source_info.source_native_key | 문자열 | 소스에서 가져온 항목의 고유 키/ID입니다. 데이터 원본에서 이 키를 생성합니다. 항목에 고유한 문자열이 될 수 있습니다. |
| input.items.sys_object_source_info.source_recency_timestamp | 문자열 | 항목이 스캔된 UTC 날짜 및 시간입니다. 형식: YYYY-MM-DD hh:mm:ss |
| 입력.항목.값 | 객체 | 이 관련 항목에 대해 이름/값 쌍으로 작성하거나 업데이트할 필드입니다. 여기서 이름은 필드 이름입니다. 참조 필드의 경우 해당 값은 참조 필드여야 sys_id. 참조 필드에 대한 sys_id 대신 표시 값을 사용하려면 이 정보를 객체 대신 values 객체에 display_values 전달합니다. 필드 이름과 유형은 다음과 같이 사용자가 선택한 필드에 따라 달라집니다. |
| input.referenceItems | 객체 배열 | 입력 페이로드의 항목 간 참조를 정의하는 목록입니다. |
| input.referenceItems.referenced | 문자열 | internal_id 다른 항목에서 참조하는 항목에 대해 정의된 값입니다. |
| input.referenceItems.referencedBy | 문자열 | internal_id 다른 항목을 참조하는 항목에 대해 정의됩니다. |
| input.referenceItems.referenceField | 문자열 | 항목의 클래스/테이블에 있는 참조 필드의 referencedBy 이름입니다. |
| 입력.관계 | 객체 배열 | 입력 페이로드의 항목 간 관계를 지정하는 목록입니다. 이 배열의 객체는 두 가지 형식 중 하나를 사용할 수 있습니다.
|
| 입력.관계.하위 | 번호 | 관계(items, items.related 또는 items.lookup)에서 하위 항목을 나타내는 배열에 있는 items CI 객체의 정수 인덱스입니다. |
| input.relations.child_id | 문자열 | internal_id 관계의 하위 항목(items, items.related 또는 items.lookup)입니다. |
| 입력.관계.상위 | 번호 | 배열(items, items.related 또는 items.lookup)에 있는 상위 항목의 정수 인덱스입니다 items . |
| input.relations.parent_id | 문자열 | internal_id 관계의 상위 항목(items, items.related 또는 items.lookup)입니다. |
| input.relations.sys_rel_source_info입니다. | 객체 | 관계에 대한 검색 소스 정보입니다. 비의존성 관계의 경우 이 정보는 관계 소스 [sys_rel_source] 테이블에 저장됩니다( identifyCIEnhanced() 또는 identifyCI() 메서드에 대해 유지되지 않음). 데이터 유형: 객체 |
| input.relations.sys_rel_source_info.소스_이름 | 문자열 | 검색 소스 이름입니다. 기본값: API 메서드 매개변수에 전달된 검색 소스입니다. |
| input.relations.sys_rel_source_info.소스_피드 | 문자열 | 검색 소스 내에서 하위 검색/검사에 해당하는 문자열입니다. 기본값: '알 수 없음'은 sys_rel_source 테이블에서 기록을 만들 때 source_feed 열에 저장됩니다. |
| 입력.관계.유형 | 문자열 | 상위 항목과 하위 항목 간에 존재하는 관계의 유형입니다. 이 값은 CI 관계 유형 [cmdb_rel_type] 테이블의 이름 필드 값이어야 합니다. |
| 옵션 | 객체 | 선택 사항이지만 {} 또는 null을 전달해야 합니다. 기능을 사용하거나 사용하지 않도록 설정하는 옵션입니다. 주: 기본적으로 또는 true로 설정된 경우 partial_payloads false로 설정된 경우에도 이러한 기능은 부분 페이로드 기능에 필수적이므로 둘 다 partial_commits 활성화 deduplicate_payloads 됩니다. |
| options.deduplicate_payloads | 부울 | 중복 항목이 병합되는지 또는 오류로 간주되는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: true |
| options.generate_summary | 부울 | 반환된 결과에 요약 정보가 포함되어 있는지 여부를 나타내는 플래그입니다. 반환된 요약 정보에 대한 자세한 내용은 반환 결과 테이블에서 를 참조하십시오 <String>.summary . 유효한 값은 다음과 같습니다.
기본값: false |
| options.partial_commits | 부울 | 부분 커밋 지원을 사용할 수 있는지 여부를 나타내는 플래그입니다. 부분 커밋에 대한 자세한 내용은 향상된 IRE 기능을 참조하세요. 유효한 값은 다음과 같습니다.
기본값: true |
| options.partial_payloads | 부울 | 부분 페이로드 지원이 활성화되었는지 여부를 나타내는 플래그입니다. 부분 페이로드에 대한 자세한 내용은 향상된 IRE 기능 및 IRE 데이터 소스 규칙 생성을 참조하세요. 유효한 값은 다음과 같습니다.
기본값: true |
| options.skip_updating_last_scan_to_now | 부울 | sys_object_source의 last_scan 시간 필드 업데이트를 건너뛸지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: glide.identification_engine.skip_updating_last_scan_to_now 시스템 속성의 값을 사용합니다. |
| options.skip_updating_source_last_discovered_to_now | 부울 | 구성 항목 [cmdb_ci] 테이블의 discovery_source 및 last_discovered 필드 업데이트를 건너뛸지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: glide.identification_engine.skip_updating_source_last_discovered_to_now 시스템 속성의 값을 사용합니다. |
| 소스 | 문자열 | CI 정보의 데이터 소스입니다. 이 값은 구성 항목 [cmdb_ci] 테이블의 discovery_source 필드에 대해 정의된 선택 값 중 하나여야 합니다. |
| 매개변수 | 설명 |
|---|---|
| <문자열> | 입력 문자열의 구성 항목에 대한 결과 목록인 JSON 형식의 문자열입니다. 데이터 유형: 문자열 |
| <String>.additionalCommittedItems | 현재 페이로드의 IRE 처리 중에 커밋되었지만 현재 입력 페이로드에 없는 CI 목록입니다. 데이터 형식: 객체 배열 |
| <String>.additionalCommittedItems.className | 이 추가 CI의 Sys_class_name입니다. 데이터 유형: 문자열 |
| <String>.additionalCommittedItems.errorCount | 이 추가 CI를 처리하는 동안 발생한 오류 수입니다. 데이터 유형: 숫자 |
| <String>.additionalCommittedItems.errors | 이 추가 CI를 처리하는 동안 발생한 오류를 설명하는 객체의 배열입니다. 데이터 유형: 배열 |
| <String>.additionalCommittedItems.errors.error | 추가 CI를 처리하는 동안 발생한 오류의 유형입니다. 데이터 유형: 문자열 |
| <String>.additionalCommittedItems.errors.message | 추가 CI를 처리하는 동안 발생한 오류 메시지입니다. 데이터 유형: 문자열 |
| <String>.additionalCommittedItems.identificationAttempts | 각 개체가 이 추가 CI를 식별하기 위한 시도를 설명하는 개체의 배열입니다. 데이터 형식: 객체 배열 |
| <String>.additionalCommittedItems.identificationAttempts.attemptResult | 이 추가 CI 식별 시도의 결과입니다. 데이터 유형: 문자열 가능한 값:
|
| <String>.additionalCommittedItems.identificationAttempts.attributes | 추가 CI 식별 시도 중에 사용되는 CI 식별자 항목 속성입니다. 데이터 유형: 배열 속성 이름과 유형은 다음과 같이 요청 본문 데이터와 사용 중인 식별자에 따라 달라집니다. |
| <String>.additionalCommittedItems.identificationAttempts.hybridEntryCiAttributes | 추가 CI 식별 시도 중에 사용되는 CI 식별자 항목 속성의 배열입니다. 데이터 유형: 배열 속성 이름과 유형은 다음과 같이 요청 본문 데이터와 사용 중인 식별자에 따라 달라집니다. |
| <String>.additionalCommittedItems.identificationAttempts.identifierName | 이 추가 CI 식별 시도에 사용되는 식별자 규칙입니다. 데이터 유형: 문자열 |
| <String>.additionalCommittedItems.identificationAttempts.searchOnTable | 이 추가 CI 식별 시도를 위해 검색된 테이블의 이름입니다. 데이터 유형: 문자열 |
| <String>.additionalCommittedItems.identifierEntrySysId | 이 추가 CI를 식별하는 데 사용되는 식별자 규칙의 Sys_id입니다. 주목할 만한 값 - 알 수 없음: 이 추가 CI를 식별하지 못했습니다. 자세한 내용은 errors를 참조하십시오. |
| <String>.additionalCommittedItems.inputIndices | 이 추가 CI에 해당하는 요청 본문 items 배열의 CI 인덱스 값입니다. 데이터 형식: 숫자 배열 |
| <String>.additionalCommittedItems.markers | 내부에 사용할 마커 값입니다. 데이터 유형: 배열 |
| <String>.additionalCommittedItems.mergedPayloads | 이 추가 CI를 처리하는 동안 병합된 CMDB IRE 부분 페이로드[cmdb_ire_partial_payloads] 테이블의 부분 페이로드 값을 Sys_id. 데이터 유형: 배열 |
| <String>.additionalCommittedItems.operation | 이 추가 CI에 대해 수행된 작업입니다. 데이터 유형: 문자열 가능한 값:
|
| <String>.additionalCommittedItems.sysId | 식별을 통해 이 추가 CI에 대한 Sys_id 찾았습니다. 데이터 유형: 문자열 주목할 만한 값 - 알 수 없음: 이 추가 CI를 식별하지 못했습니다. 자세한 내용은 errors를 참조하십시오. |
| <String>.additionalCommittedItems.warnings | 이 추가 CI를 처리하는 동안 발생한 경고에 대한 설명입니다. 데이터 형식: 객체 배열 |
| <String>.additionalCommittedItems.warnings.error | 이 추가 CI를 처리하는 동안 발생한 경고의 유형입니다. 데이터 유형: 문자열 |
| <String>.additionalCommittedItems.warnings.message | 이 추가 CI를 처리하는 동안 발생한 경고 메시지입니다. 데이터 유형: 문자열 |
| <String>.additionalCommittedRelations | 삽입하거나 업데이트할 요청 본문 relations 목록에 포함되지 않은 종속 관계 CI에 대한 설명입니다. 데이터 형식: 객체 배열 |
| <String>.additionalCommittedRelations.className | 이 추가 종속 관계 CI의 sys_class_name입니다. 데이터 유형: 문자열 지원되는 값만 cmdb_rel_ci: CI 관계 테이블입니다. |
| <String>.additionalCommittedRelations.errorCount | 이 추가 종속 관계 CI를 처리하는 동안 발생한 오류 수입니다. 데이터 유형: 숫자 |
| <String>.additionalCommittedRelations.errors | 이 추가 종속 관계 CI를 처리하는 동안 발생한 오류에 대한 설명입니다. 데이터 형식: 객체 배열 |
| <String>.additionalCommittedRelations.errors.error | 추가 종속 관계 CI를 처리하는 동안 발생한 오류의 유형입니다. 데이터 유형: 문자열 |
| <String>.additionalCommittedRelations.errors.message | 이 추가 종속 관계 CI를 처리하는 동안 발생한 오류 메시지입니다. 데이터 유형: 문자열 |
| <String>.additionalCommittedRelations.inputIndices | 이 추가 종속 관계 CI에 해당하는 요청 본문 relations 배열의 종속 관계 CI 객체에 대한 인덱스 값입니다. 데이터 유형: 배열 |
| <String>.additionalCommittedRelations.markers | 내부에 사용할 마커 값입니다. 데이터 유형: 배열 |
| <String>.additionalCommittedRelations.mergedPayloadIds | 이 추가 종속 관계 CI를 처리하는 동안 병합된 이 CI에 대해 병합된 CMDB IRE 부분 페이로드[cmdb_ire_partial_payloads] 테이블의 부분 페이로드에 대한 Sys_id 값입니다. 데이터 유형: 배열 |
| <String>.additionalCommittedRelations.operation | 추가 종속 관계 CI에 대해 수행된 운영입니다. 가능한 값:
데이터 유형: 문자열 |
| <String>.hasError | 항목 또는 관계에 오류가 있는지 여부를 나타내는 플래그입니다. 데이터 유형: 부울 |
| <String>.hasWarning | 항목 또는 관계에 경고가 있는지 여부를 나타내는 플래그입니다. 데이터 유형: 부울 |
| <String>.items | 생성되거나 업데이트된 CI에 대한 설명입니다. 데이터 형식: 객체 배열 |
| <String>.items.additionalRelatedItems | 처리되었지만 입력 페이로드의 일부로 제공되지 않은 추가 조회 및 관련 항목에 대한 정보입니다. 이러한 항목은 부분 페이로드에서 가져온 것입니다. 데이터 형식: 객체 배열 |
| <String>.items.additionalRelatedItems.className | 작성되거나 업데이트된 CI의 클래스/테이블 이름(sys_class_name)입니다. 데이터 유형: 문자열 |
| <String>.items.additionalRelatedItems.inputIndices | 이 관련 항목에 해당하는 요청 본문 items 배열의 CI 인덱스 값입니다. 데이터 형식: 숫자 배열 |
| <String>.items.additionalRelatedItems.mergedPayloadIds | 관련 항목에 병합된 부분 페이로드의 sys_ids 목록입니다. CMDB IRE 부분 페이로드 [cmdb_ire_partial_payloads] 테이블에 있습니다. 데이터 유형: 배열 |
| <String>.items.additionalRelatedItems.operation | 운영 유형입니다. 가능한 값:
데이터 유형: 문자열 |
| <String>.items.additionalRelatedItems.sysId | 업데이트되거나 생성된 CI의 Sys_id입니다. 데이터 유형: 문자열 |
| <String>.items.className | 작성되거나 업데이트된 CI의 클래스/테이블 이름(sys_class_name)입니다. 데이터 유형: 문자열 |
| <String>.items.duplicateIndices | 현재 항목과 중복되는 CI의 인덱스 목록입니다. 데이터 유형: 배열 |
| <String>.items.errorCount | 항목을 처리하는 동안 발생한 오류 수입니다. 데이터 유형: 숫자 |
| <String>.items.errors | 이 CI를 처리하는 동안 발생한 오류 목록입니다. 데이터 형식: 객체 배열 |
| <문자열>.items.errors.error | CI를 처리하는 동안 발생한 오류의 유형입니다. 데이터 유형: 문자열 |
| <String>.items.errors.message | 오류와 관련된 오류 메시지입니다. 데이터 유형: 문자열 |
| <String>.items.identificationAttempts | CI를 식별하기 위해 시도한 목록입니다. 데이터 형식: 객체 배열 |
| <String>.items.identificationAttempts.attemptResult | CI를 식별하려는 시도의 결과입니다. 가능한 값:
데이터 유형: 문자열 |
| <String>.items.identificationAttempts.attributes | 식별 프로세스 중에 사용된 CI 식별자 항목 속성의 목록입니다. 데이터 유형: 배열 속성 이름과 유형은 다음과 같이 요청 본문 데이터와 사용 중인 식별자에 따라 달라집니다. |
| <String>items.identificationAttempts.hybridEntryCiAttributes | 식별 프로세스 중에 사용된 CI 식별자 항목 속성의 목록입니다. 데이터 유형: 배열 속성 이름과 유형은 다음과 같이 요청 본문 데이터와 사용 중인 식별자에 따라 달라집니다. |
| <String>.items.identificationAttempts.identifierName | 이 CI 식별 시도에 사용되는 식별자 규칙입니다. 데이터 유형: 문자열 |
| <String>.items.identificationAttempts.searchOnTable | 식별 프로세스 중에 검색된 테이블의 이름입니다. 데이터 유형: 문자열 |
| <String>.items.identifierEntrySysId | CI를 식별하는 데 사용되는 식별자 규칙의 Sys_id입니다. 식별자 항목 [cmdb_identifier_entry] 테이블에 있습니다. 데이터 유형: 문자열 |
| <String>.items.incompleteSysIds | 항목에 오류가 있고 미완료 페이로드로 저장된 경우 이 매개변수에는 CMDB IRE 미완료 페이로드[cmdb_ire_incomplete_payloads] 테이블의 기록 sys_id 포함됩니다. 데이터 유형: 문자열 |
| <String>.items.info | 항목 처리에 대한 추가 정보입니다. 데이터 형식: 객체 배열 |
| <String>.items.info.code | 건너뛴 재분류 유형입니다. 가능한 값:
데이터 유형: 문자열 |
| <문자열>.items.info.message | 재분류를 건너뛰는 이유에 대한 추가 인사이트를 제공하는 메시지입니다. 데이터 유형: 문자열 |
| <String>.items.info.ruleSysId | 일치하는 재분류 제한 규칙의 Sys_id입니다. IRE가 재분류 제한 규칙으로 인해 재분류를 건너뛰는 경우에만 적용할 수 있습니다. 페이로드 또는 전역 플래그로 인해 재분류를 건너뛰면 이 값이 비어 있습니다. 데이터 유형: 문자열 |
| <String>.items.inputIndices | 해당 입력 CI의 인덱스입니다. 최상위 항목의 경우 정수 목록입니다. 관련 또는 조회 CI의 경우 JSON 객체 목록입니다. 데이터 형식: 숫자 배열 |
| <String>.items.maskedAttributes | 조정 규칙에 정의된 대로 신뢰할 수 없는 데이터 소스에 의한 업데이트를 건너뛴 속성 목록입니다. 데이터 유형: 배열 |
| <String>.items.operation | 발생한 작업입니다. 가능한 값:
데이터 유형: 문자열 |
| <String>.items.partialSysIds | 항목에 오류가 있고 부분 페이로드로 저장된 경우 이 매개변수에는 부분 페이로드 기록의 sys_id 포함됩니다. 데이터 유형: 문자열 |
| <String>.items.relatedItems | 요청 본문 items.lookup 배열에서 관련 CI(테이블 조회 CI)를 설명하는 JSON 객체 목록입니다. 데이터 형식: 객체 배열 |
| <String>.items.relatedItems.className | 관련 항목의 클래스/테이블 이름(sys_class_name)입니다. 데이터 유형: 문자열 |
| <String>.items.relatedItems.errors | 관련 항목을 처리하는 동안 발생한 오류 목록입니다. 데이터 형식: 객체 배열 |
| <String>.items.relatedItems.errors.error | 관련 항목을 처리하는 동안 발생한 오류의 유형입니다. 데이터 유형: 문자열 |
| <String>.items.relatedItems.errors.message | 오류와 관련된 오류 메시지입니다. 데이터 유형: 문자열 |
| <String>.items.relatedItems.errorCount | 관련 항목을 처리하는 동안 탐지된 오류 수입니다. 데이터 유형: 숫자 |
| <String>.items.relatedItems.incompleteSysIds | 관계에 오류가 있고 불완전한 페이로드로 저장된 경우 이 값은 CMDB IRE 불완전 페이로드[cmdb_ire_incomplete_payloads] 테이블의 기록 sys_id입니다. 데이터 유형: 문자열 |
| <String>.items.relatedItems.inputIndices | 해당 입력 항목의 인덱스입니다. 최상위 항목의 경우 정수 목록입니다. 관련 항목 또는 조회 항목의 경우 JSON 객체 목록입니다. 데이터 형식: 숫자로 구성된 배열 또는 개체로 구성된 배열 |
| <String>.items.relatedItems.inputIndices.mainIndex | 관련 항목의 CI 상위에 해당하는 요청 본문 items 배열의 인덱스 값입니다. 데이터 유형: 숫자 |
| <String>.items.relatedItems.inputIndices.subIndex | 관련 항목에 해당하는 요청 본문 items.lookup 배열의 인덱스 값입니다. 데이터 유형: 숫자 |
| <String>.items.relatedItems.mergedPayloadIds | 처리 중에 CI에 병합된 부분 페이로드의 sys_ids 목록입니다. 데이터 유형: 배열 |
| <String>.items.relatedItems.operation | 발생한 작업입니다. 가능한 값:
데이터 유형: 문자열 |
| <String>.items.relatedItems.partialSysIds | 관련 항목에 오류가 있고 부분 페이로드로 저장된 경우 여기에는 CMDB IRE 부분 페이로드[cmdb_ire_partial_payloads] 테이블에 있는 관련 기록의 sys_ids 목록이 포함됩니다. 데이터 유형: 배열 |
| <String>.items.relatedItems.sysId | 관련 항목의 Sys_id입니다. 데이터 유형: 문자열 |
| <String>.items.relatedItems.warningCount | 관련 항목을 처리할 때 발생한 경고 수입니다. 데이터 유형: 숫자 |
| <String>.items.relatedItems.warnings | 관련 항목을 처리하는 동안 발생한 경고에 대한 설명입니다. 데이터 형식: 객체 배열 |
| <String>.items.relatedItems.warnings.error | 관련 항목을 처리하는 동안 발생한 경고의 유형입니다. 데이터 유형: 문자열 |
| <String>.items.relatedItems.warnings.message | 경고와 관련된 메시지입니다. 데이터 유형: 문자열 |
| <String>.items.relatedSysIds | 관련 항목의 조회 기반 식별 중에 사용된 CI의 sys_id 값 목록입니다. 데이터 유형: 문자열 |
| <문자열>.items.sys_id | 업데이트되거나 생성된 CI의 Sys_id입니다. 데이터 유형: 문자열 |
| <문자열>.관계 | 요청 본문 relations 배열의 종속 관계 CI에 대한 설명입니다. 데이터 형식: 객체 배열 |
| <문자열>.relations.className | 이 종속 관계 CI의 Sys_class_name입니다. 지원되는 값만 cmdb_rel_ci: CI 관계 테이블입니다. 데이터 유형: 문자열 |
| <String>.relations.errorCount | 종속 관계 CI를 처리할 때 발생한 오류 수입니다. 데이터 유형: 숫자 |
| <문자열>.relations.errors | 이 종속 관계 CI를 처리하는 동안 발생한 오류를 설명하는 목록입니다. 데이터 형식: 객체 배열 |
| <문자열>.relations.errors.error | 종속 관계 CI를 처리하는 동안 발생한 오류의 유형입니다. 데이터 유형: 문자열 |
| <문자열>.relations.errors.message | 이 종속 관계 CI를 처리하는 동안 발생한 오류 메시지입니다. 데이터 유형: 문자열 |
| <String>.relations.incompleteSysIds | 관계에 오류가 있고 불완전한 페이로드로 저장된 경우 이 값은 CMDB IRE 불완전 페이로드[cmdb_ire_incomplete_payloads] 테이블의 기록 sys_id입니다. 데이터 유형: 문자열 |
| <String>.relations.inputIndices | 이 종속 관계 CI에 해당하는 요청 본문 relations 배열의 종속 관계 CI 객체에 대한 인덱스입니다. 데이터 유형: 배열 |
| <String>.relations.operation | 수행된 작업의 유형입니다. 가능한 값:
데이터 유형: 문자열 |
| <String>.relations.partialSysIds | 관계에 오류가 있고 부분 페이로드로 저장된 경우 이 값은 CMDB IRE 부분 페이로드[cmdb_ire_partial_payloads] 테이블의 기록 sys_id입니다. 데이터 유형: 문자열 |
| <String>.relations.sysId | 종속 관계 CI의 Sys_id입니다. 데이터 유형: 문자열 |
| <String>.summary | 클래스당 삽입, 업데이트 된 항목 수에 대한 통계를 제공하는 JSON 속성 목록입니다. 데이터 유형: 배열 |
| <String>.summary.<class_name> | 특정 클래스에 대한 통계입니다. 데이터 유형: 객체 |
| <String>.summary.<class_name>.additionalInsertedItemCount | 부분 페이로드 처리로 인해 삽입된 항목 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.errorCount | 항목을 처리할 때 발생하는 오류 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.incompleteItemCount | CMDB IRE 불완전 페이로드[cmdb_ire_incomplete_payloads] 테이블에 삽입된 항목 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.insertedItemCount | 생성된 항목 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.partialItemCount | 부분 페이로드 테이블 [cmdb_ire_partial_payloads]에 저장된 항목 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.skippedItemCount | 건너뛴 항목 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.unchangedItemCount | 항목이 있지만 수정되지 않은 항목 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.updatedItemCount | 업데이트된 항목 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.warningCount | 처리 시 경고를 생성한 항목 수입니다. 데이터 유형: 숫자 |
이 예는 여러 CI 항목을 임포트하는 방법을 보여줍니다.
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"chassis_type": "Desktop",
"os": "Windows 2012 R2 Datacenter",
"name": "Windows2012Server1",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"cpu_count": "1"
},
"lookup": [
{
"values": {
"valid": "true",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"serial_number_type": "bios"
},
"className": "cmdb_serial_number"
},
{
"values": {
"valid": "true",
"serial_number": "3311-9736-4988-9744-1749-4183-41",
"serial_number_type": "chassis"
},
"className": "cmdb_serial_number"
}],
"internal_id": "16777219",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "16777219",
"source_recency_timestamp": "2019-10-18 08:31:23"
}},
{
"className": "cmdb_ci_spkg",
"values": {
"name": "Windows 2012 R2 Datacenter",
"key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL"
},
"related": [
{
"internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219",
"values": {
"name": "Windows 2012 R2 Datacenter-SAMLABVM52"
},
"className": "cmdb_software_instance",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}}],
"settings" : {
"skipReclassificationRestrictionRules" : "false",
"updateWithoutDowngrade" : "true",
"updateWithoutUpgrade" : "true",
"updateWithoutSwitch" : "true"
}},
{
"className": "cmdb_ci_app_server_tomcat",
"values": {
"running_process_key_parameters": "/opt/OV/nonOV/tomcat/b/temp org.apache.catalina.startup.Bootstrap start",
"install_directory": "/opt/OV/nonOV/tomcat/b",
"name": "Tomcat@hpom9:3443",
"server_port": "8006",
"sys_class_name": "cmdb_ci_app_server_tomcat"
},
"internal_id": "tomcat_id"
}],
"relations": [
{
"parent_id": "tomcat_id",
"child_id": "16777219",
"type": "Runs on::Runs"
}],
"referenceItems": [
{
"referenceField": "installed_on",
"referenced": "16777219",
"referencedBy": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}]};
var input = JSON.stringify((payload));
var output = sn_cmdb.IdentificationEngine.createOrUpdateCIEnhanced('ServiceNow', input, {});
gs.info(JSON.stringify(JSON.parse(output), null, 2));
출력:
{
"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(문자열 jsonString)
데이터베이스에서 작업을 커밋하지 않고 지정된 페이로드로 수행할 작업(삽입/업데이트)을 결정합니다.
이는 createOrUpdateCI()와 마찬가지로 작동하지만 결과를 커밋하지는 않습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| json문자열 | 문자열 | 추가하거나 업데이트할 구성 항목의 JSON 형식 문자열입니다. 각 입력 문자열은 'items: [{}], relations:[{}]' 형식이며, 여기서 items 및 관계 목록 내의 각 항목에는 이름-값 쌍이 포함되어 있습니다. 항목 목록 내에서 가능한 이름-값 쌍은 다음과 같습니다.
관계 목록 내에서 가능한 이름-값 쌍은 다음과 같습니다.
|
| 유형 | 설명 |
|---|---|
| 문자열 | 결과 목록인 JSON 형식의 문자열입니다. 각 결과 문자열은 'items: [{}], relations:[{}]' 형식이며, 여기서 items 및 relations 목록 내의 각 항목에는 이름-값 쌍이 포함됩니다. 항목 목록 내에서 가능한 이름-값 쌍은 다음과 같습니다.
관계 목록 내에서 가능한 이름-값 쌍은 다음과 같습니다.
|
구성 항목을 재분류하는 방법은 다음과 같습니다.
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));
출력:
{
"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(문자열 소스, 문자열 입력, 개체 옵션)
데이터베이스에서 구성 관리 데이터베이스(CMDB) 작업을 커밋하지 않고 지정된 페이로드(요청 본문)로 수행할 작업(삽입/업데이트)을 결정합니다.
이 메서드를 사용하여 페이로드 제출을 시뮬레이션합니다.
- 부분 페이로드
- 경고 또는 오류가 있는 항목의 경우 항목 작업이 INSERT_AS_PARTIAL되었는지 또는 INSERT_INCOMPLETE되었는지 나타냅니다.
- 기존 부분 페이로드와 병합된 부분 페이로드의 sys_ids 반환합니다.
- 페이로드 중복 제거 기능을 지원합니다.
- 요약을 생성합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 입력 | 문자열 | 필수 입력 페이로드입니다. 추가하거나 업데이트할 구성 항목의 JSON 형식 문자열입니다. |
| 입력.항목 | 객체 배열 | 추가하거나 업데이트할 항목입니다. |
| 입력.항목.클래스 이름 | 문자열 | 필수 작성하거나 업데이트할 CI(구성 항목)의 클래스/테이블 이름(sys_class_name)입니다. 이 값은 cmdb_ci_linux_server 또는 cmdb_ci_win_server와 같은 모든 CMDB 클래스/테이블이 될 수 있습니다. |
| input.items.display_values | 객체 | 이 관련 항목에 대해 이름-값 쌍으로 만들거나 업데이트할 참조 필드입니다. 여기서 이름은 필드 이름이고 값은 참조된 표시 값입니다. 참조 필드에 대한 표시 값 대신 sys_id 사용하려면 이 매개변수 대신 매개변수에 input.items.lookup.values 정보를 전달합니다. 참조 필드 이름은 다음과 같이 사용자가 선택한 필드에 따라 달라집니다. |
| input.items.internal_id | 문자열 | 연결된 페이로드의 고유 항목 식별자입니다. 이 값은 모든 값이 될 수 있지만 페이로드 내에서 고유해야 합니다. |
| 입력.항목.조회 | 객체 배열 | 조회(조회 기반 식별)를 포함하는 최상위 항목을 식별합니다. 이러한 기록은 cmdb_ci에 대한 참조가 있는 조회 테이블을 기반으로 구성 항목을 식별하는 데 사용됩니다. 예: |
| 입력.항목.조회.클래스 이름 | 문자열 | 필수 작성하거나 업데이트할 CI(구성 항목)의 클래스/테이블 이름(sys_class_name)입니다. 이 값은 cmdb_serial_number 또는 cmdb_ci_network_adapter와 같은 모든 CMDB 클래스/테이블일 수 있습니다. |
| input.items.lookup.internal_id | 문자열 | 연결된 페이로드의 고유 조회 항목 식별자입니다. 이 값은 모든 값이 될 수 있지만 페이로드 내에서 고유해야 합니다. |
| input.items.lookup.sys_object_source_info | 객체 | 특정 데이터 소스에 대한 고유 CI 식별자를 정의합니다. 소스마다 동일한 CI에 대해 서로 다른 이름-값 쌍이 있을 수 있습니다. |
| input.items.lookup.sys_object_source_info.소스_피드 | 문자열 | 소스에 여러 피드가 있을 수 있는 경우 이 필드를 사용하여 이 항목을 보내는 피드의 이름을 제공합니다. 데이터 소스에서 이 피드 이름이 생성됩니다. 소스 피드를 고유하게 식별하는 모든 문자열이 될 수 있습니다. |
| input.items.lookup.sys_object_source_info.소스_이름 | 문자열 | CI 정보의 데이터 소스입니다. 이 값은 구성 항목 [cmdb_ci] 테이블의 discovery_source 필드에 대해 정의된 선택 값 중 하나여야 합니다. |
| input.items.lookup.sys_object_source_info.source_native_key | 문자열 | 소스에서 가져온 항목의 고유 키 ID입니다. 데이터 원본에서 이 키를 생성합니다. 항목에 고유한 문자열이 될 수 있습니다. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | 문자열 | 항목이 스캔된 UTC 날짜/시간입니다. 형식: YYYY-MM-DD hh:mm:ss |
| 입력.항목.조회.값 | 객체 | CI에 대한 필드 정보(이름-값 쌍)이며, 여기서 이름은 필드 이름입니다. 참조 필드를 업데이트할 때 값은 참조 sys_id이어야 합니다. 필드 이름과 유형은 다음과 같이 사용자가 선택한 필드에 따라 달라집니다. |
| 입력.항목.관련 | 객체 배열 | 관련 목록이 포함된 최상위 항목을 말합니다. 관련 항목 [cmdb_related_entry]의 규칙은 이 배열에 있을 수 있는 기록 유형을 정의합니다. 이러한 기록은 식별 중인 CI에 대한 참조가 있는 관련 테이블을 기반으로 항목을 추가하는 데 사용됩니다. 관련 테이블은 cmdb_ci 확장되거나 확장되지 않을 수 있습니다. 이러한 기록은 구성 항목을 식별하는 데 사용되지 않습니다. |
| 입력.항목.관련.클래스 이름 | 문자열 | 필수 작성하거나 업데이트할 CI(구성 항목)의 클래스/테이블 이름(sys_class_name)입니다. 이 값은 cmdb_software_instance 또는 cmdb_key_value과 같은 모든 CMDB 클래스/테이블이 될 수 있습니다. |
| input.items.related.internal_id | 문자열 | 이 페이로드의 이 관련 항목에 대한 고유 식별자입니다. 모든 값이 될 수 있지만 페이로드 내에서 고유해야 합니다. |
| input.items.related.sys_object_source_info | 객체 | 지정된 데이터 소스에 대한 고유 CI 식별자를 구성하는 객체입니다. 소스마다 동일한 CI에 대해 서로 다른 이름-값 쌍이 있을 수 있습니다. |
| input.items.related.sys_object_source_info.소스_피드 | 문자열 | 소스에 여러 피드가 있을 수 있는 경우 이 필드를 사용하여 이 항목을 보내는 피드의 이름을 제공합니다. 데이터 소스에서 이 피드 이름이 생성됩니다. 소스 피드를 고유하게 식별하는 모든 문자열이 될 수 있습니다. |
| input.items.related.sys_object_source_info.소스_이름 | 문자열 | CI 정보의 데이터 소스를 식별합니다. 이 값은 구성 항목 [cmdb_ci] 테이블의 discovery_source 필드에 대해 정의된 선택 값 중 하나여야 합니다. |
| input.items.related.sys_object_source_info.source_native_key | 문자열 | 관련 항목에 대한 소스의 고유 키/ID입니다. 데이터 원본에서 이 키를 생성합니다. 항목에 고유한 문자열이 될 수 있습니다. |
| input.items.related.sys_object_source_info.source_recency_timestamp | 문자열 | 항목이 스캔된 UTC 날짜 및 시간입니다. 형식: |
| 입력.항목.관련.값 | 객체 | 이 관련 항목에 대해 이름/값 쌍으로 작성하거나 업데이트할 필드입니다. 여기서 이름은 필드 이름입니다. 참조 필드의 경우 해당 값은 참조 필드여야 sys_id. 참조 필드에 대한 sys_id 대신 표시 값을 사용하려면 이 정보를 객체 대신 values 객체에 display_values 전달합니다. 필드 이름과 유형은 다음과 같이 사용자가 선택한 필드에 따라 달라집니다. |
| 입력.항목.설정 | 객체 | 허용되는 업데이트 유형을 정의하는 매개변수입니다. |
| input.items.settings.skipReclassificationRestrictionRules | 부울 | IRE가 페이로드 항목의 클래스와 일치하는 재분류 제한 규칙을 실행하지 않아야 하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| input.items.settings.updateWithoutDowngrade | 부울 | 이 항목에 대해 업데이트 및 다운그레이드가 모두 허용되는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| input.items.settings.updateWithoutSwitch | 부울 | 항목을 업데이트하고 클래스를 전환할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| input.items.settings.updateWithoutUpgrade | 부울 | 이 항목에 대해 업데이트와 업그레이드가 모두 허용되는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| input.items.sys_object_source_info입니다. | 객체 | 특정 소스의 고유 CI 식별자. |
| input.items.sys_object_source_info.소스_피드 | 문자열 | 소스에 여러 피드가 있을 수 있는 경우 이 필드를 사용하여 이 항목을 보내는 피드의 이름을 제공합니다. 데이터 소스에서 이 피드 이름이 생성됩니다. 소스 피드를 고유하게 식별하는 모든 문자열이 될 수 있습니다. |
| input.items.sys_object_source_info.소스_이름 | 문자열 | CI 정보의 데이터 소스입니다. 이 값은 구성 항목 [cmdb_ci] 테이블의 discovery_source 필드에 대해 정의된 선택 값 중 하나여야 합니다. |
| input.items.sys_object_source_info.source_native_key | 문자열 | 소스에서 가져온 항목의 고유 키/ID입니다. 데이터 원본에서 이 키를 생성합니다. 항목에 고유한 문자열이 될 수 있습니다. |
| input.items.sys_object_source_info.source_recency_timestamp | 문자열 | 항목이 스캔된 UTC 날짜 및 시간입니다. 형식: YYYY-MM-DD hh:mm:ss |
| 입력.항목.값 | 객체 | 이 관련 항목에 대해 이름/값 쌍으로 작성하거나 업데이트할 필드입니다. 여기서 이름은 필드 이름입니다. 참조 필드의 경우 해당 값은 참조 필드여야 sys_id. 참조 필드에 대한 sys_id 대신 표시 값을 사용하려면 이 정보를 객체 대신 values 객체에 display_values 전달합니다. 필드 이름과 유형은 다음과 같이 사용자가 선택한 필드에 따라 달라집니다. |
| input.referenceItems | 객체 배열 | 입력 페이로드의 항목 간 참조를 정의하는 목록입니다. |
| input.referenceItems.referenced | 문자열 | internal_id 다른 항목에서 참조하는 항목에 대해 정의된 값입니다. |
| input.referenceItems.referencedBy | 문자열 | internal_id 다른 항목을 참조하는 항목에 대해 정의됩니다. |
| input.referenceItems.referenceField | 문자열 | 항목의 클래스/테이블에 있는 참조 필드의 referencedBy 이름입니다. |
| 입력.관계 | 객체 배열 | 입력 페이로드의 항목 간 관계를 지정하는 목록입니다. 이 배열의 객체는 두 가지 형식 중 하나를 사용할 수 있습니다.
|
| 입력.관계.하위 | 번호 | 관계(items, items.related 또는 items.lookup)에서 하위 항목을 나타내는 배열에 있는 items CI 객체의 정수 인덱스입니다. |
| input.relations.child_id | 문자열 | internal_id 관계의 하위 항목(items, items.related 또는 items.lookup)입니다. |
| 입력.관계.상위 | 번호 | 배열(items, items.related 또는 items.lookup)에 있는 상위 항목의 정수 인덱스입니다 items . |
| input.relations.parent_id | 문자열 | internal_id 관계의 상위 항목(items, items.related 또는 items.lookup)입니다. |
| input.relations.sys_rel_source_info입니다. | 객체 | 관계에 대한 검색 소스 정보입니다. 비의존성 관계의 경우 이 정보는 관계 소스 [sys_rel_source] 테이블에 저장됩니다( identifyCIEnhanced() 또는 identifyCI() 메서드에 대해 유지되지 않음). 데이터 유형: 객체 |
| input.relations.sys_rel_source_info.소스_이름 | 문자열 | 검색 소스 이름입니다. 기본값: API 메서드 매개변수에 전달된 검색 소스입니다. |
| input.relations.sys_rel_source_info.소스_피드 | 문자열 | 검색 소스 내에서 하위 검색/검사에 해당하는 문자열입니다. 기본값: '알 수 없음'은 sys_rel_source 테이블에서 기록을 만들 때 source_feed 열에 저장됩니다. |
| 입력.관계.유형 | 문자열 | 상위 항목과 하위 항목 간에 존재하는 관계의 유형입니다. 이 값은 CI 관계 유형 [cmdb_rel_type] 테이블의 이름 필드 값이어야 합니다. |
| 옵션 | 객체 | 선택 사항이지만 {} 또는 null을 전달해야 합니다. 기능을 사용하거나 사용하지 않도록 설정하는 옵션입니다. 주: 기본적으로 또는 true로 설정된 경우 partial_payloads false로 설정된 경우에도 이러한 기능은 부분 페이로드 기능에 필수적이므로 둘 다 partial_commits 활성화 deduplicate_payloads 됩니다. |
| options.deduplicate_payloads | 부울 | 중복 항목이 병합되는지 또는 오류로 간주되는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: true |
| options.generate_summary | 부울 | 반환된 결과에 요약 정보가 포함되어 있는지 여부를 나타내는 플래그입니다. 반환된 요약 정보에 대한 자세한 내용은 반환 결과 테이블에서 를 참조하십시오 <String>.summary . 유효한 값은 다음과 같습니다.
기본값: false |
| options.partial_commits | 부울 | 부분 커밋 지원을 사용할 수 있는지 여부를 나타내는 플래그입니다. 부분 커밋에 대한 자세한 내용은 향상된 IRE 기능을 참조하세요. 유효한 값은 다음과 같습니다.
기본값: true |
| options.partial_payloads | 부울 | 부분 페이로드 지원이 활성화되었는지 여부를 나타내는 플래그입니다. 부분 페이로드에 대한 자세한 내용은 향상된 IRE 기능 및 IRE 데이터 소스 규칙 생성을 참조하세요. 유효한 값은 다음과 같습니다.
기본값: true |
| options.skip_updating_last_scan_to_now | 부울 | sys_object_source의 last_scan 시간 필드 업데이트를 건너뛸지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: glide.identification_engine.skip_updating_last_scan_to_now 시스템 속성의 값을 사용합니다. |
| options.skip_updating_source_last_discovered_to_now | 부울 | 구성 항목 [cmdb_ci] 테이블의 discovery_source 및 last_discovered 필드 업데이트를 건너뛸지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: glide.identification_engine.skip_updating_source_last_discovered_to_now 시스템 속성의 값을 사용합니다. |
| 소스 | 문자열 | CI 정보의 데이터 소스입니다. 이 값은 구성 항목 [cmdb_ci] 테이블의 discovery_source 필드에 대해 정의된 선택 값 중 하나여야 합니다. |
| 유형 | 설명 |
|---|---|
| <문자열> | 입력 문자열의 구성 항목에 대한 결과 목록인 JSON 형식의 문자열입니다. 데이터 유형: 문자열 |
| <String>.additionalCommittedItems | 현재 페이로드의 IRE 처리 중에 커밋되었지만 현재 입력 페이로드에 없는 CI 목록입니다. 데이터 형식: 객체 배열 |
| <String>.additionalCommittedRelations | 삽입하거나 업데이트할 요청 본문 relations 목록에 포함되지 않은 종속 관계 CI에 대한 설명입니다. 데이터 형식: 객체 배열 |
| <String>.hasError | 항목 또는 관계에 오류가 있는지 여부를 나타내는 플래그입니다. 데이터 유형: 부울 |
| <String>.hasWarning | 항목 또는 관계에 경고가 있는지 여부를 나타내는 플래그입니다. 데이터 유형: 부울 |
| <String>.items | 생성되거나 업데이트된 CI에 대한 설명입니다. 데이터 형식: 객체 배열 |
| <String>.items.additionalRelatedItems | 처리되었지만 입력 페이로드의 일부로 제공되지 않은 추가 조회 및 관련 항목에 대한 정보입니다. 이러한 항목은 부분 페이로드에서 가져온 것입니다. 데이터 형식: 객체 배열 |
| <String>.items.additionalRelatedItems.className | 작성되거나 업데이트된 CI의 클래스/테이블 이름(sys_class_name)입니다. 데이터 유형: 문자열 |
| <String>.items.additionalRelatedItems.inputIndices | 이 관련 항목에 해당하는 요청 본문 items 배열의 CI 인덱스 값입니다. 데이터 형식: 숫자 배열 |
| <String>.items.additionalRelatedItems.mergedPayloadIds | 관련 항목에 병합된 부분 페이로드의 sys_ids 목록입니다. CMDB IRE 부분 페이로드 [cmdb_ire_partial_payloads] 테이블에 있습니다. 데이터 유형: 배열 |
| <String>.items.additionalRelatedItems.operation | 운영 유형입니다. 가능한 값:
데이터 유형: 문자열 |
| <String>.items.additionalRelatedItems.sysId | 업데이트되거나 생성된 CI의 Sys_id입니다. 데이터 유형: 문자열 |
| <String>.items.className | 작성되거나 업데이트된 CI의 클래스/테이블 이름(sys_class_name)입니다. 데이터 유형: 문자열 |
| <String>.items.duplicateIndices | 현재 항목과 중복되는 CI의 인덱스 목록입니다. 데이터 유형: 배열 |
| <String>.items.errorCount | 항목을 처리하는 동안 발생한 오류 수입니다. 데이터 유형: 숫자 |
| <String>.items.errors | 이 CI를 처리하는 동안 발생한 오류 목록입니다. 데이터 형식: 객체 배열 |
| <문자열>.items.errors.error | CI를 처리하는 동안 발생한 오류의 유형입니다. 데이터 유형: 문자열 |
| <String>.items.errors.message | CI를 처리하는 동안 발생한 오류 메시지입니다. 데이터 유형: 문자열 |
| <String>.items.identificationAttempts | CI를 식별하기 위해 시도한 목록입니다. 데이터 형식: 객체 배열 |
| <String>.items.identificationAttempts.attemptResult | CI를 식별하려는 시도의 결과입니다. 가능한 값:
데이터 유형: 문자열 |
| <String>.items.identificationAttempts.attributes | 식별 프로세스 중에 사용된 CI 식별자 항목 속성의 목록입니다. 데이터 유형: 배열 속성 이름과 유형은 다음과 같이 요청 본문 데이터와 사용 중인 식별자에 따라 달라집니다. |
| <String>.items.identificationAttempts.identifierName | 이 CI 식별 시도에 사용되는 식별자 규칙입니다. 데이터 유형: 문자열 |
| <String>.items.identificationAttempts.searchOnTable | 식별 프로세스 중에 검색된 테이블의 이름입니다. 데이터 유형: 문자열 |
| <String>.items.identifierEntrySysId | CI를 식별하는 데 사용되는 식별자 규칙의 Sys_id입니다. 식별자 항목 [cmdb_identifier_entry] 테이블에 있습니다. 데이터 유형: 문자열 |
| <문자열>.items.info | 항목 처리에 대한 추가 정보입니다. 데이터 형식: 객체 배열 |
| <String>.items.info.code | 건너뛴 재분류 유형입니다. 가능한 값:
데이터 유형: 문자열 |
| <문자열>.items.info.message | 재분류를 건너뛰는 이유에 대한 추가 인사이트를 제공하는 메시지입니다. 데이터 유형: 문자열 |
| <String>.items.info.ruleSysId | 일치하는 재분류 제한 규칙의 Sys_id입니다. IRE가 재분류 제한 규칙으로 인해 재분류를 건너뛰는 경우에만 적용할 수 있습니다. 페이로드 또는 전역 플래그로 인해 재분류를 건너뛰면 이 값이 비어 있습니다. 데이터 유형: 문자열 |
| <String>.items.inputIndices | 해당 입력 CI의 인덱스입니다. 최상위 항목의 경우 정수 목록입니다. 관련 또는 조회 CI의 경우 JSON 객체 목록입니다. 데이터 형식: 숫자 배열 |
| <String>.items.maskedAttributes | 조정 규칙에 정의된 대로 신뢰할 수 없는 데이터 소스에 의한 업데이트를 건너뛴 속성 목록입니다. 데이터 유형: 배열 |
| <String>.items.operation | 발생한 작업입니다. 가능한 값:
데이터 유형: 문자열 |
| <String>.items.relatedItems | 처리된 관련 항목에 대한 정보입니다. 데이터 형식: 객체 배열 |
| <String>.items.relatedItems.className | 관련 항목의 클래스/테이블 이름(sys_class_name)입니다. 데이터 유형: 문자열 |
| <String>.items.relatedItems.errorCount | 관련 항목을 처리하는 동안 탐지된 오류 수입니다. 데이터 유형: 숫자 |
| <String>.items.relatedItems.errors | 관련 항목을 처리하는 동안 발생한 오류 목록입니다. 데이터 형식: 객체 배열 |
| <String>.items.relatedItems.errors.error | 관련 항목을 처리하는 동안 발생한 오류의 유형입니다. 데이터 유형: 문자열 |
| <String>.items.relatedItems.errors.message | 관련 항목을 처리하는 동안 발생한 오류 메시지입니다. 데이터 유형: 문자열 |
| <String>.items.relatedItems.inputIndices | 해당 입력 항목의 인덱스입니다. 최상위 항목의 경우 정수 목록입니다. 관련 항목 또는 조회 항목의 경우 JSON 객체 목록입니다. 데이터 형식: 숫자로 구성된 배열 또는 개체로 구성된 배열 |
| <String>.items.relatedItems.inputIndices.mainIndex | 관련 항목의 CI 상위에 해당하는 요청 본문 items 배열의 인덱스 값입니다. 데이터 유형: 숫자 |
| <String>.items.relatedItems.inputIndices.subIndex | 관련 항목에 해당하는 요청 본문 items.lookup 배열의 인덱스 값입니다. 데이터 유형: 숫자 |
| <String>.items.relatedItems.mergedPayloadIds | 처리 중에 CI에 병합된 부분 페이로드의 sys_ids 목록입니다. 데이터 유형: 배열 |
| <String>.items.relatedItems.operation | 발생한 작업입니다. 가능한 값:
데이터 유형: 문자열 |
| <String>.items.relatedItems.sysId | 관련 항목의 Sys_id입니다. 데이터 유형: 문자열 |
| <String>.items.relatedItems.warningCount | 관련 항목을 처리할 때 발생한 경고 수입니다. 데이터 유형: 숫자 |
| <String>.items.relatedItems.warnings | 관련 항목을 처리하는 동안 발생한 경고에 대한 설명입니다. 데이터 형식: 객체 배열 |
| <String>.items.relatedSysIds | 관련 항목의 조회 기반 식별 중에 사용된 CI의 sys_id 값 목록입니다. 데이터 유형: 문자열 |
| <문자열>.items.sys_id | 업데이트되거나 생성된 CI의 Sys_id입니다. 데이터 유형: 문자열 |
| <문자열>.관계 | 처리된 관계에 대한 정보입니다. 데이터 형식: 객체 배열 |
| <문자열>.relations.className | 이 종속 관계 CI의 Sys_class_name입니다. 지원되는 값만 cmdb_rel_ci: CI 관계 테이블입니다. 데이터 유형: 문자열 |
| <String>.relations.errorCount | 종속 관계 CI를 처리할 때 발생한 오류 수입니다. 데이터 유형: 숫자 |
| <문자열>.relations.errors | 이 종속 관계 CI를 처리하는 동안 발생한 오류를 설명하는 목록입니다. 데이터 형식: 객체 배열 |
| <String>.relations.inputIndices | 이 종속 관계 CI에 해당하는 요청 본문 relations 배열의 종속 관계 CI 객체에 대한 인덱스입니다. 데이터 유형: 배열 |
| <String>.relations.operation | 수행된 작업의 유형입니다. 가능한 값:
데이터 유형: 문자열 |
| <String>.relations.sysId | 종속 관계 CI의 Sys_id입니다. 데이터 유형: 문자열 |
| <String>.summary | 클래스당 삽입, 업데이트 된 항목 수에 대한 통계를 제공하는 JSON 속성 목록입니다. 데이터 유형: 배열 |
| <String>.summary.<class_name> | 특정 클래스에 대한 통계입니다. 데이터 유형: 객체 |
| <String>.summary.<class_name>.additionalInsertedItemCount | 부분 페이로드 처리로 인해 삽입된 항목 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.errorCount | 항목을 처리할 때 발생하는 오류 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.incompleteItemCount | CMDB IRE 불완전 페이로드[cmdb_ire_incomplete_payloads] 테이블에 삽입된 항목 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.insertedItemCount | 생성된 항목 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.partialItemCount | 부분 페이로드 테이블 [cmdb_ire_partial_payloads]에 저장된 항목 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.skippedItemCount | 건너뛴 항목 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.unchangedItemCount | 항목이 있지만 수정되지 않은 항목 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.updatedItemCount | 업데이트된 항목 수입니다. 데이터 유형: 숫자 |
| <String>.summary.<class_name>.warningCount | 처리 시 경고를 생성한 항목 수입니다. 데이터 유형: 숫자 |
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));
출력:
{
"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)
지정된 CI(구성 항목)에 대해 식별 감사를 실행하여 중복을 탐지합니다.
중복이 발견되면 중복 작업이 생성됩니다. 독립적인 식별 규칙이 있는 CI 유형에만 이 방법을 사용합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| now_GR | GlideRecord | 중복을 탐지하기 위해 감사를 실행할 CI입니다. CI에는 독립적인 식별 규칙이 있어야 합니다. |
| 유형 | 설명 |
|---|---|
| void |
다음 예제에서는 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);