-
Notifications
You must be signed in to change notification settings - Fork 22
/
spec.go
31 lines (28 loc) · 1.67 KB
/
spec.go
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
package images
import (
"context"
k8scloudconfig "github.com/giantswarm/k8scloudconfig/v14/pkg/template"
)
type Interface interface {
// AMI looks up necessary information to compute the relevant EC2 AMI for the
// given object's region and release version. Paramter obj must be a
// metav1.Object and contain the Giant Swarm specific cluster ID label and
// release version label.
AMI(ctx context.Context, obj interface{}) (string, error)
// AWSCloudControllerManager looks up aws-cloud-controller-manager.yaml version to compute the relevant Cloud Config
// images for the given object's release version. Paramter obj must be a
// metav1.Object and contain the Giant Swarm specific release version label.
AWSCloudControllerManager(ctx context.Context, obj interface{}) (string, error)
// AWSCNI looks up aws-cni version to compute the relevant Cloud Config
// images for the given object's release version. Paramter obj must be a
// metav1.Object and contain the Giant Swarm specific release version label.
AWSCNI(ctx context.Context, obj interface{}) (string, error)
// CC looks up necessary information to compute the relevant Cloud Config
// images for the given object's release version. Paramter obj must be a
// metav1.Object and contain the Giant Swarm specific release version label.
CC(ctx context.Context, obj interface{}) (k8scloudconfig.Images, error)
// Versions looks up necessary information to compute the relevant Cloud Config
// images versions for the given object's release version. Paramter obj must be a
// metav1.Object and contain the Giant Swarm specific release version label.
Versions(ctx context.Context, obj interface{}) (k8scloudconfig.Versions, error)
}