Reduce duplication in input config files

For input plugins that don't have specific configuration options, it is
unnecessary to have a template for each of them. This change refactors
the code to reduce the number of template files and to use include
files wherever it is possible.

Change-Id: I3dab499f6bab4ca045646c1f81c7b6649159f76f
diff --git a/telegraf/agent.sls b/telegraf/agent.sls
index fc03f2c..56bbc2a 100644
--- a/telegraf/agent.sls
+++ b/telegraf/agent.sls
@@ -24,7 +24,9 @@
 input_{{ name }}:
   file.managed:
     - name: {{ agent.dir.config }}/input-{{ name }}.conf
-    - source: salt://telegraf/files/input/{{ name }}.conf
+    - source:
+      - salt://telegraf/files/input/{{ name }}.conf
+      - salt://telegraf/files/input/generic.conf
     - user: root
     - group: root
     - mode: 644
diff --git a/telegraf/files/input/mem.conf b/telegraf/files/input/_tags.conf
similarity index 61%
rename from telegraf/files/input/mem.conf
rename to telegraf/files/input/_tags.conf
index a12e562..f03292e 100644
--- a/telegraf/files/input/mem.conf
+++ b/telegraf/files/input/_tags.conf
@@ -1,9 +1,6 @@
-[[inputs.{{ name }}]]
-{%- if values is defined %}
-{%- if values.tags is defined %}
+{%- if values.tags is mapping %}
   [inputs.{{name}}.tags]
   {%- for tag_name, tag_value in values.tags.iteritems() %}
     {{ tag_name }} = "{{ tag_value }}"
   {%- endfor %}
 {%- endif %}
-{%- endif %}
diff --git a/telegraf/files/input/cpu.conf b/telegraf/files/input/cpu.conf
index e2b7926..e698905 100644
--- a/telegraf/files/input/cpu.conf
+++ b/telegraf/files/input/cpu.conf
@@ -6,10 +6,5 @@
 {%- if values.percpu is defined %}
   percpu = {{ values.percpu | lower }}
 {%- endif %}
-{%- if values.tags is defined %}
-  [inputs.{{name}}.tags]
-  {%- for tag_name, tag_value in values.tags.iteritems() %}
-    {{ tag_name }} = "{{ tag_value }}"
-  {%- endfor %}
-{%- endif %}
+{%- include 'telegraf/files/input/_tags.conf' %}
 {%- endif %}
diff --git a/telegraf/files/input/disk.conf b/telegraf/files/input/disk.conf
index 5308162..99abd8a 100644
--- a/telegraf/files/input/disk.conf
+++ b/telegraf/files/input/disk.conf
@@ -3,10 +3,5 @@
 {%- if values.mount_points is defined%}
   mount_points = {{ values.mount_points }}
 {%- endif %}
-{%- if values.tags is defined %}
-  [inputs.{{name}}.tags]
-  {%- for tag_name, tag_value in values.tags.iteritems() %}
-    {{ tag_name }} = "{{ tag_value }}"
-  {%- endfor %}
-{%- endif %}
+{%- include 'telegraf/files/input/_tags.conf' %}
 {%- endif %}
diff --git a/telegraf/files/input/diskio.conf b/telegraf/files/input/diskio.conf
index e608a5a..f088584 100644
--- a/telegraf/files/input/diskio.conf
+++ b/telegraf/files/input/diskio.conf
@@ -6,10 +6,5 @@
 {%- if values.skip_serial_number is defined %}
   skip_serial_number = {{ values.skip_serial_number | lower }}
 {%- endif %}
-{%- if values.tags is defined %}
-  [inputs.{{name}}.tags]
-  {%- for tag_name, tag_value in values.tags.iteritems() %}
-    {{ tag_name }} = "{{ tag_value }}"
-  {%- endfor %}
-{%- endif %}
+{%- include 'telegraf/files/input/_tags.conf' %}
 {%- endif %}
diff --git a/telegraf/files/input/docker.conf b/telegraf/files/input/docker.conf
index 7c05814..eec5d16 100644
--- a/telegraf/files/input/docker.conf
+++ b/telegraf/files/input/docker.conf
@@ -12,10 +12,5 @@
 {%- if values.total is defined %}
   total = {{ values.total | lower }}
 {%- endif %}
-{%- if values.tags is defined %}
-  [inputs.{{name}}.tags]
-  {%- for tag_name, tag_value in values.tags.iteritems() %}
-    {{ tag_name }} = "{{ tag_value }}"
-  {%- endfor %}
-{%- endif %}
+{%- include 'telegraf/files/input/_tags.conf' %}
 {%- endif %}
diff --git a/telegraf/files/input/generic.conf b/telegraf/files/input/generic.conf
new file mode 100644
index 0000000..a502414
--- /dev/null
+++ b/telegraf/files/input/generic.conf
@@ -0,0 +1,2 @@
+[[inputs.{{ name }}]]
+{%- include 'telegraf/files/input/_tags.conf' %}
diff --git a/telegraf/files/input/net.conf b/telegraf/files/input/net.conf
index a12e562..a502414 100644
--- a/telegraf/files/input/net.conf
+++ b/telegraf/files/input/net.conf
@@ -1,9 +1,2 @@
 [[inputs.{{ name }}]]
-{%- if values is defined %}
-{%- if values.tags is defined %}
-  [inputs.{{name}}.tags]
-  {%- for tag_name, tag_value in values.tags.iteritems() %}
-    {{ tag_name }} = "{{ tag_value }}"
-  {%- endfor %}
-{%- endif %}
-{%- endif %}
+{%- include 'telegraf/files/input/_tags.conf' %}
diff --git a/telegraf/files/input/netstat.conf b/telegraf/files/input/netstat.conf
deleted file mode 100644
index a12e562..0000000
--- a/telegraf/files/input/netstat.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-[[inputs.{{ name }}]]
-{%- if values is defined %}
-{%- if values.tags is defined %}
-  [inputs.{{name}}.tags]
-  {%- for tag_name, tag_value in values.tags.iteritems() %}
-    {{ tag_name }} = "{{ tag_value }}"
-  {%- endfor %}
-{%- endif %}
-{%- endif %}
diff --git a/telegraf/files/input/processes.conf b/telegraf/files/input/processes.conf
deleted file mode 100644
index a12e562..0000000
--- a/telegraf/files/input/processes.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-[[inputs.{{ name }}]]
-{%- if values is defined %}
-{%- if values.tags is defined %}
-  [inputs.{{name}}.tags]
-  {%- for tag_name, tag_value in values.tags.iteritems() %}
-    {{ tag_name }} = "{{ tag_value }}"
-  {%- endfor %}
-{%- endif %}
-{%- endif %}
diff --git a/telegraf/files/input/system.conf b/telegraf/files/input/system.conf
deleted file mode 100644
index a12e562..0000000
--- a/telegraf/files/input/system.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-[[inputs.{{ name }}]]
-{%- if values is defined %}
-{%- if values.tags is defined %}
-  [inputs.{{name}}.tags]
-  {%- for tag_name, tag_value in values.tags.iteritems() %}
-    {{ tag_name }} = "{{ tag_value }}"
-  {%- endfor %}
-{%- endif %}
-{%- endif %}