diff --git a/hacking/env-setup b/hacking/env-setup index 338e768686b..83f57e9cee5 100755 --- a/hacking/env-setup +++ b/hacking/env-setup @@ -1,13 +1,17 @@ #!/bin/bash -# usage: source ./hacking/env-setup [-q] +# usage: source env-setup [-q] +# source hacking/env-setup [-q] +# . ./env-setup [-q] +# . ./hacking/env-setup [q] # modifies environment for running Ansible from checkout # When run using source as directed, $0 gets set to bash, so we must use $BASH_SOURCE -if [ -n "$BASH_SOURCE" ] ; then - HACKING_DIR=`dirname $BASH_SOURCE` -else - HACKING_DIR="$PWD/hacking" -fi +case "$0" in + (bash) + HACKING_DIR=${BASH_SOURCE%/*};; + (*) + HACKING_DIR=${0%/*};; +esac # The below is an alternative to readlink -fn which doesn't exist on OS X # Source: http://stackoverflow.com/a/1678636 FULL_PATH=`python -c "import os; print(os.path.realpath('$HACKING_DIR'))"` diff --git a/library/cloud/digital_ocean b/library/cloud/digital_ocean index aea7d56a488..ddaaf39085c 100644 --- a/library/cloud/digital_ocean +++ b/library/cloud/digital_ocean @@ -131,6 +131,30 @@ EXAMPLES = ''' size_id=1 region_id=2 image_id=3 +======= +- digital_ocean: state=present command=ssh name=my_ssh_key ssh_pub_key='ssh-rsa AAAA...' client_id=XXX api_key=XXX + +If a key matches this name, will return the ssh key id and changed = False +If no existing key matches this name, a new key is created, the ssh key id is returned and changed = False + +# Create a new Droplet +- digital_ocean: state=present command=droplet name=my_new_droplet client_id=XXX api_key=XXX size_id=1 region_id=2 image_id=3 wait_timeout=500 + +Will return the droplet details including the droplet id (used for idempotence) + +# Ensure a droplet is present +- digital_ocean: state=present command=droplet id=123 name=my_new_droplet client_id=XXX api_key=XXX size_id=1 region_id=2 image_id=3 wait_timeout=500 + +If droplet id already exist, will return the droplet details and changed = False +If no droplet matches the id, a new droplet will be created and the droplet details (including the new id) are returned, changed = True. + +# Create a droplet with ssh key +- digital_ocean: state=present ssh_key_ids=id name=my_new_droplet client_id=XXX api_key=XXX size_id=1 region_id=2 image_id=3 + +The ssh key id can be passed as argument at the creation of a droplet (see ssh_key_ids). +Several keys can be added to ssh_key_ids as id1,id2,id3 + +The keys are used to connect as root to the droplet. ''' import sys