2

この結果から UserId を取得する必要があります。

      ok: [localhost] => {"ansible_facts": {"Usernamelis": "", "_raw_params": "\"{u'Users': [{u'UserName': u'reo', u'PasswordLastUsed': u'2016-01-08T14:00:34Z', u'CreateDate': u'2016-01-06T14:34:37Z', u'UserId': u'AIDABBBBBBBZGGASHKPKKYRI4', u'Path': u'/', u'Arn': u'arn:aws:iam::590456900000:user/reo'},{u'UserName': u'rake', u'PasswordLastUsed': u'2016-01-08T14:00:34Z', u'CreateDate': u'2016-01-06T14:34:37Z', u'UserId': u'GIDAJCAZGFFFFFFFFKYRI4', u'Path': u'/', u'Arn': u'arn:aws:iam::590456900000:user/rake'}]}}\""}

これが私のAnsibleコードです:

register: users_result

- set_fact: Usernamelis= "{{ users_result.stdout | from_json }}"

register: users_result0

- name: simple

debug:
msg: "{{ item }}"
with_items: "{{  users_result0.ansible_facts._raw_params | map(attribute='UserId') | list }}"

ありがとう

4

1 に答える 1

3

にシリアル化された python dict を含む文字列があります_raw_params
Ansible でオブジェクトに戻す簡単な方法がわかりません。
JSON に置き換える方法が見つかった場合は、users_result0.ansible_facts._raw_params['Users'] | map(attribute='UserId') | listfor ループを使用できます。

于 2016-08-12T10:56:11.233 に答える