CMDB Meta API

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 4 minutes de lecture
  • La méta-API CMDB fournit des points de terminaison permettant d’obtenir les métadonnées d’une Base de données de gestion des configurations (CMDB) classe.

    Cette API nécessite que l’utilisateur dispose du rôle ITIL.

    CMDB Métadonnées : GET /now/cmdb/meta/{classname}

    Renvoie les métadonnées pour la classe spécifiée CMDB .

    Format d'URL

    URL versionnée : /api/now/{api_version}/cmdb/meta/{className}

    URL par défaut : /api/now/cmdb/meta/{className}

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    Paramètres de demande pris en charge

    Tableau 1. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Par exemple, v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    Nom de classe CMDB Nom de classe. Il s’agit du nom de la table qui contient les enregistrements de CI souhaités, tels que cmdb_ci_linux_server ou cmdb_ci_apache_web_server.

    Type de données : chaîne

    Tableau 2. Paramètres de requête
    Nom Description
    Néant
    Tableau 3. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    Néant

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 4. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Tableau 5. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 6. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    401 Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises.
    404 Introuvable. L’élément demandé est introuvable.
    500 Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur.

    Paramètres du corps de la réponse (JSON ou XML)

    Élément Description
    attributs Champs disponibles dans la table de classes spécifiée.

    Type de données : tableau

    enfants Liste des classes étendues à partir de la classe spécifiée.

    Type de données : tableau

    icône Icône de classe sys_id.

    Type de données : chaîne

    icon_url URL de l’icône de classe.

    Type de données : chaîne

    identification_rules Attributs associés aux règles d’identification d’élément de configuration pour la classe spécifiée.

    Type de données : objet

    is_extendable Marqueur indiquant si la classe peut être étendue pour créer d’autres classes.
    Valeurs possibles :
    • true : la classe peut être étendue.
    • faux : la classe ne peut pas être étendue.

    Type de données : booléennes

    étiquette Nom d’affichage de la classe spécifiée.

    Type de données : chaîne

    nom Nom de table/classe.

    Type de données : chaîne

    parent Classe parente.

    Type de données : chaîne

    relationship_rules Relations entre la classe spécifiée et d’autres classes dans le .CMDB

    Type de données : tableau

    Exemple de demande cURL

    curl "https://instance.servicenow/api/now/cmdb/meta/cmdb_ci_computer" \
    --request GET \
    --header "Accept:application/json" \
    --user 'username':'password'
    
    {
      "result": {
        "icon_url": "images/app.ngbsm/computer.svg",
        "is_extendable": true,
        "parent": "cmdb_ci_hardware",
        "children": [
          "cmdb_ci_ucs_blade",
          "cmdb_ci_pc_hardware",
          "cmdb_ci_ucs_rack_unit",
          "cmdb_ci_mainframe_hardware",
          "cmdb_ci_server",
          "cmdb_ci_storage_switch"
        ],
        "name": "cmdb_ci_computer",
        "icon": "c6442dd69fb00200eb3919eb552e7012",
        "attributes": [
          {
            "is_inherited": "false",
            "is_mandatory": "false",
            "is_read_only": "false",
            "default_value": null,
            "label": "OS Address Width (bits)",
            "type": "integer",
            "element": "os_address_width",
            "max_length": "40",
            "is_display": "false"
          },
          {
            "is_inherited": "true",
            "is_mandatory": "false",
            "is_read_only": "true",
            "default_value": "false",
            "label": "Skip sync",
            "type": "boolean",
            "element": "skip_sync",
            "max_length": "40",
            "is_display": "false"
          },
          {
            "is_inherited": "true",
            "is_mandatory": "false",
            "is_read_only": "false",
            "default_value": null,
            "label": "DNS Domain",
            "type": "string",
            "element": "dns_domain",
            "max_length": "255",
            "is_display": "false"
          },
          {
            "is_inherited": "true",
            "is_mandatory": "false",
            "is_read_only": "false",
            "default_value": null,
            "label": "Purchased",
            "type": "glide_date",
            "element": "purchase_date",
            "max_length": "40",
            "is_display": "false"
          },
          {
            "is_inherited": "true",
            "is_mandatory": "false",
            "is_read_only": "false",
            "default_value": null,
            "label": "Lease contract",
            "type": "string",
            "element": "lease_id",
            "max_length": "40",
            "is_display": "false"
          }
        ],
        "relationship_rules": [
          {
            "parent": "cmdb_ci_computer",
            "relation_type": "cb5592603751200032ff8c00dfbe5d17",
            "child": "dscy_route_next_hop"
          },
          {
            "parent": "cmdb_ci_computer",
            "relation_type": "cb5592603751200032ff8c00dfbe5d17",
            "child": "dscy_router_interface"
          },
          {
            "parent": "cmdb_ci_computer",
            "relation_type": "cb5592603751200032ff8c00dfbe5d17",
            "child": "dscy_route_interface"
          },
          {
            "parent": "cmdb_ci_computer",
            "relation_type": "55c95bf6c0a8010e0118ec7056ebc54d",
            "child": "cmdb_ci_storage_pool"
          },
          {
            "parent": "cmdb_ci_computer",
            "relation_type": "55c95bf6c0a8010e0118ec7056ebc54d",
            "child": "cmdb_ci_disk_partition"
          },
          {
            "parent": "cmdb_ci_computer",
            "relation_type": "55c95bf6c0a8010e0118ec7056ebc54d",
            "child": "cmdb_ci_storage_volume"
          },
          {
            "parent": "cmdb_ci_computer",
            "relation_type": "55c95bf6c0a8010e0118ec7056ebc54d",
            "child": "cmdb_ci_storage_device"
          }
        ],
        "label": "Computer",
        "identification_rules": {
          "related_rules": [
            {
              "condition": "",
              "exact_count_match": false,
              "referenced_field": "installed_on",
              "active": true,
              "attributes": "name",
              "allow_fallback": false,
              "table": "cmdb_print_queue_instance",
              "order": 100,
              "allow_null_attribute": false
            }
          ],
          "applies_to": "cmdb_ci_hardware",
          "identifiers": [
            {
              "condition": "valid=true^absent=false^EQ",
              "exact_count_match": true,
              "referenced_field": "cmdb_ci",
              "active": true,
              "attributes": "serial_number,serial_number_type",
              "allow_fallback": false,
              "table": "cmdb_serial_number",
              "order": 100,
              "allow_null_attribute": false
            },
            {
              "condition": null,
              "exact_count_match": false,
              "referenced_field": null,
              "active": true,
              "attributes": "serial_number",
              "allow_fallback": false,
              "table": null,
              "order": 200,
              "allow_null_attribute": false
            },
            {
              "condition": null,
              "exact_count_match": false,
              "referenced_field": null,
              "active": true,
              "attributes": "name",
              "allow_fallback": false,
              "table": null,
              "order": 300,
              "allow_null_attribute": false
            },
            {
              "condition": "install_status!=100^EQ",
              "exact_count_match": true,
              "referenced_field": "cmdb_ci",
              "active": true,
              "attributes": "ip_address,mac_address",
              "allow_fallback": false,
              "table": "cmdb_ci_network_adapter",
              "order": 400,
              "allow_null_attribute": false
            }
          ],
          "name": "Hardware Rule",
          "description": "Identifier for hardware.",
          "active": true,
          "is_independent": true
        }
      }
    }