require 'fog/core/model' module Fog module Terremark module Shared class NodeService < Fog::Model identity :Id attribute :Name attribute :Href attribute :Port attribute :Description attribute :IpAddress attribute :Enabled attribute :InternetServiceId def destroy service.delete_node_service(self.Id) end def save requires :Name, :Port, :InternetServiceId data = service.add_node_service( service_id = self.InternetServiceId, ip = self.IpAddress, name = self.Name, port = self.Port, options = {"Enabled" => 'true', "Description" => self.Name, } ) merge_attributes(data.body) true end private def href=(new_href) self.id = new_href.split('/').last.to_i end def type=(new_type); @type = new_type; end def size=(new_size); @size = new_size; end def Links=(new_links); @Links = new_links; end end end end end