この記事は、Ansible Advent Calendar 2021 22日目のエントリです。
個人の感覚によるものが大きい話です。
はじめに
「Playbookで何をするとかしないとかじゃなくて、YAMLは配列の塊という理解をするほうが先です」と言われた。
YAMLをExcelで表す
--- - hosts: r1 gather_facts: no tasks: - name: enabled interfaces junos_interfaces: config: - name: ge-0/0/0 enabled: true state: overridden - hosts: r2 gather_facts: no tasks: - name: enabled interfaces junos_interfaces: config: - name: ge-0/0/0 enabled: true state: overridden
Playbookのhostsも1playの変数であり、Playbook1ファイルの中に、複数のPlayが入る。
なぜなら配列の塊だから。YAML[2][2][10]みたいなイメージ。
各セルのキーと値の状態にするのがAnsible。
感想
「Playbookを実行する」は「記載内容通りに実行する」ものではなく、「記載内容の状態にする」のほうが合うと思った。
試しに、こういう状態にしたいという考えでPlaybookを書いてみたら、妙にすっきりした。
でも、説明する時はインストールする、設定変更すると、わかりやすいから何々を実行すると言ってしまうんだろうなぁ。