diff --git a/config/crd/bases/gateway-operator.konghq.com_konnectextensions.yaml b/config/crd/bases/gateway-operator.konghq.com_konnectextensions.yaml
index 56835344..d137a0e3 100644
--- a/config/crd/bases/gateway-operator.konghq.com_konnectextensions.yaml
+++ b/config/crd/bases/gateway-operator.konghq.com_konnectextensions.yaml
@@ -79,41 +79,48 @@ spec:
- name
type: object
type:
+ default: kic
description: |-
- Type can be one of:
+ Type indicates the type of the control plane being referenced. Allowed values:
- konnectID
- konnectNamespacedRef
- kic
+
+ The default is kic, which implies that the Control Plane is KIC.
enum:
- konnectID
- konnectNamespacedRef
- kic
type: string
- required:
- - type
type: object
x-kubernetes-validations:
- message: Only konnectID type currently supported as controlPlaneRef.
rule: self.type == 'konnectID'
- message: when type is konnectNamespacedRef, konnectNamespacedRef
must be set
- rule: 'self.type == ''konnectNamespacedRef'' ? has(self.konnectNamespacedRef)
- : true'
+ rule: '(has(self.type) && self.type == ''konnectNamespacedRef'')
+ ? has(self.konnectNamespacedRef) : true'
- message: when type is konnectNamespacedRef, konnectID must not be
set
- rule: 'self.type == ''konnectNamespacedRef'' ? !has(self.konnectID)
- : true'
+ rule: '(has(self.type) && self.type == ''konnectNamespacedRef'')
+ ? !has(self.konnectID) : true'
- message: when type is konnectID, konnectID must be set
- rule: 'self.type == ''konnectID'' ? has(self.konnectID) : true'
+ rule: '(has(self.type) && self.type == ''konnectID'') ? has(self.konnectID)
+ : true'
- message: when type is konnectID, konnectNamespacedRef must not be
set
- rule: 'self.type == ''konnectID'' ? !has(self.konnectNamespacedRef)
+ rule: '(has(self.type) && self.type == ''konnectID'') ? !has(self.konnectNamespacedRef)
: true'
- message: when type is kic, konnectID must not be set
- rule: 'self.type == ''kic'' ? !has(self.konnectID) : true'
+ rule: '(has(self.type) && self.type == ''kic'') ? !has(self.konnectID)
+ : true'
- message: when type is kic, konnectNamespacedRef must not be set
- rule: 'self.type == ''kic'' ? !has(self.konnectNamespacedRef) :
- true'
+ rule: '(has(self.type) && self.type == ''kic'') ? !has(self.konnectNamespacedRef)
+ : true'
+ - message: when type is unset, konnectID must not be set
+ rule: '!has(self.type) ? !has(self.konnectID) : true'
+ - message: when type is unset, konnectNamespacedRef must not be set
+ rule: '!has(self.type) ? !has(self.konnectNamespacedRef) : true'
controlPlaneRegion:
description: ControlPlaneRegion is the region of the Konnect Control
Plane.
diff --git a/docs/api-reference.md b/docs/api-reference.md
index 05bd58e3..9e8e9691 100644
--- a/docs/api-reference.md
+++ b/docs/api-reference.md
@@ -478,7 +478,7 @@ It is used to reference a Control Plane entity.
| Field | Description |
| --- | --- |
-| `type` _string_ | Type can be one of: - konnectID - konnectNamespacedRef - kic |
+| `type` _string_ | Type indicates the type of the control plane being referenced. Allowed values: - konnectID - konnectNamespacedRef - kic
The default is kic, which implies that the Control Plane is KIC. |
| `konnectID` _string_ | KonnectID is the schema for the KonnectID type. This field is required when the Type is konnectID. |
| `konnectNamespacedRef` _[KonnectNamespacedRef](#konnectnamespacedref)_ | KonnectNamespacedRef is a reference to a Konnect Control Plane entity inside the cluster. It contains the name of the Konnect Control Plane. This field is required when the Type is konnectNamespacedRef. |