Application components provide the individual pieces of the multi-node application. They are most often defined types (for reusability), but can also consist of classes or even native resources, such as files, in very simple cases. Application components are created by the export, consume, or require metaparameters that are used in an application declaration.
Application components are written as general classes or defined types. They follow the same autoload format as all other Puppet code. The manifest for example::app2 would still be located at manifests/example/app2.pp. Application components can explicitly list the values they export and consume in their individual manifests by placing an additional statement ...