Version 3 (modified by nanardon, 4 years 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.)=>
Requêtes et modification d'objets
Avec la selection de plusieurs objet la-cli permet d'interroger et modifier en un seul appel un groupe d'objets.
La commande show permet de voir un attribut:
latmostest cli=> select user allan alice Selecting user Allan Kitty, Alice Kitty latmostest user/(2 obj.)=> show givenName allan: Allan alice: Alice latmostest user/(2 obj.)=>
Avec les commandes set et unset il est possible modifier les attributs:
latmostest user/(2 obj.)=> show sn allan: Kitty alice: Kitty latmostest user/(2 obj.)=> set sn KITTY Done. latmostest user/(2 obj.)=> show sn allan: KITTY alice: KITTY latmostest user/(2 obj.)=>
Dans ce cas tout l'attribut concerné prendra la même valeur sur tout les objets.
Pour les attributs multivalués on peut ajouter ou retirer une valeur à chaque objet sans modifier les valeurs déjà placées avec les commandes add et remove:
latmostest user/(3 obj.)=> show memberOf allan: alkitty allan: test alice: alkitty alice: test bob: bokitty bob: kitty bob: test latmostest user/(3 obj.)=> add memberOf admcmpt done latmostest user/(3 obj.)=> show memberOf allan: admcmpt allan: alkitty allan: test alice: admcmpt alice: alkitty alice: test bob: admcmpt bob: bokitty bob: kitty bob: test latmostest user/(3 obj.)=>