6.7. 覆盖智能类参数
您可以使用 API 搜索智能参数,并提供值来覆盖类中的智能参数。您可以在 https://satellite.example.com/apidoc/v2/smart_class_parameters/update.html
处在内置 API 引用中找到可以修改的属性的完整列表。
流程
查找您要更改的 Smart Class 参数的 ID:
列出所有智能类参数。
请求示例:
$ curl --request GET --user My_User_Name:My_Password \ https://satellite.example.com/api/smart_class_parameters
如果您知道 Puppet 类 ID,如 5,您可以限制 scope: Example 请求:
$ curl --request GET --user My_User_Name:My_Password \ https://satellite.example.com/api/puppetclasses/5/smart_class_parameters
这两个调用都接受 search 参数。您可以在 Satellite Web UI 中查看可搜索字段的完整列表。导航到 Configure > Smart variables,点搜索查询框中显示字段列表。
两个特别有用的搜索参数是
puppetclass_name
和键
,可用于搜索特定参数。例如,使用-data
选项传递 URL 编码数据。请求示例:
$ curl --request GET --user My_User_Name:My_Password \ --data 'search=puppetclass_name = access_insights_client and key = authmethod' \ https://satellite.example.com/api/smart_class_parameters
Satellite 支持标准有范围的搜索语法。
当您找到参数的 ID 时,列出包括当前覆盖值在内的完整详情。
请求示例:
$ curl --request GET --user My_User_Name:My_Password \ https://satellite.example.com/api/smart_class_parameters/63
启用覆盖参数值。
请求示例:
$ curl --header "Accept:application/json" \ --header "Content-Type:application/json" \ --request PUT --user My_User_Name:My_Password \ --data '{"smart_class_parameter":{"override":true}}' \ https://satellite.example.com/api/smart_class_parameters/63
请注意,您无法手动创建或删除参数。您只能修改其属性。Satellite 仅在从 Capsules 导入类时创建和删除参数。
添加自定义覆盖匹配器。
请求示例:
$ curl --header "Accept:application/json" \ --header "Content-Type:application/json" \ --request PUT --user My_User_Name:My_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 My_User_Name:My_Password \ https://satellite.example.com/api/smart_class_parameters/63/override_values/3