name: inventory-openstack description: OpenStack inventory field reference and TSL query examples. Use when querying OpenStack provider inventory (VMs, volumes, networks, subnets, flavors, images, projects).
OpenStack Inventory Reference
Field names and query examples for OpenStack providers. Replace <PROVIDER> and <NS> with actual values.
Key differences: CPU/memory are determined by flavorId (not direct VM fields). Disk details require querying the standalone volume resource.
VM Fields
| Field | Type | Example |
|---|---|---|
id |
string | instance UUID |
name |
string | "web-server-01" |
status |
string | "ACTIVE", "SHUTOFF", "ERROR" |
tenantId |
string | project/tenant UUID |
hostId |
string | host hash |
imageId |
string | image UUID |
flavorId |
string | flavor UUID |
addresses |
object | network-keyed IP addresses |
attachedVolumes[*].id |
string | volume UUID |
fault |
object | error details (if status is ERROR) |
tags |
array | ["production", "web"] |
securityGroups |
array | security group names |
concerns[*].category |
string | "Warning" |
concerns[*].label |
string | concern label |
concerns[*].assessment |
string | description |
Volume Fields
Query with get inventory volume --provider <PROVIDER>.
| Field | Type | Example |
|---|---|---|
id |
string | volume UUID |
name |
string | "data-vol-01" |
status |
string | "available", "in-use", "error" |
size |
number | 100 (GB) |
volumeType |
string | "ssd", "standard" |
bootable |
string | "true", "false" |
encrypted |
bool | false |
attachments[*] |
object | attached server details |
availabilityZone |
string | "nova" |
Network Fields
| Field | Type | Example |
|---|---|---|
id |
string | network UUID |
name |
string | "internal-net" |
status |
string | "ACTIVE" |
adminStateUp |
bool | true |
shared |
bool | false |
subnets |
array | subnet UUIDs |
tenantId |
string | project UUID |
Subnet Fields
Query with get inventory subnet --provider <PROVIDER>.
| Field | Type | Example |
|---|---|---|
id |
string | subnet UUID |
name |
string | "internal-subnet" |
networkId |
string | parent network UUID |
cidr |
string | "10.0.0.0/24" |
gatewayIp |
string | "10.0.0.1" |
ipVersion |
number | 4 |
enableDhcp |
bool | true |
Flavor Fields
Query with get inventory flavor --provider <PROVIDER>.
| Field | Type | Example |
|---|---|---|
id |
string | flavor UUID |
name |
string | "m1.large" |
ram |
number | 8192 (MB) |
vcpus |
number | 4 |
disk |
number | 80 (GB) |
swap |
number | 0 |
isPublic |
bool | true |
Image Fields
Query with get inventory image --provider <PROVIDER>.
| Field | Type | Example |
|---|---|---|
id |
string | image UUID |
name |
string | "rhel-8.6" |
status |
string | "active" |
diskFormat |
string | "qcow2", "raw" |
containerFormat |
string | "bare" |
sizeBytes |
number | bytes |
minDiskGigabytes |
number | 10 |
minRamMegabytes |
number | 512 |
Project Fields
Query with get inventory project --provider <PROVIDER>.
| Field | Type | Example |
|---|---|---|
id |
string | project UUID |
name |
string | "production" |
description |
string | "Production tenant" |
enabled |
bool | true |
VM Query Examples
mtv_read { "command": "get inventory vm", "flags": { "provider": "<PROVIDER>", "namespace": "<NS>", "query": "where status = 'ACTIVE'", "output": "markdown" } }
mtv_read { "command": "get inventory vm", "flags": { "provider": "<PROVIDER>", "namespace": "<NS>", "query": "where status = 'SHUTOFF'", "output": "markdown" } }
mtv_read { "command": "get inventory vm", "flags": { "provider": "<PROVIDER>", "namespace": "<NS>", "query": "where flavorId = '<flavor-id>'", "output": "markdown" } }
mtv_read { "command": "get inventory vm", "flags": { "provider": "<PROVIDER>", "namespace": "<NS>", "query": "where len(attachedVolumes) > 1", "output": "markdown" } }
mtv_read { "command": "get inventory vm", "flags": { "provider": "<PROVIDER>", "namespace": "<NS>", "query": "where name ~= 'web-.*'", "output": "markdown" } }
Volume Query Examples
mtv_read { "command": "get inventory volume", "flags": { "provider": "<PROVIDER>", "namespace": "<NS>", "query": "where bootable = 'true'", "output": "markdown" } }
mtv_read { "command": "get inventory volume", "flags": { "provider": "<PROVIDER>", "namespace": "<NS>", "query": "where status = 'available' and size > 100", "output": "markdown" } }
mtv_read { "command": "get inventory volume", "flags": { "provider": "<PROVIDER>", "namespace": "<NS>", "query": "where volumeType = 'ssd'", "output": "markdown" } }
Infrastructure Query Examples
mtv_read { "command": "get inventory flavor", "flags": { "provider": "<PROVIDER>", "namespace": "<NS>", "query": "where vcpus >= 4 and ram >= 8192", "output": "markdown" } }
mtv_read { "command": "get inventory network", "flags": { "provider": "<PROVIDER>", "namespace": "<NS>", "query": "where shared = true", "output": "markdown" } }
mtv_read { "command": "get inventory subnet", "flags": { "provider": "<PROVIDER>", "namespace": "<NS>", "query": "where ipVersion = 4", "output": "markdown" } }
mtv_read { "command": "get inventory image", "flags": { "provider": "<PROVIDER>", "namespace": "<NS>", "query": "where status = 'active' and diskFormat = 'qcow2'", "output": "markdown" } }