diff --git a/internal/services/object/bucket_acl.go b/internal/services/object/bucket_acl.go index f854221357..80ea2fe1a9 100644 --- a/internal/services/object/bucket_acl.go +++ b/internal/services/object/bucket_acl.go @@ -70,7 +70,7 @@ func ResourceBucketACL() *schema.Resource { Type: schema.TypeString, Required: true, Description: "Type of grantee. Valid values: `CanonicalUser`", - ValidateFunc: validation.StringInSlice([]string{string(s3Types.TypeCanonicalUser)}, false), + ValidateFunc: validation.StringInSlice((s3GranteeTypeValueToStrings()), false), }, }, }, diff --git a/internal/services/object/helpers_object.go b/internal/services/object/helpers_object.go index aacc3dcee2..1f6b8a2faa 100644 --- a/internal/services/object/helpers_object.go +++ b/internal/services/object/helpers_object.go @@ -729,3 +729,16 @@ func addReadBucketErrorDiagnostic(diags *diag.Diagnostics, err error, resource s return true, true } } + +func s3GranteeTypeValueToStrings() []string { + var t s3Types.Type + values := t.Values() + + strings := make([]string, len(values)) + + for i, value := range values { + strings[i] = string(value) + } + + return strings +}