GET /api/hosts
列出所有主機

GET /api/hostgroups/:hostgroup_id/hosts
列出主機群組的所有主機

GET /api/locations/:location_id/hosts
列出各個位置中的主機

GET /api/organizations/:organization_id/hosts
列出各個組織中的主機

GET /api/environments/:environment_id/hosts
列出各個環境中的主機

參數

參數名字 描述
thin
選填

Only list ID and name of hosts

Validations:

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

hostgroup_id
選填

主機群組的 ID

Validations:

  • Must be a String

location_id
選填

位置 ID

Validations:

  • Must be a String

organization_id
選填

組織 ID

Validations:

  • Must be a String

environment_id
選填

環境的 ID

Validations:

  • Must be a String

include
選填

Array of extra information types to include

Validations:

  • Must be an array of [“parameters”, “all_parameters”]

search
選填

篩選結果

Validations:

  • Must be a String

order
選填

排序結果

Validations:

  • Must be a String

page
選填

編頁結果

Validations:

  • Must be a String

per_page
選填

每個請求的項目數量

Validations:

  • Must be a String


GET /api/hosts/:id
顯示主機

參數

參數名字 描述
id
必填

Validations:

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

show_hidden_parameters
選填

Display hidden parameter values

Validations:

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


POST /api/hosts
建立主機

參數

參數名字 描述
host
必填

Validations:

  • Must be a Hash

host[name]
必填

Validations:

  • Must be a String

host[location_id]
必填

若啟用了位置的話便需要

Validations:

  • Must be a number.

host[organization_id]
必填

若組織啟用的話便需要

Validations:

  • Must be a number.

host[environment_id]
選填 , 允許空值

若主機是個受管理的主機,並且值不是由主機群組所繼承的話便需要

Validations:

  • Must be a String

host[ip]
選填 , 允許空值

若是使用一個含有 DHCP 協定的子網路則不需要

Validations:

  • Must be a String

host[mac]
選填 , 允許空值

屬於裸機的受管理主機需要,若是虛擬機器則不需要

Validations:

  • Must be a String

host[architecture_id]
選填 , 允許空值

若主機是個受管理的主機,並且值不是由主機群組所繼承的話便需要

Validations:

  • Must be a number.

host[domain_id]
選填 , 允許空值

若主機是個受管理的主機,並且值不是由主機群組所繼承的話便需要

Validations:

  • Must be a number.

host[realm_id]
選填 , 允許空值

Validations:

  • Must be a number.

host[puppet_proxy_id]
選填 , 允許空值

Puppet 代理 ID

Validations:

  • Must be a number.

host[puppet_ca_proxy_id]
選填 , 允許空值

Puppet CA 代理 ID

Validations:

  • Must be a number.

host[puppetclass_ids]
選填 , 允許空值

Validations:

  • Must be an array of any type

host[config_group_ids]
選填 , 允許空值

IDs of associated config groups

Validations:

  • Must be an array of any type

host[operatingsystem_id]
選填 , 允許空值

若主機是個受管理的主機,並且值不是由主機群組所繼承的話便需要

Validations:

  • Must be a String

host[medium_id]
選填 , 允許空值

若不是基於映像檔的佈建,而主機受管理並且值並非由主機群組所繼承的話便需要

Validations:

  • Must be a String

host[pxe_loader]
選填 , 允許空值

DHCP filename option (Grub2/PXELinux by default)

Validations:

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

host[ptable_id]
選填 , 允許空值

若主機是個受管理的主機,並且尚未定義自訂分割區的話便需要

Validations:

  • Must be a number.

host[subnet_id]
選填 , 允許空值

若主機是個受管理的主機,並且值不是由主機群組所繼承的話便需要

Validations:

  • Must be a number.

host[compute_resource_id]
選填 , 允許空值

nil 代表主機為裸機

Validations:

  • Must be a number.

host[root_pass]
選填 , 允許空值

若主機是個受管理的主機,並且值不是由主機群組或是設定中的預設密碼所繼承的話便需要

Validations:

  • Must be a String

host[model_id]
選填 , 允許空值

Validations:

  • Must be a number.

host[hostgroup_id]
選填 , 允許空值

