X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=osmclient%2Fsol005%2Fns.py;fp=osmclient%2Fsol005%2Fns.py;h=bd72d42156d83e0c2e78ae4b396558eed942752a;hb=ec260c4d245c80d6ff8c0d69ec3726cdc36a301e;hp=9d1fe95afb8faedc1148e6778e43cb11fc2730fc;hpb=95e94b43724d7bb2650e027b5d62b61e30c49fb0;p=osm%2Fosmclient.git diff --git a/osmclient/sol005/ns.py b/osmclient/sol005/ns.py index 9d1fe95..bd72d42 100644 --- a/osmclient/sol005/ns.py +++ b/osmclient/sol005/ns.py @@ -147,7 +147,25 @@ class Ns(object): vnf["vimAccountId"] = get_vim_account_id(vnf.pop("vim_account")) ns["vnf"] = ns_config["vnf"] - #print yaml.safe_dump(ns) + if "additionalParamsForNs" in ns_config: + ns["additionalParamsForNs"] = ns_config.pop("additionalParamsForNs") + if not isinstance(ns["additionalParamsForNs"], dict): + raise ValueError("Error at --config 'additionalParamsForNs' must be a dictionary") + if "additionalParamsForVnf" in ns_config: + ns["additionalParamsForVnf"] = ns_config.pop("additionalParamsForVnf") + if not isinstance(ns["additionalParamsForVnf"], list): + raise ValueError("Error at --config 'additionalParamsForVnf' must be a list") + for additional_param_vnf in ns["additionalParamsForVnf"]: + if not isinstance(additional_param_vnf, dict): + raise ValueError("Error at --config 'additionalParamsForVnf' items must be dictionaries") + if not additional_param_vnf.get("member-vnf-index"): + raise ValueError("Error at --config 'additionalParamsForVnf' items must contain " + "'member-vnf-index'") + if not additional_param_vnf.get("additionalParams"): + raise ValueError("Error at --config 'additionalParamsForVnf' items must contain " + "'additionalParams'") + + # print yaml.safe_dump(ns) try: self._apiResource = '/ns_instances_content' self._apiBase = '{}{}{}'.format(self._apiName,