puppet defined types