diff --git a/internal/locality/regional/schemas.go b/internal/locality/regional/schemas.go index 29b5e196ad..2807245402 100644 --- a/internal/locality/regional/schemas.go +++ b/internal/locality/regional/schemas.go @@ -3,7 +3,7 @@ package regional import ( "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/scaleway/scaleway-sdk-go/scw" - "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) // ComputedSchema returns a standard schema for a region @@ -32,6 +32,6 @@ func Schema() *schema.Schema { Optional: true, ForceNew: true, Computed: true, - ValidateDiagFunc: locality.ValidateStringInSliceWithWarning(allRegions(), "region"), + ValidateDiagFunc: verify.ValidateStringInSliceWithWarning(allRegions(), "region"), } } diff --git a/internal/locality/zonal/schemas.go b/internal/locality/zonal/schemas.go index 279a981e18..4880258b45 100644 --- a/internal/locality/zonal/schemas.go +++ b/internal/locality/zonal/schemas.go @@ -3,7 +3,7 @@ package zonal import ( "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/scaleway/scaleway-sdk-go/scw" - "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) // ComputedSchema returns a standard schema for a zone @@ -32,6 +32,6 @@ func Schema() *schema.Schema { Optional: true, ForceNew: true, Computed: true, - ValidateDiagFunc: locality.ValidateStringInSliceWithWarning(AllZones(), "zone"), + ValidateDiagFunc: verify.ValidateStringInSliceWithWarning(AllZones(), "zone"), } } diff --git a/internal/services/k8s/cluster.go b/internal/services/k8s/cluster.go index 42a3bc830d..6e1d15a51c 100644 --- a/internal/services/k8s/cluster.go +++ b/internal/services/k8s/cluster.go @@ -64,11 +64,20 @@ func ResourceCluster() *schema.Resource { Description: "The version of the cluster", }, "cni": { - Type: schema.TypeString, - Required: true, - ForceNew: true, - Description: "The CNI plugin of the cluster", - ValidateDiagFunc: verify.ValidateEnum[k8s.CNI](), + Type: schema.TypeString, + Required: true, + ForceNew: true, + Description: "The CNI plugin of the cluster", + ValidateDiagFunc: func(i any, p cty.Path) diag.Diagnostics { + var cniValues []k8s.CNI + + cniStringValues := []string(nil) + for _, cniValue := range cniValues { + cniStringValues = append(cniStringValues, cniValue.String()) + } + + return verify.ValidateStringInSliceWithWarning(cniStringValues, "cni")(i, p) + }, }, "tags": { Type: schema.TypeList, diff --git a/internal/services/vpc/private_network.go b/internal/services/vpc/private_network.go index 07777c5373..896384cebd 100644 --- a/internal/services/vpc/private_network.go +++ b/internal/services/vpc/private_network.go @@ -10,12 +10,12 @@ import ( "github.com/scaleway/scaleway-sdk-go/api/vpc/v2" "github.com/scaleway/scaleway-sdk-go/scw" "github.com/scaleway/terraform-provider-scaleway/v2/internal/httperrors" - "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality" "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/regional" "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/zonal" "github.com/scaleway/terraform-provider-scaleway/v2/internal/meta" "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/account" "github.com/scaleway/terraform-provider-scaleway/v2/internal/types" + "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) func ResourcePrivateNetwork() *schema.Resource { @@ -172,7 +172,7 @@ func ResourcePrivateNetwork() *schema.Resource { Optional: true, Computed: true, Deprecated: "This field is deprecated and will be removed in the next major version, please use `region` instead", - ValidateDiagFunc: locality.ValidateStringInSliceWithWarning(zonal.AllZones(), "zone"), + ValidateDiagFunc: verify.ValidateStringInSliceWithWarning(zonal.AllZones(), "zone"), }, "region": regional.Schema(), // Computed elements diff --git a/internal/locality/validation.go b/internal/verify/validation.go similarity index 97% rename from internal/locality/validation.go rename to internal/verify/validation.go index dd763915b6..c99550b6ce 100644 --- a/internal/locality/validation.go +++ b/internal/verify/validation.go @@ -1,4 +1,4 @@ -package locality +package verify import ( "github.com/hashicorp/go-cty/cty"