> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.itential.com/itential-platform/2023-2/inventory-manager/inventory-manager-concepts/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.itential.com/_mcp/server. # Inventory Manager concepts > An overview of the four core entities in Inventory Manager inventories, nodes, actions, and tags. 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](./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](./inventory-manager-tags). ### 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:** ```json { "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 Gateway 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) **Gateway 5.x service action example:** ```json { "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](./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 (Gateway 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 Gateway 5 service actions. For detailed information about parameter resolution and cluster routing, see [Create and manage actions](./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](./inventory-manager-tags). > An overview of the four core entities in Inventory Manager inventories, nodes, actions, and tags.