public List <string> descrbibeZones() { List <string> zones = new List <string>(); try { DescribeAvailabilityZonesRequest request = new DescribeAvailabilityZonesRequest(); DescribeAvailabilityZonesResponse response = _service.DescribeAvailabilityZones(request); if (response.IsSetDescribeAvailabilityZonesResult()) { DescribeAvailabilityZonesResult describeAvailabilityZonesResult = response.DescribeAvailabilityZonesResult; List <AvailabilityZone> availabilityZoneList = describeAvailabilityZonesResult.AvailabilityZone; foreach (AvailabilityZone availabilityZone in availabilityZoneList) { if (availabilityZone.IsSetZoneName()) { zones.Add(availabilityZone.ZoneName); } } } } catch (AmazonEC2Exception ex) { throw new Exception("Caught Exception: " + ex.XML); } return(zones); }
/// <summary> /// The DescribeAvailabilityZones operation describes availability zones that are /// currently available to the account and their states. /// Availability zones are not the same across accounts. The availability zone /// us-east-1a for account A is not necessarily the same as us-east-1a for account /// B. Zone assignments are mapped independently for each account. /// /// </summary> /// <param name="service">Instance of AmazonEC2 service</param> /// <param name="request">DescribeAvailabilityZonesRequest request</param> public static void InvokeDescribeAvailabilityZones(AmazonEC2 service, DescribeAvailabilityZonesRequest request) { try { DescribeAvailabilityZonesResponse response = service.DescribeAvailabilityZones(request); Console.WriteLine ("Service Response"); Console.WriteLine ("============================================================================="); Console.WriteLine (); Console.WriteLine(" DescribeAvailabilityZonesResponse"); if (response.IsSetResponseMetadata()) { Console.WriteLine(" ResponseMetadata"); ResponseMetadata responseMetadata = response.ResponseMetadata; if (responseMetadata.IsSetRequestId()) { Console.WriteLine(" RequestId"); Console.WriteLine(" {0}", responseMetadata.RequestId); } } if (response.IsSetDescribeAvailabilityZonesResult()) { Console.WriteLine(" DescribeAvailabilityZonesResult"); DescribeAvailabilityZonesResult describeAvailabilityZonesResult = response.DescribeAvailabilityZonesResult; List<AvailabilityZone> availabilityZoneList = describeAvailabilityZonesResult.AvailabilityZone; foreach (AvailabilityZone availabilityZone in availabilityZoneList) { Console.WriteLine(" AvailabilityZone"); if (availabilityZone.IsSetZoneName()) { Console.WriteLine(" ZoneName"); Console.WriteLine(" {0}", availabilityZone.ZoneName); } if (availabilityZone.IsSetZoneState()) { Console.WriteLine(" ZoneState"); Console.WriteLine(" {0}", availabilityZone.ZoneState); } if (availabilityZone.IsSetRegionName()) { Console.WriteLine(" RegionName"); Console.WriteLine(" {0}", availabilityZone.RegionName); } } } } catch (AmazonEC2Exception ex) { Console.WriteLine("Caught Exception: " + ex.Message); Console.WriteLine("Response Status Code: " + ex.StatusCode); Console.WriteLine("Error Code: " + ex.ErrorCode); Console.WriteLine("Error Type: " + ex.ErrorType); Console.WriteLine("Request ID: " + ex.RequestId); Console.WriteLine("XML: " + ex.XML); } }