+ if "additionalParamsForNs" in ns_config:
+ if not isinstance(ns_config["additionalParamsForNs"], dict):
+ raise ClientException("Error at --config 'additionalParamsForNs' must be a dictionary")
+ if "additionalParamsForVnf" in ns_config:
+ if not isinstance(ns_config["additionalParamsForVnf"], list):
+ raise ClientException("Error at --config 'additionalParamsForVnf' must be a list")
+ for additional_param_vnf in ns_config["additionalParamsForVnf"]:
+ if not isinstance(additional_param_vnf, dict):
+ raise ClientException("Error at --config 'additionalParamsForVnf' items must be dictionaries")
+ if not additional_param_vnf.get("member-vnf-index"):
+ raise ClientException("Error at --config 'additionalParamsForVnf' items must contain "
+ "'member-vnf-index'")
+ if "wim_account" in ns_config:
+ wim_account = ns_config.pop("wim_account")
+ if wim_account is not None:
+ ns['wimAccountId'] = get_wim_account_id(wim_account)
+ # rest of parameters without any transformation or checking
+ # "timeout_ns_deploy"
+ # "placement-engine"
+ ns.update(ns_config)
+
+ # print(yaml.safe_dump(ns))