Skip to content

Module Lua config

Le module config permet d'accéder en lecture seule à la configuration de l'agent depuis les scripts Lua.

Import

Pour importer le module en Lua :

local config = require("config")

Configuration YAML

Ce module ne nécessite pas de configuration spécifique dans le fichier de configuration de l'agent. Il est automatiquement chargé lors du démarrage de l'agent.

API Lua

Liste des fonctions

Fonction Signature Lua Rôle Retour (succès) Retour (échec)
all cfg, err = config.all() Récupère la configuration complète. table, nil nil, "msg"
get val, err = config.get(path) Récupère une valeur à un chemin. any, nil nil, "msg"
prefix cfg, err = config.prefix(prefix) Récupère la configuration filtrée par préfixe. table, nil nil, "msg"
Champs config.name, config.type Métadonnées du module.

config.all()

Retourne la configuration complète de l'agent sous forme de table Lua.

  • Paramètres : Aucun.

  • Retour :

  • En cas de succès : table Lua contenant toute la configuration, nil.
  • En cas d'erreur : nil, message d'erreur.
local config = require("config")

local all, err = config.all()
if err then
    print("Erreur : " .. err)
else
    print("Identifiant : " .. all.global.ident)
end

config.get(path)

Retourne la valeur de la configuration à un chemin spécifique.

  • Paramètres :
  • path (string) : Chemin de la configuration à récupérer, au format section.key (ex. "global.client_root").

  • Retour :

  • En cas de succès : la valeur de la configuration, nil.
  • En cas d'erreur : nil, message d'erreur.
local config = require("config")

local client_root, err = config.get("global.client_root")
if err then
    print("Erreur : " .. err)
else
    print("Client root : " .. client_root)
end

config.prefix(prefix)

Retourne toutes les valeurs de configuration correspondant à un préfixe donné.

  • Paramètres :
  • prefix (string) : Préfixe de la configuration à récupérer (ex. "global", "iot").

  • Retour :

  • En cas de succès : table Lua contenant la configuration filtrée, nil.
  • En cas d'erreur : nil, message d'erreur.
local config = require("config")

local iot, err = config.prefix("iot")
if err then
    print("Erreur : " .. err)
else
    -- Afficher la configuration IoT
    for k, v in pairs(iot) do
        print(k .. " = " .. tostring(v))
    end
end

Exemple complet

local config = require("config")

-- Récupérer l'identifiant de l'agent
local ident, err = config.get("global.ident")
if ident then
    print("Agent : " .. ident)
end

-- Récupérer la configuration complète
local all, err = config.all()
if all then
    print("Modules configurés :")
    if all.iot and all.iot.modules then
        for modType, instances in pairs(all.iot.modules) do
            print("  - " .. modType)
        end
    end
end

Champs Lua associés

  • config.name : Retourne le nom de l'instance du module.
  • config.type : Retourne le type du module ("config").