From 87ab7d76afc9e121dbfbee17d981ae94cfd0de65 Mon Sep 17 00:00:00 2001 From: Michael DeHaan Date: Thu, 22 Mar 2012 01:01:02 -0400 Subject: [PATCH] Document the user module --- YAMLSyntax.html | 2 +- api.html | 2 +- examples.html | 13 ++++- faq.html | 2 +- genindex.html | 2 +- gettingstarted.html | 2 +- index.html | 4 +- man.html | 2 +- man/ansible-playbook.1.html | 2 +- man/ansible.1.html | 2 +- moduledev.html | 2 +- modules.html | 86 +++++++++++++++++++++++++++--- patterns.html | 2 +- playbooks.html | 3 +- rst/examples.rst | 13 +++++ rst/modules.rst | 102 ++++++++++++++++++++++++++++++++---- search.html | 2 +- searchindex.js | 2 +- 18 files changed, 211 insertions(+), 34 deletions(-) diff --git a/YAMLSyntax.html b/YAMLSyntax.html index 0a4a872452..bd9f6d6308 100644 --- a/YAMLSyntax.html +++ b/YAMLSyntax.html @@ -245,7 +245,7 @@ languages:

Back to top

© Copyright 2012 Michael DeHaan.
- Last updated on Mar 21, 2012.
+ Last updated on Mar 22, 2012.
Created using Sphinx 1.0.8.

diff --git a/api.html b/api.html index e0f26a321e..8e75e99ab5 100644 --- a/api.html +++ b/api.html @@ -330,7 +330,7 @@ a conf.d file appropriately or something similar. Who knows.

Back to top

© Copyright 2012 Michael DeHaan.
- Last updated on Mar 21, 2012.
+ Last updated on Mar 22, 2012.
Created using Sphinx 1.0.8.

