diff options
author | Jack Lucas <jflos@sonoris.net> | 2021-02-05 12:10:28 -0500 |
---|---|---|
committer | Jack Lucas <jflos@sonoris.net> | 2021-02-05 12:17:08 -0500 |
commit | b65d4c1fc374af0f4b3bb5ea55641efd88f65ab3 (patch) | |
tree | 12870005f11e84889427732d3e2e36d282326c37 /consul-loader-container/yaml2json.py | |
parent | 7b6c642e4c7bb77d6029a2c06ef3e66e0e19c7e1 (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-x | consul-loader-container/yaml2json.py | 33 |
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 |