BYOL용 샘플 페이로드
BYOL 라이선싱 모델에서 수집한 검색 데이터로 인스턴스의 ServiceNow 소프트웨어 설치 [cmdb_sam_sw_install] 테이블을 채우는 샘플 페이로드입니다.
BYOL이 소프트웨어 자산 연결을 외부 공급업체 디스커버리 소스로 사용하여 작업하려면 특정 엔터티를 채워야 합니다. 이러한 엔터티 간의 관계는 BYOL이 소프트웨어 자산 연결을 원활하게 수행하는 데 매우 중요합니다. 예를 들어, 클라우드 호스트를 채우는 데 필요한 일부 값은 및 Azure에 따라 AWS 다릅니다. 객체 ID와 호스트 이름은 둘 다 AWSAzure에 필요하지만 , 의 경우 AWSCPU 코어 수가 필요하고 의 경우 Azure호스트 유형 값이 필요합니다. 엔터티와 해당 관계에 대한 자세한 내용은 및 BYOL에 대한 엔터티 간의 관계문서를 참조하십시오BYOL에 대한 엔터티.
이 예에서는 클라우드 서비스 계정이 최상위 엔터티입니다. BYOL에 대한 엔터티 테이블에 나열된 다른 모든 엔터티는 클라우드 서비스 계정의 종속 엔터티입니다. 엔터티가 종속 엔터티로 표시된 경우 상위 엔터티와 해당 엔터티와 상위 엔터티 간의 관계가 동일한 페이로드에 언급되어야 합니다. 예를 들어 클라우드 서비스 계정에 데이터 센터를 AWS 생성하려면 클라우드 서비스 계정이 인스턴스에 이미 있더라도 동일한 페이로드에 클라우드 서비스 계정 엔터티를 포함해야 합니다. 마찬가지로 소프트웨어 설치를 생성할 때 모든 계층 구조의 소프트웨어 설치에 대한 모든 종속 엔터티를 동일한 페이로드에 포함해야 합니다.
BYOL에 대한 엔터티
| 엔터티 | 필수 필드 |
|---|---|
| 클라우드 서비스 계정 [cmdb_ci_cloud_service_account] | account_id - 고유 식별자입니다. |
| AWS 데이터센터 [cmdb_ci_aws_datacenter] | object_id - 고유 식별자 |
| Azure 데이터센터 [cmdb_ci_azure_datacenter] | object_id - 고유 식별자 |
| 클라우드 호스트 [cmdb_ci_cloud_host] 주: 공유 VM에는 필요하지 않습니다. |
|
| 가상 머신 인스턴스 [cmdb_ci_vm_instance] | object_id - 고유 식별자 |
| 컴퓨터 [cmdb_ci_computer] |
|
소프트웨어 설치 [cmdb_sam_sw_install] 주: 소프트웨어 설치 [cmdb_sam_sw_install]는 컴퓨터 [cmdb_ci_computer]의 관련 항목입니다. |
|
BYOL에 대한 엔터티 간의 관계
| 엔터티 관계 | 유형 | 상위 | 하위 |
|---|---|---|---|
| AWS/Azure 데이터센터 - 클라우드 서비스 계정 | Hosted on::Hosts | AWS/Azure 데이터센터 | 클라우드 서비스 계정 |
| AWS/Azure 데이터센터 - 클라우드 호스트 | Hosted on::Hosts | 클라우드 호스트 | AWS/Azure 데이터센터 |
| AWS/Azure 데이터센터 – 가상 머신 인스턴스 | Hosted on::Hosts | 가상 머신 인스턴스 | AWS/Azure 데이터센터 |
| 클라우드 호스트 - 가상 머신 인스턴스 | Runs on::Runs | 가상 머신 인스턴스 | 클라우드 호스트 |
| 컴퓨터 - 가상 머신 인스턴스 | Virtualized by::Virtualizes | 컴퓨터 | 가상 머신 인스턴스 |
전용 VM용 컴퓨터 및 설치에 대한 샘플 페이로드(및 Azure와 유사AWS)
이 샘플 페이로드에서는 전용 컴퓨터 레코드가 전달되고 있습니다. 이 컴퓨터 기록에는 모든 소프트웨어 설치를 포함하는 관련 배열이 있습니다. VM 인스턴스는 컴퓨터 레코드에 해당합니다. 클라우드 호스트는 가상 머신이 상주 AWS 하는 전용 호스트이며 데이터센터는 클라우드 서비스 계정에 생성됩니다. 전용 가상 머신이 여러 개인 경우 각 전용 가상 머신에 대해 하나의 REST API를 보낼 수 있습니다. 예를 들어 50개의 전용 VM이 있는 경우 각각 동일한 페이로드를 가진 50개의 REST API 호출을 보내야 합니다. 전용 VM의 모든 소프트웨어 설치는 관련 배열의 단일 페이로드로 전송될 수 있습니다.
var payload = {
'items': [{
'className': 'cmdb_ci_computer',
'values': {
'name': 'Comp - Dedicated AWS - 1',
'cpu_count': 1,
'cpu_core_count': 4,
'cpu_core_thread': 1,
'virtual': true
},
'related': [{
'className': 'cmdb_sam_sw_install',
'values': {
'publisher': 'Microsoft',
'display_name': 'SQL Server',
'version': '2017',
'cloud_license_type': 'BYOL',
'cloud_license_type_source': 'third_party_integration'
}
}]
}, {
'className': 'cmdb_ci_vm_instance',
'values': {
'object_id': 'sample_object_id_aws_vm_dedicated',
'name': 'VM Dedicated AWS - 1',
}
}, {
'className': 'cmdb_ci_cloud_host',
'values': {
'object_id': 'sample_object_id_aws_host',
'name': 'AWS Dedicated Host - 1',
'cpu_core_count': 32
}
}, {
'className': 'cmdb_ci_aws_datacenter',
'values': {
'object_id': 'sample_object_id_aws_dc',
'name': 'AWS DataCenter - 1'
}
}, {
'className': 'cmdb_ci_cloud_service_account',
'values': {
'account_id': 'sample_account_id_aws_service_account',
'name': 'Cloud Service Account AWS - 1'
}
}],
'relations': [{
'type': 'Virtualized by::Virtualizes',
'parent': 0,
'child': 1
}, {
'type': 'Runs on::Runs',
'parent': 1,
'child': 2
},
{
'type': 'Hosted on::Hosts',
'parent': 2,
'child': 3
}, {
'type': 'Hosted on::Hosts',
'parent': 3,
'child': 4
}
]
}
var jsonUntil = new JSON();
var input = jsonUntil.encode(payload);
gs.info("Input: " + input.toString());
var options = {
"partial_payloads": false,
"deduplicate_payloads": true
};
var output = SNC.IdentificationEngineScriptableApi.createOrUpdateCIEnhanced('ServiceNow', input, options);
gs.print("Output:" + output);