Files
decort-golang-sdk/internal/validators/validator.go

321 lines
6.7 KiB
Go
Raw Normal View History

2023-03-17 12:54:34 +03:00
package validators
import (
"sync"
"github.com/go-playground/validator/v10"
)
var (
2023-05-18 13:37:48 +03:00
once sync.Once
decortValidator = validator.New()
2023-03-17 12:54:34 +03:00
)
// getDecortValidator returns singleton instance of DecortValidator.
func getDecortValidator() *validator.Validate {
2023-05-18 13:37:48 +03:00
once.Do(func() {
err := registerAllValidators(decortValidator)
if err != nil {
panic(err)
}
})
return decortValidator
2023-03-17 12:54:34 +03:00
}
// registerAllValidators registers all custom validators in DecortValidator.
func registerAllValidators(validate *validator.Validate) error {
2024-04-16 14:26:06 +03:00
2023-03-24 17:09:30 +03:00
err := validate.RegisterValidation("proto", protoValidator)
2023-03-17 12:54:34 +03:00
if err != nil {
return err
}
2025-04-09 11:21:07 +03:00
err = validate.RegisterValidation("apiGroup", apiGroupValidator)
if err != nil {
return err
}
2023-03-24 17:09:30 +03:00
err = validate.RegisterValidation("accessType", accessTypeValidator)
2023-03-17 12:54:34 +03:00
if err != nil {
return err
}
2023-03-24 17:09:30 +03:00
err = validate.RegisterValidation("resTypes", resTypesValidator)
2023-03-17 12:54:34 +03:00
if err != nil {
return err
}
2023-03-24 17:09:30 +03:00
err = validate.RegisterValidation("imageBootType", imageBootTypeValidator)
2023-03-17 12:54:34 +03:00
if err != nil {
return err
}
2023-03-24 17:09:30 +03:00
err = validate.RegisterValidation("imageType", imageTypeValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("imageArchitecture", imageArchitectureValidator)
2023-03-17 12:54:34 +03:00
if err != nil {
return err
}
2023-03-24 17:09:30 +03:00
err = validate.RegisterValidation("accountCUType", accountCUTypeValidator)
2023-03-17 12:54:34 +03:00
if err != nil {
return err
}
err = validate.RegisterValidation("bserviceMode", bserviceModeValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("computeTopology", computeTopologyValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("computePolicy", computePolicyValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("computeMode", computeModeValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("computeDiskType", computeDiskTypeValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("computeNetType", computeNetTypeValidator)
if err != nil {
return err
}
2024-05-31 13:35:39 +03:00
err = validate.RegisterValidation("computex86NetType", computex86NetTypeValidator)
if err != nil {
return err
}
2023-03-24 17:09:30 +03:00
err = validate.RegisterValidation("computeOrder", computeOrderValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("computeDataDisks", computeDataDisksValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("diskType", diskTypeValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("flipgroupClientType", flipgroupClientTypeValidator)
if err != nil {
return err
}
2025-11-14 17:38:59 +03:00
err = validate.RegisterValidation("massCreateNetType", massCreateTypeValidator)
2023-03-24 17:09:30 +03:00
if err != nil {
return err
}
err = validate.RegisterValidation("lbAlgorithm", lbAlgorithmValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("rgDefNet", rgDefNetValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("rgNetType", rgNetTypeValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("vinsType", vinsTypeValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("sepFieldType", sepFieldTypeValidator)
2023-03-17 12:54:34 +03:00
if err != nil {
return err
}
2023-04-20 11:17:35 +03:00
err = validate.RegisterValidation("hwPath", hwPathValidator)
if err != nil {
return err
}
2023-04-28 11:46:58 +03:00
err = validate.RegisterValidation("networkPlugin", networkPluginValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("networkPlugins", networkPluginsValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("strict_loose", strictLooseValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("interfaceState", interfaceStateValidator)
if err != nil {
return err
}
2024-11-12 12:51:21 +03:00
err = validate.RegisterValidation("interfaceTXModel", interfaceTXModelValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("interfaceIOEventFD", interfaceIOEventFDValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("interfaceEventIDx", interfaceEventIDxValidator)
if err != nil {
return err
}
2023-08-09 19:33:50 +03:00
err = validate.RegisterValidation("workerGroupName", workerGroupNameValidator)
if err != nil {
return err
}
2024-04-16 14:26:06 +03:00
err = validate.RegisterValidation("sortBy", sortByValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("action", actionValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("vmaction", vmActionValidator)
if err != nil {
return err
}
2024-11-12 12:51:21 +03:00
err = validate.RegisterValidation("mtu", mtuValidator)
if err != nil {
return err
}
2024-04-16 14:26:06 +03:00
err = validate.RegisterValidation("computeFeatures", computeFeaturesValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("networkInterfaceNaming", networkInterfaceNamingValidator)
if err != nil {
return err
}
2024-05-31 13:35:39 +03:00
err = validate.RegisterValidation("numaAffinity", numaAffinityValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("kvmx86NetType", kvmx86NetTypeValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("isBool", isBoolTypeValidator)
if err != nil {
return err
}
2024-11-12 12:51:21 +03:00
err = validate.RegisterValidation("url", urlValidartor)
if err != nil {
return err
}
2024-11-22 12:09:50 +03:00
err = validate.RegisterValidation("chipset", chipsetValidator)
if err != nil {
return err
}
2025-02-07 11:11:43 +03:00
err = validate.RegisterValidation("preferredCPU", preferredCPUValidator)
if err != nil {
return err
}
2025-04-18 11:42:00 +03:00
err = validate.RegisterValidation("loaderType", loaderTypeValidator)
if err != nil {
return err
}
2025-04-09 11:21:07 +03:00
err = validate.RegisterValidation("language", languageValidator)
if err != nil {
return err
}
2025-07-15 17:39:18 +03:00
err = validate.RegisterValidation("userProvider", userProviderValidator)
if err != nil {
return err
}
2025-04-09 11:21:07 +03:00
err = validate.RegisterValidation("sepType", sepTypeValidator)
if err != nil {
return err
}
2025-07-15 17:39:18 +03:00
err = validate.RegisterValidation("device", deviceValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("trunkTags", trunkTagsValidator)
if err != nil {
return err
}
2025-08-29 12:51:25 +03:00
err = validate.RegisterValidation("securityGroupDirection", securityGroupDirectionValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("securityGroupEthertype", securityGroupEthertypeValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("securityGroupProtocol", securityGroupProtocolValidator)
if err != nil {
return err
}
2025-11-14 17:38:59 +03:00
err = validate.RegisterValidation("addressPoolNetTypeValidator", addressPoolNetTypeValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("ipTypes", ipTypesValidator)
if err != nil {
return err
}
2025-12-23 17:39:58 +03:00
err = validate.RegisterValidation("sepTechStatus", sepTechStatusValidator)
if err != nil {
return err
}
2023-03-17 12:54:34 +03:00
return nil
}