从ansible中的已注册变量中检索键的值

时间:2017-06-27 19:23:41

标签: amazon-web-services ansible ansible-2.x

我正在编写用于在AWS中配置用户,组,策略等的各种手册。

目前,我正在尝试编写一个任务,该任务将从给定的AWS IAM帐户中删除任何访问密钥。要使用ansible中的iam模块正确执行此操作,您必须指定要禁用的AWS访问密钥。

此脚本还可以预先创建用户(删除访问密钥是为了确保如果用户已经创建,则他们之前没有任何剩余的访问密钥。)

用户创建的输出被注册到一个变量中,如此

List<T>

console_user var的输出是:

T[]

我的问题是,如何获取“keys”字典下提供的访问密钥?由于我正在寻找的是关键,而不是价值,我不确定如何获得该访问密钥,以便我可以在下一个任务中使用它来说我想删除它。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

每个字典都有.keys()个方法。例如,为每个用户打印密钥:

- debug:
    msg: "User {{ item.user_name }} has keys {{ item.keys.keys() }}"
  with_items: "{{ console_user.results }}"

或者使用JMESPath迭代每个用户的每个键:

- debug:
    msg: "{{ item }}"
  with_items: "{{ console_user.results | json_query('[].keys.keys(@)') }}"