@@ -29,7 +29,6 @@ const (
2929 CacheTitle
3030 // CacheMarketPlaceUUID is used to determine the UUID of local images
3131 CacheMarketPlaceUUID
32-
3332 // CacheMaxfield is used to determine the size of array
3433 CacheMaxfield
3534)
@@ -87,13 +86,14 @@ type ScalewayResolverResult struct {
8786 Arch string
8887 Needle string
8988 RankMatch int
89+ Region string
9090}
9191
9292// ScalewayResolverResults is a list of `ScalewayResolverResult`
9393type ScalewayResolverResults []ScalewayResolverResult
9494
9595// NewScalewayResolverResult returns a new ScalewayResolverResult
96- func NewScalewayResolverResult (Identifier , Name , Arch string , Type int ) (ScalewayResolverResult , error ) {
96+ func NewScalewayResolverResult (Identifier , Name , Arch , Region string , Type int ) (ScalewayResolverResult , error ) {
9797 if err := anonuuid .IsUUID (Identifier ); err != nil {
9898 return ScalewayResolverResult {}, err
9999 }
@@ -102,6 +102,7 @@ func NewScalewayResolverResult(Identifier, Name, Arch string, Type int) (Scalewa
102102 Type : Type ,
103103 Name : Name ,
104104 Arch : Arch ,
105+ Region : Region ,
105106 }, nil
106107}
107108
@@ -268,7 +269,7 @@ func (c *ScalewayCache) LookUpImages(needle string, acceptUUID bool) (ScalewayRe
268269
269270 if acceptUUID && anonuuid .IsUUID (needle ) == nil {
270271 if fields , ok := c .Images [needle ]; ok {
271- entry , err := NewScalewayResolverResult (needle , fields [CacheTitle ], fields [CacheArch ], IdentifierImage )
272+ entry , err := NewScalewayResolverResult (needle , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierImage )
272273 if err != nil {
273274 return ScalewayResolverResults {}, err
274275 }
@@ -282,22 +283,22 @@ func (c *ScalewayCache) LookUpImages(needle string, acceptUUID bool) (ScalewayRe
282283 nameRegex := regexp .MustCompile (`(?i)` + regexp .MustCompile (`[_-]` ).ReplaceAllString (needle , ".*" ))
283284 for identifier , fields := range c .Images {
284285 if fields [CacheTitle ] == needle {
285- entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], IdentifierImage )
286+ entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierImage )
286287 if err != nil {
287288 return ScalewayResolverResults {}, err
288289 }
289290 entry .ComputeRankMatch (needle )
290291 exactMatches = append (exactMatches , entry )
291292 }
292293 if strings .HasPrefix (identifier , needle ) || nameRegex .MatchString (fields [CacheTitle ]) {
293- entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], IdentifierImage )
294+ entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierImage )
294295 if err != nil {
295296 return ScalewayResolverResults {}, err
296297 }
297298 entry .ComputeRankMatch (needle )
298299 res = append (res , entry )
299300 } else if strings .HasPrefix (fields [CacheMarketPlaceUUID ], needle ) || nameRegex .MatchString (fields [CacheMarketPlaceUUID ]) {
300- entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], IdentifierImage )
301+ entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierImage )
301302 if err != nil {
302303 return ScalewayResolverResults {}, err
303304 }
@@ -323,7 +324,7 @@ func (c *ScalewayCache) LookUpSnapshots(needle string, acceptUUID bool) (Scalewa
323324
324325 if acceptUUID && anonuuid .IsUUID (needle ) == nil {
325326 if fields , ok := c .Snapshots [needle ]; ok {
326- entry , err := NewScalewayResolverResult (needle , fields [CacheTitle ], fields [CacheArch ], IdentifierSnapshot )
327+ entry , err := NewScalewayResolverResult (needle , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierSnapshot )
327328 if err != nil {
328329 return ScalewayResolverResults {}, err
329330 }
@@ -336,15 +337,15 @@ func (c *ScalewayCache) LookUpSnapshots(needle string, acceptUUID bool) (Scalewa
336337 nameRegex := regexp .MustCompile (`(?i)` + regexp .MustCompile (`[_-]` ).ReplaceAllString (needle , ".*" ))
337338 for identifier , fields := range c .Snapshots {
338339 if fields [CacheTitle ] == needle {
339- entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], IdentifierSnapshot )
340+ entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierSnapshot )
340341 if err != nil {
341342 return ScalewayResolverResults {}, err
342343 }
343344 entry .ComputeRankMatch (needle )
344345 exactMatches = append (exactMatches , entry )
345346 }
346347 if strings .HasPrefix (identifier , needle ) || nameRegex .MatchString (fields [CacheTitle ]) {
347- entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], IdentifierSnapshot )
348+ entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierSnapshot )
348349 if err != nil {
349350 return ScalewayResolverResults {}, err
350351 }
@@ -370,7 +371,7 @@ func (c *ScalewayCache) LookUpVolumes(needle string, acceptUUID bool) (ScalewayR
370371
371372 if acceptUUID && anonuuid .IsUUID (needle ) == nil {
372373 if fields , ok := c .Volumes [needle ]; ok {
373- entry , err := NewScalewayResolverResult (needle , fields [CacheTitle ], fields [CacheArch ], IdentifierVolume )
374+ entry , err := NewScalewayResolverResult (needle , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierVolume )
374375 if err != nil {
375376 return ScalewayResolverResults {}, err
376377 }
@@ -382,15 +383,15 @@ func (c *ScalewayCache) LookUpVolumes(needle string, acceptUUID bool) (ScalewayR
382383 nameRegex := regexp .MustCompile (`(?i)` + regexp .MustCompile (`[_-]` ).ReplaceAllString (needle , ".*" ))
383384 for identifier , fields := range c .Volumes {
384385 if fields [CacheTitle ] == needle {
385- entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], IdentifierVolume )
386+ entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierVolume )
386387 if err != nil {
387388 return ScalewayResolverResults {}, err
388389 }
389390 entry .ComputeRankMatch (needle )
390391 exactMatches = append (exactMatches , entry )
391392 }
392393 if strings .HasPrefix (identifier , needle ) || nameRegex .MatchString (fields [CacheTitle ]) {
393- entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], IdentifierVolume )
394+ entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierVolume )
394395 if err != nil {
395396 return ScalewayResolverResults {}, err
396397 }
@@ -416,7 +417,7 @@ func (c *ScalewayCache) LookUpBootscripts(needle string, acceptUUID bool) (Scale
416417
417418 if acceptUUID && anonuuid .IsUUID (needle ) == nil {
418419 if fields , ok := c .Bootscripts [needle ]; ok {
419- entry , err := NewScalewayResolverResult (needle , fields [CacheTitle ], fields [CacheArch ], IdentifierBootscript )
420+ entry , err := NewScalewayResolverResult (needle , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierBootscript )
420421 if err != nil {
421422 return ScalewayResolverResults {}, err
422423 }
@@ -428,15 +429,15 @@ func (c *ScalewayCache) LookUpBootscripts(needle string, acceptUUID bool) (Scale
428429 nameRegex := regexp .MustCompile (`(?i)` + regexp .MustCompile (`[_-]` ).ReplaceAllString (needle , ".*" ))
429430 for identifier , fields := range c .Bootscripts {
430431 if fields [CacheTitle ] == needle {
431- entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], IdentifierBootscript )
432+ entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierBootscript )
432433 if err != nil {
433434 return ScalewayResolverResults {}, err
434435 }
435436 entry .ComputeRankMatch (needle )
436437 exactMatches = append (exactMatches , entry )
437438 }
438439 if strings .HasPrefix (identifier , needle ) || nameRegex .MatchString (fields [CacheTitle ]) {
439- entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], IdentifierBootscript )
440+ entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierBootscript )
440441 if err != nil {
441442 return ScalewayResolverResults {}, err
442443 }
@@ -462,7 +463,7 @@ func (c *ScalewayCache) LookUpServers(needle string, acceptUUID bool) (ScalewayR
462463
463464 if acceptUUID && anonuuid .IsUUID (needle ) == nil {
464465 if fields , ok := c .Servers [needle ]; ok {
465- entry , err := NewScalewayResolverResult (needle , fields [CacheTitle ], fields [CacheArch ], IdentifierServer )
466+ entry , err := NewScalewayResolverResult (needle , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierServer )
466467 if err != nil {
467468 return ScalewayResolverResults {}, err
468469 }
@@ -474,15 +475,15 @@ func (c *ScalewayCache) LookUpServers(needle string, acceptUUID bool) (ScalewayR
474475 nameRegex := regexp .MustCompile (`(?i)` + regexp .MustCompile (`[_-]` ).ReplaceAllString (needle , ".*" ))
475476 for identifier , fields := range c .Servers {
476477 if fields [CacheTitle ] == needle {
477- entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], IdentifierServer )
478+ entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierServer )
478479 if err != nil {
479480 return ScalewayResolverResults {}, err
480481 }
481482 entry .ComputeRankMatch (needle )
482483 exactMatches = append (exactMatches , entry )
483484 }
484485 if strings .HasPrefix (identifier , needle ) || nameRegex .MatchString (fields [CacheTitle ]) {
485- entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], IdentifierServer )
486+ entry , err := NewScalewayResolverResult (identifier , fields [CacheTitle ], fields [CacheArch ], fields [ CacheRegion ], IdentifierServer )
486487 if err != nil {
487488 return ScalewayResolverResults {}, err
488489 }
@@ -551,7 +552,7 @@ func (c *ScalewayCache) LookUpIdentifiers(needle string) (ScalewayResolverResult
551552 return ScalewayResolverResults {}, err
552553 }
553554 for _ , result := range servers {
554- entry , err := NewScalewayResolverResult (result .Identifier , result .Name , result .Arch , IdentifierServer )
555+ entry , err := NewScalewayResolverResult (result .Identifier , result .Name , result .Arch , result . Region , IdentifierServer )
555556 if err != nil {
556557 return ScalewayResolverResults {}, err
557558 }
@@ -566,7 +567,7 @@ func (c *ScalewayCache) LookUpIdentifiers(needle string) (ScalewayResolverResult
566567 return ScalewayResolverResults {}, err
567568 }
568569 for _ , result := range images {
569- entry , err := NewScalewayResolverResult (result .Identifier , result .Name , result .Arch , IdentifierImage )
570+ entry , err := NewScalewayResolverResult (result .Identifier , result .Name , result .Arch , result . Region , IdentifierImage )
570571 if err != nil {
571572 return ScalewayResolverResults {}, err
572573 }
@@ -581,7 +582,7 @@ func (c *ScalewayCache) LookUpIdentifiers(needle string) (ScalewayResolverResult
581582 return ScalewayResolverResults {}, err
582583 }
583584 for _ , result := range snapshots {
584- entry , err := NewScalewayResolverResult (result .Identifier , result .Name , result .Arch , IdentifierSnapshot )
585+ entry , err := NewScalewayResolverResult (result .Identifier , result .Name , result .Arch , result . Region , IdentifierSnapshot )
585586 if err != nil {
586587 return ScalewayResolverResults {}, err
587588 }
@@ -596,7 +597,7 @@ func (c *ScalewayCache) LookUpIdentifiers(needle string) (ScalewayResolverResult
596597 return ScalewayResolverResults {}, err
597598 }
598599 for _ , result := range volumes {
599- entry , err := NewScalewayResolverResult (result .Identifier , result .Name , result .Arch , IdentifierVolume )
600+ entry , err := NewScalewayResolverResult (result .Identifier , result .Name , result .Arch , result . Region , IdentifierVolume )
600601 if err != nil {
601602 return ScalewayResolverResults {}, err
602603 }
@@ -611,7 +612,7 @@ func (c *ScalewayCache) LookUpIdentifiers(needle string) (ScalewayResolverResult
611612 return ScalewayResolverResults {}, err
612613 }
613614 for _ , result := range bootscripts {
614- entry , err := NewScalewayResolverResult (result .Identifier , result .Name , result .Arch , IdentifierBootscript )
615+ entry , err := NewScalewayResolverResult (result .Identifier , result .Name , result .Arch , result . Region , IdentifierBootscript )
615616 if err != nil {
616617 return ScalewayResolverResults {}, err
617618 }
0 commit comments