2017-10-27 8 views
0

私は現在、ウェブサーバーを管理するための自己ビルドプレイブックを使用しています。 sites.ymlという別のファイルで作成する必要のあるWebサイトを指定しました。不可能 - "with_dict"を使用する場合の変数値の確認

これまでのところ、すべてが完全に機能しています。を除いて、私は私のウェブサイトに暗号化のサポートを追加したいと思います、そして、ここに問題が来ます..どのように?

私はsites.ymlファイルの内容に基づいてさまざまなタスクを実行しています。しかし、Let'sがサイトごとに変数を使用して暗号化できるようにしたいと思います。

マイsites.ymlは以下の通りである:

sites: 
    site1: 
    name: site1 
    server_name: site1.example.com 
    document_root: /var/vhosts/site1.example.com 
    environment: staging 
    db_name: site1 
    db_password: password 
    site2: 
    name: site2 
    server_name: site2.example.com 
    document_root: /var/vhosts/site2.staging.sddev.nl 
    environment: staging 
    db_name: site2 
    db_password: password 

私はちょうどレッツ・暗号化を有効にするには、letsencrypt: trueのような変数を追加したいのですが、どのように私はwith_dictループで、この変数のためにチェックしますか? Letsencryptタスクは、変数が設定されているときにのみ実行する必要があります。

私はそれがこのようなものであるべきと思った。誰も私にwith_dictループ内whenを使用するためのより多くの情報を与えることができ

- name: LETSENCRYPT | Securing websites 
    command: --COMMAND FOR OBTAINING CERTIFICATE-- 
    with_dict: "{{ sites }}" 
    when: "site.letsencrypt = true?" 

答えて

1

with_dictのドキュメントを確認してください。 item.valueを使用できます。

- name: LETSENCRYPT | Securing websites 
    command: --COMMAND FOR OBTAINING CERTIFICATE-- 
    with_dict: "{{ sites }}" 
    when: item.value.letsencrypt | default(false) | bool 
+0

ありがとうございます!これは機能しています。 –

関連する問題