Create Rackspace cloud-servers with cURL

These are notes for creating cloud-servers with a command line browser on Linux.

First step: AUTHENTICATE:

curl -I -H "X-Auth-User: gusmaskowitz" -H "X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxx" https://lon.auth.api.rackspacecloud.com/v1.0

From this you get the X-Auth-Token

Example without METADATA

curl -X POST -H "X-Auth-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -H Content-type:application/xml --data-ascii '<server xmlns="http://docs.rackspacecloud.com/servers/api/v1.0" name="testingSharedImage" imageId="10267169" flavorId="4"/>' https://lon.servers.api.rackspacecloud.com/v1.0/10009999/servers.xml

 

And WITH METADATA

curl -X POST -H "X-Auth-Token: de82cd6t-475a-4e78-8ca6-f005efc15447" -H Content-type:application/xml -d '<server xmlns="http://docs.rackspacecloud.com/servers/api/v1.0" name="SharedTestWITHMETA" imageId="23456789" flavorId="4"> <metadata> <meta key="RackConnectPublicIP">1.2.3.4</meta></metadata></server>' https://lon.servers.api.rackspacecloud.com/v1.0/10009999/servers.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><server xmlns="http://docs.rackspacecloud.com/servers/api/v1.0" status="BUILD" progress="0" hostId="8b73f64d1aae05def4169390d6681405" flavorId="4" imageId="23456789" adminPass="SharedTestWITHMETblahblahblah" id="10058183" name="SharedTestWITHMETA"><metadata><meta key="RackConnectPublicIP">1.2.3.4</meta></metadata><addresses><public><ip addr="46.38.175.27"/></public><private><ip addr="10.176.88.196"/></private></addresses></server>