New in version 2.4.
[group_1]are hosts, members of the group.
childrenmodifier indicates that the section contains groups.
varsmodifier indicates that the section contains variables assigned to members of the group.
key=valuesyntax are interpreted differently depending on where they are declared within your inventory.
key=valueparameters per line. Therefore they need a way to indicate that a space is part of a value rather than a separator.
:varssection, INI values are interpreted as strings. For example
var=FALSEwould create a string equal to
FALSE. Unlike host lines,
:varssections accept only a single entry per line, so everything after the
=must be the value for the entry.
example1: | # example cfg file [web] host1 host2 ansible_port=222 # defined inline, interpreted as an integer [web:vars] http_port=8080 # all members of 'web' will inherit these myvar=23 # defined in a :vars section, interpreted as a string [web:children] # child groups will automatically add their hosts to parent group apache nginx [apache] tomcat1 tomcat2 myvar=34 # host specific vars override group vars tomcat3 mysecret="'03#pa33w0rd'" # proper quoting to prevent value changes [nginx] jenkins1 [nginx:vars] has_java = True # vars in child groups override same in parent [all:vars] has_java = False # 'all' is 'top' parent example2: | # other example config host1 # this is 'ungrouped' # both hosts have same IP but diff ports, also 'ungrouped' host2 ansible_host=127.0.0.1 ansible_port=44 host3 ansible_host=127.0.0.1 ansible_port=45 [g1] host4 [g2] host4 # same host as above, but member of 2 groups, will inherit vars from both # inventory hostnames are unique