【问题标题】:Extract variable from output in Ansible从 Ansible 的输出中提取变量
【发布时间】:2020-10-12 20:35:36
【问题描述】:

当我运行以下剧本时:

- name: Token
  hashivault_token_create:
    display_name: "{{ vm_name }}"
    policies: ["secret/{{ vm_name }}"]
    renewable: True
    token: "{{ root_token }}"
  register: "vault_token_admin"

- name: Print token
  debug:
    msg: "My token is: {{ vault_token_admin }}"

我得到以下输出:

ok: [localhost] => {
"msg": "ES: {'changed': True, 'rc': 0, 'token': {'request_id': '84645008-2d04-4f09-84aa-7a546ca29f73', 'lease_id': '', 'renewable': False, 'lease_duration': 0, 'data': None, 'wrap_info': None, 'warnings': ['Policy \"secret/test\" does not exist'], 'auth': {'client_token': 's.q3a4s4trStht30gJ12kDibjl', 'accessor': 'jqMmGMbMls9poRlx48nSruSO', 'policies': ['default', 'secret/test'], 'token_policies': ['default', 'secret/test'], 'metadata': None, 'lease_duration': 2764800, 'renewable': True, 'entity_id': '', 'token_type': 'service', 'orphan': False}}, 'failed': False}"}

我的目标是获得“client_token”。我怎样才能只得到“s.q3a4s4trStht30gJ12kDibjl”?

谢谢

【问题讨论】:

    标签: ansible hashicorp-vault


    【解决方案1】:

    试试这个

      - debug:
          var: vault_token_admin.ES.token.auth.client_token
    

    应该给

      vault_token_admin.ES.token.auth.client_token: s.q3a4s4trStht30gJ12kDibjl
    

    要查看结构,请使用过滤器to_nice_yaml。例如

      - debug:
          msg: "My token is: {{ vault_token_admin|to_nice_yaml }}"
    

    给予

      msg: |-
        My token is: ES:
            changed: true
            failed: false
            rc: 0
            token:
                auth:
                    accessor: jqMmGMbMls9poRlx48nSruSO
                    client_token: s.q3a4s4trStht30gJ12kDibjl
                    entity_id: ''
                    lease_duration: 2764800
                    metadata: None
                    orphan: false
                    policies:
                    - default
                    - secret/test
                    renewable: true
                    token_policies:
                    - default
                    - secret/test
                    token_type: service
                data: None
                lease_duration: 0
                lease_id: ''
                renewable: false
                request_id: 84645008-2d04-4f09-84aa-7a546ca29f73
                warnings:
                - Policy \"secret/test\" does not exist
                wrap_info: None
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-08
      相关资源
      最近更新 更多