The names of classes and defined types can consist of one or more namespace segments. Each namespace segment must begin with a lowercase letter
On Puppet 4.3.x+:
Could not parse for environment production: Illegal fully qualified name at /vagrant/puphpet/puppet/modules/yum/manifests/repo/10gen.pp:5:18 on node local.test
Documentation: https://docs.puppetlabs.com/puppet/latest/reference/lang_reserved.html#classes-and-defined-types
On Puppet 4.3.x+: