示例#1
0
 private IEnumerable <ForwardingRule> GetAllProjectForwardingRules(string project)
 {
     if (Global)
     {
         GlobalForwardingRulesResource.ListRequest request =
             Service.GlobalForwardingRules.List(project);
         do
         {
             ForwardingRuleList response = request.Execute();
             if (response.Items != null)
             {
                 foreach (ForwardingRule forwardingRule in response.Items)
                 {
                     yield return(forwardingRule);
                 }
             }
             request.PageToken = response.NextPageToken;
         } while (!Stopping && request.PageToken != null);
     }
     else
     {
         ForwardingRulesResource.AggregatedListRequest request =
             Service.ForwardingRules.AggregatedList(project);
         do
         {
             ForwardingRuleAggregatedList response = request.Execute();
             if (response.Items != null)
             {
                 foreach (KeyValuePair <string, ForwardingRulesScopedList> kvp in response.Items)
                 {
                     if (kvp.Value?.ForwardingRules != null)
                     {
                         foreach (ForwardingRule forwardingRule in kvp.Value.ForwardingRules)
                         {
                             yield return(forwardingRule);
                         }
                     }
                 }
             }
             request.PageToken = response.NextPageToken;
         } while (!Stopping && request.PageToken != null);
     }
 }
示例#2
0
        /// <summary>
        /// Snaps the GlobalForwardingRules.
        /// </summary>
        /// <param name="subscription">The subscription.</param>
        public static StreamWriter SnapGlobalForwardingRules(Subscription subscription, StreamWriter writer)
        {
            writer.Write("GlobalForwardingRules");
            writer.Write(Environment.NewLine);
            writer.Write("ForwardingRules 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",
            });

            GlobalForwardingRulesResource.ListRequest forwardRuleRequest  = computeService.GlobalForwardingRules.List(project);
            ComputeServiceData.ForwardingRuleList     forwardRuleResponse = null;
            do
            {
                try
                {
                    forwardRuleResponse = forwardRuleRequest.Execute();
                }
                catch (Exception ex)
                {
                    log.ErrorFormat("Exception while executing GlobalForwardingRulesResource request: {0}", ex.ToString());
                }
                if (forwardRuleResponse.Items == null)
                {
                    continue;
                }

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

            return(writer);
        }