Class: Iface::PrimaryFile

Inherits:
ConfigFile show all
Defined in:
lib/iface/config_file.rb

Overview

Represents a primary config file (not loopback, range or clone file)

These are files named like “ifcfg-eth0”.

Instance Attribute Summary

Attributes inherited from ConfigFile

#device, #filename, #vars

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ConfigFile

create, file_type_name, #initialize, parse_filename, #to_s

Constructor Details

This class inherits a constructor from Iface::ConfigFile

Class Method Details

.recognize?(device, range_num, clone_num) ⇒ Boolean

Returns:

  • (Boolean)


77
78
79
# File 'lib/iface/config_file.rb', line 77

def self.recognize?(device, range_num, clone_num)
  device != 'lo' && range_num.nil? && clone_num.nil?
end

Instance Method Details

#disable_nmObject



119
120
121
# File 'lib/iface/config_file.rb', line 119

def disable_nm
  @vars.disable_nm
end

#include?(ip) ⇒ Boolean

Returns:

  • (Boolean)


135
136
137
# File 'lib/iface/config_file.rb', line 135

def include?(ip)
  ip_address == ip
end

#ip_addressObject



81
82
83
# File 'lib/iface/config_file.rb', line 81

def ip_address
  @vars['ipaddr']
end

#ip_address=(new_ip) ⇒ Object



85
86
87
88
89
# File 'lib/iface/config_file.rb', line 85

def ip_address=(new_ip)
  @vars['ipaddr'] = new_ip
  make_static
  disable_nm
end

#ipv6_addressObject



91
92
93
# File 'lib/iface/config_file.rb', line 91

def ipv6_address
  @vars['ipv6addr']
end

#ipv6_address=(new_ip) ⇒ Object



95
96
97
98
99
# File 'lib/iface/config_file.rb', line 95

def ipv6_address=(new_ip)
  @vars['ipv6addr'] = new_ip
  make_static
  disable_nm
end

#ipv6_secondariesObject



101
102
103
# File 'lib/iface/config_file.rb', line 101

def ipv6_secondaries
  @vars['ipv6addr_secondaries']&.split(/\s+/)
end

#ipv6_secondaries=(new_ips) ⇒ Object



105
106
107
108
109
# File 'lib/iface/config_file.rb', line 105

def ipv6_secondaries=(new_ips)
  @vars['ipv6addr_secondaries'] = new_ips
  make_static
  disable_nm
end

#make_staticObject



115
116
117
# File 'lib/iface/config_file.rb', line 115

def make_static
  @vars.make_static unless static?
end

#nm_controlled?Boolean

Returns:

  • (Boolean)


123
124
125
# File 'lib/iface/config_file.rb', line 123

def nm_controlled?
  @vars['nm_controlled'] == 'yes'
end

#static?Boolean

Returns:

  • (Boolean)


131
132
133
# File 'lib/iface/config_file.rb', line 131

def static?
  @vars['bootproto'] == 'none'
end

#use_ipv6Object



127
128
129
# File 'lib/iface/config_file.rb', line 127

def use_ipv6
  @vars.use_ipv6
end

#value_set_classObject



111
112
113
# File 'lib/iface/config_file.rb', line 111

def value_set_class
  PrimaryInterface
end