X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/dc021c3b57dcdebe464c148d55f9990a74e8246b..19e7e99d21d9570f04ba38a5d4b823e4096d232c:/lib/cloud/interfaces.go 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