Puppet

如何在 Puppet Manifest 中使用變數?

  • September 14, 2016

我在 Centos 7.2 上使用帶有 Puppet Master 的 WSUS 模組。我的 Puppet 代理伺服器正在執行 Windows Server 2012。

我想使用帶有變數的清單。但是,當 Puppet Agent 伺服器執行 puppet 代理時,它會顯示“錯誤 400,語法錯誤”。我已經嘗試重寫清單和我能想到的每一個變化。我不斷收到一些錯誤。

這是清單的一個範例:

class excellent {
   class { 'wsus_client':
      $cool = 'Saturday'
   server_url => 'http://acme.com',
   auto_update_option  => 'Scheduled'
   scheduled_install_day => $cool,
   scheduled_install_hour => 1,
}
}

我嘗試在大括號 {} 中分配變數。我嘗試使用 $LOAD_PATH、–custom-dir 和 FACTERLIB。但我不知道如何使用這三個中的任何一個。

我想在一個地方更改變數並在其父類的範圍內使用它。我該怎麼辦?

你試過這樣嗎?

class excellent {
 $cool = 'Saturday'

 class { 'wsus_client':
   server_url => 'http://acme.com',
   auto_update_option  => 'Scheduled'
   scheduled_install_day => $cool,
   scheduled_install_hour => 1,
 }
}

或者,這樣

class excellent (
 $cool = 'Saturday'
){
 class { 'wsus_client':
   server_url => 'http://acme.com',
   auto_update_option  => 'Scheduled'
   scheduled_install_day => $cool,
   scheduled_install_hour => 1,
 }
}

您目前似乎正試圖為類聲明中的變數賦值。您的變數分配需要分開。

$cool = 'Saturday'

你的類聲明應該是這樣的。

class {'namevar':
 a => 'a',
 b => 'b',
 c => 'c'
}

引用自:https://serverfault.com/questions/803150