2013-10-02 33 views
1

我剛剛進入hiera並已配置好它,我嘗試遷移到hiera的過程令人沮喪,因爲我無法獲得寫入語法。有人可以幫我把下面這個從類聲明轉換成hiera嗎?如何將類參數寫入hiera

在我declare.pp文件當前聲明:

class profile::web { 
    class { 'nsswitch': 
    automount => 'files', 
    hosts => ['files','dns'], 
    } 
} 

class { 'sudo': } 
    sudo::conf { 'web-users': 
    sudo_config_dir => '/etc/sudoers.d/', 
    source => 'puppet:///files/web/web-users.conf', 
} 

感謝 丹

+0

Hiera不適用於聲明類。在hiera中,您可以存儲可在傀儡清單中使用的數據。你可以在puppet中聲明一個類,並且可以使用hiera根據節點名稱,環境等事實提供數據。 –

回答

2

簡單:

--- 
nsswitch::automount: files 
nsswitch::hosts: 
    - files 
    - dns 

在hiera文件;從不使用標籤!

在你的清單,你可以使用

include nsswitch 

也可以從Hiera加載類的列表與hiera_include功能:

hiera_include('classes') 

你需要的類數組的形式在Hiera然後文件。

+0

創建資源(sudo :: conf!)需要create_resources函數。 –

+0

爲什麼不使用hiera文件中的標籤?這是針對YAML還是針對JSON(以及其他)數據格式? – xiankai

+0

這是一件好事。解析器將會發出神祕的錯誤信息,這些錯誤信息與'從你的yaml文件中取出那個該死的標籤!'無關。 –