title: How can I use Ansible nested variable?
body: <p>I have an Ansible playbook like the one below, I want use nested variable like this:
  <code>msg={{{{Component}}.community_release_num}}</code>, but when I run playbook:</p>
  
  <pre><code>ansible-playbook vartest.yml -e 'version=version_402', it not work 
  
  [es@vpn-server nested-var]$ tree
  .
  ├── vars
  │   ├── horizon.yml
  │   └── version_402.yml
  └── vartest.yml
  
  1 directory, 3 files
  [es@vpn-server nested-var]$ cat vartest.yml 
  ---
  
  - name: test 
    hosts: localhost
    vars_files:
      - vars/{{version}}.yml
    tasks:
      - debug: msg={{{{Component}}.community_release_num}}
      - debug: msg={{{{Component}}.release_num}}
  
  [es@vpn-server nested-var]$ cat vars/horizon.yml 
  Component: horizon
  
  [es@vpn-server nested-var]$ cat vars/version_402.yml 
  - horizon:
     community_release_num: '9.0.1'
     release_num: '4.0.2'
  [es@vpn-server nested-var]$
  </code></pre>
  
  <p>error messages</p>
  
  <pre><code>[es@vpn-server nested-var]$ ansible-playbook vartest.yml -e 'version=version_402'
  /usr/lib64/python2.6/site-packages/cryptography/__init__.py:25: DeprecationWarning: Python 2.6 is no longer supported by the Python core team, please upgrade your Python.
    DeprecationWarning
  
  PLAY [test] *******************************************************************************************************
  /usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec.  You should rebuild using libgmp &gt;= 5 to avoid timing attack vulnerability.
    _warn("Not using mpz_powm_sec.  You should rebuild using libgmp &gt;= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)
  
  TASK [debug] ******************************************************************************************************
  fatal: [localhost]: FAILED! =&gt; {"failed": true, "msg": "template error while templating string: expected token 'colon', got '}'. String: {{{{Component}}.community_release_num}}"}
      to retry, use: --limit @/data/wangqian/artemis-code-test/artemis/ansible/update/nested-var/vartest.retry
  
  PLAY RECAP ********************************************************************************************************
  localhost                  : ok=0    changed=0    unreachable=0    failed=1  
  </code></pre>
  
  <p>Can Ansible use nested variable, if yes, how to use it?</p>