# File lib/fog/openstack/models/compute/address.rb, line 16 def initialize(attributes = {}) # assign server first to prevent race condition with new_record? self.server = attributes.delete(:server) super end
# File lib/fog/openstack/models/compute/address.rb, line 22 def destroy requires :id connection.release_address(id) true end
# File lib/fog/openstack/models/compute/address.rb, line 36 def save raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if identity data = connection.allocate_address(pool).body['floating_ip'] new_attributes = data.reject {|key,value| !['id', 'instance_id', 'ip', 'fixed_ip'].include?(key)} merge_attributes(new_attributes) if @server self.server = @server end true end
# File lib/fog/openstack/models/compute/address.rb, line 28 def server=(new_server) if new_server associate(new_server) else disassociate end end