func normalizeConfig()

in lib/dam/dam.go [1200:1243]


func normalizeConfig(cfg *pb.DamConfig) error {
	if cfg.Clients == nil {
		cfg.Clients = make(map[string]*cpb.Client)
	}
	if cfg.TestPersonas == nil {
		cfg.TestPersonas = make(map[string]*cpb.TestPersona)
	}
	for _, p := range cfg.TestPersonas {
		sort.Strings(p.Access)
	}
	if cfg.Policies == nil {
		cfg.Policies = make(map[string]*pb.Policy)
	}
	for k, v := range BuiltinPolicies {
		p := &pb.Policy{}
		proto.Merge(p, v)
		cfg.Policies[k] = p
	}
	if cfg.TrustedIssuers == nil {
		cfg.TrustedIssuers = make(map[string]*pb.TrustedIssuer)
	}
	if cfg.TrustedSources == nil {
		cfg.TrustedSources = make(map[string]*pb.TrustedSource)
	}
	if cfg.Resources == nil {
		cfg.Resources = make(map[string]*pb.Resource)
	}
	if cfg.Clients == nil {
		cfg.Clients = make(map[string]*cpb.Client)
	}
	if cfg.ServiceTemplates == nil {
		cfg.ServiceTemplates = make(map[string]*pb.ServiceTemplate)
	}
	if cfg.VisaTypes == nil {
		cfg.VisaTypes = make(map[string]*pb.VisaType)
	}
	if cfg.Options == nil {
		cfg.Options = &pb.ConfigOptions{}
	}
	if cfg.Ui == nil {
		cfg.Ui = make(map[string]string)
	}
	return nil
}