2016-08-12 2 views
0

Ich brauche UserId aus diesem Ergebnis zu holen:bekommen Wert von json mit ansible Karte

 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'}]}}\""} 

Hier ist mein ansible Code:

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 }}" 

Dank

Antwort

0

Sie haben einen String mit serialisierten Python dict in Ihrem _raw_params.
Ich kenne keine einfachen Wege, um es wieder in Ansible umzuwandeln.
Wenn Sie einen Weg finden, es durch JSON zu ersetzen, können Sie users_result0.ansible_facts._raw_params['Users'] | map(attribute='UserId') | list für Ihre Schleife verwenden.

Verwandte Themen