jancy enables you to write strongly-typed, reusable playbooks quickly using the IDE of your choice.
Input
Group webservers = new Group("webservers");
Handler restartNginx = new Handler("Restart nginx")
.action(new Service()
.name("nginx")
.state(Service.State.RESTARTED));
Play play = new Play("")
.hosts(webservers)
.handlers(restartNginx)
.tasks(
new Task("Install prerequisites")
.action(new Yum()
.name("{{ item }}")
.state(Yum.State.PRESENT))
.withItems(
"nginx", "php", "php-mysql"),
new Task("Enable nginx")
.action(new Service()
.name("nginx")
.enabled(true)),
new Task("Upload site config")
.action(new File()
.src("default")
.dest("/etc/nginx/sites-available/default")
.mode("0755"))
.notify(restartNginx));
val webservers = Group("webservers")
val restartNginx = Handler("Restart nginx")
.action(Service()
.name("nginx")
.state(Service.State.RESTARTED))
val play = Play("")
.hosts(webservers)
.handlers(restartNginx)
.tasks(
Task("Install prerequisites")
.action(Yum()
.name("{{ item }}")
.state(Yum.State.PRESENT))
.withItems(
"nginx", "php", "php-mysql"),
Task("Enable httpd")
.action(Service()
.name("nginx")
.enabled(true)),
Task("Upload site config")
.action(File()
.src("default")
.dest("/etc/nginx/sites-available/default")
.mode("0755"))
.notify(restartNginx))
val webservers = new Group("webservers")
val restartNginx = new Handler("Restart nginx")
.action(new Service()
.name("nginx")
.state(Service.State.RESTARTED))
val play = new Play("")
.hosts(webservers)
.handlers(restartNginx)
.tasks(
new Task("Install prerequisites")
.action(new Yum()
.name("{{ item }}")
.state(Yum.State.PRESENT))
.withItems(
"nginx", "php", "php-mysql"),
new Task("Enable nginx")
.action(new Service()
.name("nginx")
.enabled(true)),
new Task("Upload site config")
.action(new File()
.src("default")
.dest("/etc/nginx/sites-available/default")
.mode("0755"))
.notify(restartNginx))
Output
- name: ''
hosts: webservers
handlers:
- name: Restart nginx
service: |-
name='nginx'
state='restarted'
tasks:
- name: Install prerequisites
yum: |-
name='{{ item }}'
state='present'
with_items:
- nginx
- php
- php-mysql
- name: Enable nginx
service: |-
enabled='yes'
name='nginx'
- name: Upload site config
file: |-
dest='/etc/nginx/sites-available/default'
mode='0755'
src='default'
notify: Restart nginx