diff --git a/providers/ibm/ibm_is_lb.go b/providers/ibm/ibm_is_lb.go index 36e87d2c0..12f921394 100644 --- a/providers/ibm/ibm_is_lb.go +++ b/providers/ibm/ibm_is_lb.go @@ -141,7 +141,23 @@ func (g *LBGenerator) InitResources() error { if err != nil { return fmt.Errorf("Error Fetching load balancers %s\n%s", err, response) } - allrecs = append(allrecs, lbs.LoadBalancers...) + filters := make([]string, 0) + for _, filter := range g.Filter { + if filter.FieldPath == "id" && filter.IsApplicable("ibm_is_lb") { + filters = append(filters, filter.AcceptableValues...) + } + } + if len(filters) > 0 { + for _, filter := range filters { + for _, lb := range lbs.LoadBalancers { + if *lb.ID == filter { + allrecs = append(allrecs, lb) + } + } + } + } else { + allrecs = append(allrecs, lbs.LoadBalancers...) + } for _, lb := range allrecs { g.Resources = append(g.Resources, g.createLBResources(*lb.ID, *lb.Name))