GET /api/provisioning_templates
列出佈建範本

GET /api/operatingsystems/:operatingsystem_id/provisioning_templates
列出各個作業系統的佈建範本

GET /api/locations/:location_id/provisioning_templates
列出各個位置上的佈建範本

GET /api/organizations/:organization_id/provisioning_templates
列出各個組織的佈建範本

示例

GET /api/provisioning_templates
200
{
  "total": 14,
  "subtotal": 14,
  "page": 1,
  "per_page": 20,
  "search": null,
  "sort": {
    "by": null,
    "order": null
  },
  "results": [
    {
      "snippet": false,
      "audit_comment": null,
      "created_at": "2019-09-11 14:57:07 UTC",
      "updated_at": "2019-09-11 14:57:07 UTC",
      "id": 1007981701,
      "name": "centos5_3_pxelinux",
      "template_kind_id": 452984334,
      "template_kind_name": "PXELinux"
    },
    {
      "snippet": false,
      "audit_comment": null,
      "created_at": "2019-09-11 14:57:07 UTC",
      "updated_at": "2019-09-11 14:57:07 UTC",
      "id": 698706415,
      "name": "iPXE Dummy Menu",
      "template_kind_id": 698706415,
      "template_kind_name": "iPXE"
    },
    {
      "snippet": false,
      "audit_comment": null,
      "created_at": "2019-09-11 14:57:07 UTC",
      "updated_at": "2019-09-11 14:57:07 UTC",
      "id": 718456980,
      "name": "Locked Template",
      "template_kind_id": 983253650,
      "template_kind_name": "provision"
    },
    {
      "snippet": false,
      "audit_comment": null,
      "created_at": "2019-09-11 14:57:07 UTC",
      "updated_at": "2019-09-11 14:57:07 UTC",
      "id": 104314179,
      "name": "MyFinish",
      "template_kind_id": 550103832,
      "template_kind_name": "finish"
    },
    {
      "snippet": false,
      "audit_comment": null,
      "created_at": "2019-09-11 14:57:07 UTC",
      "updated_at": "2019-09-11 14:57:07 UTC",
      "id": 981457253,
      "name": "MyScript",
      "template_kind_id": 478250810,
      "template_kind_name": "script"
    },
    {
      "snippet": false,
      "audit_comment": null,
      "created_at": "2019-09-11 14:57:07 UTC",
      "updated_at": "2019-09-11 14:57:07 UTC",
      "id": 943779058,
      "name": "MyString",
      "template_kind_id": 698706415,
      "template_kind_name": "iPXE"
    },
    {
      "snippet": false,
      "audit_comment": null,
      "created_at": "2019-09-11 14:57:07 UTC",
      "updated_at": "2019-09-11 14:57:07 UTC",
      "id": 269958254,
      "name": "MyString2",
      "template_kind_id": 983253650,
      "template_kind_name": "provision"
    },
    {
      "snippet": false,
      "audit_comment": null,
      "created_at": "2019-09-11 14:57:07 UTC",
      "updated_at": "2019-09-11 14:57:07 UTC",
      "id": 684651467,
      "name": "PXE Default Menu",
      "template_kind_id": 710512633,
      "template_kind_name": null
    },
    {
      "snippet": false,
      "audit_comment": null,
      "created_at": "2019-09-11 14:57:07 UTC",
      "updated_at": "2019-09-11 14:57:07 UTC",
      "id": 554905648,
      "name": "PXEGrub2 global default",
      "template_kind_id": 701398793,
      "template_kind_name": "PXEGrub2"
    },
    {
      "snippet": false,
      "audit_comment": null,
      "created_at": "2019-09-11 14:57:07 UTC",
      "updated_at": "2019-09-11 14:57:07 UTC",
      "id": 131565194,
      "name": "PXEGrub Dummy Menu",
      "template_kind_id": 131565194,
      "template_kind_name": "PXEGrub"
    },
    {
      "snippet": false,
      "audit_comment": null,
      "created_at": "2019-09-11 14:57:07 UTC",
      "updated_at": "2019-09-11 14:57:07 UTC",
      "id": 824224502,
      "name": "PXEGrub global default",
      "template_kind_id": 131565194,
      "template_kind_name": "PXEGrub"
    },
    {
      "snippet": false,
      "audit_comment": null,
      "created_at": "2019-09-11 14:57:07 UTC",
      "updated_at": "2019-09-11 14:57:07 UTC",
      "id": 821548108,
      "name": "PXELinux default local boot",
      "template_kind_id": 452984334,
      "template_kind_name": "PXELinux"
    },
    {
      "snippet": false,
      "audit_comment": null,
      "created_at": "2019-09-11 14:57:07 UTC",
      "updated_at": "2019-09-11 14:57:07 UTC",
      "id": 352050261,
      "name": "PXELinux global default",
      "template_kind_id": 452984334,
      "template_kind_name": "PXELinux"
    },
    {
      "snippet": false,
      "audit_comment": null,
      "created_at": "2019-09-11 14:57:07 UTC",
      "updated_at": "2019-09-11 14:57:07 UTC",
      "id": 56083308,
      "name": "suse_pxelinux",
      "template_kind_id": 452984334,
      "template_kind_name": "PXELinux"
    }
  ]
}

