in alzlib.go [134:151]
func (az *AlzLib) AddPolicySetDefinitions(psds ...*assets.PolicySetDefinition) error {
az.mu.Lock()
defer az.mu.Unlock()
for _, psd := range psds {
if psd == nil || psd.Name == nil || *psd.Name == "" {
continue
}
if _, exists := az.policyDefinitions[*psd.Name]; exists && !az.Options.AllowOverwrite {
return fmt.Errorf("Alzlib.AddPolicySetDefinitions: policy set definition with name %s already exists and allow overwrite not set", *psd.Name)
}
cpy, err := deep.Copy(psd)
if err != nil {
return fmt.Errorf("Alzlib.AddPolicySetDefinitions: error making deep copy of policy set definition %s: %w", *psd.Name, err)
}
az.policySetDefinitions[*psd.Name] = cpy
}
return nil
}