3.12. スマート変数の設定

以下の手順では、Puppet クラスで値を上書きできるようにスマート編集を設定します。

スマート変数の設定

  1. 設定 > Puppet クラス をクリックします。
  2. 一覧からクラスを選択します。
  3. スマート変数 タブをクリックします。これにより、新しい画面が表示されます。左側のセクションには、クラスがサポートするパラメーターの候補の一覧が記載されています。右側のセクションには、選択したパラメーターの設定オプションが含まれます。変数の追加 をクリックして、新しいパラメーターを追加します。追加しない場合は、左側のリストからパラメーターを選択します。
  4. キー フィールドにパラメーターの名前を入力します。
  5. 説明 テキストボックスを編集して、プレーンテキストのメモを追加します。
  6. 渡すデータの パラメータータイプ を選択します。これは文字列であることが最も一般的ですが、他のデータタイプもサポートされています。
  7. ホストが一致しない場合に、Puppet マスターに送信されるパラメーターの デフォルト値 を入力します。
  8. オプション: 作業中に表示したくないデータがフィールドに含まれる場合は、非表示の値 を選択します。
  9. オプションの入力バリデーター セクションを使用して、パラメーターに許可される値を制限します。バリデータータイプ (コンマ区切りの値の リスト または正規表現の regexp のいずれか) を選択し、バリデータールール フィールドに許可される値または正規表現コードを入力します。
  10. 属性の優先順位付け セクションは、条件付き引数に基づいて特定のホストの値を上書きするためのオプションを提供します。属性タイプとその値は matcher として知られています。

    1. リスト内のエントリーを配置することにより、matcher に対してホスト属性またはファクトを評価する優先 順位 を設定します。デフォルトのリストに追加できます。matcher 間で AND 論理条件を作成するには、それらをコンマ区切りのリストとして 1 行に配置します。
    2. Matcher の追加 をクリックして条件付き引数を追加します。一致する属性は 順位 リストのエントリーに対応している必要があります。matcher が設定されていない場合は、上書き機能にデフォルト値のみを使用できます。

      たとえば、Puppet マスターに指定するパラメーターの値が、server1.example.com の完全修飾ドメイン名を持つホストの test の場合、matcher を fqdn=server1.example.com として、test として設定します。

      マッチングの優先順位は以下のとおりです。

      1. マッチャーがホスト属性の場合はそれを使用します。
      2. 該当する名前を持つ属性がない場合は、一致するホストパラメーター (パラメーターの階層に基づいて継承される) を探します。
      3. それでも一致しなければホストのファクトをチェックします。

        Facter にある属性で、ホストの属性と混同しない属性を使用することが推奨されています。ホストの属性は、ホストグループ、ドメイン、組織など、ホストパラメーターまたはホストの関連付けのいずれかになります。matcher は、ホストが 1 つだけ持つ必要があります。たとえば、ホストは多くの設定グループを持つことができますが、ホストにはロケーションが 1 つしかなく、ロケーションは有効な matcher であるため、設定グループは使用できません。

        動的データは、Embedded Ruby (ERB) テンプレート構文の フィールドでパラメーターおよび Puppet ファクトを使用することで可能です。たとえば、Puppet ファクトを値の一部として使用するには、以下のコマンドを実行します。

        <%= @host.facts['network_eth0'] %>

        利用可能な Puppet ファクトを一覧表示するには、監視 > ファクト に移動します。

  11. 送信 をクリックして変更を保存します。

詳細情報は、ホストの管理テンプレート作成の参照 を参照してください。