Files
puppet-nova/lib/puppet/provider/nova_floating/nova_manage.rb
Branan Purvine-Riley 9726119a4a make it all work correctly
2012-05-01 15:15:05 -07:00

24 lines
617 B
Ruby

Puppet::Type.type(:nova_floating).provide(:nova_manage) do
desc "Manage nova floating"
optional_commands :nova_manage => 'nova-manage'
def exists?
# Calculate num quads to grab for prefix
mask=resource[:network].sub(/.*\/([0-9][0-9]?)/, '\1').to_i
num_quads = 4 - mask / 8
prefix=resource[:network].sub(/(\.[0-9]{1,3}){#{num_quads}}(\/[0-9]{1,2})?$/, '') + "."
return nova_manage("floating", "list").match(/#{prefix}/)
end
def create
nova_manage("floating", "create", resource[:network])
end
def destroy
nova_manage("floating", "delete", resource[:network])
end
end