Skip to content

Commit 40e5774

Browse files
committed
if the region_name filter is enabled fetch only these regions
1 parent 907535b commit 40e5774

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

internal/netbox/query.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func Query(input concourse.Input, ctx context.Context) ([]concourse.Version, err
3737
}
3838

3939
// Pre-fetch all site regions to avoid per-device API calls
40-
siteRegionCache, err = fetchSiteRegions(client, ctx)
40+
siteRegionCache, err = fetchSiteRegions(client, netboxFilter, ctx)
4141
if err != nil {
4242
return nil, fmt.Errorf("error during site region query: %w", err)
4343
}
@@ -321,7 +321,7 @@ func getTimestamps(device any, input concourse.Input) (*time.Time, time.Time, er
321321
return lastUpdatedTime, referenceTime, nil
322322
}
323323

324-
func fetchSiteRegions(client *netbox.APIClient, ctx context.Context) (map[int32]string, error) {
324+
func fetchSiteRegions(client *netbox.APIClient, netboxFilter filter.NetboxObject, ctx context.Context) (map[int32]string, error) {
325325
cache := make(map[int32]string)
326326
if client == nil {
327327
return cache, nil
@@ -331,6 +331,9 @@ func fetchSiteRegions(client *netbox.APIClient, ctx context.Context) (map[int32]
331331
offset := int32(0)
332332
for {
333333
query := client.DcimAPI.DcimSitesList(ctx).Limit(limit).Offset(offset)
334+
if len(netboxFilter.RegionName) > 0 {
335+
query = query.Region(netboxFilter.RegionName)
336+
}
334337
siteResponse, _, err := query.Execute()
335338
if err != nil {
336339
return nil, fmt.Errorf("error during DcimSitesList query: %w", err)

0 commit comments

Comments
 (0)