0
私はdeploy.yml
プレイブックにhosts_vars
ファイルに含まれている変数のリスト(to_install
)を使用しています。 マイhosts_vars
:可能:変数名を操作する
---
clients:
cl1:
to_install:
- banana 8.1
- Firefox 46.0.1
to_uninstall:
- null
マイ脚本:
- name: Deploy
hosts: win_clones
vars_files:
- ./hosts_vars
tasks:
- name: Fetching and copying the file on the client ...
win_get_url:
url: 'ftp://172.20.0.5/choco-repo/{{ item }}'
dest: 'C:\Test\{{ item }}'
with_items: "{{ clients[machine].to_install }}"
- name: Installing the package ...
win_chocolatey:
name: "{{ item }}"
state: present
with_items: "{{ clients[machine].to_install }}"
私は、次のコマンドを使用して、このプレーを実行します。私はwin_get_url
を使用私の脚本の最初の仕事のために
ansible-playbook deploy.yml -e machine=cl1
とIだろう私の変数名を次のように変換したいのです。
banana8.1.nupkg
Firefox46.0.1.nupkg
私は
win_chocolatey
を使用して、(バージョン番号なし)の変数の名前だけを通過するのに十分である第二のタスクについては
:私は魔法が with_items: "{{clients[machine].to_install }}"
に起こる必要がありますね
banana
Firefox
。それをどうすればできますか?
おかげで、これは最初のタスクのために動作します。 2番目の方法は、バージョン番号を削除して名前のみを使用する方法です。 – diegus
最初のものとまったく同じように、regex_replaceで再生します。あなたに何か正しいことが残っていれば、それは楽しいことではありませんか?あなたが解決策を見つけることができなければ、私はあなたを助けますが、私はあなたがこれを理解することができると思います。 –
さて、 'debug:msg =" {{item | regex_replace( ''、 ''}}} ""を使うだけで動作しますが、それはちょっと変わったようです。これは単にスペースを削除しないのですか?だから私はbanana8.1とFirefox46.0.1を取得する必要があります – diegus