pricing

package
v0.0.3-unstable Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 8, 2023 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewPricingAPI

func NewPricingAPI(sess *session.Session, region string) pricingiface.PricingAPI

NewPricingAPI returns a pricing API configured based on a particular region

Types

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

Provider provides actual pricing data to the AWS cloud provider to allow it to make more informed decisions regarding which instances to launch. This is initialized at startup with a periodically updated static price list to support running in locations where pricing data is unavailable. In those cases the static pricing data provides a relative ordering that is still more accurate than our previous pricing model. In the event that a pricing update fails, the previous pricing information is retained and used which may be the static initial pricing data if pricing updates never succeed.

func NewProvider

func NewProvider(ctx context.Context, sess *session.Session, notify func()) *Provider

func NewStaticProvider

func NewStaticProvider() *Provider

func (*Provider) FargatePrice

func (p *Provider) FargatePrice(cpu, memory float64) (float64, bool)

func (*Provider) LivenessProbe

func (p *Provider) LivenessProbe(_ *http.Request) error

func (*Provider) OnDemandLastUpdated

func (p *Provider) OnDemandLastUpdated() time.Time

OnDemandLastUpdated returns the time that the on-demand pricing was last updated

func (*Provider) OnDemandPrice

func (p *Provider) OnDemandPrice(instanceType string) (float64, bool)

OnDemandPrice returns the last known on-demand price for a given instance type, returning an error if there is no known on-demand pricing for the instance type.

func (*Provider) SpotLastUpdated

func (p *Provider) SpotLastUpdated() time.Time

SpotLastUpdated returns the time that the spot pricing was last updated

func (*Provider) SpotPrice

func (p *Provider) SpotPrice(instanceType string, zone string) (float64, bool)

SpotPrice returns the last known spot price for a given instance type and zone, returning an error if there is no known spot pricing for that instance type or zone

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL