2015-12-02 33 views
0

我試圖做傀儡一個循環,我把這個清單代碼/ site.pp錯誤每個

class ubuntu_fw { 
     ufw::allow { "allow-ssh-from-all": 
      port => 22, 
     } 

     $trustips = ["1.1.1.1", "2.2.2.2"] 

     $trustips.each |$trustip| { 
       ufw::allow { "allow-all-from-trusted-$trustip": 
         from => $trustip, 
       } 
     } 
} 

,但我得到這個錯誤

「無法解析用於生產環境的: '' 在語法錯誤; 預計 '}' 在/opt/puppet/manifests/site.pp:13"

使用傀儡3.4.3

+0

好像這個版本的傀儡不支持循環(詳細信息[這裏](http://stackoverflow.com/questions/6399922/are-there-iterators-and-loops-in-puppet))。 –

+1

爲了充分利用循環和其他更高級的DSL功能,您希望使用'future'解析器(https://docs.puppetlabs.com/puppet/3.8/reference/experiments_future.html)。 –

+0

謝謝Evgeny! 啓用未來作品。 –

回答

0

隨着葉夫根尼說,循環迭代和等在木偶提供4(這裏記錄的新功能:https://docs.puppetlabs.com/references/4.0.0/function.html

您可以作出的重大凸點到4.0或啓用木偶> 3.7的未來解析器。 3來模擬更新的語法。

您可以用下面這樣做:在運行應用傀儡木偶或代理-t

  • 添加parser = future到的main配置部分時

    • 添加--parser future到CLI puppet.conf

    您可以通過以下木偶代碼更改puppet.conf

    augeas { 'puppet.conf': 
        context => '/files/etc/puppet/puppet.conf', 
        changes => [ 
        'set main/parser future', 
        ], 
    }