Lesson 2: Excluding software instances from usage calculations

This lesson shows you how to exclude products from license usage calculations with the REST API and a cURL command line tool. You can use the information in this lesson to implement an automatic external tool for large scale rebundling.

Before you begin

You must have root operating system privileges.

About this task

In this lesson, a customer uses resource value unit (RVU) subcapacity licensing for some BigFix® endpoints. All computers are subscribed to the IBM License Reporting (ILMT) v9 site in the BigFix console, and software scans of the infrastructure are completed. The subscribed computers are 80% desktop computers and 20% servers. Before an RVU report is generated, all desktop computers must be excluded from license usage calculations.

Important: Some of the commands in this lesson are long, and for the purposes of presentation, some line breaks were introduced. Treat each line break as a space.

Procedure

  1. Start the command line interface.
  2. To retrieve a list of all products that are discovered in your environment, run the following command:
    curl -v -X GET http://server_url:server_port/api/sam/swinventory/products
  3. Review the list to obtain the product IDs for BigFix applications.

    There might be many BigFix applications. Search for all products that begin with "BigFix".

    {
      "id": "21555",
      "level": "product",
      "isConfirmed": "false",
      "productReleaseComponent": "BigFix Lifecycle",
      "children": "true",
      "nmbOfAllRows": "45",
      "confidence": "23",
      "type": "root"}
  4. Retrieve lists of all releases for each of the BigFix products, and retrieve lists of all instances.
    The following commands are used for retrieving lists of releases and lists of instances.
    curl -v -X GET http://server_url:server_port/api/sam/swinventory/product/product_ID
    /releases
    curl -v -X GET http://server_url:server_port/api/sam/swinventory/release/release_ID
    /instances
  5. Filter the lists of instances in an external tool, to obtain a list of all BigFix product instances that are installed on desktop computers.

    You can use an external tool such as a spreadsheet to filter the lists. You can filter on a number of criteria. A desktop can be defined as a computer that does not contain the word server in the operating system name. The license type is not Windows server, and the computer model is not VMware.

  6. Using the inventory IDs from your filtered list, exclude all instances of BigFix products that are installed on desktop computers. To exclude instances, run the following command:
    curl -v -X POST http://server_url:server_port/api/sam/swinventory/exclude -d 
    "productInventoryId=inventory_IDs&reason=no_licensing&updateTime=timestamp"
    Where:
    • inventory_IDs are the instances to reassign
    • timestamp is the update time that is expressed in milliseconds. The timestamp must be equal to or greater than the timestamps retrieved as a property of the instances to reassign, in step.4

    All instances can be entered separated by commas, for example:

    curl -v -X POST http://server_url:server_port/api/sam/swinventory/exclude -d 
    "productInventoryId=134,137&reason=no_licensing&updateTime=9949237658579"
    An HTTP response 204 is received. The selected instances are excluded.
  7. Open the All Metrics report, and click Recalculate, to update the RVU values for BigFix.