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