diff --git a/telegraf/agent.sls b/telegraf/agent.sls
index 78a06f4..686bd98 100644
--- a/telegraf/agent.sls
+++ b/telegraf/agent.sls
@@ -28,6 +28,8 @@
   {%- endif %}
 {%- endfor %}
 
+{%- set service_grains = salt['grains.filter_by']({'default': service_grains}, merge={'telegraf': {'agent': {'input': agent.get('input', {})}}}) %}
+
 telegraf_grains_dir:
   file.directory:
   - name: /etc/salt/grains.d
@@ -47,8 +49,10 @@
     - file: telegraf_grains_dir
 
 {%- set telegraf_input = service_grains.telegraf.agent.input %}
+
 {%- for name,values in telegraf_input.iteritems() %}
 
+{%- if values is not mapping or values.get('enabled', True) %}
 input_{{ name }}:
   file.managed:
     - name: {{ agent.dir.config }}/input-{{ name }}.conf
@@ -75,6 +79,16 @@
       - pkg: telegraf_packages
 {%- endif %}
 
+{%- else %}
+input_{{name }}:
+  file.absent:
+    - name: {{ agent.dir.config }}/input-{{ name }}.conf
+    - require:
+      - pkg: telegraf_packages
+    - watch_in:
+      - service: telegraf_service
+{%- endif %}
+
 {%- endfor %}
 
 {%- for name,values in agent.output.iteritems() %}
diff --git a/telegraf/files/input/cpu.conf b/telegraf/files/input/cpu.conf
index ffc92ec..4c1dd90 100644
--- a/telegraf/files/input/cpu.conf
+++ b/telegraf/files/input/cpu.conf
@@ -1,9 +1,9 @@
 [[inputs.{{ name }}]]
 {%- if values is defined %}
 {%- if values.totalcpu is defined %}
-totalcpu = {{ values.totalcpu | lower }}
+  totalcpu = {{ values.totalcpu | lower }}
 {%- endif %}
 {%- if values.percpu is defined %}
-percpu = {{ values.percpu | lower }}
+  percpu = {{ values.percpu | lower }}
 {%- endif %}
 {%- endif %}
diff --git a/telegraf/files/input/disk.conf b/telegraf/files/input/disk.conf
index 9dd9e67..8ee733e 100644
--- a/telegraf/files/input/disk.conf
+++ b/telegraf/files/input/disk.conf
@@ -1,6 +1,6 @@
 [[inputs.{{ name }}]]
 {%- if values is defined %}
 {%- if values.mount_points is defined%}
-mount_points = {{ values.mount_points }}
+  mount_points = {{ values.mount_points }}
 {%- endif %}
 {%- endif %}
diff --git a/telegraf/files/input/diskio.conf b/telegraf/files/input/diskio.conf
index 01bf009..fa488c5 100644
--- a/telegraf/files/input/diskio.conf
+++ b/telegraf/files/input/diskio.conf
@@ -1,9 +1,9 @@
 [[inputs.{{ name }}]]
 {%- if values is defined %}
 {%- if values.devices is defined %}
-devices = {{ values.devices }}
+  devices = {{ values.devices }}
 {%- endif %}
 {%- if values.skip_serial_number is defined %}
-skip_serial_number = {{ values.skip_serial_number | lower }}
+  skip_serial_number = {{ values.skip_serial_number | lower }}
 {%- endif %}
 {%- endif %}
diff --git a/telegraf/files/input/procstat.conf b/telegraf/files/input/procstat.conf
index af5aedf..091a560 100644
--- a/telegraf/files/input/procstat.conf
+++ b/telegraf/files/input/procstat.conf
@@ -1,4 +1,5 @@
-{%- for item in values %}
+{%- for item_name, item in values.get('process', {}).iteritems() %}
+{%- if item.get('enabled', True) %}
 [[inputs.{{ name }}]]
 {%- if item.pid_file is defined %}
   pid_file = "{{ item.pid_file }}"
@@ -12,7 +13,6 @@
 {%- if item.user is defined %}
   user = "{{ item.user }}"
 {%- endif %}
-{%- if item.process_name is defined %}
-  process_name = "{{ item.process_name }}"
+  process_name = "{{ item_name }}"
 {%- endif %}
 {%- endfor %}
