sys_info resource
Use the sys_info Chef InSpec audit resource to test for operating system properties for the named host, and then returns that info as standard output.
Availability
Install
This resource is distributed with Chef InSpec and is automatically available for use.Version
This resource first became available in v1.0.0 of InSpec.
Syntax
An sys_info resource block declares the hostname to be tested:
describe sys_info do
  its('hostname') { should eq 'value' }
end
Properties
hostname
The hostname property tests the host for which standard output is returned:
its('hostname') { should eq 'value' }
fqdn
The fqdn property tests the ‘fully qualified domain name’ of the system:
its('fqdn') { should eq 'value' }
domain
The domain property tests the name of the DNS domain:
its('domain') { should eq 'value' }
ip-address
The ip-address property tests all network addresses of the host:
its('ip-address') { should eq 'value' }
short
The short property tests the host name cut at the first dot:
its('short') { should eq 'value' }
manufacturer
The manufacturer property tests the host for which standard output is returned:
its('manufacturer') { should eq 'ACME Corp.' }
model
The model property tests the host for which standard output is returned:
its('model') { should eq 'Flux Capacitor' }
Examples
The following examples show how to use this Chef InSpec audit resource.
Get system information for example.com
describe sys_info do
  its('hostname') { should eq 'example.com' }
end
Compare content to hostname
describe file('/path/to/some/file') do
  its('content') { should match sys_info.hostname }
end
Options can be passed as arguments to hostname as well.
describe file('/path/to/some/file') do
  its('content') { should match sys_info.hostname('full') }
end
Currently supported arguments to hostname on Linux platforms are ‘full’|‘f’|‘fqdn’|‘long’, ‘domain’|’d’, ‘ip_address’|‘i’, and ‘short’|’s’. Mac currently supports ‘full’|‘f’|‘fqdn’|‘long’ and ‘short’|’s’