5.7. スマートクラスのオーバーライド

API を使用してスマートパラメーターを検索し、値を指定してクラスのスマートパラメーターを上書きすることができます。変更可能な属性の完全リストは、https://satellite.example.com/apidoc/v2/smart_class_parameters/update.html にある同梱の API リファレンスで確認できます。

  1. 変更するスマートクラスパラメーターの ID を検索します。

    • スマートクラスパラメーターすべてを表示します。

      要求例:

      $ curl --request GET --insecure --user sat_username:sat_password \
      https://satellite.example.com/api/smart_class_parameters
    • 5 など、Puppet クラス ID が分かる場合には、範囲を絞り込むことができます。

      要求例:

      $ curl --request GET --insecure --user sat_username:sat_password \
      https://satellite.example.com/api/puppetclasses/5/smart_class_parameters

      どちらの呼び出しも検索パラメーターに対応します。Satellite Web UI で検索可能なフィールドの全リストを表示できます。設定 > スマート変数 に移動して、検索クエリーボックスをクリックし、フィールドのリストを表示します。

      特に検索パラメーターで便利なのは、puppetclass_namekey の 2 つで、特定のパラメーターの検索が可能になります。たとえば、--data オプションを使用して URL のエンコードデータを渡すことができます。

      要求例:

      $ curl --request GET --insecure --user sat_username:sat_password \
      --data 'search=puppetclass_name = access_insights_client and key = authmethod' \
      https://satellite.example.com/api/smart_class_parameters

      Satellite は、標準のスコープ指定の検索構文をサポートします。

  2. パラメーターの ID が見つかると、現在の上書き値など、全詳細が表示されます。

    要求例:

    $ curl --request GET --insecure --user sat_username:sat_password \
    https://satellite.example.com/api/smart_class_parameters/63
  3. パラメーターの値のオーバーライドを有効化します。

    要求例:

    $ curl --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --request PUT --insecure --user sat_username:sat_password \
    --data '{"smart_class_parameter":{"override":true}}' \
    https://satellite.example.com/api/smart_class_parameters/63

    パラメーターを手動で作成または削除できない点に注意してください。属性の変更のみが可能です。Satellite は、パラメーターは、プロキシーからクラスをインポートすることでのみ作成、削除されます。

  4. カスタムの override matcher を追加します。

    要求例:

    $ curl --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --request PUT --insecure --user sat_username:sat_password \
    --data '{"smart_class_parameter":{"override_value":{"match":"hostgroup=Test","value":"2.4.6"}}}' \
    https://satellite.example.com/api/smart_class_parameters/63

    オーバーライドの値に関する情報は、https://satellite.example.com/apidoc/v2/override_values.html を参照してください。

  5. 上書きの値を削除します。

    要求例:

    $ curl --request DELETE --user sat_username:sat_password \
    https://satellite.example.com/api/smart_class_parameters/63/override_values/3