func processRoleDefinition()

in internal/processor/processor.go [337:351]


func processRoleDefinition(res *Result, unmar unmarshaler) error {
	rd := new(armauthorization.RoleDefinition)
	if err := unmar.unmarshal(rd); err != nil {
		return fmt.Errorf("processRoleDefinition: error unmarshalling: %w", err)
	}
	if rd.Properties == nil || rd.Properties.RoleName == nil || *rd.Properties.RoleName == "" {
		return fmt.Errorf("processRoleDefinition: role definition role name is empty or not present")
	}
	if _, exists := res.PolicySetDefinitions[*rd.Properties.RoleName]; exists {
		return fmt.Errorf("processRoleDefinition: role definition with role name `%s` already exists", *rd.Properties.RoleName)
	}
	// Use roleName here not the name, which is a GUID
	res.RoleDefinitions[*rd.Properties.RoleName] = rd
	return nil
}