@@ -746,13 +746,19 @@ def get_create_properties(self, template_properties: dict):
746746 {
747747 "root_prop":"root_value"
748748 "OneFuse_CreateProperties_Test": {
749- "key": "name_app ",
749+ "key": "name_app1 ",
750750 "value": "apache"
751- }
751+ },
752+ "OneFuse_CreateProperties_Apps": [
753+ {"key": "name_app2", "value": "nginx"},
754+ {"key": "name_app3", "value": "mysql"}
755+ ]
752756 }
753757 The above JSON when passed in to this function would return:
754758 {
755- "name_app": "apache"
759+ "name_app1": "apache",
760+ "name_app2": "nginx",
761+ "name_app3": "mysql"
756762 }
757763
758764 Parameters
@@ -765,13 +771,19 @@ def get_create_properties(self, template_properties: dict):
765771 for key in template_properties .keys ():
766772 result = pattern .match (key )
767773 if result is not None :
768- self .logger .debug (f'Starting JSON parse of key: { key } , '
769- f'value: { template_properties [key ]} ' )
774+ self .logger .debug (f'Starting parse of key: { key } , '
775+ f'value: { template_properties [key ]} ' )
770776 value_obj = template_properties [key ]
771777 self .logger .debug (f'Create Props Object: { value_obj } ' )
772- if type (value_obj ) == str :
778+
779+ if isinstance (value_obj , str ):
773780 value_obj = json .loads (value_obj )
774- if value_obj ["key" ] and value_obj ["value" ]:
781+
782+ if isinstance (value_obj , list ):
783+ for item in value_obj :
784+ if isinstance (item , dict ) and "key" in item and "value" in item :
785+ create_properties [item ["key" ]] = item ["value" ]
786+ elif isinstance (value_obj , dict ) and "key" in value_obj and "value" in value_obj :
775787 create_properties [value_obj ["key" ]] = value_obj ["value" ]
776788 return create_properties
777789
0 commit comments