swapped out key-value pairs for multi-line YML (#30277)
This commit is contained in:
parent
fc5b74fad2
commit
60d9a12efd
1 changed files with 36 additions and 12 deletions
|
@ -114,18 +114,26 @@ the web servers, and then the database servers. For example::
|
|||
|
||||
tasks:
|
||||
- name: ensure apache is at the latest version
|
||||
yum: name=httpd state=latest
|
||||
yum:
|
||||
name: httpd
|
||||
state: latest
|
||||
- name: write the apache config file
|
||||
template: src=/srv/httpd.j2 dest=/etc/httpd.conf
|
||||
template:
|
||||
src: /srv/httpd.j2
|
||||
dest: /etc/httpd.conf
|
||||
|
||||
- hosts: databases
|
||||
remote_user: root
|
||||
|
||||
tasks:
|
||||
- name: ensure postgresql is at the latest version
|
||||
yum: name=postgresql state=latest
|
||||
yum:
|
||||
name: postgresql
|
||||
state: latest
|
||||
- name: ensure that postgresql is started
|
||||
service: name=postgresql state=started
|
||||
service:
|
||||
name: postgresql
|
||||
state: started
|
||||
|
||||
You can use this method to switch between the host group you're targeting,
|
||||
the username logging into the remote servers, whether to sudo or not, and so
|
||||
|
@ -187,7 +195,9 @@ You can also use become on a particular task instead of the whole play::
|
|||
- hosts: webservers
|
||||
remote_user: yourname
|
||||
tasks:
|
||||
- service: name=nginx state=started
|
||||
- service:
|
||||
name: nginx
|
||||
state: started
|
||||
become: yes
|
||||
become_method: sudo
|
||||
|
||||
|
@ -302,7 +312,9 @@ the service module takes ``key=value`` arguments::
|
|||
|
||||
tasks:
|
||||
- name: make sure apache is running
|
||||
service: name=httpd state=started
|
||||
service:
|
||||
name: httpd
|
||||
state: started
|
||||
|
||||
The **command** and **shell** modules are the only modules that just take a list
|
||||
of arguments and don't use the ``key=value`` form. This makes
|
||||
|
@ -340,7 +352,9 @@ a variable called ``vhost`` in the ``vars`` section, you could do this::
|
|||
|
||||
tasks:
|
||||
- name: create a virtual host file for {{ vhost }}
|
||||
template: src=somefile.j2 dest=/etc/httpd/conf.d/{{ vhost }}
|
||||
template:
|
||||
src: somefile.j2
|
||||
dest: /etc/httpd/conf.d/{{ vhost }}
|
||||
|
||||
Those same variables are usable in templates, which we'll get to later.
|
||||
|
||||
|
@ -384,7 +398,9 @@ Here's an example of restarting two services when the contents of a file
|
|||
change, but only if the file changes::
|
||||
|
||||
- name: template configuration file
|
||||
template: src=template.j2 dest=/etc/foo.conf
|
||||
template:
|
||||
src: template.j2
|
||||
dest: /etc/foo.conf
|
||||
notify:
|
||||
- restart memcached
|
||||
- restart apache
|
||||
|
@ -402,18 +418,26 @@ Here's an example handlers section::
|
|||
|
||||
handlers:
|
||||
- name: restart memcached
|
||||
service: name=memcached state=restarted
|
||||
service:
|
||||
name: memcached
|
||||
state: restarted
|
||||
- name: restart apache
|
||||
service: name=apache state=restarted
|
||||
service:
|
||||
name: apache
|
||||
state: restarted
|
||||
|
||||
As of Ansible 2.2, handlers can also "listen" to generic topics, and tasks can notify those topics as follows::
|
||||
|
||||
handlers:
|
||||
- name: restart memcached
|
||||
service: name=memcached state=restarted
|
||||
service:
|
||||
name: memcached
|
||||
state: restarted
|
||||
listen: "restart web services"
|
||||
- name: restart apache
|
||||
service: name=apache state=restarted
|
||||
service:
|
||||
name: apache
|
||||
state:restarted
|
||||
listen: "restart web services"
|
||||
|
||||
tasks:
|
||||
|
|
Loading…
Reference in a new issue