{%- from "ceilometer/map.jinja" import server with context %}
{%- from "ceilometer/map.jinja" import agent with context %}
{%- if server.get('enabled', False) %}
{%- set publisher = server.publisher %}
{%- else %}
{%- set publisher = agent.publisher %}
{%- endif %}
---
sources:
    - name: meter_source
      interval: 60
      meters:
          - "*"
      sinks:
          - meter_sink
sinks:
    - name: meter_sink
      transformers:
      publishers:
          {%- for publisher_name, publisher in publisher.items() %}
          {%- if publisher_name == 'default' %}
          - notifier://
          {%- endif %}
          {%- if publisher_name == 'graphite' %}
          - graphite://{{ publisher.host }}:{{ publisher.port }}
          {%- endif %}
          {%- endfor %}