5.7. スマートクラスのオーバーライド
API を使用してスマートパラメーターを検索し、値を指定してクラスのスマートパラメーターを上書きすることができます。変更可能な属性の完全一覧は、https://satellite.example.com/apidoc/v2/smart_class_parameters/update.html
にある同梱の API リファレンスで確認できます。
変更するスマートクラスパラメーターの 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_name
とkey
の 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 は、標準のスコープ指定の検索構文をサポートします。
パラメーターの ID が見つかると、現在の上書き値など、全詳細が表示されます。
要求例:
$ curl --request GET --insecure --user sat_username:sat_password \ https://satellite.example.com/api/smart_class_parameters/63
パラメーターの値のオーバーライドを有効化します。
要求例:
$ 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 は、パラメーターは、プロキシーからクラスをインポートすることでのみ作成、削除されます。
カスタムの 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
を参照してください。上書きの値を削除します。
要求例:
$ curl --request DELETE --user sat_username:sat_password \ https://satellite.example.com/api/smart_class_parameters/63/override_values/3