func()

in sharedlibraries/gce/gce.go [168:183]


func (g *GCE) GetForwardingRuleByIP(project, ip string) (*compute.ForwardingRule, error) {
	filter := fmt.Sprintf("(IPAddress eq %s)", ip)
	list, err := g.service.ForwardingRules.AggregatedList(project).Filter(filter).Do()
	if err != nil {
		return nil, fmt.Errorf("error retrieving aggregated forwarding rules list: %s", err)
	}

	for _, l := range list.Items {
		for _, fwr := range l.ForwardingRules {
			if fwr.IPAddress == ip {
				return fwr, nil
			}
		}
	}
	return nil, errors.Errorf("no forwarding rule with IP %s found", ip)
}