Merge pull request #2692 from j2sol/rax

Minor fixes to the rax module
This commit is contained in:
Michael DeHaan 2013-04-16 16:52:43 -07:00
commit 133edecd11

35
rax
View file

@ -17,42 +17,36 @@
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
module: rax module: rax
short_description: create an instance in Rackspace Public Cloud, return instanceid short_description: create / delete an instance in Rackspace Public Cloud
description: description:
- creates Rackspace Public Cloud instances and optionally waits for it to be 'running'. - creates / deletes Rackspace Public Cloud instances and optionally waits for it to be 'running'.
version_added: "1.2" version_added: "1.2"
options: options:
service: service:
description: description:
- Cloud service to interact with - Cloud service to interact with
required: false choices: ['cloudservers']
choices: ['cloudservers', 'cloudfiles', 'cloud_databases', 'cloud_loadbalancers']
default: cloudservers default: cloudservers
state: state:
description: description:
- Indicate desired state of the resource - Indicate desired state of the resource
required: false
choices: ['present', 'active', 'absent', 'deleted'] choices: ['present', 'active', 'absent', 'deleted']
default: present default: present
creds_file: creds_file:
description: description:
- File to find the Rackspace Public Cloud credentials in - File to find the Rackspace Public Cloud credentials in
required: false
default: null default: null
name: name:
description: description:
- Name to give the instance - Name to give the instance
required: false
default: null default: null
flavor: flavor:
description: description:
- flavor to use for the instance - flavor to use for the instance
required: false
default: null default: null
image: image:
description: description:
- image to use for the instance - image to use for the instance
required: false
default: null default: null
meta: meta:
description: description:
@ -61,7 +55,6 @@ options:
key_name: key_name:
description: description:
- key pair to use on the instance - key pair to use on the instance
required: false
default: null default: null
aliases: ['keypair'] aliases: ['keypair']
files: files:
@ -71,12 +64,10 @@ options:
region: region:
description: description:
- Region to create an instance in - Region to create an instance in
required: false
default: null default: null
wait: wait:
description: description:
- wait for the instance to be in state 'running' before returning - wait for the instance to be in state 'running' before returning
required: false
default: "no" default: "no"
choices: [ "yes", "no" ] choices: [ "yes", "no" ]
wait_timeout: wait_timeout:
@ -84,8 +75,18 @@ options:
- how long before wait gives up, in seconds - how long before wait gives up, in seconds
default: 300 default: 300
examples: examples:
- code: 'local_action: rax creds_file=~/.raxpub service=cloudservers name=rax-test1 flavor=5 image=b11d9567-e412-4255-96b9-bd63ab23bcfe wait=yes state=present' - code: |
description: "Examples from Ansible Playbooks" - name: Create a server
local_action:
module: rax
creds_file: ~/.raxpub
service: cloudservers
name: rax-test1
flavor: 5
image: b11d9567-e412-4255-96b9-bd63ab23bcfe
wait: yes
state: present
description: "Example from Ansible Playbooks"
requirements: [ "pyrax" ] requirements: [ "pyrax" ]
author: Jesse Keating author: Jesse Keating
notes: notes:
@ -104,8 +105,10 @@ except ImportError:
print("failed=True msg='pyrax required for this module'") print("failed=True msg='pyrax required for this module'")
sys.exit(1) sys.exit(1)
SUPPORTEDSERVICES = ['cloudservers', 'cloudfiles', 'cloud_blockstorage', # These are possible services, but only cloudservers is supported at this time
'cloud_databases', 'cloud_loadbalancers'] #SUPPORTEDSERVICES = ['cloudservers', 'cloudfiles', 'cloud_blockstorage',
# 'cloud_databases', 'cloud_loadbalancers']
SUPPORTEDSERVICES = ['cloudservers']
def cloudservers(module, state, name, flavor, image, meta, key_name, files, def cloudservers(module, state, name, flavor, image, meta, key_name, files,
wait, wait_timeout): wait, wait_timeout):