Created
July 14, 2022 15:09
-
-
Save roberto-mardeni/194afbefb940499cfab56f1dbe5c31fd to your computer and use it in GitHub Desktop.
Get Azure Virtual Machine Power State with Azure SDK for .Net - CSHARP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using Azure.Identity; | |
using Azure.ResourceManager; | |
using Azure.ResourceManager.Compute; | |
using Azure.ResourceManager.Resources; | |
using Azure.ResourceManager.Compute.Models; | |
static async Task GetVirtualMachinesPowerStateAsync(string resourceGroupName, string virtualMachineName) | |
{ | |
ArmClient client = new ArmClient(new DefaultAzureCredential()); | |
SubscriptionResource subscription = await client.GetDefaultSubscriptionAsync(); | |
ResourceGroupCollection resourceGroups = subscription.GetResourceGroups(); | |
ResourceGroupResource resourceGroup = await resourceGroups.GetAsync(resourceGroupName); | |
VirtualMachineResource virtualMachine = await resourceGroup.GetVirtualMachineAsync(virtualMachineName); | |
if (virtualMachine != null) | |
{ | |
VirtualMachineInstanceView vmIV = await virtualMachine.InstanceViewAsync(); | |
InstanceViewStatus? status = vmIV.Statuses.FirstOrDefault(s => s.Code.StartsWith("PowerState")); | |
if (status != null) | |
{ | |
Console.WriteLine($"{virtualMachine.Data.Name} is: {status.Code} - {status.DisplayStatus}"); | |
} | |
} | |
} | |
await GetVirtualMachinesPowerStateAsync("vsonvm", "myvsvm"); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment