2015-10-21 216 views
1

可以定義Hiera中兩個類之間的依賴關係嗎?假設你有一個安裝服務的類A和將配置這個服務的類B.在這個例子中,你如何創建這些類之間的依賴關係?會有這樣的工作嗎?Hiera和類之間的依賴關係

--- 
classes: 
    - 'B': 
    require: Class[A] 
+0

你爲什麼要依靠Hiera來表達你的課程的固有屬性?或者,如果它不是固有屬性,那麼爲什麼要放置不必要的應用程序約束? –

+0

我不明白你的意思。我有兩個彼此依賴的類。這與固有屬性無關。這不是我真正的問題,它只是一個例子。真正的問題是更復雜的解釋,這就是爲什麼我選擇簡化示例。我希望在hiera中做到這一點,以保持代碼更有條理。 –

+0

我不相信有一個功能可以將任何數據定義模型化爲類或甚至是資源關係。 –

回答

1

您可以在Puppet DSL中執行此操作。製作一個包裝其他模塊的模塊是最簡單的,然後將其包含在Hiera中。

包裝器模塊然後可以使用該木偶排序工具,如require,其中:

require函數聲明一個類並使其成爲周邊容器的依賴性。

這個的一些例子在Puppet文檔Relationships and Ordering中。

這裏有是文檔頁面上使用這個封裝模塊的兩個例子:

使用要求:

class wordpress { 
    require apache 
    require mysql 
    ... 
} 

使用箭頭鏈接:

class apache::ssl { 
    include site::certificates 
    # Restart every service in this class if any of our SSL certificates change on disk: 
    Class['site::certificates'] ~> Class['apache::ssl'] 
} 
+0

我最終按照你的建議做了。謝謝。 –