GET /api/config_templates
List provisioning templates

GET /api/operatingsystems/:operatingsystem_id/config_templates
List provisioning templates per operating system

GET /api/locations/:location_id/config_templates
List provisioning templates per location

GET /api/organizations/:organization_id/config_templates
List provisioning templates per organization

Examples

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

Params

Param name Description
operatingsystem_id
optional

ID of operating system

Validations:

  • Must be a String

location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

search
optional

filter results

Validations:

  • Must be a String

order
optional

Sort field and order, eg. ‘id DESC’

Validations:

  • Must be a String

page
optional

paginate results

Validations:

  • Must be a String

per_page
optional

number of entries per request

Validations:

  • Must be a String

Search fields

Field name Type Possible values
default 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/config_templates/:id
Show provisioning template details

Examples

GET /api/config_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": "2018-11-15 19:01:27 UTC",
  "updated_at": "2018-11-15 19:01:27 UTC",
  "id": 1007981701,
  "name": "centos5_3_pxelinux",
  "template_kind_id": 452984334,
  "template_kind_name": "PXELinux",
  "template_combinations": [],
  "operatingsystems": [
    {
      "id": 1073012828,
      "name": "Redhat",
      "title": "RHEL 6.1"
    },
    {
      "id": 331303656,
      "name": "Ubuntu",
      "title": "Ubuntu 10.10"
    },
    {
      "id": 309172073,
      "name": "centos",
      "title": "centos 5.3"
    }
  ],
  "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": [
    {
      "id": 255093256,
      "name": "Location 1",
      "title": "Location 1",
      "description": null
    }
  ],
  "organizations": [
    {
      "id": 447626438,
      "name": "Organization 1",
      "title": "Organization 1",
      "description": null
    }
  ]
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

id
required

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/config_templates
Create a provisioning template

Examples

POST /api/config_templates
{
  "config_template": {}
}
422
{
  "error": {
    "id": null,
    "errors": {
      "name": [
        "can't be blank"
      ],
      "template": [
        "can't be blank"
      ],
      "template_kind_id": [
        "can't be blank"
      ]
    },
    "full_messages": [
      "Name can't be blank",
      "Template can't be blank",
      "Template kind can't be blank"
    ]
  }
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

config_template
required

Validations:

  • Must be a Hash

config_template[name]
required

template name

Validations:

  • Must be a String

config_template[template]
required

Validations:

  • Must be a String

config_template[snippet]
optional , nil allowed

Validations:

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

config_template[audit_comment]
optional , nil allowed

Validations:

  • Must be a String

config_template[template_kind_id]
optional , nil allowed

not relevant for snippet

Validations:

  • Must be a number.

config_template[template_combinations_attributes]
optional , nil allowed

Array of template combinations (hostgroup_id, environment_id)

Validations:

  • Must be an array of any type

config_template[operatingsystem_ids]
optional , nil allowed

Array of operating system IDs to associate with the template

Validations:

  • Must be an array of any type

config_template[locked]
optional , nil allowed

Whether or not the template is locked for editing

Validations:

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

config_template[location_ids]
optional , nil allowed

REPLACE locations with given ids

Validations:

  • Must be an array of any type

config_template[organization_ids]
optional , nil allowed

REPLACE organizations with given ids.

Validations:

  • Must be an array of any type


PUT /api/config_templates/:id
Update a provisioning template

Examples

PUT /api/config_templates/1007981701
{
  "config_template": {
    "name": "NNhPTgMWdC"
  }
}
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": "2018-11-15 19:01:27 UTC",
  "updated_at": "2018-11-15 19:02:40 UTC",
  "id": 1007981701,
  "name": "NNhPTgMWdC",
  "template_kind_id": 452984334,
  "template_kind_name": "PXELinux",
  "template_combinations": [],
  "operatingsystems": [
    {
      "id": 1073012828,
      "name": "Redhat",
      "title": "RHEL 6.1"
    },
    {
      "id": 331303656,
      "name": "Ubuntu",
      "title": "Ubuntu 10.10"
    },
    {
      "id": 309172073,
      "name": "centos",
      "title": "centos 5.3"
    }
  ],
  "os_default_templates": [
    {
      "id": 281110143,
      "provisioning_template_id": 1007981701,
      "provisioning_template_name": "NNhPTgMWdC",
      "template_kind_id": 710512633,
      "template_kind_name": null,
      "operatingsystem_id": 1073012828,
      "operatingsystem_name": "RHEL 6.1",
      "config_template_id": 1007981701,
      "config_template_name": "NNhPTgMWdC"
    },
    {
      "id": 638205575,
      "provisioning_template_id": 1007981701,
      "provisioning_template_name": "NNhPTgMWdC",
      "template_kind_id": 710512633,
      "template_kind_name": null,
      "operatingsystem_id": 331303656,
      "operatingsystem_name": "Ubuntu 10.10",
      "config_template_id": 1007981701,
      "config_template_name": "NNhPTgMWdC"
    }
  ],
  "locations": [],
  "organizations": []
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

id
required

Validations:

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

config_template
required

Validations:

  • Must be a Hash

config_template[name]
optional

template name

Validations:

  • Must be a String

config_template[template]
optional

Validations:

  • Must be a String

config_template[snippet]
optional , nil allowed

Validations:

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

config_template[audit_comment]
optional , nil allowed

Validations:

  • Must be a String

config_template[template_kind_id]
optional , nil allowed

not relevant for snippet

Validations:

  • Must be a number.

config_template[template_combinations_attributes]
optional , nil allowed

Array of template combinations (hostgroup_id, environment_id)

Validations:

  • Must be an array of any type

config_template[operatingsystem_ids]
optional , nil allowed

Array of operating system IDs to associate with the template

Validations:

  • Must be an array of any type

config_template[locked]
optional , nil allowed

Whether or not the template is locked for editing

Validations:

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

config_template[location_ids]
optional , nil allowed

REPLACE locations with given ids

Validations:

  • Must be an array of any type

config_template[organization_ids]
optional , nil allowed

REPLACE organizations with given ids.

Validations:

  • Must be an array of any type


GET /api/config_templates/revision

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

version
optional

template version

Validations:

  • Must be a String


DELETE /api/config_templates/:id
Delete a provisioning template

Examples

DELETE /api/config_templates/1007981701-centos5_3_pxelinux
{
  "config_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 - "
    ]
  }
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

id
required

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/config_templates/build_pxe_default
Update the default PXE menu on all configured TFTP servers

Examples

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

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer


POST /api/config_templates/:id/clone
Clone a provision template

Examples

POST /api/config_templates/1007981701-centos5_3_pxelinux/clone
{
  "config_template": {
    "name": "MyClone"
  }
}
201
{
  "id": 1007981803,
  "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": "2018-11-15T19:02:40.855Z",
  "updated_at": "2018-11-15T19:02:40.855Z",
  "locked": false,
  "default": false,
  "vendor": null,
  "os_family": null
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

id
required

Validations:

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

config_template
required

Validations:

  • Must be a Hash

config_template[name]
required

template name

Validations:

  • Must be a String