Inventory Manager concepts

Prev Next

Inventory Manager is built around four core entities: inventories, nodes, actions, and tags.

Inventories

An inventory is a logical container that groups related automation targets and defines the operations you can perform on them.

Inventory attributes

  • Name: Unique identifier (globally unique across all inventories)
  • Groups: One or more user groups for RBAC (required)
  • Description: Optional descriptive text
  • Actions: Array of operations for nodes in this inventory (optional at creation)
  • Tags: Labels for organization and filtering
  • Audit fields: created_at, updated_at, created_by, updated_by (automatically populated)

For more information, see Create and populate inventories.

Inventory organization

Create separate inventories based on device type, environment, region, team ownership, or service requirements. For more information, see Tags and organization strategies.

Key behaviors

  • Deleting nodes doesn't affect the inventory
  • You can only delete an inventory after removing all its nodes
  • Actions can be included during creation or added later

Nodes

A node represents an individual device, endpoint, or automation target within an inventory.

Node attributes

  • Inventory ID: Reference to parent inventory (cannot be changed after creation)
  • Name: Identifier unique within the parent inventory (can be duplicated across inventories)
  • Attributes: Flexible key-value object for device-specific properties
  • Tags: Labels for organization and filtering
  • Audit fields: created_at, updated_at, created_by, updated_by (automatically populated)

Flexible node structure

The attributes object supports any structure based on your device requirements.

Network device example:

{
  "inventory": {
    "inventoryNodes": [
      {
        "name": "core-router-1",
        "attributes": {
          "itential_host": "10.1.1.1",
          "itential_user": "admin",
          "cluster_id": "cluster_1",
          "itential_password": "$SECRET_path $KEY_name",
          "itential_platform": "cisco_ios",
          "itential_driver": "netmiko",
          "itential_driver_options": {
            "netmiko": {
              "timeout": 180,
              "global_delay_factor": 3
            }
          }
        }
      }
    ]
  }
}

Key behaviors

  • The populateInventory task replaces all nodes in the inventory, deleting all existing nodes before inserting new ones
  • Node names only need to be unique within their parent inventory
  • The same node name can exist in multiple inventories

Actions

An action represents an operation you can execute against nodes in an inventory. Actions are scoped to their parent inventory.

Action attributes

  • Name: Unique identifier within the parent inventory
  • Action type: Currently only iag5-service is supported
  • Action config: Static configuration (for IAG 5: service_name and cluster_id)
  • Action parameters: Default parameters (overridable at runtime)
  • Last executed: Timestamp of most recent execution (automatically updated)
  • Audit fields: created_at, updated_at, created_by, updated_by (automatically populated)

IAG 5.x service action example:

{
  "name": "get-config",
  "action_type": "iag5-service",
  "action_config": {
    "service_name": "itential-get-config",
    "cluster_id": "cluster_1"
  },
  "action_parameters": {
    "timeout": 60
  }
}

For more information, see Create and manage actions.

Parameter resolution

When you execute an action, parameters are resolved from multiple sources. The resolution works in two separate relationships:

Parameters (runtime vs. defaults):

  1. Runtime parameters (provided at execution)
  2. Action parameters (defaults in action definition)

Runtime parameters always override action parameters.

Cluster routing (IAG 5 service actions only):

For iag5-service action type, the cluster_id is resolved separately:

  1. Node attributes (if cluster_id exists in node attributes)
  2. Action config (if not found in node attributes)

This special handling for cluster_id is specific to IAG 5 service actions.

For detailed information about parameter resolution and cluster routing, see Create and manage actions.

Tags

A tag is a label you can apply to inventories and nodes for organization, filtering, and classification.

Tag attributes

  • Name: Globally unique identifier
  • Description: Optional descriptive text
  • Audit fields: created_at, updated_at, created_by, updated_by (automatically populated)

Key behaviors

  • Tags are created automatically when applied to resources
  • Tags are automatically deleted when no longer in use
  • The same tag can be applied to both inventories and nodes
  • Tags are not exposed through Device Broker

For guidance on using tags effectively, see Tags and organization strategies.