public static SimplifiedNic GetNicDetails(String accessToken, ComputeVm Vm) { string authToken = "Bearer" + " " + accessToken; var client = new WebClient(); client.Headers.Add("Authorization", authToken); client.Headers.Add("Content-Type", "application/json"); var nic = Vm.properties.networkProfile.networkInterfaces.FirstOrDefault(); string nicLink = nic.id; String nicUrl = String.Format("https://management.azure.com{0}{1}", nicLink, "?api-version=2015-05-01-preview"); String nicText = client.DownloadString(nicUrl); //ComputeVms rgCompVms = JsonConvert.DeserializeObject<ComputeVms>(rgVmsText); ArmRest.Models.NetworkInterfaceDetails.RootObject nicObj = JsonConvert.DeserializeObject<ArmRest.Models.NetworkInterfaceDetails.RootObject>(nicText); String InternalIpAddress = nicObj.properties.ipConfigurations.FirstOrDefault().properties.privateIPAddress; String PublicIpLink = nicObj.properties.ipConfigurations.FirstOrDefault().properties.publicIPAddress.id; String publicIpUrl = String.Format("https://management.azure.com{0}{1}", PublicIpLink, "?api-version=2015-05-01-preview"); String publicIpText = client.DownloadString(publicIpUrl); ArmRest.Models.PublicIpAddress.RootObject publicIpAddressObj = JsonConvert.DeserializeObject<ArmRest.Models.PublicIpAddress.RootObject>(publicIpText); SimplifiedNic thisSimplifiedNic = new SimplifiedNic(); thisSimplifiedNic.InternalIpAddress = InternalIpAddress; String PublicIpAddress = null; try { PublicIpAddress = publicIpAddressObj.properties.ipAddress; thisSimplifiedNic.PublicIpAddress = PublicIpAddress; } catch { } try { thisSimplifiedNic.PublicHostName = publicIpAddressObj.properties.dnsSettings.fqdn; } catch { } return thisSimplifiedNic; }