Moved attributes to right parent
[p5sagit/Oyster.git] / lib / Oyster / Provision / Rackspace.pm
1 package Oyster::Provision::Rackspace;
2 use Moose::Role;
3
4 requires 'config';
5
6 sub create {
7    my $self = shift;
8
9    $self->config();
10 }
11
12 sub delete {
13    my $self = shift;
14
15    $self->config();
16 }
17
18 sub resize {
19    my $self = shift;
20
21    $self->config();
22 }
23
24 1;
25
26 __END__
27
28 =head1 NAME
29
30 Oyster::Provision::Rackspace -- Provision your Oyster on Rackspace
31
32 =head1 SYNOPSIS
33
34 Use the Rackspace backend on your Oyster configuration file
35
36 =head1 REQUIRED PARAMETERS
37
38 The following are required to instantiate a backend:
39
40 =over
41
42 =item name
43
44 The name of your new/existing rackspace server.
45
46 =item size
47
48 The size ID of the rackspace server you want to create.
49 Use the following incantation to see them:
50
51     perl -MNet::RackSpace::CloudServers -e'
52         $r=Net::RackSpace::CloudServers->new(
53             user=>$ENV{CLOUDSERVERS_USER},
54             key=>$ENV{CLOUDSERVERS_KEY},
55         );
56         print map
57             { "id $_->{id} ram $_->{ram} disk $_->{disk}\n" }
58             $r->get_flavor_detail
59     '
60     id 1 ram 256 disk 10
61     id 2 ram 512 disk 20
62     id 3 ram 1024 disk 40
63     id 4 ram 2048 disk 80
64     id 5 ram 4096 disk 160
65     id 6 ram 8192 disk 320
66     id 7 ram 15872 disk 620
67
68 =item image
69
70 The image ID of the rackspace server you want to create.
71 Use the following incantation to see them:
72
73     perl -MNet::RackSpace::CloudServers -e'
74         $r=Net::RackSpace::CloudServers->new(
75             user=>$ENV{CLOUDSERVERS_USER},
76             key=>$ENV{CLOUDSERVERS_KEY},
77         );
78         print map
79             { "id $_->{id} name $_->{name}\n" }
80             $r->get_image_detail
81     '
82     id 29 name Windows Server 2003 R2 SP2 x86
83     id 69 name Ubuntu 10.10 (maverick)
84     id 41 name Oracle EL JeOS Release 5 Update 3
85     id 40 name Oracle EL Server Release 5 Update 4
86     id 187811 name CentOS 5.4
87     id 4 name Debian 5.0 (lenny)
88     id 10 name Ubuntu 8.04.2 LTS (hardy)
89     id 23 name Windows Server 2003 R2 SP2 x64
90     id 24 name Windows Server 2008 SP2 x64
91     id 49 name Ubuntu 10.04 LTS (lucid)
92     id 14362 name Ubuntu 9.10 (karmic)
93     id 62 name Red Hat Enterprise Linux 5.5
94     id 53 name Fedora 13
95     id 17 name Fedora 12
96     id 71 name Fedora 14
97     id 31 name Windows Server 2008 SP2 x86
98     id 51 name CentOS 5.5
99     id 14 name Red Hat Enterprise Linux 5.4
100     id 19 name Gentoo 10.1
101     id 28 name Windows Server 2008 R2 x64
102     id 55 name Arch 2010.05
103
104 Oyster only supports Linux images, specifically
105 Ubuntu 10.10 (maverick).
106
107 =item pub_ssh
108
109 The public ssh key you would like copied to the
110 new server's C</root/.ssh/authorized_keys> file
111 to allow you to ssh in the box without providing
112 a root password.
113
114 =back
115
116 =cut