Validations:

  • Must be a number.

host[owner_id]
選填 , 允許空值

Validations:

  • Must be a number.

host[owner_type]
選填 , 允許空值

主機的擁有者類型

Validations:

  • Must be one of: User, Usergroup.

host[image_id]
選填 , 允許空值

Validations:

  • Must be a number.

host[host_parameters_attributes]
選填 , 允許空值

主機參數(陣列或索引過的雜湊)

Validations:

  • Must be an Array of nested elements

host[host_parameters_attributes][name]
必填

參數名稱

Validations:

  • Must be a String

host[host_parameters_attributes][value]
必填

參數值

Validations:

  • Must be a String

host[build]
選填 , 允許空值

Validations:

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

host[enabled]
選填 , 允許空值

在 Foreman 回報中包含這部主機

Validations:

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

host[provision_method]
選填 , 允許空值

佈建主機的方法。可能的 provision_methods 為 build (基於網路), image (基於映像檔)

Validations:

  • Must be a String

host[managed]
選填 , 允許空值

True/False 標記代表主機是否受管理。請注意:這個值也能決定是否需要數個參數

Validations:

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

host[progress_report_id]
選填 , 允許空值

用來追蹤協調流程任務狀態的 UUID,GET /api/orchestration/:UUID/tasks

Validations:

  • Must be a String

host[comment]
選填 , 允許空值

有關於這部主機的額外資訊

Validations:

  • Must be a String

host[capabilities]
選填 , 允許空值

Validations:

  • Must be a String

host[compute_profile_id]
選填 , 允許空值

Validations:

  • Must be a number.

host[interfaces_attributes]
選填 , 允許空值

主機的網路介面。

Validations:

  • Must be an Array of nested elements

host[interfaces_attributes][mac]
選填 , 允許空值

介面卡的 MAC 位址。在空機上的管理介面所需。

Validations:

  • Must be a String

host[interfaces_attributes][ip]
選填 , 允許空值

IPv4 address of interface

Validations:

  • Must be a String

host[interfaces_attributes][ip6]
選填 , 允許空值

IPv6 address of interface

Validations:

  • Must be a String

host[interfaces_attributes][type]
選填 , 允許空值

介面卡類型,例如 bmc。預設值為 interface

Validations:

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

host[interfaces_attributes][name]
選填 , 允許空值

介面的 DNS 名稱

Validations:

  • Must be a String

host[interfaces_attributes][subnet_id]
選填 , 允許空值

Foreman subnet ID of IPv4 interface

Validations:

  • Must be a number.

host[interfaces_attributes][subnet6_id]
選填 , 允許空值

Foreman subnet ID of IPv6 interface

Validations:

  • Must be a number.

host[interfaces_attributes][domain_id]
選填 , 允許空值

介面卡的 Foreman 區域 ID。在受管理主機上的主介面所需。

Validations:

  • Must be a number.

host[interfaces_attributes][identifier]
選填 , 允許空值

裝置辨識子,例如 eth0 或 eth1.1

Validations:

  • Must be a String

host[interfaces_attributes][managed]
選填 , 允許空值

這個介面卡是否應該透過 DHCP 和 DNS 智慧型代理伺服器管理,以及它是否應該在佈建時進行配置?

Validations:

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

host[interfaces_attributes][primary]
選填 , 允許空值

這介面是否要用來建立主機的 FQDN?每個受管理的主機需要有一組主介面。

Validations:

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

host[interfaces_attributes][provision]
選填 , 允許空值

這介面是否要給 PXELinux 的 TFTP(或映像檔為主的 SSH)使用?每個受管理的主機需要有一個佈建介面。

Validations:

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

host[interfaces_attributes][username]
選填 , 允許空值

僅適用於 BMC 介面卡。

Validations:

  • Must be a String

host[interfaces_attributes][password]
選填 , 允許空值

僅適用於 BMC 介面卡。

Validations:

  • Must be a String

host[interfaces_attributes][provider]
選填 , 允許空值

介面卡供應者,例如 IPMI。僅適用於 BMC 介面卡。

Validations:

  • Must be one of: IPMI, SSH.

host[interfaces_attributes][virtual]
選填 , 允許空值

