#Author: Shu Shi #emaiL: shushi@research.att.com import sys, json, base64, logging from toscalib.tosca_workbook import ToscaWorkBook input_data = sys.stdin.readline() try: in_data = json.loads(input_data) except ValueError as e: logging.error( 'error, cannot load input json data: ' + str(input_data)) workbook = ToscaWorkBook() workbook._import_dir('./data/shared_model/') #if in_data.has_key('models'): if 'models' in in_data: in_model = in_data['models'] if type(in_model) != list: logging.warning( 'models in the input should be a list type') for model_entry in in_model: for key in ['schema', 'template', 'translate']: # if model_entry.has_key(key): if key in model_entry: workbook._import_yml_str(base64.b64decode(model_entry[key])) #if in_data.has_key('template'): if 'template' in in_data: in_temp = in_data['template'] workbook._translate_template_yaml_str(base64.b64decode(in_temp)) workbook._add_shared_node([{'dcae.capabilities.cdapHost':'cdap_host'}, {'dcae.capabilities.dockerHost': 'docker_host'}, {'dcae.capabilities.composition.host': 'composition_virtual'}]) ret = workbook._export_yaml_web('cloudify,main') print(ret)