-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathscenarios.go
More file actions
54 lines (45 loc) · 1.72 KB
/
Copy pathscenarios.go
File metadata and controls
54 lines (45 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package registry
import (
"strings"
"github.com/DataDog/test-infra-definitions/scenarios/gcp/gke"
"github.com/DataDog/test-infra-definitions/scenarios/gcp/openshiftvm"
"github.com/DataDog/test-infra-definitions/scenarios/aws/ec2"
"github.com/DataDog/test-infra-definitions/scenarios/aws/ecs"
"github.com/DataDog/test-infra-definitions/scenarios/aws/eks"
"github.com/DataDog/test-infra-definitions/scenarios/aws/installer"
"github.com/DataDog/test-infra-definitions/scenarios/aws/kindvm"
"github.com/DataDog/test-infra-definitions/scenarios/aws/microVMs/microvms"
"github.com/DataDog/test-infra-definitions/scenarios/azure/aks"
computerun "github.com/DataDog/test-infra-definitions/scenarios/azure/compute/run"
gcpcompute "github.com/DataDog/test-infra-definitions/scenarios/gcp/compute/run"
localpodmanrun "github.com/DataDog/test-infra-definitions/scenarios/local/podman/run"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
type ScenarioRegistry map[string]pulumi.RunFunc
func Scenarios() ScenarioRegistry {
return ScenarioRegistry{
"aws/vm": ec2.VMRun,
"aws/dockervm": ec2.VMRunWithDocker,
"aws/ecs": ecs.Run,
"aws/eks": eks.Run,
"aws/installer": installer.Run,
"aws/microvms": microvms.Run,
"aws/kind": kindvm.Run,
"az/vm": computerun.VMRun,
"az/aks": aks.Run,
"gcp/vm": gcpcompute.VMRun,
"gcp/gke": gke.Run,
"gcp/openshiftvm": openshiftvm.Run,
"localpodman/vm": localpodmanrun.VMRun,
}
}
func (s ScenarioRegistry) Get(name string) pulumi.RunFunc {
return s[strings.ToLower(name)]
}
func (s ScenarioRegistry) List() []string {
names := make([]string, 0, len(s))
for name := range s {
names = append(names, name)
}
return names
}