【问题标题】:Ansible 3.6 json token managementAnsible 3.6 json 令牌管理
【发布时间】:2019-12-02 14:11:07
【问题描述】:

我正在尝试编写 Ansible 剧本来检索管理员用户的访问令牌列表,然后迭代地删除任何关联的令牌。

我的剧本如下:

- name: Details
  uri:
    url: "{{api_url}}{{api_token}}"
    method: GET
    headers:
      content-type: "application/json"
      authorization: "Bearer {{ token_fact }}"
    validate_certs: no
    ignore_errors: yes
    status_code: 200
  register: all_tokens

使用的变量都是之前在其他任务上设置的,这个剧本将结果注册在“all_tokens”变量中。执行此播放时,我从打印“all_tokens”变量的调试任务收到的​​结果如下:-

  all_tokens.json:
    count: 2
    next: null
    previous: null
    results:
    - application: null
      created: '2019-12-02T14:05:47.471743Z'
      description: ''
      expires: '3019-04-04T14:05:47.449065Z'
      id: 314
      modified: '2019-12-02T14:05:47.517372Z'
      refresh_token: null
      related:
        activity_stream: /api/v2/tokens/314/activity_stream/
        user: /api/v2/users/1/
      scope: write
      summary_fields:
        user:
          first_name: ''
          id: 1
          last_name: ''
          username: admin
      token: '************'
      type: o_auth2_access_token
      url: /api/v2/tokens/314/
      user: 1
    - application: null
      created: '2019-12-02T14:08:02.408487Z'
      description: ''
      expires: '3019-04-04T14:08:02.402298Z'
      id: 315
      modified: '2019-12-02T14:08:02.432427Z'
      refresh_token: null
      related:
        activity_stream: /api/v2/tokens/315/activity_stream/
        user: /api/v2/users/1/
      scope: write
      summary_fields:
        user:
          first_name: ''
          id: 1
          last_name: ''
          username: admin
      token: '************'
      type: o_auth2_access_token
      url: /api/v2/tokens/315/
      user: 1

我将如何遍历 summary_field 中的用户名?例如当用户是管理员时做什么?

【问题讨论】:

    标签: json loops ansible


    【解决方案1】:

    问:“我将如何遍历 summary_field 中的用户名?例如,当用户是管理员时做某事?”

    A:例如循环 results 并测试item

    - debug:
        msg: username is admin
      loop: "{{ all_tokens.json.results }}"
      when: item.summary_fields.user.username == 'admin'
    

    给予

    "msg": "username is admin"
    "msg": "username is admin"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-14
      • 2023-03-16
      • 2011-10-17
      • 2021-10-13
      • 2020-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多