From 2964d9664c4fb14036d33434291ec72b2ae6460f Mon Sep 17 00:00:00 2001 From: Dan Guido Date: Tue, 31 May 2016 00:05:29 +0200 Subject: [PATCH] create a droplet automatically --- digitalocean.yml | 74 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 digitalocean.yml diff --git a/digitalocean.yml b/digitalocean.yml new file mode 100644 index 0000000..effbe82 --- /dev/null +++ b/digitalocean.yml @@ -0,0 +1,74 @@ +--- +- name: Create a new DigitalOcean Droplet + hosts: localhost + gather_facts: yes + + vars: + regions: + "1": "ams2" + "2": "ams3" + "3": "fra1" + "4": "lon1" + "5": "nyc1" + "6": "nyc2" + "7": "nyc3" + "8": "sfo1" + "9": "sgp1" + "10": "tor1" + + vars_prompt: + - name: "do_access_token" + prompt: "Enter your API Token (https://cloud.digitalocean.com/settings/api/tokens):\n" + private: yes + + - name: "do_ssh_name" + prompt: "Enter a valid SSH key name (https://cloud.digitalocean.com/settings/security):\n" + private: no + + - name: "do_region" + prompt: > + What region should the server be located in? + 1. Amsterdam (Datacenter 2) + 2. Amsterdam (Datacenter 3) + 3. Frankfurt + 4. London + 5. New York (Datacenter 1) + 6. New York (Datacenter 2) + 7. New York (Datacenter 3) + 8. San Francisco + 9. Singapore + 10. Toronto + Please choose the number of your region. Press enter for default (#7) region. + default: "7" + private: no + + - name: "do_server_name" + prompt: "Name the vpn server:\n" + default: "strongswan" + private: no + + tasks: + - name: "Getting your SSH key ID on Digital Ocean..." + digital_ocean: + state: present + command: ssh + name: "{{ do_ssh_name }}" + api_token: "{{ do_access_token }}" + register: do_ssh_key + + - debug: msg="key id {{ do_ssh_key.ssh_key.id }}" + + - name: "Creating a droplet..." + digital_ocean: + state: present + command: droplet + name: "{{ do_server_name }}" + region_id: "{{ regions[do_region] }}" + size_id: "512mb" + image_id: "ubuntu-16-04-x64" + ssh_key_ids: "{{ do_ssh_key.ssh_key.id }}" + unique_name: yes + api_token: "{{ do_access_token }}" + register: droplet + + - debug: msg="print {{ droplet }}" \ No newline at end of file