in pkg/providers/pricing/pricing.go [215:249]
func (p *Provider) fetchPricing(ctx context.Context, pageHandler func(output *client.ProductsPricePage)) *Err {
p.mu.Lock()
defer p.mu.Unlock()
filters := []*client.Filter{
{
Field: "priceType",
Operator: client.Equals,
Value: "Consumption",
},
{
Field: "currencyCode",
Operator: client.Equals,
Value: "USD",
},
{
Field: "serviceFamily",
Operator: client.Equals,
Value: "Compute",
},
{
Field: "serviceName",
Operator: client.Equals,
Value: "Virtual Machines",
},
{
Field: "armRegionName",
Operator: client.Equals,
Value: p.region,
}}
err := p.pricing.GetProductsPricePages(ctx, filters, pageHandler)
if err != nil {
return &Err{error: err, lastOnDemandUpdateTime: p.onDemandUpdateTime, lastSpotUpdateTime: p.spotUpdateTime}
}
return nil
}