參數

參數名字 描述
operatingsystem_id
選填

作業系統 ID

Validations:

  • Must be a String

location_id
選填

位置範圍

Validations:

  • Must be a Integer

organization_id
選填

組織範圍

Validations:

  • Must be a Integer

search
選填

篩選結果

Validations:

  • Must be a String

order
選填

Sort field and order, eg. ‘id DESC’

Validations:

  • Must be a String

page
選填

頁數,從 1 開始

Validations:

  • Must be a number.

per_page
選填

每頁要傳回的結果數量

Validations:

  • Must be a number.

Search fields

Field name 類型 Possible values
default_template true, false
environment string
hostgroup string
kind string
location string
location_id integer
locked true, false
name string
operatingsystem string
organization string
organization_id integer
snippet true, false
template text
vendor string

GET /api/provisioning_templates/:id
顯示佈建範本的詳情

示例

GET /api/provisioning_templates/1007981701-centos5_3_pxelinux
200
{
  "template": "default linux~label linux~kernel <%= @kernel %>~append initrd=<%= @initrd %> ks=<%= foreman_url(\"kickstart\")%> ksdevice=bootif network kssendmac",
  "locked": false,
  "snippet": false,
  "audit_comment": null,
  "created_at": "2019-09-11 14:57:07 UTC",
  "updated_at": "2019-09-11 14:57:07 UTC",
  "id": 1007981701,
  "name": "centos5_3_pxelinux",
  "template_kind_id": 452984334,
  "template_kind_name": "PXELinux",
  "template_combinations": [],
  "operatingsystems": [
    {
      "id": 309172073,
      "name": "centos",
      "title": "centos 5.3"
    },
    {
      "id": 1073012828,
      "name": "Redhat",
      "title": "RHEL 6.1"
    },
    {
      "id": 331303656,
      "name": "Ubuntu",
      "title": "Ubuntu 10.10"
    }
  ],
  "os_default_templates": [
    {
      "id": 281110143,
      "provisioning_template_id": 1007981701,
      "provisioning_template_name": "centos5_3_pxelinux",
      "template_kind_id": 710512633,
      "template_kind_name": null,
      "operatingsystem_id": 1073012828,
      "operatingsystem_name": "RHEL 6.1",
      "config_template_id": 1007981701,
      "config_template_name": "centos5_3_pxelinux"
    },
    {
      "id": 638205575,
      "provisioning_template_id": 1007981701,
      "provisioning_template_name": "centos5_3_pxelinux",
      "template_kind_id": 710512633,
      "template_kind_name": null,
      "operatingsystem_id": 331303656,
      "operatingsystem_name": "Ubuntu 10.10",
      "config_template_id": 1007981701,
      "config_template_name": "centos5_3_pxelinux"
    }
  ],
  "locations": [],
  "organizations": []
}

參數

參數名字 描述
location_id
選填

位置範圍

Validations:

  • Must be a Integer

organization_id
選填

組織範圍

Validations:

  • Must be a Integer

id
必填

Validations:

  • Must be an identifier, string from 1 to 128 characters containing only alphanumeric characters, space, underscore(_), hypen(-) with no leading or trailing space.


POST /api/provisioning_templates
建立佈建範本

示例

POST /api/provisioning_templates
{
  "provisioning_template": {
    "template": "This is a test template",
    "template_kind_id": 131565194,
    "name": "new_template"
  }
}
201
{
  "template": "This is a test template",
  "locked": false,
  "snippet": false,
  "audit_comment": null,
  "created_at": "2019-09-11 14:57:19 UTC",
  "updated_at": "2019-09-11 14:57:19 UTC",
  "id": 1007981787,
  "name": "new_template",
  "template_kind_id": 131565194,
  "template_kind_name": "PXEGrub",
  "template_combinations": [],
  "operatingsystems": [],
  "os_default_templates": [],
  "locations": [],
  "organizations": []
}

參數

參數名字 描述
location_id
選填

位置範圍

Validations:

  • Must be a Integer

organization_id
選填

組織範圍

Validations:

  • Must be a Integer

provisioning_template
必填

Validations:

  • Must be a Hash

provisioning_template[name]
必填

範本名稱

Validations:

  • Must be a String

provisioning_template[template]
必填