別名或 VLAN 裝置

Validations:

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

host[interfaces_attributes][tag]
選填 , 允許空值

VLAN 標籤,這個屬性擁有比子網路 VLAN ID 更高的優先權。僅適用於虛擬介面卡。

Validations:

  • Must be a String

host[interfaces_attributes][attached_to]
選填 , 允許空值

辨識此介面卡的辨識子,例如 eth1。僅適用於虛擬介面卡。

Validations:

  • Must be a String

host[interfaces_attributes][mode]
選填 , 允許空值

介面的綁定模式,例如 balance-rr。僅用於綁定介面。

Validations:

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

host[interfaces_attributes][attached_devices]
選填 , 允許空值

相關連介面的識別子,例如`['eth1', 'eth2']`。對於綁定介面來說,這些是從屬的。僅用於綁定與橋接介面。

Validations:

  • Must be an array of any type

host[interfaces_attributes][bond_options]
選填 , 允許空值

以空格區隔開的選項,例如 miimon=100。僅適用於 bond 介面卡。

Validations:

  • Must be a String

host[interfaces_attributes][compute_attributes]
選填 , 允許空值

該介面的額外運算資源特定的屬性。

Validations:

  • Must be a Hash

host[compute_attributes]
選填 , 允許空值

額外運算資源特定的屬性。

Validations:

  • Must be a Hash


PUT /api/hosts/:id
更新主機

參數

參數名字 描述
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.

host
必填

Validations:

  • Must be a Hash

host[name]
選填

Validations:

  • Must be a String

host[location_id]
選填

若啟用了位置的話便需要

Validations:

  • Must be a number.

host[organization_id]
選填

若組織啟用的話便需要

Validations:

  • Must be a number.

host[environment_id]
選填 , 允許空值

若主機是個受管理的主機,並且值不是由主機群組所繼承的話便需要

Validations:

  • Must be a String

host[ip]
選填 , 允許空值

若是使用一個含有 DHCP 協定的子網路則不需要

Validations:

  • Must be a String

host[mac]
選填 , 允許空值

屬於裸機的受管理主機需要,若是虛擬機器則不需要

Validations:

  • Must be a String

host[architecture_id]
選填 , 允許空值

若主機是個受管理的主機,並且值不是由主機群組所繼承的話便需要

Validations:

  • Must be a number.

host[domain_id]
選填 , 允許空值

若主機是個受管理的主機,並且值不是由主機群組所繼承的話便需要

Validations:

  • Must be a number.

host[realm_id]
選填 , 允許空值

Validations:

  • Must be a number.

host[puppet_proxy_id]
選填 , 允許空值

Puppet 代理 ID

Validations:

  • Must be a number.

host[puppet_ca_proxy_id]
選填 , 允許空值

Puppet CA 代理 ID

Validations:

  • Must be a number.

host[puppetclass_ids]
選填 , 允許空值

Validations:

  • Must be an array of any type

host[config_group_ids]
選填 , 允許空值

IDs of associated config groups

Validations:

  • Must be an array of any type

host[operatingsystem_id]
選填 , 允許空值

若主機是個受管理的主機,並且值不是由主機群組所繼承的話便需要

Validations:

  • Must be a String

host[medium_id]
選填 , 允許空值

若不是基於映像檔的佈建,而主機受管理並且值並非由主機群組所繼承的話便需要

Validations:

  • Must be a String

host[pxe_loader]
選填 , 允許空值

DHCP filename option (Grub2/PXELinux by default)

Validations:

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

host[ptable_id]
選填 , 允許空值

若主機是個受管理的主機,並且尚未定義自訂分割區的話便需要

Validations:

  • Must be a number.

host[subnet_id]
選填 , 允許空值

若主機是個受管理的主機,並且值不是由主機群組所繼承的話便需要

Validations:

  • Must be a number.

host[compute_resource_id]
選填 , 允許空值

nil 代表主機為裸機

Validations:

  • Must be a number.

host[root_pass]
選填 , 允許空值

若主機是個受管理的主機,並且值不是由主機群組或是設定中的預設密碼所繼承的話便需要

Validations:

  • Must be a String

