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.tool
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查以下输出:每个智能类参数都有一个 ID,它是同一 Satellite 实例全局的 ID。此卫星服务器中的
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 sat_user:sat_password --insecure \`
$ 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将上一步中创建的文件复制到新文件中进行编辑,例如
changed_file.json
:cp output_file.json changed_file.json
$ cp output_file.json changed_file.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 修改文件中所需的值。在本例中,更改
motd
模块的 content 参数,该参数需要将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/3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow