Documentation ¶
Overview ¶
Package util contains various utility functions that are useful across all of goiardi.
Index ¶
- func CustomObjURL(obj GoiardiObj, path string) string
- func CustomURL(path string) string
- func DeepMerge(key string, source interface{}) map[string]interface{}
- func FlattenObj(obj interface{}) map[string]interface{}
- func Indexify(flattened map[string]interface{}) []string
- func MapifyObject(obj interface{}) map[string]interface{}
- func ObjURL(obj GoiardiObj) string
- func ValidateDBagName(name string) bool
- func ValidateEnvName(name string) bool
- func ValidateName(name string) bool
- func ValidateUserName(name string) bool
- type Gerror
- func CheckAdminPlusValidator(json_actor map[string]interface{}) Gerror
- func Errorf(format string, a ...interface{}) Gerror
- func New(text string) Gerror
- func ValidateAsBool(b interface{}) (bool, Gerror)
- func ValidateAsConstraint(t interface{}) (bool, Gerror)
- func ValidateAsFieldString(str interface{}) (string, Gerror)
- func ValidateAsString(str interface{}) (string, Gerror)
- func ValidateAsVersion(ver interface{}) (string, Gerror)
- func ValidateAttributes(key string, attrs interface{}) (map[string]interface{}, Gerror)
- func ValidateCookbookDivision(dname string, div interface{}) ([]map[string]interface{}, Gerror)
- func ValidateCookbookMetadata(mdata interface{}) (map[string]interface{}, Gerror)
- func ValidateNumVersions(nr string) Gerror
- func ValidateRunList(rl interface{}) ([]string, Gerror)
- type GoiardiObj
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CustomObjURL ¶
func CustomObjURL(obj GoiardiObj, path string) string
Craft a URL for a Goiardi object with additional path elements
func FlattenObj ¶
func FlattenObj(obj interface{}) map[string]interface{}
Flatten an object and expand its keys into a map[string]string so it's suitable for indexing, either with solr (eventually) or with the whipped up replacement for local mode. Objects fed into this function *must* have the "json" tag set for their struct members.
func Indexify ¶
Given a flattened object, prepares it for indexing by turning it into a sorted slice of strings formatted like "key:value".
func MapifyObject ¶
func MapifyObject(obj interface{}) map[string]interface{}
Turn an object into a map[string]interface{}. Useful for when you have a slice of objects that you need to trim, mutilate, fold, etc. before returning them as JSON.
func ValidateDBagName ¶
func ValidateEnvName ¶
func ValidateName ¶
func ValidateUserName ¶ added in v0.4.0
Types ¶
type Gerror ¶
An error type that includes an http status code (defaults to http.BadRequest).
func CheckAdminPlusValidator ¶ added in v0.4.0
Check that client/user json is not trying to set admin and validator at the same time. This has to be checked separately to make chef-pedent happy.
func ValidateAsBool ¶
func ValidateAsConstraint ¶
func ValidateAsFieldString ¶
func ValidateAsString ¶
func ValidateAsVersion ¶
func ValidateAttributes ¶
func ValidateNumVersions ¶
func ValidateRunList ¶
type GoiardiObj ¶
Anything that implements these functions is a goiardi/chef object, like a cookbook, role, etc., and will be able to use these common functions.