2013-03-01 28 views
1

我正在使用Puppet,我有一堆模塊。這些模塊都使用自定義的類型。幾乎所有自定義定義的類型都被每個模塊使用,因此將這些類型放入特定模塊是沒有意義的。這有點像使用Java中的靜態方法的util類。如何在Puppet中組織各種模塊中的自定義類型

我已將相關類型組織到類中,每個類都被寫入.pp文件並將它們放入$ manifestdir中。在$ manifestdir/site.pp中,每個這些.pp文件都有一個導入語句。

計劃(什麼是在名字?):

$manifestdir/site.pp 
imports $manifestdir/class1.pp 
    contains class class1 
    contains type definitions for custom_type1, custom_type2, custom_type3 
imports $manifestdir/class2.pp 
    contains class class2 
    contains type definitions for custom_type4, custom_type5, custom_type6 
imports $manifestdir/class3.pp 
    contains class class3 
    contains type definitions for custom_type7, custom_type8, custom_type9 

從每個模塊裏面,然後我可以解決的Class1 :: custom_type2或CLASS3 :: custom_type7使用這種自定義的類型...

現在我已經讀過,這是避免導入關鍵字的最佳實踐(請參閱http://docs.puppetlabs.com/puppet/2.7/reference/lang_import.html)。所以我想知道什麼是組織不是特定模塊的自定義類型的最佳方法,幾乎​​每個模塊都需要這些自定義類型。

感謝您的幫助!

回答

2

只需創建一個包含所有共享類型的「common」或「utils」模塊。就像pupptelab的stdlib

+0

這是否正常工作! – user2124712 2013-03-04 10:19:58

相關問題