How to use cURL to Clone a Droplet from a Snapshot

August 30, 2014 1.8k views

I'm trying to create a 2nd Droplet.

When wanting just the OS software installed, through Digital Ocean's control panel I can Select Image > Linux Distributions tab > and select a Linux OS image, to which another Droplet will be spun. Similarly, when using a cURL statement such as …

curl -s "https://api.digitalocean.com/droplets/new/?name=server2&size_id=66&image_id=XXXXXX&region_id=4&client_id=YYYYYY&api_key=ZZZZZZ"

… a message is given ...


… and a 2nd Droplet is spun with, again, just the OS software installed.

Furtherer, if wanting to spin a 2nd Droplet as a clone of my 1st server, which already has LAMP and my web pages installed on it; through Digital Ocean's control panel I can Select Image > My Images tab > and select a snapshot name, to which a new Droplet is spun with all the software included.

At this point I'm not sure how to use a cURL statement, to clone via a Snapshot.

Any answer or direction is appreciated.

1 Answer

To launch a new droplet based on a snapshot, you'd use the same API call:

curl -s "https://api.digitalocean.com/droplets/new/?name=server2&sizeid=66&imageid=XXXXXX&regionid=4&clientid=YYYYYY&api_key=ZZZZZZ"

You just need to replace the imageid with the ID for your snapshot. To find your image ID, run:

curl -s "https://api.digitalocean.com/v1/images/?clientid=YYYYYY&api_key=ZZZZZZ"

I'd also suggest installing the jq command. You can pipe the results to it so that they are printed out nicely:

curl -s "https://api.digitalocean.com/v1/images/?clientid=YYYYYY&api_key=ZZZZZZ" | jq .[]
  • That did it.

    When running the cURL command with v1 as part of the address, the view of information initially looked the same, as if running the address without the v1 portion. With a closer look, I noticed the snapshot image number was located in the first line of information.

    Thanks again for the help.

Have another answer? Share your knowledge.