J'ai un modèle Jinja comme suitTemplate un modèle individuel par élément dans une liste (Jinja2, Anisble)
{% for cust, config in customers.items() %}
sim.gw.{{ cust|lower }}.mw.tport.type=udp
sim.gw.{{ cust|lower }}.mw.tport.udp.interface=lo
{% if config['accept'] is defined %}
sim.gw.{{ cust|lower }}.fix.accept_port={{ config['accept'] }}
{% endif %}
sim.gw.{{ cust|lower }}.fix.version=4.4
sim.gw.{{ cust|lower }}.fix.tagetsubid={{ config['type'] }}
sim.gw.{{ cust|lower }}.fix.sess.sendercompid0=CITIFX-UAT
sim.gw.{{ cust|lower }}.fix.sess.targetcompid0={{ cust }}-S-QUOTE
sim.gw.{{ cust|lower }}.fix.sess.sendercompid1=CITIFX-UAT
sim.gw.{{ cust|lower }}.fix.sess.targetcompid1={{ cust }}-S-TRADE
sim.gw.{{ cust|lower }}.fix.handler=libfixpythonhandler.so
sim.gw.{{ cust|lower }}.fix.py_script=pySimulator.py
sim.gw.{{ cust|lower }}.log={{ cust|lower }}.log
{% endfor %}
qui utilise des variables dans ce fichier yml client:
BTG-VELOCITY:
type: PBSTP
accept: 1010
GFAM:
type: PBSTP
connect: 1010
ONEZERO2:
type: TRADESTREAM
GUANFABANK:
type: FXSIM
MAINBANK:
type: FXSIM
TYPOBANK:
type: TRADESTREAM
TEST-BANK:
type: PBSTP
connect: 32620
accept: 33620
WEAKBANK:
type: TRADESTREAM
Et quand je cours mon playbook j'utilise cette configuration:
- include_vars:
file: /home/vagrant/stunnelSimAnsPractice/roles/ns16/vars/customers.yml
name: customers
- name: templating
template:
src: /home/vagrant/stunnelSimAnsPractice/roles/ns16/templates/simulator.properties.j2
dest: /home/vagrant/stunnelSimAnsPractice/roles/ns16/sessions/{{ item }}/simulator.properties
owner: root
group: root
register: result
with_items: "{{ customers }}"
Mon problème est que je souhaite créer un individu 'simulator.properties' pour chaque client. Actuellement, mon playbook génère un long simulator.properties contenant toutes les propriétés pour tous les clients et place le même fichier dans chaque répertoire client. La sortie doit être unique pour chaque client, de sorte que chaque répertoire contienne uniquement les propriétés du client donné. Est-ce qu'il y a un moyen de faire ça?