Last updated on
Ansible Files Modules を整理してみる
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
がリモートマシン内でファイルコピーできるので、便利だけど少々ややこしい。
他のモジュールについても、少しずつ整理していこう。