summaryrefslogtreecommitdiffstats
path: root/consul-loader-container/yaml2json.py
diff options
context:
space:
mode:
authorJack Lucas <jflos@sonoris.net>2021-02-05 12:10:28 -0500
committerJack Lucas <jflos@sonoris.net>2021-02-05 12:17:08 -0500
commitb65d4c1fc374af0f4b3bb5ea55641efd88f65ab3 (patch)
tree12870005f11e84889427732d3e2e36d282326c37 /consul-loader-container/yaml2json.py
parent7b6c642e4c7bb77d6029a2c06ef3e66e0e19c7e1 (diff)
Add yaml load and key delete to consul-loader-container
Enhance Consul loader to: -- Convert YAML configuration files to JSON before storing the configuration into Consul -- Provide an option to delete a Consul key so that a component's configuration can be removed from Consul when the component is undeployed. Use the ONAP integration team's Python image (integration-python:8.0.0) as base image. Issue-ID: DCAEGEN2-2616 Issue-ID: DCAEGEN2-2488 Signed-off-by: Jack Lucas <jflos@sonoris.net> Change-Id: Iaa45a03e805f64e12881f142de2fa206fb816175
Diffstat (limited to 'consul-loader-container/yaml2json.py')
-rwxr-xr-xconsul-loader-container/yaml2json.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/consul-loader-container/yaml2json.py b/consul-loader-container/yaml2json.py
new file mode 100755
index 0000000..d1ef2da
--- /dev/null
+++ b/consul-loader-container/yaml2json.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+# ================================================================================
+# Copyright (c) 2021 J. F. Lucas. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+#
+import yaml
+import json
+import sys
+
+def _yaml_to_json (y):
+ return json.dumps(yaml.safe_load(y), indent=2)
+
+def main():
+ try:
+ print (_yaml_to_json(sys.stdin.read()))
+ except Exception as e:
+ print(e, file=sys.stderr)
+ sys.exit(1)
+
+if __name__ == "__main__":
+ main() \ No newline at end of file