class Fog::Scaleway::Compute::Ip

Public Instance Methods

destroy() click to toggle source
# File lib/fog/scaleway/models/compute/ip.rb, line 33
def destroy
  requires :identity

  service.delete_ip(identity)
  true
end
save() click to toggle source
# File lib/fog/scaleway/models/compute/ip.rb, line 25
def save
  if persisted?
    update
  else
    create
  end
end
server=(value) click to toggle source
# File lib/fog/scaleway/models/compute/ip.rb, line 14
def server=(value)
  attributes[:server] = case value
                        when Hash
                          service.servers.new(value)
                        when String
                          service.servers.new(identity: value)
                        else
                          value
                        end
end

Private Instance Methods

create() click to toggle source
# File lib/fog/scaleway/models/compute/ip.rb, line 42
def create
  options = {}
  options[:server] = server.identity unless server.nil?

  if (ip = service.create_ip(options).body['ip'])
    merge_attributes(ip)
    true
  else
    false
  end
end
update() click to toggle source
# File lib/fog/scaleway/models/compute/ip.rb, line 54
def update
  requires :identity

  body = attributes.dup
  body[:server] = server.identity unless server.nil?

  if (ip = service.update_ip(identity, body).body['ip'])
    merge_attributes(ip)
    true
  else
    false
  end
end