9.6. 使用 Satellite API 导入报告模板
您可以使用 Satellite API 将报告模板导入到 Satellite。使用 Satellite API 导入报告模板会自动解析报告模板元数据,并分配机构和位置。有关使用 Satellite API 的更多信息,请参阅 API 指南。
先决条件
使用
.erb语法或从另一个 Satellite 导出模板来创建模板。有关编写模板的更多信息,请参阅 附录 A, 模板编写参考。
有关从 Satellite 导出模板的详情,请参考 第 9.4 节 “使用 Satellite API 导出报告模板”。
流程
使用以下示例格式化您要导入到
.json文件的模板:# cat Example_Template.json { "name": "Example Template Name", "template": " Enter ERB Code Here " }
使用 ERB 模板的 JSON 文件示例:
{ "name": "Hosts - complete list", "template": " <%# name: Hosts - complete list snippet: false template_inputs: - name: host required: false input_type: user advanced: false value_type: plain resource_type: Katello::ActivationKey model: ReportTemplate -%> <% load_hosts(search: input('host')).each_record do |host| -%> <% report_row( 'Server FQND': host.name ) -%> <% end -%> <%= report_render %> " }使用以下请求导入模板:
$ curl --insecure --user admin:redhat \ --data @Example_Template.json --header "Content-Type:application/json" \ --request POST --config https://satellite.example.com/api/report_templates/import
使用以下请求检索报告模板列表,并验证您可以在 Satellite 中查看模板:
$ curl --insecure --user admin:redhat \ --request GET --config https://satellite.example.com/api/report_templates | json_reformat