Esempio n. 1
0
        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);
            }
        }