Sha256: eb58a19483c2ec37bc8f8ace8ba4a6dadf37bec1a1297b7744d4ffc95a925803
Contents?: true
Size: 1.29 KB
Versions: 7
Compression:
Stored size: 1.29 KB
Contents
module Fog module Compute class Ecloud class IpAddress < Fog::Ecloud::Model identity :href attribute :name, :aliases => :Name attribute :type, :aliases => :Type attribute :other_links, :aliases => :Links, :squash => :Link attribute :host, :aliases => :Host attribute :detected_on, :aliases => :DetectedOn attribute :rnat, :aliases => :RnatAddress attribute :reserved, :aliases => :Reserved, :type => :boolean def status (detected_on || host) ? "Assigned" : "Available" end def id href.match(/((\d+{1,3}\.){3}(\d+{1,3}))$/)[1] end def server @server ||= begin reload unless other_links server_link = other_links.find{|l| l[:type] == "application/vnd.tmrk.cloud.virtualMachine"} self.service.servers.get(server_link[:href]) end end def network reload if other_links.nil? network_href = other_links.find { |l| l[:type] == "application/vnd.tmrk.cloud.network" }[:href] network = self.service.networks.get(network_href) end def reload @server = nil super end end end end end
Version data entries
7 entries across 5 versions & 2 rubygems