Ansible Files Modules を整理してみる
2017-01-10
2017-01-26
AnsibleのFiles Modules、バージョンアップを積み重ねて色々と知らない内容も増えてきたり、少し間が空いてから触るときに迷ったりする。
なので、ざっくりとした整理をしてみた。
以下、モジュールを大まかに整理した一覧。
目次
リモートマシン上で動作
指定したファイル・ディレクトリへ直接影響(状態変更)
- acl – Sets and retrieves file ACL information.
- file – Sets attributes of files
- tempfile – Creates temporary files and directories. (2.3)
- xattr – set/retrieve extended attributes
指定したファイル・ディレクトリへ直接影響(内容の書き換え)
- blockinfile – Insert/update/remove a text block surrounded by marker lines.
- ini_file – Tweak settings in INI files
- lineinfile – Ensure a particular line is in a file, or replace an existing line using a back-referenced regular expression.
- patch – Apply patch files using the GNU patch tool. (*)
- replace – Replace all instances of a particular string in a file using a back-referenced regular expression.
指定したファイル・ディレクトリから新たなファイル作成
- archive – Creates a compressed archive of one or more files or trees. (2.3)
- assemble – Assembles a configuration file from fragments
- copy – Copies files to remote locations. (*)
- synchronize – A wrapper around rsync to make common tasks in your playbooks quick and easy. (*)
- unarchive – Unpacks an archive after (optionally) copying it from the local machine. (*)
ローカルマシンからリモートマシンへ影響
ファイルの転送
- copy – Copies files to remote locations. (*)
- synchronize – A wrapper around rsync to make common tasks in your playbooks quick and easy. (*)
ファイルの転送と内容の編集
- patch – Apply patch files using the GNU patch tool. (*)
- template – Templates a file out to a remote server.
ファイルの転送と新たなファイル作成
リモートマシンからローカルマシンへ影響
ファイルの転送
- fetch – Fetches a file from remote nodes
- synchronize – A wrapper around rsync to make common tasks in your playbooks quick and easy. (*)
情報の取得
まとめ
後ろに(2.3)とついているのは、Version 2.3
対応予定と記載されているもの。(現行は2.2)
後ろに(*)とついているのは、複数のカテゴリに分類したもの。
リモートマシンで完結するオプション・ローカルマシンからリモートマシンへファイルを送るオプション、が切り替えられたり、など。
copy
がリモートマシン内でファイルコピーできるので、便利だけど少々ややこしい。
他のモジュールについても、少しずつ整理していこう。