Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

39 lines (34 sloc) 1.642 kB
#!perl
use strict;
use warnings;
use Net::RackSpace::CloudServers;
use 5.010_000;
my $user = $ENV{'CLOUDSERVERS_USER'} or die "Need CLOUDSERVERS_USER environment variable set";
my $key = $ENV{'CLOUDSERVERS_KEY'} or die "Need CLOUDSERVERS_KEY environment variable set";
$Net::RackSpace::CloudServers::DEBUG = 1;
warn "** Creating Net::RackSpace::CloudServers object..\n";
my $CS = Net::RackSpace::CloudServers->new(
user => $user,
key => $key,
);
warn "** Getting flavor details..\n";
my @flavors = $CS->get_flavor_detail;
warn "** Getting images details..\n";
my @images = $CS->get_image_detail;
warn "** Getting server details..\n";
my @servers = $CS->get_server_detail;
say '#' x 72;
foreach my $server (@servers) {
say "Server ID ", $server->id, " Name ", $server->name;
say "Server status ", $server->status || 'undef', " progress ", $server->progress || 'undef';
say "Public IPs: ", join( ' ', @{ $server->public_address || () } );
say "Private IPs: ", join( ' ', @{ $server->private_address || () } );
my $img = ( grep { $_->id == $server->imageid } @images )[0]; # find image by id
die "Can't find image ID ", $server->imageid, " on list" if ( !defined $img );
say "Image ID ", $server->imageid, " (", $img->name, ")",
" status ", $img->status || 'undef', " progress ", $img->progress || 'undef';
my $flv = ( grep { $_->id == $server->flavorid } @flavors )[0]; # find flavor by id
die "Can't find flavor ID ", $server->flavorid, " on list" if ( !defined $flv );
say "Flavor ID ", $server->flavorid, " (", $flv->name, ")",
" ram ", $flv->ram || 'undef', " disk ", $flv->disk || 'undef';
}
Jump to Line
Something went wrong with that request. Please try again.