id: haproxy resources: - id: haproxy_config{{index}} from: resources/haproxy_config location: {{node}} values: ip: '{{node}}::ip' config:protocol: {% for config in service_configs %} - {{config}}::protocol {% endfor %} config:listen_port: {% for config in service_configs %} - {{config}}::listen_port {% endfor %} config:name: {% for config in service_configs %} - {{config}}::name {% endfor %} config:backends: {% for config in service_configs %} - {{config}}::backends {% endfor %} - id: haproxy_service{{index}} location: {{node}} from: resources/haproxy_service values: ip: '{{node}}::ip' events: - type: depends_on parent_action: 'haproxy_service{{index}}.run' state: 'success' depend_action: 'haproxy_config{{index}}.run' - type: react_on parent_action: 'haproxy_config{{index}}.run' state: 'success' depend_action: 'haproxy_service{{index}}.apply_config' - type: react_on parent_action: 'haproxy_config{{index}}.update' state: 'success' depend_action: 'haproxy_service{{index}}.apply_config'