class Fog::Compute::Aliyun::EipAddress

Public Instance Methods

associate(new_server, options = {}) click to toggle source
# File lib/fog/aliyun/models/compute/eip_address.rb, line 39
def associate(new_server, options = {})
  if persisted?
    @server = nil
    self.server_id = new_server.id
    service.associate_eip_address(server_id, id, options)
  else
    @server = new_server
  end
end
destroy() click to toggle source
# File lib/fog/aliyun/models/compute/eip_address.rb, line 17
def destroy
  requires :id
  service.release_eip_address(id)
  true
end
disassociate(new_server, options = {}) click to toggle source
# File lib/fog/aliyun/models/compute/eip_address.rb, line 49
def disassociate(new_server, options = {})
  @server = nil
  self.server_id = new_server.id
  service.unassociate_eip_address(server_id, id, options) if persisted?
end
ready?() click to toggle source
# File lib/fog/aliyun/models/compute/eip_address.rb, line 23
def ready?
  requires :state
  state == 'Available'
end
save(options = {}) click to toggle source
# File lib/fog/aliyun/models/compute/eip_address.rb, line 28
def save(options = {})
  # raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if persisted?
  # requires :availability_zone
  options[:bandwidth] = bandwidth if bandwidth
  options[:internet_charge_type] = charge_type if charge_type

  data = Fog::JSON.decode(service.allocate_eip_address(options).body)
  merge_attributes(data)
  true
end