6.8. 外部ファイルを使用したスマートクラスパラメーターの変更
外部ファイルを使用して、Puppet スマートクラスパラメーターを変更できます。
外部ファイルを使用すると、JSON データでの作業が簡素化されます。構文強調表示機能付きのエディターを使用すると、間違いを避けたり見つけたりすることが可能です。
外部ファイルを使用したスマートクラスパラメーターの変更
以下の例では、MOTD Puppet マニフェストを使用します。
今回の例では、
motdという名前で Puppet クラスを検索します。要求例:
curl --header "Accept:application/json" \ --header "Content-Type:application/json" \ --request GET --user My_User_Name:My_Password \ https://satellite.example.com/api/smart_class_parameters?search=puppetclass_name=motd \ | python3 -m json.tool
$ curl --header "Accept:application/json" \ --header "Content-Type:application/json" \ --request GET --user My_User_Name:My_Password \ https://satellite.example.com/api/smart_class_parameters?search=puppetclass_name=motd \ | python3 -m json.toolCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の出力を検証します。スマートクラスのパラメーターにはそれぞれ、同じ Satellite インスタンスでグローバルとなる ID が割り当てられています。
motdクラスのcontentパラメーターにはid=3があります。Puppet クラス名の前に表示される Puppet クラス ID と混同しないようにしてください。応答例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow パラメーター ID
3を使用して、motdパラメーター固有の情報を取得して、出力を output_file.json などのファイルにリダイレクトします。要求例:
curl --header "Accept:application/json" \ --header "Content-Type:application/json" --request GET \ --user My_User_Name:My_Password \ https://satellite.example.com/api/smart_class_parameters/3 \ | python3 -m json.tool > output_file.json
$ curl --header "Accept:application/json" \ --header "Content-Type:application/json" --request GET \ --user My_User_Name:My_Password \ https://satellite.example.com/api/smart_class_parameters/3 \ | python3 -m json.tool > output_file.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 1 つ前の手順で作成したファイルを、新しいファイル (例:
changed_file.json) にコピーして編集します。cp output_file.json changed_file.json
$ cp output_file.json changed_file.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルで、必要な値を変更します。以下の例では、
motdモジュールのコンテンツパラメーターを変更しますが、これには、overrideオプションをfalseからtrueに変更する必要があります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルの編集後に、以下のようになっていることを確認して、変更を保存します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルを Satellite に送信します。
curl --header "Accept:application/json" \ --header "Content-Type:application/json" \ --request PUT --user My_User_Name:My_Password \ --data @changed_file.json \ https://satellite.example.com/api/smart_class_parameters/3
$ curl --header "Accept:application/json" \ --header "Content-Type:application/json" \ --request PUT --user My_User_Name:My_Password \ --data @changed_file.json \ https://satellite.example.com/api/smart_class_parameters/3Copy to Clipboard Copied! Toggle word wrap Toggle overflow