CLI fun
Cette page répertorie toutes les commandes de la CLI fun avec leurs options, les fichiers de configuration qu'elle lit et écrit, ainsi que les variables d'environnement qu'elle reconnaît. Pour une introduction orientée tâches, lisez La CLI fun.
L'aide de référence pour votre version installée est toujours fun <command> --help. La référence complète des commandes, générée automatiquement, est publiée à l'adresse https://cli.fundamentum-iot.com/reference/fun.html.
Options globales
| Option | Description |
|---|---|
--config <dir> |
Lit et écrit la configuration dans ce répertoire au lieu de la recherche par défaut |
-v, --version |
Affiche la version de la CLI (commande racine uniquement) |
-h, --help |
Aide pour n'importe quelle commande |
--context <name> sélectionne un contexte enregistré (par défaut default). Elle est acceptée par toutes les commandes qui appellent Fundamentum : les opérations fun api, fun api refresh, fun functions …, fun devices port-forward et fun devices transfer ….
Arborescence des commandes
Session et configuration
| Commande | Description |
|---|---|
fun login |
Connecte votre session via votre navigateur et enregistre le jeton dans un contexte. Demande le nom du contexte, le point de terminaison de l'API (par défaut https://api.fundamentum-iot.com) et le point de terminaison OAuth (par défaut https://oauth.fundamentum-iot.com). Exécutez-la à nouveau sur un contexte existant pour rafraîchir son jeton |
fun login --override |
Modifie les points de terminaison d'un contexte existant |
fun login --no-check |
Ignore la vérification de l'état de santé des points de terminaison |
fun config contexts list |
Liste les contextes enregistrés. Les clés sont masquées |
fun config dir |
Affiche le répertoire de configuration utilisé |
fun check-update |
Compare votre version avec la dernière version publiée sur cli.fundamentum-iot.com |
fun install-skills |
Installe les skills d'agents IA fournies, voir Agents IA et skills |
fun completion bash|zsh|fish|powershell |
Affiche un script de complétion pour le shell, y compris les commandes fun api |
Appareils
| Commande | Options | Description |
|---|---|---|
fun devices port-forward (alias pf) |
-p, --project, -r, --registry, -s, --serial, -l, --local-port, -d, --remote-port (toutes obligatoires) |
Redirige un port de l'appareil vers un port local. Appuyez sur n'importe quelle touche pour arrêter |
fun devices transfer cloud-to-device |
-p, --project, -r, --registry, -d, --device ou -s, --serial, --remote-path, -f, --file |
Envoie un fichier local vers l'appareil. --file doit être un chemin relatif à l'intérieur du répertoire courant |
fun devices transfer device-to-cloud |
-p, --project, -r, --registry, -d, --device ou -s, --serial, --remote-path, -n, --name |
Récupère un fichier depuis l'appareil et l'enregistre localement sous le nom --name. Attend jusqu'à 2 minutes pour le téléversement |
--device (identifiant numérique de l'appareil) et --serial sont mutuellement exclusifs ; indiquez-en un seul. Les numéros de série ne contiennent que des lettres minuscules, des chiffres, _ et -.
Voir Terminal distant et redirection de ports et Transferts de fichiers.
Fonctions
| Commande | Options | Description |
|---|---|---|
fun functions list |
--project (obligatoire), --per-page (25 par défaut, 100 au maximum) |
Liste les fonctions d'un projet |
fun functions new <name> [definition.json] |
--project, --language, --description, --connector <in>:<out> (répétable), --variable KEY=VALUE (répétable), --ask, --override |
Crée une fonction et l'enregistre localement sous <name> |
fun functions edit <name> [definition.json] |
Modifie la définition d'une fonction | |
fun functions upload <name> <file.wasm> |
Téléverse un nouveau binaire WebAssembly | |
fun functions invoke |
-n, --name, ou -p, --project avec -f, --function-id ; -i, --input-file |
Invoque une fonction. Sans --input-file, l'entrée est lue depuis stdin |
fun functions executions list |
-n, --name, ou -p, --project avec -f, --function-id ; --per-page |
Liste les exécutions récentes avec leurs journaux et leurs erreurs |
fun functions names list |
Liste les noms de fonctions enregistrés localement | |
fun functions names add <name> |
-p, --project, -f, --function (les deux obligatoires), --override |
Enregistre une fonction existante sous un nom local |
Sans fichier de définition, fun functions new nécessite --project, --language et --description, ou --ask pour les demander de manière interactive. Voir Fonctions cloud : moteur d'exécution et SDK.
Public API
| Commande | Description |
|---|---|
fun api refresh |
Télécharge et met en cache les spécifications de la Public API (/v1/api/swagger.json et /v2/api/openapi.json) pour le contexte actif |
fun api v1 --help, fun api v2 --help |
Liste les groupes d'une version |
fun api <version> <group> <operation> [flags] |
Appelle une opération |
Les groupes proviennent des tags de la spécification et les opérations des identifiants d'opération, tous deux en kebab-case. Par exemple, le tag v2 Service Accounts devient service-accounts et l'opération listServiceAccounts devient list-service-accounts.
Options des opérations :
| Option | Description |
|---|---|
--<parameter> |
Une option par paramètre de chemin, de requête ou d'en-tête, en kebab-case (project_id et projectId deviennent tous deux --project-id). Les paramètres de chemin sont obligatoires |
--body '<json>' |
Corps de la requête sous forme de JSON en ligne |
--body-file <path> |
Corps de la requête depuis un fichier, ou - pour stdin |
--dry-run |
Affiche la requête sans l'envoyer : la ligne de requête et les en-têtes sur stderr, le corps sur stdout |
--data-only |
Affiche uniquement le champ data de la réponse |
--page <n> |
Sur les opérations paginées, récupère une seule page au lieu d'ouvrir le paginateur interactif |
--context <name> |
Utilise ce contexte |
Règles de sortie :
- Le JSON de la réponse va sur stdout. Le contexte actif et le statut HTTP vont sur stderr.
- Dans un terminal, les opérations
GETpaginées ouvrent un paginateur interactif, sauf si vous passez--page,--data-onlyou--dry-run. - L'arborescence
fun apisuit les spécifications publiées ; les noms de groupes et d'opérations peuvent donc changer lorsque les spécifications changent. Pour une automatisation qui doit continuer à fonctionner d'une version à l'autre, privilégiez les commandes organisées (fun devices,fun functions).
Fichiers de configuration
La CLI recherche son répertoire de configuration dans l'ordre suivant et utilise le premier trouvé :
--config <dir>$FUN_CONFIG_DIRECTORY$XDG_CONFIG_HOME/fun/(par défaut~/.config/fun/)$XDG_CONFIG_DIRS/fun/(par défaut/etc/xdg/fun/)./.fun/
| Fichier | Contenu |
|---|---|
contexts.json |
Vos contextes : points de terminaison et informations d'identification, indexés par nom de contexte |
functions.json |
Noms de fonctions locaux : context (facultatif), project et id pour chaque nom |
contexts.json :
{
"default": {
"fundamentum_iot_endpoint": "https://api.fundamentum-iot.com",
"oauth_endpoint": "https://oauth.fundamentum-iot.com",
"auth": { "type": "apikey", "key": "<token>" }
}
}
auth.type vaut apikey (un jeton bearer, que fun login écrit pour vous) ou none. Gardez ce fichier privé : il contient votre jeton.
Les spécifications d'API mises en cache sont stockées dans votre répertoire de cache utilisateur, sous fun/openapi/.
Variables d'environnement
| Variable | Effet |
|---|---|
FUN_CONFIG_DIRECTORY |
Répertoire de configuration, voir l'ordre de recherche ci-dessus |
FUN_CONTEXT_NAME |
Réponse par défaut à l'invite du nom de contexte de fun login |
FUN_CONTEXT_FUNDAMENTUM_IOT_ENDPOINT |
Point de terminaison de l'API. Lorsqu'elle est définie, la CLI utilise un contexte construit à partir de l'environnement au lieu de contexts.json. Également la réponse par défaut à l'invite du point de terminaison de fun login |
FUN_CONTEXT_API_KEY |
Jeton bearer pour le contexte d'environnement, par exemple un jeton de compte de service en CI |
FUN_OAUTH_FUNDAMENTUM_ENDPOINT |
Réponse par défaut à l'invite du point de terminaison OAuth de fun login |
FUN_PROJECT_ID |
Projet utilisé par fun functions new ; a priorité sur --project |
Chaque requête porte l'en-tête Authorization: Bearer <token>.