Just so. External node classifiers (ENCs) such as Foreman cannot specify individual resources to Puppet. They can specify only classes (c.f.
classifier) and top-scope variables. Wrap your declaration in a class, put the class where Puppet can find it, and use Foreman to declare that class for those nodes that should have it.
Putting your declarations into classes is best practice anyway. Putting ordinary resource declarations directly at the top level of a manifest -- especially site.pp -- tells Puppet that they apply to every managed machine, with no exceptions. That is rarely appropriate.
Personally, I would recommend developing a working familiarity with Puppet itself before adding Foreman or any other ENC to the mix. It will be easier, and you will have a better understanding of what Foreman is doing for you (and what it isn't). Overall, I think you will get better, faster.
To that end, Puppet's online docs are pretty good:
http://docs.puppetlabs.com/puppet/3/reference/. The "The Puppet Language" and "Modules"/"Fundamentals" sections are required reading. It would be a good idea to also at least skim several of the "Generated References" subsections, especially "Resource Types" and "Functions". Still, nothing beats actually using the system. Almost everything you will learn and produce by building your manifest set without an ENC will remain relevant when (if) you add an ENC.
John