web-dev-qa-db-ja.com

パペットマニフェストで変数をどのように使用しますか?

Centos 7.2のPuppet MasterでWSUSモジュールを使用しています。私のPuppet AgentサーバーはWindows Server 2012を実行しています。

変数を持つマニフェストを使用したい。ただし、Puppet Agentサーバーでpuppetエージェントを実行すると、「エラー400、構文エラー」が表示されます。マニフェストと考えられるすべてのバリエーションを書き直してみました。エラーが発生し続けます。

マニフェストの1つの例を次に示します。

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を使用しようとしました。しかし、私はこれらの3つのいずれかを使用する方法を理解できませんでした。

変数を1か所で変更し、その親クラスのスコープ内で使用したいと考えています。私は何をすべきか?

3
Kiran

この方法で試しましたか?

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,
  }
}
7
Aaron Copley

クラス宣言 内の変数に値を割り当てようとしているようです。変数の割り当ては個別にする必要があります。

$cool = 'Saturday'

クラス宣言は次のようになります。

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