Puppet-classes
提供:Dev Guides
人形-クラス
Puppetクラスは、ターゲットノードまたはマシンを目的の状態にするためにグループ化されたリソースのコレクションとして定義されます。 これらのクラスは、Puppetモジュール内にあるPuppetマニフェストファイル内で定義されます。 クラスを使用する主な目的は、マニフェストファイルまたは他のPuppetコード内での同じコードの繰り返しを減らすことです。
以下は、Puppetクラスの例です。
上記の例では、ユーザーが存在する必要がある2つのクライアントがあります。 お気づきのように、同じリソースを2回繰り返しました。 2つのノードを結合する際に同じタスクを実行しない1つの方法。
この方法でノードをマージして構成を実行することはお勧めできません。 これは、クラスを作成し、作成されたクラスを次のようにノードに含めることで簡単に実現できます。
注目すべき点は、クラス構造がどのように見えるか、classキーワードを使用して新しいリソースを追加した方法です。 Puppetの各構文には独自の機能があります。 したがって、選択する構文は条件によって異なります。
パラメータ化されたクラス
上記の例のように、クラスを作成してノードに含める方法を見てきました。 現在、同じクラスを使用する各ノードで異なるユーザーを必要とする場合など、各ノードで異なる構成が必要な状況があります。 この機能は、パラメーター化されたクラスを使用してPuppetで提供されます。 新しいクラスの構成は、次の例のようになります。
上記のsite.ppマニフェストをノードに適用すると、各ノードの出力は次のようになります。
しょー
しょー
次のコードに示すように、クラスパラメーターのデフォルト値を設定することもできます。