class Fog::Network::Softlayer::Ips
Public Class Methods
new(attributes)
click to toggle source
Calls superclass method
# File lib/fog/softlayer/models/network/ips.rb, line 18 def initialize(attributes) self.filters ||= {} super end
Public Instance Methods
all(filters = self.filters)
click to toggle source
# File lib/fog/softlayer/models/network/ips.rb, line 23 def all(filters = self.filters) self.filters = filters ips = service.get_ip_addresses.body ips.each_with_index do |ip,i| if global_records.keys.include?(ip['id']) ips[i] = parse_global_ip_record(service.get_global_ip_address(global_records[ip['id']]['id']).body) end end load(ips) end
by_address(address)
click to toggle source
# File lib/fog/softlayer/models/network/ips.rb, line 36 def by_address(address) ip = service.get_ip_addresses.body.select do |ip| ip['ipAddress'] == address end.first new(ip) if ip end
get(id)
click to toggle source
# File lib/fog/softlayer/models/network/ips.rb, line 43 def get(id) if global_records.keys.include?(id) response = service.get_global_ip_address(global_records[id]['id']).body ip = parse_global_ip_record(response) else ip = service.get_ip_address(id).body end new(ip) if ip rescue Fog::Network::Softlayer::NotFound nil end
global_records()
click to toggle source
# File lib/fog/softlayer/models/network/ips.rb, line 57 def global_records @records ||= {} service.get_global_ip_records.body.each { |record| @records[record['ipAddressId']] = record } if @records.empty? @records end
Private Instance Methods
parse_global_ip_record(record)
click to toggle source
# File lib/fog/softlayer/models/network/ips.rb, line 65 def parse_global_ip_record(record) response = service.request(:network_subnet_ipaddress_global, record['id'], :query => 'objectMask=mask[ipAddress,destinationIpAddress]').body parsed = response['ipAddress'] parsed['destinationIpAddress'] = response['destinationIpAddress'] parsed[:global_id] = record['id'] parsed end