As per https://puppet.com/docs/puppet/latest/lang_classes.html#section-x54-1hk-xhb it is possible to do resource-like declarations for Puppet types e.g.
class {'apache':
version => '2.2.21',
}
Resource-like declarations look like normal resource declarations, using the class pseudo-resource type. You can provide a value for any class parameter by specifying it as a resource attribute.
The completion provider should provide parameter and property completions for this type of declaration.