Export CSV des tables HW du CMDB

Ce document décrit comment récupérer les données du CMDB par la Public API.
L’authentification se fait par un en-tête apiKey.

La marche à suivre compte trois étapes :
  1. Obtenir les types du CMDB
  2. Obtenir les tables d’un type choisi
  3. Exporter une table choisie au format CSV
URL de base : https://<xormon host>:8443 (ou le port 443, c’est-à-dire le même que celui de l’interface)
Authentification : toutes les requêtes demandent l’en-tête HTTP suivant : --header 'apiKey: <api-key>'
apiKey: <yourKey>

Étape 1 – Obtenir la liste des types du CMDB

Ce point d’API retourne tous les types de CMDB disponibles.
L’un de ces types est nécessaire pour obtenir la liste des tables du CMDB à l’étape suivante.

Requête : GET /api/public/v1/cmdb/types

exemple curl :
curl --location 'https://<xormon host>:8443/api/public/v1/cmdb/types' \
  --header 'apiKey: yourKey'

Example response:
{
    "statusCode": 200,
    "data": [
        "storage",
        "san",
        "lan",
        "tape",
        "virtualization_proxmox",
        "virtualization_nutanix",
        "virtualization_linux",
        "virtualization_power",
        "virtualization_vmware",
        "virtualization_ovirt",
        "virtualization_xenserver",
        "virtualization_windows",
        "virtualization_solaris",
        "virtualization_oraclevm",
        "virtualization_cloudstack",
        "virtualization_mainframe",
        "virtualization_fusioncompute",
        "virtualization_as400",
        "cloud_azure",
        "cloud_aws",
        "cloud_gcloud",
        "cloud_ibmcloud",
        "cloud_skytap",
        "database_postgres",
        "database_db2",
        "database_oracledb",
        "database_sqlserver",
        "database_timescaledb",
        "database_mongodb",
        "container_docker",
        "container_kubernetes",
        "container_openshift",
        "container_tanzu",
        "backup_ibmtsm",
        "backup_netbackup",
        "backup_veeam",
        "backup_commvault",
        "serversp_didrac",
        "serversp_hpeilo",
        "serversp_lxclarity"
    ]
}
Type de CMDB retenu pour l’étape suivante : storage

Étape 2 – Obtenir les tables du CMDB pour un type donné

Ce point d’API retourne toutes les tables CMDB disponibles sous le type de CMDB choisi.
L’une de ces tables est nécessaire pour exporter les données du CMDB.

Requête : GET /api/public/v1/cmdb/tables/{cmdb_type}

exemple curl (avec « storage ») :
curl --location 'https://<xormon host>:8443/api/public/v1/cmdb/tables/storage' \
  --header 'apiKey: yourKey'

Example response:
{
    "statusCode": 200,
    "data": [
        "HW",
        "Volume",
        "Snapshot"
    ]
}
Table du CMDB retenue pour l’export : HW

Étape 3 – Exporter la table du CMDB au format CSV

Ce point d’API exporte au format CSV la table du CMDB choisie.
L’export contient les valeurs brutes, sans les transformations de l’interface : les valeurs sont par exemple en octets et non en GB.

Requête : GET /api/public/v1/cmdb/table/{cmdb_type}/{cmdb_table}

exemple curl (storage + HW) :
curl --location 'https://<xormon host>:8443/api/public/v1/cmdb/table/storage/HW' \
  --header 'apiKey: yourKey'

Optional: Save CSV directly to a file
curl --location 'https://<xormon host>:8443/api/public/v1/cmdb/table/storage/HW' \
  --header 'apiKey: yourKey' \
  --output storage_HW.csv

Récapitulatif

  1. Récupérer les types du CMDB : GET /api/public/v1/cmdb/types
  2. Récupérer les tables CMDB d’un type : GET /api/public/v1/cmdb/tables/storage
  3. Exporter une table du CMDB en CSV : GET /api/public/v1/cmdb/table/storage/HW

Liste de toutes les tables

Pour lister vos combinaisons réelles de type, table et chemin, lancez ce script
Pour qu’il fonctionne, adaptez les variables du script à votre URL et à une clé d’API valide :
BASE_URL="https://<xormon host>:8443/api/public/v1/cmdb"
API_KEY="e69403787286d3a78002eeef995bf38f"
#!/bin/bash

