blob: c1c818feac95a6d0ce4186391805fe417c08fd7a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
Puppet::Type.newtype(:vpp_service) do
ensurable
newparam(:name) do
end
newparam(:pci_devs, :array_matching => :all) do
desc "PCI dev addresses to be bound to VPP"
def insync?(is)
is.sort == should.sort
end
validate do |values|
values = [values] unless values.is_a?(Array)
values.map! do |value|
if value =~ /\p{XDigit}+:(\p{XDigit}+):(\p{XDigit}+)\.(\p{XDigit}+)/
value
else
raise(Puppet::Error, "Incorrect PCI dev address #{value}")
end
end
end
munge do |values|
if values.is_a?(Array)
values
else
[values]
end
end
end
newproperty(:state) do
desc "VPP interface state"
defaultto :up
newvalues(:up, :down)
end
newparam(:copy_kernel_nic_ip) do
desc "Whether to configure VPP interface with kernel NIC's IP settings"
defaultto :true
newvalues(:true, :false)
end
end
|