Spec-Zone.ru › Chef 17

Ресурс etc_hosts

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

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

Доступность

Установка

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

Версия

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

Синтаксис

Правило etc/hosts указывает IP-адрес, его имя хоста и необязательные псевдонимы.

Синтаксис

Используйте .where предложение для сопоставления свойства с одним или несколькими правилами в файле hosts:

describe etc_hosts.where { ip_address == 'value' } do
  its('primary_name') { should cmp 'hostname' }
  its('all_host_names') { should cmp 'list' }
end

Используйте необязательный параметр ресурса для указания альтернативного пути к файлу hosts:

describe etc_hosts('path/to/hosts').where { ip_address == 'value' } do
  its('primary_name') { should cmp 'hostname' }
  its('all_host_names') { should cmp 'list' }
end

где

  • ip_address — IP-адрес имени хоста в формате IPv4 или IPv6.
  • primary_name — имя, связанное с IP-адресом.
  • all_host_names — список, включающий primary_name в качестве первого элемента, а затем любые псевдонимы хоста.

Свойства

ip_address

Свойство ip_address возвращает массив строк IP-адресов, указанных в файле etc/hosts.

its('ip_address') { should cmp '127.0.1.154' }

primary_name

Свойство primary_name возвращает массив строк primary_names, указанных в файле etc/hosts.

its('primary_name') { should cmp 'localhost' }

all_host_names

Свойство all_host_names возвращает двумерный массив строк, где каждый элемент содержит primary_name вначале, а затем любые псевдонимы.

its('all_host_names') { should cmp 'list' }

Примеры

Проверка IP-адреса заданного основного имени «localhost».

describe etc_hosts.where { primary_name == 'localhost' } do
  its('ip_address') { should cmp '127.0.1.154' }
end

Проверка основного имени для IP-адреса «::1»

describe etc_hosts.where { ip_address == '::1' } do
  its('primary_name') { should cmp 'localhost' }
end

Проверка списка основных имен и их псевдонимов для заданного IP-адреса.

describe etc_hosts.where { ip_address == '127.0.1.154' } do
  its('all_host_names') { should eq [['localhost', 'localhost.localdomain', 'localhost4', 'localhost4.localdomain4'],  ['localhost', 'localhost.localdomain', 'localhost6', 'localhost6.localdomain6']] }
end

Матчеры

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

© 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/etc_hosts/

Spec-Zone.ru

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