GET /api/hostgroups
列出所有主機群組

GET /api/puppetclasses/:puppetclass_id/hostgroups
列出 Puppet 類別的所有主機群組

GET /api/locations/:location_id/hostgroups
列出各個位置上的所有主機群組

GET /api/organizations/:organization_id/hostgroups
列出各個組織中的所有主機群組

示例

GET /api/hostgroups
200
{
  "total": 5,
  "subtotal": 5,
  "page": 1,
  "per_page": 20,
  "search": null,
  "sort": {
    "by": null,
    "order": null
  },
  "results": [
    {
      "subnet_id": null,
      "subnet_name": null,
      "operatingsystem_id": 309172073,
      "operatingsystem_name": "centos 5.3",
      "domain_id": 22495316,
      "domain_name": "mydomain.net",
      "environment_id": 334344675,
      "environment_name": "production",
      "compute_profile_id": 980190962,
      "compute_profile_name": "1-Small",
      "ancestry": null,
      "parent_id": null,
      "parent_name": null,
      "ptable_id": null,
      "ptable_name": null,
      "medium_id": 980190962,
      "medium_name": "CentOS 5.4",
      "pxe_loader": null,
      "subnet6_id": null,
      "subnet6_name": null,
      "compute_resource_id": null,
      "compute_resource_name": null,
      "architecture_id": 501905019,
      "architecture_name": "x86_64",
      "realm_id": null,
      "realm_name": null,
      "created_at": "2019-11-07 08:56:53 UTC",
      "updated_at": "2019-11-07 08:56:53 UTC",
      "id": 636252244,
      "name": "Common",
      "title": "Common",
      "description": null,
      "puppet_proxy_id": 182953976,
      "puppet_proxy_name": "Puppetmaster Proxy",
      "puppet_ca_proxy_id": null,
      "puppet_ca_proxy_name": null,
      "puppet_proxy": {
        "name": "Puppetmaster Proxy",
        "id": 182953976,
        "url": "http://else.where:4567"
      },
      "puppet_ca_proxy": null,
      "parameters": [
        {
          "priority": null,
          "created_at": "2019-11-07 08:56:53 UTC",
          "updated_at": "2019-11-07 08:56:53 UTC",
          "id": 767575238,
          "name": "group1",
          "parameter_type": "string",
          "value": "group1"
        }
      ]
    },
    {
      "subnet_id": null,
      "subnet_name": null,
      "operatingsystem_id": 309172073,
      "operatingsystem_name": "centos 5.3",
      "domain_id": null,
      "domain_name": null,
      "environment_id": 334344675,
      "environment_name": "production",
      "compute_profile_id": null,
      "compute_profile_name": null,
      "ancestry": null,
      "parent_id": null,
      "parent_name": null,
      "ptable_id": null,
      "ptable_name": null,
      "medium_id": 980190962,
      "medium_name": "CentOS 5.4",
      "pxe_loader": null,
      "subnet6_id": null,
      "subnet6_name": null,
      "compute_resource_id": null,
      "compute_resource_name": null,
      "architecture_id": 501905019,
      "architecture_name": "x86_64",
      "realm_id": null,
      "realm_name": null,
      "created_at": "2019-11-07 08:56:53 UTC",
      "updated_at": "2019-11-07 08:56:53 UTC",
      "id": 603241515,
      "name": "db",
      "title": "db",
      "description": null,
      "puppet_proxy_id": 182953976,
      "puppet_proxy_name": "Puppetmaster Proxy",
      "puppet_ca_proxy_id": null,
      "puppet_ca_proxy_name": null,
      "puppet_proxy": {
        "name": "Puppetmaster Proxy",
        "id": 182953976,
        "url": "http://else.where:4567"
      },
      "puppet_ca_proxy": null,
      "parameters": []
    },
    {
      "subnet_id": 1018350795,
      "subnet_name": "five",
      "operatingsystem_id": 309172073,
      "operatingsystem_name": "centos 5.3",
      "domain_id": 22495316,
      "domain_name": "mydomain.net",
      "environment_id": 153855663,
      "environment_name": "global_puppetmaster",
      "compute_profile_id": 980190962,
      "compute_profile_name": "1-Small",
      "ancestry": null,
      "parent_id": null,
      "parent_name": null,
      "ptable_id": 615088209,
      "ptable_name": "Example partition table",
      "medium_id": 980190962,
      "medium_name": "CentOS 5.4",
      "pxe_loader": "PXELinux BIOS",
      "subnet6_id": 51848956,
      "subnet6_name": "six",
      "compute_resource_id": null,
      "compute_resource_name": null,
      "architecture_id": 501905019,
      "architecture_name": "x86_64",
      "realm_id": null,
      "realm_name": null,
      "created_at": "2019-11-07 08:56:53 UTC",
      "updated_at": "2019-11-07 08:56:53 UTC",
      "id": 1,
      "name": "Parent",
      "title": "Parent",
      "description": null,
      "puppet_proxy_id": 182953976,
      "puppet_proxy_name": "Puppetmaster Proxy",
      "puppet_ca_proxy_id": 182953976,
      "puppet_ca_proxy_name": "Puppetmaster Proxy",
      "puppet_proxy": {
        "name": "Puppetmaster Proxy",
        "id": 182953976,
        "url": "http://else.where:4567"
      },
      "puppet_ca_proxy": {
        "name": "Puppetmaster Proxy",
        "id": 182953976,
        "url": "http://else.where:4567"
      },
      "parameters": []
    },
    {
      "subnet_id": null,
      "subnet_name": "five",
      "operatingsystem_id": null,
      "operatingsystem_name": "centos 5.3",
      "domain_id": null,
      "domain_name": "mydomain.net",
      "environment_id": 334344675,
      "environment_name": "production",
      "compute_profile_id": null,
      "compute_profile_name": "1-Small",
      "ancestry": "1",
      "parent_id": 1,
      "parent_name": "Parent",
      "ptable_id": null,
      "ptable_name": "Example partition table",
      "medium_id": null,
      "medium_name": "CentOS 5.4",
      "pxe_loader": "PXELinux BIOS",
      "subnet6_id": null,
      "subnet6_name": "six",
      "compute_resource_id": null,
      "compute_resource_name": null,
      "architecture_id": null,
      "architecture_name": "x86_64",
      "realm_id": null,
      "realm_name": null,
      "created_at": "2019-11-07 08:56:53 UTC",
      "updated_at": "2019-11-07 08:56:53 UTC",
      "id": 928644285,
      "name": "inherited",
      "title": "Parent/inherited",
      "description": null,
      "puppet_proxy_id": null,
      "puppet_proxy_name": "Puppetmaster Proxy",
      "puppet_ca_proxy_id": null,
      "puppet_ca_proxy_name": "Puppetmaster Proxy",
      "puppet_proxy": {
        "name": "Puppetmaster Proxy",
        "id": 182953976,
        "url": "http://else.where:4567"
      },
      "puppet_ca_proxy": {
        "name": "Puppetmaster Proxy",
        "id": 182953976,
        "url": "http://else.where:4567"
      },
      "parameters": []
    },
    {
      "subnet_id": null,
      "subnet_name": null,
      "operatingsystem_id": null,
      "operatingsystem_name": null,
      "domain_id": null,
      "domain_name": null,
      "environment_id": null,
      "environment_name": null,
      "compute_profile_id": null,
      "compute_profile_name": null,
      "ancestry": null,
      "parent_id": null,
      "parent_name": null,
      "ptable_id": null,
      "ptable_name": null,
      "medium_id": null,
      "medium_name": null,
      "pxe_loader": null,
      "subnet6_id": null,
      "subnet6_name": null,
      "compute_resource_id": null,
      "compute_resource_name": null,
      "architecture_id": null,
      "architecture_name": null,
      "realm_id": null,
      "realm_name": null,
      "created_at": "2019-11-07 08:56:53 UTC",
      "updated_at": "2019-11-07 08:56:53 UTC",
      "id": 866317115,
      "name": "Unusual",
      "title": "Unusual",
      "description": null,
      "puppet_proxy_id": 182953976,
      "puppet_proxy_name": "Puppetmaster Proxy",
      "puppet_ca_proxy_id": null,
      "puppet_ca_proxy_name": null,
      "puppet_proxy": {
        "name": "Puppetmaster Proxy",
        "id": 182953976,
        "url": "http://else.where:4567"
      },
      "puppet_ca_proxy": null,
      "parameters": []
    }
  ]
}

