リモートサーバーにファイルがいくつか存在するかどうかをチェックし、その結果を変数に登録するためにmodule statを使用しています。すなわち私が探している設定ファイル:conf_dev.conf、conf_pred.conf、conf_pro.confAnsible - Howループオーバー登録
後で私は、 variable.results {{(ITEM)index}}に格納された属性に基づいて条件付きで失われたファイルのみを転送するためにコピーモジュールを使用しています。 ファイルが存在する場合はTRUEを返し、存在しない場合はFALSEを返します。
正しく実行するためには、レジスタ変数は配列なので、私が質問する各ファイルの結果を格納するインデックスがありますので、インデックス内の項目をどのように変換するのかわかりません(0,1,2,3 )
誰かがアイテムのインデックスを取得する方法を知っていますか?なぜあなたはLIST_COMMON_CONFIGURATION_ARTIFACTS
をループを使用すると、登録した変数をループ化したいなら
- name: Checking if common configuration files exists
stat:
path: "{{HOME_COMUN_CONFIG}}/{{item}}"
with_items: "{{LIST_COMMON_CONFIGURATION_ARTIFACTS}}"
register: store_results
- name: debug existe_app_comun
debug:
var: store_results
- name: Deploying missing files
copy:
src: "{{DIRTEMP_COMUN_CONFIG}}/{{item}}"
dest: "{{HOME_COMUN_CONFIG}}/{{item}}"
with_items: "{{LIST_COMMON_CONFIGURATION_ARTIFACTS}}"
when: existe_app_comun.results.{{index(item)}}.stat.exists is defined