@@ -40,6 +40,14 @@ const (
4040 awsClusterTemplateKind = "AWSClusterTemplate"
4141 awsClusterControllerIdentityKind = "AWSClusterControllerIdentity"
4242
43+ // EKS-specific types
44+ awsManagedClusterKind = "AWSManagedCluster"
45+ awsManagedClusterTemplateKind = "AWSManagedClusterTemplate"
46+ awsManagedControlPlaneKind = "AWSManagedControlPlane"
47+ awsManagedControlPlaneTemplateKind = "AWSManagedControlPlaneTemplate"
48+ eksConfigKind = "EKSConfig"
49+ eksConfigTemplateKind = "EKSConfigTemplate"
50+
4351 nutanixMachineKind = "NutanixMachine"
4452 nutanixMachineTemplateKind = "NutanixMachineTemplate"
4553 nutanixClusterKind = "NutanixCluster"
@@ -161,6 +169,35 @@ var (
161169 },
162170 }
163171
172+ // EKSInfraOwnerReferenceAssertions maps EKS Infrastructure types to functions which return an error if the passed
173+ // OwnerReferences aren't as expected.
174+ EKSInfraOwnerReferenceAssertions = map [string ]func (types.NamespacedName , []metav1.OwnerReference ) error {
175+ awsManagedClusterKind : func (_ types.NamespacedName , owners []metav1.OwnerReference ) error {
176+ // AWSManagedCluster must be owned and controlled by a Cluster.
177+ return framework .HasExactOwners (owners , clusterController )
178+ },
179+ awsManagedClusterTemplateKind : func (_ types.NamespacedName , owners []metav1.OwnerReference ) error {
180+ // AWSManagedClusterTemplate must be owned by a ClusterClass.
181+ return framework .HasExactOwners (owners , clusterClassOwner )
182+ },
183+ awsManagedControlPlaneKind : func (_ types.NamespacedName , owners []metav1.OwnerReference ) error {
184+ // AWSManagedControlPlane must be owned and controlled by a Cluster.
185+ return framework .HasExactOwners (owners , clusterController )
186+ },
187+ awsManagedControlPlaneTemplateKind : func (_ types.NamespacedName , owners []metav1.OwnerReference ) error {
188+ // AWSManagedControlPlaneTemplate must be owned by a ClusterClass.
189+ return framework .HasExactOwners (owners , clusterClassOwner )
190+ },
191+ eksConfigKind : func (_ types.NamespacedName , owners []metav1.OwnerReference ) error {
192+ // EKSConfig must be owned and controlled by a Machine.
193+ return framework .HasExactOwners (owners , machineController )
194+ },
195+ eksConfigTemplateKind : func (_ types.NamespacedName , owners []metav1.OwnerReference ) error {
196+ // EKSConfigTemplate must be owned by a ClusterClass.
197+ return framework .HasExactOwners (owners , clusterClassOwner )
198+ },
199+ }
200+
164201 // NutanixInfraOwnerReferenceAssertions maps Nutanix Infrastructure types to functions which return an error
165202 // if the passed OwnerReferences aren't as expected.
166203 NutanixInfraOwnerReferenceAssertions = map [string ]func (types.NamespacedName , []metav1.OwnerReference ) error {
0 commit comments