BYOL のサンプルペイロード

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:7分
  • ServiceNow インスタンスのソフトウェアインストール [cmdb_sam_sw_install] テーブルに、BYOL ライセンスモデルによって収集されたディスカバリーデータを入力するサンプルペイロード。

    BYOL でソフトウェア資産接続をサードパーティのディスカバリーソースとして使用するには、特定のエンティティを設定する必要があります。これらのエンティティ間の関係は、BYOL がソフトウェア資産接続でスムーズに機能するために重要です。たとえば、Cloud Hosts の設定に必要な一部の値は、 AWSAzure で異なります。オブジェクト ID とホスト名は AWSAzure の両方に必要ですが、 AWSの場合は CPU コア数が必要で、 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 には必要ありません。
    • object_id:一意の識別子
    • 名前:ホストの名前
    • host_type: Azureのホストタイプ。例:DSv3-Type1 ( Azure ホストのみ)。
    • cpu_core-count:ホストの合計 CPU コア数 ( AWS ホストのみ)。
    仮想マシンインスタンス [cmdb_ci_vm_instance] object_id:一意の識別子
    コンピューター [cmdb_ci_computer]
    • 名前:仮想マシンの名前
    • cpu_count:仮想マシンの CPU カウント
    • cpu_core_count:仮想マシンの CPU コア数
    • cpu_core_thread:仮想マシンの CPU コアスレッド数
    • virtual:コンピューターが VM かどうかを示します (常に true に設定)

    ソフトウェアインストール [cmdb_sam_sw_install]

    注:
    ソフトウェアインストール [cmdb_sam_sw_install] は、コンピューター [cmdb_ci_computer] の関連エントリです
    • publisher
    • version
    • display_name
    • cloud_license_type:クラウドインストールのライセンスタイプ (BYOL またはライセンスが含まれる)
    • cloud_license_type_source:クラウドライセンスタイプの入力元のソース。ソフトウェア資産接続の場合、値は third_party_integration に設定されます。

    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 のコンピューターとインストールのサンプルペイロード ( AWSAzure でも同様)

    このサンプルペイロードでは、専用のコンピューターレコードが渡されています。このコンピューターレコードには、すべてのソフトウェアインストールを含む関連アレイがあります。VM インスタンスは、コンピューターレコードに対応しています。クラウドホストは、仮想マシンが存在する専用ホストであり、 AWS データセンターはクラウドサービスアカウントに作成されます。複数の専用仮想マシンがある場合は、専用仮想マシンごとに 1 つの REST API を送信できます。たとえば、専用 VM が 50 台ある場合は、それぞれが同じペイロードを持つ REST API 呼び出しを 50 回送信する必要があります。専用 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);