now generate list of playbook ojbect directives
TODO: needs links/info and conditionals added
This commit is contained in:
parent
771f1e31a9
commit
fbdcb22e36
5 changed files with 59 additions and 1 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -31,6 +31,7 @@ docs/man/man3/*
|
||||||
*.sublime-workspace
|
*.sublime-workspace
|
||||||
# docsite stuff...
|
# docsite stuff...
|
||||||
docsite/rst/modules_by_category.rst
|
docsite/rst/modules_by_category.rst
|
||||||
|
docsite/rst/playbooks_directives.rst
|
||||||
docsite/rst/list_of_*.rst
|
docsite/rst/list_of_*.rst
|
||||||
docsite/rst/*_module.rst
|
docsite/rst/*_module.rst
|
||||||
docsite/*.html
|
docsite/*.html
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
#!/usr/bin/make
|
#!/usr/bin/make
|
||||||
SITELIB = $(shell python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
|
SITELIB = $(shell python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
|
||||||
FORMATTER=../hacking/module_formatter.py
|
FORMATTER=../hacking/module_formatter.py
|
||||||
|
DUMPER=../hacking/dump_playbook_attributes.py
|
||||||
|
|
||||||
all: clean docs
|
all: clean docs
|
||||||
|
|
||||||
docs: clean modules staticmin
|
docs: clean directives modules staticmin
|
||||||
./build-site.py
|
./build-site.py
|
||||||
-(cp *.ico htmlout/)
|
-(cp *.ico htmlout/)
|
||||||
-(cp *.jpg htmlout/)
|
-(cp *.jpg htmlout/)
|
||||||
|
@ -41,6 +42,9 @@ clean:
|
||||||
|
|
||||||
.PHONEY: docs clean
|
.PHONEY: docs clean
|
||||||
|
|
||||||
|
directives: $(FORMATTER) ../hacking/templates/rst.j2
|
||||||
|
PYTHONPATH=../lib $(DUMPER) --template-dir=../hacking/templates --output-dir=rst/
|
||||||
|
|
||||||
modules: $(FORMATTER) ../hacking/templates/rst.j2
|
modules: $(FORMATTER) ../hacking/templates/rst.j2
|
||||||
PYTHONPATH=../lib $(FORMATTER) -t rst --template-dir=../hacking/templates --module-dir=../lib/ansible/modules -o rst/
|
PYTHONPATH=../lib $(FORMATTER) -t rst --template-dir=../hacking/templates --module-dir=../lib/ansible/modules -o rst/
|
||||||
|
|
||||||
|
|
|
@ -20,3 +20,4 @@ and adopt these only if they seem relevant or useful to your environment.
|
||||||
playbooks_tags
|
playbooks_tags
|
||||||
playbooks_vault
|
playbooks_vault
|
||||||
playbooks_startnstep
|
playbooks_startnstep
|
||||||
|
playbooks_directives
|
||||||
|
|
33
hacking/dump_playbook_attributes.py
Executable file
33
hacking/dump_playbook_attributes.py
Executable file
|
@ -0,0 +1,33 @@
|
||||||
|
#!/usr/bin/env python2
|
||||||
|
|
||||||
|
import optparse
|
||||||
|
from jinja2 import Environment, FileSystemLoader
|
||||||
|
|
||||||
|
from ansible.playbook import Play
|
||||||
|
from ansible.playbook.block import Block
|
||||||
|
from ansible.playbook.role import Role
|
||||||
|
from ansible.playbook.task import Task
|
||||||
|
|
||||||
|
template_file = 'playbooks_directives.rst.j2'
|
||||||
|
oblist = {}
|
||||||
|
for aclass in Play, Block, Role, Task:
|
||||||
|
aobj = aclass()
|
||||||
|
oblist[type(aobj).__name__] = aobj
|
||||||
|
|
||||||
|
p = optparse.OptionParser(
|
||||||
|
version='%prog 1.0',
|
||||||
|
usage='usage: %prog [options]',
|
||||||
|
description='Generate module documentation from metadata',
|
||||||
|
)
|
||||||
|
p.add_option("-T", "--template-dir", action="store", dest="template_dir", default="hacking/templates", help="directory containing Jinja2 templates")
|
||||||
|
p.add_option("-o", "--output-dir", action="store", dest="output_dir", default='/tmp/', help="Output directory for rst files")
|
||||||
|
|
||||||
|
(options, args) = p.parse_args()
|
||||||
|
|
||||||
|
env = Environment(loader=FileSystemLoader(options.template_dir), trim_blocks=True,)
|
||||||
|
template = env.get_template(template_file)
|
||||||
|
outputname = options.output_dir + template_file.replace('.j2','')
|
||||||
|
tempvars = { 'oblist': oblist }
|
||||||
|
|
||||||
|
with open( outputname, 'w') as f:
|
||||||
|
f.write(template.render(tempvars))
|
19
hacking/templates/playbooks_directives.rst.j2
Normal file
19
hacking/templates/playbooks_directives.rst.j2
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
Directives Glossary
|
||||||
|
===================
|
||||||
|
|
||||||
|
Here we list the common playbook objects and the possible directives that can be used with them.
|
||||||
|
Note that not all directives affect the object itself and might just be there to be inherited by other contained objects.
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
:local:
|
||||||
|
:depth: 1
|
||||||
|
|
||||||
|
{% for name in oblist %}
|
||||||
|
|
||||||
|
{{ name }}
|
||||||
|
{{ '-' * name|length }}
|
||||||
|
{% for attribute in oblist[name].__dict__['_attributes']|sort %}
|
||||||
|
* {{ attribute }}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% endfor %}
|
Loading…
Reference in a new issue