Exemple de payload pour BYOL
Exemple de charge utile qui remplit la table Installation de logiciel [cmdb_sam_sw_install] dans l’instance avec les ServiceNow données de découverte collectées par le modèle de gestion des licences BYOL.
Certaines entités doivent être renseignées pour que BYOL fonctionne avec la connexion des actifs logiciels en tant que source de découverte tierce. La relation entre ces entités est cruciale pour que BYOL fonctionne sans heurts avec les connexions d’actifs logiciels. Par exemple, certaines valeurs requises pour renseigner les hôtes dans le cloud sont différentes pour AWS et Azure. Bien que l’ID d’objet et le nom de l’hôte soient requis pour les deux AWS et , pour AWS, le nombre de cœurs du processeur est requis et pour Azure, la valeur du type d’hôte Azure est requise. Pour plus de détails sur les entités et leurs relations, reportez-vous à et Entités pour BYOLRelations entre les entités pour BYOL.
Dans cet exemple, le compte de services dans le cloud est l’entité supérieure. Toutes les autres entités répertoriées dans la table Entités pour BYOL sont des entités dépendantes de Compte de services dans le cloud. Si une entité est marquée comme étant dépendante, l’entité parente et la relation entre cette entité et son parent doivent être mentionnées dans la même charge utile. Par exemple, si vous souhaitez créer un centre de AWS données sur un compte de services dans le cloud, vous devez inclure l’entité Compte de services dans le cloud dans la même charge utile, même si un compte de services dans le cloud existe déjà dans votre instance. De même, lorsque vous créez des installations de logiciels, vous devez inclure toutes les entités dépendantes des installations de logiciels dans la hiérarchie dans la même charge utile.
Entités pour BYOL
| Entités | Champs obligatoires |
|---|---|
| Compte de services dans le cloud [cmdb_ci_cloud_service_account] | account_id : identificateur unique |
| AWS Centres de données [cmdb_ci_aws_datacenter] | object_id : identificateur unique |
| Azure Centres de données [cmdb_ci_azure_datacenter] | object_id : identificateur unique |
| Hôtes dans le cloud [cmdb_ci_cloud_host] Remarque : Non nécessaire pour les ordinateurs virtuels partagés. |
|
| Instances d’ordinateurs virtuels [cmdb_ci_vm_instance] | object_id : identificateur unique |
| Ordinateurs [cmdb_ci_computer] |
|
Installations de logiciels [cmdb_sam_sw_install] Remarque : Installations de logiciel [cmdb_sam_sw_install] est une entrée connexe pour Ordinateurs [cmdb_ci_computer] |
|
Relations entre les entités pour BYOL
| Relations d’entités | Type | Société parente | Enfant |
|---|---|---|---|
| Centres de données AWS/Azure : compte de services dans le cloud | Hébergé sur::Hôtes | Centres de données AWS/Azure | Compte de services dans le cloud |
| Centres de données AWS/Azure : hôtes dans le cloud | Hébergé sur::Hôtes | Hôtes dans le cloud | Centres de données AWS/Azure |
| Centres de données AWS/Azure : instances d’ordinateurs virtuels | Hébergé sur::Hôtes | Instances d'ordinateurs virtuels | Centres de données AWS/Azure |
| Hôtes dans le cloud : instances d’ordinateurs virtuels | S’exécute sur ::Exécute | Instances d'ordinateurs virtuels | Hôtes dans le cloud |
| Ordinateurs : instances d’ordinateurs virtuels | Virtualisé par ::Virtualise | Ordinateurs | Instances d'ordinateurs virtuels |
Exemple de payload pour l’ordinateur et les installations pour ordinateur virtuel dédié (similaire pour AWS et Azure)
Dans cet exemple de charge utile, un enregistrement d’ordinateur dédié est transmis. Cet enregistrement d’ordinateur comporte un tableau connexe qui contient toutes les installations de logiciels. Une instance de VM correspond à l’enregistrement de l’ordinateur. L’hôte dans le cloud est l’hôte dédié sur lequel réside l’ordinateur virtuel et le AWS centre de données doit être créé sur le compte Cloud Service. Si vous avez plusieurs ordinateurs virtuels dédiés, vous pouvez envoyer une API REST pour chaque ordinateur virtuel dédié. Par exemple, si vous disposez de 50 machines virtuelles dédiées, vous devez envoyer 50 appels d’API REST ayant chacun la même charge utile. Toutes les installations logicielles sur un VM dédié peuvent être envoyées en une seule charge utile dans la baie connexe.
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);