package impersonation import "github.com/docker/compose-on-kubernetes/api/compose/clone" // Config contains the data required to impersonate a user. type Config struct { // UserName is the username to impersonate on each request. UserName string // Groups are the groups to impersonate on each request. Groups []string // Extra is a free-form field which can be used to link some authentication information // to authorization information. This field allows you to impersonate it. Extra map[string][]string } // Clone clones the impersonation config func (ic *Config) Clone() *Config { if ic == nil { return nil } result := new(Config) result.UserName = ic.UserName result.Groups = clone.SliceOfString(ic.Groups) result.Extra = clone.MapOfStringToSliceOfString(ic.Extra) return result }