參數

參數名字 描述
puppetclass_id
選填

Puppet 類別的 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.

include
選填

Array of extra information types to include

Validations:

  • Must be an array of [parameters]

Search fields

Field name 類型 Possible values
architecture string
class string
config_group string
environment string
host string
id integer
label string
location string
location_id integer
medium string
name string
organization string
organization_id integer
os string
os_description string
os_id integer
os_major string
os_minor string
os_title string
params text
template string
title string

GET /api/hostgroups/:id
顯示主機群組

示例

GET /api/hostgroups/928644301
200
{
  "subnet_id": null,
  "subnet_name": null,
  "operatingsystem_id": null,
  "operatingsystem_name": null,
  "domain_id": null,
  "domain_name": null,
  "environment_id": null,
  "environment_name": null,
  "compute_profile_id": null,
  "compute_profile_name": null,
  "ancestry": null,
  "parent_id": null,
  "parent_name": null,
  "ptable_id": null,
  "ptable_name": null,
  "medium_id": null,
  "medium_name": null,
  "pxe_loader": null,
  "subnet6_id": null,
  "subnet6_name": null,
  "compute_resource_id": null,
  "compute_resource_name": null,
  "architecture_id": null,
  "architecture_name": null,
  "realm_id": null,
  "realm_name": null,
  "created_at": "2019-11-07 08:34:25 UTC",
  "updated_at": "2019-11-07 08:34:25 UTC",
  "id": 928644301,
  "name": "hostgroup18",
  "title": "hostgroup18",
  "description": null,
  "puppet_proxy_id": null,
  "puppet_proxy_name": null,
  "puppet_ca_proxy_id": null,
  "puppet_ca_proxy_name": null,
  "puppet_proxy": null,
  "puppet_ca_proxy": null,
  "parameters": [
    {
      "priority": 60,
      "created_at": "2019-11-07 08:34:25 UTC",
      "updated_at": "2019-11-07 08:34:25 UTC",
      "id": 767575239,
      "name": "foo",
      "parameter_type": "string",
      "value": "bar"
    }
  ],
  "template_combinations": [],
  "puppetclasses": [],
  "config_groups": [],
  "all_puppetclasses": [],
  "locations": [
    {
      "id": 255093256,
      "name": "Location 1",
      "title": "Location 1",
      "description": null
    }
  ],
  "organizations": [
    {
      "id": 447626438,
      "name": "Organization 1",
      "title": "Organization 1",
      "description": null
    }
  ]
}

