in src/terraform/providers/terraform-provider-avere/export_rules.go [171:210]
func parseRules(rules string) (exportAccess string, exportSquash string, allowSuid string, allowSubmounts string, err error) {
exportAccess = ExportAccessDefault
exportSquash = ExportSquashDefaultArg
allowSuid = ExportAllowSuidDefault
allowSubmounts = ExportAllowSubmountsDefault
var errors strings.Builder
trimmedRule := strings.Trim(strings.TrimSpace(rules), "()")
ruleList := strings.Split(trimmedRule, ",")
for _, r := range ruleList {
r = strings.TrimSpace(r)
switch r {
case ExportAccessReadOnly:
exportAccess = ExportAccessReadOnly
case ExportAccessReadWrite:
exportAccess = ExportAccessReadWrite
case ExportSquashAll:
exportSquash = ExportSquashAllArg
case ExportSquashRoot:
exportSquash = ExportSquashRootArg
case ExportSquashNone:
exportSquash = ExportSquashNoneArg
case ExportAllowSuid:
allowSuid = ExportBoolArgYes
case ExportAllowSubmounts:
allowSubmounts = ExportBoolArgYes
case "":
continue
default:
errors.WriteString(fmt.Sprintf("invalid rule: '%s' ", r))
}
}
if errors.Len() > 0 {
err = fmt.Errorf(errors.String())
}
return exportAccess, exportSquash, allowSuid, allowSubmounts, err
}