Ansible変数に対して呼び出すことができるすべてのメソッドはどこで見つけることができますか?

Ansible変数に対して呼び出すことができるすべてのメソッドはどこで見つけることができますか?

以下は簡単なAnsibleスクリプトです:

- name: this command prints FAILED when it fails
  command: /usr/bin/example-command -x -y -z
  register: command_result
  failed_when: "'FAILED' in command_result.stderr"

これで、変数command_resultにメソッドがあることがわかりましたstderr。しかし、すべてのメソッドのリストをどのように取得できますか?

答え1

debugダンプ変数を使用できます。

- name: this command prints FAILED when it fails
  command: /usr/bin/example-command -x -y -z
  register: command_result
  failed_when: "'FAILED' in command_result.stderr"
- name: dump command_result
  debug: var=command_result

すると、次のように出力されます。

TASK: [dump command_result] **************************************************************
ok: [hostname] => {
    "command_result": {
        "changed": false,
        "cmd": "/usr/bin/example-command -x -y -z",
        "delta": "0:00:00.018233",
        "end": "2015-05-07 09:33:08.444674",
        "invocation": {
            "module_args": "/usr/bin/example-command -x -y -z",
            "module_name": "command"
        },
        "rc": 0,
        "start": "2015-05-07 09:33:08.426441",
        "stderr": "",
        "stdout": "whatever",
        "stdout_lines": [
            "whatever"
        ],
        "warnings": []
    }
}

答え2

Ansibleの変数は、デフォルトで次のように解釈される文字列です。Jinja2テンプレートエンジン。読む言語リファレンステンプレート変数の詳細Jinja2の組み込み型(stringなど)は、Pythonの対応する型(など)に似ており、sequence共通属性とメソッド(呼び出し可能属性)が多いが同じではありません。mappingstrlistdict

答え3

実際、この「variable.stderr」はメソッドではなく変数です... Ansibleでは実際のプログラミング言語ではないため、「メソッド」を直接扱いません。いつものように、最高の学習ソースは、モジュールの良い紹介を提供する公式Ansibleドキュメントです。

関連情報