參數

參數名字 描述
location_id
選填

Set the current location context for the request

Validations:

  • Must be a Integer

organization_id
選填

Set the current organization context for the request

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.

show_hidden_parameters
選填

Display hidden parameter values

Validations:

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


POST /api/hostgroups
建立主機群組

示例

POST /api/hostgroups
{
  "hostgroup": {
    "name": "TestHostgroup",
    "parameters": [
      {
        "name": "foo",
        "value": "bar",
        "hidden_value": true
      }
    ]
  }
}
201
{
  "subnet_id": null,
  "subnet_name": null,
  "operatingsystem_id": null,
  "operatingsystem_name": null,
  "domain_id": null,
  "domain_name": null,
  "environment_id": null,
  "environment_name": null,
  "compute_profile_id": null,
  "compute_profile_name": null,
  "ancestry": null,
  "parent_id": null,
  "parent_name": null,
  "ptable_id": null,
  "ptable_name": null,
  "medium_id": null,
  "medium_name": null,
  "pxe_loader": null,
  "subnet6_id": null,
  "subnet6_name": null,
  "compute_resource_id": null,
  "compute_resource_name": null,
  "architecture_id": null,
  "architecture_name": null,
  "realm_id": null,
  "realm_name": null,
  "created_at": "2019-11-07 08:34:25 UTC",
  "updated_at": "2019-11-07 08:34:25 UTC",
  "id": 928644300,
  "name": "TestHostgroup",
  "title": "TestHostgroup",
  "description": null,
  "puppet_proxy_id": null,
  "puppet_proxy_name": null,
  "puppet_ca_proxy_id": null,
  "puppet_ca_proxy_name": null,
  "puppet_proxy": null,
  "puppet_ca_proxy": null,
  "parameters": [],
  "template_combinations": [],
  "puppetclasses": [],
  "config_groups": [],
  "all_puppetclasses": [],
  "locations": [],
  "organizations": []
}

