2016-12-24 2 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. 

Например:

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

Я хочу добавить опцию s3_url, если satifies условие 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 

Как я могу использовать jinja здесь, когда он удовлетворяет моему условию, что ему нужно добавить эту опцию в незаменимый модуль?

Заранее спасибо ..

ответ

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: «{{ 's3my_url', если {{sample_var}} = = {{myapp}} else omit}} ", это не выполняется. При настройке условий. Как мы можем справиться с такими условиями ??? – jake

+0

Синтаксис точно так же, как я писал, не используйте вложенные фигурные скобки. Если 'myapp' - это переменная, а не буквальная строка, используйте' myapp' без одинарных кавычек. –

+0

это работает ... спасибо :-) – jake

Смежные вопросы