Spec-Zone.ru › Chef 16

Ресурс etc_hosts

[редактировать на GitHub]

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

Доступность

Установка

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

Версия

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

Синтаксис

Правило в файле 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', 'primary_name', 'all_host_names'

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

ip_address

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

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

primary_name

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

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

all_host_names

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

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