Skip to content

Commit 2647ba3

Browse files
authored
feat(k8s): minor version error messages are more precise (#2409)
* error wording more precise * lint
1 parent 845bcb1 commit 2647ba3

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

scaleway/resource_k8s_cluster.go

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,11 @@ func resourceScalewayK8SCluster() *schema.Resource {
238238
version := diff.Get("version").(string)
239239
versionIsOnlyMinor := len(strings.Split(version, ".")) == 2
240240

241-
if okAutoUpgradeEnable && versionIsOnlyMinor != autoUpgradeEnable.(bool) {
242-
return errors.New("minor version x.y must be used with auto upgrade enabled")
241+
if okAutoUpgradeEnable && autoUpgradeEnable.(bool) && !versionIsOnlyMinor {
242+
return errors.New("only minor version x.y can be used with auto upgrade enabled")
243+
}
244+
if versionIsOnlyMinor && !autoUpgradeEnable.(bool) {
245+
return errors.New("minor version x.y must only be used with auto upgrade enabled")
243246
}
244247

245248
return nil
@@ -454,7 +457,7 @@ func resourceScalewayK8SClusterCreate(ctx context.Context, d *schema.ResourceDat
454457
}
455458
}
456459

457-
clusterAutoUpgradeEnabled := false
460+
var clusterAutoUpgradeEnabled bool
458461

459462
if okAutoUpgradeDay && okAutoUpgradeEnable && okAutoUpgradeStartHour {
460463
clusterAutoUpgradeEnabled = autoUpgradeEnable.(bool)
@@ -472,8 +475,11 @@ func resourceScalewayK8SClusterCreate(ctx context.Context, d *schema.ResourceDat
472475
version := d.Get("version").(string)
473476
versionIsOnlyMinor := len(strings.Split(version, ".")) == 2
474477

475-
if versionIsOnlyMinor != clusterAutoUpgradeEnabled {
476-
return append(diag.FromErr(errors.New("minor version x.y must be used with auto upgrade enabled")), diags...)
478+
if okAutoUpgradeEnable && autoUpgradeEnable.(bool) && !versionIsOnlyMinor {
479+
return append(diag.FromErr(errors.New("only minor version x.y can be used with auto upgrade enabled")), diags...)
480+
}
481+
if versionIsOnlyMinor && !autoUpgradeEnable.(bool) {
482+
return append(diag.FromErr(errors.New("minor version x.y must only be used with auto upgrade enabled")), diags...)
477483
}
478484

479485
if versionIsOnlyMinor {
@@ -693,8 +699,11 @@ func resourceScalewayK8SClusterUpdate(ctx context.Context, d *schema.ResourceDat
693699
version := d.Get("version").(string)
694700
versionIsOnlyMinor := len(strings.Split(version, ".")) == 2
695701

696-
if versionIsOnlyMinor != autoupgradeEnabled {
697-
return append(diag.FromErr(errors.New("minor version x.y must be used with auto upgrades enabled")), diags...)
702+
if autoupgradeEnabled && !versionIsOnlyMinor {
703+
return append(diag.FromErr(errors.New("only minor version x.y can be used with auto upgrade enabled")), diags...)
704+
}
705+
if versionIsOnlyMinor && !autoupgradeEnabled {
706+
return append(diag.FromErr(errors.New("minor version x.y must only be used with auto upgrade enabled")), diags...)
698707
}
699708

700709
if versionIsOnlyMinor {

0 commit comments

Comments
 (0)