Add http_listener input

This also adds service classes for both agent and remote_agent services.

Change-Id: I9afa5c93641a3b8c1a7403c553f30fb931d15057
diff --git a/metadata/service/agent/input/http_listener.yml b/metadata/service/agent/input/http_listener.yml
new file mode 100644
index 0000000..a5ff0c6
--- /dev/null
+++ b/metadata/service/agent/input/http_listener.yml
@@ -0,0 +1,11 @@
+parameters:
+  telegraf:
+    agent:
+      input:
+        http_listener:
+          bind:
+            address: 127.0.0.1
+            port: 8186
+          read_timeout: 10s
+          write_timeout: 10s
+          tagexclude: ['hostname']
diff --git a/metadata/service/agent/remote.yml b/metadata/service/agent/remote/init.yml
similarity index 100%
rename from metadata/service/agent/remote.yml
rename to metadata/service/agent/remote/init.yml
diff --git a/metadata/service/agent/remote/input/http_listener.yml b/metadata/service/agent/remote/input/http_listener.yml
new file mode 100644
index 0000000..5413c4f
--- /dev/null
+++ b/metadata/service/agent/remote/input/http_listener.yml
@@ -0,0 +1,11 @@
+parameters:
+  telegraf:
+    remote_agent:
+      input:
+        http_listener:
+          bind:
+            address: 0.0.0.0
+            port: 8186
+          read_timeout: 10s
+          write_timeout: 10s
+          tagexclude: ['hostname']
diff --git a/telegraf/files/input/http_listener.conf b/telegraf/files/input/http_listener.conf
new file mode 100644
index 0000000..41f106b
--- /dev/null
+++ b/telegraf/files/input/http_listener.conf
@@ -0,0 +1,6 @@
+[[inputs.http_listener]]
+ service_address = "{{ values.get('bind', {}).address|default('127.0.0.1') }}:{{ values.get('bind', {}).port|default('8186') }}"
+ read_timeout = "{{ values.get('read_timeout', '10s') }}"
+ write_timeout = "{{ values.get('write_timeout', '10s') }}"
+
+{%- include 'telegraf/files/input/_tags.conf' %}