Variable reuse in YAML, variable within variable

Viewed 14400

I'm looking for a way to reuse variables defined in my list on YAML, I have a YAML list with the following sample entries :

workstreams:
  - name: tigers
    service_workstream: tigers-svc
    virtual_user:
      - {name: inbound-tigers, pass: '123', access: inbound, env: app1}
      - {name: outbound-tigers, pass: '123', access: outbound, env: app1}
    email: tigers@my-fqdn.com
    mount_dir: /mnt/tigers
    app_config_dir: /opt/tigers

Using the example from above I want to reuse a defined value, like tigers. The ideal solution would be something like this :

workstreams:
  - name: tigers
    service_workstream: "{{ vars['name'] }}-svc"
    virtual_user:
      - {name: "inbound-{{ vars['name'] }}", pass: '123', access: inbound, env: app1}
      - {name: "outbound-{{ vars['name'] }}", pass: '123', access: outbound, env: app1}
    email: "{{ vars['name'] }}@my-fqdn.com"
    mount_dir: "/mnt/{{ vars['name'] }}"
    app_config_dir: "/opt/{{ vars['name'] }}"

Any points as to how I can do this in YAML ?

1 Answers
Related