X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/4f3739a4967959db6783408d8aad2137b9ebdab5..37eb070f55b5ae0c622fb4bf0a946c9dd49b2752:/lib/cloud/interfaces.go?ds=sidebyside diff --git a/lib/cloud/interfaces.go b/lib/cloud/interfaces.go index 2d53a49c51..27cf26152c 100644 --- a/lib/cloud/interfaces.go +++ b/lib/cloud/interfaces.go @@ -102,6 +102,12 @@ type Instance interface { // Replace tags with the given tags SetTags(InstanceTags) error + // Get recent price history, if available. The InstanceType is + // supplied as an argument so the driver implementation can + // account for AddedScratch cost without requesting the volume + // attachment information from the provider's API. + PriceHistory(arvados.InstanceType) []InstancePrice + // Shut down the node Destroy() error } @@ -141,6 +147,11 @@ type InstanceSet interface { Stop() } +type InstancePrice struct { + StartTime time.Time + Price float64 +} + type InitCommand string // A Driver returns an InstanceSet that uses the given InstanceSetID