puppet 8.3.1-x86-mingw32 → 8.4.0-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +51 -43
- data/README.md +4 -4
- data/Rakefile +0 -27
- data/examples/enc/regexp_nodes/regexp_nodes.rb +1 -1
- data/ext/windows/service/daemon.rb +4 -5
- data/lib/hiera/puppet_function.rb +3 -2
- data/lib/hiera/scope.rb +2 -2
- data/lib/hiera_puppet.rb +1 -3
- data/lib/puppet/agent/disabler.rb +2 -1
- data/lib/puppet/agent/locker.rb +1 -2
- data/lib/puppet/agent.rb +2 -1
- data/lib/puppet/application/agent.rb +292 -291
- data/lib/puppet/application/apply.rb +143 -139
- data/lib/puppet/application/catalog.rb +1 -0
- data/lib/puppet/application/config.rb +1 -0
- data/lib/puppet/application/describe.rb +53 -55
- data/lib/puppet/application/device.rb +150 -150
- data/lib/puppet/application/doc.rb +60 -59
- data/lib/puppet/application/epp.rb +1 -0
- data/lib/puppet/application/face_base.rb +8 -7
- data/lib/puppet/application/facts.rb +1 -0
- data/lib/puppet/application/filebucket.rb +186 -184
- data/lib/puppet/application/generate.rb +1 -0
- data/lib/puppet/application/help.rb +1 -0
- data/lib/puppet/application/indirection_base.rb +1 -0
- data/lib/puppet/application/lookup.rb +168 -171
- data/lib/puppet/application/module.rb +1 -0
- data/lib/puppet/application/node.rb +1 -0
- data/lib/puppet/application/parser.rb +1 -0
- data/lib/puppet/application/plugin.rb +1 -0
- data/lib/puppet/application/report.rb +1 -0
- data/lib/puppet/application/resource.rb +111 -108
- data/lib/puppet/application/script.rb +92 -93
- data/lib/puppet/application/ssl.rb +89 -88
- data/lib/puppet/application.rb +9 -8
- data/lib/puppet/application_support.rb +1 -1
- data/lib/puppet/coercion.rb +3 -2
- data/lib/puppet/compilable_resource_type.rb +1 -0
- data/lib/puppet/concurrent/lock.rb +1 -2
- data/lib/puppet/concurrent/synchronized.rb +1 -2
- data/lib/puppet/concurrent/thread_local_singleton.rb +1 -0
- data/lib/puppet/concurrent.rb +1 -0
- data/lib/puppet/configurer/downloader.rb +1 -1
- data/lib/puppet/configurer/fact_handler.rb +2 -1
- data/lib/puppet/configurer/plugin_handler.rb +1 -0
- data/lib/puppet/configurer.rb +17 -13
- data/lib/puppet/confine/any.rb +1 -0
- data/lib/puppet/confine/boolean.rb +1 -0
- data/lib/puppet/confine/exists.rb +1 -0
- data/lib/puppet/confine/false.rb +1 -0
- data/lib/puppet/confine/feature.rb +1 -0
- data/lib/puppet/confine/true.rb +1 -0
- data/lib/puppet/confine/variable.rb +1 -0
- data/lib/puppet/confine.rb +2 -0
- data/lib/puppet/confine_collection.rb +3 -1
- data/lib/puppet/confiner.rb +1 -0
- data/lib/puppet/context/trusted_information.rb +1 -0
- data/lib/puppet/context.rb +1 -0
- data/lib/puppet/daemon.rb +4 -1
- data/lib/puppet/data_binding.rb +2 -1
- data/lib/puppet/datatypes/error.rb +2 -1
- data/lib/puppet/datatypes/impl/error.rb +1 -0
- data/lib/puppet/datatypes.rb +5 -1
- data/lib/puppet/defaults.rb +19 -18
- data/lib/puppet/environments.rb +3 -2
- data/lib/puppet/error.rb +9 -7
- data/lib/puppet/etc.rb +6 -3
- data/lib/puppet/external/dot.rb +12 -31
- data/lib/puppet/face/catalog/select.rb +2 -1
- data/lib/puppet/face/catalog.rb +3 -2
- data/lib/puppet/face/config.rb +18 -20
- data/lib/puppet/face/epp.rb +6 -6
- data/lib/puppet/face/facts.rb +4 -3
- data/lib/puppet/face/generate.rb +2 -0
- data/lib/puppet/face/help.rb +8 -7
- data/lib/puppet/face/module/changes.rb +2 -0
- data/lib/puppet/face/module/install.rb +2 -1
- data/lib/puppet/face/module/list.rb +7 -8
- data/lib/puppet/face/module/uninstall.rb +1 -0
- data/lib/puppet/face/module.rb +1 -0
- data/lib/puppet/face/node/clean.rb +2 -1
- data/lib/puppet/face/node.rb +2 -1
- data/lib/puppet/face/parser.rb +2 -2
- data/lib/puppet/face/plugin.rb +2 -1
- data/lib/puppet/face/report.rb +2 -1
- data/lib/puppet/face/resource.rb +1 -0
- data/lib/puppet/face.rb +1 -0
- data/lib/puppet/feature/base.rb +2 -1
- data/lib/puppet/feature/bolt.rb +1 -0
- data/lib/puppet/feature/cfpropertylist.rb +1 -0
- data/lib/puppet/feature/eventlog.rb +1 -0
- data/lib/puppet/feature/hiera_eyaml.rb +1 -0
- data/lib/puppet/feature/hocon.rb +1 -0
- data/lib/puppet/feature/libuser.rb +4 -3
- data/lib/puppet/feature/msgpack.rb +1 -0
- data/lib/puppet/feature/pe_license.rb +2 -1
- data/lib/puppet/feature/pson.rb +1 -0
- data/lib/puppet/feature/selinux.rb +1 -0
- data/lib/puppet/feature/ssh.rb +1 -0
- data/lib/puppet/feature/telnet.rb +1 -0
- data/lib/puppet/feature/zlib.rb +1 -0
- data/lib/puppet/ffi/posix/constants.rb +1 -0
- data/lib/puppet/ffi/posix/functions.rb +1 -1
- data/lib/puppet/ffi/posix.rb +1 -0
- data/lib/puppet/ffi/windows/api_types.rb +1 -0
- data/lib/puppet/ffi/windows/constants.rb +78 -77
- data/lib/puppet/ffi/windows/functions.rb +73 -73
- data/lib/puppet/ffi/windows/structs.rb +3 -3
- data/lib/puppet/ffi/windows.rb +1 -0
- data/lib/puppet/file_bucket/dipper.rb +7 -1
- data/lib/puppet/file_bucket/file.rb +1 -0
- data/lib/puppet/file_bucket.rb +1 -0
- data/lib/puppet/file_serving/base.rb +13 -6
- data/lib/puppet/file_serving/configuration/parser.rb +3 -1
- data/lib/puppet/file_serving/configuration.rb +5 -3
- data/lib/puppet/file_serving/content.rb +1 -0
- data/lib/puppet/file_serving/fileset.rb +9 -6
- data/lib/puppet/file_serving/http_metadata.rb +1 -3
- data/lib/puppet/file_serving/metadata.rb +9 -10
- data/lib/puppet/file_serving/mount/file.rb +6 -3
- data/lib/puppet/file_serving/mount/locales.rb +2 -1
- data/lib/puppet/file_serving/mount/modules.rb +2 -0
- data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -1
- data/lib/puppet/file_serving/mount/plugins.rb +2 -1
- data/lib/puppet/file_serving/mount/scripts.rb +2 -0
- data/lib/puppet/file_serving/mount/tasks.rb +2 -0
- data/lib/puppet/file_serving/mount.rb +2 -0
- data/lib/puppet/file_serving/terminus_helper.rb +1 -0
- data/lib/puppet/file_serving/terminus_selector.rb +1 -0
- data/lib/puppet/file_serving.rb +1 -0
- data/lib/puppet/file_system/file_impl.rb +2 -2
- data/lib/puppet/file_system/jruby.rb +1 -0
- data/lib/puppet/file_system/memory_file.rb +2 -0
- data/lib/puppet/file_system/memory_impl.rb +3 -0
- data/lib/puppet/file_system/path_pattern.rb +1 -0
- data/lib/puppet/file_system/posix.rb +5 -1
- data/lib/puppet/file_system/uniquefile.rb +11 -11
- data/lib/puppet/file_system/windows.rb +4 -2
- data/lib/puppet/file_system.rb +3 -2
- data/lib/puppet/forge/cache.rb +1 -1
- data/lib/puppet/forge/errors.rb +1 -3
- data/lib/puppet/forge/repository.rb +2 -0
- data/lib/puppet/forge.rb +3 -0
- data/lib/puppet/functions/abs.rb +2 -1
- data/lib/puppet/functions/alert.rb +1 -0
- data/lib/puppet/functions/all.rb +1 -0
- data/lib/puppet/functions/annotate.rb +1 -0
- data/lib/puppet/functions/any.rb +1 -0
- data/lib/puppet/functions/assert_type.rb +1 -0
- data/lib/puppet/functions/binary_file.rb +3 -1
- data/lib/puppet/functions/break.rb +2 -1
- data/lib/puppet/functions/call.rb +1 -1
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/capitalize.rb +1 -1
- data/lib/puppet/functions/ceiling.rb +2 -2
- data/lib/puppet/functions/chomp.rb +1 -1
- data/lib/puppet/functions/chop.rb +1 -1
- data/lib/puppet/functions/compare.rb +1 -0
- data/lib/puppet/functions/contain.rb +1 -0
- data/lib/puppet/functions/convert_to.rb +1 -0
- data/lib/puppet/functions/crit.rb +1 -0
- data/lib/puppet/functions/debug.rb +1 -0
- data/lib/puppet/functions/defined.rb +7 -4
- data/lib/puppet/functions/dig.rb +10 -8
- data/lib/puppet/functions/downcase.rb +1 -0
- data/lib/puppet/functions/each.rb +1 -0
- data/lib/puppet/functions/emerg.rb +1 -0
- data/lib/puppet/functions/empty.rb +1 -0
- data/lib/puppet/functions/epp.rb +1 -1
- data/lib/puppet/functions/err.rb +1 -0
- data/lib/puppet/functions/eyaml_lookup_key.rb +6 -4
- data/lib/puppet/functions/filter.rb +1 -0
- data/lib/puppet/functions/find_file.rb +1 -0
- data/lib/puppet/functions/find_template.rb +1 -0
- data/lib/puppet/functions/flatten.rb +1 -0
- data/lib/puppet/functions/floor.rb +2 -2
- data/lib/puppet/functions/get.rb +2 -1
- data/lib/puppet/functions/getvar.rb +2 -1
- data/lib/puppet/functions/hiera.rb +1 -0
- data/lib/puppet/functions/hiera_array.rb +1 -0
- data/lib/puppet/functions/hiera_hash.rb +1 -0
- data/lib/puppet/functions/hiera_include.rb +2 -0
- data/lib/puppet/functions/hocon_data.rb +1 -0
- data/lib/puppet/functions/import.rb +1 -0
- data/lib/puppet/functions/include.rb +1 -0
- data/lib/puppet/functions/index.rb +2 -2
- data/lib/puppet/functions/info.rb +1 -0
- data/lib/puppet/functions/inline_epp.rb +1 -1
- data/lib/puppet/functions/join.rb +2 -1
- data/lib/puppet/functions/json_data.rb +1 -0
- data/lib/puppet/functions/keys.rb +1 -0
- data/lib/puppet/functions/length.rb +1 -1
- data/lib/puppet/functions/lest.rb +1 -0
- data/lib/puppet/functions/lookup.rb +8 -9
- data/lib/puppet/functions/lstrip.rb +1 -1
- data/lib/puppet/functions/map.rb +1 -0
- data/lib/puppet/functions/match.rb +3 -1
- data/lib/puppet/functions/max.rb +4 -4
- data/lib/puppet/functions/min.rb +4 -4
- data/lib/puppet/functions/module_directory.rb +1 -0
- data/lib/puppet/functions/new.rb +2 -1
- data/lib/puppet/functions/next.rb +1 -0
- data/lib/puppet/functions/notice.rb +1 -0
- data/lib/puppet/functions/reduce.rb +1 -1
- data/lib/puppet/functions/regsubst.rb +1 -0
- data/lib/puppet/functions/require.rb +2 -0
- data/lib/puppet/functions/return.rb +1 -0
- data/lib/puppet/functions/reverse_each.rb +1 -0
- data/lib/puppet/functions/round.rb +1 -0
- data/lib/puppet/functions/rstrip.rb +1 -1
- data/lib/puppet/functions/scanf.rb +1 -0
- data/lib/puppet/functions/size.rb +1 -2
- data/lib/puppet/functions/slice.rb +2 -0
- data/lib/puppet/functions/sort.rb +1 -0
- data/lib/puppet/functions/split.rb +1 -0
- data/lib/puppet/functions/step.rb +1 -0
- data/lib/puppet/functions/strftime.rb +3 -2
- data/lib/puppet/functions/strip.rb +1 -1
- data/lib/puppet/functions/then.rb +2 -0
- data/lib/puppet/functions/tree_each.rb +1 -1
- data/lib/puppet/functions/type.rb +1 -0
- data/lib/puppet/functions/unique.rb +2 -1
- data/lib/puppet/functions/unwrap.rb +1 -0
- data/lib/puppet/functions/upcase.rb +1 -0
- data/lib/puppet/functions/values.rb +1 -0
- data/lib/puppet/functions/versioncmp.rb +2 -2
- data/lib/puppet/functions/warning.rb +1 -0
- data/lib/puppet/functions/with.rb +1 -0
- data/lib/puppet/functions/yaml_data.rb +1 -0
- data/lib/puppet/functions.rb +9 -9
- data/lib/puppet/generate/models/type/property.rb +2 -0
- data/lib/puppet/generate/models/type/type.rb +2 -0
- data/lib/puppet/generate/type.rb +6 -1
- data/lib/puppet/gettext/config.rb +6 -0
- data/lib/puppet/gettext/module_translations.rb +1 -1
- data/lib/puppet/gettext/stubs.rb +1 -0
- data/lib/puppet/graph/key.rb +1 -0
- data/lib/puppet/graph/prioritizer.rb +1 -0
- data/lib/puppet/graph/rb_tree_map.rb +12 -2
- data/lib/puppet/graph/relationship_graph.rb +3 -2
- data/lib/puppet/graph/sequential_prioritizer.rb +1 -0
- data/lib/puppet/graph/simple_graph.rb +38 -31
- data/lib/puppet/graph.rb +1 -0
- data/lib/puppet/http/client.rb +4 -1
- data/lib/puppet/http/dns.rb +5 -5
- data/lib/puppet/http/errors.rb +1 -0
- data/lib/puppet/http/external_client.rb +2 -2
- data/lib/puppet/http/factory.rb +1 -0
- data/lib/puppet/http/pool.rb +2 -1
- data/lib/puppet/http/pool_entry.rb +1 -0
- data/lib/puppet/http/proxy.rb +3 -2
- data/lib/puppet/http/redirector.rb +1 -0
- data/lib/puppet/http/resolver/server_list.rb +1 -1
- data/lib/puppet/http/resolver/settings.rb +1 -1
- data/lib/puppet/http/resolver/srv.rb +1 -1
- data/lib/puppet/http/resolver.rb +1 -0
- data/lib/puppet/http/response.rb +1 -0
- data/lib/puppet/http/response_converter.rb +1 -0
- data/lib/puppet/http/response_net_http.rb +1 -1
- data/lib/puppet/http/retry_after_handler.rb +1 -1
- data/lib/puppet/http/service/ca.rb +1 -0
- data/lib/puppet/http/service/compiler.rb +9 -3
- data/lib/puppet/http/service/file_server.rb +2 -1
- data/lib/puppet/http/service/puppetserver.rb +1 -1
- data/lib/puppet/http/service/report.rb +1 -1
- data/lib/puppet/http/service.rb +1 -0
- data/lib/puppet/http/session.rb +2 -1
- data/lib/puppet/http/site.rb +1 -0
- data/lib/puppet/http.rb +1 -0
- data/lib/puppet/indirector/catalog/compiler.rb +50 -40
- data/lib/puppet/indirector/catalog/json.rb +1 -0
- data/lib/puppet/indirector/catalog/msgpack.rb +1 -0
- data/lib/puppet/indirector/catalog/rest.rb +9 -0
- data/lib/puppet/indirector/catalog/store_configs.rb +1 -2
- data/lib/puppet/indirector/catalog/yaml.rb +1 -0
- data/lib/puppet/indirector/code.rb +1 -0
- data/lib/puppet/indirector/data_binding/hiera.rb +1 -0
- data/lib/puppet/indirector/data_binding/none.rb +1 -0
- data/lib/puppet/indirector/direct_file_server.rb +3 -1
- data/lib/puppet/indirector/envelope.rb +1 -0
- data/lib/puppet/indirector/errors.rb +1 -0
- data/lib/puppet/indirector/exec.rb +1 -0
- data/lib/puppet/indirector/face.rb +7 -6
- data/lib/puppet/indirector/fact_search.rb +1 -0
- data/lib/puppet/indirector/facts/facter.rb +2 -0
- data/lib/puppet/indirector/facts/json.rb +1 -0
- data/lib/puppet/indirector/facts/memory.rb +1 -0
- data/lib/puppet/indirector/facts/network_device.rb +1 -0
- data/lib/puppet/indirector/facts/rest.rb +1 -0
- data/lib/puppet/indirector/facts/store_configs.rb +1 -1
- data/lib/puppet/indirector/facts/yaml.rb +1 -0
- data/lib/puppet/indirector/file_bucket_file/file.rb +10 -5
- data/lib/puppet/indirector/file_bucket_file/rest.rb +2 -0
- data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -0
- data/lib/puppet/indirector/file_content/file.rb +1 -0
- data/lib/puppet/indirector/file_content/file_server.rb +1 -0
- data/lib/puppet/indirector/file_content/rest.rb +1 -0
- data/lib/puppet/indirector/file_content/selector.rb +1 -0
- data/lib/puppet/indirector/file_content.rb +1 -0
- data/lib/puppet/indirector/file_metadata/file.rb +1 -0
- data/lib/puppet/indirector/file_metadata/file_server.rb +1 -0
- data/lib/puppet/indirector/file_metadata/http.rb +1 -0
- data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
- data/lib/puppet/indirector/file_metadata/selector.rb +1 -0
- data/lib/puppet/indirector/file_metadata.rb +1 -0
- data/lib/puppet/indirector/file_server.rb +2 -0
- data/lib/puppet/indirector/generic_http.rb +1 -0
- data/lib/puppet/indirector/hiera.rb +5 -4
- data/lib/puppet/indirector/indirection.rb +11 -1
- data/lib/puppet/indirector/json.rb +3 -1
- data/lib/puppet/indirector/memory.rb +2 -0
- data/lib/puppet/indirector/msgpack.rb +5 -2
- data/lib/puppet/indirector/node/exec.rb +3 -2
- data/lib/puppet/indirector/node/json.rb +1 -1
- data/lib/puppet/indirector/node/memory.rb +1 -0
- data/lib/puppet/indirector/node/msgpack.rb +1 -0
- data/lib/puppet/indirector/node/plain.rb +1 -0
- data/lib/puppet/indirector/node/rest.rb +1 -0
- data/lib/puppet/indirector/node/store_configs.rb +1 -2
- data/lib/puppet/indirector/node/yaml.rb +1 -0
- data/lib/puppet/indirector/none.rb +1 -0
- data/lib/puppet/indirector/plain.rb +1 -0
- data/lib/puppet/indirector/report/json.rb +1 -0
- data/lib/puppet/indirector/report/msgpack.rb +1 -0
- data/lib/puppet/indirector/report/processor.rb +2 -0
- data/lib/puppet/indirector/report/rest.rb +1 -0
- data/lib/puppet/indirector/report/yaml.rb +1 -0
- data/lib/puppet/indirector/request.rb +7 -5
- data/lib/puppet/indirector/resource/ral.rb +1 -0
- data/lib/puppet/indirector/resource/store_configs.rb +1 -0
- data/lib/puppet/indirector/resource/validator.rb +1 -0
- data/lib/puppet/indirector/rest.rb +1 -0
- data/lib/puppet/indirector/store_configs.rb +1 -0
- data/lib/puppet/indirector/terminus.rb +4 -1
- data/lib/puppet/indirector/yaml.rb +1 -0
- data/lib/puppet/indirector.rb +2 -0
- data/lib/puppet/info_service/class_information_service.rb +5 -3
- data/lib/puppet/info_service/plan_information_service.rb +1 -0
- data/lib/puppet/info_service/task_information_service.rb +1 -0
- data/lib/puppet/interface/action.rb +32 -27
- data/lib/puppet/interface/action_builder.rb +14 -14
- data/lib/puppet/interface/action_manager.rb +2 -0
- data/lib/puppet/interface/documentation.rb +21 -15
- data/lib/puppet/interface/face_collection.rb +5 -2
- data/lib/puppet/interface/option.rb +15 -4
- data/lib/puppet/interface/option_builder.rb +13 -9
- data/lib/puppet/interface/option_manager.rb +3 -2
- data/lib/puppet/interface.rb +3 -3
- data/lib/puppet/loaders.rb +1 -1
- data/lib/puppet/metatype/manager.rb +9 -8
- data/lib/puppet/module/plan.rb +10 -4
- data/lib/puppet/module/task.rb +8 -2
- data/lib/puppet/module.rb +13 -3
- data/lib/puppet/module_tool/applications/application.rb +6 -4
- data/lib/puppet/module_tool/applications/checksummer.rb +1 -2
- data/lib/puppet/module_tool/applications/installer.rb +32 -45
- data/lib/puppet/module_tool/applications/uninstaller.rb +22 -21
- data/lib/puppet/module_tool/applications/unpacker.rb +3 -0
- data/lib/puppet/module_tool/applications/upgrader.rb +28 -26
- data/lib/puppet/module_tool/applications.rb +1 -0
- data/lib/puppet/module_tool/checksums.rb +1 -1
- data/lib/puppet/module_tool/contents_description.rb +1 -2
- data/lib/puppet/module_tool/dependency.rb +1 -1
- data/lib/puppet/module_tool/errors/base.rb +1 -0
- data/lib/puppet/module_tool/errors/installer.rb +4 -4
- data/lib/puppet/module_tool/errors/shared.rb +12 -12
- data/lib/puppet/module_tool/errors/uninstaller.rb +2 -2
- data/lib/puppet/module_tool/errors/upgrader.rb +3 -3
- data/lib/puppet/module_tool/errors.rb +1 -0
- data/lib/puppet/module_tool/install_directory.rb +6 -4
- data/lib/puppet/module_tool/installed_modules.rb +2 -0
- data/lib/puppet/module_tool/local_tarball.rb +3 -0
- data/lib/puppet/module_tool/metadata.rb +21 -20
- data/lib/puppet/module_tool/shared_behaviors.rb +23 -21
- data/lib/puppet/module_tool/tar/gnu.rb +1 -0
- data/lib/puppet/module_tool/tar/mini.rb +1 -0
- data/lib/puppet/module_tool/tar.rb +2 -1
- data/lib/puppet/module_tool.rb +1 -1
- data/lib/puppet/network/authconfig.rb +1 -0
- data/lib/puppet/network/authorization.rb +1 -0
- data/lib/puppet/network/client_request.rb +1 -0
- data/lib/puppet/network/format.rb +5 -0
- data/lib/puppet/network/format_handler.rb +2 -1
- data/lib/puppet/network/format_support.rb +6 -5
- data/lib/puppet/network/formats.rb +15 -11
- data/lib/puppet/network/http/api/indirected_routes.rb +8 -8
- data/lib/puppet/network/http/api/indirection_type.rb +1 -1
- data/lib/puppet/network/http/api/master/v3/environments.rb +1 -0
- data/lib/puppet/network/http/api/master/v3.rb +1 -0
- data/lib/puppet/network/http/api/master.rb +1 -0
- data/lib/puppet/network/http/api/server/v3/environments.rb +20 -14
- data/lib/puppet/network/http/api/server/v3.rb +13 -13
- data/lib/puppet/network/http/api/server.rb +1 -0
- data/lib/puppet/network/http/api.rb +11 -10
- data/lib/puppet/network/http/connection.rb +1 -0
- data/lib/puppet/network/http/error.rb +2 -1
- data/lib/puppet/network/http/handler.rb +3 -2
- data/lib/puppet/network/http/issues.rb +1 -0
- data/lib/puppet/network/http/memory_response.rb +1 -0
- data/lib/puppet/network/http/request.rb +13 -6
- data/lib/puppet/network/http/response.rb +1 -0
- data/lib/puppet/network/http/route.rb +4 -2
- data/lib/puppet/network/http.rb +1 -0
- data/lib/puppet/network/http_pool.rb +2 -1
- data/lib/puppet/network/uri.rb +1 -0
- data/lib/puppet/network.rb +1 -0
- data/lib/puppet/node/environment.rb +12 -9
- data/lib/puppet/node/facts.rb +2 -1
- data/lib/puppet/node.rb +3 -2
- data/lib/puppet/pal/catalog_compiler.rb +1 -3
- data/lib/puppet/pal/compiler.rb +6 -2
- data/lib/puppet/pal/function_signature.rb +2 -1
- data/lib/puppet/pal/json_catalog_encoder.rb +5 -1
- data/lib/puppet/pal/pal_api.rb +1 -0
- data/lib/puppet/pal/pal_impl.rb +20 -19
- data/lib/puppet/pal/plan_signature.rb +2 -1
- data/lib/puppet/pal/script_compiler.rb +3 -2
- data/lib/puppet/pal/task_signature.rb +14 -9
- data/lib/puppet/parameter/boolean.rb +1 -0
- data/lib/puppet/parameter/package_options.rb +1 -0
- data/lib/puppet/parameter/path.rb +3 -0
- data/lib/puppet/parameter/value.rb +1 -0
- data/lib/puppet/parameter/value_collection.rb +5 -5
- data/lib/puppet/parameter.rb +4 -3
- data/lib/puppet/parser/abstract_compiler.rb +0 -2
- data/lib/puppet/parser/ast/block_expression.rb +1 -0
- data/lib/puppet/parser/ast/branch.rb +1 -0
- data/lib/puppet/parser/ast/hostclass.rb +1 -0
- data/lib/puppet/parser/ast/leaf.rb +2 -0
- data/lib/puppet/parser/ast/node.rb +1 -0
- data/lib/puppet/parser/ast/pops_bridge.rb +6 -6
- data/lib/puppet/parser/ast/resource.rb +2 -3
- data/lib/puppet/parser/ast/resource_instance.rb +2 -0
- data/lib/puppet/parser/ast/resourceparam.rb +6 -5
- data/lib/puppet/parser/ast/top_level_construct.rb +1 -0
- data/lib/puppet/parser/ast.rb +4 -3
- data/lib/puppet/parser/catalog_compiler.rb +1 -2
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +3 -0
- data/lib/puppet/parser/compiler/catalog_validator.rb +1 -0
- data/lib/puppet/parser/compiler.rb +10 -8
- data/lib/puppet/parser/e4_parser_adapter.rb +15 -15
- data/lib/puppet/parser/files.rb +1 -1
- data/lib/puppet/parser/functions/assert_type.rb +55 -54
- data/lib/puppet/parser/functions/binary_file.rb +19 -18
- data/lib/puppet/parser/functions/break.rb +35 -34
- data/lib/puppet/parser/functions/contain.rb +1 -0
- data/lib/puppet/parser/functions/create_resources.rb +8 -6
- data/lib/puppet/parser/functions/defined.rb +102 -101
- data/lib/puppet/parser/functions/dig.rb +33 -32
- data/lib/puppet/parser/functions/digest.rb +1 -0
- data/lib/puppet/parser/functions/each.rb +99 -98
- data/lib/puppet/parser/functions/epp.rb +2 -2
- data/lib/puppet/parser/functions/fail.rb +9 -8
- data/lib/puppet/parser/functions/file.rb +14 -13
- data/lib/puppet/parser/functions/filter.rb +74 -73
- data/lib/puppet/parser/functions/find_file.rb +22 -21
- data/lib/puppet/parser/functions/fqdn_rand.rb +23 -22
- data/lib/puppet/parser/functions/generate.rb +20 -20
- data/lib/puppet/parser/functions/hiera.rb +94 -93
- data/lib/puppet/parser/functions/hiera_array.rb +82 -81
- data/lib/puppet/parser/functions/hiera_hash.rb +92 -91
- data/lib/puppet/parser/functions/hiera_include.rb +92 -91
- data/lib/puppet/parser/functions/include.rb +2 -1
- data/lib/puppet/parser/functions/inline_epp.rb +2 -2
- data/lib/puppet/parser/functions/inline_template.rb +11 -11
- data/lib/puppet/parser/functions/lest.rb +44 -43
- data/lib/puppet/parser/functions/lookup.rb +131 -130
- data/lib/puppet/parser/functions/map.rb +71 -70
- data/lib/puppet/parser/functions/match.rb +39 -38
- data/lib/puppet/parser/functions/md5.rb +2 -1
- data/lib/puppet/parser/functions/new.rb +985 -984
- data/lib/puppet/parser/functions/next.rb +34 -33
- data/lib/puppet/parser/functions/realize.rb +9 -9
- data/lib/puppet/parser/functions/reduce.rb +132 -131
- data/lib/puppet/parser/functions/regsubst.rb +6 -5
- data/lib/puppet/parser/functions/require.rb +5 -4
- data/lib/puppet/parser/functions/return.rb +88 -87
- data/lib/puppet/parser/functions/reverse_each.rb +78 -77
- data/lib/puppet/parser/functions/scanf.rb +28 -27
- data/lib/puppet/parser/functions/sha1.rb +2 -1
- data/lib/puppet/parser/functions/sha256.rb +1 -0
- data/lib/puppet/parser/functions/shellquote.rb +1 -0
- data/lib/puppet/parser/functions/slice.rb +34 -33
- data/lib/puppet/parser/functions/split.rb +5 -6
- data/lib/puppet/parser/functions/sprintf.rb +3 -3
- data/lib/puppet/parser/functions/step.rb +79 -78
- data/lib/puppet/parser/functions/strftime.rb +180 -179
- data/lib/puppet/parser/functions/tag.rb +7 -6
- data/lib/puppet/parser/functions/tagged.rb +13 -12
- data/lib/puppet/parser/functions/template.rb +24 -23
- data/lib/puppet/parser/functions/then.rb +68 -67
- data/lib/puppet/parser/functions/type.rb +48 -47
- data/lib/puppet/parser/functions/versioncmp.rb +1 -1
- data/lib/puppet/parser/functions/with.rb +23 -22
- data/lib/puppet/parser/functions.rb +2 -0
- data/lib/puppet/parser/parser_factory.rb +1 -0
- data/lib/puppet/parser/relationship.rb +3 -0
- data/lib/puppet/parser/resource/param.rb +1 -0
- data/lib/puppet/parser/resource.rb +10 -4
- data/lib/puppet/parser/scope.rb +40 -32
- data/lib/puppet/parser/script_compiler.rb +5 -6
- data/lib/puppet/parser/templatewrapper.rb +1 -0
- data/lib/puppet/parser/type_loader.rb +19 -17
- data/lib/puppet/parser.rb +1 -0
- data/lib/puppet/plugins/configuration.rb +1 -0
- data/lib/puppet/plugins/syntax_checkers.rb +1 -1
- data/lib/puppet/plugins.rb +1 -0
- data/lib/puppet/pops/adaptable.rb +3 -1
- data/lib/puppet/pops/adapters.rb +3 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +79 -65
- data/lib/puppet/pops/evaluator/callable_signature.rb +1 -1
- data/lib/puppet/pops/evaluator/closure.rb +273 -277
- data/lib/puppet/pops/evaluator/collector_transformer.rb +11 -9
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -0
- data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +2 -2
- data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +4 -4
- data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +1 -1
- data/lib/puppet/pops/evaluator/compare_operator.rb +15 -3
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +2 -2
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +10 -10
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +140 -138
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
- data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +2 -1
- data/lib/puppet/pops/evaluator/literal_evaluator.rb +1 -1
- data/lib/puppet/pops/evaluator/puppet_proc.rb +2 -0
- data/lib/puppet/pops/evaluator/relationship_operator.rb +5 -3
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +21 -19
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +31 -33
- data/lib/puppet/pops/evaluator/runtime3_support.rb +16 -19
- data/lib/puppet/pops/functions/dispatch.rb +1 -0
- data/lib/puppet/pops/functions/dispatcher.rb +1 -1
- data/lib/puppet/pops/functions/function.rb +1 -2
- data/lib/puppet/pops/issue_reporter.rb +19 -17
- data/lib/puppet/pops/issues.rb +8 -4
- data/lib/puppet/pops/label_provider.rb +1 -0
- data/lib/puppet/pops/loader/base_loader.rb +2 -2
- data/lib/puppet/pops/loader/dependency_loader.rb +3 -0
- data/lib/puppet/pops/loader/gem_support.rb +3 -1
- data/lib/puppet/pops/loader/generic_plan_instantiator.rb +1 -0
- data/lib/puppet/pops/loader/loader.rb +1 -2
- data/lib/puppet/pops/loader/loader_paths.rb +20 -19
- data/lib/puppet/pops/loader/module_loaders.rb +28 -28
- data/lib/puppet/pops/loader/predefined_loader.rb +1 -2
- data/lib/puppet/pops/loader/puppet_function_instantiator.rb +4 -2
- data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +4 -2
- data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +4 -1
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +4 -1
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -2
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +2 -2
- data/lib/puppet/pops/loader/simple_environment_loader.rb +1 -2
- data/lib/puppet/pops/loader/static_loader.rb +22 -21
- data/lib/puppet/pops/loader/task_instantiator.rb +1 -0
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +6 -4
- data/lib/puppet/pops/loader/typed_name.rb +1 -0
- data/lib/puppet/pops/loader/uri_helper.rb +1 -0
- data/lib/puppet/pops/loaders.rb +21 -18
- data/lib/puppet/pops/lookup/configured_data_provider.rb +1 -0
- data/lib/puppet/pops/lookup/context.rb +24 -23
- data/lib/puppet/pops/lookup/data_adapter.rb +1 -0
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +2 -2
- data/lib/puppet/pops/lookup/data_hash_function_provider.rb +1 -0
- data/lib/puppet/pops/lookup/data_provider.rb +1 -0
- data/lib/puppet/pops/lookup/environment_data_provider.rb +1 -0
- data/lib/puppet/pops/lookup/explainer.rb +34 -33
- data/lib/puppet/pops/lookup/function_provider.rb +7 -6
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +136 -100
- data/lib/puppet/pops/lookup/interpolation.rb +5 -1
- data/lib/puppet/pops/lookup/invocation.rb +3 -0
- data/lib/puppet/pops/lookup/key_recorder.rb +3 -1
- data/lib/puppet/pops/lookup/location_resolver.rb +2 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +22 -20
- data/lib/puppet/pops/lookup/lookup_key.rb +1 -0
- data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +1 -0
- data/lib/puppet/pops/lookup/module_data_provider.rb +3 -1
- data/lib/puppet/pops/lookup/sub_lookup.rb +5 -2
- data/lib/puppet/pops/lookup.rb +13 -8
- data/lib/puppet/pops/merge_strategy.rb +5 -2
- data/lib/puppet/pops/migration/migration_checker.rb +3 -1
- data/lib/puppet/pops/model/ast.rb +786 -685
- data/lib/puppet/pops/model/ast_transformer.rb +4 -3
- data/lib/puppet/pops/model/factory.rb +17 -13
- data/lib/puppet/pops/model/model_label_provider.rb +1 -1
- data/lib/puppet/pops/model/model_tree_dumper.rb +10 -9
- data/lib/puppet/pops/model/pn_transformer.rb +4 -6
- data/lib/puppet/pops/model/tree_dumper.rb +2 -0
- data/lib/puppet/pops/parser/code_merger.rb +0 -1
- data/lib/puppet/pops/parser/epp_parser.rb +1 -1
- data/lib/puppet/pops/parser/epp_support.rb +2 -2
- data/lib/puppet/pops/parser/evaluating_parser.rb +5 -2
- data/lib/puppet/pops/parser/heredoc_support.rb +6 -7
- data/lib/puppet/pops/parser/interpolation_support.rb +2 -3
- data/lib/puppet/pops/parser/lexer2.rb +32 -29
- data/lib/puppet/pops/parser/lexer_support.rb +38 -41
- data/lib/puppet/pops/parser/locatable.rb +1 -2
- data/lib/puppet/pops/parser/locator.rb +31 -28
- data/lib/puppet/pops/parser/parser_support.rb +2 -0
- data/lib/puppet/pops/parser/pn_parser.rb +1 -1
- data/lib/puppet/pops/parser/slurp_support.rb +33 -32
- data/lib/puppet/pops/patterns.rb +2 -3
- data/lib/puppet/pops/pcore.rb +2 -2
- data/lib/puppet/pops/pn.rb +3 -0
- data/lib/puppet/pops/puppet_stack.rb +1 -0
- data/lib/puppet/pops/resource/param.rb +11 -10
- data/lib/puppet/pops/resource/resource_type_impl.rb +37 -36
- data/lib/puppet/pops/semantic_error.rb +1 -0
- data/lib/puppet/pops/serialization/abstract_reader.rb +3 -2
- data/lib/puppet/pops/serialization/abstract_writer.rb +5 -4
- data/lib/puppet/pops/serialization/deserializer.rb +2 -0
- data/lib/puppet/pops/serialization/extension.rb +7 -0
- data/lib/puppet/pops/serialization/from_data_converter.rb +3 -0
- data/lib/puppet/pops/serialization/instance_reader.rb +1 -0
- data/lib/puppet/pops/serialization/instance_writer.rb +1 -0
- data/lib/puppet/pops/serialization/json.rb +6 -3
- data/lib/puppet/pops/serialization/json_path.rb +1 -0
- data/lib/puppet/pops/serialization/object.rb +4 -1
- data/lib/puppet/pops/serialization/serializer.rb +6 -2
- data/lib/puppet/pops/serialization/time_factory.rb +1 -1
- data/lib/puppet/pops/serialization/to_data_converter.rb +4 -2
- data/lib/puppet/pops/serialization/to_stringified_converter.rb +2 -2
- data/lib/puppet/pops/serialization.rb +1 -0
- data/lib/puppet/pops/time/timespan.rb +12 -2
- data/lib/puppet/pops/time/timestamp.rb +4 -0
- data/lib/puppet/pops/types/annotatable.rb +1 -1
- data/lib/puppet/pops/types/annotation.rb +1 -0
- data/lib/puppet/pops/types/class_loader.rb +8 -6
- data/lib/puppet/pops/types/implementation_registry.rb +1 -0
- data/lib/puppet/pops/types/iterable.rb +18 -9
- data/lib/puppet/pops/types/p_binary_type.rb +2 -3
- data/lib/puppet/pops/types/p_init_type.rb +12 -9
- data/lib/puppet/pops/types/p_meta_type.rb +1 -1
- data/lib/puppet/pops/types/p_object_type.rb +65 -42
- data/lib/puppet/pops/types/p_object_type_extension.rb +10 -7
- data/lib/puppet/pops/types/p_runtime_type.rb +11 -9
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_type.rb +5 -5
- data/lib/puppet/pops/types/p_sensitive_type.rb +1 -4
- data/lib/puppet/pops/types/p_timespan_type.rb +4 -2
- data/lib/puppet/pops/types/p_timestamp_type.rb +3 -2
- data/lib/puppet/pops/types/p_type_set_type.rb +36 -28
- data/lib/puppet/pops/types/p_uri_type.rb +25 -18
- data/lib/puppet/pops/types/puppet_object.rb +1 -1
- data/lib/puppet/pops/types/recursion_guard.rb +7 -2
- data/lib/puppet/pops/types/ruby_generator.rb +7 -4
- data/lib/puppet/pops/types/ruby_method.rb +6 -5
- data/lib/puppet/pops/types/string_converter.rb +65 -57
- data/lib/puppet/pops/types/tree_iterators.rb +6 -7
- data/lib/puppet/pops/types/type_acceptor.rb +1 -0
- data/lib/puppet/pops/types/type_asserter.rb +1 -0
- data/lib/puppet/pops/types/type_assertion_error.rb +0 -1
- data/lib/puppet/pops/types/type_calculator.rb +10 -4
- data/lib/puppet/pops/types/type_conversion_error.rb +1 -10
- data/lib/puppet/pops/types/type_factory.rb +7 -4
- data/lib/puppet/pops/types/type_formatter.rb +12 -11
- data/lib/puppet/pops/types/type_mismatch_describer.rb +13 -8
- data/lib/puppet/pops/types/type_parser.rb +111 -107
- data/lib/puppet/pops/types/type_set_reference.rb +2 -0
- data/lib/puppet/pops/types/type_with_members.rb +1 -1
- data/lib/puppet/pops/types/types.rb +177 -152
- data/lib/puppet/pops/utils.rb +1 -0
- data/lib/puppet/pops/validation/checker4_0.rb +17 -11
- data/lib/puppet/pops/validation/tasks_checker.rb +2 -1
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
- data/lib/puppet/pops/validation.rb +8 -6
- data/lib/puppet/pops/visitable.rb +1 -0
- data/lib/puppet/pops/visitor.rb +14 -1
- data/lib/puppet/pops.rb +2 -0
- data/lib/puppet/property/boolean.rb +1 -0
- data/lib/puppet/property/ensure.rb +4 -1
- data/lib/puppet/property/keyvalue.rb +5 -4
- data/lib/puppet/property/list.rb +5 -5
- data/lib/puppet/property/ordered_list.rb +4 -4
- data/lib/puppet/property.rb +13 -11
- data/lib/puppet/provider/aix_object.rb +5 -0
- data/lib/puppet/provider/command.rb +1 -0
- data/lib/puppet/provider/confine.rb +1 -0
- data/lib/puppet/provider/exec/posix.rb +2 -0
- data/lib/puppet/provider/exec/shell.rb +1 -0
- data/lib/puppet/provider/exec/windows.rb +2 -1
- data/lib/puppet/provider/exec.rb +1 -0
- data/lib/puppet/provider/file/posix.rb +1 -0
- data/lib/puppet/provider/file/windows.rb +10 -6
- data/lib/puppet/provider/group/aix.rb +1 -0
- data/lib/puppet/provider/group/directoryservice.rb +1 -1
- data/lib/puppet/provider/group/groupadd.rb +9 -4
- data/lib/puppet/provider/group/ldap.rb +2 -0
- data/lib/puppet/provider/group/pw.rb +1 -0
- data/lib/puppet/provider/group/windows_adsi.rb +2 -0
- data/lib/puppet/provider/ldap.rb +2 -0
- data/lib/puppet/provider/nameservice/directoryservice.rb +28 -19
- data/lib/puppet/provider/nameservice/objectadd.rb +1 -0
- data/lib/puppet/provider/nameservice/pw.rb +6 -5
- data/lib/puppet/provider/nameservice.rb +8 -4
- data/lib/puppet/provider/network_device.rb +1 -2
- data/lib/puppet/provider/package/aix.rb +5 -4
- data/lib/puppet/provider/package/appdmg.rb +20 -19
- data/lib/puppet/provider/package/apple.rb +3 -2
- data/lib/puppet/provider/package/apt.rb +4 -4
- data/lib/puppet/provider/package/aptitude.rb +1 -0
- data/lib/puppet/provider/package/aptrpm.rb +2 -1
- data/lib/puppet/provider/package/blastwave.rb +6 -6
- data/lib/puppet/provider/package/dnf.rb +2 -0
- data/lib/puppet/provider/package/dnfmodule.rb +8 -7
- data/lib/puppet/provider/package/dpkg.rb +4 -4
- data/lib/puppet/provider/package/fink.rb +2 -1
- data/lib/puppet/provider/package/freebsd.rb +3 -2
- data/lib/puppet/provider/package/gem.rb +9 -5
- data/lib/puppet/provider/package/hpux.rb +4 -3
- data/lib/puppet/provider/package/macports.rb +2 -1
- data/lib/puppet/provider/package/nim.rb +13 -15
- data/lib/puppet/provider/package/openbsd.rb +6 -4
- data/lib/puppet/provider/package/opkg.rb +2 -0
- data/lib/puppet/provider/package/pacman.rb +12 -12
- data/lib/puppet/provider/package/pip.rb +3 -1
- data/lib/puppet/provider/package/pip2.rb +2 -2
- data/lib/puppet/provider/package/pip3.rb +2 -2
- data/lib/puppet/provider/package/pkg.rb +17 -13
- data/lib/puppet/provider/package/pkgdmg.rb +7 -2
- data/lib/puppet/provider/package/pkgin.rb +5 -5
- data/lib/puppet/provider/package/pkgng.rb +11 -7
- data/lib/puppet/provider/package/pkgutil.rb +7 -6
- data/lib/puppet/provider/package/portage.rb +11 -6
- data/lib/puppet/provider/package/ports.rb +6 -5
- data/lib/puppet/provider/package/portupgrade.rb +6 -12
- data/lib/puppet/provider/package/puppet_gem.rb +1 -0
- data/lib/puppet/provider/package/puppetserver_gem.rb +1 -0
- data/lib/puppet/provider/package/rpm.rb +10 -6
- data/lib/puppet/provider/package/rug.rb +2 -1
- data/lib/puppet/provider/package/sun.rb +20 -17
- data/lib/puppet/provider/package/sunfreeware.rb +1 -0
- data/lib/puppet/provider/package/tdnf.rb +1 -0
- data/lib/puppet/provider/package/up2date.rb +2 -1
- data/lib/puppet/provider/package/urpmi.rb +1 -0
- data/lib/puppet/provider/package/windows/exe_package.rb +1 -0
- data/lib/puppet/provider/package/windows/msi_package.rb +1 -0
- data/lib/puppet/provider/package/windows/package.rb +5 -3
- data/lib/puppet/provider/package/windows.rb +4 -2
- data/lib/puppet/provider/package/yum.rb +16 -13
- data/lib/puppet/provider/package/zypper.rb +15 -14
- data/lib/puppet/provider/package.rb +7 -6
- data/lib/puppet/provider/package_targetable.rb +1 -0
- data/lib/puppet/provider/parsedfile.rb +7 -2
- data/lib/puppet/provider/service/base.rb +2 -1
- data/lib/puppet/provider/service/bsd.rb +1 -0
- data/lib/puppet/provider/service/daemontools.rb +9 -7
- data/lib/puppet/provider/service/debian.rb +4 -3
- data/lib/puppet/provider/service/freebsd.rb +5 -6
- data/lib/puppet/provider/service/gentoo.rb +5 -4
- data/lib/puppet/provider/service/init.rb +10 -11
- data/lib/puppet/provider/service/launchd.rb +10 -4
- data/lib/puppet/provider/service/openbsd.rb +4 -4
- data/lib/puppet/provider/service/openrc.rb +1 -1
- data/lib/puppet/provider/service/openwrt.rb +1 -1
- data/lib/puppet/provider/service/rcng.rb +1 -0
- data/lib/puppet/provider/service/redhat.rb +3 -2
- data/lib/puppet/provider/service/runit.rb +8 -7
- data/lib/puppet/provider/service/service.rb +1 -0
- data/lib/puppet/provider/service/smf.rb +5 -2
- data/lib/puppet/provider/service/src.rb +16 -16
- data/lib/puppet/provider/service/systemd.rb +8 -4
- data/lib/puppet/provider/service/upstart.rb +8 -7
- data/lib/puppet/provider/service/windows.rb +22 -26
- data/lib/puppet/provider/user/aix.rb +3 -2
- data/lib/puppet/provider/user/directoryservice.rb +52 -44
- data/lib/puppet/provider/user/hpux.rb +15 -14
- data/lib/puppet/provider/user/ldap.rb +8 -6
- data/lib/puppet/provider/user/openbsd.rb +21 -20
- data/lib/puppet/provider/user/pw.rb +3 -2
- data/lib/puppet/provider/user/user_role_add.rb +19 -14
- data/lib/puppet/provider/user/useradd.rb +51 -41
- data/lib/puppet/provider/user/windows_adsi.rb +4 -1
- data/lib/puppet/provider.rb +9 -9
- data/lib/puppet/reference/configuration.rb +43 -42
- data/lib/puppet/reference/function.rb +1 -0
- data/lib/puppet/reference/indirection.rb +42 -41
- data/lib/puppet/reference/metaparameter.rb +1 -0
- data/lib/puppet/reference/providers.rb +2 -0
- data/lib/puppet/reference/report.rb +1 -0
- data/lib/puppet/reference/type.rb +4 -3
- data/lib/puppet/relationship.rb +3 -2
- data/lib/puppet/reports/http.rb +1 -1
- data/lib/puppet/reports/log.rb +1 -0
- data/lib/puppet/reports/store.rb +3 -1
- data/lib/puppet/reports.rb +4 -3
- data/lib/puppet/resource/catalog.rb +14 -10
- data/lib/puppet/resource/status.rb +1 -1
- data/lib/puppet/resource/type.rb +28 -18
- data/lib/puppet/resource/type_collection.rb +4 -0
- data/lib/puppet/resource.rb +24 -16
- data/lib/puppet/runtime.rb +1 -0
- data/lib/puppet/scheduler/job.rb +1 -0
- data/lib/puppet/scheduler/scheduler.rb +1 -0
- data/lib/puppet/scheduler/splay_job.rb +1 -0
- data/lib/puppet/scheduler/timer.rb +1 -0
- data/lib/puppet/scheduler.rb +1 -0
- data/lib/puppet/settings/alias_setting.rb +1 -0
- data/lib/puppet/settings/array_setting.rb +1 -1
- data/lib/puppet/settings/autosign_setting.rb +1 -1
- data/lib/puppet/settings/base_setting.rb +9 -5
- data/lib/puppet/settings/boolean_setting.rb +1 -0
- data/lib/puppet/settings/certificate_revocation_setting.rb +1 -1
- data/lib/puppet/settings/config_file.rb +3 -3
- data/lib/puppet/settings/directory_setting.rb +1 -0
- data/lib/puppet/settings/duration_setting.rb +1 -0
- data/lib/puppet/settings/enum_setting.rb +2 -1
- data/lib/puppet/settings/environment_conf.rb +9 -8
- data/lib/puppet/settings/errors.rb +2 -0
- data/lib/puppet/settings/file_or_directory_setting.rb +1 -5
- data/lib/puppet/settings/file_setting.rb +3 -13
- data/lib/puppet/settings/http_extra_headers_setting.rb +1 -1
- data/lib/puppet/settings/ini_file.rb +1 -0
- data/lib/puppet/settings/integer_setting.rb +1 -0
- data/lib/puppet/settings/path_setting.rb +1 -0
- data/lib/puppet/settings/port_setting.rb +2 -1
- data/lib/puppet/settings/priority_setting.rb +9 -8
- data/lib/puppet/settings/server_list_setting.rb +2 -2
- data/lib/puppet/settings/string_setting.rb +1 -0
- data/lib/puppet/settings/symbolic_enum_setting.rb +2 -1
- data/lib/puppet/settings/terminus_setting.rb +1 -0
- data/lib/puppet/settings/ttl_setting.rb +2 -0
- data/lib/puppet/settings/value_translator.rb +8 -7
- data/lib/puppet/settings.rb +89 -66
- data/lib/puppet/ssl/base.rb +4 -0
- data/lib/puppet/ssl/certificate.rb +3 -2
- data/lib/puppet/ssl/certificate_request.rb +9 -7
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -1
- data/lib/puppet/ssl/certificate_signer.rb +2 -3
- data/lib/puppet/ssl/digest.rb +1 -0
- data/lib/puppet/ssl/error.rb +2 -0
- data/lib/puppet/ssl/oids.rb +3 -3
- data/lib/puppet/ssl/openssl_loader.rb +1 -0
- data/lib/puppet/ssl/ssl_context.rb +11 -15
- data/lib/puppet/ssl/ssl_provider.rb +2 -1
- data/lib/puppet/ssl/state_machine.rb +1 -0
- data/lib/puppet/ssl/verifier.rb +2 -2
- data/lib/puppet/ssl.rb +1 -0
- data/lib/puppet/syntax_checkers/base64.rb +2 -1
- data/lib/puppet/syntax_checkers/epp.rb +1 -1
- data/lib/puppet/syntax_checkers/json.rb +1 -2
- data/lib/puppet/syntax_checkers/pp.rb +1 -1
- data/lib/puppet/syntax_checkers.rb +1 -0
- data/lib/puppet/test/test_helper.rb +16 -14
- data/lib/puppet/thread_local.rb +1 -0
- data/lib/puppet/transaction/additional_resource_generator.rb +5 -1
- data/lib/puppet/transaction/event.rb +5 -3
- data/lib/puppet/transaction/event_manager.rb +4 -3
- data/lib/puppet/transaction/persistence.rb +2 -1
- data/lib/puppet/transaction/report.rb +23 -15
- data/lib/puppet/transaction/resource_harness.rb +6 -3
- data/lib/puppet/transaction.rb +11 -6
- data/lib/puppet/trusted_external.rb +8 -4
- data/lib/puppet/type/component.rb +11 -5
- data/lib/puppet/type/exec.rb +26 -10
- data/lib/puppet/type/file/checksum.rb +1 -0
- data/lib/puppet/type/file/checksum_value.rb +3 -2
- data/lib/puppet/type/file/content.rb +16 -13
- data/lib/puppet/type/file/ctime.rb +2 -1
- data/lib/puppet/type/file/data_sync.rb +4 -2
- data/lib/puppet/type/file/ensure.rb +5 -5
- data/lib/puppet/type/file/group.rb +2 -1
- data/lib/puppet/type/file/mode.rb +4 -2
- data/lib/puppet/type/file/mtime.rb +2 -1
- data/lib/puppet/type/file/owner.rb +2 -1
- data/lib/puppet/type/file/selcontext.rb +2 -2
- data/lib/puppet/type/file/source.rb +12 -10
- data/lib/puppet/type/file/target.rb +2 -2
- data/lib/puppet/type/file/type.rb +2 -1
- data/lib/puppet/type/file.rb +22 -13
- data/lib/puppet/type/filebucket.rb +1 -0
- data/lib/puppet/type/group.rb +8 -8
- data/lib/puppet/type/notify.rb +1 -1
- data/lib/puppet/type/package.rb +21 -21
- data/lib/puppet/type/resources.rb +30 -25
- data/lib/puppet/type/schedule.rb +9 -10
- data/lib/puppet/type/service.rb +9 -7
- data/lib/puppet/type/stage.rb +1 -0
- data/lib/puppet/type/tidy.rb +9 -4
- data/lib/puppet/type/user.rb +28 -24
- data/lib/puppet/type/whit.rb +1 -1
- data/lib/puppet/type.rb +71 -61
- data/lib/puppet/util/at_fork/noop.rb +1 -0
- data/lib/puppet/util/at_fork/solaris.rb +2 -1
- data/lib/puppet/util/at_fork.rb +2 -1
- data/lib/puppet/util/autoload.rb +5 -0
- data/lib/puppet/util/backups.rb +3 -2
- data/lib/puppet/util/character_encoding.rb +1 -0
- data/lib/puppet/util/checksums.rb +11 -9
- data/lib/puppet/util/classgen.rb +8 -13
- data/lib/puppet/util/colors.rb +32 -31
- data/lib/puppet/util/command_line/puppet_option_parser.rb +12 -12
- data/lib/puppet/util/command_line/trollop.rb +693 -690
- data/lib/puppet/util/command_line.rb +1 -0
- data/lib/puppet/util/constant_inflector.rb +3 -3
- data/lib/puppet/util/diff.rb +13 -13
- data/lib/puppet/util/docs.rb +3 -0
- data/lib/puppet/util/errors.rb +1 -0
- data/lib/puppet/util/execution.rb +16 -18
- data/lib/puppet/util/execution_stub.rb +1 -0
- data/lib/puppet/util/feature.rb +1 -0
- data/lib/puppet/util/file_watcher.rb +2 -0
- data/lib/puppet/util/fileparsing.rb +2 -0
- data/lib/puppet/util/filetype.rb +3 -0
- data/lib/puppet/util/http_proxy.rb +1 -0
- data/lib/puppet/util/inifile.rb +3 -3
- data/lib/puppet/util/instance_loader.rb +2 -0
- data/lib/puppet/util/json.rb +1 -0
- data/lib/puppet/util/json_lockfile.rb +3 -1
- data/lib/puppet/util/ldap/connection.rb +19 -18
- data/lib/puppet/util/ldap/generator.rb +1 -0
- data/lib/puppet/util/ldap/manager.rb +3 -2
- data/lib/puppet/util/ldap.rb +1 -0
- data/lib/puppet/util/libuser.rb +1 -1
- data/lib/puppet/util/limits.rb +1 -0
- data/lib/puppet/util/lockfile.rb +1 -0
- data/lib/puppet/util/log/destination.rb +1 -0
- data/lib/puppet/util/log/destinations.rb +14 -13
- data/lib/puppet/util/log.rb +21 -17
- data/lib/puppet/util/logging.rb +18 -14
- data/lib/puppet/util/metaid.rb +1 -0
- data/lib/puppet/util/metric.rb +2 -0
- data/lib/puppet/util/monkey_patches.rb +1 -0
- data/lib/puppet/util/multi_match.rb +4 -1
- data/lib/puppet/util/network_device/base.rb +1 -1
- data/lib/puppet/util/network_device/config.rb +3 -4
- data/lib/puppet/util/network_device/transport/base.rb +0 -1
- data/lib/puppet/util/network_device/transport.rb +1 -0
- data/lib/puppet/util/network_device.rb +1 -0
- data/lib/puppet/util/package/version/debian.rb +5 -3
- data/lib/puppet/util/package/version/gem.rb +2 -0
- data/lib/puppet/util/package/version/pip.rb +7 -2
- data/lib/puppet/util/package/version/range/eq.rb +2 -0
- data/lib/puppet/util/package/version/range/gt.rb +2 -0
- data/lib/puppet/util/package/version/range/gt_eq.rb +2 -0
- data/lib/puppet/util/package/version/range/lt.rb +2 -0
- data/lib/puppet/util/package/version/range/lt_eq.rb +2 -0
- data/lib/puppet/util/package/version/range/min_max.rb +4 -0
- data/lib/puppet/util/package/version/range/simple.rb +1 -0
- data/lib/puppet/util/package/version/range.rb +3 -0
- data/lib/puppet/util/package/version/rpm.rb +6 -4
- data/lib/puppet/util/package.rb +3 -0
- data/lib/puppet/util/pidlock.rb +7 -7
- data/lib/puppet/util/platform.rb +1 -0
- data/lib/puppet/util/plist.rb +1 -1
- data/lib/puppet/util/posix.rb +8 -5
- data/lib/puppet/util/profiler/aggregate.rb +2 -5
- data/lib/puppet/util/profiler/around_profiler.rb +1 -1
- data/lib/puppet/util/profiler/logging.rb +1 -0
- data/lib/puppet/util/profiler/object_counts.rb +1 -0
- data/lib/puppet/util/profiler/wall_clock.rb +1 -0
- data/lib/puppet/util/profiler.rb +1 -0
- data/lib/puppet/util/provider_features.rb +4 -0
- data/lib/puppet/util/psych_support.rb +1 -0
- data/lib/puppet/util/rdoc/code_objects.rb +3 -7
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +37 -50
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +50 -68
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +5 -5
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -0
- data/lib/puppet/util/rdoc/parser.rb +1 -0
- data/lib/puppet/util/rdoc.rb +1 -1
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/resource_template.rb +2 -0
- data/lib/puppet/util/retry_action.rb +3 -3
- data/lib/puppet/util/rpm_compare.rb +6 -3
- data/lib/puppet/util/rubygems.rb +1 -1
- data/lib/puppet/util/run_mode.rb +2 -1
- data/lib/puppet/util/selinux.rb +22 -11
- data/lib/puppet/util/skip_tags.rb +1 -0
- data/lib/puppet/util/splayer.rb +1 -0
- data/lib/puppet/util/storage.rb +2 -1
- data/lib/puppet/util/suidmanager.rb +8 -5
- data/lib/puppet/util/symbolic_file_mode.rb +3 -1
- data/lib/puppet/util/tag_set.rb +1 -0
- data/lib/puppet/util/tagging.rb +2 -1
- data/lib/puppet/util/terminal.rb +1 -0
- data/lib/puppet/util/user_attr.rb +1 -0
- data/lib/puppet/util/warnings.rb +3 -0
- data/lib/puppet/util/watched_file.rb +1 -0
- data/lib/puppet/util/watcher/change_watcher.rb +1 -0
- data/lib/puppet/util/watcher/periodic_watcher.rb +1 -0
- data/lib/puppet/util/watcher/timer.rb +1 -0
- data/lib/puppet/util/watcher.rb +1 -0
- data/lib/puppet/util/windows/access_control_entry.rb +1 -0
- data/lib/puppet/util/windows/access_control_list.rb +3 -2
- data/lib/puppet/util/windows/adsi.rb +32 -25
- data/lib/puppet/util/windows/com.rb +5 -3
- data/lib/puppet/util/windows/daemon.rb +33 -33
- data/lib/puppet/util/windows/error.rb +3 -2
- data/lib/puppet/util/windows/eventlog.rb +8 -5
- data/lib/puppet/util/windows/file.rb +30 -24
- data/lib/puppet/util/windows/monkey_patches/process.rb +0 -1
- data/lib/puppet/util/windows/principal.rb +27 -27
- data/lib/puppet/util/windows/process.rb +7 -6
- data/lib/puppet/util/windows/registry.rb +43 -41
- data/lib/puppet/util/windows/root_certs.rb +1 -0
- data/lib/puppet/util/windows/security.rb +43 -44
- data/lib/puppet/util/windows/security_descriptor.rb +1 -0
- data/lib/puppet/util/windows/service.rb +12 -1
- data/lib/puppet/util/windows/sid.rb +6 -6
- data/lib/puppet/util/windows/string.rb +1 -0
- data/lib/puppet/util/windows/user.rb +33 -33
- data/lib/puppet/util/windows.rb +6 -0
- data/lib/puppet/util/yaml.rb +1 -0
- data/lib/puppet/util.rb +18 -20
- data/lib/puppet/vendor.rb +2 -1
- data/lib/puppet/version.rb +3 -1
- data/lib/puppet/x509/cert_provider.rb +7 -1
- data/lib/puppet/x509/pem_store.rb +1 -0
- data/lib/puppet/x509.rb +1 -0
- data/lib/puppet.rb +1 -0
- data/lib/puppet_pal.rb +1 -0
- data/lib/puppet_x.rb +1 -0
- data/locales/puppet.pot +195 -199
- data/man/man5/puppet.conf.5 +2 -2
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/integration/application/agent_spec.rb +13 -0
- data/spec/lib/puppet_spec/puppetserver.rb +1 -0
- data/spec/lib/puppet_spec/verbose.rb +5 -3
- data/spec/unit/agent_spec.rb +2 -7
- data/spec/unit/daemon_spec.rb +3 -20
- data/spec/unit/indirector/catalog/compiler_spec.rb +17 -0
- data/spec/unit/indirector/catalog/rest_spec.rb +17 -0
- data/spec/unit/provider/package/appdmg_spec.rb +1 -1
- data/spec/unit/provider/package/dnf_spec.rb +7 -0
- data/spec/unit/provider/package/dnfmodule_spec.rb +22 -2
- data/spec/unit/provider/service/systemd_spec.rb +8 -6
- data/spec/unit/type/exec_spec.rb +14 -9
- data/spec/unit/util/rpm_compare_spec.rb +8 -8
- metadata +2 -3
- data/CONTRIBUTING.md +0 -161
data/lib/puppet/pops/utils.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require_relative '../../../puppet/pops/evaluator/external_syntax_support'
|
3
4
|
|
4
5
|
module Puppet::Pops
|
5
6
|
module Validation
|
6
|
-
|
7
7
|
# A Validator validates a model.
|
8
8
|
#
|
9
9
|
# Validation is performed on each model element in isolation. Each method should validate the model element's state
|
@@ -236,7 +236,9 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
236
236
|
p = container
|
237
237
|
case p
|
238
238
|
when Model::AbstractResource
|
239
|
+
# do nothing
|
239
240
|
when Model::CollectExpression
|
241
|
+
# do nothing
|
240
242
|
else
|
241
243
|
# protect against just testing a snippet that has no parent, error message will be a bit strange
|
242
244
|
# but it is not for a real program.
|
@@ -282,6 +284,7 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
282
284
|
# ok (a call to a type)
|
283
285
|
return nil
|
284
286
|
end
|
287
|
+
|
285
288
|
case functor
|
286
289
|
when Model::QualifiedName
|
287
290
|
# ok
|
@@ -535,7 +538,7 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
535
538
|
|
536
539
|
def internal_check_file_namespace(o)
|
537
540
|
file = o.locator.file
|
538
|
-
return if file.nil? || file == '' #e.g. puppet apply -e '...'
|
541
|
+
return if file.nil? || file == '' # e.g. puppet apply -e '...'
|
539
542
|
|
540
543
|
file_namespace = namespace_for_file(file)
|
541
544
|
return if file_namespace == NO_NAMESPACE
|
@@ -549,13 +552,13 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
549
552
|
def internal_check_top_construct_in_module(prog)
|
550
553
|
return unless prog.is_a?(Model::Program) && !prog.body.nil?
|
551
554
|
|
552
|
-
#Check that this is a module autoloaded file
|
555
|
+
# Check that this is a module autoloaded file
|
553
556
|
file = prog.locator.file
|
554
557
|
return if file.nil?
|
555
558
|
return if namespace_for_file(file) == NO_NAMESPACE
|
556
559
|
|
557
560
|
body = prog.body
|
558
|
-
return if prog.body.is_a?(Model::Nop) #Ignore empty or comment-only files
|
561
|
+
return if prog.body.is_a?(Model::Nop) # Ignore empty or comment-only files
|
559
562
|
|
560
563
|
if(body.is_a?(Model::BlockExpression))
|
561
564
|
body.statements.each { |s| acceptor.accept(Issues::ILLEGAL_TOP_CONSTRUCT_LOCATION, s) unless valid_top_construct?(s) }
|
@@ -596,12 +599,12 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
596
599
|
|
597
600
|
return adapter.file_to_namespace[file] = NO_NAMESPACE if initial_manifest?(path, env.manifest)
|
598
601
|
|
599
|
-
#All auto-loaded files from modules come from a module search path dir
|
602
|
+
# All auto-loaded files from modules come from a module search path dir
|
600
603
|
relative_path = get_module_relative_path(path, env.full_modulepath)
|
601
604
|
|
602
605
|
return adapter.file_to_namespace[file] = NO_NAMESPACE if relative_path == NO_PATH
|
603
606
|
|
604
|
-
#If a file comes from a module, but isn't in the right place, always error
|
607
|
+
# If a file comes from a module, but isn't in the right place, always error
|
605
608
|
names = dir_to_names(relative_path)
|
606
609
|
|
607
610
|
return adapter.file_to_namespace[file] = (names == BAD_MODULE_FILE ? BAD_MODULE_FILE : names.join("::").freeze)
|
@@ -620,20 +623,20 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
620
623
|
# if none is found.
|
621
624
|
def get_module_relative_path(file_path, modulepath_directories)
|
622
625
|
clean_file = file_path.cleanpath.to_s
|
623
|
-
parent_path = modulepath_directories.find { |path_dir| is_parent_dir_of(path_dir, clean_file) }
|
626
|
+
parent_path = modulepath_directories.find { |path_dir| is_parent_dir_of?(path_dir, clean_file) }
|
624
627
|
return NO_PATH if parent_path.nil?
|
625
628
|
|
626
629
|
file_path.relative_path_from(Pathname.new(parent_path))
|
627
630
|
end
|
628
631
|
private :get_module_relative_path
|
629
632
|
|
630
|
-
def is_parent_dir_of(parent_dir, child_dir)
|
633
|
+
def is_parent_dir_of?(parent_dir, child_dir)
|
631
634
|
parent_dir_path = Pathname.new(parent_dir)
|
632
635
|
clean_parent = parent_dir_path.cleanpath.to_s + File::SEPARATOR
|
633
636
|
|
634
637
|
return child_dir.start_with?(clean_parent)
|
635
638
|
end
|
636
|
-
private :is_parent_dir_of
|
639
|
+
private :is_parent_dir_of?
|
637
640
|
|
638
641
|
def dir_to_names(relative_path)
|
639
642
|
# Downcasing here because check is case-insensitive
|
@@ -750,7 +753,7 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
750
753
|
end
|
751
754
|
|
752
755
|
def check_QueryExpression(o)
|
753
|
-
query(o.expr) if o.expr
|
756
|
+
query(o.expr) if o.expr # is optional
|
754
757
|
end
|
755
758
|
|
756
759
|
def relation_Object(o)
|
@@ -784,7 +787,7 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
784
787
|
end
|
785
788
|
end
|
786
789
|
|
787
|
-
#relationship_side: resource
|
790
|
+
# relationship_side: resource
|
788
791
|
# | resourceref
|
789
792
|
# | collection
|
790
793
|
# | variable
|
@@ -870,6 +873,7 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
870
873
|
# The expression must be a qualified name or an integer
|
871
874
|
name_expr = o.expr
|
872
875
|
return if name_expr.is_a?(Model::LiteralInteger)
|
876
|
+
|
873
877
|
if !name_expr.is_a?(Model::QualifiedName)
|
874
878
|
acceptor.accept(Issues::ILLEGAL_EXPRESSION, o, :feature => 'name', :container => o)
|
875
879
|
else
|
@@ -1108,12 +1112,14 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
1108
1112
|
# Case expression is idem, if test, and all options are idem
|
1109
1113
|
def idem_CaseExpression(o)
|
1110
1114
|
return false if !idem(o.test)
|
1115
|
+
|
1111
1116
|
! o.options.any? {|opt| !idem(opt) }
|
1112
1117
|
end
|
1113
1118
|
|
1114
1119
|
# An option is idem if values and the then_expression are idem
|
1115
1120
|
def idem_CaseOption(o)
|
1116
1121
|
return false if o.values.any? { |value| !idem(value) }
|
1122
|
+
|
1117
1123
|
idem(o.then_expr)
|
1118
1124
|
end
|
1119
1125
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Puppet::Pops
|
3
4
|
module Validation
|
4
|
-
|
5
5
|
# Validator that limits the set of allowed expressions to not include catalog related operations
|
6
6
|
# @api private
|
7
7
|
class TasksChecker < Checker4_0
|
@@ -10,6 +10,7 @@ class TasksChecker < Checker4_0
|
|
10
10
|
step = -1
|
11
11
|
until container(step) == top do
|
12
12
|
return true if container(step).is_a? Puppet::Pops::Model::ApplyBlockExpression
|
13
|
+
|
13
14
|
step -= 1
|
14
15
|
end
|
15
16
|
end
|
@@ -1,11 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Puppet::Pops
|
3
4
|
module Validation
|
4
5
|
# Configures validation suitable for 4.0
|
5
6
|
#
|
6
7
|
class ValidatorFactory_4_0 < Factory
|
7
|
-
Issues = Issues
|
8
|
-
|
9
8
|
# Produces the checker to use
|
10
9
|
def checker diagnostic_producer
|
11
10
|
if Puppet[:tasks]
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Puppet::Pops
|
3
4
|
# A module with base functionality for validation of a model.
|
4
5
|
#
|
@@ -9,7 +10,6 @@ module Puppet::Pops
|
|
9
10
|
# * **DiagnosticFormatter** - produces human readable output for a Diagnostic
|
10
11
|
#
|
11
12
|
module Validation
|
12
|
-
|
13
13
|
# This class is an abstract base implementation of a _model validation factory_ that creates a validator instance
|
14
14
|
# and associates it with a fully configured DiagnosticProducer.
|
15
15
|
#
|
@@ -26,7 +26,6 @@ module Validation
|
|
26
26
|
# @api public
|
27
27
|
#
|
28
28
|
class Factory
|
29
|
-
|
30
29
|
# Produces a validator with the given acceptor as the recipient of produced diagnostics.
|
31
30
|
# The acceptor is where detected issues are received (and typically collected).
|
32
31
|
#
|
@@ -135,6 +134,7 @@ module Validation
|
|
135
134
|
unless issue.demotable? || level == :error
|
136
135
|
raise Puppet::DevError.new(_("Attempt to demote the hard issue '%{issue_code}' to %{level}") % { issue_code: issue.issue_code, level: level })
|
137
136
|
end
|
137
|
+
|
138
138
|
@severities[issue] = level
|
139
139
|
end
|
140
140
|
|
@@ -169,7 +169,6 @@ module Validation
|
|
169
169
|
# sets keys in the given argument hash that may be used in the formatting of the issue message.
|
170
170
|
#
|
171
171
|
class DiagnosticProducer
|
172
|
-
|
173
172
|
# A producer of severity for a given issue
|
174
173
|
# @return [SeverityProducer]
|
175
174
|
#
|
@@ -179,6 +178,7 @@ module Validation
|
|
179
178
|
# @return [LabelProvider]
|
180
179
|
#
|
181
180
|
attr_reader :label_provider
|
181
|
+
|
182
182
|
# Initializes this producer.
|
183
183
|
#
|
184
184
|
# @param acceptor [Acceptor] a sink/collector of diagnostic results
|
@@ -229,6 +229,7 @@ module Validation
|
|
229
229
|
attr_reader :exception
|
230
230
|
attr_reader :file
|
231
231
|
attr_reader :source_pos
|
232
|
+
|
232
233
|
def initialize severity, issue, file, source_pos, arguments={}, exception=nil
|
233
234
|
@severity = severity
|
234
235
|
@issue = issue
|
@@ -242,7 +243,7 @@ module Validation
|
|
242
243
|
|
243
244
|
# Two diagnostics are considered equal if the have the same issue, location and severity
|
244
245
|
# (arguments and exception are ignored)
|
245
|
-
#
|
246
|
+
# rubocop:disable Layout/ExtraSpacing
|
246
247
|
def ==(o)
|
247
248
|
self.class == o.class &&
|
248
249
|
same_position?(o) &&
|
@@ -251,6 +252,7 @@ module Validation
|
|
251
252
|
severity == o.severity
|
252
253
|
end
|
253
254
|
alias eql? ==
|
255
|
+
# rubocop:enable Layout/ExtraSpacing
|
254
256
|
|
255
257
|
# Position is equal if the diagnostic is not located or if referring to the same offset
|
256
258
|
def same_position?(o)
|
@@ -353,7 +355,6 @@ module Validation
|
|
353
355
|
# answer questions about what was diagnosed.
|
354
356
|
#
|
355
357
|
class Acceptor
|
356
|
-
|
357
358
|
# All diagnostic in the order they were issued
|
358
359
|
attr_reader :diagnostics
|
359
360
|
|
@@ -362,6 +363,7 @@ module Validation
|
|
362
363
|
|
363
364
|
# The number of :error severity issues
|
364
365
|
attr_reader :error_count
|
366
|
+
|
365
367
|
# Initializes this diagnostics acceptor.
|
366
368
|
# By default, the acceptor is configured with a default severity producer.
|
367
369
|
# @param severity_producer [SeverityProducer] the severity producer to use to determine severity of an issue
|
@@ -438,7 +440,7 @@ module Validation
|
|
438
440
|
@error_count -= 1
|
439
441
|
when :warning
|
440
442
|
@warning_count -= 1
|
441
|
-
|
443
|
+
# there is not ignore_count
|
442
444
|
end
|
443
445
|
end
|
444
446
|
removed.empty? ? nil : removed
|
data/lib/puppet/pops/visitor.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Puppet::Pops
|
3
4
|
# A Visitor performs delegation to a given receiver based on the configuration of the Visitor.
|
4
5
|
# A new visitor is created with a given receiver, a method prefix, min, and max argument counts.
|
@@ -13,6 +14,7 @@ module Puppet::Pops
|
|
13
14
|
#
|
14
15
|
class Visitor
|
15
16
|
attr_reader :receiver, :message, :min_args, :max_args, :cache
|
17
|
+
|
16
18
|
def initialize(receiver, message, min_args=0, max_args=nil)
|
17
19
|
raise ArgumentError.new("min_args must be >= 0") if min_args < 0
|
18
20
|
raise ArgumentError.new("max_args must be >= min_args or nil") if max_args && max_args < min_args
|
@@ -34,6 +36,7 @@ class Visitor
|
|
34
36
|
# Visit an explicit receiver
|
35
37
|
def visit_this(receiver, thing, args)
|
36
38
|
raise "Visitor Error: Too few arguments passed. min = #{@min_args}" unless args.length >= @min_args
|
39
|
+
|
37
40
|
if @max_args
|
38
41
|
raise "Visitor Error: Too many arguments passed. max = #{@max_args}" unless args.length <= @max_args
|
39
42
|
end
|
@@ -44,18 +47,22 @@ class Visitor
|
|
44
47
|
thing.class.ancestors().each do |ancestor|
|
45
48
|
name = ancestor.name
|
46
49
|
next if name.nil?
|
50
|
+
|
47
51
|
method_name = :"#{@message}_#{name.split(DOUBLE_COLON).last}"
|
48
52
|
next unless receiver.respond_to?(method_name, true)
|
53
|
+
|
49
54
|
@cache[thing.class] = method_name
|
50
55
|
return receiver.send(method_name, thing, *args)
|
51
56
|
end
|
52
57
|
end
|
58
|
+
|
53
59
|
raise "Visitor Error: the configured receiver (#{receiver.class}) can't handle instance of: #{thing.class}"
|
54
60
|
end
|
55
61
|
|
56
62
|
# Visit an explicit receiver
|
57
63
|
def visit_this_class(receiver, clazz, args)
|
58
64
|
raise "Visitor Error: Too few arguments passed. min = #{@min_args}" unless args.length >= @min_args
|
65
|
+
|
59
66
|
if @max_args
|
60
67
|
raise "Visitor Error: Too many arguments passed. max = #{@max_args}" unless args.length <= @max_args
|
61
68
|
end
|
@@ -66,12 +73,15 @@ class Visitor
|
|
66
73
|
clazz.ancestors().each do |ancestor|
|
67
74
|
name = ancestor.name
|
68
75
|
next if name.nil?
|
76
|
+
|
69
77
|
method_name = :"#{@message}_#{name.split(DOUBLE_COLON).last}"
|
70
78
|
next unless receiver.respond_to?(method_name, true)
|
79
|
+
|
71
80
|
@cache[clazz] = method_name
|
72
81
|
return receiver.send(method_name, clazz, *args)
|
73
82
|
end
|
74
83
|
end
|
84
|
+
|
75
85
|
raise "Visitor Error: the configured receiver (#{receiver.class}) can't handle instance of: #{clazz}"
|
76
86
|
end
|
77
87
|
|
@@ -83,6 +93,7 @@ class Visitor
|
|
83
93
|
if method_name
|
84
94
|
return receiver.send(method_name, thing)
|
85
95
|
end
|
96
|
+
|
86
97
|
visit_this(receiver, thing, NO_ARGS)
|
87
98
|
end
|
88
99
|
|
@@ -94,6 +105,7 @@ class Visitor
|
|
94
105
|
if method_name
|
95
106
|
return receiver.send(method_name, thing, arg)
|
96
107
|
end
|
108
|
+
|
97
109
|
visit_this(receiver, thing, [arg])
|
98
110
|
end
|
99
111
|
|
@@ -105,6 +117,7 @@ class Visitor
|
|
105
117
|
if method_name
|
106
118
|
return receiver.send(method_name, thing, arg1, arg2)
|
107
119
|
end
|
120
|
+
|
108
121
|
visit_this(receiver, thing, [arg1, arg2])
|
109
122
|
end
|
110
123
|
|
@@ -116,8 +129,8 @@ class Visitor
|
|
116
129
|
if method_name
|
117
130
|
return receiver.send(method_name, thing, arg1, arg2, arg3)
|
118
131
|
end
|
132
|
+
|
119
133
|
visit_this(receiver, thing, [arg1, arg2, arg3])
|
120
134
|
end
|
121
|
-
|
122
135
|
end
|
123
136
|
end
|
data/lib/puppet/pops.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Puppet
|
3
4
|
# The Pops language system. This includes the parser, evaluator, AST model, and
|
4
5
|
# Binder.
|
@@ -61,6 +62,7 @@ module Puppet
|
|
61
62
|
module Resource
|
62
63
|
require_relative 'pops/resource/resource_type_impl'
|
63
64
|
end
|
65
|
+
|
64
66
|
module Evaluator
|
65
67
|
require_relative 'pops/evaluator/literal_evaluator'
|
66
68
|
require_relative 'pops/evaluator/callable_signature'
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require_relative '../../puppet/property'
|
3
4
|
|
4
5
|
# This property is automatically added to any {Puppet::Type} that responds
|
@@ -39,7 +40,9 @@ class Puppet::Property::Ensure < Puppet::Property
|
|
39
40
|
end
|
40
41
|
|
41
42
|
# This doc will probably get overridden
|
43
|
+
# rubocop:disable Naming/MemoizedInstanceVariableName
|
42
44
|
@doc ||= "The basic property that the resource should be in."
|
45
|
+
# rubocop:enable Naming/MemoizedInstanceVariableName
|
43
46
|
end
|
44
47
|
|
45
48
|
def self.inherited(sub)
|
@@ -95,7 +98,7 @@ class Puppet::Property::Ensure < Puppet::Property
|
|
95
98
|
|
96
99
|
# If they're talking about the thing at all, they generally want to
|
97
100
|
# say it should exist.
|
98
|
-
#defaultto :present
|
101
|
+
# defaultto :present
|
99
102
|
defaultto do
|
100
103
|
if @resource.managed?
|
101
104
|
:present
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require_relative '../../puppet/property'
|
3
4
|
|
4
5
|
module Puppet
|
@@ -33,7 +34,7 @@ module Puppet
|
|
33
34
|
hash_to_key_value_s(should_value)
|
34
35
|
end
|
35
36
|
|
36
|
-
def is_to_s(current_value)
|
37
|
+
def is_to_s(current_value) # rubocop:disable Naming/PredicateName
|
37
38
|
hash_to_key_value_s(current_value)
|
38
39
|
end
|
39
40
|
|
@@ -65,7 +66,7 @@ module Puppet
|
|
65
66
|
def process_current_hash(current)
|
66
67
|
return {} if current == :absent
|
67
68
|
|
68
|
-
#inclusive means we are managing everything so if it isn't in should, its gone
|
69
|
+
# inclusive means we are managing everything so if it isn't in should, its gone
|
69
70
|
current.each_key { |key| current[key] = nil } if inclusive?
|
70
71
|
current
|
71
72
|
end
|
@@ -76,7 +77,7 @@ module Puppet
|
|
76
77
|
members = hashify_should
|
77
78
|
current = process_current_hash(retrieve)
|
78
79
|
|
79
|
-
#shared keys will get overwritten by members
|
80
|
+
# shared keys will get overwritten by members
|
80
81
|
should_value = current.merge(members)
|
81
82
|
|
82
83
|
# Figure out the keys that will actually change in our Puppet run.
|
@@ -107,7 +108,7 @@ module Puppet
|
|
107
108
|
# @return [Hash] the hash from the provider, or `:absent`
|
108
109
|
#
|
109
110
|
def retrieve
|
110
|
-
#ok, some 'convention' if the keyvalue property is named properties, provider should implement a properties method
|
111
|
+
# ok, some 'convention' if the keyvalue property is named properties, provider should implement a properties method
|
111
112
|
key_hash = provider.send(name) if provider
|
112
113
|
if key_hash && key_hash != :absent
|
113
114
|
return key_hash
|
data/lib/puppet/property/list.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require_relative '../../puppet/property'
|
3
4
|
|
4
5
|
module Puppet
|
@@ -7,8 +8,7 @@ module Puppet
|
|
7
8
|
# For an ordered list see {Puppet::Property::OrderedList}.
|
8
9
|
#
|
9
10
|
class List < Property
|
10
|
-
|
11
|
-
def is_to_s(currentvalue)
|
11
|
+
def is_to_s(currentvalue) # rubocop:disable Naming/PredicateName
|
12
12
|
currentvalue == :absent ? super(currentvalue) : currentvalue.join(delimiter)
|
13
13
|
end
|
14
14
|
|
@@ -25,7 +25,7 @@ module Puppet
|
|
25
25
|
@resource[membership] == :inclusive
|
26
26
|
end
|
27
27
|
|
28
|
-
#dearrayify was motivated because to simplify the implementation of the OrderedList property
|
28
|
+
# dearrayify was motivated because to simplify the implementation of the OrderedList property
|
29
29
|
def dearrayify(array)
|
30
30
|
array.sort.join(delimiter)
|
31
31
|
end
|
@@ -34,7 +34,7 @@ module Puppet
|
|
34
34
|
return nil unless @should
|
35
35
|
|
36
36
|
members = @should
|
37
|
-
#inclusive means we are managing everything so if it isn't in should, its gone
|
37
|
+
# inclusive means we are managing everything so if it isn't in should, its gone
|
38
38
|
members = add_should_with_current(members, retrieve) if ! inclusive?
|
39
39
|
|
40
40
|
dearrayify(members)
|
@@ -45,7 +45,7 @@ module Puppet
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def retrieve
|
48
|
-
#ok, some 'convention' if the list property is named groups, provider should implement a groups method
|
48
|
+
# ok, some 'convention' if the list property is named groups, provider should implement a groups method
|
49
49
|
tmp = provider.send(name) if provider
|
50
50
|
if tmp && tmp != :absent
|
51
51
|
return tmp.instance_of?(Array) ? tmp : tmp.split(delimiter)
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require_relative '../../puppet/property/list'
|
3
4
|
|
4
5
|
module Puppet
|
@@ -11,12 +12,11 @@ module Puppet
|
|
11
12
|
# For an unordered list see {Puppet::Property::List}.
|
12
13
|
#
|
13
14
|
class OrderedList < List
|
14
|
-
|
15
15
|
def add_should_with_current(should, current)
|
16
16
|
if current.is_a?(Array)
|
17
|
-
#tricky trick
|
18
|
-
#Preserve all the current items in the list
|
19
|
-
#but move them to the back of the line
|
17
|
+
# tricky trick
|
18
|
+
# Preserve all the current items in the list
|
19
|
+
# but move them to the back of the line
|
20
20
|
should = should + (current - should)
|
21
21
|
end
|
22
22
|
should
|
data/lib/puppet/property.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
# The virtual base class for properties, which are the self-contained building
|
3
4
|
# blocks for actually doing work on the system.
|
4
5
|
|
@@ -96,8 +97,9 @@ class Puppet::Property < Puppet::Parameter
|
|
96
97
|
#
|
97
98
|
def array_matching=(value)
|
98
99
|
value = value.intern if value.is_a?(String)
|
99
|
-
#TRANSLATORS 'Property#array_matching', 'first', and 'all' should not be translated
|
100
|
+
# TRANSLATORS 'Property#array_matching', 'first', and 'all' should not be translated
|
100
101
|
raise ArgumentError, _("Supported values for Property#array_matching are 'first' and 'all'") unless [:first, :all].include?(value)
|
102
|
+
|
101
103
|
@array_matching = value
|
102
104
|
end
|
103
105
|
|
@@ -169,6 +171,7 @@ class Puppet::Property < Puppet::Parameter
|
|
169
171
|
if instance_methods(false).include?(method)
|
170
172
|
raise ArgumentError, _("Attempt to redefine method %{method} with block") % { method: method }
|
171
173
|
end
|
174
|
+
|
172
175
|
define_method(method, &value.block)
|
173
176
|
else
|
174
177
|
# Let the method be an alias for calling the providers setter unless we already have this method
|
@@ -231,11 +234,10 @@ class Puppet::Property < Puppet::Parameter
|
|
231
234
|
name == :ensure or return (name.to_s + "_changed").to_sym
|
232
235
|
|
233
236
|
return (resource.type.to_s + case value
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
end).to_sym
|
237
|
+
when :present; "_created"
|
238
|
+
when :absent; "_removed"
|
239
|
+
else "_changed"
|
240
|
+
end).to_sym
|
239
241
|
end
|
240
242
|
|
241
243
|
# Produces an event describing a change of this property.
|
@@ -367,7 +369,7 @@ class Puppet::Property < Puppet::Parameter
|
|
367
369
|
rescue
|
368
370
|
# Certain operations may fail, but we don't want to fail the transaction if we can
|
369
371
|
# avoid it
|
370
|
-
#TRANSLATORS 'insync_values?' should not be translated
|
372
|
+
# TRANSLATORS 'insync_values?' should not be translated
|
371
373
|
msg = _("Unknown failure using insync_values? on type: %{type} / property: %{name} to compare values %{should} and %{is}") %
|
372
374
|
{ type: self.resource.ref, name: self.name, should: should, is: is }
|
373
375
|
Puppet.info(msg)
|
@@ -403,7 +405,7 @@ class Puppet::Property < Puppet::Parameter
|
|
403
405
|
# are not already in suitable form.
|
404
406
|
# @param value [Object] the value to format as a string
|
405
407
|
# @return [String] a pretty printing string
|
406
|
-
def is_to_s(value)
|
408
|
+
def is_to_s(value) # rubocop:disable Naming/PredicateName
|
407
409
|
self.class.format_value_for_display(value)
|
408
410
|
end
|
409
411
|
|
@@ -414,9 +416,9 @@ class Puppet::Property < Puppet::Parameter
|
|
414
416
|
#
|
415
417
|
def log(msg)
|
416
418
|
Puppet::Util::Log.create(
|
417
|
-
:level
|
419
|
+
:level => resource[:loglevel],
|
418
420
|
:message => msg,
|
419
|
-
:source
|
421
|
+
:source => self
|
420
422
|
)
|
421
423
|
end
|
422
424
|
|
@@ -593,7 +595,7 @@ class Puppet::Property < Puppet::Parameter
|
|
593
595
|
features = Array(features)
|
594
596
|
needed_features = features.collect { |f| f.to_s }.join(", ")
|
595
597
|
unless provider.satisfies?(features)
|
596
|
-
#TRANSLATORS 'Provider' refers to a Puppet provider class
|
598
|
+
# TRANSLATORS 'Provider' refers to a Puppet provider class
|
597
599
|
raise ArgumentError, _("Provider %{provider} must have features '%{needed_features}' to set '%{property}' to '%{value}'") %
|
598
600
|
{ provider: provider.class.name, needed_features: needed_features, property: self.class.name, value: value }
|
599
601
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
# Common code for AIX user/group providers.
|
3
4
|
class Puppet::Provider::AixObject < Puppet::Provider
|
4
5
|
desc "Generic AIX resource provider"
|
@@ -334,6 +335,7 @@ class Puppet::Provider::AixObject < Puppet::Provider
|
|
334
335
|
raise ArgumentError, _("Cannot have both 'forcelocal' and 'ia_load_module' at the same time!") if @resource[:ia_load_module] && @resource[:forcelocal]
|
335
336
|
return ["-R", @resource[:ia_load_module].to_s] if @resource[:ia_load_module]
|
336
337
|
return ["-R", "files"] if @resource[:forcelocal]
|
338
|
+
|
337
339
|
[]
|
338
340
|
end
|
339
341
|
|
@@ -364,6 +366,7 @@ class Puppet::Provider::AixObject < Puppet::Provider
|
|
364
366
|
# Gets a Puppet property's value from object_info
|
365
367
|
def get(property)
|
366
368
|
return :absent unless exists?
|
369
|
+
|
367
370
|
object_info[property] || :absent
|
368
371
|
end
|
369
372
|
|
@@ -418,6 +421,7 @@ class Puppet::Provider::AixObject < Puppet::Provider
|
|
418
421
|
# the attributes property.
|
419
422
|
def object_info(refresh = false)
|
420
423
|
return @object_info if @object_info && ! refresh
|
424
|
+
|
421
425
|
@object_info = nil
|
422
426
|
|
423
427
|
begin
|
@@ -464,6 +468,7 @@ class Puppet::Provider::AixObject < Puppet::Provider
|
|
464
468
|
mappings[:aix_attribute].each do |property, aix_attribute|
|
465
469
|
property_should = @resource.should(property)
|
466
470
|
next if property_should.nil?
|
471
|
+
|
467
472
|
attributes[aix_attribute.name] = aix_attribute.convert_property_value(property_should)
|
468
473
|
end
|
469
474
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require_relative '../../../puppet/provider/exec'
|
3
4
|
|
4
5
|
Puppet::Type.type(:exec).provide :posix, :parent => Puppet::Provider::Exec do
|
@@ -37,6 +38,7 @@ Puppet::Type.type(:exec).provide :posix, :parent => Puppet::Provider::Exec do
|
|
37
38
|
elsif !File.executable?(exe)
|
38
39
|
raise ArgumentError, _("'%{exe}' is not executable") % { exe: exe }
|
39
40
|
end
|
41
|
+
|
40
42
|
return
|
41
43
|
end
|
42
44
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require_relative '../../../puppet/provider/exec'
|
3
4
|
|
4
5
|
Puppet::Type.type(:exec).provide :windows, :parent => Puppet::Provider::Exec do
|
5
|
-
|
6
6
|
confine 'os.name' => :windows
|
7
7
|
defaultfor 'os.name' => :windows
|
8
8
|
|
@@ -42,6 +42,7 @@ Puppet::Type.type(:exec).provide :windows, :parent => Puppet::Provider::Exec do
|
|
42
42
|
elsif !File.file?(exe)
|
43
43
|
raise ArgumentError, _("'%{exe}' is a %{klass}, not a file") % { exe: exe, klass: File.ftype(exe) }
|
44
44
|
end
|
45
|
+
|
45
46
|
return
|
46
47
|
end
|
47
48
|
|