示例#1
0
        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;

        }