Puppet::Type.type(:nova_network).provide(:nova_manage) do desc "Manage nova network" optional_commands :nova_manage => 'nova-manage' def exists? begin network_list = nova_manage("network", "list") return network_list.split("\n")[1..-1].detect do |n| n =~ /^(\S+)\s+(#{resource[:network]})/ end rescue return false end end def create nova_manage("network", "create", resource[:label], resource[:network], "1", resource[:available_ips], "--bridge=br100") end def destroy nova_manage("network", "delete", resource[:network]) end end