in pkg/ec2pricing/spotpricing.go [219:233]
func (c *SpotPricing) Save() error {
if c.FullRefreshTTL <= 0 || c.Count() == 0 {
return nil
}
if err := os.Mkdir(c.DirectoryPath, 0o755); err != nil && !errors.Is(err, os.ErrExist) {
return err
}
file, err := os.Create(getSpotCacheFilePath(c.Region, c.DirectoryPath))
if err != nil {
return err
}
defer file.Close()
encoder := gob.NewEncoder(file)
return encoder.Encode(c.cache.Items())
}