cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Introduction

A Datasource in Flexera One represents a particular source of data. Classically, this might be a particular SCCM/ADDM/ILMT/etc server in a customer's environment but those familiar with the FNMS beacon would understand this as a single "connection".

Custom Inventory Importer is a CLI tool designed to allow Sales Engineers or Customer to upload custom inventory data into Flexera One for processing just like any other Datasource. This is useful for testing out ideas or demonstrating the capabilities of the platform.

How to use

To use Custom Inventory Importer, you will need:

  • Access to the Flexera One organization that you intend to import custom inventory into
  • A valid Flexera IAM Refresh Token for API authentication and authorization
  • A custom inventory file that conforms to Flexera One common ingest format
  • And a Windows or Linux machine that can connect to your Flexera One organization UI

1. Obtaining Flexera IAM Refresh token for use with the CLI

  1. Login to Flexera One UI and navigate to User Settings / API Credentials
  2. Click the button Create API Refresh Token
  3. Copy the token and note it down for later use
    refreshToken.png

     

 

 

2. Getting a copy of the Custom Inventory Importer

Depending on your environment you will use a different executable, but the same parameters are supported in both. For example, the following two commands will do the same thing. You just need to substitute the path parameters for your chosen environment.

  • Windows
    ciImporterSigned.exe import template --out c:\imports\template
  • Linux
    ./ciImporter4Linux import template --out ./imports/template


3. Getting your custom inventory file ready

Option 1: Import from CSV

Step 1: Get a CSV Template to populate

You can use the tool to build a CSV template that the importer supports to convert from. Execute the tool with the following CLI parameters:

import template --out <folder or new zip file to create>

This will either create a folder, populate an empty folder or create a zip file depending on what you specify. The contents will be a series of expected CSV files, with the first row in each specifying the type of data it expects.

See the attached file samplesCSV.zip for some examples of the expected CSV files.

For the description and data format of each CSV field, see the attached file CSV Fields Description.docx.

Important: When preparing the CSV files, it is essential to include all the following file types. However, only the "Computer" related CSV files require mandatory data. In contrast, non-computer related CSV files do not require data, but they must contain their respective field headers.

  • BusinessService
  • Computer
  • InstallerEvidence
  • OSEvidence

Step 2: Convert the CSV to the Common Ingest format

This requires a folder or zip file with the CSV files prepared. Execute the tool with the following CLI parameters:

import convert --in <zip or folder where CSV files are> --connectionName <name of this source> --orgId <your org id> --out <new zip file to create>

Your files will be at the destination zip file you specified ready for import.

Option 2: Build the CommonIngest files yourself

The common ingest format are a series of JSON Lines files, a convenient format for storing structured JSON data. These are the 4 types of custom inventory data structures supported.

  • Computers.
    Sample JSON:

 

{
    "resource_type": "Computer",
    "computer": {
        "machine_id": "id:0",
        "name": "ThinkStation S20",
        "domain": "",
        "manufacturer": "Lenovo",
        "model_no": "ThinkStation S20",
        "operating_system": "Windows XP Professional",
        "service_pack": "",
        "inventory_date": "",
        "serial_number": "WCL-206-Q10853-BF",
        "total_memory": "1000",
        "calculated_user": "calculated_user",
        "last_loggedon_user": "user1",
        "network_info": [
            {
                "mac": "5f:a9:9f:a6:9c:7e",
                "ipv4_address": "130.14.35.93",
                "ipv6_address": "2001:cafe:3d68:ec43:b99c:5737:ce43:b936"
            },
            {
                "mac": "70:0f:47:18:64:9d",
                "ipv4_address": "106.166.194.76",
                "ipv6_address": "2001:cafe:ca02:7679:21e0:b790:ac6:ea0"
            },
            {
                "mac": "11:0f:d0:e5:22:1a",
                "ipv4_address": "152.230.80.56",
                "ipv6_address": "2001:cafe:f650:fe17:1ad9:2eb7:5e74:b8c4"
            }
        ],
        "hdd_count": "1",
        "number_of_processors": "2",
        "hdd_total_space": "123",
        "chassis_type": "Unknown",
        "display_adapter_count": "3",
        "processors": [
            {
                "name": "Intel Automated needs-based functionalities",
                "clock_speed_max": 2311,
                "core_count": 4,
                "logical_count": 13
            },
            {
                "name": "Intel Integrated well-modulated software",
                "clock_speed_max": 1345,
                "core_count": 1,
                "logical_count": 12
            }
        ],
        "inventory_agent": "serviceNow",
        "incomplete": "1"
    },
    "key": "eea9ec0d3790200044e0bfc8bcbe5dc3",
    "event_type": "update"
}

 

 

  • Installer evidence.
    Sample JSON:

 

