| In https://github.com/puppetlabs/bolt/blob/master/lib/bolt/applicator.rb#L33-L37 the files are marked that are required for running an apply on a target node. Right now it doesn't contain the puppet data types defined in the directory types with extension .pp. As a result of that puppet code that requires these puppet data types not only for catalog compilation but also for run time type checking, cannot run in a bolt apply block. This is related to https://tickets.puppetlabs.com/browse/PUP-7197. However, this is more harmful. We have installed the the [oci_config|https://forge.puppet.com/enterprisemodules/oci_config] on a puppetserver to let this puppetserver work like a gateway between the puppet world and the Oracle Cloud. Many of the custom types available in this module rely on Puppet data types. It works great when you run an apply on the local puppetserver. But when we want to use the power of Bolt with it, we run into this issue: /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppet-resource_api-1.8.13/lib/puppet/resource_api/data_type_handling.rb:49:in `mungify_core': Parameter source_details failed on Oci_core_volume[blockvolumecloning (root)/ohisc/TRUSTON/BV_TRO9_BO]: oci_core_volume.source_details references an unresolved type 'Oci_config::VolumeSourceDetails' (file: /etc/puppetlabs/code/environments/block_volume_copying/modules/profile/plans/afterclone/clone_volume.pp, line: 38) (Puppet::ResourceError) from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppet-resource_api-1.8.13/lib/puppet/resource_api/data_type_handling.rb:22:in `mungify' from /tmp/d20200518-22643-zj5onk/modules/easy_type/lib/easy_type/extended_parameter.rb:41:in `coerce' A very simple solution would be to add the types directory to the directories being synced. |