Provided by: rex_1.14.0-1_all
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. storage('path/to/vm/disk') Sets the disk path of the virtual machine. Works only on KVM import_vm() This method must be overwritten by the implementing class. stop() Stops the VM. destroy() Destroy 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, ); options(%option) Addition options for boxes $box->options( opt1 => $val1, opt2 => $val2, );