NAME
Rex::Box::Base - Rex/Boxes Base Module
DESCRIPTION
This is a Rex/Boxes base module.
METHODS
These methods are shared across all other Rex::Box modules.
- info
-
Returns a hashRef of vm information.
- name($vmname)
-
Sets the name of the virtual machine.
- setup(@tasks)
-
Sets the tasks that should be executed as soon as the VM is available through SSH.
- import_vm()
-
This method must be overwritten by the implementing class.
- stop()
-
Stops the VM.
- start()
-
Starts the VM.
- ip()
-
Return the ip:port to which rex will connect to.
- status()
-
Returns the status of a VM.
Valid return values are "running" and "stopped".
- provision_vm([@tasks])
-
Executes the given tasks on the VM.
- cpus($count)
-
Set the amount of CPUs for the VM.
- memory($memory_size)
-
Sets the memory of a VM in megabyte.
- network(%option)
-
Configure the network for a VM.
Currently it supports 2 modes: nat and bridged. Currently it supports only one network card.
$box->network( 1 => { type => "nat", }, } $box->network( 1 => { type => "bridged", bridge => "eth0", }, );
- forward_port(%option)
-
Set ports to be forwarded to the VM. This is not supported by all Box providers.
$box->forward_port( name => [$from_host_port, $to_vm_port], name2 => [$from_host_port_2, $to_vm_port_2], ... );
- list_boxes
-
List all available boxes.
- url($url)
-
The URL where to download the Base VM Image. You can use self-made images or prebuild images from http://box.rexify.org/.
- auth(%option)
-
Configure the authentication to the VM.
$box->auth( user => $user, password => $password, private_key => $private_key, public_key => $public_key, );