[[inputs.openstack]]
  interval = "{{ values.interval|default("60s") }}"
  project = "{{ values.project }}"
  username = "{{ values.username }}"
  password = "{{ values.password }}"
  identity_endpoint = "{{ values.identity_endpoint }}"
{%- if values.domain is defined %}
  domain = "{{ values.domain }}"
{%- endif %}
{%- if values.region is defined %}
  region = "{{ values.region }}"
{%- endif %}
{%- if values.response_timeout is defined %}
  response_timeout = "{{ values.response_timeout }}"
{%- endif %}
{%- if values.services is defined %}
  services = {{ values.services | json }}
{%- endif %}
  monitor_agents = {{ values.monitor_agents|default("true")|lower }}
  cpu_ratio = {{ values.cpu_ratio|default(1.0) }}
{%- if values.insecure is defined %}
  insecure = {{ values.insecure | lower }}
{%- endif %}
{%- include 'telegraf/files/input/_filters.conf' %}
