14819: Merge branch 'master' into 14819-arvados-jobs-on-stretch
[arvados.git] / lib / dispatchcloud / driver.go
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 package dispatchcloud
6
7 import (
8         "fmt"
9
10         "git.curoverse.com/arvados.git/lib/cloud"
11         "git.curoverse.com/arvados.git/lib/cloud/azure"
12         "git.curoverse.com/arvados.git/sdk/go/arvados"
13         "github.com/sirupsen/logrus"
14 )
15
16 var drivers = map[string]cloud.Driver{
17         "azure": azure.Driver,
18 }
19
20 func newInstanceSet(cluster *arvados.Cluster, setID cloud.InstanceSetID, logger logrus.FieldLogger) (cloud.InstanceSet, error) {
21         driver, ok := drivers[cluster.CloudVMs.Driver]
22         if !ok {
23                 return nil, fmt.Errorf("unsupported cloud driver %q", cluster.CloudVMs.Driver)
24         }
25         return driver.InstanceSet(cluster.CloudVMs.DriverParameters, setID, logger)
26 }