# dig lookup exception: 'list' object has no attribute 'startswith'

**URL:** <https://forum.ansible.com/t/dig-lookup-exception-list-object-has-no-attribute-startswith/29234>\
**Category:** Ansible Project\
**Created:** [December 10, 2018, 5:39pm UTC](https://forum.ansible.com/t/dig-lookup-exception-list-object-has-no-attribute-startswith/29234 "2018-12-10T17:39:02Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![rjwagner.dba](https://avatars.discourse-cdn.com/v4/letter/r/e8c25b/32.png) [@rjwagner.dba](https://forum.ansible.com/u/rjwagner.dba)\
**Post date:** [December 10, 2018, 5:39pm UTC](https://forum.ansible.com/t/dig-lookup-exception-list-object-has-no-attribute-startswith/29234/1 "2018-12-10T17:39:02Z")

</div>

Hey all-

I’m having more problems w/ the dig lookup. If I statically define a list of hosts to lookup as a variable, it works. But if I return the list of hosts from another script, it fails. Here’s a simple example:

`  
$ cat test.py  
#!/usr/bin/env python

import json

hostList =   
hostList.append((‘[www.google.com](http://www.google.com)’))  
j = {}  
j[‘hosts’] = hostList  
print json.dumps(j)

$ cat test.yml

---

<div class="post-metadata">

**Author:** ![Kai\_Stian\_Olstad](https://avatars.discourse-cdn.com/v4/letter/k/e19adc/32.png) [@Kai\_Stian\_Olstad](https://forum.ansible.com/u/Kai_Stian_Olstad)\
**Post date:** [December 10, 2018, 6:34pm UTC](https://forum.ansible.com/t/dig-lookup-exception-list-object-has-no-attribute-startswith/29234/2 "2018-12-10T18:34:26Z")

</div>

> &nbsp;&nbsp;- name: debug  
> &nbsp;&nbsp;&nbsp;&nbsp;debug: msg="result is {{ (item.stdout | from\_json).hosts }}"  
> &nbsp;&nbsp;&nbsp;&nbsp;with\_items: "{{ oidLookup\_output.results }}"

Your hosts is a list with one element www.google.com

> &nbsp;&nbsp;- name: lookup  
> &nbsp;&nbsp;&nbsp;&nbsp;debug: msg="IP is {{ lookup('dig', (item.stdout | from\_json).hosts,  
> wantlist=True) }}"  
> &nbsp;&nbsp;&nbsp;&nbsp;with\_items: "{{ oidLookup\_output.results }}"

So here you are feeding dig a list, it doesn't take a list, only a string.

> TASK [debug]  
> \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
> ok: [10.239.211.85] =\> (item={'\_ansible\_parsed': True,  
> '\_ansible\_item\_result': True, u'end': u'2018-12-10 12:34:26.177251',

\</snip\>

> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"stdout": "{\"hosts\": [\"www.google.com\"]}",  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"stdout\_lines": [  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"{\"hosts\": [\"www.google.com\"]}"  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"warnings":   
> &nbsp;&nbsp;&nbsp;&nbsp;},  
> &nbsp;&nbsp;&nbsp;&nbsp;"msg": "result is [u'www.google.com']"

Here you clearly see that it's a list and not a string.

---

<div class="post-metadata">

**Author:** ![rjwagner.dba](https://avatars.discourse-cdn.com/v4/letter/r/e8c25b/32.png) [@rjwagner.dba](https://forum.ansible.com/u/rjwagner.dba)\
**Post date:** [December 10, 2018, 6:53pm UTC](https://forum.ansible.com/t/dig-lookup-exception-list-object-has-no-attribute-startswith/29234/3 "2018-12-10T18:53:15Z")

</div>

Thanks Kai. That’s it. I thought I had read somewhere that dig will accept a list, but clearly not.

---

<div class="post-metadata">

**Author:** ![Kai\_Stian\_Olstad](https://avatars.discourse-cdn.com/v4/letter/k/e19adc/32.png) [@Kai\_Stian\_Olstad](https://forum.ansible.com/u/Kai_Stian_Olstad)\
**Post date:** [December 10, 2018, 6:58pm UTC](https://forum.ansible.com/t/dig-lookup-exception-list-object-has-no-attribute-startswith/29234/4 "2018-12-10T18:58:58Z")

</div>

Doesn't accept a list, but do return a list if wantlist=True.
