2017-01-19 112 views
0

我使用木偶4,我想知道我怎麼可以傳遞參數給另一個類:如何將參數傳遞給Puppet中的另一個類?

我有一個自定義資源:

class system::classA { 
    define myresource ($param1, $param2) { 
    include system::classB 
    } 
} 

class system::classB { 
    file "${param1}"{ 
    ensure => present 
    } 
} 

和我打電話從另一個我的資源像

system::classA::myresource { 
    param1 => "test", 
    param2 => "test", 
} 

但參數總是空的。我如何傳遞參數或在classB中訪問它們?

回答

1

您需要的參數添加到CLASSB這樣的數據會通過傳遞:在system::classA::myresource

class system::classB($param1, $param2) { 
    file { "${param1}": 
    ensure => present, 
    } 
} 

然後,而不是使用include功能,使用這種風格,並設置新的參數:

define myresource ($param1, $param2) { 
    class { "system::classB": 
    param1 => $param1, 
    param2 => $param2, 
    } 
} 

(注意,這是不尋常的一個定義一類,我建議把myresourceØ )

+0

還要注意,在這種情況下,他應該直接聲明'classB',並且如果他想要像他要去的那樣使用'include'路由,您可能想提及自動數據綁定。 –

+0

我同意你的觀點,但是這個問題在上下文中很缺乏/嚴重混淆,很難確定它應該如何實現。 –

+0

我只是覺得應該提出兩種可能性。你更喜歡類聲明,如果John回答了這個問題,他會去自動數據綁定路由。所有在那裏的意見。 –

相關問題