Validations:

  • Must be a String

provisioning_template[snippet]
選填 , 允許空值

Validations:

  • Must be one of: true, false, 1, 0.

provisioning_template[audit_comment]
選填 , 允許空值

Validations:

  • Must be a String

provisioning_template[template_kind_id]
選填 , 允許空值

與程式碼片段不相關

Validations:

  • Must be a number.

provisioning_template[template_combinations_attributes]
選填 , 允許空值

範本組合陣列(hostgroup_id、environment_id)

Validations:

  • Must be an array of any type

provisioning_template[operatingsystem_ids]
選填 , 允許空值

與範本相關連的作業系統 ID 之陣列

Validations:

  • Must be an array of any type

provisioning_template[locked]
選填 , 允許空值

範本是否鎖定並禁止進行編輯

Validations:

  • Must be one of: true, false, 1, 0.

provisioning_template[location_ids]
選填 , 允許空值

將位置取代為特定 ID

Validations:

  • Must be an array of any type

provisioning_template[organization_ids]
選填 , 允許空值

將組織取代為特定 ID。

Validations:

  • Must be an array of any type


POST /api/provisioning_templates/import
Import a provisioning template

示例

POST /api/provisioning_templates/import
{
  "provisioning_template": {
    "name": "taxonomy override test name",
    "template": "<%#\nkind: PXELinux\nname: taxonomy override test name\nmodel: ProvisioningTemplate\norganizations:\n - org432\nlocations:\n - loc339\n%>\ntest",
    "organization_ids": [
      447626449
    ],
    "location_ids": [
      447626450
    ]
  },
  "options": {
    "associate": "new"
  }
}
201
{
  "id": 1007981788,
  "name": "taxonomy override test name",
  "template": "<%#\nkind: PXELinux\nname: taxonomy override test name\nmodel: ProvisioningTemplate\norganizations:\n - org432\nlocations:\n - loc339\n%>\ntest",
  "snippet": false,
  "template_kind_id": 452984334,
  "created_at": "2019-09-11T14:57:19.599Z",
  "updated_at": "2019-09-11T14:57:19.599Z",
  "locked": false,
  "default": false,
  "vendor": null,
  "os_family": null
}

參數

參數名字 描述
location_id
選填

位置範圍

Validations:

  • Must be a Integer

organization_id
選填

組織範圍

Validations:

  • Must be a Integer

provisioning_template
必填

Validations:

  • Must be a Hash

provisioning_template[name]
選填

範本名稱

Validations:

  • Must be a String

provisioning_template[template]
選填

template contents including metadata

Validations:

  • Must be a String

provisioning_template[location_ids]
選填 , 允許空值

將位置取代為特定 ID

Validations:

  • Must be an array of any type

provisioning_template[organization_ids]
選填 , 允許空值

將組織取代為特定 ID。

Validations:

  • Must be an array of any type

options
選填

Validations:

  • Must be a Hash

options[force]
選填 , 允許空值

use if you want update locked templates

Validations:

  • Must be one of: true, false, 1, 0.

options[associate]
選填 , 允許空值

determines when the template should associate objects based on metadata, new means only when new template is being created, always means both for new and existing template which is only being updated, never ignores metadata

Validations:

  • Must be one of: new, always, never.

options[lock]
選填 , 允許空值

lock imported templates (false by default)

Validations:

  • Must be one of: true, false, 1, 0.

options[default]
選填 , 允許空值

makes the template default meaning it will be automatically associated with newly created organizations and locations (false by default)

Validations:

  • Must be one of: true, false, 1, 0.


PUT /api/provisioning_templates/:id
更新佈建範本

示例

PUT /api/provisioning_templates/1007981701-centos5_3_pxelinux
{
  "provisioning_template": {
    "name": ""
  }
}
422
{
  "error": {
    "id": 1007981701,
    "errors": {
      "name": [
        "can't be blank"
      ]
    },
    "full_messages": [
      "Name can't be blank"
    ]
  }
}

參數

參數名字 描述
location_id
選填

位置範圍

Validations:

  • Must be a Integer

organization_id
選填

組織範圍

Validations:

  • Must be a Integer

id
必填

Validations:

  • Must be an identifier, string from 1 to 128 characters containing only alphanumeric characters, space, underscore(_), hypen(-) with no leading or trailing space.

provisioning_template
必填

Validations:

  • Must be a Hash

provisioning_template[name]
選填

範本名稱

Validations:

  • Must be a String

provisioning_template[template]
選填

Validations:

  • Must be a String

provisioning_template[snippet]
選填 , 允許空值

Validations:

  • Must be one of: true, false, 1, 0.

provisioning_template[audit_comment]
選填 , 允許空值

Validations:

  • Must be a String

provisioning_template[template_kind_id]
選填 , 允許空值

