Sha256: 8e982d32153ae947c4d939ecabe076b9b9840f4a834f4cf812a029f0faf8b016

Contents?: true

Size: 1.03 KB

Versions: 7

Compression:

Stored size: 1.03 KB

Contents

module Fog
  module Ecloud
    class Compute
      class Ip < Fog::Ecloud::Model

        ignore_attributes :xmlns_i, :xmlns

        identity :href, :aliases => :Href

        attribute :name, :aliases => :Name
        attribute :status, :aliases => :Status
        attribute :server, :aliases => :Server
        attribute :rnat, :aliases => :RnatAddress
        attribute :id, :aliases => :Id, :type => :integer

        def rnat=(new_rnat)
          attributes[:rnat] = new_rnat
          @changed = true
        end

        def save
          if @changed
            connection.configure_network_ip( href, _compose_network_ip_data )
          end
          true
        end

        def reload
          super
          @changed = false
          self
        end

        private
        def _compose_network_ip_data
          {
            :id => id,
            :href => href,
            :name => name,
            :status => status,
            :server => server,
            :rnat => rnat
          }
        end

      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
fog-0.8.2 lib/fog/compute/models/ecloud/ip.rb
fog-0.8.1 lib/fog/compute/models/ecloud/ip.rb
fog-0.8.0 lib/fog/compute/models/ecloud/ip.rb
fog-0.7.2 lib/fog/compute/models/ecloud/ip.rb
fog-0.7.1 lib/fog/compute/models/ecloud/ip.rb
fog-0.7.0 lib/fog/compute/models/ecloud/ip.rb
fog-0.6.0 lib/fog/compute/models/ecloud/ip.rb