Exemple #1
0
        private async Task <DialogTurnResult> ActStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            var luisResult = await _luisRecognizer.RecognizeAsync <A3ECognitiveModel>(stepContext.Context, cancellationToken);

            switch (luisResult.TopIntent().intent)
            {
            case A3ECognitiveModel.Intent.Azure_Resource_VM_Stop:
                var vmDetails = new VmDetails
                {
                    VmName = luisResult.Entities.VmName?.FirstOrDefault(),
                    RgName = luisResult.Entities.RgName?.FirstOrDefault()
                };

                return(await stepContext.BeginDialogAsync(nameof(StopVmDialog), vmDetails, cancellationToken));

            default:
                // Catch all for unhandled intents
                var didntUnderstandMessageText = $"Sorry, I didn't get that. Please try asking in a different way (intent was {luisResult.TopIntent().intent})";
                var didntUnderstandMessage     = MessageFactory.Text(didntUnderstandMessageText, didntUnderstandMessageText, InputHints.IgnoringInput);
                await stepContext.Context.SendActivityAsync(didntUnderstandMessage, cancellationToken);

                break;
            }

            return(await stepContext.NextAsync(null, cancellationToken));
        }
Exemple #2
0
    public VmDetails GetVmDetails(String vmId)
    {
        HttpWebResponse response = fetch("/rest/vcenter/vm/" + vmId);

        if ((int)response.StatusCode == 200)
        {
            String    body    = GetDocumentContents(response);
            VmDetails details = JsonUtility.FromJson <VmDetails>(body);
            return(details);
        }
        return(null);
    }
Exemple #3
0
    public String GetVmDetailsStr(VmDetails details)
    {
        long        capacity = 0;
        List <Disk> disks    = details.value.disks;

        foreach (Disk disk in disks)
        {
            capacity += (long)disk.value.capacity;
        }
        capacity = capacity / (1024 * 1024 * 1024);
        string     capacityStr  = capacity.ToString() + " GB";
        string     networkNames = "\n";
        List <Nic> nics         = details.value.nics;

        foreach (Nic nic in nics)
        {
            networkNames += "    " + nic.value.backing.network_name + "\n";
        }

        networkNames = networkNames.Substring(0, networkNames.Length - 1);
        string result = String.Format("CPU: {0}\nOS: {1}\nMemory: {2}\nStorage: {3}\nNetwork: {4}\nPower: {5}\nHardware: {6}\n", details.value.cpu.count, details.value.guest_OS, details.value.memory.size_MiB / 1024 + " GB", capacityStr, networkNames, details.value.power_state, details.value.hardware.version);

        return(result);
    }
Exemple #4
0
    public String GetPowerStr(VmDetails details)
    {
        string result = String.Format("{0}", details.value.power_state);

        return(result);
    }
Exemple #5
0
    public String GetOSStr(VmDetails details)
    {
        string result = String.Format("{0}", details.value.guest_OS);

        return(result);
    }
Exemple #6
0
    public String GetMEMStr(VmDetails details)
    {
        string result = String.Format("{0} GB", details.value.memory.size_MiB / 1024);

        return(result);
    }
Exemple #7
0
    public String GetNumCPUStr(VmDetails details)
    {
        string result = String.Format("{0}", details.value.cpu.count);

        return(result);
    }