From de98d00726bf15c59de12f34db888cd66f179987 Mon Sep 17 00:00:00 2001 From: kunhwiko Date: Sun, 5 Oct 2025 00:33:22 -0700 Subject: [PATCH 1/5] Better NPE handling of updateComputeConfig --- apis/v1alpha1/ack-generate-metadata.yaml | 4 +- pkg/resource/cluster/hook.go | 61 ++++++++++++------- pkg/resource/cluster/sdk.go | 10 +++ .../sdk_read_one_post_set_output.go.tpl | 10 +++ 4 files changed, 61 insertions(+), 24 deletions(-) diff --git a/apis/v1alpha1/ack-generate-metadata.yaml b/apis/v1alpha1/ack-generate-metadata.yaml index 53bd7ecb..7964c327 100755 --- a/apis/v1alpha1/ack-generate-metadata.yaml +++ b/apis/v1alpha1/ack-generate-metadata.yaml @@ -1,6 +1,6 @@ ack_generate_info: - build_date: "2025-09-19T17:11:39Z" - build_hash: 6b4211163dcc34776b01da9a18217bac0f4103fd + build_date: "2025-10-05T05:04:19Z" + build_hash: 37562000612658e62686882f1b4b924049d1e38c go_version: go1.24.6 version: v0.52.0 api_directory_checksum: 2b5e65a1d5f0a032d51209f925b714aff4b6dc96 diff --git a/pkg/resource/cluster/hook.go b/pkg/resource/cluster/hook.go index a0b647d5..3a8aa5e9 100644 --- a/pkg/resource/cluster/hook.go +++ b/pkg/resource/cluster/hook.go @@ -666,37 +666,54 @@ func (rm *resourceManager) updateComputeConfig( exit := rlog.Trace("rm.updateComputeConfig") defer exit(err) - // Convert []*string to []string for NodePools - nodePools := make([]string, 0, len(r.ko.Spec.ComputeConfig.NodePools)) - for _, nodePool := range r.ko.Spec.ComputeConfig.NodePools { - if nodePool != nil { - nodePools = append(nodePools, *nodePool) - } - } - + // All three fields must be initialized for EKS Auto Mode to be properly toggled. input := &svcsdk.UpdateClusterConfigInput{ - Name: r.ko.Spec.Name, - ComputeConfig: &svcsdktypes.ComputeConfigRequest{ - Enabled: r.ko.Spec.ComputeConfig.Enabled, - NodePools: nodePools, // Use the converted []string slice - NodeRoleArn: r.ko.Spec.ComputeConfig.NodeRoleARN, - }, + Name: r.ko.Spec.Name, + ComputeConfig: &svcsdktypes.ComputeConfigRequest{}, StorageConfig: &svcsdktypes.StorageConfigRequest{ - BlockStorage: &svcsdktypes.BlockStorage{ - Enabled: r.ko.Spec.StorageConfig.BlockStorage.Enabled, - }, + BlockStorage: &svcsdktypes.BlockStorage{}, }, KubernetesNetworkConfig: &svcsdktypes.KubernetesNetworkConfigRequest{ - ElasticLoadBalancing: &svcsdktypes.ElasticLoadBalancing{ - Enabled: r.ko.Spec.KubernetesNetworkConfig.ElasticLoadBalancing.Enabled, - }, - IpFamily: svcsdktypes.IpFamily(*r.ko.Spec.KubernetesNetworkConfig.IPFamily), - ServiceIpv4Cidr: r.ko.Spec.KubernetesNetworkConfig.ServiceIPv4CIDR, + ElasticLoadBalancing: &svcsdktypes.ElasticLoadBalancing{}, }, } + // Process compute configs + if r.ko.Spec.ComputeConfig != nil { + // Convert []*string to []string for NodePools + nodePools := make([]string, 0, len(r.ko.Spec.ComputeConfig.NodePools)) + for _, nodePool := range r.ko.Spec.ComputeConfig.NodePools { + if nodePool != nil { + nodePools = append(nodePools, *nodePool) + } + } + + input.ComputeConfig.Enabled = r.ko.Spec.ComputeConfig.Enabled + input.ComputeConfig.NodePools = nodePools // Use the converted []string slice + input.ComputeConfig.NodeRoleArn = r.ko.Spec.ComputeConfig.NodeRoleARN + } + + // Process storage configs + if r.ko.Spec.StorageConfig != nil && r.ko.Spec.StorageConfig.BlockStorage != nil { + input.StorageConfig.BlockStorage.Enabled = r.ko.Spec.StorageConfig.BlockStorage.Enabled + } + + // Process network configs + if r.ko.Spec.KubernetesNetworkConfig != nil { + if r.ko.Spec.KubernetesNetworkConfig.ElasticLoadBalancing != nil { + input.KubernetesNetworkConfig.ElasticLoadBalancing.Enabled = r.ko.Spec.KubernetesNetworkConfig.ElasticLoadBalancing.Enabled + } + + if r.ko.Spec.KubernetesNetworkConfig.IPFamily != nil { + input.KubernetesNetworkConfig.IpFamily = svcsdktypes.IpFamily(*r.ko.Spec.KubernetesNetworkConfig.IPFamily) + } + + input.KubernetesNetworkConfig.ServiceIpv4Cidr = r.ko.Spec.KubernetesNetworkConfig.ServiceIPv4CIDR + } + _, err = rm.sdkapi.UpdateClusterConfig(ctx, input) rm.metrics.RecordAPICall("UPDATE", "UpdateClusterConfig", err) + if err != nil { return err } diff --git a/pkg/resource/cluster/sdk.go b/pkg/resource/cluster/sdk.go index a0895fa9..c2530770 100644 --- a/pkg/resource/cluster/sdk.go +++ b/pkg/resource/cluster/sdk.go @@ -410,6 +410,16 @@ func (rm *resourceManager) sdkFind( ko.Spec.ResourcesVPCConfig.SecurityGroupRefs = r.ko.Spec.ResourcesVPCConfig.SecurityGroupRefs } + latestConfig := ko.Spec.KubernetesNetworkConfig + + // ElasticLoadBalancing can by default be initialized as false even when ACK is providing an empty input. + // This condition prevents unnecessary deltas when the desired value is empty and ElasticLoadBalancing is already disabled. + if latestConfig != nil && latestConfig.ElasticLoadBalancing != nil && latestConfig.ElasticLoadBalancing.Enabled != nil { + if *latestConfig.ElasticLoadBalancing.Enabled == false && r.ko.Spec.KubernetesNetworkConfig.ElasticLoadBalancing == nil { + latestConfig.ElasticLoadBalancing = nil + } + } + if !clusterActive(&resource{ko}) { // Setting resource synced condition to false will trigger a requeue of // the resource. No need to return a requeue error here. diff --git a/templates/hooks/cluster/sdk_read_one_post_set_output.go.tpl b/templates/hooks/cluster/sdk_read_one_post_set_output.go.tpl index eb9eb696..c936476f 100644 --- a/templates/hooks/cluster/sdk_read_one_post_set_output.go.tpl +++ b/templates/hooks/cluster/sdk_read_one_post_set_output.go.tpl @@ -5,6 +5,16 @@ if r.ko.Spec.ResourcesVPCConfig != nil && r.ko.Spec.ResourcesVPCConfig.SecurityGroupRefs != nil { ko.Spec.ResourcesVPCConfig.SecurityGroupRefs = r.ko.Spec.ResourcesVPCConfig.SecurityGroupRefs } + + latestConfig := ko.Spec.KubernetesNetworkConfig + + // ElasticLoadBalancing can by default be initialized as false even when ACK is providing an empty input. + // This condition prevents unnecessary deltas when the desired value is empty and ElasticLoadBalancing is already disabled. + if latestConfig != nil && latestConfig.ElasticLoadBalancing != nil && latestConfig.ElasticLoadBalancing.Enabled != nil { + if *latestConfig.ElasticLoadBalancing.Enabled == false && r.ko.Spec.KubernetesNetworkConfig.ElasticLoadBalancing == nil { + latestConfig.ElasticLoadBalancing = nil + } + } if !clusterActive(&resource{ko}) { // Setting resource synced condition to false will trigger a requeue of From cb345c47468249cbec766d317793bf47772c1660 Mon Sep 17 00:00:00 2001 From: kunhwiko Date: Sun, 5 Oct 2025 02:29:51 -0700 Subject: [PATCH 2/5] Update rest of files --- apis/v1alpha1/ack-generate-metadata.yaml | 6 +++--- config/crd/bases/eks.services.k8s.aws_accessentries.yaml | 2 +- config/crd/bases/eks.services.k8s.aws_addons.yaml | 2 +- config/crd/bases/eks.services.k8s.aws_clusters.yaml | 2 +- config/crd/bases/eks.services.k8s.aws_fargateprofiles.yaml | 2 +- .../bases/eks.services.k8s.aws_identityproviderconfigs.yaml | 2 +- config/crd/bases/eks.services.k8s.aws_nodegroups.yaml | 2 +- .../bases/eks.services.k8s.aws_podidentityassociations.yaml | 2 +- helm/crds/eks.services.k8s.aws_accessentries.yaml | 2 +- helm/crds/eks.services.k8s.aws_addons.yaml | 2 +- helm/crds/eks.services.k8s.aws_clusters.yaml | 2 +- helm/crds/eks.services.k8s.aws_fargateprofiles.yaml | 2 +- helm/crds/eks.services.k8s.aws_identityproviderconfigs.yaml | 2 +- helm/crds/eks.services.k8s.aws_nodegroups.yaml | 2 +- helm/crds/eks.services.k8s.aws_podidentityassociations.yaml | 2 +- helm/crds/services.k8s.aws_adoptedresources.yaml | 2 +- helm/crds/services.k8s.aws_fieldexports.yaml | 2 +- 17 files changed, 19 insertions(+), 19 deletions(-) diff --git a/apis/v1alpha1/ack-generate-metadata.yaml b/apis/v1alpha1/ack-generate-metadata.yaml index 7964c327..c7330153 100755 --- a/apis/v1alpha1/ack-generate-metadata.yaml +++ b/apis/v1alpha1/ack-generate-metadata.yaml @@ -1,8 +1,8 @@ ack_generate_info: - build_date: "2025-10-05T05:04:19Z" + build_date: "2025-10-05T09:23:13Z" build_hash: 37562000612658e62686882f1b4b924049d1e38c - go_version: go1.24.6 - version: v0.52.0 + go_version: go1.24.0 + version: v0.33.0-102-g3756200 api_directory_checksum: 2b5e65a1d5f0a032d51209f925b714aff4b6dc96 api_version: v1alpha1 aws_sdk_go_version: v1.37.0 diff --git a/config/crd/bases/eks.services.k8s.aws_accessentries.yaml b/config/crd/bases/eks.services.k8s.aws_accessentries.yaml index 9935fe1d..a7b29415 100644 --- a/config/crd/bases/eks.services.k8s.aws_accessentries.yaml +++ b/config/crd/bases/eks.services.k8s.aws_accessentries.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: accessentries.eks.services.k8s.aws spec: group: eks.services.k8s.aws diff --git a/config/crd/bases/eks.services.k8s.aws_addons.yaml b/config/crd/bases/eks.services.k8s.aws_addons.yaml index 7492181c..57dbe04a 100644 --- a/config/crd/bases/eks.services.k8s.aws_addons.yaml +++ b/config/crd/bases/eks.services.k8s.aws_addons.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: addons.eks.services.k8s.aws spec: group: eks.services.k8s.aws diff --git a/config/crd/bases/eks.services.k8s.aws_clusters.yaml b/config/crd/bases/eks.services.k8s.aws_clusters.yaml index 02c02009..93f40bad 100644 --- a/config/crd/bases/eks.services.k8s.aws_clusters.yaml +++ b/config/crd/bases/eks.services.k8s.aws_clusters.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: clusters.eks.services.k8s.aws spec: group: eks.services.k8s.aws diff --git a/config/crd/bases/eks.services.k8s.aws_fargateprofiles.yaml b/config/crd/bases/eks.services.k8s.aws_fargateprofiles.yaml index adcb850e..ce964289 100644 --- a/config/crd/bases/eks.services.k8s.aws_fargateprofiles.yaml +++ b/config/crd/bases/eks.services.k8s.aws_fargateprofiles.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: fargateprofiles.eks.services.k8s.aws spec: group: eks.services.k8s.aws diff --git a/config/crd/bases/eks.services.k8s.aws_identityproviderconfigs.yaml b/config/crd/bases/eks.services.k8s.aws_identityproviderconfigs.yaml index 9315444d..b70d4231 100644 --- a/config/crd/bases/eks.services.k8s.aws_identityproviderconfigs.yaml +++ b/config/crd/bases/eks.services.k8s.aws_identityproviderconfigs.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: identityproviderconfigs.eks.services.k8s.aws spec: group: eks.services.k8s.aws diff --git a/config/crd/bases/eks.services.k8s.aws_nodegroups.yaml b/config/crd/bases/eks.services.k8s.aws_nodegroups.yaml index 0875f9b6..8695676a 100644 --- a/config/crd/bases/eks.services.k8s.aws_nodegroups.yaml +++ b/config/crd/bases/eks.services.k8s.aws_nodegroups.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: nodegroups.eks.services.k8s.aws spec: group: eks.services.k8s.aws diff --git a/config/crd/bases/eks.services.k8s.aws_podidentityassociations.yaml b/config/crd/bases/eks.services.k8s.aws_podidentityassociations.yaml index 527b2762..26d0caed 100644 --- a/config/crd/bases/eks.services.k8s.aws_podidentityassociations.yaml +++ b/config/crd/bases/eks.services.k8s.aws_podidentityassociations.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: podidentityassociations.eks.services.k8s.aws spec: group: eks.services.k8s.aws diff --git a/helm/crds/eks.services.k8s.aws_accessentries.yaml b/helm/crds/eks.services.k8s.aws_accessentries.yaml index 9935fe1d..a7b29415 100644 --- a/helm/crds/eks.services.k8s.aws_accessentries.yaml +++ b/helm/crds/eks.services.k8s.aws_accessentries.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: accessentries.eks.services.k8s.aws spec: group: eks.services.k8s.aws diff --git a/helm/crds/eks.services.k8s.aws_addons.yaml b/helm/crds/eks.services.k8s.aws_addons.yaml index 075f86c5..d73716d8 100644 --- a/helm/crds/eks.services.k8s.aws_addons.yaml +++ b/helm/crds/eks.services.k8s.aws_addons.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: addons.eks.services.k8s.aws spec: group: eks.services.k8s.aws diff --git a/helm/crds/eks.services.k8s.aws_clusters.yaml b/helm/crds/eks.services.k8s.aws_clusters.yaml index 411cc3fb..dade39f9 100644 --- a/helm/crds/eks.services.k8s.aws_clusters.yaml +++ b/helm/crds/eks.services.k8s.aws_clusters.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: clusters.eks.services.k8s.aws spec: group: eks.services.k8s.aws diff --git a/helm/crds/eks.services.k8s.aws_fargateprofiles.yaml b/helm/crds/eks.services.k8s.aws_fargateprofiles.yaml index adcb850e..ce964289 100644 --- a/helm/crds/eks.services.k8s.aws_fargateprofiles.yaml +++ b/helm/crds/eks.services.k8s.aws_fargateprofiles.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: fargateprofiles.eks.services.k8s.aws spec: group: eks.services.k8s.aws diff --git a/helm/crds/eks.services.k8s.aws_identityproviderconfigs.yaml b/helm/crds/eks.services.k8s.aws_identityproviderconfigs.yaml index 9315444d..b70d4231 100644 --- a/helm/crds/eks.services.k8s.aws_identityproviderconfigs.yaml +++ b/helm/crds/eks.services.k8s.aws_identityproviderconfigs.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: identityproviderconfigs.eks.services.k8s.aws spec: group: eks.services.k8s.aws diff --git a/helm/crds/eks.services.k8s.aws_nodegroups.yaml b/helm/crds/eks.services.k8s.aws_nodegroups.yaml index 0875f9b6..8695676a 100644 --- a/helm/crds/eks.services.k8s.aws_nodegroups.yaml +++ b/helm/crds/eks.services.k8s.aws_nodegroups.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: nodegroups.eks.services.k8s.aws spec: group: eks.services.k8s.aws diff --git a/helm/crds/eks.services.k8s.aws_podidentityassociations.yaml b/helm/crds/eks.services.k8s.aws_podidentityassociations.yaml index 6acc2f2a..170cdced 100644 --- a/helm/crds/eks.services.k8s.aws_podidentityassociations.yaml +++ b/helm/crds/eks.services.k8s.aws_podidentityassociations.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: podidentityassociations.eks.services.k8s.aws spec: group: eks.services.k8s.aws diff --git a/helm/crds/services.k8s.aws_adoptedresources.yaml b/helm/crds/services.k8s.aws_adoptedresources.yaml index b7be3224..d6cdd10f 100644 --- a/helm/crds/services.k8s.aws_adoptedresources.yaml +++ b/helm/crds/services.k8s.aws_adoptedresources.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: adoptedresources.services.k8s.aws spec: group: services.k8s.aws diff --git a/helm/crds/services.k8s.aws_fieldexports.yaml b/helm/crds/services.k8s.aws_fieldexports.yaml index 49b4f383..6e2c61e6 100644 --- a/helm/crds/services.k8s.aws_fieldexports.yaml +++ b/helm/crds/services.k8s.aws_fieldexports.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: fieldexports.services.k8s.aws spec: group: services.k8s.aws From c648716120cfbb47bf92d1013fd418c4fc929c56 Mon Sep 17 00:00:00 2001 From: kunhwiko Date: Mon, 6 Oct 2025 12:09:16 -0700 Subject: [PATCH 3/5] Update sdkFind conditions --- pkg/resource/cluster/sdk.go | 3 ++- templates/hooks/cluster/sdk_read_one_post_set_output.go.tpl | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/resource/cluster/sdk.go b/pkg/resource/cluster/sdk.go index c2530770..36fe9270 100644 --- a/pkg/resource/cluster/sdk.go +++ b/pkg/resource/cluster/sdk.go @@ -410,12 +410,13 @@ func (rm *resourceManager) sdkFind( ko.Spec.ResourcesVPCConfig.SecurityGroupRefs = r.ko.Spec.ResourcesVPCConfig.SecurityGroupRefs } + desiredConfig := r.ko.Spec.KubernetesNetworkConfig latestConfig := ko.Spec.KubernetesNetworkConfig // ElasticLoadBalancing can by default be initialized as false even when ACK is providing an empty input. // This condition prevents unnecessary deltas when the desired value is empty and ElasticLoadBalancing is already disabled. if latestConfig != nil && latestConfig.ElasticLoadBalancing != nil && latestConfig.ElasticLoadBalancing.Enabled != nil { - if *latestConfig.ElasticLoadBalancing.Enabled == false && r.ko.Spec.KubernetesNetworkConfig.ElasticLoadBalancing == nil { + if desiredConfig != nil && desiredConfig.ElasticLoadBalancing == nil && *latestConfig.ElasticLoadBalancing.Enabled == false { latestConfig.ElasticLoadBalancing = nil } } diff --git a/templates/hooks/cluster/sdk_read_one_post_set_output.go.tpl b/templates/hooks/cluster/sdk_read_one_post_set_output.go.tpl index c936476f..9d4c309d 100644 --- a/templates/hooks/cluster/sdk_read_one_post_set_output.go.tpl +++ b/templates/hooks/cluster/sdk_read_one_post_set_output.go.tpl @@ -6,12 +6,13 @@ ko.Spec.ResourcesVPCConfig.SecurityGroupRefs = r.ko.Spec.ResourcesVPCConfig.SecurityGroupRefs } + desiredConfig := r.ko.Spec.KubernetesNetworkConfig latestConfig := ko.Spec.KubernetesNetworkConfig // ElasticLoadBalancing can by default be initialized as false even when ACK is providing an empty input. // This condition prevents unnecessary deltas when the desired value is empty and ElasticLoadBalancing is already disabled. if latestConfig != nil && latestConfig.ElasticLoadBalancing != nil && latestConfig.ElasticLoadBalancing.Enabled != nil { - if *latestConfig.ElasticLoadBalancing.Enabled == false && r.ko.Spec.KubernetesNetworkConfig.ElasticLoadBalancing == nil { + if desiredConfig != nil && desiredConfig.ElasticLoadBalancing == nil && *latestConfig.ElasticLoadBalancing.Enabled == false { latestConfig.ElasticLoadBalancing = nil } } From 4ce1768c59d5dd0323cbd6993f2c7c63a493d397 Mon Sep 17 00:00:00 2001 From: kunhwiko Date: Mon, 6 Oct 2025 17:37:14 -0700 Subject: [PATCH 4/5] Update metadata --- apis/v1alpha1/ack-generate-metadata.yaml | 4 ++-- pkg/resource/nodegroup/sdk.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apis/v1alpha1/ack-generate-metadata.yaml b/apis/v1alpha1/ack-generate-metadata.yaml index c7330153..5d0befc4 100755 --- a/apis/v1alpha1/ack-generate-metadata.yaml +++ b/apis/v1alpha1/ack-generate-metadata.yaml @@ -1,8 +1,8 @@ ack_generate_info: - build_date: "2025-10-05T09:23:13Z" + build_date: "2025-10-07T00:33:17Z" build_hash: 37562000612658e62686882f1b4b924049d1e38c go_version: go1.24.0 - version: v0.33.0-102-g3756200 + version: v0.52.0-5-g3756200 api_directory_checksum: 2b5e65a1d5f0a032d51209f925b714aff4b6dc96 api_version: v1alpha1 aws_sdk_go_version: v1.37.0 diff --git a/pkg/resource/nodegroup/sdk.go b/pkg/resource/nodegroup/sdk.go index 7c997184..a3fab538 100644 --- a/pkg/resource/nodegroup/sdk.go +++ b/pkg/resource/nodegroup/sdk.go @@ -608,7 +608,7 @@ func (rm *resourceManager) newCreateRequestPayload( if r.ko.Spec.DiskSize != nil { diskSizeCopy0 := *r.ko.Spec.DiskSize if diskSizeCopy0 > math.MaxInt32 || diskSizeCopy0 < math.MinInt32 { - return nil, fmt.Errorf("error: field diskSize is of type int32") + return nil, fmt.Errorf("error: field DiskSize is of type int32") } diskSizeCopy := int32(diskSizeCopy0) res.DiskSize = &diskSizeCopy From 6569a978f21b21b88d62de4ea30d02042cdaf0a0 Mon Sep 17 00:00:00 2001 From: kunhwiko Date: Tue, 7 Oct 2025 11:23:51 -0700 Subject: [PATCH 5/5] simplify conditions --- apis/v1alpha1/ack-generate-metadata.yaml | 2 +- pkg/resource/cluster/sdk.go | 6 ++---- pkg/resource/nodegroup/sdk.go | 2 +- templates/hooks/cluster/sdk_read_one_post_set_output.go.tpl | 6 ++---- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/apis/v1alpha1/ack-generate-metadata.yaml b/apis/v1alpha1/ack-generate-metadata.yaml index 5d0befc4..915e004d 100755 --- a/apis/v1alpha1/ack-generate-metadata.yaml +++ b/apis/v1alpha1/ack-generate-metadata.yaml @@ -1,5 +1,5 @@ ack_generate_info: - build_date: "2025-10-07T00:33:17Z" + build_date: "2025-10-07T18:19:29Z" build_hash: 37562000612658e62686882f1b4b924049d1e38c go_version: go1.24.0 version: v0.52.0-5-g3756200 diff --git a/pkg/resource/cluster/sdk.go b/pkg/resource/cluster/sdk.go index 36fe9270..9d43fb9a 100644 --- a/pkg/resource/cluster/sdk.go +++ b/pkg/resource/cluster/sdk.go @@ -415,10 +415,8 @@ func (rm *resourceManager) sdkFind( // ElasticLoadBalancing can by default be initialized as false even when ACK is providing an empty input. // This condition prevents unnecessary deltas when the desired value is empty and ElasticLoadBalancing is already disabled. - if latestConfig != nil && latestConfig.ElasticLoadBalancing != nil && latestConfig.ElasticLoadBalancing.Enabled != nil { - if desiredConfig != nil && desiredConfig.ElasticLoadBalancing == nil && *latestConfig.ElasticLoadBalancing.Enabled == false { - latestConfig.ElasticLoadBalancing = nil - } + if desiredConfig != nil && desiredConfig.ElasticLoadBalancing == nil && latestConfig != nil { + latestConfig.ElasticLoadBalancing = nil } if !clusterActive(&resource{ko}) { diff --git a/pkg/resource/nodegroup/sdk.go b/pkg/resource/nodegroup/sdk.go index a3fab538..7c997184 100644 --- a/pkg/resource/nodegroup/sdk.go +++ b/pkg/resource/nodegroup/sdk.go @@ -608,7 +608,7 @@ func (rm *resourceManager) newCreateRequestPayload( if r.ko.Spec.DiskSize != nil { diskSizeCopy0 := *r.ko.Spec.DiskSize if diskSizeCopy0 > math.MaxInt32 || diskSizeCopy0 < math.MinInt32 { - return nil, fmt.Errorf("error: field DiskSize is of type int32") + return nil, fmt.Errorf("error: field diskSize is of type int32") } diskSizeCopy := int32(diskSizeCopy0) res.DiskSize = &diskSizeCopy diff --git a/templates/hooks/cluster/sdk_read_one_post_set_output.go.tpl b/templates/hooks/cluster/sdk_read_one_post_set_output.go.tpl index 9d4c309d..5031e7bb 100644 --- a/templates/hooks/cluster/sdk_read_one_post_set_output.go.tpl +++ b/templates/hooks/cluster/sdk_read_one_post_set_output.go.tpl @@ -11,10 +11,8 @@ // ElasticLoadBalancing can by default be initialized as false even when ACK is providing an empty input. // This condition prevents unnecessary deltas when the desired value is empty and ElasticLoadBalancing is already disabled. - if latestConfig != nil && latestConfig.ElasticLoadBalancing != nil && latestConfig.ElasticLoadBalancing.Enabled != nil { - if desiredConfig != nil && desiredConfig.ElasticLoadBalancing == nil && *latestConfig.ElasticLoadBalancing.Enabled == false { - latestConfig.ElasticLoadBalancing = nil - } + if desiredConfig != nil && desiredConfig.ElasticLoadBalancing == nil && latestConfig != nil { + latestConfig.ElasticLoadBalancing = nil } if !clusterActive(&resource{ko}) {