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 :
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 formatsection.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").