2016-04-27 18 views
1

我有一個自定義模塊。只有在定義變量時才設置附加的模塊參數

10 def main():                                   
11  module = AnsibleModule(                               
12    argument_spec = dict(                             
13     server = dict(required=True, type='str'),                        
14     max_offset = dict(required=False, default=0.100, type='float')                  
15   ),                                  
16    supports_check_mode = False                            
17  )                                    
18                                      
19  # Write params into normal variables                            
20  max_offset = module.params['max_offset']                           
21  server = module.params.get('server') 

如果定義了變量ntp.max_offset,我想用附加參數調用它。 我不知道如何做到這一點。 所以我試過這個代碼:

- name: GROUP::TEST                                 
    ntptest: server="{{ hostvars[item][eth]['ipv4']['address'] }}"                      
    parameter:                                   
    name: "max_offset"                                
    value: ntp.max_offset                               
    when: ntp.max_offset is defined                             
    register: modules_output                               
    with_items: "{{groups['ntp_servers']}}"                           
    when: server is not defined  

但不幸的是。

回答

5

您可以使用default(omit)(見文檔here),例如:

這導致當變量未定義不被髮送到模塊的價值。

相關問題