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;
}