in alzlib.go [93:110]
func (az *AlzLib) AddPolicyAssignments(pas ...*assets.PolicyAssignment) error {
az.mu.Lock()
defer az.mu.Unlock()
for _, pa := range pas {
if pa == nil || pa.Name == nil || *pa.Name == "" {
continue
}
if _, exists := az.policyAssignments[*pa.Name]; exists && !az.Options.AllowOverwrite {
return fmt.Errorf("Alzlib.AddPolicyAssignments: policy assignment with name %s already exists and allow overwrite not set", *pa.Name)
}
cpy, err := deep.Copy(pa)
if err != nil {
return fmt.Errorf("Alzlib.AddPolicyAssignments: error making deep copy of policy assignment %s: %w", *pa.Name, err)
}
az.policyAssignments[*pa.Name] = cpy
}
return nil
}