Problem
You are trying to work with puppet modules in AWS, after installing puppet as a gem, but when you try to put the modules and manifests outside the main manifests/site.pp file you get an error similar to following:
Error: Could not find class apache2 for ip-xx-xx-xx-xx.eu-west-1.compute.internal on node ip-xx-xx-xx-xx.eu-west-1.compute.internal
Solution
Create a file for the puppet configuration in /etc/puppet/puppet.conf and add the paths to your own manifests and modules, like :
$aws sudo vi /etc/puppet/puppet.conf
and add your paths:
[main] manifest = /home/ubuntu/puppet/manifests/site.pp modulepath = /etc/puppet/modules:/usr/share/puppet/modules:/home/ubuntu/puppet/modules