Today I have been playing around with some Python. This time using Pyrax and the Rackspace API. Here is how I did it. In my case I was using a CentOS 7 image.
Step 1. Install pip and pyrax
yum install python-pip gcc make pip install --upgrade pip pip install pyrax
Step 2. Consult the docs!
https://developer.rackspace.com/docs/cloud-servers/getting-started/
Which has support for JAVA, PHP, Python, GO, RUBY, .NET and more.
Step 3. Create your import directives
import os import pyrax
Step 3. Create your Authorisation
# Authentication Section # myusername is the mycloud username for the Rackspace User in portal # 99ghghghghgh12345a289872342 is the APIKEY, you need to replace these with the values you use for your account pyrax.set_setting("identity_type", "rackspace") pyrax.set_default_region('LON') pyrax.set_credentials('myusername', '99ghghghghgh12345a289872342') cs = pyrax.cloudservers
Step 4. Listing some flavours: It’s possible to list the different virtual machine flavors (HARDWARE TYPE)
flavor_list = cs.list_flavors() print flavor_list
Step 5. Set the flavor we want to use to create a server. In this case we are spinning up a performance 1 server with 1GB RAM.
flavor = cs.flavors.get('performance1-1')
Step 6. Set the image we want to use to create the server. I have a custom image from a previous server I made I want to use.
image = pyrax.images.get('d9aa9583-6468-4963-85b7-b6d1025cd0c7')
Step 7. Create the server with the parameters: name, image and flavor.
server = cs.servers.create('testing1', image.id, flavor.id)
The complete file should look like:
import os import pyrax # Authentication Section pyrax.set_setting("identity_type", "rackspace") pyrax.set_default_region('LON') pyrax.set_credentials('adambull', '99ghghghghgh12345a289872342') cs = pyrax.cloudservers flavor_list = cs.list_flavors() flavor = cs.flavors.get('performance1-1') image = pyrax.images.get('d9aa9583-6468-4963-85b7-b6d1025cd0c7') server = cs.servers.create('testing1', image.id, flavor.id)