簡體   English   中英

如何從人偶資源中獲取價值

[英]How get a value from a puppet resource

我的木偶腳本有問題。

我想在我的資源文件中設置一個值。 我聲明這樣的資源

define checkxml(
  $account = '',
  $pwd = template('abc/abc.erb'),
){
  if(empty($pwd)){
    fail('pwd empty') 
  }
}

我通過以下方式調用它:

checkxml{"$agtaccount":
  account => $agtaccount,
}

我想獲取$ pwd的值。 $ pwd將通過模板獲得值。 如果我嘗試在資源定義中顯示該值就可以了,那么我會獲得正確的值,因此模板可以正常工作。

我的問題是調用資源后要訪問此值。 我看到了stdlib的getparam,但對我不起作用。

getparam(Checkxml["$agtaccount"],"pwd")

如果我嘗試獲取帳戶參數而不是密碼,則可以。 我想因為我沒有宣布pwd我無法讓他回來

我怎么能得到他?

謝謝你的幫助

gh,這看起來很危險。 首先,我建議您不要使用該功能及其體現的概念。 它面臨評估順序依賴性,這總是會導致清單行為不一致。

至於值本身的檢索-如果使用默認值,則可能無法正常工作。 這是因為在目錄構建級別上,尚無任何綁定到該參數的值(如果有任何意義)。

最終參數值的解析相當復雜,因此依賴於這種自省功能的清單可能會出錯。

我建議在更中央的位置(取決於清單結構)中檢索所需的值,並在聲明Checkxml [“ $ agtaccount”]資源及其其他用途(當前正在嘗試提取其用途)時使用它它)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM