Skip to content

Commit d3303fe

Browse files
committed
if the region_name filter is enabled fetch only these regions
1 parent 5ffe530 commit d3303fe

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

CHANGELOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11

22
# Changelog
33

4-
## v0.2.0
4+
## 0.2.0
55

66
* DeviceSite, DeviceRegion and DeviceTags properties added to the version output
77
* DeviceRegion filter added to the check command
88
* golang version updated to `1.25.7`
99

10-
## v0.1.0
10+
## 0.1.0
1111

1212
* official netbox library used
1313
* check command with filter support

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)