diff --git a/examples.html b/examples.html index 6000986e52..9f82248c92 100644 --- a/examples.html +++ b/examples.html @@ -132,6 +132,7 @@ s.parentNode.insertBefore(ga, s);
  • Parallelism and Shell Commands
  • File Transfer & Templating
  • Managing Packages
  • +
  • Users and Groups
  • Deploying From Source Control
  • Managing Services
  • Time Limited Background Operations
  • @@ -250,6 +251,16 @@ ansible webservers -m file -a "dest=/srv/foo/b.txt mode=600 owner=mdehaan group= for other package manages using the command module or contribute a module for other package managers. Stop by the mailing list for info/details.

    +
    +

    Users and Groups

    +

    The user module allows easy creation and manipulation of existing user accounts, as well +as removal of user accounts that may exist:

    +
    ansible all -m user -a "name=foo password=<crypted password here>"
    +
    +ansible all -m user -a "name=foo state=absent"
    +
    +

    See the Ansible Modules section for details on all of the available options.

    +

    Deploying From Source Control

    Deploy your webapp straight from git:

    @@ -318,7 +329,7 @@ a simplified syntax for this.

    Back to top

    © Copyright 2012 Michael DeHaan.
    - Last updated on Mar 21, 2012.
    + Last updated on Mar 22, 2012.
    Created using Sphinx 1.0.8.

    diff --git a/faq.html b/faq.html index 6da7693c58..b65f4dbfdd 100644 --- a/faq.html +++ b/faq.html @@ -336,7 +336,7 @@ tasks – whether for a QA sytem, build system, or anything you can think of

    Back to top

    © Copyright 2012 Michael DeHaan.
    - Last updated on Mar 21, 2012.
    + Last updated on Mar 22, 2012.
    Created using Sphinx 1.0.8.

    diff --git a/genindex.html b/genindex.html index 2be50f8d56..a37f67c7de 100644 --- a/genindex.html +++ b/genindex.html @@ -160,7 +160,7 @@ s.parentNode.insertBefore(ga, s);

    Back to top

    © Copyright 2012 Michael DeHaan.
    - Last updated on Mar 21, 2012.
    + Last updated on Mar 22, 2012.
    Created using Sphinx 1.0.8.

    diff --git a/gettingstarted.html b/gettingstarted.html index 845262f4ff..f4ac29ef6f 100644 --- a/gettingstarted.html +++ b/gettingstarted.html @@ -299,7 +299,7 @@ explore, but you already have a fully working infrastructure!

    Back to top

    © Copyright 2012 Michael DeHaan.
    - Last updated on Mar 21, 2012.
    + Last updated on Mar 22, 2012.
    Created using Sphinx 1.0.8.

    diff --git a/index.html b/index.html index 2e2d102a1f..8d1c33a9d7 100644 --- a/index.html +++ b/index.html @@ -253,6 +253,7 @@ Email:   Parallelism and Shell Commands
  • File Transfer & Templating
  • Managing Packages
  • +
  • Users and Groups
  • Deploying From Source Control
  • Managing Services
  • Time Limited Background Operations
  • @@ -270,6 +271,7 @@ Email:   setup
  • shell
  • template
  • +
  • user
  • yum
  • Writing your own modules
  • @@ -368,7 +370,7 @@ Puppet Labs, and rPath. Reach Michael by email Back to top

    © Copyright 2012 Michael DeHaan.
    - Last updated on Mar 21, 2012.
    + Last updated on Mar 22, 2012.
    Created using Sphinx 1.0.8.

    diff --git a/man.html b/man.html index 490bee6a74..faf4bc74df 100644 --- a/man.html +++ b/man.html @@ -194,7 +194,7 @@ examples of these tools in use.

    Back to top

    © Copyright 2012 Michael DeHaan.
    - Last updated on Mar 21, 2012.
    + Last updated on Mar 22, 2012.
    Created using Sphinx 1.0.8.

    diff --git a/man/ansible-playbook.1.html b/man/ansible-playbook.1.html index 5773d672db..bd5828ad20 100644 --- a/man/ansible-playbook.1.html +++ b/man/ansible-playbook.1.html @@ -1,6 +1,6 @@ -ansible-playbook

    Name

    ansible-playbook — run an ansible playbook

    Synopsis

    ansible-playbook <filename.yml> … [options]

    DESCRIPTION

    Ansible playbooks are a configuration and multinode deployment system. Ansible-playbook is the tool +ansible-playbook

    Name

    ansible-playbook — run an ansible playbook

    Synopsis

    ansible-playbook <filename.yml> … [options]

    DESCRIPTION

    Ansible playbooks are a configuration and multinode deployment system. Ansible-playbook is the tool used to run them. See the project home page (link below) for more information.

    ARGUMENTS

    filename.yml
    diff --git a/man/ansible.1.html b/man/ansible.1.html index ec6034b76f..3475ab038d 100644 --- a/man/ansible.1.html +++ b/man/ansible.1.html @@ -1,6 +1,6 @@ -ansible

    Name

    ansible — run a command somewhere else

    Synopsis

    ansible <host-pattern> [-f forks] [-m module_name] [-a args]

    DESCRIPTION

    Ansible is an extra-simple tool/framework/API for doing 'remote things' over +ansible

    Name

    ansible — run a command somewhere else

    Synopsis

    ansible <host-pattern> [-f forks] [-m module_name] [-a args]

    DESCRIPTION

    Ansible is an extra-simple tool/framework/API for doing 'remote things' over SSH.

    ARGUMENTS

    host-pattern
    diff --git a/moduledev.html b/moduledev.html index 79e5a01393..c966f74992 100644 --- a/moduledev.html +++ b/moduledev.html @@ -394,7 +394,7 @@ Stop by the mailing list to inquire about requirements.

    Back to top

    © Copyright 2012 Michael DeHaan.
    - Last updated on Mar 21, 2012.
    + Last updated on Mar 22, 2012.
    Created using Sphinx 1.0.8.

    diff --git a/modules.html b/modules.html index 566b743920..c66c17f389 100644 --- a/modules.html +++ b/modules.html @@ -140,6 +140,7 @@ s.parentNode.insertBefore(ga, s);
  • setup
  • shell
  • template
  • +
  • user
  • yum
  • Writing your own modules
  • @@ -202,9 +203,6 @@ arguments, space delimited.

    If you want to run a command through the shell (say you are using ‘<’, ‘>’, ‘|’, etc), you actually want the ‘shell’ module instead. The ‘command’ module is much more secure as it’s not affected by the user’s environment.

    -

    Example usage:

    -
    /sbin/shutdown -t now
    -

    The given command will be executed on all selected nodes. It will not be processed through the shell, so variables like “$HOME” and operations like “<”, “>”, “|”, and “&” will not work. As such, all @@ -212,6 +210,9 @@ paths to commands must be fully qualified.

    This module does not support change hooks and returns the return code from the program as well as timing information about how long the command was running for.

    +

    Example action from a playbook:

    +
    command /sbin/shutdown -t now
    +

    copy

    @@ -228,6 +229,9 @@ absolute or relative path.
  • Remote absolute path where the file should end up.
  • This module also returns md5sum information about the resultant file.

    +

    Example action from a playbook:

    +
    copy src=/srv/myfiles/foo.conf dest=/etc/foo.conf owner=foo group=foo mode=0644
    +

    facter

    @@ -263,6 +267,11 @@ to the file module are also available when running the copy or
  • name of group that should own the file or directory, as would be given to chgrp
  • +

    Example action from a playbook:

    +
    file dest=/etc/foo.conf owner=foo group=foo mode=0644
    +file dest=/some/path owner=foo group=foo state=directory
    +file dest/path/to/delete state=absent
    +

    git

    @@ -280,6 +289,9 @@ to the file module are also available when running the copy or What version to check out – either the git SHA, the literal string HEAD, or a tag name. +

    Example action from a playbook:

    +
    git repo=git://foosball.example.org/path/to/repo.git dest=/srv/checkout version=release-0.22
    +

    ohai

    @@ -312,6 +324,11 @@ unless necessary. restarted
  • The name of the service.
  • +

    Example action from a playbook:

    +
    service name=httpd state=started
    +service name=httpd state=stopped
    +service name=httpd state=restarted
    +

    setup

    @@ -331,15 +348,20 @@ tell their source. All variables are then bubbled up to the caller.

    key=value pair in the JSON file for use in templating.
    +

    Example action from a playbook:

    +
    vars:
    +    ntpserver: 'ntp.example.com'
    +    xyz: 1234
    +
    +

    Example action from /usr/bin/ansible:

    +
    ansible -m all setup -a "ntpserver=ntp.example.com xyz=1234"
    +

    shell

    The shell module takes the command name followed by a list of arguments, space delimited. It is almost exactly like the command module but runs the command through the shell rather than directly.

    -

    Example usage:

    -
    find . | grep *.txt
    -

    The given command will be executed on all selected nodes.

    If you want to execute a command securely and predicably, it may be better to use the ‘command’ module instead. Best practices @@ -349,6 +371,9 @@ use your best judgement.

    This module does not support change hooks and returns the return code from the program as well as timing information about how long the command was running for.

    +

    Example action from a playbook:

    +
    shell somescript.sh >> somelog.txt
    +

    template

    @@ -366,9 +391,49 @@ be a relative or absolute path.
  • Location to render the template on the remote server.
  • This module also returns md5sum information about the resultant file.

    +

    Example action from a playbook:

    +
    template src=/srv/mytemplates/foo.j2 dest=/etc/foo.conf owner=foo group=foo mode=0644
    +
    +
    +
    +

    user

    +

    Creates user accounts, manipulates existing user accounts, and removes user accounts.

    +

    name:

    +
      +
    • Name of the user to create, remove, or edit
    • +
    +

    comment:

    +
      +
    • Optionally sets the description of the user
    • +
    +

    gid:

    +
      +
    • Optionally sets the primary group GID. The user module will also be able to manipulate this.
    • +
    +

    shell:

    +
      +
    • Optionally sets the user’s shell.
    • +
    +

    createhome:

    +
      +
    • Whether to create the user’s home directory. Takes ‘yes’, or ‘no’. The default is ‘yes’.
    • +
    +

    password:

    +
      +
    • Sets the user’s password to this crypted value. Pass in a result from crypt. See the users +example in the github examples directory for what this looks like in a playbook.
    • +
    +

    state:

    +
      +
    • Defaults to ‘present’. When ‘absent’, the user account will be removed if present.
    • +
    +

    Example action from a playbook:

    +
    user name=mdehaan comment=awesome passwd=awWxVV.JvmdHw createhome=yes
    +user name=mdehaan state=absent
    +
    -

    yum

    +

    yum

    Will install, upgrade, remove, and list packages with the yum package manager.

    pkg:

      @@ -384,6 +449,11 @@ be a relative or absolute path. various configuration attributes. Values include ‘installed’, ‘updates’, ‘available’, ‘repos’, or any package specifier.
    +

    Example action from a playbook:

    +
    yum pkg=httpd ensure=latest
    +yum pkg=httpd ensure=removed
    +yum pkg=httpd ensure=installed
    +

    Writing your own modules

    @@ -415,7 +485,7 @@ various configuration attributes. Values include ‘installed’, ̵

    Back to top

    © Copyright 2012 Michael DeHaan.
    - Last updated on Mar 21, 2012.
    + Last updated on Mar 22, 2012.
    Created using Sphinx 1.0.8.

    diff --git a/patterns.html b/patterns.html index fd3f91a8b9..139eb22aa0 100644 --- a/patterns.html +++ b/patterns.html @@ -240,7 +240,7 @@ wildcards:

    Back to top

    © Copyright 2012 Michael DeHaan.
    - Last updated on Mar 21, 2012.
    + Last updated on Mar 22, 2012.
    Created using Sphinx 1.0.8.

    diff --git a/playbooks.html b/playbooks.html index 2c59b79f4d..523cb1c88c 100644 --- a/playbooks.html +++ b/playbooks.html @@ -386,6 +386,7 @@ and allows usage of variables from anywhere in ansible, either denoted with {{ braces_syntax }} and then evaluates them with a Python expression. Don’t panic – it’s actually pretty simple.:

    vars:
    +  favcolor: blue
       is_favcolor_blue: "'$favcolor' == 'blue'"
       is_centos: "'$facter_operatingsystem' == 'CentOS'"
     tasks:
    @@ -621,7 +622,7 @@ Let’s run a playbook using a parallelism level of 10:

    Back to top

    © Copyright 2012 Michael DeHaan.
    - Last updated on Mar 21, 2012.
    + Last updated on Mar 22, 2012.
    Created using Sphinx 1.0.8.

    diff --git a/rst/examples.rst b/rst/examples.rst index ab9c282589..79c8da04f5 100644 --- a/rst/examples.rst +++ b/rst/examples.rst @@ -107,6 +107,19 @@ Currently Ansible only has a module for managing packages with yum. You can ins for other package manages using the command module or contribute a module for other package managers. Stop by the mailing list for info/details. +Users and Groups +```````````````` + +The user module allows easy creation and manipulation of existing user accounts, as well +as removal of user accounts that may exist:: + + ansible all -m user -a "name=foo password=" + + ansible all -m user -a "name=foo state=absent" + +See the :doc:`modules` section for details on all of the available options. + + Deploying From Source Control ````````````````````````````` diff --git a/rst/modules.rst b/rst/modules.rst index 446d9baf4c..3bbd43dd10 100644 --- a/rst/modules.rst +++ b/rst/modules.rst @@ -47,10 +47,6 @@ If you want to run a command through the shell (say you are using '<', '>', '|', etc), you actually want the 'shell' module instead. The 'command' module is much more secure as it's not affected by the user's environment. -Example usage:: - - /sbin/shutdown -t now - The given command will be executed on all selected nodes. It will not be processed through the shell, so variables like "$HOME" and operations like "<", ">", "|", and "&" will not work. As such, all @@ -60,6 +56,10 @@ This module does not support change hooks and returns the return code from the program as well as timing information about how long the command was running for. +Example action from a :doc:`playbook`:: + + command /sbin/shutdown -t now + .. _copy: @@ -80,9 +80,12 @@ module. * Remote absolute path where the file should end up. - This module also returns md5sum information about the resultant file. +Example action from a :doc:`playbook`:: + + copy src=/srv/myfiles/foo.conf dest=/etc/foo.conf owner=foo group=foo mode=0644 + .. _facter: @@ -125,6 +128,12 @@ to the file module are also available when running the `copy` or `template` modu * name of group that should own the file or directory, as would be given to `chgrp` +Example action from a :doc:`playbook`:: + + file dest=/etc/foo.conf owner=foo group=foo mode=0644 + file dest=/some/path owner=foo group=foo state=directory + file dest/path/to/delete state=absent + git ``` @@ -144,6 +153,10 @@ Deploys software (or files) from git checkouts. * What version to check out -- either the git SHA, the literal string ``HEAD``, or a tag name. +Example action from a :doc:`playbook`:: + + git repo=git://foosball.example.org/path/to/repo.git dest=/srv/checkout version=release-0.22 + ohai ```` @@ -181,11 +194,16 @@ Controls services on remote machines. Started/stopped are idempotent actions that will not run commands unless necessary. ``restarted`` will always bounce the service. - *name*: * The name of the service. +Example action from a :doc:`playbook`:: + + service name=httpd state=started + service name=httpd state=stopped + service name=httpd state=restarted + .. _setup: @@ -208,6 +226,16 @@ tell their source. All variables are then bubbled up to the caller. * Any other parameters can be named basically anything, and set a ``key=value`` pair in the JSON file for use in templating. +Example action from a :doc:`playbook`:: + + vars: + ntpserver: 'ntp.example.com' + xyz: 1234 + +Example action from `/usr/bin/ansible`:: + + ansible -m all setup -a "ntpserver=ntp.example.com xyz=1234" + .. _shell: @@ -218,10 +246,6 @@ The shell module takes the command name followed by a list of arguments, space delimited. It is almost exactly like the command module but runs the command through the shell rather than directly. -Example usage:: - - find . | grep *.txt - The given command will be executed on all selected nodes. If you want to execute a command securely and predicably, it may @@ -234,6 +258,10 @@ This module does not support change hooks and returns the return code from the program as well as timing information about how long the command was running for. +Example action from a playbook:: + + shell somescript.sh >> somelog.txt + .. _template: @@ -254,9 +282,54 @@ module. * Location to render the template on the remote server. - This module also returns md5sum information about the resultant file. +Example action from a playbook:: + + template src=/srv/mytemplates/foo.j2 dest=/etc/foo.conf owner=foo group=foo mode=0644 + + +.. _user: + +user +```` + +Creates user accounts, manipulates existing user accounts, and removes user accounts. + +*name*: + +* Name of the user to create, remove, or edit + +*comment*: + +* Optionally sets the description of the user + +*gid*: + +* Optionally sets the primary group GID. The user module will also be able to manipulate this. + +*shell*: + +* Optionally sets the user's shell. + +*createhome*: + +* Whether to create the user's home directory. Takes 'yes', or 'no'. The default is 'yes'. + +*password*: + +* Sets the user's password to this crypted value. Pass in a result from crypt. See the users + example in the github examples directory for what this looks like in a playbook. + +*state*: + +* Defaults to 'present'. When 'absent', the user account will be removed if present. + +Example action from a :doc:`playbook`:: + + user name=mdehaan comment=awesome passwd=awWxVV.JvmdHw createhome=yes + user name=mdehaan state=absent + .. _yum: yum @@ -278,6 +351,13 @@ Will install, upgrade, remove, and list packages with the yum package manager. various configuration attributes. Values include 'installed', 'updates', 'available', 'repos', or any package specifier. +Example action from a :doc:`playbook`:: + + yum pkg=httpd ensure=latest + yum pkg=httpd ensure=removed + yum pkg=httpd ensure=installed + + Writing your own modules ```````````````````````` diff --git a/search.html b/search.html index 23684fe08f..16bd32e354 100644 --- a/search.html +++ b/search.html @@ -177,7 +177,7 @@ s.parentNode.insertBefore(ga, s);

    Back to top

    © Copyright 2012 Michael DeHaan.
    - Last updated on Mar 21, 2012.
    + Last updated on Mar 22, 2012.
    Created using Sphinx 1.0.8.

    diff --git a/searchindex.js b/searchindex.js index 5bdc2f31f6..f3aaed6eb7 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({objects:{},terms:{all:[0,1,2,3,4,5,6,7,8,9],concept:[8,9],forget:6,myapp:9,perl:9,selinux:6,consum:4,pluggabl:[2,4],invent:6,prefix:[3,6,9],code:[0,2,3,4,5,6,8,9],sleep:6,higher:6,abil:4,follow:[0,4,3,6,7,8,9],alt:2,scp:9,consider:8,content:[2,5,4,3,6],decid:[4,5,9],middl:[],depend:[4,5,6],wish:[8,0,4,6,1],sensit:[2,6],graph:4,elsewher:9,specif:[7,8,6,9],cheat:4,program:[2,1,3,4,5,6,9],decis:6,skip:6,exit:[8,5],unit:5,blindingli:2,spec:6,introduc:2,emploi:1,sourc:[0,1,2,3,4,5,6,8,9],everi:[0,6,1,9],string:[5,3],ugli:6,fals:[6,1],account:[0,6],signfic:5,failur:[8,4,5],veri:[2,4,3,6,8,9],affect:[5,3,6],implicitli:4,parameter:6,brows:5,relev:5,condition:6,common:[2,5,6,1],magic:[4,5,6],max_client:6,level:[6,1],did:[8,5,6],forth:6,id_rsa:[0,9],list:[0,1,2,3,4,5,6,7,8,9,10],"try":[8,4,5,6],item:[8,1],sane:4,shlex:5,team:4,dotnet:1,saltstack:[],spent:4,servic:[2,3,5,6,7,9],playbook:[0,1,2,3,4,5,6,7,8,9,10],pleas:[8,0,4],x86_64:8,alic:6,trend:3,natur:6,seper:[4,6],direct:[4,6],straighten:4,chef:[2,4],second:[6,9],design:[2,4,9,7],pass:[0,3,5,6,8,9],download:[0,2],further:[6,1],submit:[2,4],port:[4,9],folk:5,even:[8,7,4,6,9],what:[0,1,2,3,4,5,6,8],anywher:6,sub:2,compar:4,favcolor:[8,5,6,9],fine:[4,5],section:[2,3,6,7],async_statu:9,current:[4,5,9],delet:[3,9],abbrevi:1,version:[0,3,6,9],suspect:4,"new":[0,4],net:[0,1,3,4,5,7,8,9,10],ever:[2,5],method:8,told:6,impact:4,hasn:4,full:6,hash:[8,5,1],facter_hostnam:[6,9],absolut:[3,9],eckersberg:[4,1],gener:[8,4,5],never:[8,4,5],privat:6,here:[0,2,5,6,8,9],shouldn:[0,4,6],let:[0,1,3,5,6,8,9],argv:5,address:[8,7,4,3],path:[5,3,6,9],along:[5,6],args_fil:5,modifi:5,sinc:[8,9],valu:[2,1,3,5,6,8,9],wait:6,box:[2,3],great:[2,4,5,6],pretti:[8,0,4,6],ahead:6,precursor:2,likin:4,fixm:[],adopt:4,host:[0,2,3,4,5,6,7,8,9],prior:[3,6],amount:8,pick:[4,9],action:[2,8,3,6],extrem:0,implement:[8,5],mix:[7,6],explain:[8,5],commonli:[9,1],ourselv:6,control:[2,3,5,6,8,9],somethingels:6,via:[0,8,2],regardless:[2,4,6,1],although:5,extra:4,apach:[4,6,9],modul:[0,2,3,4,5,6,8,9,10],prefer:[0,5],ask:[0,4,2],unix:4,"boolean":1,cobblerd:8,instal:[0,2,3,4,5,6,9],total:6,unnecessari:3,cloud:4,highli:5,kei:[0,1,3,5,6,8],httpd:[7,3,6,9],from:[0,1,2,3,4,5,6,8,9],describ:6,would:[0,3,5,6,8,9],commun:[8,4],is_cento:6,impor:9,doubl:9,visit:2,two:[7,8,6],noarch:0,few:6,live:0,handler:[6,9],call:[8,3,6,1],usr:[5,8,3,6,9],typo:5,recommend:5,msg:[8,5],somevar:6,basi:6,type:[8,2,4,5],tell:[9,0,3,6,7],more:[0,2,4,3,6,7,9],sort:4,flat:6,desir:[5,6],idempot:[2,3,4,5,6,9],src:[2,8,3,6,9],moduledev:[],notif:4,about:[0,1,2,3,4,5,6,9],notic:4,chgrp:3,flag:[],train:4,agent:[0,9],relai:6,particular:[2,3,6,7,8,9],actual:[5,4,3,6],compani:4,easiest:[2,6],starter:[5,6],must:[5,8,3,6],placehold:6,none:8,join:[],ibm:2,module_arg:8,alia:7,setup:[0,8,3,9,2],work:[0,2,4,3,6,7,8,9],knows_oop:1,dev:4,cat:0,other:[0,1,2,3,4,5,6,8,9],remain:2,minimum:[5,6],whatev:5,erb:4,learn:[0,1,2,4,5,6,7,10],under:6,purpos:[7,3],root:[0,6,2],proof:5,employe:1,os_default:6,want:[0,1,3,4,5,6,8,9],tar:0,give:1,process:[2,4,3,6,9],lock:6,chip:2,sudo:[0,6],share:[0,8,5,6,2],templat:[0,2,4,3,6,8,9],high:[5,9],critic:2,tag:[0,3,2],surround:9,explor:[0,8],onlin:1,occur:[],contribut:[0,9,2],alwai:[5,4,3,6,9],cours:[4,6],multipl:[8,7,4,6,9],newlin:[],lame:1,rather:[4,3],anoth:[4,6,1],ping:[0,8,3,2],stone:5,uptim:8,write:[2,1,3,4,5,6,9],how:[2,1,3,4,5,6,7,8,9],anyon:4,hop:4,subdirectori:3,instead:[4,3,6],somevalu:[5,6],config:[2,8,6],stock:[],map:6,express:[2,8,5,6,1],resourc:[2,4,3,6],referenc:[7,6],max:9,clone:[0,5],after:[4,6,9],lab:[2,4],befor:[4,3,6,9],ohai_:[3,6],tier:6,end:[4,3,6],args_data:5,data:[2,1,3,4,5,6,8],parallel:[2,4,6,9],man:[2,10],chown:3,handl:[5,4,3,6],"short":[2,4],orchestr:[2,4,6],practic:[4,3,6,1],tutori:[2,5],read:[0,1,2,5,8,9],secur:[4,3],explicit:3,element:8,issu:[0,4,2],inform:[8,3],mango:1,combin:1,allow:[8,4,5,6,9],exclus:6,order:[2,4,6],talk:[0,6,7],oper:[2,3,6,9],poor:5,help:[0,1,2,3,4,5,6,7,8,9,10],portion:7,xmpp:4,over:[8,2,4,9,7],upstream:0,orang:1,becaus:[1,4,5,6,8,9],elit:1,rpmbuild:0,comma:[],nbsp:2,left:[],hierarchi:4,fff:[],suffer:4,mainli:4,paramet:[5,3,6],streamlin:6,facter_:[3,6],jid:9,overlord:0,group:[0,1,2,3,4,5,6,7,8,9,10],cli:8,img:2,minim:[0,5],taboot:4,better:3,yaml:[2,4,6,1],pend:6,rapidli:8,infrastructur:[7,0,4,6,2],curli:9,intl:2,mail:[0,1,3,4,5,6,7,8,9,10],job_statu:[],main:[8,5,6],might:[8,5,6],easier:[4,5,1],wouldn:[8,4],them:[1,4,5,6,7,9],good:[8,4,5,6],"return":[8,2,5,4,3],greater:7,thei:[3,4,5,6,7,8,9],python:[0,1,2,3,4,5,6,8,9],auto:[8,5],devop:2,safe:[0,6],dai:4,number:3,"break":6,framework:[8,2,4],jinja2:[0,4,3,6,9],terminolog:8,half:4,aka:6,now:[0,3,4,5,6,7,8],discuss:4,nor:3,strive:5,choic:2,term:9,vidal:4,name:[2,1,3,5,6,7,8,9],anyth:[8,5,4,3],edit:[0,8],perspect:8,didn:4,instruct:[0,4],bonu:8,separ:6,easili:[9,0,8,6,2],achiev:5,exampl:[0,1,2,3,4,5,6,7,8,9,10],mode:[4,3,6,9],timeout:6,each:[1,3,4,5,6,8],debug:1,found:[8,5,6],complet:[4,6,1],spend:4,mean:[5,4,3,6,1],everyth:[],harm:[],mental:4,bump:0,michael:2,laserllama:2,hard:4,yeah:[],realli:[5,4,3,6,1],contrib:5,backport:0,expect:[8,6],our:1,happen:[8,4],orient:6,out:[2,3,4,5,6,8,9],variabl:[2,4,3,6,8,9],safeti:7,network:[],space:[2,3],infrar:[],reboot:[3,6,9],bubbl:[3,6],ansible_librari:[],adapt:8,rel:3,internet:2,print:[8,5],got:4,merg:4,ref:[],correct:[2,4,6,1],red:[8,2,4,5,9],ksmeta:8,qualifi:3,insid:6,advanc:[8,4,6],ntp:9,unpars:5,differ:[0,2,4,3,6,8,9],pub:9,standard:5,multiprocess:[0,4],small:[4,6,1],reason:[8,4,5,6],base:[2,4,6],theori:6,dictionari:[8,5,6,1],nice:6,put:[0,3,9],org:0,refer:[8,9],bash:[0,4,5,9],care:[3,9],reusabl:5,pyyaml:0,sytem:4,indent:1,recogn:[6,9],launch:6,could:[8,4,5,6],traceback:5,synchron:6,fqdn:[],keep:[0,8,5,6],thing:[0,1,2,4,5,6,7],rais:[5,6],place:2,isn:[2,4,5],adrian:4,retain:4,think:[4,5],frequent:[8,2,4,6],first:[0,2,4,3,6,7,9],origin:2,softwar:[8,2,4,3,9],rang:2,notifi:[4,5,6,9],render:3,feel:1,onc:[5,4,3,6],qualiti:5,scene:3,yourself:6,restrict:5,mai:[0,1,3,4,5,6,8],unlik:[4,6],alreadi:[8,0,4,5,6],van_halen_port:6,fast:2,owner:[3,9],massiv:2,open:[4,6],primari:8,simultan:9,avail:[0,1,3,4,5,6,8,9,10],given:[4,3,9],unlink:3,srv:[8,6,9],convent:[2,8,5],script:[8,2,4,5,9],associ:1,top:[4,5,6],perfectli:0,mkdir:9,system:[0,2,3,4,5,6,7,8,9],construct:[8,4],ansible_host:0,inventori:[0,2,3,6,7,8],appl:1,master:8,too:[2,1,4,5,6,8,9],puppet:[8,2,4],similarli:8,gather:4,termin:9,choos:[3,6],john:[4,1],"final":[],rpath:2,iptabl:[],shell:[2,5,8,3,9],statement:6,especi:[4,6],tool:[2,4,6,8,9,10],copi:[2,8,3,9],leav:[5,6],took:4,specifi:[0,1,3,4,5,6,9],retyp:0,github:[0,1,2,5,6,8],pars:[4,5],somewhat:8,fall:6,rst:[],kept:[4,6],exactli:3,than:[0,1,2,3,4,5,6,9],cmdb:8,wide:4,liter:3,silli:[],target:[2,6,7],keyword:[4,6],provid:[8,1],remov:[3,6,9],dive:6,tree:[8,5],richer:4,structur:[],banana:[],project:[0,4,6,1,2],inquir:5,reus:[2,6],architect:2,store:8,str:5,were:[4,6,9],minut:[4,9],uses_cv:1,recheck:5,provis:4,pre:0,sai:[0,4,3,6,9],bootstrap:[2,4],nicer:6,runner:8,favorit:[2,6],sometim:6,mind:[4,5],argument:[3,5,6,7,8,9],seth:4,dash:1,packag:[0,2,3,4,5,6,9],aforement:7,async_wrapp:5,have:[0,1,2,3,4,5,6,7,8,9],tabl:[],need:[0,1,3,4,5,6,7,8],seem:4,predic:3,seek:3,paramiko:0,sat:4,imagin:6,date:5,squar:[],zero:5,self:5,note:[0,3,5,6,7,8,9],centos6:8,ideal:[2,4],contact:[8,0,4,3],build:[8,0,4,5],indic:6,environ:3,datacent:6,brace:9,hook:3,channel:[0,1,3,4,5,7,8,9,10],blue:6,begin:[9,1],sure:[6,9],unless:[3,6],distribut:[0,4,2],deploy:[9,0,4,6,2],track:[0,6,9],who:8,reach:2,deleg:4,discov:6,most:[4,3,6,1],plai:[3,6],regular:6,plan:4,deploi:[2,4,3,6,9],bsd:[0,4],panic:6,why:2,strawberri:1,don:[3,4,5,6,7,9],filesystem:[3,6],doc:[0,2],later:[5,6,9],cover:[8,4,9],doe:[2,3,4,5,6,7,8,9],pipe:9,meanwhil:4,which:[0,1,2,6,7,8,9],declar:6,snapshot:3,yum:[2,5,3,6,9],clean:4,pattern:[8,0,7,6,2],built:[8,0,4,9,10],latest:[0,3,6,9],someth:[8,2,4,5,6],awesom:[2,6],show:9,cobbler_external_inventori:8,text:[2,4],sent:5,aggregr:5,page:[0,1,2,4,9,10],syntax:[2,4,6,1,9],connect:6,bring:[4,6],mpd_ring:[],raleigh:[2,9],particularli:6,pkg:[3,6,9],permiss:[0,9],hack:[0,5,2],radic:2,identifi:4,simplejson:[0,5],trivial:[0,8,3,2],anywai:7,varnam:6,xml:1,access:[0,9],onli:[3,4,5,6,8,9],explicitli:[3,6],locat:[3,6],execut:[2,3,4,5,6,8,9],tire:4,transact:6,configur:[0,1,2,4,3,6,7,8,9,10],solut:4,figur:4,somefil:6,should:[8,5,4,3,1],"public":6,won:[6,9],suppos:[5,6],congratul:0,"5px":[],ldap:8,local:3,yml:6,custom:[4,6],move:[3,6],long_running_oper:9,nearli:[3,6,1],variou:[4,3,6],get:[0,1,2,3,4,5,6,9],familiar:8,financ:2,stop:[0,1,3,4,5,6,7,8,9,10],kind:[4,5],mission:2,repo:[5,3,9],ssl:4,obviou:[2,5],made:[5,4,3],ssh:[8,0,4,9,2],increas:6,grep:3,requir:[0,2,3,4,5,6,8],uvh:0,mdehaan:9,bar:[7,8,6],releas:[0,4,2],dollar_sign_syntax:6,multi:[2,4,6],patch:4,gif:2,sha:3,bad:5,stuff:9,integr:[2,8,3],contain:[5,4,3,6],usabl:6,through:[0,3,2],where:[0,2,3,4,5,8],valid:5,wrote:5,view:[2,10],respond:6,set:[0,2,3,4,5,6],dump:5,hierachi:4,arbitari:1,see:[0,1,2,3,4,5,6,7,8,9,10],sec:6,result:[5,8,3,6],arg:5,fail:[8,4,5,6],themselv:6,simpl:[2,1,4,6,8,9],setsebool:6,best:[5,4,3,6],subject:6,asynchron:[2,6],statu:[5,6,9],still:[8,0,4],extend:[2,4,6],expert:4,redirect:9,down:[8,6],databas:[8,6],review:3,discoveri:3,restart:[7,4,3,6,9],state:[3,4,5,6,7,9],restructur:6,simplest:5,without:[4,5],"import":[2,8,5,6],experi:4,approach:6,across:4,close:5,attribut:3,altern:[6,9],solo:4,manpag:[],style:5,extens:[2,4],job:[9,1],entir:[4,5,6],aserv:0,homebrew:0,come:5,timmi:6,popul:8,both:[4,5,9],toward:6,delimit:3,admin:8,goal:[6,9],howev:[7,4,5,9],equal:[4,5,9],against:[2,4,6,7],etc:[0,2,4,3,6,7,8,9],instanc:6,monitor:8,logic:6,mani:[8,5,6,9],com:[0,2,5,6,7,8],comment:5,among:4,assur:6,simpli:[3,6],author:2,technic:[8,3],can:[0,1,2,3,4,5,6,7,8,9],color:6,overview:1,format:[2,1,4,3,6,7,9],inspir:[2,4],chmod:[5,8,3,6],height:2,distil:4,fashion:4,colon:6,shutdown:[3,6],suppli:3,written:[2,8,5,6,9],poll:[2,6,9],assum:[8,6],quit:5,evalu:6,coupl:4,platform:[4,6],multiplay:2,decent:5,rebuild:[],due:[4,5],been:[8,2,4],json:[2,1,3,4,5,6,8],much:[2,4,3,6,1],besid:5,treat:[4,5],interest:8,basic:[0,1,2,3,4,5,6,7,8,10],futur:[0,5],addit:[2,5,8,3,6],tini:6,quickli:[2,9],capistrano:[2,4],fire:[2,4,6],nobodi:5,imag:2,notori:4,rubi:[1,3,4,5,6,9],convert:5,question:[0,1,2,3,4,5,6,7,8,9,10],ani:[2,3,4,5,6,8,9],upgrad:[3,9],likes_emac:1,understand:5,togeth:[],func:[2,4],turn:[5,6],webapp:[4,9],educ:5,those:[8,4,6,9],"case":[4,5],authorized_kei:0,exception:4,look:[7,5,6,9],env:0,replac:[],hoc:[2,4,3,6,9],straight:9,md5sum:3,permit:[],batch:4,vars_fil:6,trick:[2,6],defin:[8,6],"while":[4,6],overrid:8,smart:9,abov:[8,5,6,9],error:[4,5,6],cfengin:4,atlanta:[8,6,9],pack:8,dehaan:2,layer:[8,4],motd:[8,6,9],file:[0,1,2,3,5,6,7,8,9],find:[8,5,4,3,6],stdout:8,almost:[4,3],technolog:2,readm:5,site:[4,10],jpg:[],memcach:6,facter_operatingsystem:6,believ:4,dag:4,cento:6,ohai_foo:9,conf:[8,6,9],module_nam:[7,8],somekei:5,michaeldehaan:[],ship:3,sever:[4,6,1],subscrib:2,http_port:6,develop:[0,1,2,3,4,5,6],welcom:[2,8],datetim:5,perform:[4,6],border:[],make:[0,2,3,4,5,6,8,9],ohai:[2,4,3,6,9],operatingsystem:6,cross:4,same:[0,1,6,7,8,9],member:1,food:1,complex:[2,4,6],pad:[],split:5,document:[1,4,5,6,8,9],ansibl:[0,1,2,3,4,5,6,7,8,9,10],difficult:[0,4],http:[2,8,3],hostnam:[8,6],charact:1,again:[4,5,6],href:[],nest:[5,3,6],painless:2,rail:4,effect:[],boxsubscrib:2,driven:[2,8],remot:[9,0,3,6,2],assign:[2,8,6],fruit:1,interventori:8,ownership:9,improv:0,extern:[2,8,6],engin:[],php:9,distutil:0,typic:[4,9],tune:[],recent:4,audit:6,dark:8,lower:[4,5],appropri:[8,4,9],off:[2,4,6],scenario:8,mention:6,setenforc:6,compos:6,well:[0,4,3,6,8,9],hypothet:[],non:[5,6],tho:3,host4:8,client:2,command:[0,2,3,4,5,6,7,8,9,10],expens:8,thi:[0,1,2,3,4,5,6,7,8,9],english:3,programm:[8,4],model:[2,6],guidelin:5,dereferenc:[],revis:0,usual:9,explan:5,protocol:3,prepar:5,just:[0,1,2,4,5,6,8,9],less:[0,4,2],photo:[],mgmt:8,rest:10,risk:6,align:[],kill:[],irc:[0,1,3,4,5,7,8,9,10],human:[6,1],heavili:4,shorthand:[2,5,6],skill:1,braces_syntax:6,yet:[0,8,3],languag:[0,1,2,3,4,5,6,7,8,10],taken:[4,6],web:[8,4,6,10,9],versu:2,start:[0,1,2,4,3,6,8,9],directli:[5,8,3,6,9],easi:[0,2,4,3,6,7],also:[0,1,2,3,4,5,6,7,8,9,10],trigger:[4,3,6],autom:4,point:[0,8,6],except:5,littl:[8,2,4],add:[8,0,4,9],cleanup:6,host3:8,blob:8,host1:8,appli:[4,6],els:[2,6],save:[5,6],hat:[2,4],app:4,kick:[4,6,9],take:[5,4,3,6],bin:[0,3,5,6,8,9],applic:[8,4,6],march:5,around:[0,4],xmlrpc:8,quirk:1,dest:[8,3,6,9],wai:[8,5,4,3,6],piec:8,judgement:3,game:2,lightweight:8,know:[1,3,4,5,7,8],background:[2,9],guid:[2,5,3,6],world:[0,4],bit:[4,3,6],password:[0,6],recurs:[3,9],daemon:[2,4],motorola:2,like:[0,1,3,4,5,6,7,8,9],success:[5,3],header:7,signal:4,arbitrari:[4,6],manual:[4,6],integ:3,divers:2,remind:[5,6],api:[8,2,5,4,3],runtim:6,updat:[3,9],cellspac:[],popular:2,async:[4,6],external_var:6,manag:[0,1,2,3,4,5,6,7,8,9,10],ubuntu:0,love:0,shed:4,drop:5,often:[8,4],deal:5,simplifi:9,webserv:[7,8,3,6,9],linux:4,some:[0,2,3,4,5,6,8],back:[0,4,6],dead:2,clojur:5,born:4,intern:5,"export":0,host2:8,home:3,server:[2,4,3,6,9],librari:[5,3,1],absent:[3,9],tmp:[8,9],txt:[3,9],forcibl:[],lead:4,bottom:6,rpm:[0,5,2],avoid:[0,4,3,9],though:[2,3,4,5,6,8],definit:6,thank:4,legal:[5,6],when:[0,3,4,5,6,8,9],tracker:[0,2],larg:4,select:[2,3,6,7],condit:[2,6],foo:[7,8,6,9],complic:[2,4],either:[8,4,3,6],machin:[0,3,4,5,6,9],core:[2,4,5,9],encourag:4,yamllint:1,run:[0,1,2,3,4,5,6,8,9],power:[8,0,4,6,2],slight:8,importerror:5,word:8,lose:9,usag:[5,3,6,9],symlink:3,interfac:4,web2:8,vhost:6,step:[2,4,3,6],web1:8,promot:4,repositori:[],output:[8,4,5,6],meantim:4,major:8,"super":2,between:[4,6],soon:[],simpler:[4,9],comparison:[2,4],sshd:2,only_if:6,central:4,othervar:[],acm:9,simul:6,wolf:8,messag:[8,4,5],done:[0,4,6,7],h3d850bdf:[],industri:2,groups_logo_sm:2,disabl:6,block:6,match:[5,6],ntp_server:9,own:[8,2,4,3,6],effici:[4,6],logo:2,pythonpath:[],bounc:[3,6],within:[7,4,3,6],contriv:[],sneaker:[],automat:[5,8,3],three:[7,3],noth:[6,1],pair:[5,3,1],right:[],empti:8,multinod:4,ensur:[4,6,9],chang:[0,2,3,5,6,9],pitfal:[2,5],next:6,bserver:0,your:[0,2,3,4,5,6,7,8,9],necessari:[3,9],per:8,stare:5,behind:[4,3],git:[0,2,3,4,5,9],fabric:[2,4],real:0,aren:4,transfer:[2,5,9],support:[2,4,3,6,8,9],rotat:6,"long":[2,4,3,6,8,9],happi:[0,2],verbos:[5,3],width:2,singl:[8,4,6],pattern_goes_her:7,wordpress:6,includ:[2,3,5,6,8,9],lot:[2,5,9],suit:[4,6],"var":[2,6],is_favcolor_blu:6,individu:7,ntpserver:8,host5:8,fork:[8,4,6,9],head:[3,9],form:[2,5,6,1],enough:[7,4,9],forc:0,criteria:6,continu:5,contract:8,shorter:5,link:5,option:[0,3,4,5,8,9,10],line:[0,1,2,3,4,5,6,7,8,9,10],idea:[0,1,2,3,4,5,6,7,8,9,10],"true":[5,6,1],bug:0,freenod:[0,1,2,3,4,5,7,8,9,10],info:[2,8,9],pull:[8,4],"throw":4,immedi:3,input:[2,5],tab:6,possibl:[7,8,5,6,9],whether:[8,4,5],checkout:[0,5,4,3,2],caller:3,maximum:6,ansible_library_path:5,until:[0,5,6],planet:2,record:1,below:[0,8,3,6],stacktrac:5,limit:[2,6,9],rerun:6,otherwis:3,problem:[4,1],similar:[8,3,6,9],email:2,facter:[2,4,3,6,9],curv:[2,4],featur:[7,0,4,6,2],tasti:1,quot:[6,9],creat:[0,2,4,3,8,9],certain:[4,6],lint:1,parser:5,doesn:[2,8,6,1],repres:[8,6,1],strongli:4,cobbler:[8,2,4],chat:[0,1,2,3,4,5,7,8,9,10],heritag:4,bob:6,exist:[2,8,3,6],check:[4,3,9],probabl:[0,4,5,6],echo:[0,8,6,9],denot:[7,6],coder:4,task:[2,4,6,9],googl:[0,1,2,3,4,5,6,7,8,9,10],datastructur:8,user:[8,2,4,3,6],dbserver:[7,6],excel:[2,4],detail:[2,8,9],event:[5,4,3,6],"default":[2,4,3,6,7,9],bracket:7,role:6,transport:[2,4],normal:8,varieti:[4,5],test:[0,2,3,4,5,8],tie:8,you:[0,1,2,3,4,5,6,7,8,9],architectur:[2,4],node:[0,2,3,4,5,6,8,9],contend:4,sysadmin:4,claus:6,intend:5,wildcard:7,fulli:[0,3],sequenc:2,"class":[2,8,6],asciidoc:[],mcollect:[],push:[4,6],scale:[2,4],intent:[],log:[5,6],consid:[5,6],sbin:[3,6,9],deferenc:[],gap:4,distro:8,debian:[0,6],"60k":[2,4],stai:6,sphinx:[],faster:6,amp:[0,8],directori:[5,3,6,1,9],accept:5,reliabl:4,descript:6,rule:[6,9],itself:8,emerg:2,ignor:5,came:8,potenti:[],time:[0,1,2,3,4,5,6,7,8,9],far:[2,1],profil:8,hello:0,enterprisei:8},objtypes:{},titles:["Downloads & Getting Started","YAML Syntax","Introducing Ansible","Ansible Modules","Frequently Asked Questions","Module Development Guide","Playbooks","The Inventory File, Patterns, and Groups","API & Integrations","Command Line Examples","Man Pages"],objnames:{},filenames:["gettingstarted","YAMLSyntax","index","modules","faq","moduledev","playbooks","patterns","api","examples","man"]}) \ No newline at end of file +Search.setIndex({objects:{},terms:{all:[0,1,2,3,4,5,6,7,8,9],concept:[8,9],forget:6,myapp:9,perl:9,selinux:6,consum:4,pluggabl:[2,4],invent:6,squar:[],prefix:[3,6,9],code:[0,2,3,4,5,6,8,9],sleep:6,higher:6,abil:4,follow:[0,4,3,6,7,8,9],alt:2,scp:9,consider:8,content:[2,5,4,3,6],decid:[4,5,9],middl:[],depend:[4,5,6],wish:[8,0,4,6,1],sensit:[2,6],graph:4,elsewher:9,specif:[7,8,6,9],cheat:4,program:[2,1,3,4,5,6,9],decis:6,skip:6,exit:[8,5],unit:5,blindingli:2,spec:6,introduc:2,emploi:1,sourc:[0,1,2,3,4,5,6,8,9],everi:[0,6,1,9],string:[5,3],ugli:6,fals:[6,1],account:[0,3,6,9],signfic:5,failur:[8,4,5],veri:[2,4,3,6,8,9],affect:[5,3,6],implicitli:4,parameter:6,brows:5,relev:5,condition:6,common:[2,5,6,1],magic:[4,5,6],max_client:6,level:[6,1],did:[8,5,6],forth:6,id_rsa:[0,9],list:[0,1,2,3,4,5,6,7,8,9,10],"try":[8,4,5,6],item:[8,1],sane:4,shlex:5,team:4,dotnet:1,saltstack:[],spent:4,servic:[2,3,5,6,7,9],playbook:[0,1,2,3,4,5,6,7,8,9,10],pleas:[8,0,4],x86_64:8,work:[0,2,4,3,6,7,8,9],awwxvv:3,trend:3,natur:6,seper:[4,6],direct:[4,6],straighten:4,chef:[2,4],second:[6,9],design:[2,4,9,7],pass:[0,3,5,6,8,9],download:[0,2],further:[6,1],submit:[2,4],port:[4,9],folk:5,even:[8,7,4,6,9],what:[0,1,2,3,4,5,6,8],sub:2,compar:4,favcolor:[8,5,6,9],fine:[4,5],section:[9,2,3,6,7],abl:3,async_statu:9,current:[4,5,9],delet:[3,9],abbrevi:1,version:[0,3,6,9],suspect:4,"new":[0,4],net:[0,1,3,4,5,7,8,9,10],ever:[2,5],method:8,told:6,impact:4,hasn:4,full:6,hash:[8,5,1],facter_hostnam:[6,9],eckersberg:[4,1],gener:[8,4,5],never:[8,4,5],privat:6,here:[0,2,5,6,8,9],shouldn:[0,4,6],let:[0,1,3,5,6,8,9],argv:5,address:[8,7,4,3],right:[],path:[5,3,6,9],along:[5,6],args_fil:5,modifi:5,sinc:[8,9],valu:[2,1,3,5,6,8,9],wait:6,box:[2,3],great:[2,4,5,6],pretti:[8,0,4,6],ahead:6,precursor:2,likin:4,fixm:[],adopt:4,prior:[3,6],amount:8,pick:[4,9],action:[2,8,3,6],extrem:0,implement:[8,5],mix:[7,6],explain:[8,5],commonli:[9,1],ourselv:6,control:[2,3,5,6,8,9],somethingels:6,via:[0,8,2],regardless:[2,4,6,1],although:5,extra:4,apach:[4,6,9],modul:[0,2,3,4,5,6,8,9,10],prefer:[0,5],ask:[0,4,2],unix:4,"boolean":1,cobblerd:8,instal:[0,2,3,4,5,6,9],total:6,unnecessari:3,cloud:4,highli:5,kei:[0,1,3,5,6,8],httpd:[7,3,6,9],from:[0,1,2,3,4,5,6,8,9],describ:6,would:[0,3,5,6,8,9],commun:[8,4],is_cento:6,somelog:3,doubl:9,visit:2,two:[7,8,6],noarch:0,few:6,live:0,handler:[6,9],call:[8,3,6,1],usr:[5,8,3,6,9],typo:5,recommend:5,msg:[8,5],somevar:6,basi:6,type:[8,2,4,5],tell:[9,0,3,6,7],more:[0,2,4,3,6,7,9],sort:4,flat:6,desir:[5,6],idempot:[2,3,4,5,6,9],src:[2,8,3,6,9],moduledev:[],notif:4,stone:5,notic:4,chgrp:3,flag:[],train:4,agent:[0,9],relai:6,particular:[2,3,6,7,8,9],actual:[5,4,3,6],compani:4,easiest:[2,6],starter:[5,6],must:[5,8,3,6],placehold:6,none:8,join:[],ibm:2,necessari:[3,9],module_arg:8,alia:7,setup:[0,8,3,9,2],alic:6,knows_oop:1,dev:4,cat:0,other:[0,1,2,3,4,5,6,8,9],remain:2,minimum:[5,6],whatev:5,erb:4,learn:[0,1,2,4,5,6,7,10],under:6,purpos:[7,3],root:[0,6,2],proof:5,employe:1,os_default:6,congratul:0,want:[0,1,3,4,5,6,8,9],tar:0,give:1,process:[2,4,3,6,9],lock:6,chip:2,sudo:[0,6],share:[0,8,5,6,2],templat:[0,2,4,3,6,8,9],high:[5,9],critic:2,tag:[0,3,2],surround:9,explor:[0,8],onlin:1,occur:[],contribut:[0,9,2],alwai:[5,4,3,6,9],cours:[4,6],multipl:[8,7,4,6,9],newlin:[],lame:1,rather:[4,3],anoth:[4,6,1],ping:[0,8,3,2],uptim:8,write:[2,1,3,4,5,6,9],how:[2,1,3,4,5,6,7,8,9],anyon:4,hop:4,subdirectori:3,instead:[4,3,6],somevalu:[5,6],config:[2,8,6],stock:[],map:6,express:[2,8,5,6,1],resourc:[2,4,3,6],referenc:[7,6],max:9,clone:[0,5],after:[4,6,9],lab:[2,4],befor:[4,3,6,9],ohai_:[3,6],tier:6,end:[4,3,6],args_data:5,data:[2,1,3,4,5,6,8],parallel:[2,4,6,9],man:[2,10],chown:3,handl:[5,4,3,6],"short":[2,4],orchestr:[2,4,6],practic:[4,3,6,1],read:[0,1,2,5,8,9],secur:[4,3],explicit:3,element:8,issu:[0,4,2],inform:[8,3],mango:1,combin:1,allow:[8,4,5,6,9],exclus:6,order:[2,4,6],talk:[0,6,7],oper:[2,3,6,9],creation:9,help:[0,1,2,3,4,5,6,7,8,9,10],portion:7,xmpp:4,over:[8,2,4,9,7],upstream:0,orang:1,becaus:[1,4,5,6,8,9],elit:1,rpmbuild:0,comma:[],nbsp:2,left:[],hierarchi:4,fff:[],suffer:4,mainli:4,myfil:3,paramet:[5,3,6],streamlin:6,facter_:[3,6],jid:9,overlord:0,group:[0,1,2,3,4,5,6,7,8,9,10],cli:8,img:2,minim:[0,5],taboot:4,better:3,yaml:[2,4,6,1],pend:6,rapidli:8,infrastructur:[7,0,4,6,2],curli:9,intl:2,bin:[0,3,5,6,8,9],mail:[0,1,3,4,5,6,7,8,9,10],job_statu:[],main:[8,5,6],might:[8,5,6],easier:[4,5,1],wouldn:[8,4],them:[1,4,5,6,7,9],good:[8,4,5,6],"return":[8,2,5,4,3],greater:7,thei:[3,4,5,6,7,8,9],python:[0,1,2,3,4,5,6,8,9],auto:[8,5],devop:2,safe:[0,6],dai:4,number:3,"break":6,framework:[8,2,4],jinja2:[0,4,3,6,9],terminolog:8,half:4,aka:6,now:[0,3,4,5,6,7,8],discuss:4,nor:3,strive:5,choic:2,term:9,vidal:4,name:[2,1,3,5,6,7,8,9],anyth:[8,5,4,3],edit:[0,8,3],perspect:8,drop:5,instruct:[0,4],bonu:8,separ:6,easili:[9,0,8,6,2],achiev:5,exampl:[0,1,2,3,4,5,6,7,8,9,10],mode:[4,3,6,9],timeout:6,each:[1,3,4,5,6,8],debug:1,found:[8,5,6],complet:[4,6,1],spend:4,mean:[5,4,3,6,1],everyth:[],harm:[],mental:4,bump:0,michael:2,laserllama:2,hard:4,yeah:[],realli:[5,4,3,6,1],contrib:5,backport:0,expect:[8,6],our:1,happen:[8,4],orient:6,out:[2,3,4,5,6,8,9],variabl:[2,4,3,6,8,9],safeti:7,network:[],space:[2,3],infrar:[],access:[0,9],reboot:[3,6,9],bubbl:[3,6],ansible_librari:[],adapt:8,rel:3,internet:2,print:[8,5],got:4,ref:[],correct:[2,4,6,1],red:[8,2,4,5,9],ksmeta:8,qualifi:3,insid:6,advanc:[8,4,6],ntp:[3,9],manipul:[3,9],differ:[0,2,4,3,6,8,9],pub:9,standard:5,multiprocess:[0,4],small:[4,6,1],reason:[8,4,5,6],base:[2,4,6],theori:6,dictionari:[8,5,6,1],nice:6,put:[0,3,9],org:[0,3],bash:[0,4,5,9],care:[3,9],reusabl:5,pyyaml:0,sytem:4,indent:1,recogn:[6,9],launch:6,argument:[3,5,6,7,8,9],could:[8,4,5,6],traceback:5,synchron:6,fqdn:[],keep:[0,8,5,6],thing:[0,1,2,4,5,6,7],rais:[5,6],yum:[2,5,3,6,9],isn:[2,4,5],adrian:4,retain:4,think:[4,5],frequent:[8,2,4,6],first:[0,2,4,3,6,7,9],origin:2,softwar:[8,2,4,3,9],rang:2,notifi:[4,5,6,9],render:3,feel:1,onc:[5,4,3,6],qualiti:5,scene:3,yourself:6,restrict:5,mai:[0,1,3,4,5,6,8,9],unlik:[4,6],alreadi:[8,0,4,5,6],van_halen_port:6,fast:2,owner:[3,9],massiv:2,open:[4,6],primari:[8,3],simultan:9,avail:[0,1,3,4,5,6,8,9,10],given:[4,3,9],unlink:3,srv:[8,3,6,9],convent:[2,8,5],script:[8,2,4,5,9],associ:1,top:[4,5,6],perfectli:0,mkdir:9,system:[0,2,3,4,5,6,7,8,9],construct:[8,4],ansible_host:0,inventori:[0,2,3,6,7,8],pattern_goes_her:7,master:8,too:[2,1,4,5,6,8,9],puppet:[8,2,4],similarli:8,gather:4,termin:9,choos:[3,6],john:[4,1],"final":[],rpath:2,iptabl:[],shell:[2,5,8,3,9],statement:6,especi:[4,6],tool:[2,4,6,8,9,10],copi:[2,8,3,9],took:4,specifi:[0,1,3,4,5,6,9],retyp:0,github:[0,1,2,3,5,6,8],pars:[4,5],somewhat:8,fall:6,rst:[],kept:[4,6],exactli:3,than:[0,1,2,3,4,5,6,9],cmdb:8,wide:4,liter:3,silli:[],target:[2,6,7],keyword:[4,6],instanc:6,provid:[8,1],remov:[3,6,9],dive:6,tree:[8,5],richer:4,structur:[],banana:[],project:[0,4,6,1,2],inquir:5,reus:[2,6],architect:2,store:8,str:5,were:[4,6,9],minut:[4,9],uses_cv:1,recheck:5,provis:4,pre:0,sai:[0,4,3,6,9],bootstrap:[2,4],nicer:6,runner:8,favorit:[2,6],sometim:6,mind:[4,5],ani:[2,3,4,5,6,8,9],seth:4,dash:1,packag:[0,2,3,4,5,6,9],aforement:7,async_wrapp:5,have:[0,1,2,3,4,5,6,7,8,9],tabl:[],need:[0,1,3,4,5,6,7,8],seem:4,predic:3,seek:3,paramiko:0,sat:4,imagin:6,date:5,createhom:3,zero:5,self:5,note:[0,3,5,6,7,8,9],centos6:8,ideal:[2,4],contact:[8,0,4,3],build:[8,0,4,5],indic:6,environ:3,datacent:6,brace:9,hook:3,channel:[0,1,3,4,5,7,8,9,10],blue:6,begin:[9,1],sure:[6,9],unless:[3,6],distribut:[0,4,2],deploy:[9,0,4,6,2],track:[0,6,9],who:8,reach:2,deleg:4,discov:6,most:[4,3,6,1],plai:[3,6],regular:6,plan:4,deploi:[2,4,3,6,9],bsd:[0,4],panic:6,why:2,strawberri:1,don:[3,4,5,6,7,9],filesystem:[3,6],doc:[0,2],later:[5,6,9],cover:[8,4,9],doe:[2,3,4,5,6,7,8,9],pipe:9,meanwhil:4,which:[0,1,2,6,7,8,9],bracket:7,snapshot:3,place:2,clean:4,pattern:[8,0,7,6,2],built:[8,0,4,9,10],latest:[0,3,6,9],someth:[8,2,4,5,6],awesom:[2,3,6],show:9,cobbler_external_inventori:8,text:[2,4],sent:5,aggregr:5,page:[0,1,2,4,9,10],syntax:[2,4,6,1,9],connect:6,bring:[4,6],mpd_ring:[],raleigh:[2,9],particularli:6,pkg:[3,6,9],permiss:[0,9],hack:[0,5,2],radic:2,identifi:4,simplejson:[0,5],trivial:[0,8,3,2],anywai:7,varnam:6,xml:1,absolut:[3,9],onli:[3,4,5,6,8,9],explicitli:[3,6],locat:[3,6],execut:[2,3,4,5,6,8,9],tire:4,transact:6,configur:[0,1,2,4,3,6,7,8,9,10],solut:4,figur:4,somefil:6,should:[8,5,4,3,1],"public":6,won:[6,9],suppos:[5,6],about:[0,1,2,3,4,5,6,9],"5px":[],ldap:8,local:3,yml:6,custom:[4,6],move:[3,6],long_running_oper:9,nearli:[3,6,1],variou:[4,3,6],get:[0,1,2,3,4,5,6,9],familiar:8,financ:2,stop:[0,1,3,4,5,6,7,8,9,10],kind:[4,5],mission:2,repo:[5,3,9],ssl:4,obviou:[2,5],made:[5,4,3],ssh:[8,0,4,9,2],increas:6,grep:[],requir:[0,2,3,4,5,6,8],uvh:0,mdehaan:[3,9],bar:[7,8,6],releas:[0,4,3,2],dollar_sign_syntax:6,patch:4,gif:2,sha:3,bad:5,stuff:9,integr:[2,8,3],contain:[5,4,3,6],usabl:6,through:[0,3,2],where:[0,2,3,4,5,8],valid:5,wrote:5,view:[2,10],respond:6,set:[0,2,3,4,5,6],impor:9,dump:5,hierachi:4,arbitari:1,see:[0,1,2,3,4,5,6,7,8,9,10],sec:6,result:[5,8,3,6],arg:5,fail:[8,4,5,6],themselv:6,simpl:[2,1,4,6,8,9],setsebool:6,best:[5,4,3,6],subject:6,asynchron:[2,6],statu:[5,6,9],still:[8,0,4],extend:[2,4,6],expert:4,redirect:9,down:[8,6],databas:[8,6],review:3,discoveri:3,restart:[7,4,3,6,9],state:[3,4,5,6,7,9],restructur:6,simplest:5,without:[4,5],"import":[2,8,5,6],experi:4,approach:6,across:4,close:5,attribut:3,altern:[6,9],solo:4,manpag:[],style:5,extens:[2,4],job:[9,1],entir:[4,5,6],aserv:0,otherwis:3,homebrew:0,come:5,jvmdhw:3,popul:8,both:[4,5,9],toward:6,delimit:3,admin:8,goal:[6,9],howev:[7,4,5,9],equal:[4,5,9],against:[2,4,6,7],etc:[0,2,4,3,6,7,8,9],tutori:[2,5],monitor:8,logic:6,mani:[8,5,6,9],com:[0,2,3,5,6,7,8],comment:[5,3],among:4,assur:6,simpli:[3,6],author:2,technic:[8,3],can:[0,1,2,3,4,5,6,7,8,9],color:6,overview:1,format:[2,1,4,3,6,7,9],ubuntu:0,chmod:[5,8,3,6],height:2,distil:4,fashion:4,colon:6,shutdown:[3,6],suppli:3,written:[2,8,5,6,9],poll:[2,6,9],assum:[8,6],quit:5,evalu:6,coupl:4,platform:[4,6],multiplay:2,decent:5,rebuild:[],three:[7,3],been:[8,2,4],timmi:6,json:[2,1,3,4,5,6,8],much:[2,4,3,6,1],besid:5,treat:[4,5],interest:8,basic:[0,1,2,3,4,5,6,7,8,10],futur:[0,5],addit:[2,5,8,3,6],tini:6,quickli:[2,9],capistrano:[2,4],fire:[2,4,6],nobodi:5,imag:2,notori:4,rubi:[1,3,4,5,6,9],convert:5,question:[0,1,2,3,4,5,6,7,8,9,10],anywher:6,upgrad:[3,9],likes_emac:1,understand:5,togeth:[],func:[2,4],turn:[5,6],webapp:[4,9],educ:5,present:3,"case":[4,5],authorized_kei:0,multi:[2,4,6],look:[9,5,3,6,7],env:0,replac:[],hoc:[2,4,3,6,9],straight:9,md5sum:3,permit:[],batch:4,vars_fil:6,trick:[2,6],defin:[8,6],"while":[4,6],overrid:8,smart:9,abov:[8,5,6,9],error:[4,5,6],cfengin:4,atlanta:[8,6,9],pack:8,dehaan:2,layer:[8,4],motd:[8,6,9],file:[0,1,2,3,5,6,7,8,9],find:[8,4,5,6],stdout:8,almost:[4,3],technolog:2,readm:5,site:[4,10],jpg:[],memcach:6,facter_operatingsystem:6,believ:4,dag:4,cento:6,ohai_foo:9,conf:[8,3,6,9],module_nam:[7,8],limit:[2,6,9],somekei:5,michaeldehaan:[],poor:5,ship:3,sever:[4,6,1],subscrib:2,http_port:6,develop:[0,1,2,3,4,5,6],welcom:[2,8],datetim:5,perform:[4,6],border:[],make:[0,2,3,4,5,6,8,9],ohai:[2,4,3,6,9],operatingsystem:6,cross:4,same:[0,1,6,7,8,9],member:1,food:1,when:[0,3,4,5,6,8,9],complex:[2,4,6],pad:[],split:5,document:[1,4,5,6,8,9],ansibl:[0,1,2,3,4,5,6,7,8,9,10],difficult:[0,4],http:[2,8,3],hostnam:[8,6],charact:1,again:[4,5,6],href:[],nest:[5,3,6],painless:2,rail:4,effect:[],boxsubscrib:2,driven:[2,8],remot:[9,0,3,6,2],assign:[2,8,6],fruit:1,exception:4,ownership:9,improv:0,extern:[2,8,6],engin:[],php:9,distutil:0,typic:[4,9],tune:[],recent:4,audit:6,dark:8,lower:[4,5],appropri:[8,4,9],off:[2,4,6],scenario:8,mention:6,setenforc:6,compos:6,well:[0,4,3,6,8,9],hypothet:[],non:[5,6],tho:3,host4:8,client:2,command:[0,2,3,4,5,6,7,8,9,10],expens:8,thi:[0,1,2,3,4,5,6,7,8,9],english:3,programm:[8,4],model:[2,6],guidelin:5,dereferenc:[],revis:0,usual:9,explan:5,protocol:3,prepar:5,just:[0,1,2,4,5,6,8,9],less:[0,4,2],photo:[],pitfal:[2,5],mgmt:8,rest:10,larg:4,align:[],kill:[],irc:[0,1,3,4,5,7,8,9,10],human:[6,1],heavili:4,shorthand:[2,5,6],skill:1,braces_syntax:6,yet:[0,8,3],languag:[0,1,2,3,4,5,6,7,8,10],taken:[4,6],web:[8,4,6,10,9],versu:2,start:[0,1,2,4,3,6,8,9],directli:[5,8,3,6,9],easi:[0,2,4,3,6,7,9],also:[0,1,2,3,4,5,6,7,8,9,10],trigger:[4,3,6],autom:4,point:[0,8,6],except:5,littl:[8,2,4],add:[8,0,4,9],cleanup:6,host3:8,blob:8,host1:8,appli:[4,6],els:[2,6],save:[5,6],hat:[2,4],app:4,kick:[4,6,9],take:[5,4,3,6],real:0,applic:[8,4,6],inspir:[2,4],march:5,around:[0,4],xmlrpc:8,quirk:1,dest:[8,3,6,9],piec:8,judgement:3,game:2,lightweight:8,know:[1,3,4,5,7,8],background:[2,9],guid:[2,5,3,6],world:[0,4],bit:[4,3,6],password:[0,3,6,9],recurs:[3,9],daemon:[2,4],motorola:2,like:[0,1,3,4,5,6,7,8,9],success:[5,3],header:7,signal:4,arbitrari:[4,6],manual:[4,6],integ:3,divers:2,remind:[5,6],api:[8,2,5,4,3],runtim:6,either:[8,4,3,6],cellspac:[],popular:2,async:[4,6],external_var:6,manag:[0,1,2,3,4,5,6,7,8,9,10],groups_logo_sm:2,love:0,shed:4,didn:4,often:[8,4],deal:5,simplifi:9,webserv:[7,8,3,6,9],linux:4,some:[0,2,3,4,5,6,8],back:[0,4,6],dead:2,clojur:5,born:4,intern:5,"export":0,host2:8,heritag:4,server:[2,4,3,6,9],transport:[2,4],absent:[3,9],tmp:[8,9],txt:[3,9],forcibl:[],lead:4,bottom:6,rpm:[0,5,2],avoid:[0,4,3,9],though:[2,3,4,5,6,8],definit:6,thank:4,per:8,passwd:3,tracker:[0,2],leav:[5,6],select:[2,3,6,7],condit:[2,6],foo:[7,8,3,6,9],complic:[2,4],refer:[8,9],machin:[0,3,4,5,6,9],core:[2,4,5,9],encourag:4,yamllint:1,run:[0,1,2,3,4,5,6,8,9],power:[8,0,4,6,2],slight:8,importerror:5,word:8,lose:9,usag:[5,3,6,9],symlink:3,interfac:4,web2:8,vhost:6,host:[0,2,3,4,5,6,7,8,9],web1:8,promot:4,repositori:[],output:[8,4,5,6],meantim:4,major:8,"super":2,between:[4,6],soon:[],simpler:[4,9],comparison:[2,4],sshd:2,only_if:6,central:4,unpars:5,othervar:[],acm:9,simul:6,wolf:8,messag:[8,4,5],done:[0,4,6,7],h3d850bdf:[],industri:2,mytempl:3,disabl:6,block:6,match:[5,6],ntp_server:9,own:[8,2,4,3,6],effici:[4,6],logo:2,pythonpath:[],bounc:[3,6],within:[7,4,3,6],contriv:[],sneaker:[],automat:[5,8,3],due:[4,5],noth:[6,1],pair:[5,3,1],somescript:3,empti:8,multinod:4,ensur:[4,3,6,9],chang:[0,2,3,5,6,9],updat:[3,9],next:6,bserver:0,your:[0,2,3,4,5,6,7,8,9],risk:6,merg:4,stare:5,behind:[4,3],git:[0,2,3,4,5,9],fabric:[2,4],wai:[8,5,4,3,6],aren:4,transfer:[2,5,9],support:[2,4,3,6,8,9],rotat:6,"long":[2,4,3,6,8,9],happi:[0,2],verbos:[5,3],width:2,singl:[8,4,6],gid:3,wordpress:6,includ:[2,3,5,6,8,9],lot:[2,5,9],suit:[4,6],"var":[2,3,6],is_favcolor_blu:6,stai:6,individu:7,ntpserver:[8,3],host5:8,fork:[8,4,6,9],head:[3,9],foosbal:3,form:[2,5,6,1],enough:[7,4,9],forc:0,criteria:6,continu:5,contract:8,shorter:5,link:5,option:[0,3,4,5,8,9,10],line:[0,1,2,3,4,5,6,7,8,9,10],idea:[0,1,2,3,4,5,6,7,8,9,10],"true":[5,6,1],bug:0,freenod:[0,1,2,3,4,5,7,8,9,10],info:[2,8,9],pull:[8,4],"throw":4,immedi:3,input:[2,5],tab:6,possibl:[7,8,5,6,9],whether:[8,5,4,3],checkout:[0,5,4,3,2],interventori:8,caller:3,maximum:6,ansible_library_path:5,until:[0,5,6],planet:2,record:1,below:[0,8,3,6],stacktrac:5,those:[8,4,6,9],rerun:6,step:[2,4,3,6],problem:[4,1],similar:[8,3,6,9],email:2,facter:[2,4,3,6,9],curv:[2,4],featur:[7,0,4,6,2],tasti:1,quot:[6,9],creat:[0,2,4,3,8,9],certain:[4,6],lint:1,parser:5,doesn:[2,8,6,1],repres:[8,6,1],strongli:4,cobbler:[8,2,4],chat:[0,1,2,3,4,5,7,8,9,10],home:3,bob:6,exist:[2,8,3,6,9],check:[4,3,9],probabl:[0,4,5,6],echo:[0,8,6,9],denot:[7,6],coder:4,task:[2,4,6,9],googl:[0,1,2,3,4,5,6,7,8,9,10],datastructur:8,xyz:3,crypt:[3,9],user:[2,4,3,6,8,9],dbserver:[7,6],excel:[2,4],detail:[2,8,9],event:[5,4,3,6],"default":[2,4,3,6,7,9],declar:6,role:6,librari:[5,3,1],normal:8,varieti:[4,5],test:[0,2,3,4,5,8],tie:8,you:[0,1,2,3,4,5,6,7,8,9],architectur:[2,4],node:[0,2,3,4,5,6,8,9],contend:4,sysadmin:4,claus:6,intend:5,wildcard:7,fulli:[0,3],sequenc:2,"class":[2,8,6],asciidoc:[],mcollect:[],push:[4,6],scale:[2,4],intent:[],log:[5,6],consid:[5,6],sbin:[3,6,9],deferenc:[],gap:4,distro:8,debian:[0,6],"60k":[2,4],legal:[5,6],sphinx:[],faster:6,amp:[0,8],directori:[5,3,6,1,9],accept:5,reliabl:4,descript:[3,6],rule:[6,9],itself:8,emerg:2,ignor:5,came:8,potenti:[],time:[0,1,2,3,4,5,6,7,8,9],far:[2,1],appl:1,profil:8,hello:0,enterprisei:8},objtypes:{},titles:["Downloads & Getting Started","YAML Syntax","Introducing Ansible","Ansible Modules","Frequently Asked Questions","Module Development Guide","Playbooks","The Inventory File, Patterns, and Groups","API & Integrations","Command Line Examples","Man Pages"],objnames:{},filenames:["gettingstarted","YAMLSyntax","index","modules","faq","moduledev","playbooks","patterns","api","examples","man"]}) \ No newline at end of file