5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ansible コマンドでモジュール引数 ( パラメータ ) を複数渡す方法

Last updated at Posted at 2018-07-10

Playbook に書くような内容を ansible コマンドで実行したい

例えばこんなのを ansible コマンドでやりたい。

some_playbook.yml
- hosts: localhost
  tasks:
    - file:
        path: ~/example.txt
        state: touch

結論

こんな風に、key=value形式をスペースで区切って渡せば良い。

$ ansible -m "モジュール名" --args "key1=value2 key2=value2"

実行例

$ ansible localhost -m "file" --args "path=~/example.txt state=touch" 

localhost | SUCCESS => {
    "changed": true,
    "dest": "/Users/yinaura/example.txt",
    "gid": 20,
    "group": "staff",
    "mode": "0644",
    "owner": "yinaura",
    "size": 4,
    "state": "file",
    "uid": 501
}

(注釈‥localhostであれば便宜的にインベントリ指定なしでも動く)

ここに至る経緯

最新版の ansible help でもごく簡素にしか書かれていない。

Options:
  -a MODULE_ARGS, --args=MODULE_ARGS
                        module arguments

StackOverFlow や 公式ドキュメントを探しても例が出てこない。
コロンやセミコロンや改行で区切っても無理だ。

色々試してようやく動いた。

追記

How Ansible Works にしれっと例が書いてあったという驚き。

ansible all -m ping 
ansible foo.example.com -m yum -a "name=httpd state=installed"
ansible foo.example.com -a "/usr/sbin/reboot"

環境

  • ansible 2.6.0

Links

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

Twitter

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?