{
    "resource_type": "InstallerEvidence",
    "installer_evidence": {
        "machine_id": "id:0",
        "items": [
            {
                "title": "Unde consequatur voluptas eum. 1.1.1.7474",
                "version": "1.1.1.7474",
                "manufacturer": "Effertz Inc",
                "source": "Uninstall",
                "product_code": "{d0389040-c253-f87f-ebea-68c9f58bb56d}",
                "install_date": "2005-11-21T11:23:06",
                "installed_id": "{d233a747-1c00-ea0a-638a-750a83d056d6}",
                "software_id": "{ffc8b194-5cc3-446f-b885-fb580cd6db97}"
            },
            {
                "title": "Unde consequatur voluptas eum. 1.1.1.7474",
                "version": "1.1.1.7474",
                "manufacturer": "Effertz Inc",
                "source": "Uninstall",
                "product_code": "{d0389040-c253-f87f-ebea-68c9f58bb56d}",
                "install_date": "2005-11-21T11:23:06",
                "installed_id": "{d233a747-1c00-ea0a-638a-750a83d056d6}",
                "software_id": "{ffc8b194-5cc3-446f-b885-fb580cd6db97}"
            },
            {
                "title": "Unde consequatur voluptas eum. 1.1.1.7474",
                "version": "1.1.1.7474",
                "manufacturer": "Effertz Inc",
                "source": "Uninstall",
                "product_code": "{d0389040-c253-f87f-ebea-68c9f58bb56d}",
                "install_date": "2005-11-21T11:23:06",
                "installed_id": "{d233a747-1c00-ea0a-638a-750a83d056d6}",
                "software_id": "{ffc8b194-5cc3-446f-b885-fb580cd6db97}"
            },
            {
                "title": "Et consequatur. 7.6.4.1292",
                "version": "7.6.4.1292",
                "manufacturer": "Weimann LLC",
                "source": "Uninstall",
                "product_code": "{50df42b5-e30c-9b67-8aec-d107ce46ddd7}",
                "install_date": "2017-10-15T08:04:55",
                "installed_id": "{f4091e4b-fe17-c2aa-16d5-355a1ad9174d}",
                "software_id": "{c383c86f-2eb7-4100-0107-23915e74c986}"
            },
            {
                "title": "Quia ea iure nisi aut. 6.4.1.7314",
                "version": "6.4.1.7314",
                "manufacturer": "Padberg, Wisozk and Blick",
                "source": "Uninstall",
                "product_code": "{79971c2c-d8b2-5ea4-8f30-476692f18d6e}",
                "install_date": "2004-01-03T18:55:08",
                "installed_id": "{70e90e38-9631-97ad-8ff2-c99127d900e4}",
                "software_id": "{75bb4018-3642-6d5a-91d1-4d7ec3c2baeb}"
            },
            {
                "title": "Nihil sint. 19.3.5.2076",
                "version": "19.3.5.2076",
                "manufacturer": "Corkery-Schuppe",
                "source": "Uninstall",
                "product_code": "{7814471b-305a-c775-40e8-40de03758993}",
                "install_date": "2008-12-10T11:24:00",
                "installed_id": "{31e6f56f-9fb2-cb1e-fdb4-2fc0a03192a1}",
                "software_id": "{b4170332-114e-1881-cf58-7efb8946ab44}"
            },
            {
                "title": "Quia ea iure nisi aut. 6.4.1.7314",
                "version": "6.4.1.7314",
                "manufacturer": "Padberg, Wisozk and Blick",
                "source": "Uninstall",
                "product_code": "{79971c2c-d8b2-5ea4-8f30-476692f18d6e}",
                "install_date": "2004-01-03T18:55:08",
                "installed_id": "{70e90e38-9631-97ad-8ff2-c99127d900e4}",
                "software_id": "{75bb4018-3642-6d5a-91d1-4d7ec3c2baeb}"
            },
            {
                "title": "Omnis natus quis cumque placeat laudantium. 14.7.0.9878",
                "version": "14.7.0.9878",
                "manufacturer": "Hessel and Sons",
                "source": "Uninstall",
                "product_code": "{344d803c-04e5-0f72-ae21-39a3bd15ee6a}",
                "install_date": "2012-01-01T04:24:50",
                "installed_id": "{b1e219f0-1b1c-630a-5b6d-b2dc92d6fbbc}",
                "software_id": "{79f7961f-f86f-a67c-ccd8-bee619e458af}"
            },
            {
                "title": "Perspiciatis officia. 3.5.9.9255",
                "version": "3.5.9.9255",
                "manufacturer": "Ledner, Torphy and Cassin",
                "source": "Uninstall",
                "product_code": "{48303caf-acad-777c-f8e6-a264bcb63af1}",
                "install_date": "2004-06-03T09:52:11",
                "installed_id": "{9d4279f9-45e9-d618-72a6-1684a7b1e65c}",
                "software_id": "{dcbcfe5b-d00f-43ec-6209-538efa3fc90d}"
            }
        ]
    },
    "key": "key:0",
    "event_type": "update"
}

 

 

  • Operating systems.
    Sample JSON:

 