與程式碼片段不相關

Validations:

  • Must be a number.

provisioning_template[template_combinations_attributes]
選填 , 允許空值

範本組合陣列(hostgroup_id、environment_id)

Validations:

  • Must be an array of any type

provisioning_template[operatingsystem_ids]
選填 , 允許空值

與範本相關連的作業系統 ID 之陣列

Validations:

  • Must be an array of any type

provisioning_template[locked]
選填 , 允許空值

範本是否鎖定並禁止進行編輯

Validations:

  • Must be one of: true, false, 1, 0.

provisioning_template[location_ids]
選填 , 允許空值

將位置取代為特定 ID

Validations:

  • Must be an array of any type

provisioning_template[organization_ids]
選填 , 允許空值

將組織取代為特定 ID。

Validations:

  • Must be an array of any type


GET /api/provisioning_templates/revision

參數

參數名字 描述
location_id
選填

位置範圍

Validations:

  • Must be a Integer

organization_id
選填

組織範圍

Validations:

  • Must be a Integer

version
選填

範本版本

Validations:

  • Must be a String


DELETE /api/provisioning_templates/:id
刪除佈建範本

示例

DELETE /api/provisioning_templates/1007981701-centos5_3_pxelinux
{
  "provisioning_template": {}
}
422
{
  "error": {
    "id": 1007981701,
    "errors": {
      "base": [
        "centos5_3_pxelinux is used by Redhat 6.1 - ",
        "centos5_3_pxelinux is used by Ubuntu 10.10 - "
      ]
    },
    "full_messages": [
      "centos5_3_pxelinux is used by Redhat 6.1 - ",
      "centos5_3_pxelinux is used by Ubuntu 10.10 - "
    ]
  }
}

參數

參數名字 描述
location_id
選填

位置範圍

Validations:

  • Must be a Integer

organization_id
選填

組織範圍

Validations:

  • Must be a Integer

id
必填

Validations:

  • Must be an identifier, string from 1 to 128 characters containing only alphanumeric characters, space, underscore(_), hypen(-) with no leading or trailing space.


POST /api/provisioning_templates/build_pxe_default
更新所有經過配置的 TFTP 伺服器上的預設 PXE 選單

示例

POST /api/provisioning_templates/build_pxe_default
{
  "provisioning_template": {}
}
200
{
  "message": "PXE files for templates PXEGrub2 global default, PXELinux global default, and PXEGrub global default have been deployed to all Smart Proxies"
}

參數

參數名字 描述
location_id
選填

位置範圍

Validations:

  • Must be a Integer

organization_id
選填

組織範圍

Validations:

  • Must be a Integer


POST /api/provisioning_templates/:id/clone
複製佈建範本

示例

POST /api/provisioning_templates/1007981701-centos5_3_pxelinux/clone
{
  "provisioning_template": {
    "name": "MyClone"
  }
}
201
{
  "id": 1007981786,
  "name": "MyClone",
  "template": "default linux~label linux~kernel <%= @kernel %>~append initrd=<%= @initrd %> ks=<%= foreman_url(\"kickstart\")%> ksdevice=bootif network kssendmac",
  "snippet": false,
  "template_kind_id": 452984334,
  "created_at": "2019-09-11T14:57:18.901Z",
  "updated_at": "2019-09-11T14:57:18.901Z",
  "locked": false,
  "default": false,
  "vendor": null,
  "os_family": null
}

參數

參數名字 描述
location_id
選填

位置範圍

Validations:

  • Must be a Integer

organization_id
選填

組織範圍

Validations:

  • Must be a Integer

id
必填

Validations:

  • Must be an identifier, string from 1 to 128 characters containing only alphanumeric characters, space, underscore(_), hypen(-) with no leading or trailing space.

provisioning_template
必填

Validations:

  • Must be a Hash

provisioning_template[name]
必填

範本名稱

Validations:

  • Must be a String


GET /api/provisioning_templates/:id/export
Export a provisioning template to ERB

示例

GET /api/provisioning_templates/1007981701-centos5_3_pxelinux/export
200
default linux~label linux~kernel <%= @kernel %>~append initrd=<%= @initrd %> ks=<%= foreman_url("kickstart")%> ksdevice=bootif network kssendmac
<%#
name: centos5_3_pxelinux
snippet: false
model: ProvisioningTemplate
kind: PXELinux
oses:
- centos
- Redhat
- Ubuntu
%>

參數

參數名字 描述
location_id
選填

位置範圍

Validations:

  • Must be a Integer

organization_id
選填

組織範圍

Validations:

  • Must be a Integer

id
必填

Validations:

  • Must be an identifier, string from 1 to 128 characters containing only alphanumeric characters, space, underscore(_), hypen(-) with no leading or trailing space.