# set\_fact adding unicode "\[u' in front of new variable (2.3.1.0)

**URL:** <https://forum.ansible.com/t/set-fact-adding-unicode-u-in-front-of-new-variable-2-3-1-0/24792>\
**Category:** Ansible Project\
**Tags:** aws\
**Created:** [June 21, 2017, 6:07pm UTC](https://forum.ansible.com/t/set-fact-adding-unicode-u-in-front-of-new-variable-2-3-1-0/24792 "2017-06-21T18:07:47Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alex\_White](https://avatars.discourse-cdn.com/v4/letter/a/ecc23a/32.png) [@Alex\_White](https://forum.ansible.com/u/Alex_White)\
**Post date:** [June 21, 2017, 6:07pm UTC](https://forum.ansible.com/t/set-fact-adding-unicode-u-in-front-of-new-variable-2-3-1-0/24792/1 "2017-06-21T18:07:47Z")

</div>

I just recently updated to 2.3.1.0. I’ve used set\_fact before the upgrade to set my AWS instance ID to a variable “coreaid”.

```auto
- name: Save instance ID to coreaid
  set_fact:
    coreaid: "{{ ec2_asg.instances }}"

- debug: msg="the id= {{ coreaid }}"

```

```auto
- name: Set the instance public IP to a variable
  register: instance_public_ip
  shell: sudo aws ec2 describe-instances --filters "Name=instance-id,Values='{{ coreaid }}'" --query 'Reservations[*].Instances[*].[PublicIpAddress]' --output text

```

I set the fact, and it’s correct:

ok: [local] =\> {

“ansible\_facts”: {

“coreaid”: [

“i-XXXXX”

When I debug or use it later in the play the value is:

ok: [local] =\> {

“msg”: “the id= [u’i-XXX’]”

What am I doing that is causing the "[u’ to be added to the beginning of the instance ID?

Thanks!

---

<div class="post-metadata">

**Author:** ![Brian\_Coca](https://avatars.discourse-cdn.com/v4/letter/b/6de8d8/32.png) [@Brian\_Coca](https://forum.ansible.com/u/Brian_Coca)\
**Post date:** [June 21, 2017, 9:47pm UTC](https://forum.ansible.com/t/set-fact-adding-unicode-u-in-front-of-new-variable-2-3-1-0/24792/2 "2017-06-21T21:47:57Z")

</div>

"coreaid": [

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"i-XXXXX"  
]

and [u'i-XXX'] are actually the same thing, just displayed differently.

coreaid is a list, with a unicode string, which internally is  
represented as [u'i-XXX'], What you are seeing as 'correct' is  
JSONified output, that is why you see the difference.

---

<div class="post-metadata">

**Author:** ![Alex\_White](https://avatars.discourse-cdn.com/v4/letter/a/ecc23a/32.png) [@Alex\_White](https://forum.ansible.com/u/Alex_White)\
**Post date:** [June 22, 2017, 2:18am UTC](https://forum.ansible.com/t/set-fact-adding-unicode-u-in-front-of-new-variable-2-3-1-0/24792/3 "2017-06-22T02:18:37Z")

</div>

Brian, thank you!

Additional information provided by the IRC chan:

Complex types get stringified using python’s default representation. the [ is for start of list, and each string has u’…’ denoting that it’s a unicode string  
instead of set\_fact: instance\_id=“expression”, use set\_fact: instance\_id=“expression[0]”
