Provided by: rex_1.14.0-1_all bug

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