{
    "resource_type": "OSEvidence",
    "os_evidence": {
        "machine_id": "id:0",
        "items": [
            {
                "manufacturer": "Senger Group",
                "name": "Microsoft Windows bhusuhcp",
                "caption": "Microsoft Windows Caption bhusuhcp",
                "csd_version": "Service Pack 2",
                "version": "5.2.9185"
            },
            {
                "manufacturer": "Kulas, Rowe and Ruecker",
                "name": "Microsoft Windows 99sacoel",
                "caption": "Microsoft Windows Caption 99sacoel",
                "csd_version": "Service Pack 4",
                "version": "5.2.4968"
            },
            {
                "manufacturer": "Senger Group",
                "name": "Microsoft Windows bhusuhcp",
                "caption": "Microsoft Windows Caption bhusuhcp",
                "csd_version": "Service Pack 2",
                "version": "5.2.9185"
            },
            {
                "manufacturer": "Johnston, Marvin and Jaskolski",
                "name": "Microsoft Windows wxrnqopw",
                "caption": "Microsoft Windows Caption wxrnqopw",
                "csd_version": "Service Pack 4",
                "version": "5.2.5618"
            },
            {
                "manufacturer": "Senger Group",
                "name": "Microsoft Windows bhusuhcp",
                "caption": "Microsoft Windows Caption bhusuhcp",
                "csd_version": "Service Pack 2",
                "version": "5.2.9185"
            }
        ]
    },
    "key": "key:0",
    "event_type": "update"
}

 

 

  • Business services.
    Sample JSON:

 

{
    "resource_type": "BusinessService",
    "business_service": {
        "id": "10000",
        "name": "Ibm websphere 8.2545",
        "computer_keys": [
            "key:1",
            "key:5",
            "key:2"
        ]
    },
    "key": "business-service-0",
    "event_type": "update"
}

 

 

You will also need to construct a "manifest.json" which describes how the file will be imported and important meta information about the import.

See the attached file samplesJSON.zip for more examples.

4. Executing the Custom Inventory Importer

Execute the tool with the following CLI parameters:

upload --connectionName <connectionName> --file <CommonIngest zip file> --orgId <org id> --refreshToken "<my-token>" --region <the region your account is in>

Parameters supported:

Parameter Value Description
connectionName string The name of this datasource
file string The relative path to the file source being uploaded
orgid integer The Flexera assigned Organization ID for your account
refreshToken string The generated Refresh IAM token to authenticate the upload
region EU/US/AP/Staging The environment to connect to

 

Current Limitations

Only a single custom inventory data source is supported for each org. This means that subsequent imports via the Custom Inventory Importer to the same org will replace the previous ones.

Upcoming Features

  • Upload straight from CSV source (avoid conversion step)
  • Simpler CLI

 

Was this article helpful? Yes No
No ratings
Version history
Last update:
‎Oct 12, 2023 08:46 PM
Updated by: