puppet 8.5.1-x64-mingw32 → 8.6.0-x64-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 +23 -20
- data/ext/windows/service/daemon.rb +49 -55
- data/lib/hiera/scope.rb +3 -3
- data/lib/hiera_puppet.rb +1 -1
- data/lib/puppet/agent/disabler.rb +1 -1
- data/lib/puppet/application/agent.rb +2 -2
- data/lib/puppet/application/apply.rb +2 -2
- data/lib/puppet/application/describe.rb +6 -6
- data/lib/puppet/application/device.rb +99 -100
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/face_base.rb +7 -7
- data/lib/puppet/application/filebucket.rb +1 -1
- data/lib/puppet/application/lookup.rb +5 -5
- data/lib/puppet/application/resource.rb +10 -3
- data/lib/puppet/application/ssl.rb +3 -3
- data/lib/puppet/application.rb +16 -18
- data/lib/puppet/coercion.rb +1 -1
- data/lib/puppet/configurer/downloader.rb +9 -4
- data/lib/puppet/configurer/fact_handler.rb +12 -13
- data/lib/puppet/configurer.rb +16 -18
- data/lib/puppet/confine/feature.rb +1 -1
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/confine.rb +2 -2
- data/lib/puppet/confine_collection.rb +1 -1
- data/lib/puppet/confiner.rb +2 -2
- data/lib/puppet/daemon.rb +3 -3
- data/lib/puppet/datatypes.rb +5 -6
- data/lib/puppet/defaults.rb +14 -8
- data/lib/puppet/environments.rb +3 -7
- data/lib/puppet/error.rb +3 -3
- data/lib/puppet/external/dot.rb +42 -34
- data/lib/puppet/face/catalog/select.rb +1 -1
- data/lib/puppet/face/epp.rb +7 -9
- data/lib/puppet/face/help.rb +12 -12
- data/lib/puppet/face/module/changes.rb +1 -3
- data/lib/puppet/face/module/list.rb +37 -37
- data/lib/puppet/face/node/clean.rb +1 -1
- data/lib/puppet/face/parser.rb +6 -8
- data/lib/puppet/face/report.rb +5 -7
- data/lib/puppet/facter_impl.rb +1 -1
- data/lib/puppet/feature/base.rb +9 -11
- data/lib/puppet/feature/pe_license.rb +1 -1
- data/lib/puppet/feature/ssh.rb +1 -1
- data/lib/puppet/feature/telnet.rb +3 -5
- data/lib/puppet/feature/zlib.rb +1 -1
- data/lib/puppet/ffi/windows/constants.rb +1 -1
- data/lib/puppet/ffi/windows/functions.rb +2 -2
- data/lib/puppet/ffi/windows/structs.rb +3 -3
- data/lib/puppet/file_bucket/dipper.rb +4 -4
- data/lib/puppet/file_bucket/file.rb +4 -4
- data/lib/puppet/file_serving/base.rb +5 -5
- data/lib/puppet/file_serving/configuration/parser.rb +9 -9
- data/lib/puppet/file_serving/configuration.rb +3 -3
- data/lib/puppet/file_serving/fileset.rb +13 -13
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +13 -9
- data/lib/puppet/file_serving/mount/file.rb +6 -6
- data/lib/puppet/file_serving/mount/locales.rb +2 -4
- data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
- data/lib/puppet/file_serving/mount/plugins.rb +2 -4
- data/lib/puppet/file_serving/mount.rb +1 -1
- data/lib/puppet/file_system/file_impl.rb +3 -3
- data/lib/puppet/file_system/memory_impl.rb +1 -1
- data/lib/puppet/file_system/path_pattern.rb +1 -1
- data/lib/puppet/file_system/uniquefile.rb +17 -16
- data/lib/puppet/file_system/windows.rb +26 -18
- data/lib/puppet/forge/cache.rb +2 -2
- data/lib/puppet/forge/errors.rb +1 -1
- data/lib/puppet/forge/repository.rb +2 -2
- data/lib/puppet/forge.rb +13 -19
- data/lib/puppet/functions/abs.rb +2 -2
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/compare.rb +2 -2
- data/lib/puppet/functions/contain.rb +1 -1
- data/lib/puppet/functions/defined.rb +2 -2
- data/lib/puppet/functions/dig.rb +1 -1
- data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
- data/lib/puppet/functions/get.rb +1 -1
- data/lib/puppet/functions/hocon_data.rb +3 -5
- data/lib/puppet/functions/import.rb +1 -1
- data/lib/puppet/functions/json_data.rb +4 -6
- data/lib/puppet/functions/max.rb +2 -2
- data/lib/puppet/functions/min.rb +2 -2
- data/lib/puppet/functions/new.rb +1 -1
- data/lib/puppet/functions/reduce.rb +6 -10
- data/lib/puppet/functions/regsubst.rb +2 -2
- data/lib/puppet/functions/require.rb +1 -1
- data/lib/puppet/functions/yaml_data.rb +11 -13
- data/lib/puppet/functions.rb +32 -37
- data/lib/puppet/generate/type.rb +2 -2
- data/lib/puppet/gettext/config.rb +9 -9
- data/lib/puppet/graph/rb_tree_map.rb +31 -23
- data/lib/puppet/graph/relationship_graph.rb +12 -12
- data/lib/puppet/graph/simple_graph.rb +8 -10
- data/lib/puppet/http/client.rb +1 -1
- data/lib/puppet/http/dns.rb +4 -4
- data/lib/puppet/http/external_client.rb +1 -1
- data/lib/puppet/http/factory.rb +1 -1
- data/lib/puppet/http/proxy.rb +15 -15
- data/lib/puppet/http/redirector.rb +6 -2
- data/lib/puppet/http/resolver.rb +2 -2
- data/lib/puppet/http/retry_after_handler.rb +2 -2
- data/lib/puppet/http/service/ca.rb +1 -1
- data/lib/puppet/http/service/compiler.rb +4 -4
- data/lib/puppet/http/service/file_server.rb +1 -1
- data/lib/puppet/http/service/report.rb +2 -2
- data/lib/puppet/http/service.rb +9 -13
- data/lib/puppet/http/session.rb +1 -1
- data/lib/puppet/http/site.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +44 -45
- data/lib/puppet/indirector/catalog/rest.rb +7 -5
- data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
- data/lib/puppet/indirector/exec.rb +2 -2
- data/lib/puppet/indirector/face.rb +7 -9
- data/lib/puppet/indirector/fact_search.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/facts/json.rb +1 -1
- data/lib/puppet/indirector/facts/store_configs.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
- data/lib/puppet/indirector/file_content/rest.rb +1 -1
- data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
- data/lib/puppet/indirector/hiera.rb +1 -1
- data/lib/puppet/indirector/indirection.rb +27 -29
- data/lib/puppet/indirector/json.rb +4 -4
- data/lib/puppet/indirector/memory.rb +2 -2
- data/lib/puppet/indirector/msgpack.rb +5 -5
- data/lib/puppet/indirector/node/store_configs.rb +1 -1
- data/lib/puppet/indirector/none.rb +1 -1
- data/lib/puppet/indirector/report/json.rb +1 -1
- data/lib/puppet/indirector/report/yaml.rb +1 -1
- data/lib/puppet/indirector/request.rb +4 -4
- data/lib/puppet/indirector/resource/ral.rb +2 -4
- data/lib/puppet/indirector/resource/store_configs.rb +1 -1
- data/lib/puppet/indirector/terminus.rb +4 -4
- data/lib/puppet/indirector/yaml.rb +3 -3
- data/lib/puppet/info_service/class_information_service.rb +5 -8
- data/lib/puppet/info_service/task_information_service.rb +6 -7
- data/lib/puppet/interface/action.rb +5 -5
- data/lib/puppet/interface/action_manager.rb +5 -5
- data/lib/puppet/interface/documentation.rb +5 -5
- data/lib/puppet/interface/face_collection.rb +7 -7
- data/lib/puppet/interface/option.rb +2 -2
- data/lib/puppet/interface/option_manager.rb +6 -6
- data/lib/puppet/interface.rb +4 -4
- data/lib/puppet/metatype/manager.rb +2 -2
- data/lib/puppet/module/plan.rb +10 -10
- data/lib/puppet/module/task.rb +8 -8
- data/lib/puppet/module.rb +39 -41
- data/lib/puppet/module_tool/applications/application.rb +10 -8
- data/lib/puppet/module_tool/applications/installer.rb +53 -50
- data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
- data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
- data/lib/puppet/module_tool/checksums.rb +2 -2
- data/lib/puppet/module_tool/dependency.rb +1 -1
- data/lib/puppet/module_tool/errors/base.rb +1 -1
- data/lib/puppet/module_tool/install_directory.rb +1 -1
- data/lib/puppet/module_tool/local_tarball.rb +3 -5
- data/lib/puppet/module_tool/metadata.rb +12 -8
- data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
- data/lib/puppet/module_tool/tar/mini.rb +3 -3
- data/lib/puppet/module_tool.rb +4 -4
- data/lib/puppet/network/client_request.rb +5 -3
- data/lib/puppet/network/format.rb +2 -2
- data/lib/puppet/network/format_support.rb +1 -1
- data/lib/puppet/network/formats.rb +1 -1
- data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
- data/lib/puppet/network/http/api/server/v3.rb +1 -1
- data/lib/puppet/network/http/connection.rb +1 -1
- data/lib/puppet/network/http/handler.rb +8 -12
- data/lib/puppet/network/http/request.rb +1 -1
- data/lib/puppet/network/http/route.rb +9 -9
- data/lib/puppet/node/environment.rb +21 -23
- data/lib/puppet/node/facts.rb +1 -1
- data/lib/puppet/node.rb +5 -5
- data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
- data/lib/puppet/pal/pal_impl.rb +48 -50
- data/lib/puppet/pal/plan_signature.rb +1 -1
- data/lib/puppet/pal/task_signature.rb +1 -1
- data/lib/puppet/parameter/package_options.rb +1 -1
- data/lib/puppet/parameter/value.rb +2 -2
- data/lib/puppet/parameter/value_collection.rb +7 -7
- data/lib/puppet/parameter.rb +8 -9
- data/lib/puppet/parser/ast/block_expression.rb +2 -2
- data/lib/puppet/parser/ast/hostclass.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
- data/lib/puppet/parser/ast/resource.rb +4 -4
- data/lib/puppet/parser/ast/resourceparam.rb +4 -4
- data/lib/puppet/parser/ast.rb +14 -15
- data/lib/puppet/parser/compiler.rb +26 -28
- data/lib/puppet/parser/functions/create_resources.rb +3 -3
- data/lib/puppet/parser/functions/fail.rb +1 -1
- data/lib/puppet/parser/functions/generate.rb +2 -2
- data/lib/puppet/parser/functions/tag.rb +1 -1
- data/lib/puppet/parser/functions.rb +2 -2
- data/lib/puppet/parser/relationship.rb +3 -1
- data/lib/puppet/parser/resource/param.rb +2 -2
- data/lib/puppet/parser/resource.rb +23 -23
- data/lib/puppet/parser/scope.rb +10 -10
- data/lib/puppet/parser/script_compiler.rb +1 -1
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +10 -12
- data/lib/puppet/parser.rb +1 -1
- data/lib/puppet/pops/adaptable.rb +1 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
- data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
- data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
- data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
- data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
- data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/functions/dispatcher.rb +3 -3
- data/lib/puppet/pops/functions/function.rb +14 -16
- data/lib/puppet/pops/issue_reporter.rb +2 -2
- data/lib/puppet/pops/label_provider.rb +2 -2
- data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
- data/lib/puppet/pops/loader/loader.rb +4 -4
- data/lib/puppet/pops/loader/loader_paths.rb +3 -3
- data/lib/puppet/pops/loader/module_loaders.rb +11 -11
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
- data/lib/puppet/pops/loader/static_loader.rb +3 -3
- data/lib/puppet/pops/loaders.rb +3 -3
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
- data/lib/puppet/pops/lookup/explainer.rb +2 -2
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
- data/lib/puppet/pops/lookup/interpolation.rb +3 -3
- data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
- data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
- data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
- data/lib/puppet/pops/merge_strategy.rb +6 -6
- data/lib/puppet/pops/migration/migration_checker.rb +1 -1
- data/lib/puppet/pops/model/ast_transformer.rb +9 -11
- data/lib/puppet/pops/model/factory.rb +4 -5
- data/lib/puppet/pops/parser/epp_parser.rb +2 -2
- data/lib/puppet/pops/parser/epp_support.rb +1 -1
- data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
- data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
- data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
- data/lib/puppet/pops/parser/lexer2.rb +20 -12
- data/lib/puppet/pops/parser/lexer_support.rb +1 -1
- data/lib/puppet/pops/parser/locator.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +12 -14
- data/lib/puppet/pops/parser/pn_parser.rb +3 -3
- data/lib/puppet/pops/parser/slurp_support.rb +8 -8
- data/lib/puppet/pops/patterns.rb +12 -12
- data/lib/puppet/pops/pcore.rb +1 -1
- data/lib/puppet/pops/pn.rb +2 -2
- data/lib/puppet/pops/puppet_stack.rb +1 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
- data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
- data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
- data/lib/puppet/pops/time/timestamp.rb +1 -1
- data/lib/puppet/pops/types/class_loader.rb +4 -6
- data/lib/puppet/pops/types/iterable.rb +1 -1
- data/lib/puppet/pops/types/p_binary_type.rb +1 -1
- data/lib/puppet/pops/types/p_init_type.rb +1 -1
- data/lib/puppet/pops/types/p_object_type.rb +5 -5
- data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
- data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
- data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
- data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
- data/lib/puppet/pops/types/p_uri_type.rb +4 -4
- data/lib/puppet/pops/types/recursion_guard.rb +4 -4
- data/lib/puppet/pops/types/ruby_generator.rb +2 -2
- data/lib/puppet/pops/types/string_converter.rb +12 -8
- data/lib/puppet/pops/types/tree_iterators.rb +4 -6
- data/lib/puppet/pops/types/type_calculator.rb +10 -10
- data/lib/puppet/pops/types/type_factory.rb +7 -3
- data/lib/puppet/pops/types/type_formatter.rb +22 -24
- data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
- data/lib/puppet/pops/types/types.rb +28 -24
- data/lib/puppet/pops/utils.rb +38 -42
- data/lib/puppet/pops/validation/checker4_0.rb +10 -10
- data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
- data/lib/puppet/pops/validation.rb +4 -4
- data/lib/puppet/pops/visitor.rb +2 -2
- data/lib/puppet/property/ensure.rb +12 -14
- data/lib/puppet/property/keyvalue.rb +4 -4
- data/lib/puppet/property/list.rb +4 -4
- data/lib/puppet/property/ordered_list.rb +1 -1
- data/lib/puppet/property.rb +31 -33
- data/lib/puppet/provider/exec.rb +2 -2
- data/lib/puppet/provider/file/posix.rb +19 -17
- data/lib/puppet/provider/file/windows.rb +13 -19
- data/lib/puppet/provider/group/directoryservice.rb +3 -2
- data/lib/puppet/provider/group/groupadd.rb +4 -4
- data/lib/puppet/provider/group/windows_adsi.rb +2 -2
- data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
- data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
- data/lib/puppet/provider/nameservice/pw.rb +1 -2
- data/lib/puppet/provider/nameservice.rb +8 -8
- data/lib/puppet/provider/package/aix.rb +19 -19
- data/lib/puppet/provider/package/appdmg.rb +2 -2
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/apt.rb +18 -18
- data/lib/puppet/provider/package/aptitude.rb +1 -3
- data/lib/puppet/provider/package/aptrpm.rb +9 -9
- data/lib/puppet/provider/package/blastwave.rb +10 -14
- data/lib/puppet/provider/package/dnfmodule.rb +3 -3
- data/lib/puppet/provider/package/dpkg.rb +11 -13
- data/lib/puppet/provider/package/fink.rb +14 -14
- data/lib/puppet/provider/package/freebsd.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +12 -14
- data/lib/puppet/provider/package/macports.rb +2 -2
- data/lib/puppet/provider/package/nim.rb +10 -10
- data/lib/puppet/provider/package/openbsd.rb +22 -22
- data/lib/puppet/provider/package/opkg.rb +6 -6
- data/lib/puppet/provider/package/pacman.rb +35 -29
- data/lib/puppet/provider/package/pip.rb +25 -24
- data/lib/puppet/provider/package/pkg.rb +15 -15
- data/lib/puppet/provider/package/pkgdmg.rb +10 -10
- data/lib/puppet/provider/package/pkgin.rb +2 -2
- data/lib/puppet/provider/package/pkgng.rb +5 -5
- data/lib/puppet/provider/package/pkgutil.rb +17 -21
- data/lib/puppet/provider/package/portage.rb +59 -61
- data/lib/puppet/provider/package/ports.rb +12 -11
- data/lib/puppet/provider/package/portupgrade.rb +35 -35
- data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
- data/lib/puppet/provider/package/rpm.rb +26 -26
- data/lib/puppet/provider/package/rug.rb +7 -9
- data/lib/puppet/provider/package/sun.rb +4 -4
- data/lib/puppet/provider/package/up2date.rb +5 -7
- data/lib/puppet/provider/package/urpmi.rb +6 -6
- data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
- data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
- data/lib/puppet/provider/package/windows/package.rb +2 -2
- data/lib/puppet/provider/package/windows.rb +3 -5
- data/lib/puppet/provider/package/yum.rb +33 -37
- data/lib/puppet/provider/package/zypper.rb +12 -14
- data/lib/puppet/provider/package.rb +1 -1
- data/lib/puppet/provider/package_targetable.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +9 -9
- data/lib/puppet/provider/service/base.rb +16 -21
- data/lib/puppet/provider/service/bsd.rb +4 -4
- data/lib/puppet/provider/service/daemontools.rb +31 -31
- data/lib/puppet/provider/service/debian.rb +6 -6
- data/lib/puppet/provider/service/freebsd.rb +36 -36
- data/lib/puppet/provider/service/gentoo.rb +6 -6
- data/lib/puppet/provider/service/init.rb +19 -19
- data/lib/puppet/provider/service/launchd.rb +22 -22
- data/lib/puppet/provider/service/openbsd.rb +10 -10
- data/lib/puppet/provider/service/openrc.rb +1 -1
- data/lib/puppet/provider/service/openwrt.rb +3 -3
- data/lib/puppet/provider/service/rcng.rb +3 -3
- data/lib/puppet/provider/service/redhat.rb +4 -4
- data/lib/puppet/provider/service/runit.rb +6 -6
- data/lib/puppet/provider/service/service.rb +5 -7
- data/lib/puppet/provider/service/smf.rb +28 -27
- data/lib/puppet/provider/service/src.rb +7 -7
- data/lib/puppet/provider/service/systemd.rb +31 -37
- data/lib/puppet/provider/service/upstart.rb +17 -17
- data/lib/puppet/provider/service/windows.rb +7 -7
- data/lib/puppet/provider/user/aix.rb +4 -2
- data/lib/puppet/provider/user/directoryservice.rb +34 -36
- data/lib/puppet/provider/user/hpux.rb +10 -14
- data/lib/puppet/provider/user/pw.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +16 -18
- data/lib/puppet/provider/user/useradd.rb +7 -7
- data/lib/puppet/provider/user/windows_adsi.rb +1 -1
- data/lib/puppet/provider.rb +8 -8
- data/lib/puppet/reference/indirection.rb +3 -0
- data/lib/puppet/reference/metaparameter.rb +1 -1
- data/lib/puppet/reference/providers.rb +3 -3
- data/lib/puppet/reference/type.rb +1 -1
- data/lib/puppet/relationship.rb +4 -5
- data/lib/puppet/reports/http.rb +1 -1
- data/lib/puppet/reports/log.rb +2 -2
- data/lib/puppet/reports/store.rb +4 -4
- data/lib/puppet/reports.rb +2 -2
- data/lib/puppet/resource/catalog.rb +16 -16
- data/lib/puppet/resource/status.rb +3 -3
- data/lib/puppet/resource/type.rb +8 -8
- data/lib/puppet/resource/type_collection.rb +1 -1
- data/lib/puppet/resource.rb +41 -41
- data/lib/puppet/scheduler/scheduler.rb +1 -1
- data/lib/puppet/settings/alias_setting.rb +3 -5
- data/lib/puppet/settings/base_setting.rb +11 -11
- data/lib/puppet/settings/boolean_setting.rb +2 -2
- data/lib/puppet/settings/config_file.rb +5 -4
- data/lib/puppet/settings/duration_setting.rb +2 -2
- data/lib/puppet/settings/environment_conf.rb +3 -3
- data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
- data/lib/puppet/settings/file_setting.rb +11 -11
- data/lib/puppet/settings/ini_file.rb +3 -3
- data/lib/puppet/settings/port_setting.rb +1 -1
- data/lib/puppet/settings/priority_setting.rb +2 -2
- data/lib/puppet/settings/ttl_setting.rb +2 -2
- data/lib/puppet/settings/value_translator.rb +8 -8
- data/lib/puppet/settings.rb +65 -70
- data/lib/puppet/ssl/base.rb +2 -4
- data/lib/puppet/ssl/certificate_request.rb +18 -22
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
- data/lib/puppet/ssl/oids.rb +2 -2
- data/lib/puppet/ssl/openssl_loader.rb +4 -4
- data/lib/puppet/syntax_checkers/base64.rb +3 -3
- data/lib/puppet/syntax_checkers/epp.rb +3 -3
- data/lib/puppet/syntax_checkers/json.rb +3 -3
- data/lib/puppet/syntax_checkers/pp.rb +3 -3
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/event.rb +2 -2
- data/lib/puppet/transaction/event_manager.rb +5 -5
- data/lib/puppet/transaction/persistence.rb +12 -14
- data/lib/puppet/transaction/report.rb +4 -4
- data/lib/puppet/transaction/resource_harness.rb +2 -2
- data/lib/puppet/transaction.rb +14 -18
- data/lib/puppet/type/component.rb +3 -3
- data/lib/puppet/type/exec.rb +43 -45
- data/lib/puppet/type/file/checksum_value.rb +1 -1
- data/lib/puppet/type/file/content.rb +6 -6
- data/lib/puppet/type/file/ctime.rb +2 -2
- data/lib/puppet/type/file/data_sync.rb +3 -3
- data/lib/puppet/type/file/ensure.rb +16 -15
- data/lib/puppet/type/file/mode.rb +9 -9
- data/lib/puppet/type/file/mtime.rb +2 -2
- data/lib/puppet/type/file/selcontext.rb +14 -14
- data/lib/puppet/type/file/source.rb +19 -21
- data/lib/puppet/type/file/target.rb +11 -11
- data/lib/puppet/type/file.rb +21 -21
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/group.rb +3 -3
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +4 -4
- data/lib/puppet/type/resources.rb +6 -6
- data/lib/puppet/type/schedule.rb +9 -9
- data/lib/puppet/type/service.rb +6 -8
- data/lib/puppet/type/tidy.rb +22 -24
- data/lib/puppet/type/user.rb +13 -13
- data/lib/puppet/type.rb +76 -88
- data/lib/puppet/util/at_fork/solaris.rb +33 -37
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/backups.rb +9 -9
- data/lib/puppet/util/character_encoding.rb +7 -6
- data/lib/puppet/util/checksums.rb +2 -2
- data/lib/puppet/util/classgen.rb +8 -8
- data/lib/puppet/util/colors.rb +1 -1
- data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
- data/lib/puppet/util/command_line/trollop.rb +42 -46
- data/lib/puppet/util/command_line.rb +2 -2
- data/lib/puppet/util/constant_inflector.rb +2 -2
- data/lib/puppet/util/diff.rb +19 -21
- data/lib/puppet/util/docs.rb +2 -2
- data/lib/puppet/util/errors.rb +9 -9
- data/lib/puppet/util/execution.rb +32 -9
- data/lib/puppet/util/feature.rb +1 -1
- data/lib/puppet/util/fileparsing.rb +12 -16
- data/lib/puppet/util/filetype.rb +36 -40
- data/lib/puppet/util/inifile.rb +6 -12
- data/lib/puppet/util/ldap/connection.rb +1 -1
- data/lib/puppet/util/ldap/manager.rb +10 -12
- data/lib/puppet/util/lockfile.rb +6 -8
- data/lib/puppet/util/log/destination.rb +2 -2
- data/lib/puppet/util/log/destinations.rb +4 -4
- data/lib/puppet/util/log.rb +12 -9
- data/lib/puppet/util/logging.rb +11 -11
- data/lib/puppet/util/metric.rb +3 -3
- data/lib/puppet/util/monkey_patches.rb +5 -7
- data/lib/puppet/util/network_device/config.rb +3 -3
- data/lib/puppet/util/package/version/debian.rb +27 -28
- data/lib/puppet/util/package/version/pip.rb +5 -5
- data/lib/puppet/util/package/version/range/eq.rb +1 -1
- data/lib/puppet/util/package/version/rpm.rb +1 -1
- data/lib/puppet/util/package.rb +2 -2
- data/lib/puppet/util/pidlock.rb +2 -2
- data/lib/puppet/util/platform.rb +1 -1
- data/lib/puppet/util/plist.rb +8 -10
- data/lib/puppet/util/posix.rb +17 -17
- data/lib/puppet/util/profiler/aggregate.rb +1 -1
- data/lib/puppet/util/provider_features.rb +3 -3
- data/lib/puppet/util/rdoc/code_objects.rb +3 -3
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
- data/lib/puppet/util/rdoc/parser.rb +1 -1
- data/lib/puppet/util/reference.rb +13 -9
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/rpm_compare.rb +17 -18
- data/lib/puppet/util/rubygems.rb +1 -1
- data/lib/puppet/util/selinux.rb +7 -7
- data/lib/puppet/util/storage.rb +10 -12
- data/lib/puppet/util/suidmanager.rb +18 -19
- data/lib/puppet/util/symbolic_file_mode.rb +71 -75
- data/lib/puppet/util/tag_set.rb +2 -2
- data/lib/puppet/util/tagging.rb +8 -10
- data/lib/puppet/util/terminal.rb +4 -4
- data/lib/puppet/util/user_attr.rb +7 -7
- data/lib/puppet/util/watcher.rb +3 -5
- data/lib/puppet/util/windows/access_control_list.rb +1 -1
- data/lib/puppet/util/windows/adsi.rb +42 -42
- data/lib/puppet/util/windows/daemon.rb +64 -68
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/file.rb +18 -25
- data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
- data/lib/puppet/util/windows/principal.rb +8 -8
- data/lib/puppet/util/windows/process.rb +16 -28
- data/lib/puppet/util/windows/registry.rb +16 -15
- data/lib/puppet/util/windows/root_certs.rb +2 -2
- data/lib/puppet/util/windows/security.rb +31 -31
- data/lib/puppet/util/windows/service.rb +11 -11
- data/lib/puppet/util/windows/sid.rb +8 -8
- data/lib/puppet/util/windows/user.rb +18 -20
- data/lib/puppet/util/yaml.rb +1 -1
- data/lib/puppet/util.rb +55 -46
- data/lib/puppet/version.rb +2 -2
- data/lib/puppet/x509/pem_store.rb +1 -1
- data/lib/puppet.rb +3 -3
- data/man/man5/puppet.conf.5 +10 -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 +5 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- metadata +2 -2
@@ -76,7 +76,7 @@ module Puppet
|
|
76
76
|
EOT
|
77
77
|
|
78
78
|
validate do |value|
|
79
|
-
|
79
|
+
unless value.is_a?(String)
|
80
80
|
raise Puppet::Error, "The file mode specification must be a string, not '#{value.class.name}'"
|
81
81
|
end
|
82
82
|
unless value.nil? or valid_symbolic_mode?(value)
|
@@ -111,9 +111,9 @@ module Puppet
|
|
111
111
|
def dirmask(value)
|
112
112
|
if FileTest.directory?(resource[:path]) and value =~ /^\d+$/ then
|
113
113
|
value = value.to_i(8)
|
114
|
-
value |=
|
115
|
-
value |=
|
116
|
-
value |=
|
114
|
+
value |= 0o100 if value & 0o400 != 0
|
115
|
+
value |= 0o10 if value & 0o40 != 0
|
116
|
+
value |= 0o1 if value & 0o4 != 0
|
117
117
|
value = value.to_s(8)
|
118
118
|
end
|
119
119
|
|
@@ -131,10 +131,10 @@ module Puppet
|
|
131
131
|
end
|
132
132
|
stat = @resource.stat
|
133
133
|
if stat && stat.ftype == "link" && @resource[:links] != :follow
|
134
|
-
|
135
|
-
|
134
|
+
debug _("Not managing symlink mode")
|
135
|
+
true
|
136
136
|
else
|
137
|
-
|
137
|
+
super(currentvalue)
|
138
138
|
end
|
139
139
|
end
|
140
140
|
|
@@ -153,7 +153,7 @@ module Puppet
|
|
153
153
|
# been synced.
|
154
154
|
def retrieve
|
155
155
|
if @resource.stat
|
156
|
-
@should &&= @should.collect { |s|
|
156
|
+
@should &&= @should.collect { |s| dirmask(s) }
|
157
157
|
end
|
158
158
|
|
159
159
|
super
|
@@ -163,7 +163,7 @@ module Puppet
|
|
163
163
|
# don't have access to the calculated "desired" value here, or the
|
164
164
|
# "current" value, only the "should" value we need to retrieve again.
|
165
165
|
def sync
|
166
|
-
current = @resource.stat ? @resource.stat.mode :
|
166
|
+
current = @resource.stat ? @resource.stat.mode : 0o644
|
167
167
|
set(desired_mode_from_current(@should[0], current).to_s(8))
|
168
168
|
end
|
169
169
|
|
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
module Puppet
|
4
4
|
Puppet::Type.type(:file).newproperty(:mtime) do
|
5
|
-
desc %q
|
6
|
-
is the time of the most recent change to the content of the file.
|
5
|
+
desc %q(A read-only state to check the file mtime. On \*nix-like systems, this
|
6
|
+
is the time of the most recent change to the content of the file.)
|
7
7
|
|
8
8
|
def retrieve
|
9
9
|
current_value = :absent
|
@@ -30,10 +30,10 @@ module Puppet
|
|
30
30
|
def retrieve
|
31
31
|
return :absent unless @resource.stat
|
32
32
|
|
33
|
-
context =
|
33
|
+
context = get_selinux_current_context(@resource[:path])
|
34
34
|
is = parse_selinux_context(name, context)
|
35
35
|
if name == :selrange and selinux_support?
|
36
|
-
|
36
|
+
selinux_category_to_label(is)
|
37
37
|
else
|
38
38
|
is
|
39
39
|
end
|
@@ -44,21 +44,21 @@ module Puppet
|
|
44
44
|
return nil
|
45
45
|
end
|
46
46
|
|
47
|
-
context =
|
47
|
+
context = get_selinux_default_context(@resource[:path], @resource[:ensure])
|
48
48
|
unless context
|
49
49
|
return nil
|
50
50
|
end
|
51
51
|
|
52
|
-
property_default =
|
53
|
-
|
52
|
+
property_default = parse_selinux_context(property, context)
|
53
|
+
debug "Found #{property} default '#{property_default}' for #{@resource[:path]}" unless property_default.nil?
|
54
54
|
property_default
|
55
55
|
end
|
56
56
|
|
57
57
|
def insync?(value)
|
58
|
-
if
|
58
|
+
if !selinux_support?
|
59
59
|
debug("SELinux bindings not found. Ignoring parameter.")
|
60
60
|
true
|
61
|
-
elsif
|
61
|
+
elsif !selinux_label_support?(@resource[:path])
|
62
62
|
debug("SELinux not available for this filesystem. Ignoring parameter.")
|
63
63
|
true
|
64
64
|
else
|
@@ -67,19 +67,19 @@ module Puppet
|
|
67
67
|
end
|
68
68
|
|
69
69
|
def unsafe_munge(should)
|
70
|
-
|
70
|
+
unless selinux_support?
|
71
71
|
return should
|
72
72
|
end
|
73
73
|
|
74
74
|
if name == :selrange
|
75
|
-
|
75
|
+
selinux_category_to_label(should)
|
76
76
|
else
|
77
77
|
should
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
81
|
def sync
|
82
|
-
|
82
|
+
set_selinux_context(@resource[:path], @should, name)
|
83
83
|
:file_changed
|
84
84
|
end
|
85
85
|
end
|
@@ -103,7 +103,7 @@ module Puppet
|
|
103
103
|
enabled."
|
104
104
|
|
105
105
|
@event = :file_changed
|
106
|
-
defaultto {
|
106
|
+
defaultto { retrieve_default_context(:seluser) }
|
107
107
|
end
|
108
108
|
|
109
109
|
Puppet::Type.type(:file).newproperty(:selrole, :parent => Puppet::SELFileContext) do
|
@@ -114,7 +114,7 @@ module Puppet
|
|
114
114
|
enabled."
|
115
115
|
|
116
116
|
@event = :file_changed
|
117
|
-
defaultto {
|
117
|
+
defaultto { retrieve_default_context(:selrole) }
|
118
118
|
end
|
119
119
|
|
120
120
|
Puppet::Type.type(:file).newproperty(:seltype, :parent => Puppet::SELFileContext) do
|
@@ -125,7 +125,7 @@ module Puppet
|
|
125
125
|
enabled."
|
126
126
|
|
127
127
|
@event = :file_changed
|
128
|
-
defaultto {
|
128
|
+
defaultto { retrieve_default_context(:seltype) }
|
129
129
|
end
|
130
130
|
|
131
131
|
Puppet::Type.type(:file).newproperty(:selrange, :parent => Puppet::SELFileContext) do
|
@@ -137,6 +137,6 @@ module Puppet
|
|
137
137
|
Security)."
|
138
138
|
|
139
139
|
@event = :file_changed
|
140
|
-
defaultto {
|
140
|
+
defaultto { retrieve_default_context(:selrange) }
|
141
141
|
end
|
142
142
|
end
|
@@ -96,7 +96,7 @@ module Puppet
|
|
96
96
|
|
97
97
|
self.fail "Cannot use relative URLs '#{source}'" unless uri.absolute?
|
98
98
|
self.fail "Cannot use opaque URLs '#{source}'" unless uri.hierarchical?
|
99
|
-
unless %w
|
99
|
+
unless %w[file puppet http https].include?(uri.scheme)
|
100
100
|
self.fail "Cannot use URLs of type '#{uri.scheme}' as source for fileserving"
|
101
101
|
end
|
102
102
|
end
|
@@ -130,9 +130,9 @@ module Puppet
|
|
130
130
|
def change_to_s(currentvalue, newvalue)
|
131
131
|
# newvalue = "{md5}#{@metadata.checksum}"
|
132
132
|
if resource.property(:ensure).retrieve == :absent
|
133
|
-
|
133
|
+
"creating from source #{metadata.source} with contents #{metadata.checksum}"
|
134
134
|
else
|
135
|
-
|
135
|
+
"replacing from source #{metadata.source} with contents #{metadata.checksum}"
|
136
136
|
end
|
137
137
|
end
|
138
138
|
|
@@ -189,25 +189,23 @@ module Puppet
|
|
189
189
|
return nil unless value
|
190
190
|
|
191
191
|
value.each do |source|
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
}
|
192
|
+
options = {
|
193
|
+
:environment => resource.catalog.environment_instance,
|
194
|
+
:links => resource[:links],
|
195
|
+
:checksum_type => resource[:checksum],
|
196
|
+
:source_permissions => resource[:source_permissions]
|
197
|
+
}
|
199
198
|
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
end
|
206
|
-
rescue => detail
|
207
|
-
self.fail Puppet::Error, "Could not retrieve file metadata for #{source}: #{detail}", detail
|
199
|
+
data = Puppet::FileServing::Metadata.indirection.find(source, options)
|
200
|
+
if data
|
201
|
+
@metadata = data
|
202
|
+
@metadata.source = source
|
203
|
+
break
|
208
204
|
end
|
205
|
+
rescue => detail
|
206
|
+
self.fail Puppet::Error, "Could not retrieve file metadata for #{source}: #{detail}", detail
|
209
207
|
end
|
210
|
-
self.fail "Could not retrieve information from environment #{resource.catalog.environment} source(s) #{value.join(
|
208
|
+
self.fail "Could not retrieve information from environment #{resource.catalog.environment} source(s) #{value.join(', ')}" unless @metadata
|
211
209
|
@metadata
|
212
210
|
end
|
213
211
|
|
@@ -266,7 +264,7 @@ module Puppet
|
|
266
264
|
value = value.to_s(8) if param_name == :mode && value.is_a?(Numeric)
|
267
265
|
resource[param_name] = value
|
268
266
|
|
269
|
-
if
|
267
|
+
if metadata_method == :checksum
|
270
268
|
# If copying checksum, also copy checksum_type
|
271
269
|
resource[:checksum] = metadata.checksum_type
|
272
270
|
end
|
@@ -317,7 +315,7 @@ module Puppet
|
|
317
315
|
def get_from_http_source(url, &block)
|
318
316
|
client = Puppet.runtime[:http]
|
319
317
|
client.get(url, options: { include_system_store: true }) do |response|
|
320
|
-
raise Puppet::HTTP::ResponseError
|
318
|
+
raise Puppet::HTTP::ResponseError, response unless response.success?
|
321
319
|
|
322
320
|
response.read_body(&block)
|
323
321
|
end
|
@@ -25,7 +25,7 @@ module Puppet
|
|
25
25
|
|
26
26
|
# Anything else, basically
|
27
27
|
newvalue(/./) do
|
28
|
-
@resource[:ensure] = :link
|
28
|
+
@resource[:ensure] = :link unless @resource.should(:ensure)
|
29
29
|
|
30
30
|
# Only call mklink if ensure didn't call us in the first place.
|
31
31
|
currentensure = @resource.property(:ensure).retrieve
|
@@ -34,9 +34,9 @@ module Puppet
|
|
34
34
|
|
35
35
|
# Create our link.
|
36
36
|
def mklink
|
37
|
-
raise Puppet::Error, "Cannot symlink on this platform version"
|
37
|
+
raise Puppet::Error, "Cannot symlink on this platform version" unless provider.feature?(:manages_symlinks)
|
38
38
|
|
39
|
-
target =
|
39
|
+
target = should
|
40
40
|
|
41
41
|
# Clean up any existing objects. The argument is just for logging,
|
42
42
|
# it doesn't determine what's removed.
|
@@ -48,7 +48,7 @@ module Puppet
|
|
48
48
|
Puppet::Util::SUIDManager.asuser(@resource.asuser) do
|
49
49
|
mode = @resource.should(:mode)
|
50
50
|
if mode
|
51
|
-
Puppet::Util.withumask(
|
51
|
+
Puppet::Util.withumask(0o00) do
|
52
52
|
Puppet::FileSystem.symlink(target, @resource[:path])
|
53
53
|
end
|
54
54
|
else
|
@@ -63,12 +63,12 @@ module Puppet
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def insync?(currentvalue)
|
66
|
-
if [:nochange, :notlink].include?(
|
67
|
-
|
66
|
+
if [:nochange, :notlink].include?(should) or @resource.recurse?
|
67
|
+
true
|
68
68
|
elsif !@resource.replace? and Puppet::FileSystem.exist?(@resource[:path])
|
69
|
-
|
69
|
+
true
|
70
70
|
else
|
71
|
-
|
71
|
+
super(currentvalue)
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
@@ -76,12 +76,12 @@ module Puppet
|
|
76
76
|
stat = @resource.stat
|
77
77
|
if stat
|
78
78
|
if stat.ftype == "link"
|
79
|
-
|
79
|
+
Puppet::FileSystem.readlink(@resource[:path])
|
80
80
|
else
|
81
|
-
|
81
|
+
:notlink
|
82
82
|
end
|
83
83
|
else
|
84
|
-
|
84
|
+
:absent
|
85
85
|
end
|
86
86
|
end
|
87
87
|
end
|
data/lib/puppet/type/file.rb
CHANGED
@@ -264,7 +264,7 @@ Puppet::Type.newtype(:file) do
|
|
264
264
|
|
265
265
|
validate do |value|
|
266
266
|
unless value.is_a?(Array) or value.is_a?(String) or value == false
|
267
|
-
|
267
|
+
devfail "Ignore must be a string or an Array"
|
268
268
|
end
|
269
269
|
end
|
270
270
|
end
|
@@ -387,7 +387,7 @@ Puppet::Type.newtype(:file) do
|
|
387
387
|
autorequire(:file) do
|
388
388
|
req = []
|
389
389
|
path = Pathname.new(self[:path])
|
390
|
-
|
390
|
+
unless path.root?
|
391
391
|
# Start at our parent, to avoid autorequiring ourself
|
392
392
|
parents = path.parent.enum_for(:ascend)
|
393
393
|
found = parents.find { |p| catalog.resource(:file, p.to_s) }
|
@@ -432,7 +432,7 @@ Puppet::Type.newtype(:file) do
|
|
432
432
|
end
|
433
433
|
creator_count += 1 if @parameters.include?(:source)
|
434
434
|
|
435
|
-
self.fail _("You cannot specify more than one of %{creators}") % { creators: CREATORS.collect
|
435
|
+
self.fail _("You cannot specify more than one of %{creators}") % { creators: CREATORS.collect(&:to_s).join(", ") } if creator_count > 1
|
436
436
|
|
437
437
|
self.fail _("You cannot specify a remote recursion without a source") if !self[:source] && self[:recurse] == :remote
|
438
438
|
|
@@ -442,7 +442,7 @@ Puppet::Type.newtype(:file) do
|
|
442
442
|
self.fail _("You cannot specify content when using checksum '%{checksum_type}'") % { checksum_type: checksum_type } if self[:checksum] == checksum_type && !self[:content].nil?
|
443
443
|
end
|
444
444
|
|
445
|
-
|
445
|
+
warning _("Possible error: recurselimit is set but not recurse, no recursion will happen") if !self[:recurse] && self[:recurselimit]
|
446
446
|
|
447
447
|
if @parameters[:content] && @parameters[:content].actual_content
|
448
448
|
# Now that we know the checksum, update content (in case it was created before checksum was known).
|
@@ -453,7 +453,7 @@ Puppet::Type.newtype(:file) do
|
|
453
453
|
self.fail _("Checksum value '%{value}' is not a valid checksum type %{checksum}") % { value: self[:checksum_value], checksum: self[:checksum] }
|
454
454
|
end
|
455
455
|
|
456
|
-
|
456
|
+
warning _("Checksum value is ignored unless content or source are specified") if self[:checksum_value] && !self[:content] && !self[:source]
|
457
457
|
|
458
458
|
provider.validate if provider.respond_to?(:validate)
|
459
459
|
end
|
@@ -461,11 +461,11 @@ Puppet::Type.newtype(:file) do
|
|
461
461
|
def self.[](path)
|
462
462
|
return nil unless path
|
463
463
|
|
464
|
-
super(path.gsub(
|
464
|
+
super(path.gsub(%r{/+}, '/').sub(%r{/$}, ''))
|
465
465
|
end
|
466
466
|
|
467
467
|
def self.instances
|
468
|
-
|
468
|
+
[]
|
469
469
|
end
|
470
470
|
|
471
471
|
# Determine the user to write files as.
|
@@ -531,7 +531,7 @@ Puppet::Type.newtype(:file) do
|
|
531
531
|
|
532
532
|
# Create any children via recursion or whatever.
|
533
533
|
def eval_generate
|
534
|
-
return [] unless
|
534
|
+
return [] unless recurse?
|
535
535
|
|
536
536
|
recurse
|
537
537
|
end
|
@@ -616,12 +616,12 @@ Puppet::Type.newtype(:file) do
|
|
616
616
|
# Remove the parent file name
|
617
617
|
list = parent.pathbuilder
|
618
618
|
list.pop # remove the parent's path info
|
619
|
-
|
619
|
+
list << ref
|
620
620
|
else
|
621
|
-
|
621
|
+
super
|
622
622
|
end
|
623
623
|
else
|
624
|
-
|
624
|
+
[ref]
|
625
625
|
end
|
626
626
|
end
|
627
627
|
|
@@ -639,7 +639,7 @@ Puppet::Type.newtype(:file) do
|
|
639
639
|
|
640
640
|
# If we're purging resources, then delete any resource that isn't on the
|
641
641
|
# remote system.
|
642
|
-
mark_children_for_purging(children) if
|
642
|
+
mark_children_for_purging(children) if purge?
|
643
643
|
|
644
644
|
result = children.values.sort_by { |a| a[:path] }
|
645
645
|
remove_less_specific_files(result)
|
@@ -800,7 +800,7 @@ Puppet::Type.newtype(:file) do
|
|
800
800
|
if can_backup?(current_type)
|
801
801
|
backup_existing
|
802
802
|
else
|
803
|
-
|
803
|
+
warning _("Could not back up file of type %{current_type}") % { current_type: current_type }
|
804
804
|
end
|
805
805
|
end
|
806
806
|
|
@@ -810,9 +810,9 @@ Puppet::Type.newtype(:file) do
|
|
810
810
|
|
811
811
|
case current_type
|
812
812
|
when "directory"
|
813
|
-
|
813
|
+
remove_directory(wanted_type)
|
814
814
|
when "link", "file", "fifo", "socket"
|
815
|
-
|
815
|
+
remove_file(current_type, wanted_type)
|
816
816
|
else
|
817
817
|
# Including: “blockSpecial”, “characterSpecial”, “unknown”
|
818
818
|
self.fail _("Could not remove files of type %{current_type}") % { current_type: current_type }
|
@@ -827,13 +827,13 @@ Puppet::Type.newtype(:file) do
|
|
827
827
|
[:use, :use_when_creating].include?(self[:source_permissions])
|
828
828
|
# TRANSLATORS "source_permissions => ignore" should not be translated
|
829
829
|
err_msg = _("Copying owner/mode/group from the source file on Windows is not supported; use source_permissions => ignore.")
|
830
|
-
if self[:owner]
|
830
|
+
if self[:owner].nil? || self[:group].nil? || self[:mode].nil?
|
831
831
|
# Fail on Windows if source permissions are being used and the file resource
|
832
832
|
# does not have mode owner, group, and mode all set (which would take precedence).
|
833
833
|
self.fail err_msg
|
834
834
|
else
|
835
835
|
# Warn if use source permissions is specified on Windows
|
836
|
-
|
836
|
+
warning err_msg
|
837
837
|
end
|
838
838
|
end
|
839
839
|
|
@@ -898,7 +898,7 @@ Puppet::Type.newtype(:file) do
|
|
898
898
|
method = :stat
|
899
899
|
|
900
900
|
# Files are the only types that support links
|
901
|
-
if
|
901
|
+
if instance_of?(Puppet::Type::File) and self[:links] != :follow
|
902
902
|
method = :lstat
|
903
903
|
end
|
904
904
|
|
@@ -937,7 +937,7 @@ Puppet::Type.newtype(:file) do
|
|
937
937
|
validate_callback = proc { |path|
|
938
938
|
output = Puppet::Util::Execution.execute(self[:validate_cmd].gsub(self[:validate_replacement], path), :failonfail => true, :combine => true)
|
939
939
|
output.split(/\n/).each { |line|
|
940
|
-
|
940
|
+
debug(line)
|
941
941
|
}
|
942
942
|
}
|
943
943
|
end
|
@@ -962,7 +962,7 @@ Puppet::Type.newtype(:file) do
|
|
962
962
|
fail_if_checksum_is_wrong(property, file.path, content_checksum)
|
963
963
|
end
|
964
964
|
else
|
965
|
-
umask = mode ?
|
965
|
+
umask = mode ? 0o00 : 0o22
|
966
966
|
Puppet::Util.withumask(umask) { ::File.open(self[:path], 'wb', mode_int) { |f| property.write(f) if property } }
|
967
967
|
end
|
968
968
|
|
@@ -972,7 +972,7 @@ Puppet::Type.newtype(:file) do
|
|
972
972
|
|
973
973
|
private
|
974
974
|
|
975
|
-
# Carry the context of sensitive parameters to the
|
975
|
+
# Carry the context of sensitive parameters to the properties that will actually handle that
|
976
976
|
# sensitive data.
|
977
977
|
#
|
978
978
|
# The file type can accept file content from a number of origins and depending on the current
|
@@ -75,7 +75,7 @@ module Puppet
|
|
75
75
|
raise ArgumentError, _("You can only have one filebucket path")
|
76
76
|
end
|
77
77
|
|
78
|
-
if value.is_a? String and
|
78
|
+
if value.is_a? String and !Puppet::Util.absolute_path?(value)
|
79
79
|
raise ArgumentError, _("Filebucket paths must be absolute")
|
80
80
|
end
|
81
81
|
|
@@ -113,11 +113,11 @@ module Puppet
|
|
113
113
|
@bucket = Puppet::FileBucket::Dipper.new(args)
|
114
114
|
rescue => detail
|
115
115
|
message = _("Could not create %{type} filebucket: %{detail}") % { type: type, detail: detail }
|
116
|
-
|
116
|
+
log_exception(detail, message)
|
117
117
|
self.fail(message)
|
118
118
|
end
|
119
119
|
|
120
|
-
@bucket.name =
|
120
|
+
@bucket.name = name
|
121
121
|
end
|
122
122
|
end
|
123
123
|
end
|
data/lib/puppet/type/group.rb
CHANGED
@@ -56,10 +56,10 @@ module Puppet
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def sync
|
59
|
-
if
|
59
|
+
if should == :absent
|
60
60
|
raise Puppet::DevError, _("GID cannot be deleted")
|
61
61
|
else
|
62
|
-
provider.gid =
|
62
|
+
provider.gid = should
|
63
63
|
end
|
64
64
|
end
|
65
65
|
|
@@ -73,7 +73,7 @@ module Puppet
|
|
73
73
|
end
|
74
74
|
when Symbol
|
75
75
|
unless gid == :absent
|
76
|
-
|
76
|
+
devfail "Invalid GID #{gid}"
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
data/lib/puppet/type/notify.rb
CHANGED
@@ -12,14 +12,14 @@ module Puppet
|
|
12
12
|
newproperty(:message, :idempotent => false) do
|
13
13
|
desc "The message to be sent to the log. Note that the value specified must be a string."
|
14
14
|
def sync
|
15
|
-
message = @sensitive ? 'Sensitive [value redacted]' :
|
15
|
+
message = @sensitive ? 'Sensitive [value redacted]' : should
|
16
16
|
case @resource["withpath"]
|
17
17
|
when :true
|
18
18
|
send(@resource[:loglevel], message)
|
19
19
|
else
|
20
20
|
Puppet.send(@resource[:loglevel], message)
|
21
21
|
end
|
22
|
-
|
22
|
+
nil
|
23
23
|
end
|
24
24
|
|
25
25
|
def retrieve
|
data/lib/puppet/type/package.rb
CHANGED
@@ -119,7 +119,7 @@ module Puppet
|
|
119
119
|
# Because yum always exits with a 0 exit code, there's a retrieve
|
120
120
|
# in the "install" method. So, check the current state now,
|
121
121
|
# to compare against later.
|
122
|
-
current =
|
122
|
+
current = retrieve
|
123
123
|
begin
|
124
124
|
provider.update
|
125
125
|
rescue => detail
|
@@ -140,7 +140,7 @@ module Puppet
|
|
140
140
|
self.fail Puppet::Error, _("Could not update: %{detail}") % { detail: detail }, detail
|
141
141
|
end
|
142
142
|
|
143
|
-
if
|
143
|
+
if retrieve == :absent
|
144
144
|
:package_installed
|
145
145
|
else
|
146
146
|
:package_changed
|
@@ -188,7 +188,7 @@ module Puppet
|
|
188
188
|
# that can't query versions.
|
189
189
|
return true
|
190
190
|
else
|
191
|
-
|
191
|
+
debug "#{@resource.name} #{is.inspect} is installed, latest is #{@latest.inspect}"
|
192
192
|
end
|
193
193
|
|
194
194
|
when :absent
|
@@ -270,7 +270,7 @@ module Puppet
|
|
270
270
|
isnamevar
|
271
271
|
|
272
272
|
validate do |value|
|
273
|
-
|
273
|
+
unless value.is_a?(String)
|
274
274
|
raise ArgumentError, _("Name must be a String not %{klass}") % { klass: value.class }
|
275
275
|
end
|
276
276
|
end
|
@@ -18,7 +18,7 @@ Puppet::Type.newtype(:resources) do
|
|
18
18
|
raise ArgumentError, _("Could not find resource type '%{name}'") % { name: name } unless Puppet::Type.type(name)
|
19
19
|
end
|
20
20
|
|
21
|
-
munge
|
21
|
+
munge(&:to_s)
|
22
22
|
end
|
23
23
|
|
24
24
|
newparam(:purge, :boolean => true, :parent => Puppet::Parameter::Boolean) do
|
@@ -100,9 +100,9 @@ Puppet::Type.newtype(:resources) do
|
|
100
100
|
@checkmethod ||= "#{self[:name]}_check"
|
101
101
|
@hascheck ||= respond_to?(@checkmethod)
|
102
102
|
if @hascheck
|
103
|
-
|
103
|
+
send(@checkmethod, resource)
|
104
104
|
else
|
105
|
-
|
105
|
+
true
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
@@ -116,7 +116,7 @@ Puppet::Type.newtype(:resources) do
|
|
116
116
|
# Generate any new resources we need to manage. This is pretty hackish
|
117
117
|
# right now, because it only supports purging.
|
118
118
|
def generate
|
119
|
-
return [] unless
|
119
|
+
return [] unless purge?
|
120
120
|
|
121
121
|
resource_type.instances
|
122
122
|
.reject { |r| catalog.resource_refs.include? r.ref }
|
@@ -163,7 +163,7 @@ Puppet::Type.newtype(:resources) do
|
|
163
163
|
end
|
164
164
|
|
165
165
|
def system_users
|
166
|
-
%w
|
166
|
+
%w[root nobody bin noaccess daemon sys]
|
167
167
|
end
|
168
168
|
|
169
169
|
def self.system_users_max_uid
|
@@ -172,7 +172,7 @@ Puppet::Type.newtype(:resources) do
|
|
172
172
|
# First try to read the minimum user id from login.defs
|
173
173
|
if Puppet::FileSystem.exist?('/etc/login.defs')
|
174
174
|
@system_users_max_uid = Puppet::FileSystem.each_line '/etc/login.defs' do |line|
|
175
|
-
break
|
175
|
+
break Regexp.last_match(1).to_i - 1 if line =~ /^\s*UID_MIN\s+(\d+)(\s*#.*)?$/
|
176
176
|
end
|
177
177
|
end
|
178
178
|
|
data/lib/puppet/type/schedule.rb
CHANGED
@@ -116,7 +116,7 @@ module Puppet
|
|
116
116
|
# Split each range value into a hour, minute, second triad
|
117
117
|
value.split(/\s*-\s*/).each { |val|
|
118
118
|
# Add the values as an array.
|
119
|
-
range << val.split(":").collect
|
119
|
+
range << val.split(":").collect(&:to_i)
|
120
120
|
}
|
121
121
|
|
122
122
|
self.fail _("Invalid range %{value}") % { value: value } if range.length != 2
|
@@ -232,9 +232,9 @@ module Puppet
|
|
232
232
|
|
233
233
|
ScheduleScales = {
|
234
234
|
:hourly => 3600,
|
235
|
-
:daily =>
|
236
|
-
:weekly =>
|
237
|
-
:monthly =>
|
235
|
+
:daily => 86_400,
|
236
|
+
:weekly => 604_800,
|
237
|
+
:monthly => 2_592_000
|
238
238
|
}
|
239
239
|
ScheduleMethods = {
|
240
240
|
:hourly => :hour,
|
@@ -255,10 +255,10 @@ module Puppet
|
|
255
255
|
when :number
|
256
256
|
method = ScheduleMethods[value]
|
257
257
|
if method.is_a?(Proc)
|
258
|
-
|
258
|
+
method.call(previous, now)
|
259
259
|
else
|
260
260
|
# We negate it, because if they're equal we don't run
|
261
|
-
|
261
|
+
now.send(method) != previous.send(method)
|
262
262
|
end
|
263
263
|
when :distance
|
264
264
|
scale = ScheduleScales[value]
|
@@ -267,7 +267,7 @@ module Puppet
|
|
267
267
|
# than the unit of time, we match. We divide the scale
|
268
268
|
# by the repeat, so that we'll repeat that often within
|
269
269
|
# the scale.
|
270
|
-
|
270
|
+
(now.to_i - previous.to_i) >= (scale / @resource[:repeat])
|
271
271
|
end
|
272
272
|
end
|
273
273
|
end
|
@@ -401,7 +401,7 @@ module Puppet
|
|
401
401
|
|
402
402
|
Puppet.debug "Creating default schedules"
|
403
403
|
|
404
|
-
result <<
|
404
|
+
result << new(
|
405
405
|
:name => "puppet",
|
406
406
|
:period => :hourly,
|
407
407
|
|
@@ -410,7 +410,7 @@ module Puppet
|
|
410
410
|
|
411
411
|
# And then one for every period
|
412
412
|
@parameters.find { |p| p.name == :period }.value_collection.values.each { |value|
|
413
|
-
result <<
|
413
|
+
result << new(
|
414
414
|
:name => value.to_s,
|
415
415
|
:period => value
|
416
416
|
)
|