Initialisie a VM object:
use VM::JiffyBox; my $secret_token = 'secretbla1234567890'; my $hypervisor = VM::JiffyBox->new( auth_token => $secret_token);
Get a specific box:
my $vm_id = 'master_box123'; my $vm = $hypervisor->get_vm( $vm_id );
Create a new box:
my $image = 'hfsidhfvksdhverw24ths'; my $vm = $hypervisor->create_vm( $image );
Or get all boxes:
my @vms = $hypervisor->get_vms();
Get specific ID for box-name:
my $vm_id = $hypervisor->get_id_for_name( 'KundeA' );
Do stuff with a specific box:
$vm->stop(); $vm->delete(); my $ip = $vm->get_information()->{result}->{ips}->{public}->[0]; my $ip = $vm->get_ip(); my $image = $vm->get_backup_id( 'daily' );
Forther stuff which is needed:
# tell a box a specific API-Token, # represented with the hypervisor $vm->set_hypervisor( $hypervisor ); # Interface for authentikation token $hypervisor->set_auth_token( 'usfhisfh22fsfhs' );
This is an example how we then could use this interface:
use VM::JiffyBox; my $jiffy = VM::JiffyBox->new( auth_token => 'geheim' ); my $box_id_A = $jiffy->get_id_for_name( 'Kunde_A' ); my $box_A = $jiffy->get_vm( $box_id_A ); my $backup_img_A = $box_A->get_backup_id( 'daily' ); my $test_box_A = $jiffy->create_vm( $backup_img_A ); my $test_ip_A = $test_box_A->get_ip(); # Do some stuff with the clone # # MAGIC GOES HERE (with Rex e.g.) # # ssh on IP and so on... $test_box_A->stop(); $test_box_A->delete();
To install VM::JiffyBox, copy and paste the appropriate command in to your terminal.
cpanm
cpanm VM::JiffyBox
CPAN shell
perl -MCPAN -e shell install VM::JiffyBox
For more information on module installation, please visit the detailed CPAN module installation guide.