private IEnumerable <Route> GetAllProjectRoutes()
 {
     RoutesResource.ListRequest request = Service.Routes.List(Project);
     do
     {
         RouteList respone = request.Execute();
         if (respone.Items != null)
         {
             foreach (Route route in respone.Items)
             {
                 yield return(route);
             }
         }
         request.PageToken = respone.NextPageToken;
     }while (!Stopping && request.PageToken != null);
 }
Beispiel #2
0
        /// <summary>
        /// Snaps the Routes.
        /// </summary>
        /// <param name="subscription">The subscription.</param>
        public static StreamWriter SnapRoutes(Subscription subscription, StreamWriter writer)
        {
            writer.Write("Routes");
            writer.Write(Environment.NewLine);
            writer.Write("Route Name", "Project", "Created Time", "Status");
            writer.Write(Environment.NewLine);

            string         scope          = ConfigurationManager.AppSettings["Scope"];
            var            project        = subscription.SubscriptionFriendlyName;
            ComputeService computeService = new ComputeService(new BaseClientService.Initializer
            {
                HttpClientInitializer = GetCredential(ConfigurationManager.AppSettings["AdminUserName"], ConfigurationManager.AppSettings["ServiceAccountKey"], scope),
                ApplicationName       = "Google-ComputeSample/0.1",
            });

            RoutesResource.ListRequest   request  = computeService.Routes.List(project);
            ComputeServiceData.RouteList response = null;
            do
            {
                try
                {
                    response = request.Execute();
                }
                catch (Exception ex)
                {
                    log.ErrorFormat("Exception while executing RouteList request: {0}", ex.ToString());
                }
                if (response.Items == null)
                {
                    continue;
                }

                foreach (ComputeServiceData.Route route in response.Items)
                {
                    if (route.NextHopGateway != null)
                    {
                        writer.Write(string.Format("\"{0}\",\"{1}\",\"{2}\",\"{3}\"", route.Name, subscription.SubscriptionFriendlyName, route.CreationTimestamp, ""));
                        writer.Write(Environment.NewLine);
                    }
                }
            } while (response.NextPageToken != null);

            return(writer);
        }