| What does the user expect this command to do? From the built-in help:
This action validates Puppet DSL syntax without compiling a catalog or syncing any resources. [...]
As a user, I consider a plan to be Puppet DSL syntax just as much as I consider a desired-state manifest to be. While there is utility in making finer-grained validation available (such as are provided with the pdk validate command), I want a base syntax check to constrain itself to telling me if the content is valid Puppet DSL. Whether the content is valid for the purpose (based on e.g. if the name of the class or plan matches the modulename+filename, or if the plan or manifest is in a module-correct) is a higher level check. The puppet parser validate command allows syntax checking on stdin, communicating that file name and location is not fundamentally important to its purpose. The ask in this ticket is to make specification of purpose optional, or simply not part of this tool. This tool should consider a plan OR a manifest on stdin valid without the user needing to specify which is coming through. If the user chooses to specify, additional scrutiny can be applied. But if the user does not specify, a plan should not be reported as invalid syntax by default.
|