private IEnumerable <TargetPool> GetRegionTargetPools(string project, string region) { TargetPoolsResource.ListRequest request = Service.TargetPools.List(project, region); do { TargetPoolList response = request.Execute(); if (response.Items != null) { foreach (TargetPool targetPool in response.Items) { yield return(targetPool); } } request.PageToken = response.NextPageToken; } while (!Stopping && request.PageToken != null); }
/// <summary> /// Snaps the TargetPool. /// </summary> /// <param name="subscription">The subscription.</param> public static StreamWriter SnapTargetPool(Subscription subscription, StreamWriter writer, string RegionName) { writer.Write("TargetPool"); writer.Write(Environment.NewLine); writer.Write("TargetPool Name", "Region", "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", }); TargetPoolsResource.ListRequest targetPoolsRequest = computeService.TargetPools.List(project, RegionName); ComputeServiceData.TargetPoolList targetPoolsResponse = null; do { try { targetPoolsResponse = targetPoolsRequest.Execute(); } catch (Exception ex) { log.ErrorFormat("Exception while executing TargetPools request: {0}", ex.ToString()); } if (targetPoolsResponse.Items == null) { continue; } foreach (ComputeServiceData.TargetPool targetPool in targetPoolsResponse.Items) { writer.Write(string.Format("\"{0}\",\"{1}\",\"{2}\",\"{3}\",\"{4}\"", targetPool.Name, RegionName, subscription.SubscriptionFriendlyName, targetPool.CreationTimestamp, "")); writer.Write(Environment.NewLine); } } while (targetPoolsResponse.NextPageToken != null); return(writer); }