-3

I have below output

msg: '  [(''N5K'', ''5548UPQ'')] '

I've tried the following

" {{ platform_list[0] }} "

but it returns one character only and I want to extract 'N5K'.

U880D
  • 8,601
  • 6
  • 24
  • 40
stack gig
  • 1
  • 1

1 Answers1

0

As already mentioned in the comments, the output is not a list but a string.

To get a better insight into the variable type you may use according Managing data type - Discovering the data type type_debug.

- debug: 
    msg: "{{ platform_list }} of type {{ platform_list| type_debug }}"

Further Q&A

How to proceed further?

To get a better understanding you may have a look into the following Minimal, Reproducible Example

---
- hosts: localhost
  become: false
  gather_facts: false

  vars:

    LIST: ['N5K', '5548UPQ']

  tasks:

  - name: Show type
    debug:
      msg: "{{ LIST }} and of type {{ LIST | type_debug }}"

  - name: Show element
    debug:
      msg: "{{ LIST[0] }}"

resulting into an output of

TASK [Show type] *********************************
ok: [localhost] =>
  msg: '[u''N5K'', u''5548UPQ''] and of type list'

TASK [Show element] ******************************
ok: [localhost] =>
  msg: N5K

You can then change the vars in example into a string

  vars:

    STRING: "['N5K', '5548UPQ']"

  tasks:

  - name: Show type
    debug:
      msg: "{{ STRING }} and of type {{ STRING | type_debug }}"

  - name: Show element
    debug:
      msg: "{{ STRING[0] }}"

resulting into an output of

TASK [Show type] *****************************************
ok: [localhost] =>
  msg: '[''N5K'', ''5548UPQ''] and of type AnsibleUnicode'

TASK [Show element] **************************************
ok: [localhost] =>
  msg: '['

because of Python Slicing.

U880D
  • 8,601
  • 6
  • 24
  • 40