さまざまなシステムの構成を管理している場合は、マニフェスト内で条件付きロジックを指定することも考慮できます。これにより、各システムが適切な構成に正しく一致していることが保証されます。
このロジックを適用するには、サイトマニフェスト内で node キーワードを使用します (このマニフェストは .pp ファイル拡張子を持つ 1 つのファイルでも、.pp ファイル拡張子を持つ複数のファイルが含まれたディレクトリでもかまいません)。ノードの宣言では任意の Puppet コードを指定できますが、変数割り当てとクラス宣言のみを含めることをお勧めします。
次の例は、2 つのノード agent1.company.com と agent2.company.com に関して同一の構成に一致させる方法を示しています。
node ‘agent1.company.com’, ‘agent2.company.com’ {
# Include resources here
}
次の例は、2 つのノードに関して同一の構成に一致させるために使用する構文と、3 番目のノード (agent3.company.com) のための別のリソース定義を示しています。
node 'agent1.company.com', 'agent2.company.com' {
# Include resources here
}
node 'agent3.company.com' {
# Include other resources here
}
Puppet はまた、default と呼ばれる特殊なノードも提供しています。これにより、既存のノード定義に一致しないすべてのノードのフォールバック構成が可能になります。これらのノードのフォールバック構成は、次のように定義します。
node default {
# Include other resources here
}
ノード固有のコードを含むマニフェストの記述の詳細は、https://docs.puppet.com/puppet/3.8/reference/lang_classes.html を参照してください。