Class: IFCFG::OVS

Inherits:
Object
  • Object
show all
Defined in:
lib/puppetx/redhat/ifcfg.rb

Direct Known Subclasses

Bridge, Port

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, seed = nil) ⇒ OVS

Returns a new instance of OVS.



14
15
16
17
18
19
20
21
22
# File 'lib/puppetx/redhat/ifcfg.rb', line 14

def initialize(name, seed=nil)
  @name  = name
  @ifcfg = {}
  set(seed)
  set_key('DEVICE', @name)
  set_key('NAME', @name)
  set_key('DEVICETYPE', 'ovs')
  replace_key('BOOTPROTO', 'OVSBOOTPROTO') if self.class == IFCFG::Bridge
end

Instance Attribute Details

#ifcfgObject (readonly)

Returns the value of attribute ifcfg.



3
4
5
# File 'lib/puppetx/redhat/ifcfg.rb', line 3

def ifcfg
  @ifcfg
end

Class Method Details

.exists?(name) ⇒ Boolean

Returns:

  • (Boolean)


5
6
7
# File 'lib/puppetx/redhat/ifcfg.rb', line 5

def self.exists?(name)
  File.exist?(BASE + name)
end

.remove(name) ⇒ Object



9
10
11
12
# File 'lib/puppetx/redhat/ifcfg.rb', line 9

def self.remove(name)
  File.delete(BASE + name)
rescue Errno::ENOENT
end

Instance Method Details

#del_key(key) ⇒ Object



24
25
26
# File 'lib/puppetx/redhat/ifcfg.rb', line 24

def del_key(key)
  @ifcfg.delete(key)
end

#key(key) ⇒ Object



32
33
34
# File 'lib/puppetx/redhat/ifcfg.rb', line 32

def key(key)
  @ifcfg.has_key?(key)
end

#key?(key) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/puppetx/redhat/ifcfg.rb', line 28

def key?(key)
  @ifcfg.has_key?(key)
end

#replace_key(key, new_key) ⇒ Object



36
37
38
39
40
# File 'lib/puppetx/redhat/ifcfg.rb', line 36

def replace_key(key, new_key)
  value = @ifcfg[key]
  @ifcfg.delete(key)
  set_key(new_key, value)
end

#save(filename) ⇒ Object



61
62
63
# File 'lib/puppetx/redhat/ifcfg.rb', line 61

def save(filename)
  File.open(filename, 'w') { |file| file << self.to_s }
end

#set(list) ⇒ Object



42
43
44
45
46
# File 'lib/puppetx/redhat/ifcfg.rb', line 42

def set(list)
  if list != nil && list.class == Hash
    list.each { |key, value| set_key(key, value) }
  end
end

#set_key(key, value) ⇒ Object



48
49
50
51
# File 'lib/puppetx/redhat/ifcfg.rb', line 48

def set_key(key, value)
  @ifcfg.delete_if { |k, v| k == key } if self.key?(key)
  @ifcfg.merge!({key => value })
end

#to_sObject



53
54
55
56
57
58
59
# File 'lib/puppetx/redhat/ifcfg.rb', line 53

def to_s
  str = ''
  @ifcfg.each { |x, y|
    str << "#{x}=#{y}\n"
  }
  str
end