Update docs

This commit is contained in:
Michael DeHaan 2012-03-09 07:42:53 -05:00
commit e8eb7ab5ed
22 changed files with 379 additions and 214 deletions

View file

@ -1,5 +1,5 @@
API
```
Using the Python API
====================
The Python API is very powerful, and is how the ansible CLI and ansible-playbook
are implemented.
@ -32,4 +32,42 @@ expressed in the 'ansible-modules' documentation.::
A module can return any type of JSON data it wants, so Ansible can
be used as a framework to rapidly build powerful applications and scripts.
Detailed API Example
````````````````````
The following script prints out the uptime information for all hosts::
#!/usr/bin/python
import ansible.runner
import sys
# construct the ansible runner and execute on all hosts
results = ansible.runner.Runner(
pattern='*', forks=10,
module_name='command', module_args=['/usr/bin/uptime'],
).run()
if results is None:
print "No hosts found"
sys.exit(1)
print "UP ***********"
for (hostname, result) in results['contacted'].items():
if not 'failed' in result:
print "%s >>> %s" % (hostname, result['stdout'])
print "FAILED *******"
for (hostname, result) in results['contacted'].items():
if 'failed' in result:
print "%s >>> %s" % (hostname, result['msg'])
print "DOWN *********"
for (hostname, result) in results['dark'].items():
print "%s >>> %s" % (hostname, result)
Advanced programmers may also wish to read the source to ansible itself, for
it uses the Runner() API (with all available options) to implement the
command line tools ``ansible`` and ``ansible-playbook``.