Examples

POST /api/hosts
{
  "host": {
    "name": "testhost11",
    "environment_id": "334344675",
    "domain_id": "22495316",
    "ptable_id": "1007981702",
    "medium_id": "980190962",
    "architecture_id": "501905019",
    "operatingsystem_id": "1073012828",
    "puppet_proxy_id": "182953976",
    "compute_resource_id": "980190962",
    "root_pass": "xybxa6JUkz63w",
    "location_id": "255093256",
    "organization_id": "447626438",
    "ip": "10.0.0.20",
    "mac": "52:53:00:1e:85:93",
    "managed": false
  }
}
201
{
  "ip": "10.0.0.20",
  "ip6": null,
  "environment_id": 334344675,
  "environment_name": "production",
  "last_report": null,
  "mac": "52:53:00:1e:85:93",
  "realm_id": null,
  "realm_name": null,
  "sp_mac": null,
  "sp_ip": null,
  "sp_name": null,
  "domain_id": 22495316,
  "domain_name": "mydomain.net",
  "architecture_id": 501905019,
  "architecture_name": "x86_64",
  "operatingsystem_id": 1073012828,
  "operatingsystem_name": "RHEL 6.1",
  "subnet_id": null,
  "subnet_name": null,
  "subnet6_id": null,
  "subnet6_name": null,
  "sp_subnet_id": null,
  "ptable_id": 1007981702,
  "ptable_name": "ptable28",
  "medium_id": 980190962,
  "medium_name": "CentOS 5.4",
  "build": false,
  "comment": null,
  "disk": null,
  "installed_at": null,
  "model_id": null,
  "hostgroup_id": null,
  "owner_id": 886836129,
  "owner_type": "User",
  "enabled": true,
  "puppet_ca_proxy_id": 182953976,
  "managed": false,
  "use_image": null,
  "image_file": "",
  "uuid": null,
  "compute_resource_id": 980190962,
  "compute_resource_name": "bigcompute",
  "compute_profile_id": null,
  "compute_profile_name": null,
  "capabilities": [
    "build",
    "image"
  ],
  "provision_method": "build",
  "puppet_proxy_id": 182953976,
  "certname": "testhost11.mydomain.net",
  "image_id": null,
  "image_name": null,
  "created_at": "2016-09-30 07:54:36 UTC",
  "updated_at": "2016-09-30 07:54:36 UTC",
  "last_compile": null,
  "global_status": 0,
  "global_status_label": "Warning",
  "organization_id": 447626438,
  "organization_name": "Organization 1",
  "location_id": 255093256,
  "location_name": "Location 1",
  "puppet_status": 0,
  "model_name": null,
  "configuration_status": 0,
  "configuration_status_label": "No reports",
  "name": "testhost11.mydomain.net",
  "id": 2,
  "hostgroup_name": null,
  "hostgroup_title": null,
  "interfaces": [
    {
      "id": 2,
      "name": "testhost11.mydomain.net",
      "ip": "10.0.0.20",
      "mac": "52:53:00:1e:85:93",
      "identifier": null,
      "primary": true,
      "provision": true,
      "type": "interface"
    }
  ],
  "puppetclasses": [],
  "config_groups": [],
  "parameters": [],
  "all_parameters": [
    {
      "id": 716195090,
      "name": "os1",
      "value": "os1"
    },
    {
      "id": 665394701,
      "name": "parameter",
      "value": "value1"
    },
    {
      "id": 513706444,
      "name": "loc_param",
      "value": "abc"
    },
    {
      "id": 840284801,
      "name": "org_param",
      "value": "xyz"
    },
    {
      "id": 636252244,
      "name": "test",
      "value": "myvalue"
    }
  ],
  "all_puppetclasses": [],
  "permissions": {
    "console_hosts": true,
    "build_hosts": true,
    "power_hosts": true,
    "edit_hosts": true,
    "ipmi_boot": true,
    "destroy_hosts": true,
    "create_hosts": true,
    "view_hosts": true,
    "puppetrun_hosts": true
  }
}

Params

Param name Description
host
required

