@@ -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