2016-12-24 8 views
3

不可能なモジュールの単一オプションの条件を設定することは可能ですか?単独モジュールの単一オプションの条件を設定する方法

Using set_fact we can set condition aand use that variable in the ansible module. Alternatively is there any other option to set the condition using if loop in jinja or something like that. 

例:私はそれが条件sample_var = myapp.Ifそれは文句を言わないs3_url

- name: Simple PUT operation 
    s3: 
     bucket: mybucket 
     object: /my/desired/key.txt 
     src: /usr/local/myfile.txt 
     mode: put 
     s3_url: "s3my url"------if it satisfies sample_var=myapp 

に追加する必要がsatify doesnotをsatifies場合s3_urlオプションを追加にしたい

- name: Simple PUT operation 
    s3: 
    bucket: mybucket 
    object: /my/desired/key.txt 
    src: /usr/local/myfile.txt 
    mode: put 

このオプションを危険なモジュールに追加する必要がある私の条件を満たすとき、私はここでジンジャをどのように使うことができますか?

事前のおかげで..

答えて

4

あなたはについてomitting parametersを読むことをお勧めします:

- name: Simple PUT operation 
    s3: 
    bucket: mybucket 
    object: /my/desired/key.txt 
    src: /usr/local/myfile.txt 
    mode: put 
    s3_url: "{{ 's3my_url' if sample_var == 'myapp' else omit }}" 
+0

は、私たちがこのs3_urlのような内部の条件を設定しているとし、「もし{{sample_var}} {{ 's3my_url' = = {{myapp}} else omit}} "、それは実行されません。 conditions.howを設定すると、そのような条件を処理できますか? – jake

+0

構文は私が投稿したのとまったく同じです。中括弧は使用しないでください。 'myapp'が変数でリテラル文字列でない場合は、シングルクォートを付けずに' myapp'を使います。 –

+0

それは動作します...ありがとう:-) – jake

関連する問題