5.8. 使用外部文件修改智能类参数
使用外部文件简化了使用 JSON 数据的过程。使用带有语法高亮显示的编辑器可帮助您避免并找到错误。
以下示例请求使用 python3 来格式化 Satellite 服务器中的 respone。在 RHEL 7 和一些较旧的系统中,您必须使用 python 而不是 python3。
使用外部文件修改智能类参数
本例使用 MOTD Puppet 清单。
根据名称搜索 Puppet 类,本例中为
motd。请求示例:
curl --header "Accept:application/json" \ --header "Content-Type:application/json" \ --request GET --user sat_user:sat_password --insecure \ 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 sat_user:sat_password --insecure \ https://satellite.example.com/api/smart_class_parameters?search=puppetclass_name=motd \ | python3 -m json.toolCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查以下输出:每个智能类参数都有一个 ID,对同一 Satellite 实例是全局的。
motd类的content参数在此 Satellite 服务器中具有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 sat_user:sat_password --insecure \` 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 sat_user:sat_password --insecure \` https://satellite.example.com/api/smart_class_parameters/3 \ | python3 -m json.tool > output_file.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将上一步中创建的文件复制到新文件中以进行编辑,例如
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模块的 content 参数改为 true,这需要将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 sat_username:sat_password --insecure \ --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 sat_username:sat_password --insecure \ --data @changed_file.json \ https://satellite.example.com/api/smart_class_parameters/3Copy to Clipboard Copied! Toggle word wrap Toggle overflow