GET /api/hosts/:host_id/interfaces
Список всех интерфейсов узла

GET /api/domains/:domain_id/interfaces
Список всех интерфейсов для домена

GET /api/subnets/:subnet_id/interfaces
Список всех интерфейсов для подсети

Примеры

GET /api/hosts/host368/interfaces
200
{
  "total": 3,
  "subtotal": 3,
  "page": 1,
  "per_page": 20,
  "search": null,
  "sort": {
    "by": null,
    "order": null
  },
  "results": [
    {
      "subnet_id": null,
      "subnet_name": null,
      "subnet6_id": null,
      "subnet6_name": null,
      "domain_id": null,
      "domain_name": null,
      "created_at": "2019-11-07 08:37:16 UTC",
      "updated_at": "2019-11-07 08:37:16 UTC",
      "managed": true,
      "identifier": null,
      "id": 53,
      "name": "host368",
      "ip": null,
      "ip6": null,
      "mac": null,
      "mtu": null,
      "fqdn": "host368",
      "primary": true,
      "provision": true,
      "type": "interface",
      "virtual": false
    },
    {
      "subnet_id": null,
      "subnet_name": null,
      "subnet6_id": null,
      "subnet6_name": null,
      "domain_id": null,
      "domain_name": null,
      "created_at": "2019-11-07 08:37:16 UTC",
      "updated_at": "2019-11-07 08:37:16 UTC",
      "managed": true,
      "identifier": "eth184",
      "id": 54,
      "name": null,
      "ip": "0.0.0.38",
      "ip6": null,
      "mac": "00:33:45:ab:00:4e",
      "mtu": null,
      "fqdn": null,
      "primary": false,
      "provision": false,
      "type": "interface",
      "virtual": false
    },
    {
      "subnet_id": null,
      "subnet_name": null,
      "subnet6_id": null,
      "subnet6_name": null,
      "domain_id": null,
      "domain_name": null,
      "created_at": "2019-11-07 08:37:16 UTC",
      "updated_at": "2019-11-07 08:37:16 UTC",
      "managed": true,
      "identifier": "eth185",
      "id": 55,
      "name": null,
      "ip": "0.0.0.39",
      "ip6": null,
      "mac": "00:33:45:ab:00:4f",
      "mtu": null,
      "fqdn": null,
      "primary": false,
      "provision": false,
      "type": "bond",
      "mode": "balance-rr",
      "attached_devices": "",
      "bond_options": "",
      "virtual": true
    }
  ]
}

Параметры

Имя параметра Описание
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

host_id
обязательно

Код или имя узла

Validations:

  • Must be a String

domain_id
необязательно

Код или имя домена

Validations:

  • Must be a String

subnet_id
необязательно

Код или имя подсети

Validations:

  • Must be a String

page
необязательно

Номер страницы, начиная с 1

Validations:

  • Must be a number.

per_page
необязательно

Число элементов на странице

Validations:

  • Must be a number.


GET /api/hosts/:host_id/interfaces/:id
Показать интерфейс узла

Примеры

GET /api/hosts/host369/interfaces/57
200
{
  "subnet_id": null,
  "subnet_name": null,
  "subnet6_id": null,
  "subnet6_name": null,
  "domain_id": null,
  "domain_name": null,
  "created_at": "2019-11-07 08:37:16 UTC",
  "updated_at": "2019-11-07 08:37:16 UTC",
  "managed": true,
  "identifier": "eth186",
  "id": 57,
  "name": null,
  "ip": "0.0.0.40",
  "ip6": null,
  "mac": "00:33:45:ab:00:50",
  "mtu": null,
  "fqdn": null,
  "primary": false,
  "provision": false,
  "type": "interface",
  "virtual": false
}

Параметры

Имя параметра Описание
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

host_id
обязательно

Код или имя узла

Validations:

  • Must be a String

id
обязательно

Код или имя интерфейса

Validations:

  • Must be a String


POST /api/hosts/:host_id/interfaces
Создать интерфейс на узле

Примеры

POST /api/hosts/26/interfaces
{
  "interface": {
    "name": "谚喪駏篬庿濱麢鐨耼孞",
    "ip": "10.0.1.1",
    "mac": "AA:AA:AA:AA:AA:AA",
    "username": "foo",
    "password": "bar",
    "provider": "IPMI",
    "type": "bmc",
    "ip6": "2001:db8::1"
  }
}
422
{
  "error": {
    "id": null,
    "errors": {
      "name": [
        "hostname can contain only lowercase letters, numbers, dashes and dots according to RFC921, RFC952 and RFC1123"
      ]
    },
    "full_messages": [
      "Name hostname can contain only lowercase letters, numbers, dashes and dots according to RFC921, RFC952 and RFC1123"
    ]
  }
}

Параметры

