BYOL에 대한 샘플 페이로드
인스턴스의 ServiceNow 소프트웨어 설치 [cmdb_sam_sw_install] 테이블을 BYOL 라이선싱 모델에서 수집한 검색 데이터로 채우는 샘플 페이로드입니다.
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);