2 votes

Ansible - passer la sortie d'une commande shell à une variable

Je suis nouveau dans ansible et les playbooks, j'essaie d'exécuter une commande linux et d'utiliser la sortie de cette commande comme une variable. Cependant, il utilise le nom de l'élément comme variable au lieu de la sortie de la commande.

- name: Use apg to generate a password
command: apg -m 12 -n 1 -a 1
register: apg_generate

- name: Create Mail Account
command: "plesk bin mail --create admin@test.com -mailbox true -passwd {{ item }}"
with_items: apg_generate.stdout

Au lieu d'utiliser la sortie de la commande apg, qui serait un ensemble aléatoire de 12 caractères, j'obtiens apg_generate.stdout comme mot de passe à définir.

2voto

Konstantin Suvorov Points 34119

Dans Ansible with_items est pour les boucles, vous n'avez pas besoin de l'utiliser si vous voulez accéder à une seule variable. Accédez-y directement :

- name: Use apg to generate a password
  command: apg -m 12 -n 1 -a 1
  register: apg_generate

- name: Create Mail Account
  command: "plesk bin mail --create admin@test.com -mailbox true -passwd {{ apg_generate.stdout }}"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X