class Fog::Compute::Glesys::Ip

Public Instance Methods

attach(server) click to toggle source

Add an ip-adress to the server.

# File lib/fog/glesys/models/compute/ip.rb, line 38
def attach(server)
  requires :ip
  server = server.serverid if server.is_a?(Fog::Compute::Glesys::Server)
  raise Fog::Errors::Error.new("Ip is already attached to a server, #{serverid}") unless serverid.nil?
  data = service.ip_add(
    :ipaddress => identity,
    :serverid  => server
  ).body["response"]["details"]
  merge_attributes data
end
attached?() click to toggle source
# File lib/fog/glesys/models/compute/ip.rb, line 24
def attached?
  !serverid.nil?
end
destroy() click to toggle source

Remove the ip from a server and release it

# File lib/fog/glesys/models/compute/ip.rb, line 58
def destroy
  requires :ip
  remove(:release => true)
end
release() click to toggle source

Return an unused ip-address to the pool of free ips.

# File lib/fog/glesys/models/compute/ip.rb, line 29
def release
  requires :ip
  raise Fog::Errors::Error.new('You can\'t release a ip that is attached to a server') if attached?
  service.ip_release(
    :ipaddress => identity
  )
end
remove(options = {}) click to toggle source

Remove an ip from the server

# File lib/fog/glesys/models/compute/ip.rb, line 50
def remove(options = {})
  requires :ip
  raise Fog::Errors::Error.new('Ip is not attached to a server.') if serverid.nil?
  data = service.ip_remove({:ipaddress => ip}.merge!(options)).body["response"]["details"]
  merge_attributes data
end
take() click to toggle source
# File lib/fog/glesys/models/compute/ip.rb, line 63
def take
  requires :ip
  data = service.ip_take(
    :ipaddress => ip
  ).body["response"]["details"]
  merge_attributes data
end