Add json_parse and yaml_parse mistral expression functions

This change adds parsing of JSON and YAML as a mistral functions.

Change-Id: I9970abae47ca355861e37cdb5db0ab24d564b57a
Related-Bug: #1736707
This commit is contained in:
Giulio Fidente 2017-12-15 15:24:55 +01:00
parent 98042040e2
commit 9b29951875
2 changed files with 27 additions and 0 deletions

View File

@ -137,3 +137,6 @@ mistral.actions =
tripleo.ansible-playbook = tripleo_common.actions.ansible:AnsiblePlaybookAction
tripleo.templates.upload_default = tripleo_common.actions.templates:UploadTemplatesAction
tripleo.plan.migrate = tripleo_common.actions.plan:MigratePlanAction
mistral.expression.functions =
json_parse = tripleo_common.utils.mistral_expression_utils:json_parse_
yaml_parse = tripleo_common.utils.mistral_expression_utils:yaml_parse_

View File

@ -0,0 +1,24 @@
# Copyright 2015 Red Hat, Inc.
#
# 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.
from oslo_serialization import jsonutils
import yaml
def json_parse_(context, data):
return jsonutils.loads(data)
def yaml_parse_(context, data):
return yaml.safe_load(data)