Merge branch '20475-dump-busy-queue'
[arvados.git] / lib / cloud / interfaces.go
index 7410f9d0e0ea2fe61e5ac6dfedecd3ac740f7ebe..27cf26152c2962fa1b8d9afeba34f4fad57e2922 100644 (file)
@@ -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