public string creaNutanixVM(int _idComponente, string _sistemaOperativo, string _siteSec, string _vlanSec, string _rolSet, string _charSet, string _dbName) { NutanixEntrada NutanixIn = new NutanixEntrada(); NutanixIn.idComponente = _idComponente; NutanixIn.sistemaOperativo = _sistemaOperativo; NutanixIn.siteSec = _siteSec; NutanixIn.vlanSec = _vlanSec; NutanixIn.rolSet = _rolSet; NutanixIn.charSet = _charSet; NutanixIn.dbName = _dbName; string resultado = _fun.parametrizacionComponente(NutanixIn, _idComponente); return(resultado); }
//Parametrización por Componente public string parametrizacionComponente(NutanixEntrada nutanix,int idComponente) { string sErros = "", sError = ""; string ambito = "", salida = ""; string json = "", jsonFinal = ""; string script = "", scriptFinal = "", base64 =""; NutanixFunciones nfun = new NutanixFunciones(); NutanixParametros nparam = new NutanixParametros(); NutanixPlantillas nplan = new NutanixPlantillas(); nparam = nfun.cargaDetalleComponente(idComponente, out sError); string[] dbConfig = nutanix.charSet == null ? new string[]{"","",""} : nutanix.charSet.Split('-'); string charSet = dbConfig[0] != "" ? dbConfig[0] : ""; string natcharSet = dbConfig[1] != "" ? dbConfig[1] : ""; string blockSize = dbConfig[2] != "" ? dbConfig[2] : ""; if (nparam.idTipo == 105) { if (nparam.idAmbiente == 22) { ambito = "PRODUCTIVO"; } else ambito= "NO_PRODUCTIVO"; } else { ambito = "APP"; } nplan = cargaJsonNutanix(out sErros, out json, out script, ambito, nutanix.sistemaOperativo, nparam.idTipo.ToString(), nutanix.rolSet); scriptFinal = armarScript(nplan.plantillaScript, nutanix.dbName, charSet,natcharSet,blockSize); base64 = EncodeTo64SL(scriptFinal); jsonFinal = armarJson(nplan.plantillaJson, nutanix.sistemaOperativo, nparam.ramComp.ToString(), nparam.vcoresComp.ToString(), nutanix.vlanSec, base64); salida = llamadaAPICreaVM(jsonFinal); insertaNutanixRequest(idComponente, jsonFinal, scriptFinal, base64, out sError); insertaNutanixResponse(idComponente, salida, "", "PENDING", out sError); return salida; }