func()

in alzlib.go [154:171]


func (az *AlzLib) AddRoleDefinitions(rds ...*assets.RoleDefinition) error {
	az.mu.Lock()
	defer az.mu.Unlock()
	for _, rd := range rds {
		if rd == nil || rd.Name == nil || *rd.Name == "" {
			continue
		}
		if _, exists := az.policyDefinitions[*rd.Name]; exists && !az.Options.AllowOverwrite {
			return fmt.Errorf("Alzlib.AddPolicyAssignments: role definition with name %s already exists and allow overwrite not set", *rd.Name)
		}
		cpy, err := deep.Copy(rd)
		if err != nil {
			return fmt.Errorf("Alzlib.AddPolicyAssignments: error making deep copy of role definition %s: %w", *rd.Name, err)
		}
		az.roleDefinitions[*rd.Name] = cpy
	}
	return nil
}