host[model_id]
選填 , 允許空值

Validations:

  • Must be a number.

host[hostgroup_id]
選填 , 允許空值

Validations:

  • Must be a number.

host[owner_id]
選填 , 允許空值

Validations:

  • Must be a number.

host[owner_type]
選填 , 允許空值

主機的擁有者類型

Validations:

  • Must be one of: User, Usergroup.

host[image_id]
選填 , 允許空值

Validations:

  • Must be a number.

host[host_parameters_attributes]
選填 , 允許空值

主機參數(陣列或索引過的雜湊)

Validations:

  • Must be an Array of nested elements

host[host_parameters_attributes][name]
選填

參數名稱

Validations:

  • Must be a String

host[host_parameters_attributes][value]
選填

參數值

Validations:

  • Must be a String

host[build]
選填 , 允許空值

Validations:

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

host[enabled]
選填 , 允許空值

在 Foreman 回報中包含這部主機

Validations:

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

host[provision_method]
選填 , 允許空值

佈建主機的方法。可能的 provision_methods 為 build (基於網路), image (基於映像檔)

Validations:

  • Must be a String

host[managed]
選填 , 允許空值

True/False 標記代表主機是否受管理。請注意:這個值也能決定是否需要數個參數

Validations:

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

host[progress_report_id]
選填 , 允許空值

用來追蹤協調流程任務狀態的 UUID,GET /api/orchestration/:UUID/tasks

Validations:

  • Must be a String

host[comment]
選填 , 允許空值

有關於這部主機的額外資訊

Validations:

  • Must be a String

host[capabilities]
選填 , 允許空值

Validations:

  • Must be a String

host[compute_profile_id]
選填 , 允許空值

Validations:

  • Must be a number.

host[interfaces_attributes]
選填 , 允許空值

主機的網路介面。

Validations:

  • Must be an Array of nested elements

host[interfaces_attributes][mac]
選填 , 允許空值

介面卡的 MAC 位址。在空機上的管理介面所需。

Validations:

  • Must be a String

host[interfaces_attributes][ip]
選填 , 允許空值

IPv4 address of interface

Validations:

  • Must be a String

host[interfaces_attributes][ip6]
選填 , 允許空值

IPv6 address of interface

Validations:

  • Must be a String

host[interfaces_attributes][type]
選填 , 允許空值

介面卡類型,例如 bmc。預設值為 interface

Validations:

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

host[interfaces_attributes][name]
選填 , 允許空值

介面的 DNS 名稱

Validations:

  • Must be a String

host[interfaces_attributes][subnet_id]
選填 , 允許空值

Foreman subnet ID of IPv4 interface

Validations:

  • Must be a number.

host[interfaces_attributes][subnet6_id]
選填 , 允許空值

Foreman subnet ID of IPv6 interface

Validations:

  • Must be a number.

host[interfaces_attributes][domain_id]
選填 , 允許空值

介面卡的 Foreman 區域 ID。在受管理主機上的主介面所需。

Validations:

  • Must be a number.

host[interfaces_attributes][identifier]
選填 , 允許空值

裝置辨識子,例如 eth0 或 eth1.1

Validations:

  • Must be a String

host[interfaces_attributes][managed]
選填 , 允許空值

這個介面卡是否應該透過 DHCP 和 DNS 智慧型代理伺服器管理,以及它是否應該在佈建時進行配置?

Validations:

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

host[interfaces_attributes][primary]
選填 , 允許空值

這介面是否要用來建立主機的 FQDN?每個受管理的主機需要有一組主介面。

Validations:

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

host[interfaces_attributes][provision]
選填 , 允許空值

這介面是否要給 PXELinux 的 TFTP(或映像檔為主的 SSH)使用?每個受管理的主機需要有一個佈建介面。

Validations:

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

host[interfaces_attributes][username]
選填 , 允許空值

僅適用於 BMC 介面卡。

Validations:

  • Must be a String

host[interfaces_attributes][password]
選填 , 允許空值

僅適用於 BMC 介面卡。

Validations:

  • Must be a String

host[interfaces_attributes][provider]
選填 , 允許空值

介面卡供應者,例如 IPMI。僅適用於 BMC 介面卡。

