読者です 読者をやめる 読者になる 読者になる

Ansibleのget_urlでログインが必要なwebページからファイルをダウンロードする

ansible

Ansibleのplaybookを書いていて、ファイルをダウンロードする前にログインが必要な場合にどうすればよいのかを調べたのでめも。

使用してるAnsibleのバージョンは2系です。

curlで例えると、--userでIDとパスワードを↓のように渡すのをansibleでどうやるかってところです。

curl --user username:password -L https://www.example.com/foobar.zip -o foobar.zip

で、解決策は我らがstackoverflow.comにありました。

stackoverflow.com

必要なのはforce_basic_auth=yesでした。

- name: Download some app
  local_action:
    get_url force=yes
      url=https://www.example.com/foobar.zip
      dest=ダウンロード先は適当に
      url_password={{ lookup('env', 'WEB_PASSWD') }}
      url_username={{ lookup('env', 'WEB_USERNAME') }} 
      force_basic_auth=yes 

get_urlのドキュメントによるとforce_basic_authは2.0からサポートされたようですね。

( ´Д`)=3 フゥ

初めてのAnsible

初めてのAnsible