Validations:

  • Must be a Hash

host[name]
required

Validations:

  • Must be String

host[environment_id]
optional , nil allowed

required if host is managed and value is not inherited from host group

Validations:

  • Must be String

host[ip]
optional , nil allowed

not required if using a subnet with DHCP proxy

Validations:

  • Must be String

host[mac]
optional , nil allowed

required for managed host that is bare metal, not required if it’s a virtual machine

Validations:

  • Must be String

host[architecture_id]
optional , nil allowed

required if host is managed and value is not inherited from host group

Validations:

  • Must be a number.

host[domain_id]
optional , nil allowed

required if host is managed and value is not inherited from host group

Validations:

  • Must be a number.

host[realm_id]
optional , nil allowed

Validations:

  • Must be a number.

host[puppet_proxy_id]
optional , nil allowed

Validations:

  • Must be a number.

host[puppetclass_ids]
optional , nil allowed

Validations:

  • Must be an array of any type

host[operatingsystem_id]
optional , nil allowed

required if host is managed and value is not inherited from host group

Validations:

  • Must be String

host[medium_id]
optional , nil allowed

required if not imaged based provisioning and host is managed and value is not inherited from host group

Validations:

  • Must be String

host[pxe_loader]
optional , nil allowed

DHCP filename option (Grub2/PXELinux by default)

Validations:

  • Must be one of: None, PXELinux BIOS, PXELinux UEFI, Grub UEFI, Grub UEFI SecureBoot, Grub2 UEFI, Grub2 UEFI SecureBoot.

host[ptable_id]
optional , nil allowed

required if host is managed and custom partition has not been defined

Validations:

  • Must be a number.

host[subnet_id]
optional , nil allowed

required if host is managed and value is not inherited from host group

Validations:

  • Must be a number.

host[compute_resource_id]
optional , nil allowed

nil means host is bare metal

Validations:

  • Must be a number.

host[root_pass]
optional , nil allowed

required if host is managed and value is not inherited from host group or default password in settings

Validations:

  • Must be String

host[model_id]
optional , nil allowed

Validations:

  • Must be a number.

host[hostgroup_id]
optional , nil allowed

Validations:

  • Must be a number.

host[owner_id]
optional , nil allowed

Validations:

  • Must be a number.

host[owner_type]
optional , nil allowed

Host’s owner type

Validations:

  • Must be one of: User, Usergroup.

host[puppet_ca_proxy_id]
optional , nil allowed

Validations:

  • Must be a number.

host[image_id]
optional , nil allowed

Validations:

  • Must be a number.

host[host_parameters_attributes]
optional , nil allowed

Host’s parameters (array or indexed hash)

Validations:

  • Must be an Array of nested elements

host[host_parameters_attributes][name]
required

Name of the parameter

Validations:

  • Must be String

host[host_parameters_attributes][value]
required

Parameter value

Validations:

  • Must be String

host[build]
optional , nil allowed

Validations:

  • Must be ‘true’ or ‘false’ or ‘1’ or ‘0’

host[enabled]
optional , nil allowed

Validations:

  • Must be ‘true’ or ‘false’ or ‘1’ or ‘0’

host[provision_method]
optional , nil allowed

The method used to provision the host. Possible provision_methods may be build (Network Based), image (Image Based)

Validations:

  • Must be String

host[managed]
optional , nil allowed

True/False flag whether a host is managed or unmanaged. Note: this value also determines whether several parameters are required or not

Validations:

  • Must be ‘true’ or ‘false’ or ‘1’ or ‘0’

host[progress_report_id]
optional , nil allowed

UUID to track orchestration tasks status, GET /api/orchestration/:UUID/tasks

Validations:

  • Must be String

host[comment]
optional , nil allowed

Additional information about this host

Validations:

  • Must be String

host[capabilities]
optional , nil allowed

Validations:

  • Must be String

host[compute_profile_id]
optional , nil allowed

Validations:

  • Must be a number.

host[interfaces_attributes]
optional , nil allowed

Host’s network interfaces.

