class Fog::Rackspace::Networking::VirtualInterface

Public Instance Methods

create() click to toggle source

Creates Virtual interface for server

  • requires attributes: :network

@return [Boolean] returns true if virtual network interface is being created @raise [Fog::Rackspace::Networking::NotFound] - HTTP 404 @raise [Fog::Rackspace::Networking::BadRequest] - HTTP 400 @raise [Fog::Rackspace::Networking::InternalServerError] - HTTP 500 @raise [Fog::Rackspace::Networking::ServiceError] @example To create a virtual interface; my_server.virtual_interfaces.create :network => my_network @see docs.rackspace.com/servers/api/v2/cn-devguide/content/api_create_virtual_interface.html

# File lib/fog/rackspace/models/networking/virtual_interface.rb, line 56
def create
  data = service.create_virtual_interface(server_id, network_id)
  merge_attributes(data.body['virtual_interfaces'].first)
end
destroy() click to toggle source

Destroy the virtual interface @return [Boolean] returns true if virtual interface has been destroyed @raise [Fog::Rackspace::Networking::NotFound] - HTTP 404 @raise [Fog::Rackspace::Networking::BadRequest] - HTTP 400 @raise [Fog::Rackspace::Networking::InternalServerError] - HTTP 500 @raise [Fog::Rackspace::Networking::ServiceError] @see docs.rackspace.com/servers/api/v2/cn-devguide/content/delete_virt_interface_api.html

# File lib/fog/rackspace/models/networking/virtual_interface.rb, line 68
def destroy
  service.delete_virtual_interface(server_id, id)
  true
end
save(attributes = {}) click to toggle source

Saves the virtual interface. This method can only create a virtual interface. Attempting to update interface will result an exception @return [Boolean] true if virtual interface has been saved

# File lib/fog/rackspace/models/networking/virtual_interface.rb, line 37
def save(attributes = {})
  if persisted?
    raise Fog::Errors::Error.new("This virtual interface has already been created and it cannot be updated")
  else
    create
  end
  true
end

Private Instance Methods

network_id() click to toggle source
# File lib/fog/rackspace/models/networking/virtual_interface.rb, line 79
def network_id
  attributes[:network].is_a?(Network) ? attributes[:network].id : attributes[:network]
end
server_id() click to toggle source
# File lib/fog/rackspace/models/networking/virtual_interface.rb, line 75
def server_id
   attributes[:server].is_a?(Fog::Compute::RackspaceV2::Server) ? attributes[:server].id : attributes[:server]
end