Ansible et Playbook. Comment convertir des commandes shell en syntaxe yaml?

Je suis un débutant dans Ansible et je ne comprends pas comment tout le monde écrit facilement des commandes shell dans la syntaxe Ansible / YAML. Peut-être j’ai raté une page de la documentation où il est bien expliqué.

Par exemple: Que dois-je écrire dans mon playbook.yml si je veux exécuter ces commandes sur mes machines distantes:

 sudo apt-get install software-properties-common sudo apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db sudo add-apt-repository 'deb http://mariadb.biz.net.id//repo/5.5/ubuntu precise main' 

Je pense que ce serait quelque chose comme ça:

 - name: install mariadb apt: ... sudo: yes 

En tant que modules de commande shell bruts, vous ferez l’affaire pour une traduction simple des scripts bash. Ils finiront rarement par être des actions idempotentes. Ils ne peuvent pas être exécutés deux fois sans produire d’erreurs.

La façon la plus simple de procéder consiste à utiliser les modules appropriés dans votre cas.

  • apt_key : ajoute la clé gpg
  • apt_repository : installe le repository
  • apt : installe le paquet

Un échantillon pour mariadb

La réponse est Ansible Modules !) C’est en fait ce dont j’ai besoin. Après une recherche rapide, je pense que mes commandes seront similaires à:

 -raw: sudo apt-get install software-properties-common -raw: apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db etc..