/// <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"); } }