X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/442a871e7f3476938d0ebb3adbe3b9a7742f03ad..32c63d03d45d231768eb1497dfc5e9f4a0d23c16:/lib/cloud/interfaces.go diff --git a/lib/cloud/interfaces.go b/lib/cloud/interfaces.go index 7410f9d0e0..27cf26152c 100644 --- a/lib/cloud/interfaces.go +++ b/lib/cloud/interfaces.go @@ -10,7 +10,7 @@ import ( "io" "time" - "git.curoverse.com/arvados.git/sdk/go/arvados" + "git.arvados.org/arvados.git/sdk/go/arvados" "github.com/sirupsen/logrus" "golang.org/x/crypto/ssh" ) @@ -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