class Fog::Network::Softlayer::Ip

Public Class Methods

new(attributes) click to toggle source
Calls superclass method
# File lib/fog/softlayer/models/network/ip.rb, line 25
def initialize(attributes)
  @connection = attributes[:connection]
  super
end

Public Instance Methods

broadcast?() click to toggle source
# File lib/fog/softlayer/models/network/ip.rb, line 58
def broadcast?
  !!attributes[:broadcast]
end
create() click to toggle source
# File lib/fog/softlayer/models/network/ip.rb, line 35
def create

end
destination_ip=(ip) click to toggle source
# File lib/fog/softlayer/models/network/ip.rb, line 43
def destination_ip=(ip)
  if ip.is_a?(Hash)
    attributes[:destination_ip] = Fog::Network::Softlayer::Ip.new(ip)
  elsif ip.is_a?(Fog::Network::Softlayer::Ip) or ip.nil?
    attributes[:destination_ip] = ip
  else
    raise ArgumentError, "Invalid argument type in #{self.class.name}##{__method__}."
  end
end
destroy() click to toggle source
# File lib/fog/softlayer/models/network/ip.rb, line 53
def destroy
  raise "Only Global IP Addresses can be destroyed.  Regular IP Addresses are part of Fog::Softlayer::Network::Subnet" unless global?
  service.delete_global_ip_address(self.global_id).status == 200
end
gateway?() click to toggle source
# File lib/fog/softlayer/models/network/ip.rb, line 62
def gateway?
  !!attributes[:gateway]
end
global?() click to toggle source
# File lib/fog/softlayer/models/network/ip.rb, line 66
def global?
  !!attributes[:global_id]
end
network?() click to toggle source
# File lib/fog/softlayer/models/network/ip.rb, line 70
def network?
  !!attributes[:network]
end
reserved?() click to toggle source
# File lib/fog/softlayer/models/network/ip.rb, line 74
def reserved?
  !!attributes[:reserved]
end
route(dest_ip) click to toggle source
# File lib/fog/softlayer/models/network/ip.rb, line 78
def route(dest_ip)
  requires :global_id
  raise ArgumentError, "Invalid argument type in #{self.class.name}##{__method__}." unless dest_ip.is_a?(Fog::Network::Softlayer::Ip)
  raise ArgumentError, "The destination IP may not be the network address of the destination subnet" if dest_ip.network?
  raise ArgumentError, "The destination IP may not be the gateway address of the destination subnet" if dest_ip.gateway?
  raise ArgumentError, "The destination IP may not be the broadcast address of the destination subnet" if dest_ip.broadcast?
  raise ArgumentError, "The destination IP may not be another global IP address" if dest_ip.global?
  service.route_global_ip(self.global_id, dest_ip.address).status == 200
end
routed?() click to toggle source
# File lib/fog/softlayer/models/network/ip.rb, line 88
def routed?
  !!self.assigned_to or !!self.destination_ip
end
save() click to toggle source
# File lib/fog/softlayer/models/network/ip.rb, line 30
def save
  requires :subnet_id
  identity ? update : create
end
unroute() click to toggle source
# File lib/fog/softlayer/models/network/ip.rb, line 92
def unroute
  requires :global_id
  service.unroute_global_ip(self.global_id).status == 200
end
update() click to toggle source
# File lib/fog/softlayer/models/network/ip.rb, line 39
def update
  self
end