require 'fog/core/model' module Fog module Compute class IBM class Address < Fog::Model identity :id attribute :type attribute :location attribute :ip attribute :state attribute :instance_id, :aliases => 'instanceId' attribute :offering_id, :aliases => 'offeringId' attribute :vlan_id, :aliases => 'vlanId' attribute :hostname attribute :mode attribute :owner def initialize(new_attributes={}) super(new_attributes) self.offering_id ||= '20001223' self.location ||= '82' end def save requires :offering_id, :location data = connection.create_address(location, offering_id) merge_attributes(data.body) true end def destroy requires :id connection.delete_address(id).body['success'] end end end end end