Имя параметра Описание
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

host_id
обязательно

Код или имя узла

Validations:

  • Must be a String

interface
обязательно

информация об интерфейсе

Validations:

  • Must be a Hash

interface[mac]
необязательно , nil разрешен

MAC адрес интерфейса. Требуется для управления интерфейсами на голом железе.

Validations:

  • Must be a String

interface[ip]
необязательно , nil разрешен

IPv4 address of interface

Validations:

  • Must be a String

interface[ip6]
необязательно , nil разрешен

IPv6 address of interface

Validations:

  • Must be a String

interface[type]
необязательно , nil разрешен

Тип интерфейса, например bmc. По умолчанию interface

Validations:

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

interface[name]
необязательно , nil разрешен

DNS-имя интерфейса

Validations:

  • Must be a String

interface[subnet_id]
необязательно , nil разрешен

Foreman subnet ID of IPv4 interface

Validations:

  • Must be a number.

interface[subnet6_id]
необязательно , nil разрешен

Foreman subnet ID of IPv6 interface

Validations:

  • Must be a number.

interface[domain_id]
необязательно , nil разрешен

Код домена Foreman для интерфейса. Требуется для первичного интерфейса на управляемых узлах.

Validations:

  • Must be a number.

interface[identifier]
необязательно , nil разрешен

Имя интерфейса, например eth0 или eth1.1

Validations:

  • Must be a String

interface[managed]
необязательно , nil разрешен

Должен ли интерфейс контролироваться капсулой DHCP и DNS? В этом случае он будет настроен во время подготовки узла.

Validations:

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

interface[primary]
необязательно , nil разрешен

Должен ли интерфейс использоваться для формирования FQDN-имени узла? Каждый управляемый узел должен иметь один первичный интерфейс.

Validations:

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

interface[provision]
необязательно , nil разрешен

Должен ли интерфейс использоваться для сетевой загрузки по TFTP (или SSH на узлах, устанавливаемых из образа)? Каждый управляемый узел должен иметь один подготовительный интерфейс.

Validations:

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

interface[username]
необязательно , nil разрешен

Только для интерфейсов BMC.

Validations:

  • Must be a String

interface[password]
необязательно , nil разрешен

Только для интерфейсов BMC.

Validations:

  • Must be a String

interface[provider]
необязательно , nil разрешен

Поставщик интерфейса, например IPMI. Только для интерфейса BMC.

Validations:

  • Must be one of: IPMI, SSH.

interface[virtual]
необязательно , nil разрешен

Псевдоним или VLAN устройства.

Validations:

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

interface[tag]
необязательно , nil разрешен

Метка VLAN, этот атрибут имеет приоритет над подсетью VLAN ID. Только для виртуальных интерфейсов.

Validations:

  • Must be a String

interface[mtu]
необязательно , nil разрешен

MTU, this attribute has precedence over the subnet MTU.

Validations:

  • Must be a Integer

interface[attached_to]
необязательно , nil разрешен

Идентификатор интерфейса к которому принадлежит этот интерфейс, например eth1. Только для виртуальных интерфейсов.

Validations:

  • Must be a String

interface[mode]
необязательно , nil разрешен

Режим агрегации интерфейсов, например balance-rr. Только для агрегированных интерфейсов.

Validations:

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

interface[attached_devices]
необязательно , nil разрешен

Идентификаторы подчиненных интерфейсов, например [eth1, eth2]. Только для агрегированных интерфейсов и мостов.

Validations:

  • Must be an array of any type

interface[bond_options]
необязательно , nil разрешен

Список параметров через запятую, например: miimon=100. Только для агрегированных интерфейсов.

Validations:

  • Must be a String

interface[compute_attributes]
необязательно , nil разрешен

Дополнительные атрибуты вычислительного ресурса для интерфейса.

Validations:

  • Must be a Hash


PUT /api/hosts/:host_id/interfaces/:id
Изменить интерфейс узла

Примеры

PUT /api/hosts/host360/interfaces/30
{
  "interface": {
    "name": "test.foreman.com",
    "ip": "10.0.1.1",
    "mac": "AA:AA:AA:AA:AA:AA",
    "username": "foo",
    "password": "bar",
    "provider": "IPMI",
    "ip6": "2001:db8::1"
  }
}
200
{
  "subnet_id": null,
  "subnet_name": null,
  "subnet6_id": null,
  "subnet6_name": null,
  "domain_id": null,
  "domain_name": null,
  "created_at": "2019-11-07 08:37:15 UTC",
  "updated_at": "2019-11-07 08:37:15 UTC",
  "managed": true,
  "identifier": "eth169",
  "id": 30,
  "name": "test.foreman.com",
  "ip": "10.0.1.1",
  "ip6": "2001:db8::1",
  "mac": "aa:aa:aa:aa:aa:aa",
  "mtu": null,
  "fqdn": "test.foreman.com",
  "primary": false,
  "provision": false,
  "type": "interface",
  "virtual": false
}

