@@ -92,11 +92,11 @@ type TaggingManager interface {
92
92
}
93
93
94
94
// NewDefaultTaggingManager constructs default TaggingManager.
95
- func NewDefaultTaggingManager (elbv2Client services.ELBV2 , logger logr.Logger ) * defaultTaggingManager {
95
+ func NewDefaultTaggingManager (elbv2Client services.ELBV2 , vpcID string , logger logr.Logger ) * defaultTaggingManager {
96
96
return & defaultTaggingManager {
97
- elbv2Client : elbv2Client ,
98
- logger : logger ,
99
-
97
+ elbv2Client : elbv2Client ,
98
+ vpcID : vpcID ,
99
+ logger : logger ,
100
100
describeTagsChunkSize : defaultDescribeTagsChunkSize ,
101
101
}
102
102
}
@@ -106,9 +106,9 @@ var _ TaggingManager = &defaultTaggingManager{}
106
106
// default implementation for TaggingManager
107
107
// @TODO: use AWS Resource Groups Tagging API to optimize this implementation once it have PrivateLink support.
108
108
type defaultTaggingManager struct {
109
- elbv2Client services.ELBV2
110
- logger logr. Logger
111
-
109
+ elbv2Client services.ELBV2
110
+ vpcID string
111
+ logger logr. Logger
112
112
describeTagsChunkSize int
113
113
}
114
114
@@ -235,20 +235,23 @@ func (m *defaultTaggingManager) ListLoadBalancers(ctx context.Context, tagFilter
235
235
return nil , err
236
236
}
237
237
238
- lbARNs := make ([]string , 0 , len (lbs ))
239
- lbByARN := make (map [string ]* elbv2sdk.LoadBalancer , len (lbs ))
238
+ lbARNsWithinVPC := make ([]string , 0 , len (lbs ))
239
+ lbByARNWithinVPC := make (map [string ]* elbv2sdk.LoadBalancer , len (lbs ))
240
240
for _ , lb := range lbs {
241
+ if awssdk .StringValue (lb .VpcId ) != m .vpcID {
242
+ continue
243
+ }
241
244
lbARN := awssdk .StringValue (lb .LoadBalancerArn )
242
- lbARNs = append (lbARNs , lbARN )
243
- lbByARN [lbARN ] = lb
245
+ lbARNsWithinVPC = append (lbARNsWithinVPC , lbARN )
246
+ lbByARNWithinVPC [lbARN ] = lb
244
247
}
245
- tagsByARN , err := m .describeResourceTags (ctx , lbARNs )
248
+ tagsByARN , err := m .describeResourceTags (ctx , lbARNsWithinVPC )
246
249
if err != nil {
247
250
return nil , err
248
251
}
249
252
250
253
var matchedLBs []LoadBalancerWithTags
251
- for _ , arn := range lbARNs {
254
+ for _ , arn := range lbARNsWithinVPC {
252
255
tags := tagsByARN [arn ]
253
256
matchedAnyTagFilter := false
254
257
for _ , tagFilter := range tagFilters {
@@ -259,7 +262,7 @@ func (m *defaultTaggingManager) ListLoadBalancers(ctx context.Context, tagFilter
259
262
}
260
263
if matchedAnyTagFilter {
261
264
matchedLBs = append (matchedLBs , LoadBalancerWithTags {
262
- LoadBalancer : lbByARN [arn ],
265
+ LoadBalancer : lbByARNWithinVPC [arn ],
263
266
Tags : tags ,
264
267
})
265
268
}
@@ -274,20 +277,23 @@ func (m *defaultTaggingManager) ListTargetGroups(ctx context.Context, tagFilters
274
277
return nil , err
275
278
}
276
279
277
- tgARNs := make ([]string , 0 , len (tgs ))
278
- tgByARN := make (map [string ]* elbv2sdk.TargetGroup , len (tgs ))
280
+ tgARNsWithinVPC := make ([]string , 0 , len (tgs ))
281
+ tgByARNWithinVPC := make (map [string ]* elbv2sdk.TargetGroup , len (tgs ))
279
282
for _ , tg := range tgs {
283
+ if awssdk .StringValue (tg .VpcId ) != m .vpcID {
284
+ continue
285
+ }
280
286
tgARN := awssdk .StringValue (tg .TargetGroupArn )
281
- tgARNs = append (tgARNs , tgARN )
282
- tgByARN [tgARN ] = tg
287
+ tgARNsWithinVPC = append (tgARNsWithinVPC , tgARN )
288
+ tgByARNWithinVPC [tgARN ] = tg
283
289
}
284
- tagsByARN , err := m .describeResourceTags (ctx , tgARNs )
290
+ tagsByARN , err := m .describeResourceTags (ctx , tgARNsWithinVPC )
285
291
if err != nil {
286
292
return nil , err
287
293
}
288
294
289
295
var matchedTGs []TargetGroupWithTags
290
- for _ , arn := range tgARNs {
296
+ for _ , arn := range tgARNsWithinVPC {
291
297
tags := tagsByARN [arn ]
292
298
matchedAnyTagFilter := false
293
299
for _ , tagFilter := range tagFilters {
@@ -298,7 +304,7 @@ func (m *defaultTaggingManager) ListTargetGroups(ctx context.Context, tagFilters
298
304
}
299
305
if matchedAnyTagFilter {
300
306
matchedTGs = append (matchedTGs , TargetGroupWithTags {
301
- TargetGroup : tgByARN [arn ],
307
+ TargetGroup : tgByARNWithinVPC [arn ],
302
308
Tags : tags ,
303
309
})
304
310
}
0 commit comments