Spec-Zone.ru › Chef 16

Интерфейс ресурса

[править на GitHub]

Используйте ресурс аудита Chef InSpec, чтобы проверить основные свойства сетевого адаптера, такие как имя, состояние, IP-адреса и скорость канала связи (в Мбит/с).

  • В Linux платформах используется /sys/class/net/#{iface} в качестве источника
  • В Windows платформах используется Get-NetAdapter cmdlet в качестве источника
  • В BSD и MacOS платформах используется команда ifconfig в качестве источника. Скорость канала связи может быть недоступна.

Доступность

Установка

Этот ресурс распространяется вместе с Chef InSpec. Вы можете использовать его автоматически.

Версия

Этот ресурс стал доступен в версии v1.0.0 Chef InSpec.

Синтаксис

Блок ресурса interface объявляет свойства сетевого интерфейса для проверки:

describe interface('eth0') do
  it { should be_up }
  its('speed') { should eq 1000 }
  its('name') { should eq eth0 }
  its('ipv4_addresses') { should include '10.0.0.5' }
end

Свойства

ipv4_address, ipv4_addresses, ipv4_addresses_netmask, ipv4_cidrs, ipv6_addresses, ipv6_cidrs, name, speed

Примеры свойств ресурса

ipv4_address

Возвращает первую ipv4_addresses запись в качестве строки. Примечание: это свойство несовместимо с ServerSpec, которое возвращает значение, включая диапазон CIDR, например, ‘10.0.0.5/32’.

its('ipv4_address') { should eq '10.0.0.5' }

ipv4_addresses

Свойство ipv4_addresses возвращает массив IP-адресов IPv4 в виде строк. Вы можете проверить, существует ли указанный адрес в указанном сетевом интерфейсе:

its('ipv4_addresses') { should include '127.0.0.1' }

ipv4_addresses_netmask

Свойство ipv4_addresses_netmask возвращает массив строк, каждая из которых содержит IP-адрес IPv4, слеш и маску сети. Вы можете проверить, существует ли указанный адрес и маска подсети в указанном сетевом интерфейсе:

its('ipv4_addresses_netmask') { should include '127.0.0.1/255.0.0.0' }

ipv6_address

Возвращает первую ipv6_address запись. Примечание: это свойство несовместимо с ServerSpec, которое возвращает значение, включая диапазон CIDR.

its('ipv6_address') { should eq '2089:98b::faeb' }

ipv6_addresses

Свойство ipv6_addresses возвращает массив строк и проверяет, существует ли указанный адрес в указанном сетевом интерфейсе:

its('ipv6_addresses') { should include '::1' }

ipv4_cidrs

Свойство ipv4_cidrs возвращает массив строк и проверяет, существует ли указанная комбинация адреса и маски подсети в указанном сетевом интерфейсе:

its('ipv4_cidrs') { should include '127.0.0.1/8' }

ipv6_cidrs

Свойство ipv6_cidrs возвращает массив строк и проверяет, существует ли указанная комбинация адреса и маски подсети в указанном сетевом интерфейсе:

its('ipv6_cidrs') { should include '::1/128' }

name

Свойство name возвращает имя интерфейса:

its('name') { should eq 'eth0' }

speed

Свойство speed проверяет скорость сетевого интерфейса в Мбит/с. Примечание: в BSD и MacOS платформах это значение может быть равно nil, так как его трудно получить надежно.

its('speed') { should eq 1000 }

Сопоставители

Полный список доступных сопоставителей см. на нашей странице сопоставителей.

be_up

Сопоставитель be_up проверяет доступность сетевого интерфейса:

it { should be_up }

exist

Сопоставитель exist проверяет существование сетевого интерфейса:

it { should exist }

have_an_ipv4_address

Сопоставитель have_an_ipv4_address проверяет, назначены ли сетевому интерфейсу какие-либо IP-адреса IPv4:

it { should have_an_ipv4_address }

have_an_ipv6_address

Сопоставитель have_an_ipv6_address проверяет, назначены ли сетевому интерфейсу какие-либо IP-адреса IPv6:

it { should have_an_ipv6_address }

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/interface/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API