Параметры

Имя параметра Описание
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

host_id
обязательно

Код или имя узла

Validations:

  • Must be a String

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.

interface
обязательно

информация об интерфейсе

Validations:

  • Must be a Hash

interface[mac]
необязательно , nil разрешен

MAC адрес интерфейса. Требуется для управления интерфейсами на голом железе.

Validations:

  • Must be a String

interface[ip]
необязательно , nil разрешен

IPv4 address of interface

Validations:

  • Must be a String

interface[ip6]
необязательно , nil разрешен

IPv6 address of interface

Validations:

  • Must be a String

interface[type]
необязательно , nil разрешен

Тип интерфейса, например bmc. По умолчанию interface

Validations:

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

interface[name]
необязательно , nil разрешен

DNS-имя интерфейса

Validations:

  • Must be a String

interface[subnet_id]
необязательно , nil разрешен

Foreman subnet ID of IPv4 interface

Validations:

  • Must be a number.

interface[subnet6_id]
необязательно , nil разрешен

Foreman subnet ID of IPv6 interface

Validations:

  • Must be a number.

interface[domain_id]
необязательно , nil разрешен

Код домена Foreman для интерфейса. Требуется для первичного интерфейса на управляемых узлах.

Validations:

  • Must be a number.

interface[identifier]
необязательно , nil разрешен

Имя интерфейса, например eth0 или eth1.1

Validations:

  • Must be a String

interface[managed]
необязательно , nil разрешен

Должен ли интерфейс контролироваться капсулой DHCP и DNS? В этом случае он будет настроен во время подготовки узла.

Validations:

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

interface[primary]
необязательно , nil разрешен

Должен ли интерфейс использоваться для формирования FQDN-имени узла? Каждый управляемый узел должен иметь один первичный интерфейс.

Validations:

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

interface[provision]
необязательно , nil разрешен

Должен ли интерфейс использоваться для сетевой загрузки по TFTP (или SSH на узлах, устанавливаемых из образа)? Каждый управляемый узел должен иметь один подготовительный интерфейс.

Validations:

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

interface[username]
необязательно , nil разрешен

Только для интерфейсов BMC.

Validations:

  • Must be a String

interface[password]
необязательно , nil разрешен

Только для интерфейсов BMC.

Validations:

  • Must be a String

interface[provider]
необязательно , nil разрешен

Поставщик интерфейса, например IPMI. Только для интерфейса BMC.

Validations:

  • Must be one of: IPMI, SSH.

interface[virtual]
необязательно , nil разрешен

Псевдоним или VLAN устройства.

Validations:

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

interface[tag]
необязательно , nil разрешен

Метка VLAN, этот атрибут имеет приоритет над подсетью VLAN ID. Только для виртуальных интерфейсов.

Validations:

  • Must be a String

interface[mtu]
необязательно , nil разрешен

MTU, this attribute has precedence over the subnet MTU.

Validations:

  • Must be a Integer

interface[attached_to]
необязательно , nil разрешен

Идентификатор интерфейса к которому принадлежит этот интерфейс, например eth1. Только для виртуальных интерфейсов.

Validations:

  • Must be a String

interface[mode]
необязательно , nil разрешен

Режим агрегации интерфейсов, например balance-rr. Только для агрегированных интерфейсов.

Validations:

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

interface[attached_devices]
необязательно , nil разрешен

Идентификаторы подчиненных интерфейсов, например [eth1, eth2]. Только для агрегированных интерфейсов и мостов.

Validations:

  • Must be an array of any type

interface[bond_options]
необязательно , nil разрешен

Список параметров через запятую, например: miimon=100. Только для агрегированных интерфейсов.

Validations:

  • Must be a String

interface[compute_attributes]
необязательно , nil разрешен

Дополнительные атрибуты вычислительного ресурса для интерфейса.

Validations:

  • Must be a Hash


DELETE /api/hosts/:host_id/interfaces/:id
Удалить интерфейс узла

Примеры

DELETE /api/hosts/32/interfaces/45
{
  "interface": {}
}
422
{
  "error": {
    "id": 45,
    "errors": {
      "primary": [
        "can't delete primary interface of managed host"
      ],
      "provision": [
        "can't delete provision interface of managed host"
      ]
    },
    "full_messages": [
      "Primary can't delete primary interface of managed host",
      "Provision can't delete provision interface of managed host"
    ]
  }
}

Параметры

Имя параметра Описание
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

host_id
обязательно

Код или имя узла

Validations:

  • Must be a String

id
обязательно

Код интерфейса

Validations:

  • Must be a String