DOKK / manpages / debian 12 / rex / Rex::Box::Base.3pm.en
Rex::Box::Base(3pm) User Contributed Perl Documentation Rex::Box::Base(3pm)

Rex::Box::Base - Rex/Boxes Base Module

This is a Rex/Boxes base module.

These methods are shared across all other Rex::Box modules.

Returns a hashRef of vm information.

Sets the name of the virtual machine.

Sets the tasks that should be executed as soon as the VM is available through SSH.

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".

Executes the given tasks on the VM.

Set the amount of CPUs for the VM.

Sets the memory of a VM in megabyte.

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",
   },
 );

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 all available boxes.

The URL where to download the Base VM Image. You can use self-made images or prebuild images from <http://box.rexify.org/>.

Configure the authentication to the VM.

 $box->auth(
   user => $user,
   password => $password,
   private_key => $private_key,
   public_key => $public_key,
 );

Addition options for boxes

 $box->options(
   opt1 => $val1,
   opt2 => $val2,
 );
2023-03-06 perl v5.36.0