BASE_URL="https://<xormon host>:8443/api/public/v1/cmdb"
API_KEY="e69403787286d3a78002eeef995bf38f"

OUTPUT_FILE="cmdb_tables.csv"

# Truncate output file
> "$OUTPUT_FILE"

# Get CMDB types
types=$(curl -k \
  --header "apiKey: $API_KEY" \
  "$BASE_URL/types" \
  | jq -r '.data[]')

for type in $types; do
  tables=$(curl -k \
    --header "apiKey: $API_KEY" \
    "$BASE_URL/tables/$type" \
    | jq -r '.data[]')

  for table in $tables; do
    echo "$type;$table;/api/public/v1/cmdb/table/$type/$table" >> "$OUTPUT_FILE"
  done
done
TypeTablePath
storageHW/api/public/v1/cmdb/table/storage/HW
storagePool/api/public/v1/cmdb/table/storage/Pool
storageVolume/api/public/v1/cmdb/table/storage/Volume
storageSnapshot/api/public/v1/cmdb/table/storage/Snapshot
storageSystem/api/public/v1/cmdb/table/storage/System
storageNode/api/public/v1/cmdb/table/storage/Node
storageDrive/api/public/v1/cmdb/table/storage/Drive
storagePort/api/public/v1/cmdb/table/storage/Port
sanDevice/api/public/v1/cmdb/table/san/Device
sanSAN/api/public/v1/cmdb/table/san/SAN
sanPort/api/public/v1/cmdb/table/san/Port
lanDevice/api/public/v1/cmdb/table/lan/Device
lanLAN/api/public/v1/cmdb/table/lan/LAN
lanPort/api/public/v1/cmdb/table/lan/Port
lanVLAN/api/public/v1/cmdb/table/lan/VLAN
lanconfiguration/api/public/v1/cmdb/table/lan/configuration
lanPort/api/public/v1/cmdb/table/lan/Port
lanchannel/api/public/v1/cmdb/table/lan/channel
tapeDevice/api/public/v1/cmdb/table/tape/Device
tapeLogical/api/public/v1/cmdb/table/tape/Logical
tapeLibrary/api/public/v1/cmdb/table/tape/Library
tapeDrive/api/public/v1/cmdb/table/tape/Drive
tapeRobotic/api/public/v1/cmdb/table/tape/Robotic
tapeAccessors/api/public/v1/cmdb/table/tape/Accessors
tapeEvent/api/public/v1/cmdb/table/tape/Event
tapeFrame/api/public/v1/cmdb/table/tape/Frame
tapeI/O/api/public/v1/cmdb/table/tape/I/O
tapeStation/api/public/v1/cmdb/table/tape/Station
tapePower/api/public/v1/cmdb/table/tape/Power
tapeSupply/api/public/v1/cmdb/table/tape/Supply
tapeEthernet/api/public/v1/cmdb/table/tape/Ethernet
tapePort/api/public/v1/cmdb/table/tape/Port
tapeFC/api/public/v1/cmdb/table/tape/FC
tapePort/api/public/v1/cmdb/table/tape/Port
tapeLibrary/api/public/v1/cmdb/table/tape/Library
tapeTower/api/public/v1/cmdb/table/tape/Tower
tapeBlade/api/public/v1/cmdb/table/tape/Blade
tapeMagazine/api/public/v1/cmdb/table/tape/Magazine
tapeRobot/api/public/v1/cmdb/table/tape/Robot
tapeSlot/api/public/v1/cmdb/table/tape/Slot
virtualization_proxmoxVM/api/public/v1/cmdb/table/virtualization_proxmox/VM
virtualization_proxmoxLXC/api/public/v1/cmdb/table/virtualization_proxmox/LXC
virtualization_proxmoxNode/api/public/v1/cmdb/table/virtualization_proxmox/Node
virtualization_proxmoxStorage/api/public/v1/cmdb/table/virtualization_proxmox/Storage
virtualization_nutanixCluster/api/public/v1/cmdb/table/virtualization_nutanix/Cluster
virtualization_nutanixHost/api/public/v1/cmdb/table/virtualization_nutanix/Host
virtualization_nutanixVM/api/public/v1/cmdb/table/virtualization_nutanix/VM
virtualization_nutanixDisk/api/public/v1/cmdb/table/virtualization_nutanix/Disk
virtualization_nutanixVirtual/api/public/v1/cmdb/table/virtualization_nutanix/Virtual
virtualization_nutanixdisk/api/public/v1/cmdb/table/virtualization_nutanix/disk
virtualization_nutanixStorage/api/public/v1/cmdb/table/virtualization_nutanix/Storage
virtualization_nutanixpool/api/public/v1/cmdb/table/virtualization_nutanix/pool
virtualization_nutanixStorage/api/public/v1/cmdb/table/virtualization_nutanix/Storage
virtualization_nutanixcontainer/api/public/v1/cmdb/table/virtualization_nutanix/container
virtualization_linuxServer/api/public/v1/cmdb/table/virtualization_linux/Server
virtualization_linuxLAN/api/public/v1/cmdb/table/virtualization_linux/LAN
virtualization_linuxinterface/api/public/v1/cmdb/table/virtualization_linux/interface
virtualization_linuxSAN/api/public/v1/cmdb/table/virtualization_linux/SAN
virtualization_linuxinterface/api/public/v1/cmdb/table/virtualization_linux/interface
virtualization_powerServer/api/public/v1/cmdb/table/virtualization_power/Server
virtualization_powerLPAR/api/public/v1/cmdb/table/virtualization_power/LPAR
virtualization_powerShared/api/public/v1/cmdb/table/virtualization_power/Shared
virtualization_powerCPU/api/public/v1/cmdb/table/virtualization_power/CPU
virtualization_powerPool/api/public/v1/cmdb/table/virtualization_power/Pool
virtualization_powerVirtual/api/public/v1/cmdb/table/virtualization_power/Virtual
virtualization_powerNetwork/api/public/v1/cmdb/table/virtualization_power/Network
virtualization_powervSwitch/api/public/v1/cmdb/table/virtualization_power/vSwitch
virtualization_powerNPIV/api/public/v1/cmdb/table/virtualization_power/NPIV
virtualization_powerPhysical/api/public/v1/cmdb/table/virtualization_power/Physical
virtualization_powerVolume/api/public/v1/cmdb/table/virtualization_power/Volume
virtualization_powerSEA/api/public/v1/cmdb/table/virtualization_power/SEA
virtualization_powerTrunk/api/public/v1/cmdb/table/virtualization_power/Trunk
virtualization_powerBacking/api/public/v1/cmdb/table/virtualization_power/Backing
virtualization_powerSEA/api/public/v1/cmdb/table/virtualization_power/SEA
virtualization_powerLink/api/public/v1/cmdb/table/virtualization_power/Link
virtualization_powerAggregation/api/public/v1/cmdb/table/virtualization_power/Aggregation
virtualization_powerFree/api/public/v1/cmdb/table/virtualization_power/Free
virtualization_powerLink/api/public/v1/cmdb/table/virtualization_power/Link
virtualization_powerAggregation/api/public/v1/cmdb/table/virtualization_power/Aggregation
virtualization_powerPool/api/public/v1/cmdb/table/virtualization_power/Pool
virtualization_powerCMC/api/public/v1/cmdb/table/virtualization_power/CMC
virtualization_powerServer/api/public/v1/cmdb/table/virtualization_power/Server
virtualization_powerClient/api/public/v1/cmdb/table/virtualization_power/Client
virtualization_powerNetwork/api/public/v1/cmdb/table/virtualization_power/Network
virtualization_powerAdapter/api/public/v1/cmdb/table/virtualization_power/Adapter
virtualization_powervSCSI/api/public/v1/cmdb/table/virtualization_power/vSCSI
virtualization_powerIO/api/public/v1/cmdb/table/virtualization_power/IO
virtualization_powerslot/api/public/v1/cmdb/table/virtualization_power/slot
virtualization_powerIO/api/public/v1/cmdb/table/virtualization_power/IO
virtualization_powerBus/api/public/v1/cmdb/table/virtualization_power/Bus
virtualization_powerProfile/api/public/v1/cmdb/table/virtualization_power/Profile
virtualization_powerIO/api/public/v1/cmdb/table/virtualization_power/IO
virtualization_powerslot/api/public/v1/cmdb/table/virtualization_power/slot
virtualization_vmwareVM/api/public/v1/cmdb/table/virtualization_vmware/VM
virtualization_vmwareFibreChannel/api/public/v1/cmdb/table/virtualization_vmware/FibreChannel
virtualization_vmwareDatastore/api/public/v1/cmdb/table/virtualization_vmware/Datastore
virtualization_vmwareVM/api/public/v1/cmdb/table/virtualization_vmware/VM
virtualization_vmwarevCenter/api/public/v1/cmdb/table/virtualization_vmware/vCenter
virtualization_vmwareDatastore/api/public/v1/cmdb/table/virtualization_vmware/Datastore
virtualization_vmwareESXi/api/public/v1/cmdb/table/virtualization_vmware/ESXi
virtualization_vmwareCluster/api/public/v1/cmdb/table/virtualization_vmware/Cluster
virtualization_vmwareResource/api/public/v1/cmdb/table/virtualization_vmware/Resource
virtualization_vmwarepool/api/public/v1/cmdb/table/virtualization_vmware/pool
virtualization_ovirtHost/api/public/v1/cmdb/table/virtualization_ovirt/Host
virtualization_ovirtVM/api/public/v1/cmdb/table/virtualization_ovirt/VM
virtualization_ovirtDisk/api/public/v1/cmdb/table/virtualization_ovirt/Disk
virtualization_ovirtStorage/api/public/v1/cmdb/table/virtualization_ovirt/Storage
virtualization_ovirtdomain/api/public/v1/cmdb/table/virtualization_ovirt/domain
virtualization_windowsServer/api/public/v1/cmdb/table/virtualization_windows/Server
virtualization_windowsVM/api/public/v1/cmdb/table/virtualization_windows/VM
virtualization_windowsDisk/api/public/v1/cmdb/table/virtualization_windows/Disk
virtualization_windowsCluster/api/public/v1/cmdb/table/virtualization_windows/Cluster
cloud_azureAzure/api/public/v1/cmdb/table/cloud_azure/Azure
cloud_azureVirtual/api/public/v1/cmdb/table/cloud_azure/Virtual
cloud_azureMachine/api/public/v1/cmdb/table/cloud_azure/Machine
cloud_azureAzure/api/public/v1/cmdb/table/cloud_azure/Azure
cloud_azureStorage/api/public/v1/cmdb/table/cloud_azure/Storage
cloud_azureAccount/api/public/v1/cmdb/table/cloud_azure/Account
cloud_awsElastic/api/public/v1/cmdb/table/cloud_aws/Elastic
cloud_awsCompute/api/public/v1/cmdb/table/cloud_aws/Compute
cloud_awsCloud/api/public/v1/cmdb/table/cloud_aws/Cloud
cloud_awsElastic/api/public/v1/cmdb/table/cloud_aws/Elastic
cloud_awsBlock/api/public/v1/cmdb/table/cloud_aws/Block
cloud_awsStore/api/public/v1/cmdb/table/cloud_aws/Store
cloud_awsLambda/api/public/v1/cmdb/table/cloud_aws/Lambda
cloud_awsAPI/api/public/v1/cmdb/table/cloud_aws/API
cloud_awsGateway/api/public/v1/cmdb/table/cloud_aws/Gateway
cloud_gcloudCloud/api/public/v1/cmdb/table/cloud_gcloud/Cloud
cloud_gcloudCompute/api/public/v1/cmdb/table/cloud_gcloud/Compute
database_postgresCluster/api/public/v1/cmdb/table/database_postgres/Cluster
database_oracledbDB/api/public/v1/cmdb/table/database_oracledb/DB
database_oracledbfolder/api/public/v1/cmdb/table/database_oracledb/folder
container_kubernetesPod/api/public/v1/cmdb/table/container_kubernetes/Pod
container_openshiftNode/api/public/v1/cmdb/table/container_openshift/Node
container_openshiftPod/api/public/v1/cmdb/table/container_openshift/Pod
backup_ibmtsmDevice/api/public/v1/cmdb/table/backup_ibmtsm/Device
backup_netbackupDevice/api/public/v1/cmdb/table/backup_netbackup/Device
backup_veeamDevice/api/public/v1/cmdb/table/backup_veeam/Device
backup_commvaultDevice/api/public/v1/cmdb/table/backup_commvault/Device
backup_commvaultDisk/api/public/v1/cmdb/table/backup_commvault/Disk
backup_commvaultStorage/api/public/v1/cmdb/table/backup_commvault/Storage
backup_commvaultCloud/api/public/v1/cmdb/table/backup_commvault/Cloud
backup_commvaultStorage/api/public/v1/cmdb/table/backup_commvault/Storage
backup_commvaultHyperScale/api/public/v1/cmdb/table/backup_commvault/HyperScale
backup_commvaultStorage/api/public/v1/cmdb/table/backup_commvault/Storage
backup_commvaultLocal/api/public/v1/cmdb/table/backup_commvault/Local
backup_commvaultStorage/api/public/v1/cmdb/table/backup_commvault/Storage
backup_commvaultLibrary/api/public/v1/cmdb/table/backup_commvault/Library
backup_commvaultVM/api/public/v1/cmdb/table/backup_commvault/VM
backup_commvaultBackup/api/public/v1/cmdb/table/backup_commvault/Backup
backup_commvaultSQL/api/public/v1/cmdb/table/backup_commvault/SQL
backup_commvaultBackup/api/public/v1/cmdb/table/backup_commvault/Backup
backup_commvaultOracle/api/public/v1/cmdb/table/backup_commvault/Oracle
backup_commvaultBackup/api/public/v1/cmdb/table/backup_commvault/Backup
backup_commvaultFile/api/public/v1/cmdb/table/backup_commvault/File
backup_commvaultSystem/api/public/v1/cmdb/table/backup_commvault/System
backup_commvaultBackup/api/public/v1/cmdb/table/backup_commvault/Backup
backup_commvaultExchange/api/public/v1/cmdb/table/backup_commvault/Exchange
backup_commvaultBackup/api/public/v1/cmdb/table/backup_commvault/Backup
backup_commvaultMySQL/api/public/v1/cmdb/table/backup_commvault/MySQL
backup_commvaultBackup/api/public/v1/cmdb/table/backup_commvault/Backup
backup_commvaultPostgreSQL/api/public/v1/cmdb/table/backup_commvault/PostgreSQL
backup_commvaultBackup/api/public/v1/cmdb/table/backup_commvault/Backup
backup_commvaultSAP/api/public/v1/cmdb/table/backup_commvault/SAP
backup_commvaultBackup/api/public/v1/cmdb/table/backup_commvault/Backup
backup_commvaultMicrosoft/api/public/v1/cmdb/table/backup_commvault/Microsoft
backup_commvault365/api/public/v1/cmdb/table/backup_commvault/365
backup_commvaultBackup/api/public/v1/cmdb/table/backup_commvault/Backup
backup_commvaultHyper-V/api/public/v1/cmdb/table/backup_commvault/Hyper-V
backup_commvaultBackup/api/public/v1/cmdb/table/backup_commvault/Backup
backup_commvaultSharePoint/api/public/v1/cmdb/table/backup_commvault/SharePoint
backup_commvaultBackup/api/public/v1/cmdb/table/backup_commvault/Backup
backup_commvaultOther/api/public/v1/cmdb/table/backup_commvault/Other
backup_commvaultBackup/api/public/v1/cmdb/table/backup_commvault/Backup
backup_commvaultJob/api/public/v1/cmdb/table/backup_commvault/Job
backup_commvaultTimeline/api/public/v1/cmdb/table/backup_commvault/Timeline
serversp_didracDevice/api/public/v1/cmdb/table/serversp_didrac/Device
serversp_didracSystem/api/public/v1/cmdb/table/serversp_didrac/System
serversp_didracManager/api/public/v1/cmdb/table/serversp_didrac/Manager
serversp_didracChassis/api/public/v1/cmdb/table/serversp_didrac/Chassis
serversp_didracPower/api/public/v1/cmdb/table/serversp_didrac/Power
serversp_didracSupply/api/public/v1/cmdb/table/serversp_didrac/Supply
serversp_hpeiloDevice/api/public/v1/cmdb/table/serversp_hpeilo/Device
serversp_hpeiloSystem/api/public/v1/cmdb/table/serversp_hpeilo/System
serversp_hpeiloManager/api/public/v1/cmdb/table/serversp_hpeilo/Manager
serversp_hpeiloChassis/api/public/v1/cmdb/table/serversp_hpeilo/Chassis
serversp_hpeiloPower/api/public/v1/cmdb/table/serversp_hpeilo/Power
serversp_hpeiloSupply/api/public/v1/cmdb/table/serversp_hpeilo/Supply