參數

參數名字 描述
location_id
選填

Set the current location context for the request

Validations:

  • Must be a Integer

organization_id
選填

Set the current organization context for the request

Validations:

  • Must be a Integer

hostgroup
必填

Validations:

  • Must be a Hash

hostgroup[name]
必填

主機群組的名稱

Validations:

  • Must be a String

hostgroup[description]
選填 , 允許空值

Host group description

Validations:

  • Must be a String

hostgroup[parent_id]
選填 , 允許空值

主機群組的父 ID

Validations:

  • Must be a number.

hostgroup[environment_id]
選填 , 允許空值

環境 ID

Validations:

  • Must be a number.

hostgroup[compute_profile_id]
選填 , 允許空值

運算設定檔 ID

Validations:

  • Must be a number.

hostgroup[compute_resource_id]
選填 , 允許空值

Compute resource ID

Validations:

  • Must be a number.

hostgroup[operatingsystem_id]
選填 , 允許空值

作業系統 ID

Validations:

  • Must be a number.

hostgroup[architecture_id]
選填 , 允許空值

架構 ID

Validations:

  • Must be a number.

hostgroup[pxe_loader]
選填 , 允許空值

DHCP filename option (Grub2/PXELinux by default)

Validations:

  • Must be one of: None, PXELinux BIOS, PXELinux UEFI, Grub UEFI, Grub2 BIOS, Grub2 ELF, Grub2 UEFI, Grub2 UEFI SecureBoot, Grub2 UEFI HTTP, Grub2 UEFI HTTPS, Grub2 UEFI HTTPS SecureBoot, iPXE Embedded, iPXE UEFI HTTP, iPXE Chain BIOS, iPXE Chain UEFI.

hostgroup[medium_id]
選填 , 允許空值

媒體 ID

Validations:

  • Must be a number.

hostgroup[ptable_id]
選填 , 允許空值

分割表 ID

Validations:

  • Must be a number.

hostgroup[subnet_id]
選填 , 允許空值

子網路 ID

Validations:

  • Must be a number.

hostgroup[subnet6_id]
選填 , 允許空值

Subnet IPv6 ID

Validations:

  • Must be a number.

hostgroup[domain_id]
選填 , 允許空值

網域 ID

Validations:

  • Must be a number.

hostgroup[realm_id]
選填 , 允許空值

領域類型

Validations:

  • Must be a number.

hostgroup[config_group_ids]
選填 , 允許空值

IDs of associated config groups

Validations:

  • Must be an array of any type

hostgroup[group_parameters_attributes]
選填 , 允許空值

Array of parameters

Validations:

  • Must be an Array of nested elements

