github.com/docker/compose-on-kubernetes@v0.5.0/api/compose/impersonation/impersonationconfig.go (about) 1 package impersonation 2 3 import "github.com/docker/compose-on-kubernetes/api/compose/clone" 4 5 // Config contains the data required to impersonate a user. 6 type Config struct { 7 // UserName is the username to impersonate on each request. 8 UserName string 9 // Groups are the groups to impersonate on each request. 10 Groups []string 11 // Extra is a free-form field which can be used to link some authentication information 12 // to authorization information. This field allows you to impersonate it. 13 Extra map[string][]string 14 } 15 16 // Clone clones the impersonation config 17 func (ic *Config) Clone() *Config { 18 if ic == nil { 19 return nil 20 } 21 result := new(Config) 22 result.UserName = ic.UserName 23 result.Groups = clone.SliceOfString(ic.Groups) 24 result.Extra = clone.MapOfStringToSliceOfString(ic.Extra) 25 return result 26 }