wiki:la-cli

Version 2 (modified by nanardon, 19 months ago) (diff)

--

La commande la-cli ouvre un environnement en ligne de commande facilitant la gestion de masse des objets au sein de Link::Accounts.

Premiers pas

Lancer la-cli

[root@yuko ~]# la-cli
latmostest cli=>

Classiquement la touche tab permet d’accéder à la completion:

latmostest cli=> 
!            commit       create       exit         expires      help         log          newalias     quit         rollback     select       unexported   user         
begin        config       exchangeip   expired      group        loadcsv      ls           query        rmalias      search       transaction  updalias
latmostest cli=>

et la commande help donne l'aide: sans argument elle liste les commandes disponibles, elle accepte le nom d'une fonction en argument:

latmostest cli=> help
!, begin, commit, config, create, exchangeip, exit, expired, expires, group, help, loadcsv, log, ls, newalias, query, quit, rmalias, rollback, search, select, transaction, unexported, updalias, user
latmostest cli=> help search
search objecttype filter1 [filter2...] - search object according filter
latmostest cli=> 

A noter que commande --help donne le même résultat que help commande

latmostest cli=> search --help
search objecttype filter1 [filter2...] - search object according filter
latmostest cli=>

Sélections et envirronement

Sélectionner des objets

Avec la commande select il est possible de... sélectionner un ou plusieurs objets. Un nouvel environnement est créé:

latmostest cli=> select user bob
Selecting user bob
latmostest user/bob=>

On peut ajout ou retirer des objets avec les commandes + et -:

latmostest user/bob=> + alice 
select is now user: bob, alice
latmostest user/(2 obj.)=>

Notez le changement du prompt qui indique le type d'objets sélectionnés et soit l'id de l'objet ou leur nombre.

On peut connaitre la sélection avec list (ou ls)

latmostest user/(2 obj.)=> ls
user: bob alice

Sous Selection

Par attribut réferent

Lorsqu'un attribut fait référence à d'autres objets ils possible de sous sélectionner tout les objets pointé par la sélection.

Exemple: l'attribut memberOf d'un utilisateur référence des groupes. Avec la-cli il est possible de sélectionner tout les groupes dont sont membres des utilisateurs:

latmostest cli=> select user bob alice 
Selecting user bob, alice
latmostest user/(2 obj.)=> ls
user: bob alice
latmostest user/(2 obj.)=> select memberOf 
Selecting group alkitty bokitty kitty test
latmostest user/group/(4 obj.)=>

En faisant cela les environnements s'empilent, en tapant exit on revient à environnement de niveau supérieur:

latmostest user/group/(4 obj.)=> ls
group: alkitty bokitty kitty test
latmostest user/group/(4 obj.)=> exit

latmostest user/(2 obj.)=> ls
user: bob alice
latmostest user/(2 obj.)=> exit

latmostest cli=>

Il est possible d'appeler une commande au sein de l'environnement parent sans quitter l'environnement courant en préfixant la commande par des ../, comme sous UNIX:

latmostest user/group/(4 obj.)=> ls
group: alkitty kitty bokitty test
latmostest user/group/(4 obj.)=> ../ls 
user: bob alice
latmostest user/group/(4 obj.)=>