hostgroup[group_parameters_attributes][name]
必填

參數名稱

Validations:

  • Must be a String

hostgroup[group_parameters_attributes][value]
必填

參數值

Validations:

  • Must be a String

hostgroup[group_parameters_attributes][parameter_type]
選填 , 允許空值

Type of value

Validations:

  • Must be one of: string, boolean, integer, real, array, hash, yaml, json.

hostgroup[group_parameters_attributes][hidden_value]
選填 , 允許空值

Validations:

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

hostgroup[puppet_proxy_id]
選填 , 允許空值

Puppet 代理 ID

Validations:

  • Must be a number.

hostgroup[puppet_ca_proxy_id]
選填 , 允許空值

Puppet CA 代理 ID

Validations:

  • Must be a number.

hostgroup[root_pass]
選填 , 允許空值

在已佈建主機上的 root 密碼

Validations:

  • Must be a String

hostgroup[location_ids]
選填 , 允許空值

將位置取代為特定 ID

Validations:

  • Must be an array of any type

hostgroup[organization_ids]
選填 , 允許空值

將組織取代為特定 ID。

Validations:

  • Must be an array of any type


PUT /api/hostgroups/:id
更新主機群組

示例

PUT /api/hostgroups/636252244
{
  "hostgroup": {
    "name": ""
  }
}
422
{
  "error": {
    "id": 636252244,
    "errors": {
      "name": [
        "can't be blank"
      ]
    },
    "full_messages": [
      "Name can't be blank"
    ]
  }
}

參數

參數名字 描述
location_id
選填

Set the current location context for the request

Validations:

  • Must be a Integer

organization_id
選填

Set the current organization context for the request

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.

hostgroup
必填

Validations:

  • Must be a Hash

hostgroup[name]
選填

主機群組的名稱

Validations:

  • Must be a String

hostgroup[description]
選填 , 允許空值

Host group description

Validations:

  • Must be a String

hostgroup[parent_id]
選填 , 允許空值

主機群組的父 ID

Validations:

  • Must be a number.

hostgroup[environment_id]
選填 , 允許空值

環境 ID

Validations:

  • Must be a number.

hostgroup[compute_profile_id]
選填 , 允許空值

運算設定檔 ID

Validations:

  • Must be a number.

hostgroup[compute_resource_id]
選填 , 允許空值

Compute resource ID

Validations:

  • Must be a number.

hostgroup[operatingsystem_id]
選填 , 允許空值

作業系統 ID

Validations:

  • Must be a number.

hostgroup[architecture_id]
選填 , 允許空值

架構 ID

Validations:

  • Must be a number.

hostgroup[pxe_loader]
選填 , 允許空值

DHCP filename option (Grub2/PXELinux by default)

Validations:

  • Must be one of: None, PXELinux BIOS, PXELinux UEFI, Grub UEFI, Grub2 BIOS, Grub2 ELF, Grub2 UEFI, Grub2 UEFI SecureBoot, Grub2 UEFI HTTP, Grub2 UEFI HTTPS, Grub2 UEFI HTTPS SecureBoot, iPXE Embedded, iPXE UEFI HTTP, iPXE Chain BIOS, iPXE Chain UEFI.

hostgroup[medium_id]
選填 , 允許空值

媒體 ID

Validations:

  • Must be a number.

hostgroup[ptable_id]
選填 , 允許空值

分割表 ID

Validations:

  • Must be a number.

hostgroup[subnet_id]
選填 , 允許空值

子網路 ID

Validations:

  • Must be a number.

hostgroup[subnet6_id]
選填 , 允許空值

Subnet IPv6 ID

Validations:

  • Must be a number.

hostgroup[domain_id]
選填 , 允許空值

網域 ID

Validations:

  • Must be a number.

hostgroup[realm_id]
選填 , 允許空值

領域類型

Validations:

  • Must be a number.