Validations:

  • Must be an Array of nested elements

host[interfaces_attributes][mac]
optional , nil allowed

MAC address of interface. Required for managed interfaces on bare metal.

Validations:

  • Must be String

host[interfaces_attributes][ip]
optional , nil allowed

IPv4 address of interface

Validations:

  • Must be String

host[interfaces_attributes][ip6]
optional , nil allowed

IPv6 address of interface

Validations:

  • Must be String

host[interfaces_attributes][type]
optional , nil allowed

Interface type, e.g. bmc. Default is interface

Validations:

  • Must be one of: interface, bmc, bond, bridge.

host[interfaces_attributes][name]
optional , nil allowed

Interface’s DNS name

Validations:

  • Must be String

host[interfaces_attributes][subnet_id]
optional , nil allowed

Foreman subnet ID of IPv4 interface

Validations:

  • Must be Fixnum

host[interfaces_attributes][subnet6_id]
optional , nil allowed

Foreman subnet ID of IPv6 interface

Validations:

  • Must be Fixnum

host[interfaces_attributes][domain_id]
optional , nil allowed

Foreman domain ID of interface. Required for primary interfaces on managed hosts.

Validations:

  • Must be Fixnum

host[interfaces_attributes][identifier]
optional , nil allowed

Device identifier, e.g. eth0 or eth1.1

Validations:

  • Must be String

host[interfaces_attributes][managed]
optional , nil allowed

Should this interface be managed via DHCP and DNS smart proxy and should it be configured during provisioning?

Validations:

  • Must be ‘true’ or ‘false’ or ‘1’ or ‘0’

host[interfaces_attributes][primary]
optional , nil allowed

Should this interface be used for constructing the FQDN of the host? Each managed hosts needs to have one primary interface.

Validations:

  • Must be ‘true’ or ‘false’ or ‘1’ or ‘0’

host[interfaces_attributes][provision]
optional , nil allowed

Should this interface be used for TFTP of PXELinux (or SSH for image-based hosts)? Each managed hosts needs to have one provision interface.

Validations:

  • Must be ‘true’ or ‘false’ or ‘1’ or ‘0’

host[interfaces_attributes][username]
optional , nil allowed

Only for BMC interfaces.

Validations:

  • Must be String

host[interfaces_attributes][password]
optional , nil allowed

Only for BMC interfaces.

Validations:

  • Must be String

host[interfaces_attributes][provider]
optional , nil allowed

Interface provider, e.g. IPMI. Only for BMC interfaces.

Validations:

  • Must be one of: IPMI.

host[interfaces_attributes][virtual]
optional , nil allowed

Alias or VLAN device

Validations:

  • Must be ‘true’ or ‘false’ or ‘1’ or ‘0’

host[interfaces_attributes][tag]
optional , nil allowed

VLAN tag, this attribute has precedence over the subnet VLAN ID. Only for virtual interfaces.

Validations:

  • Must be String

host[interfaces_attributes][attached_to]
optional , nil allowed

Identifier of the interface to which this interface belongs, e.g. eth1. Only for virtual interfaces.

Validations:

  • Must be String

host[interfaces_attributes][mode]
optional , nil allowed

Bond mode of the interface, e.g. balance-rr. Only for bond interfaces.

Validations:

  • Must be one of: balance-rr, active-backup, balance-xor, broadcast, 802.3ad, balance-tlb, balance-alb.

host[interfaces_attributes][attached_devices]
optional , nil allowed

Identifiers of attached interfaces, e.g. ['eth1', 'eth2']. For bond interfaces those are the slaves. Only for bond and bridges interfaces.

Validations:

  • Must be an array of any type

host[interfaces_attributes][bond_options]
optional , nil allowed

Space separated options, e.g. miimon=100. Only for bond interfaces.

Validations:

  • Must be String

host[interfaces_attributes][compute_attributes]
optional , nil allowed

Additional compute resource specific attributes for the interface.

Validations:

  • Must be Hash

host[compute_attributes]
optional , nil allowed

Additional compute resource specific attributes.

Validations:

  • Must be Hash