// TODO : make sovereign cloud available public static Task <Image> GetVMConsoleScreenshot(int icm, ARMDeployment deployment) { Log.Information("Calling GenevaAction with params {0}", deployment); var param = new GenevaOperations.GetVMConsoleScreenshot { smecrpregion = deployment.Location, smeresourcegroupnameparameter = deployment.ResourceGroups, smevmnameparameter = deployment.Name, wellknownsubscriptionid = deployment.Subscriptions }; var actionParam = Utility.JsonToObject <Dictionary <string, string> >(Utility.ObjectToJson(param)); var task = new GenevaAction(icm, Constants.GetVMConsoleScreenshotExtensionName, Constants.GetVMConsoleScreenshotOperationName, actionParam).GetOperationFileOutputAsync(icm); // VMConsoleSerialLog contain only one file, compressed in a zip. return(Task.Run(() => ( task.Result != null ? Image.FromStream(Utility.ExtractZip(task.Result).Entries.Where(x => x.Name != "").First().Open()) : null ))); }
public static Task <string> GetVMView(int icm, ARMDeployment deployment, string option) { Log.Information("Calling GenevaAction GetVMModelAndInstanceView of option:{0} with params {1}", option, deployment); var param = new GenevaOperations.GetVMModelAndInstanceView { smecrpregion = deployment.Location, smeresourcegroupnameparameter = deployment.ResourceGroups, smevmnameparameter = deployment.Name, wellknownsubscriptionid = deployment.Subscriptions, smegetvmoptionparameter = option }; var actionParam = Utility.JsonToObject <Dictionary <string, string> >(Utility.ObjectToJson(param)); var task = new GenevaAction(icm, Constants.GetVMInfoExtensionName, Constants.GetVMInfoOperationName, actionParam).GetOperationResultOutputAsync(icm); return(Task.Run(() => ( task.Result ))); }
// TODO : make sovereign cloud available public static Task <Image> GetClassicVMConsoleScreenshot(int icm, ShortRDFERoleInstance instance) { Log.Information("Calling GenevaAction GetARMSubscription with params {0}", instance); var param = new GenevaOperations.GetClassicVMScreenshot { smefabrichostparam = instance.Fabric, smescreenshotsizeparam = Constants.GetClassicVMClassicScreenshotSize, smetenantnameparam = instance.DeploymentId, smevmnameparam = instance.InstanceName }; var actionParam = Utility.JsonToObject <Dictionary <string, string> >(Utility.ObjectToJson(param)); var task = new GenevaAction(icm, Constants.GetClassicVMClassicScreenshotExtensionName, Constants.GetClassicVMClassicScreenshotOperatorName, actionParam).GetOperationFileOutputAsync(icm); // VMConsoleSerialLog contain only one file, compressed in a zip. return(Task.Run(() => ( task.Result != null ? Image.FromStream(Utility.ExtractZip(task.Result).Entries.Where(x => x.Name != "").First().Open()) : null ))); }
// TODO : make sovereign cloud available public static Task <ZipArchiveEntry> GetNodeDiagnosticsFilesByDeploymentIdorVMName(int icm, ShortRDFERoleInstance instance) { Log.Information("Calling GenevaAction GetNodeDiagnostics with params {0}", instance); var param = new GenevaOperations.GetNodeDiagnosticsDeployment { smefabrichostparam = instance.Fabric, smenodediagnosticstagparam = Constants.GetNodeDiagnosticsParam, smedeploymentidordeploymentparam = instance.DeploymentId, smevmnameparam = instance.InstanceName }; var actionParam = Utility.JsonToObject <Dictionary <string, string> >(Utility.ObjectToJson(param)); var task = new GenevaAction(icm, Constants.GetNodeDiagnosticsExtensionName, Constants.GetNodeDiagnosticsOperatorNameDeployment, actionParam).GetOperationFileOutputAsync(icm); // VMConsoleSerialLog contain only one file, compressed in a zip. return(Task.Run(() => ( task.Result != null ? Utility.ExtractZip(task.Result).Entries.Where(x => x.Name != "").First() : null ))); }
// TODO : make sovereign cloud available public static Task <String> GetVMConsoleSerialLogs(int icm, ARMDeployment deployment, int id) { Log.Information("Calling GetVMConsoleSerialLogs of id:{0} with params {1}", id, deployment); var param = new GenevaOperations.GetVMConsoleSerialLogsVMSS { smecrpregion = deployment.Location, smeresourcegroupnameparameter = deployment.ResourceGroups, smevirtualmachinescalesetnameparameter = deployment.Name, wellknownsubscriptionid = deployment.Subscriptions, smevirtualmachinescalesetvminstanceidparameter = id }; var actionParam = Utility.JsonToObject <Dictionary <string, string> >(Utility.ObjectToJson(param)); var task = new GenevaAction(icm, Constants.GetVMConsoleSerialLogsExtensionName, Constants.GetVMSSConsoleSerialLogsOperationName, actionParam).GetOperationFileOutputAsync(icm); // VMConsoleSerialLog contain only one file, compressed in a zip. return(Task.Run(() => ( task.Result != null ? new StreamReader(Utility.ExtractZip(task.Result).Entries.Where(x => x.Name != "").First().Open(), System.Text.Encoding.UTF8).ReadToEnd() : "N/A" ))); }
public static Task <Stream> GetNodeDiagnosticsFiles(int icm, string cluster, string nodeid, string logType, string startTime, string endTime) { Log.Information("Calling GenevaAction GetNodeDiagnostics (for host type: {0}) with params cluster:{1} and nodeid:{2}", logType, cluster, nodeid); var param = new GenevaOperations.GetNodeDiagnosticsFiles { smefabrichostparam = cluster, smenodeidparam = nodeid, smenodediagnosticstypeparam = "", smenodediagnosticstagparam = logType, smestarttimeparam = startTime, smeendtimeparam = endTime }; var actionParam = Utility.JsonToObject <Dictionary <string, string> >(Utility.ObjectToJson(param)); var task = new GenevaAction(icm, Constants.GetNodeDiagnosticsExtensionName, Constants.GetNodeDiagnosticsOperatorNameFiles, actionParam).GetOperationFileOutputAsync(icm); return(Task.Run(() => ( task.Result ))); }
// TODO : make sovereign cloud available public static Task <Stream> InspectIaaSDiskForARMVM(int icm, ARMDeployment deployment) { var param = new GenevaOperations.InspectIaaSDiskForARMVM { smecrpregion = deployment.Location, smeresourcegroupname = deployment.ResourceGroups, smevmname = deployment.Name, wellknownscopedsubscriptionid = deployment.Subscriptions, smelogextractmode = Constants.InspectIaaSDiskForARMVMMode, smeskiptostep = Constants.InspectIaaSDiskForARMVMStep, smetimeoutinmins = Constants.InspectIaaSDiskForARMVMTimeout }; Log.Information("Calling InspectIaaSDiskForARMVM with params {0}", param); var actionParam = Utility.JsonToObject <Dictionary <string, string> >(Utility.ObjectToJson(param)); var task = new GenevaAction(icm, Constants.InspectIaaSDiskForARMVMExtensionName, Constants.InspectIaaSDiskForARMVMOperationName, actionParam).GetOperationFileOutputAsync(icm); // VMConsoleSerialLog contain only one file, compressed in a zip. return(Task.Run(() => ( task.Result ))); }