hostgroup[config_group_ids]
選填 , 允許空值

IDs of associated config groups

Validations:

  • Must be an array of any type

hostgroup[group_parameters_attributes]
選填 , 允許空值

Array of parameters

Validations:

  • Must be an Array of nested elements

hostgroup[group_parameters_attributes][name]
選填

參數名稱

Validations:

  • Must be a String

hostgroup[group_parameters_attributes][value]
選填

參數值

Validations:

  • Must be a String

hostgroup[group_parameters_attributes][parameter_type]
選填 , 允許空值

Type of value

Validations:

  • Must be one of: string, boolean, integer, real, array, hash, yaml, json.

hostgroup[group_parameters_attributes][hidden_value]
選填 , 允許空值

Validations:

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

hostgroup[puppet_proxy_id]
選填 , 允許空值

Puppet 代理 ID

Validations:

  • Must be a number.

hostgroup[puppet_ca_proxy_id]
選填 , 允許空值

Puppet CA 代理 ID

Validations:

  • Must be a number.

hostgroup[root_pass]
選填 , 允許空值

在已佈建主機上的 root 密碼

Validations:

  • Must be a String

hostgroup[location_ids]
選填 , 允許空值

將位置取代為特定 ID

Validations:

  • Must be an array of any type

hostgroup[organization_ids]
選填 , 允許空值

將組織取代為特定 ID。

Validations:

  • Must be an array of any type


DELETE /api/hostgroups/:id
刪除主機群組

示例

DELETE /api/hostgroups/1-Parent
{
  "hostgroup": {}
}
409
{
  "message": "Cannot delete group Parent because it has nested host groups."
}

參數

參數名字 描述
location_id
選填

Set the current location context for the request

Validations:

  • Must be a Integer

organization_id
選填

Set the current organization context for the request

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/hostgroups/:id/clone
複製主機群組

示例

POST /api/hostgroups/636252244/clone
{
  "name": "EiXUjczqAK",
  "hostgroup": {
    "name": "EiXUjczqAK"
  }
}
201
{
  "id": 928644297,
  "name": "EiXUjczqAK",
  "created_at": "2019-11-07T08:57:03.118Z",
  "updated_at": "2019-11-07T08:57:03.118Z",
  "environment_id": 334344675,
  "operatingsystem_id": 309172073,
  "architecture_id": 501905019,
  "medium_id": 980190962,
  "ptable_id": null,
  "root_pass": "$1$foreman$NW1XVtbk4/XkJqmKNrFWV0",
  "puppet_ca_proxy_id": 182953976,
  "use_image": null,
  "image_file": "",
  "ancestry": null,
  "vm_defaults": null,
  "subnet_id": null,
  "domain_id": 22495316,
  "puppet_proxy_id": 182953976,
  "title": "EiXUjczqAK",
  "realm_id": null,
  "compute_profile_id": 980190962,
  "grub_pass": "$1$foreman$NW1XVtbk4/XkJqmKNrFWV0",
  "lookup_value_matcher": "hostgroup=EiXUjczqAK",
  "subnet6_id": null,
  "pxe_loader": null,
  "description": null,
  "compute_resource_id": null
}

參數

參數名字 描述
location_id
選填

Set the current location context for the request

Validations:

  • Must be a Integer

organization_id
選填

Set the current organization context for the request

Validations:

  • Must be a Integer

name
必填

Validations:

  • Must be a String


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

示例

POST /api/hostgroups/928644286-hostgroup217/rebuild_config
{
  "hostgroup": {}
}
422
{
  "error": {
    "message": "Configuration rebuild failed for: foo.example.com(DNS)."
  }
}

參數

參數名字 描述
location_id
選填

Set the current location context for the request

Validations:

  • Must be a Integer

organization_id
選填

Set the current organization context for the request

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.

only
選填

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

Validations:

  • Must be an array of any type

children_hosts
選填

Operate on child hostgroup hosts

Validations:

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