他人の書いた Playbook を見て「そのキーワード(ディレクティブ)ってそこにも書けるの!?」と思うような経験はありませんでしょうか。
例えば、以下の Playbook をご覧ください。
- name: ios test # (1) hosts: ios gather_facts: false tags: # (2) - ios tasks: - name: show version ios_command: commands: "{{ commands }}" register: result_version vars: # (3) commands: - show version
もしかしたら (1)〜(3) あたりは、見かけることが多くないかもしれません。
どこに何を指定できるのかは、公式ドキュメントの Playbook Keywords
というページで紹介されています。
例えば、上記の Playbook の
- (1) は Play 単位の
name
- (2) は Play 単位の
tags
- (3) は Task 単位の
vars
として紹介されています。
モジュールのオプションはモジュールの説明ページを見れば良いのですが、その他の一般的な部分は、見かけたサンプルのかきっぷりによりがちな気がします。一度 Playbook Keywords
を見ると、新しい発見があるかもしれません。
なお、余談ですが、 (3) の Task 単位の vars
は 変数優先度のリストで、task vars (only for the task)
として掲載されています。割と強めです。