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

Rex::Box::Amazon - Rex/Boxes Amazon Module

This is a Rex/Boxes module to use Amazon EC2.

To use this module inside your Rexfile you can use the following commands.

 use Rex::Commands::Box;
 set box => "Amazon", {
   access_key => "your-access-key",
   private_access_key => "your-private-access-key",
   region => "ec2.eu-west-1.amazonaws.com",
   zone => "eu-west-1a",
   authkey => "default",
 };
  
 task "prepare_box", sub {
   box {
     my ($box) = @_;
       
     $box->name("mybox");
     $box->ami("ami-c1aaabb5");
     $box->type("m1.large"); 
        
     $box->security_group("default");
        
     $box->auth(
       user => "root",
       password => "box",
     );
        
     $box->setup("setup_task");
   };
 };

If you want to use a YAML file you can use the following template.

 type: Amazon
 amazon:
   access_key: your-access-key
   private_access_key: your-private-access-key
   region: ec2.eu-west-1.amazonaws.com
   zone: eu-west-1a
   auth_key: default
 vms:
   vmone:
     ami: ami-c1aaabb5
     type: m1.large
     security_group: default
     setup: setup_task

And then you can use it the following way in your Rexfile.

 use Rex::Commands::Box init_file => "file.yml";
   
 task "prepare_vms", sub {
   boxes "init";
 };

See also the Methods of Rex::Box::Base. This module inherits all methods of it.

Constructor if used in OO mode.

 my $box = Rex::Box::VBox->new(name => "vmname");

Set the AMI ID for the box.

Set the type of the Instance. For example "m1.large".

Set the Amazon security group for this Instance.

Not available for Amazon Boxes.

Not available for Amazon Boxes.

Returns a hashRef of vm information.

2023-03-06 perl v5.36.0