interface
Use the interface
Chef InSpec audit resource to test basic network adapter properties, such as name, status, and link speed (in MB/sec).
- On Linux platforms,
/sys/class/net/#{iface}
is used as source - On the Windows platform, the
Get-NetAdapter
cmdlet is used as source
Availability
Installation
This resource is distributed along with Chef InSpec itself. You can use it automatically.
Version
This resource first became available in v1.0.0 of InSpec.
Syntax
An interface
resource block declares network interface properties to be tested:
describe interface('eth0') do
it { should be_up }
its('speed') { should eq 1000 }
its('name') { should eq eth0 }
end
Properties
name
, speed
Resource Property Examples
name
The name
property tests if the named network interface exists:
its('name') { should eq eth0 }
speed
The speed
property tests the speed of the network interface, in MB/sec:
its('speed') { should eq 1000 }
ipv4_addresses
The ipv4_addresses
property tests if the specified address exists on the named network interface:
its('ipv4_addresses') { should include '127.0.0.1' }
ipv4addressesnetmask
The ipv4_addresses_netmask
property tests if the specified address and netmask exists on the named network interface:
its('ipv4_addresses_netmask') { should include '127.0.0.1/255.0.0.0' }
ipv6_addresses
The ipv6_addresses
property tests if the specified address exists on the named network interface:
its('ipv6_addresses') { should include '::1' }
ipv4_cidrs
The ipv4_cidrs
property tests if the specified address and netmask combination exists on the named network interface:
its('ipv4_cidrs') { should include '127.0.0.1/8' }
ipv6_cidrs
The ipv6_cidrs
property tests if the specified address and netmask combination exists on the named network interface:
its('ipv6_cidrs') { should include '::1/128' }
Matchers
For a full list of available matchers, please visit our matchers page.
be_up
The be_up
matcher tests if the network interface is available:
it { should be_up }
haveanipv4_address
The have_an_ipv4_address
matcher tests if the network interface has any IPv4 addresses assigned:
it { should have_an_ipv4_address }
haveanipv6_address
The have_an_ipv6_address
matcher tests if the network interface has any IPv6 addresses assigned:
it { should have_an_ipv6_address }