483b13bc1834a9679faace6a6bc2915283e76ebd
[mirror/dsa-puppet.git] / 3rdparty / modules / vswitch / lib / puppet / provider / vs_port / ovs.rb
1 require 'puppet'
2
3 Puppet::Type.type(:vs_port).provide(:ovs) do
4   desc 'Openvswitch port manipulation'
5
6   commands :vsctl => 'ovs-vsctl'
7
8   def exists?
9     vsctl('list-ports', @resource[:bridge]).include? @resource[:interface]
10   rescue Puppet::ExecutionFailure => e
11     return false
12   end
13
14   def create
15     vsctl('add-port', @resource[:bridge], @resource[:interface])
16   end
17
18   def destroy
19     vsctl('del-port', @resource[:bridge], @resource[:interface])
20   end
21 end