Ansible modules cheatsheet
source link: https://devhints.io/ansible-modules
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Basic file
---
- hosts: production
remote_user: root
tasks:
- ···
Place your modules inside tasks
.
Task formats
One-line
- apt: pkg=vim state=present
- apt:
pkg: vim
state: present
Foldable scalar
- apt: >
pkg=vim
state=present
Define your tasks in any of these formats. One-line format is preferred for short declarations, while maps are preferred for longer.
#Modules
Aptitude
Packages
- apt:
pkg: nodejs
state: present # absent | latest
update_cache: yes
force: no
Deb files
- apt:
deb: "https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb"
Repositories
- apt_repository:
repo: "deb https://··· raring main"
state: present
Repository keys
- apt_key:
id: AC40B2F7
url: "http://···"
state: present
- git:
repo: git://github.com/
dest: /srv/checkout
version: master
depth: 10
bare: yes
See: git module
git_config
- git_config:
name: user.email
scope: global # local | system
value: [email protected]
See: git_config module
- user:
state: present
name: git
system: yes
shell: /bin/sh
groups: admin
comment: "Git Version Control"
See: user module
service
- service:
name: nginx
state: started
enabled: yes # optional
See: service module
#Shell
shell
- shell: apt-get install nginx -y
Extra options
- shell: echo hello
args:
creates: /path/file # skip if this exists
removes: /path/file # skip if this is missing
chdir: /path # cd here before running
Multiline example
- shell: |
echo "hello there"
echo "multiple lines"
See: shell module
script
- script: /x/y/script.sh
args:
creates: /path/file # skip if this exists
removes: /path/file # skip if this is missing
chdir: /path # cd here before running
See: script module
#Files
- file:
path: /etc/dir
state: directory # file | link | hard | touch | absent
# Optional:
owner: bin
group: wheel
mode: 0644
recurse: yes # mkdir -p
force: yes # ln -nfs
See: file module
- copy:
src: /app/config/nginx.conf
dest: /etc/nginx/nginx.conf
# Optional:
owner: user
group: user
mode: 0644
backup: yes
See: copy module
template
- template:
src: config/redis.j2
dest: /etc/redis.conf
# Optional:
owner: user
group: user
mode: 0644
backup: yes
See: template module
#Local actions
local_action
- name: do something locally
local_action: shell echo hello
debug
- debug:
msg: "Hello {{ var }}"
See: debug module
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK