Onde posso encontrar todos os métodos que eu posso chamar em uma variável Ansible

0

Este é um manual simples de 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"

Agora, eu sei que a variável command_result tem um método chamado stderr , mas como posso obter uma lista de todos os métodos?

    
por Ask and Learn 07.05.2015 / 09:04

3 respostas

4

Você pode usar debug para despejar a variável:

- 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

Isso produzirá algo como:

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": []
    }
}
    
por 07.05.2015 / 09:38
1

Variáveis no Ansible são basicamente strings interpretadas pelo mecanismo de templates Jinja2 . Leia a referência de idioma para detalhes de variável de modelo. Os tipos incorporados do Jinja2 ( string , sequence , mapping , etc.) se assemelham à sua contraparte em Python ( str , list , dict , etc.) e possuem muitos atributos e métodos comuns ( atributos que podem ser chamados), mas eles não são todos iguais.

    
por 06.06.2015 / 19:48
0

Na verdade, esse "variable.stderr" não é um método, mas uma variável ... No Ansible, você não lida com "métodos" diretamente, pois não é uma linguagem de programação verdadeira. A melhor fonte para aprender, como sempre são os documentos oficiais do ansible, lá os módulos estão bem cobertos.

    
por 08.11.2017 / 18:28

Tags