Carga de amostra para BYOL

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 4 min. de leitura
  • Uma carga de amostra que preenche a tabela Instalação de software [cmdb_sam_sw_install] no ServiceNow Instância com dados de descoberta coletados pelo modelo de licenciamento BYOL.

    Determinadas entidades precisam ser preenchidas para que o BYOL funcione com a conexão de ativos de software como uma origem de descoberta de terceiros. O relacionamento entre essas entidades é crucial para que o BYOL funcione sem problemas com conexões de ativos de software. Por exemplo, alguns valores necessários para preencher hosts em nuvem são diferentes para AWS e. Azure. Embora o ID do objeto e o nome do host sejam necessários para ambos AWS e. Azure. para AWS, A contagem de núcleos da CPU é necessária e para Azure o valor do tipo de host é necessário. Para obter detalhes sobre entidades e seus relacionamentos, consulte Entidades para BYOLe. Relacionamentos entre as entidades para BYOL.

    Neste exemplo, a conta de serviço em nuvem é a entidade superior. Todas as outras entidades listadas na tabela Entidades para BYOL são entidades dependentes da conta de serviço em nuvem. Se uma entidade estiver marcada como uma entidade dependente, a entidade primária e o relacionamento entre essa entidade e sua primária precisarão ser mencionados na mesma carga. Por exemplo, se você quiser criar um AWS Na conta de serviço em nuvem, você precisa incluir a entidade Conta de serviço em nuvem na mesma carga; mesmo que a conta de serviço em nuvem já exista em sua instância. Da mesma forma, ao criar instalações de software, você precisa incluir todas as entidades dependentes para instalações de software na mesma hierarquia.

    Entidades para BYOL

    Entidades Campos necessários
    Conta de serviço em nuvem [cmdb_ci_cloud_service_account] Account_id - Identificador exclusivo
    AWS Datacenters [cmdb_ci_aws_datacenter] Object_id - Identificador exclusivo
    Azure Datacenters [cmdb_ci_azure_datacenter] Object_id - Identificador exclusivo
    Hosts de nuvem [cmdb_ci_cloud_host]
    Nota:
    Não necessário para VMs compartilhadas.
    • Object_id - Identificador exclusivo
    • nome - nome do host
    • host_type - tipo de host para Azure. Por exemplo, DSv3-Type1 (para Azure somente hosts).
    • cpu_core-count - Contagem total de núcleos de CPU do host (para AWS somente hosts).
    Instâncias de máquina virtual [cmdb_ci_vm_instance] Object_id - Identificador exclusivo
    Computadores [cmdb_ci_computer]
    • nome - nome da máquina virtual
    • cpu_count - Contagem de CPU da máquina virtual
    • cpu_core_count - Contagem de núcleos da CPU da máquina virtual
    • cpu_core_thread - Contagem de threads de núcleo da CPU da máquina virtual
    • Virtual - Indica se o computador é uma VM (sempre definido como verdadeiro)

    Instalações de software [cmdb_sam_sw_install]

    Nota:
    Instalações de software [cmdb_sam_sw_install] é uma entrada relacionada para computadores [cmdb_ci_computer]
    • fornecedor
    • versão
    • display_name
    • Cloud_license_type - Tipo de licença da instalação na nuvem (BYOL ou licença incluída)
    • cloud_license_type_source - origem de onde o tipo de licença de nuvem é preenchido. O valor é definido como third_party_integration para Conexões de ativos de software.

    Relacionamentos entre as entidades para BYOL

    Relacionamentos de entidade Tipo Primário Secundário
    Datacenters AWS/Azure - Conta de serviço em nuvem Hosted on::Hosts Datacenters AWS/Azure Conta de serviço em nuvem
    Datacenters AWS/Azure - Hosts em nuvem Hosted on::Hosts Hosts de nuvem Datacenters AWS/Azure
    Datacenters AWS/Azure - Instâncias de máquinas virtuais Hosted on::Hosts Instâncias de máquinas virtuais Datacenters AWS/Azure
    Hosts de nuvem - Instâncias de máquina virtual Runs on::Runs Instâncias de máquinas virtuais Hosts de nuvem
    Computadores - Instâncias de máquina virtual Virtualized by::Virtualizes Computadores Instâncias de máquinas virtuais

    Carga de amostra para computador e instalações para VM dedicada (semelhante a AWS e. Azure)

    Nesta carga de amostra, um registro de computador dedicado está sendo aprovado. Este registro de computador tem uma matriz relacionada que contém todas as instalações de software. Uma instância de VM corresponde ao registro do computador. Host em nuvem é o host dedicado no qual a máquina virtual reside e o. AWS O datacenter deve ser criado na conta de serviço em nuvem. Se você tiver várias máquinas virtuais dedicadas, poderá enviar uma REST API para cada máquina virtual dedicada. Por exemplo, se você tiver 50 VMs dedicadas, precisará enviar 50 chamadas de REST API, cada uma com a mesma carga. Todas as instalações de software em uma VM dedicada podem ser enviadas em uma única carga na matriz relacionada.

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