/// <summary>
/// Load availability zones to view model with AWS data based on region selected and EC2 classic/vpc
/// </summary>
private void LoadAvailabilityZones(AmazonEC2Client ec2Client)
{
try
{
DescribeAvailabilityZonesRequest azreq = new DescribeAvailabilityZonesRequest();
DescribeAvailabilityZonesResponse azresp = ec2Client.DescribeAvailabilityZones(azreq);
Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() =>
{
vm.Zones.Clear();
}));
foreach (AvailabilityZone az in azresp.DescribeAvailabilityZonesResult.AvailabilityZone)
{
Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() =>
{
vm.Zones.Add(az);
}));
}
}
catch (Exception ex)
{
LogManager.LogEntry(ex.Message);
LogManager.LogEntry(ex.StackTrace);
throw new DataLoadingException("Error occurred loading availability zones for region and environment type");
}
}