Exemple de payload pour BYOL

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 4 minutes de lecture
  • 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.
    • object_id : identificateur unique
    • Nom : nom de l’hôte
    • host_type : type d’hôte pour Azure. Par exemple, DSv3-Type1 (pour Azure les hôtes uniquement).
    • cpu_core-count : nombre total de cœurs de processeur de l’hôte (pour AWS les hôtes uniquement).
    Instances d’ordinateurs virtuels [cmdb_ci_vm_instance] object_id : identificateur unique
    Ordinateurs [cmdb_ci_computer]
    • Nom : nom de l’ordinateur virtuel
    • cpu_count : nombre de processeurs de l’ordinateur virtuel
    • cpu_core_count : nombre de cœurs du processeur de l’ordinateur virtuel
    • cpu_core_thread : nombre de threads par cœur de processeur de l’ordinateur virtuel
    • virtuel : indique si l’ordinateur est un VM (toujours défini sur vrai)

    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]
    • éditeur
    • version
    • display_name
    • cloud_license_type : type de licence de l’installation dans le cloud (BYOL ou licence incluse)
    • cloud_license_type_source source à partir de laquelle le type de licence de cloud est renseigné. La valeur est définie sur third_party_integration pour les connexions d’actifs logiciels.

    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);