Beispielnutzlast für BYOL

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Eine Beispielnutzlast, die die Tabelle „Softwareinstallation“ [cmdb_sam_SW_install] in ausfüllt ServiceNow Instanz mit Discovery-Daten, die vom BYOL-Lizenzierungsmodell erfasst wurden.

    Bestimmte Entitäten müssen ausgefüllt werden, damit BYOL mit einer Software-Asset-Verbindung als Discovery-Quelle einer Drittpartei arbeiten kann. Die Beziehung zwischen diesen Entitäten ist entscheidend, damit BYOL reibungslos mit Software-Asset-Verbindungen funktioniert. Beispielsweise unterscheiden sich einige Werte, die zum Ausfüllen von Cloud-Hosts erforderlich sind, für AWS Und Azure. Die Objekt-ID und der Name des Hosts sind für beide erforderlich AWS Und Azure, Für AWS, Die Anzahl der CPU-Kerne ist für erforderlich Azure, Der Hosttypwert ist erforderlich. Details zu Entitäten und ihren Beziehungen finden Sie unter Entitäten für BYOL Und Beziehungen zwischen den Entitäten für BYOL.

    In diesem Beispiel ist der Cloud-Service-Account die oberste Entität. Alle anderen Entitäten, die in der Tabelle „Entitäten für BYOL“ aufgeführt sind, sind abhängige Entitäten des Cloud-Service-Accounts. Wenn eine Entität als abhängige Entität markiert ist, müssen die übergeordnete Entität und die Beziehung zwischen dieser Entität und ihrem übergeordneten Element in derselben Nutzlast erwähnt werden. Beispiel: Wenn Sie einen erstellen möchten AWS Rechenzentrum im Cloud-Service-Account müssen Sie die Cloud-Service-Account-Entität in dieselbe Nutzlast aufnehmen, auch wenn in Ihrer Instanz bereits ein Cloud-Service-Account vorhanden ist. Wenn Sie Softwareinstallationen erstellen, müssen Sie alle abhängigen Entitäten für Softwareinstallationen über die gesamte Hierarchie in dieselbe Nutzlast einschließen.

    Entitäten für BYOL

    Entitäten Pflichtfelder
    Cloud-Servicekonto [cmdb_ci_cloud_service_account] Account_ID: Eindeutiger Bezeichner
    AWS Rechenzentren [cmdb_ci_aws_Datacenter] Object_ID: Eindeutiger Bezeichner
    Azure Rechenzentren [cmdb_ci_Azure_Datacenter] Object_ID: Eindeutiger Bezeichner
    Cloud-Hosts [cmdb_ci_Cloud_Host]
    Hinweis:
    Nicht erforderlich für freigegebene VMs.
    • Object_ID: Eindeutiger Bezeichner
    • Name: Name des Hosts
    • Host_type: Hosttyp für Azure. Beispiel: DSv3-Type1 (für Azure Nur Hosts).
    • cpu_Core-count: Gesamtanzahl der CPU-Kerne des Hosts (für AWS Nur Hosts).
    VM-Instanzen [cmdb_ci_vm_instance] Object_ID: Eindeutiger Bezeichner
    Computer [cmdb_ci_Computer]
    • Name: Name der virtuellen Maschine
    • cpu_count: CPU-Anzahl der virtuellen Maschine
    • cpu_Core_count: Anzahl der CPU-Kerne der virtuellen Maschine
    • cpu_Core_Thread: Anzahl der CPU-Core-Threads der virtuellen Maschine
    • Virtuell: Gibt an, ob der Computer eine VM ist (immer auf „wahr“ festgelegt)

    Softwareinstallationen [cmdb_sam_SW_install]

    Hinweis:
    Softwareinstallationen [cmdb_sam_SW_install] sind ein zugehöriger Eintrag für Computer [cmdb_ci_Computer]
    • publisher
    • Version
    • display_name
    • Cloud_license_type: Lizenztyp der Cloud-Installation (BYOL oder Lizenz enthalten)
    • Cloud_license_type_Source: Quelle, aus der der Cloud-Lizenztyp ausgefüllt wird. Der Wert ist für Software-Asset-Verbindungen auf Third_Party_Integration festgelegt.

    Beziehungen zwischen den Entitäten für BYOL

    Entitätsbeziehungen Typ Übergeordnet Untergeordnetes Element
    AWS/Azure-Rechenzentren: Cloud-Service-Account Gehostet auf::Hostet AWS/Azure-Rechenzentren Cloud-Serviceaccount
    AWS/Azure-Rechenzentren: Cloud-Hosts Gehostet auf::Hostet Cloud-Hosts AWS/Azure-Rechenzentren
    AWS/Azure-Rechenzentren: VM-Instanzen Gehostet auf::Hostet VM-Instanzen AWS/Azure-Rechenzentren
    Cloud-Hosts: Vm-Instanzen Wird ausgeführt auf::Wird ausgeführt VM-Instanzen Cloud-Hosts
    Computer: Vm-Instanzen Virtualisiert von::Virtualisiert Computer VM-Instanzen

    Beispielnutzlast für Computer und Installationen für dedizierte VM (ähnlich für AWS Und Azure)

    In dieser Beispielnutzlast wird ein dedizierter Computerdatensatz übergeben. Dieser Computerdatensatz hat ein zugehöriges Array, das alle Softwareinstallationen enthält. Eine VM-Instanz entspricht dem Computerdatensatz. Cloud-Host ist der dedizierte Host, auf dem sich die virtuelle Maschine befindet, und der AWS Das Rechenzentrum muss im Cloud-Service-Account erstellt werden. Wenn Sie über mehrere dedizierte virtuelle Computer verfügen, können Sie für jeden dedizierten virtuellen Computer eine REST-API senden. Wenn Sie beispielsweise 50 dedizierte VMs haben, müssen Sie 50 REST API-Aufrufe mit jeweils derselben Nutzlast senden. Alle Softwareinstallationen auf einer dedizierten VM können in einer einzigen Nutzlast im zugehörigen Array gesendet werden.

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