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
use kube::Resource;

use super::*;

impl ControlPlaneConfigTemplate for KubeadmConfigTemplate {
    fn object_ref(&self) -> corev1::ObjectReference {
        kube::Resource::object_ref(self, &())
    }
}

impl ControlPlane {
    pub fn object_ref(&self) -> corev1::ObjectReference {
        match self {
            ControlPlane::Kubeadm(kubeadm) => kubeadm.object_ref(&()),
        }
    }
}

impl Infrastructure {
    pub fn object_ref(&self) -> corev1::ObjectReference {
        match self {
            Infrastructure::Aws(aws) => aws.object_ref(&()),
        }
    }
}

impl MachineTemplate for AWSMachineTemplate {
    fn object_ref(&self) -> corev1::ObjectReference {
        kube::Resource::object_ref(self, &())
    }
}