Refactor: move telemetry config from componentCfg to configs.xml

1. Support to export the metrics to multiple targets
2. Add a set of properties to kafka config (key, topic, etc.)
3. Add distributedStore to manage telemetry configs
4. Add CLI to query stored telemetry configs
5. Add a set of telemetry loaders to import xml definitions
6. Add unit tests for telemetry cfg, xml cfg loader and dist store
7. Add missing javadoc for a set of implementation classes

Change-Id: I39480c9a6ac07357184d2e1094b9c9f4d36fd8b1
diff --git a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryService.java b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryService.java
index 86ebb65..7806ff7 100644
--- a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryService.java
+++ b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryService.java
@@ -21,9 +21,51 @@
 public interface TelemetryService {
 
     /**
+     * Telemetry service type.
+     */
+    enum ServiceType {
+        /**
+         * Indicates KAFKA telemetry service.
+         */
+        KAFKA,
+
+        /**
+         * Indicates GRPC telemetry service.
+         */
+        GRPC,
+
+        /**
+         * Indicates REST telemetry service.
+         */
+        REST,
+
+        /**
+         * Indicates InfluxDB telemetry service.
+         */
+        INFLUXDB,
+
+        /**
+         * Indicates prometheus telemetry service.
+         */
+        PROMETHEUS,
+
+        /**
+         * Indicates unknown telemetry service.
+         */
+        UNKNOWN
+    }
+
+    /**
      * Checks whether the telemetry service is running or not.
      *
      * @return telemetry service running status
      */
     boolean isRunning();
+
+    /**
+     * Obtains the service type.
+     *
+     * @return service type
+     */
+    ServiceType type();
 }