// validateParameters tests that keys are qualified names and that provisionerParameter are < 256kB. func validateParameters(params map[string]string, fldPath *field.Path) field.ErrorList { var totalSize int64 allErrs := field.ErrorList{} if len(params) > maxProvisionerParameterLen { allErrs = append(allErrs, field.TooLong(fldPath, "Provisioner Parameters exceeded max allowed", maxProvisionerParameterLen)) return allErrs } for k, v := range params { if len(k) < 1 { allErrs = append(allErrs, field.Invalid(fldPath, k, "field can not be empty.")) } totalSize += (int64)(len(k)) + (int64)(len(v)) } if totalSize > maxProvisionerParameterSize { allErrs = append(allErrs, field.TooLong(fldPath, "", maxProvisionerParameterSize)) } return allErrs }
// ValidateAnnotations validates that a set of annotations are correctly defined. func ValidateAnnotations(annotations map[string]string, fldPath *field.Path) field.ErrorList { allErrs := field.ErrorList{} var totalSize int64 for k, v := range annotations { for _, msg := range validation.IsQualifiedName(strings.ToLower(k)) { allErrs = append(allErrs, field.Invalid(fldPath, k, msg)) } totalSize += (int64)(len(k)) + (int64)(len(v)) } if totalSize > (int64)(totalAnnotationSizeLimitB) { allErrs = append(allErrs, field.TooLong(fldPath, "", totalAnnotationSizeLimitB)) } return allErrs }