Files
terraform-provider-unifi/internal/utils/strings.go
Mateusz Filipowicz 325d7b7f20 feat: initialize Terraform Plugin Framework (#23)
* feat: initialize Terraform Plugin Framework

* fix docker-compose path for tests

* fix: ensure documentation can be generated with old provider SDK and new plugin framework

* lint
2025-02-24 00:11:41 +01:00

36 lines
749 B
Go

package utils
import (
"fmt"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)
func ListToStringSlice(src []interface{}) ([]string, error) {
dst := make([]string, 0, len(src))
for _, s := range src {
d, ok := s.(string)
if !ok {
return nil, fmt.Errorf("unale to convert %v (%T) to string", s, s)
}
dst = append(dst, d)
}
return dst, nil
}
func SetToStringSlice(src *schema.Set) ([]string, error) {
return ListToStringSlice(src.List())
}
func StringSliceToList(list []string) []interface{} {
vs := make([]interface{}, 0, len(list))
for _, v := range list {
vs = append(vs, v)
}
return vs
}
func StringSliceToSet(src []string) *schema.Set {
return schema.NewSet(schema.HashString, StringSliceToList(src))
}