5.7. 覆盖智能类参数
您可以使用 API 搜索智能参数并提供一个值来覆盖类中的智能参数。您可以在 https://satellite.example.com/apidoc/v2/smart_class_parameters/update.html
的内置 API 参考中找到可以修改的属性的完整列表。
查找您要更改的 Smart Class 参数的 ID:
列出所有智能类参数。
请求示例:
$ curl --request GET --insecure --user sat_username:sat_password \ https://satellite.example.com/api/smart_class_parameters
如果您知道 Puppet 类 ID,如 5,您可以限制范围:
请求示例:
$ curl --request GET --insecure --user sat_username:sat_password \ https://satellite.example.com/api/puppetclasses/5/smart_class_parameters
这两个调用都接受 search 参数。您可以在 Satellite Web UI 中查看可搜索字段的完整列表。导航到 Configure > Smart variables,然后在搜索查询框中点击以显示字段列表。
两个特别有用的搜索参数是
puppetclass_name
和key
,可用于搜索特定参数。例如,使用--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 仅在从代理导入的类时创建和删除参数。
添加自定义覆盖匹配器。
请求示例:
$ 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