@@ -15,13 +15,14 @@ import (
1515// +kubebuilder:resource:scope=Namespaced
1616// +kubebuilder:resource:shortName=nnc
1717// +kubebuilder:subresource:status
18- // +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.status`
19- // +kubebuilder:printcolumn:name="Requested IPs",type=string,JSONPath=`.spec.requestedIPCount`
20- // +kubebuilder:printcolumn:name="Assigned IPs",type=string,JSONPath=`.status.assignedIPCount`
21- // +kubebuilder:printcolumn:name="Subnet",type=string,JSONPath=`.status.networkContainers[*].subnetName`
22- // +kubebuilder:printcolumn:name="Subnet CIDR",type=string,JSONPath=`.status.networkContainers[*].subnetAddressSpace`
23- // +kubebuilder:printcolumn:name="NC ID",type=string,JSONPath=`.status.networkContainers[*].id`
24- // +kubebuilder:printcolumn:name="NC Version",type=string,JSONPath=`.status.networkContainers[*].version`
18+ // +kubebuilder:printcolumn:name="Requested IPs",type=integer,priority=1,JSONPath=`.spec.requestedIPCount`
19+ // +kubebuilder:printcolumn:name="Allocated IPs",type=integer,priority=0,JSONPath=`.status.assignedIPCount`
20+ // +kubebuilder:printcolumn:name="Subnet",type=string,priority=1,JSONPath=`.status.networkContainers[*].subnetName`
21+ // +kubebuilder:printcolumn:name="Subnet CIDR",type=string,priority=1,JSONPath=`.status.networkContainers[*].subnetAddressSpace`
22+ // +kubebuilder:printcolumn:name="NC ID",type=string,priority=1,JSONPath=`.status.networkContainers[*].id`
23+ // +kubebuilder:printcolumn:name="NC Mode",type=string,priority=0,JSONPath=`.status.networkContainers[*].assignmentMode`
24+ // +kubebuilder:printcolumn:name="NC Type",type=string,priority=1,JSONPath=`.status.networkContainers[*].type`
25+ // +kubebuilder:printcolumn:name="NC Version",type=integer,priority=0,JSONPath=`.status.networkContainers[*].version`
2526type NodeNetworkConfig struct {
2627 metav1.TypeMeta `json:",inline"`
2728 metav1.ObjectMeta `json:"metadata,omitempty"`
@@ -41,7 +42,9 @@ type NodeNetworkConfigList struct {
4142
4243// NodeNetworkConfigSpec defines the desired state of NetworkConfig
4344type NodeNetworkConfigSpec struct {
44- RequestedIPCount int64 `json:"requestedIPCount,omitempty"`
45+ // +kubebuilder:default=0
46+ // +kubebuilder:validation:Optional
47+ RequestedIPCount int64 `json:"requestedIPCount"`
4548 IPsNotInUse []string `json:"ipsNotInUse,omitempty"`
4649}
4750
@@ -57,7 +60,9 @@ const (
5760
5861// NodeNetworkConfigStatus defines the observed state of NetworkConfig
5962type NodeNetworkConfigStatus struct {
60- AssignedIPCount int `json:"assignedIPCount,omitempty"`
63+ // +kubebuilder:default=0
64+ // +kubebuilder:validation:Optional
65+ AssignedIPCount int `json:"assignedIPCount"`
6166 Scaler Scaler `json:"scaler,omitempty"`
6267 Status Status `json:"status,omitempty"`
6368 NetworkContainers []NetworkContainer `json:"networkContainers,omitempty"`
@@ -93,19 +98,22 @@ const (
9398type NetworkContainer struct {
9499 ID string `json:"id,omitempty"`
95100 // +kubebuilder:default=dynamic
96- AssignmentMode AssignmentMode `json:"assignmentMode,omitempty"`
101+ AssignmentMode AssignmentMode `json:"assignmentMode,omitempty"`
102+ // +kubebuilder:default=vnet
97103 Type NCType `json:"type,omitempty"`
98104 PrimaryIP string `json:"primaryIP,omitempty"`
99105 SubnetName string `json:"subnetName,omitempty"`
100106 IPAssignments []IPAssignment `json:"ipAssignments,omitempty"`
101107 DefaultGateway string `json:"defaultGateway,omitempty"`
102108 SubnetAddressSpace string `json:"subnetAddressSpace,omitempty"`
103- Version int64 `json:"version,omitempty"`
104- NodeIP string `json:"nodeIP,omitempty"`
105- SubscriptionID string `json:"subcriptionID,omitempty"`
106- ResourceGroupID string `json:"resourceGroupID,omitempty"`
107- VNETID string `json:"vnetID,omitempty"`
108- SubnetID string `json:"subnetID,omitempty"`
109+ // +kubebuilder:default=0
110+ // +kubebuilder:validation:Optional
111+ Version int64 `json:"version"`
112+ NodeIP string `json:"nodeIP,omitempty"`
113+ SubscriptionID string `json:"subcriptionID,omitempty"`
114+ ResourceGroupID string `json:"resourceGroupID,omitempty"`
115+ VNETID string `json:"vnetID,omitempty"`
116+ SubnetID string `json:"subnetID,omitempty"`
109117}
110118
111119// IPAssignment groups an IP address and Name. Name is a UUID set by the the IP address assigner.
0 commit comments