Class: AugeasProviders::Mounttab::Vfstab
- Inherits:
-
Object
- Object
- AugeasProviders::Mounttab::Vfstab
show all
- Includes:
- Provider
- Defined in:
- lib/augeasproviders/mounttab/vfstab.rb
Instance Attribute Summary collapse
Class Method Summary
collapse
-
.atboot(aug, resource) ⇒ Object
-
.create(aug, resource) ⇒ Object
-
.default_file ⇒ Object
-
.dump(aug, resource) ⇒ Object
-
.empty_options ⇒ Object
-
.get_resource(aug, mpath, target) ⇒ Object
-
.insoptions(aug, entry, resource) ⇒ Object
-
.lens ⇒ Object
-
.pass(aug, resource) ⇒ Object
-
.set_atboot(aug, resource, value) ⇒ Object
-
.set_dump(aug, resource, value) ⇒ Object
-
.set_pass(aug, resource, value) ⇒ Object
Instance Method Summary
collapse
Methods included from Provider
#aug_handler, #aug_version, #augclose!, #augopen, #augopen!, #augsave!, #destroy, #exists?, #flush, included, #parsed_as?, #path_label, #quoteit, #readquote, #resource_path, #setvars, #supported?, #unquoteit
Instance Attribute Details
#resource ⇒ Object
Returns the value of attribute resource.
17
18
19
|
# File 'lib/augeasproviders/mounttab/vfstab.rb', line 17
def resource
@resource
end
|
Class Method Details
.atboot(aug, resource) ⇒ Object
109
110
111
|
# File 'lib/augeasproviders/mounttab/vfstab.rb', line 109
def self.atboot(aug, resource)
aug.get("$target/*[file = '#{resource[:name]}']/atboot")
end
|
.create(aug, resource) ⇒ Object
55
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/augeasproviders/mounttab/vfstab.rb', line 55
def self.create(aug, resource)
aug.set("$target/01/spec", resource[:device])
if resource[:blockdevice] and resource[:blockdevice] != ""
aug.set("$target/01/fsck", resource[:blockdevice])
end
aug.set("$target/01/file", resource[:name])
aug.set("$target/01/vfstype", resource[:fstype])
aug.set("$target/01/passno", resource[:pass].to_s) unless resource[:pass] == "-"
aug.set("$target/01/atboot", resource[:atboot].to_s)
insoptions(aug, "$target/01", resource)
end
|
.default_file ⇒ Object
19
20
21
|
# File 'lib/augeasproviders/mounttab/vfstab.rb', line 19
def self.default_file
'/etc/vfstab'
end
|
.dump(aug, resource) ⇒ Object
86
87
88
|
# File 'lib/augeasproviders/mounttab/vfstab.rb', line 86
def self.dump(aug, resource)
resource.should(:dump)
end
|
.empty_options ⇒ Object
117
118
119
|
# File 'lib/augeasproviders/mounttab/vfstab.rb', line 117
def self.empty_options
['', '-']
end
|
.get_resource(aug, mpath, target) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/augeasproviders/mounttab/vfstab.rb', line 27
def self.get_resource(aug, mpath, target)
entry = {
:ensure => :present,
:target => target
}
return nil unless entry[:name] = aug.get("#{mpath}/file")
entry[:device] = aug.get("#{mpath}/spec")
entry[:fstype] = aug.get("#{mpath}/vfstype")
entry[:blockdevice] = (aug.get("#{mpath}/fsck") or "-")
entry[:pass] = (aug.get("#{mpath}/passno") or "-")
entry[:atboot] = aug.get("#{mpath}/atboot")
options = []
aug.match("#{mpath}/opt").each do |opath|
opt = aug.get(opath)
optv = aug.get("#{opath}/value")
opt = "#{opt}=#{optv}" if optv
options << opt
end
entry[:options] = if options.empty?
"-"
else
options
end
entry
end
|
.insoptions(aug, entry, resource) ⇒ Object
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# File 'lib/augeasproviders/mounttab/vfstab.rb', line 71
def self.insoptions(aug, entry, resource)
values = resource.original_parameters[:options]
aug.rm("#{entry}/opt")
if values and not values.empty?
[values].flatten.each do |opt|
optk, optv = opt.split("=", 2)
aug.set("#{entry}/opt[last()+1]", optk)
aug.set("#{entry}/opt[last()]/value", optv) if optv
end
end
end
|
.lens ⇒ Object
23
24
25
|
# File 'lib/augeasproviders/mounttab/vfstab.rb', line 23
def self.lens
'Vfstab.lns'
end
|
.pass(aug, resource) ⇒ Object
94
95
96
|
# File 'lib/augeasproviders/mounttab/vfstab.rb', line 94
def self.pass(aug, resource)
aug.get("$target/*[file = '#{resource[:name]}']/passno") or "-"
end
|
.set_atboot(aug, resource, value) ⇒ Object
113
114
115
|
# File 'lib/augeasproviders/mounttab/vfstab.rb', line 113
def self.set_atboot(aug, resource, value)
aug.set("$target/*[file = '#{resource[:name]}']/atboot", value.to_s)
end
|
.set_dump(aug, resource, value) ⇒ Object
90
91
92
|
# File 'lib/augeasproviders/mounttab/vfstab.rb', line 90
def self.set_dump(aug, resource, value)
return
end
|
.set_pass(aug, resource, value) ⇒ Object
98
99
100
101
102
103
104
105
106
107
|
# File 'lib/augeasproviders/mounttab/vfstab.rb', line 98
def self.set_pass(aug, resource, value)
if value == "-"
aug.rm("$target/*[file = '#{resource[:name]}']/passno")
else
if aug.match("$target/*[file = '#{resource[:name]}']/passno").empty?
aug.insert("$target/*[file = '#{resource[:name]}']/vfstype", "passno", false)
end
aug.set("$target/*[file = '#{resource[:name]}']/passno", value.to_s)
end
end
|
Instance Method Details
#target ⇒ Object
67
68
69
|
# File 'lib/augeasproviders/mounttab/vfstab.rb', line 67
def target
file(resource)
end
|