Dans la page des meilleures pratiques, vous trouverez un exemple utilisant hosts.yml
pour les fichiers hôtes:
Dans la documentation, cependant, je ne trouve que la syntaxe INI pour écrire des fichiers hôtes).
Quelle est la syntaxe des fichiers d'inventaire dans YAML?
Oui.
Cela fait obsolète dans la version 0.6 en 2012 et réintroduit dans un commit inclus pour la première fois dans la version 2.1 en 2016.
Le exemple de fichier sur GitHub contient les instructions et exemples:
- Les commentaires commencent par le caractère '#'
- Les lignes vides sont ignorées
- Les entrées de premier niveau sont supposées être des groupes
- Les hôtes doivent être spécifiés dans les hôtes d'un groupe: et ils doivent être une clé (: terminée)
- les groupes peuvent avoir des clés enfants, hôtes et vars
- Tout ce qui est défini sous un hôte est supposé être un var
- Vous pouvez entrer des noms d'hôte ou des adresses IP
- Un hostname/ip peut être membre de plusieurs groupes
Exemple 1: hôtes non groupés, mis en groupe 'non groupé'
ungrouped: hosts: green.example.com: ansible_ssh_Host: 191.168.100.32 blue.example.com: 192.168.100.1: 192.168.100.10:
Ex 2: une collection d’hôtes appartenant au groupe des "serveurs Web"
webservers: hosts: alpha.example.org: beta.example.org: 192.168.1.100: 192.168.1.110:
Ex 3: Vous pouvez créer des hôtes à l'aide de plages et ajouter des groupes d'enfants et des vars à un groupe. Le groupe d'enfants peut définir tout ce que vous ajouteriez normalement à un groupe.
testing: hosts: www[001:006].example.com: vars: testing1: value1 children: webservers: hosts: beta.example.org:
Les réponses précédentes sont correctes mais voici simples hosts.yaml et INI comme côte à côte dans la capture d'écran et je ne fais que copier le fichier hosts.yaml ici aussi, donc si vous voulez copier, coller et éditez-le pour vous-même
---
all:
hosts:
xmp:
ansible_connection: ssh
ansible_Host: "192.1.0.1"
ansible_port: 7822
ansible_user: nanoseco
quelques infos supplémentaires:
https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html
Je viens de découvrir Ansible INI au convertisseur d'inventaire YAML sur github
qui a bien fonctionné pour moi:
Ce référentiel contient un script Python) permettant de convertir les inventaires Ansible au format INI au format YAML.
Pour une raison quelconque, la conversion a abouti à des plages d’hôte ([01:03]
) étant séparé par =
au lieu de ce qui est montré et corrige :
.