てくなべ (tekunabe)

ansible / network automation / 学習メモ

2020-03-01から1ヶ月間の記事一覧

[Ansible] 整数に変換できない文字列に int フィルターをかけると 0 になる

はじめに 小ネタ中の小ネタです。 Ansible、というより Jinja2 には intという、値を整数に変換するフィルターがあります。 いわゆるキャストと考えると、数字らしきないものにフィルターをかけるとエラーとなりそうですが、このフィルターの場合は 0 が返っ…

[Ansible] assert モジュールで変数の型チェックする

はじめに Ansible の変数では様々な型が扱えますが、基本的にゆるめなため、型をチェックしたいことがあるかもしれません。 いままでは、assert モジュールと、type_debug フィルターを組みわせるチェックする方法しか思いつかなかったのが、こちらを拝見し…

[Ansible] CSV ファイルを YAML ファイルに変換する

はじめに 以前の記事で、CSV ファイルをリストやディクショナリとして読み込む read_csv モジュールをご紹介しました。 tekunabe.hatenablog.jp to_nice_yaml フィルターと組み合わせると、CSV ファイルを YAML ファイルに変換できます。 この記事では、簡単…

[Ansible] どこにどういうキーワードを指定できるかは公式ドキュメントの Playbook Keywords で分かる

他人の書いた Playbook を見て「そのキーワード(ディレクティブ)ってそこにも書けるの!?」と思うような経験はありませんでしょうか。 例えば、以下の Playbook をご覧ください。 - name: ios test # (1) hosts: ios gather_facts: false tags: # (2) - i…

[Ansible] リストの中から正規表現でマッチする要素を取り出す select('match', regexp)

はじめに Ansible が内部的に利用している Jinja2 には select という、リストに対して様々な操作をするフィルターがあります。 ドキュメントの例には載っていませんが、match というキーワードを利用すると、正規表現をつかった抽出ができます。と、同僚に…