Validations:

  • Must be one of: IPMI, SSH.

host[interfaces_attributes][virtual]
選填 , 允許空值

別名或 VLAN 裝置

Validations:

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

host[interfaces_attributes][tag]
選填 , 允許空值

VLAN 標籤,這個屬性擁有比子網路 VLAN ID 更高的優先權。僅適用於虛擬介面卡。

Validations:

  • Must be a String

host[interfaces_attributes][attached_to]
選填 , 允許空值

辨識此介面卡的辨識子,例如 eth1。僅適用於虛擬介面卡。

Validations:

  • Must be a String

host[interfaces_attributes][mode]
選填 , 允許空值

介面的綁定模式,例如 balance-rr。僅用於綁定介面。

Validations:

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

host[interfaces_attributes][attached_devices]
選填 , 允許空值

相關連介面的識別子,例如`['eth1', 'eth2']`。對於綁定介面來說,這些是從屬的。僅用於綁定與橋接介面。

Validations:

  • Must be an array of any type

host[interfaces_attributes][bond_options]
選填 , 允許空值

以空格區隔開的選項,例如 miimon=100。僅適用於 bond 介面卡。

Validations:

  • Must be a String

host[interfaces_attributes][compute_attributes]
選填 , 允許空值

該介面的額外運算資源特定的屬性。

Validations:

  • Must be a Hash

host[compute_attributes]
選填 , 允許空值

額外運算資源特定的屬性。

Validations:

  • Must be a Hash


DELETE /api/hosts/:id
刪除主機

參數

參數名字 描述
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.


GET /api/hosts/:id/enc
Get ENC values of host

參數

參數名字 描述
id
必填

Validations:

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


GET /api/hosts/:id/status
取得主機配置狀態

Return value may either be one of the following:

  • Alerts disabled

  • No reports

  • Error

  • Out of sync

  • Active

  • Pending

  • No changes

參數

參數名字 描述
id
必填

Validations:

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


GET /api/hosts/:id/status/:type
取得主機的狀態

Returns string representing a host status of a given type

參數

參數名字 描述
id
必填

Validations:

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

type
必填

狀態類型,是以下其中之一

  • global

  • configuration

  • build

Validations:

  • Must be one of: HostStatus::Global, configuration, build.


GET /api/hosts/:id/vm_compute_attributes
取得主機的 vm 狀態

Return the host's compute attributes that can be used to create a clone of this VM

參數

參數名字 描述
id
必填

Validations:

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


PUT /api/hosts/:id/disassociate
解除主機與 VM 的相聯性

參數

參數名字 描述
id
必填

Validations:

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


PUT /api/hosts/:id/power
在主機上執行一項電源作業

參數

參數名字 描述
id
必填

Validations:

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

power_action
必填

電源動作,有效的動作為(on/start)、(off/stop)、(soft/reboot)、(cycle/reset)、(state/status)

Validations:

  • Must be a String


PUT /api/hosts/:id/boot
從特定裝置啟動主機

參數

參數名字 描述
id
必填

Validations:

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

device
必填

開機裝置,有效裝置為磁碟、cdrom、pxe、bios

Validations:

  • Must be a String


POST /api/hosts/facts
上傳主機的詳情,並視需求建立主機

參數

參數名字 描述
name
必填

主機的主機名稱

Validations:

  • Must be a String

facts
必填

包含主機詳情的雜湊

Validations:

  • Must be a Hash

certname
選填

選用性:主機的憑證名稱

Validations:

  • Must be a String

type
選填

選用性:欲建立之主機的 STI 類型

Validations:

  • Must be a String


PUT /api/hosts/:id/rebuild_config
重建協調配置

參數

參數名字 描述
id
必填

Validations:

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

only
選填

Limit rebuild steps, valid steps are DHCP, DNS, TFTP

Validations:

  • Must be an array of any type


GET /api/hosts/:id/template/:kind
預覽已轉譯的範本內容

參數

參數名字 描述
id
必填

Validations:

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

kind
必填

範本種類,可用的值:PXELinux, PXEGrub, PXEGrub2, iPXE, provision, finish, script, user_data, ZTP, POAP

Validations:

  • Must be a String