puppet 8.5.1-universal-darwin → 8.7.0-universal-darwin
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 +6 -2
- data/Gemfile.lock +55 -48
- data/Rakefile +45 -22
- data/examples/hiera/README.md +68 -57
- data/examples/hiera/data/common.yaml +12 -0
- data/examples/hiera/data/dc1.yaml +6 -0
- data/examples/hiera/hiera.yaml +15 -0
- data/examples/hiera/modules/ntp/data/common.yaml +4 -0
- data/examples/hiera/modules/ntp/hiera.yaml +9 -0
- data/examples/hiera/modules/ntp/manifests/config.pp +16 -4
- data/examples/hiera/modules/ntp/templates/ntp.conf.epp +3 -0
- data/examples/hiera/modules/users/manifests/common.pp +7 -2
- data/examples/hiera/modules/users/manifests/dc1.pp +7 -2
- data/examples/hiera/site.pp +1 -1
- data/ext/project_data.yaml +0 -45
- 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 +4 -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 +5 -5
- 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/module_data_provider.rb +9 -9
- 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/aix_object.rb +1 -1
- 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 +32 -11
- 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/xbps.rb +127 -0
- 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/scheduler/splay_job.rb +9 -0
- 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 +51 -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 +60 -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 +18 -19
- 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/com.rb +2 -2
- 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/locales/puppet.pot +604 -600
- 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 +23 -27
- data/examples/hiera/etc/hiera.yaml +0 -15
- data/examples/hiera/etc/hieradb/common.yaml +0 -3
- data/examples/hiera/etc/hieradb/dc1.yaml +0 -6
- data/examples/hiera/etc/hieradb/development.yaml +0 -2
- data/examples/hiera/etc/puppet.conf +0 -3
- data/examples/hiera/modules/data/manifests/common.pp +0 -4
- data/examples/hiera/modules/ntp/manifests/data.pp +0 -4
- data/examples/hiera/modules/ntp/templates/ntp.conf.erb +0 -3
- data/examples/hiera/modules/users/manifests/development.pp +0 -4
- data/tasks/benchmark.rake +0 -180
- data/tasks/cfpropertylist.rake +0 -15
- data/tasks/ci.rake +0 -24
- data/tasks/generate_ast_model.rake +0 -90
- data/tasks/generate_cert_fixtures.rake +0 -199
- data/tasks/manpages.rake +0 -67
- data/tasks/memwalk.rake +0 -195
- data/tasks/parallel.rake +0 -410
- data/tasks/parser.rake +0 -22
- data/tasks/yard.rake +0 -59
@@ -13,7 +13,7 @@ class Puppet::Indirector::Memory < Puppet::Indirector::Terminus
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def destroy(request)
|
16
|
-
raise ArgumentError
|
16
|
+
raise ArgumentError, _("Could not find %{request} to destroy") % { request: request.key } unless @instances.include?(request.key)
|
17
17
|
|
18
18
|
@instances.delete(request.key)
|
19
19
|
end
|
@@ -28,7 +28,7 @@ class Puppet::Indirector::Memory < Puppet::Indirector::Terminus
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def head(request)
|
31
|
-
|
31
|
+
!find(request).nil?
|
32
32
|
end
|
33
33
|
|
34
34
|
def save(request)
|
@@ -9,7 +9,7 @@ require_relative '../../puppet/util'
|
|
9
9
|
# implementations, since it is ~ 30 times faster
|
10
10
|
class Puppet::Indirector::Msgpack < Puppet::Indirector::Terminus
|
11
11
|
def initialize(*args)
|
12
|
-
|
12
|
+
unless Puppet.features.msgpack?
|
13
13
|
raise _("MessagePack terminus not supported without msgpack library")
|
14
14
|
end
|
15
15
|
|
@@ -24,16 +24,16 @@ class Puppet::Indirector::Msgpack < Puppet::Indirector::Terminus
|
|
24
24
|
filename = path(request.key)
|
25
25
|
FileUtils.mkdir_p(File.dirname(filename))
|
26
26
|
|
27
|
-
Puppet::FileSystem.replace_file(filename,
|
27
|
+
Puppet::FileSystem.replace_file(filename, 0o660) { |f| f.print to_msgpack(request.instance) }
|
28
28
|
rescue TypeError => detail
|
29
|
-
Puppet.log_exception(detail, _("Could not save %{name} %{request}: %{detail}") % { name:
|
29
|
+
Puppet.log_exception(detail, _("Could not save %{name} %{request}: %{detail}") % { name: name, request: request.key, detail: detail })
|
30
30
|
end
|
31
31
|
|
32
32
|
def destroy(request)
|
33
33
|
Puppet::FileSystem.unlink(path(request.key))
|
34
34
|
rescue => detail
|
35
35
|
unless detail.is_a? Errno::ENOENT
|
36
|
-
raise Puppet::Error, _("Could not destroy %{name} %{request}: %{detail}") % { name:
|
36
|
+
raise Puppet::Error, _("Could not destroy %{name} %{request}: %{detail}") % { name: name, request: request.key, detail: detail }, detail.backtrace
|
37
37
|
end
|
38
38
|
|
39
39
|
1 # emulate success...
|
@@ -71,7 +71,7 @@ class Puppet::Indirector::Msgpack < Puppet::Indirector::Terminus
|
|
71
71
|
end
|
72
72
|
|
73
73
|
begin
|
74
|
-
|
74
|
+
from_msgpack(msgpack)
|
75
75
|
rescue => detail
|
76
76
|
raise Puppet::Error, _("Could not parse MessagePack data for %{indirection} %{key}: %{detail}") % { indirection: indirection.name, key: key, detail: detail }, detail.backtrace
|
77
77
|
end
|
@@ -4,5 +4,5 @@ require_relative '../../../puppet/indirector/store_configs'
|
|
4
4
|
require_relative '../../../puppet/node'
|
5
5
|
|
6
6
|
class Puppet::Node::StoreConfigs < Puppet::Indirector::StoreConfigs
|
7
|
-
desc
|
7
|
+
desc 'Part of the "storeconfigs" feature. Should not be directly set by end users.'
|
8
8
|
end
|
@@ -30,7 +30,7 @@ class Puppet::Transaction::Report::Json < Puppet::Indirector::JSON
|
|
30
30
|
fh.print JSON.dump(request.instance)
|
31
31
|
end
|
32
32
|
rescue TypeError => detail
|
33
|
-
Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection:
|
33
|
+
Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection: name, request: request.key, detail: detail }
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
@@ -30,7 +30,7 @@ class Puppet::Transaction::Report::Yaml < Puppet::Indirector::Yaml
|
|
30
30
|
fh.print YAML.dump(request.instance)
|
31
31
|
end
|
32
32
|
rescue TypeError => detail
|
33
|
-
Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection:
|
33
|
+
Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection: name, request: request.key, detail: detail }
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
@@ -80,7 +80,7 @@ class Puppet::Indirector::Request
|
|
80
80
|
# info out in the REST class, but it seemed bad design for the REST
|
81
81
|
# class to rewrite the key.
|
82
82
|
|
83
|
-
if key.to_s =~
|
83
|
+
if key.to_s =~ %r{^\w+:/} and !Puppet::Util.absolute_path?(key.to_s) # it's a URI
|
84
84
|
set_uri_key(key)
|
85
85
|
else
|
86
86
|
@key = key
|
@@ -140,11 +140,11 @@ class Puppet::Indirector::Request
|
|
140
140
|
end
|
141
141
|
|
142
142
|
def description
|
143
|
-
|
143
|
+
uri || "/#{indirection_name}/#{key}"
|
144
144
|
end
|
145
145
|
|
146
146
|
def remote?
|
147
|
-
|
147
|
+
node or ip
|
148
148
|
end
|
149
149
|
|
150
150
|
private
|
@@ -192,6 +192,6 @@ class Puppet::Indirector::Request
|
|
192
192
|
@protocol = uri.scheme
|
193
193
|
end
|
194
194
|
|
195
|
-
@key = Puppet::Util.uri_unescape(uri.path.sub(
|
195
|
+
@key = Puppet::Util.uri_unescape(uri.path.sub(%r{^/}, ''))
|
196
196
|
end
|
197
197
|
end
|
@@ -14,7 +14,7 @@ class Puppet::Resource::Ral < Puppet::Indirector::Code
|
|
14
14
|
def find(request)
|
15
15
|
# find by name
|
16
16
|
res = type(request).instances.find { |o| o.name == resource_name(request) }
|
17
|
-
res ||= type(request).new(:name => resource_name(request), :audit => type(request).properties.collect
|
17
|
+
res ||= type(request).new(:name => resource_name(request), :audit => type(request).properties.collect(&:name))
|
18
18
|
|
19
19
|
res.to_resource
|
20
20
|
end
|
@@ -23,9 +23,7 @@ class Puppet::Resource::Ral < Puppet::Indirector::Code
|
|
23
23
|
conditions = request.options.dup
|
24
24
|
conditions[:name] = resource_name(request) if resource_name(request)
|
25
25
|
|
26
|
-
type(request).instances.map do |res|
|
27
|
-
res.to_resource
|
28
|
-
end.find_all do |res|
|
26
|
+
type(request).instances.map(&:to_resource).find_all do |res|
|
29
27
|
conditions.all? do |property, value|
|
30
28
|
# even though `res` is an instance of Puppet::Resource, calling
|
31
29
|
# `res[:name]` on it returns nil, and for some reason it is necessary
|
@@ -6,7 +6,7 @@ require_relative '../../../puppet/indirector/resource/validator'
|
|
6
6
|
class Puppet::Resource::StoreConfigs < Puppet::Indirector::StoreConfigs
|
7
7
|
include Puppet::Resource::Validator
|
8
8
|
|
9
|
-
desc
|
9
|
+
desc 'Part of the "storeconfigs" feature. Should not be directly set by end users.'
|
10
10
|
|
11
11
|
def allow_remote_requests?
|
12
12
|
false
|
@@ -24,7 +24,7 @@ class Puppet::Indirector::Terminus
|
|
24
24
|
|
25
25
|
# Convert a constant to a short name.
|
26
26
|
def const2name(const)
|
27
|
-
const.sub(/^[A-Z]
|
27
|
+
const.sub(/^[A-Z]/, &:downcase).gsub(/[A-Z]/) { |i| "_#{i.downcase}" }.intern
|
28
28
|
end
|
29
29
|
|
30
30
|
# Look up the indirection if we were only provided a name.
|
@@ -57,7 +57,7 @@ class Puppet::Indirector::Terminus
|
|
57
57
|
names = longname.split("::")
|
58
58
|
|
59
59
|
# Convert everything to a lower-case symbol, converting camelcase to underscore word separation.
|
60
|
-
name = names.pop.sub(/^[A-Z]
|
60
|
+
name = names.pop.sub(/^[A-Z]/, &:downcase).gsub(/[A-Z]/) { |i| "_#{i.downcase}" }.intern
|
61
61
|
|
62
62
|
subclass.name = name
|
63
63
|
|
@@ -75,7 +75,7 @@ class Puppet::Indirector::Terminus
|
|
75
75
|
# This subclass is specifically associated with an indirection.
|
76
76
|
raise("Invalid name #{longname}") unless names.length > 0
|
77
77
|
|
78
|
-
processed_name = names.pop.sub(/^[A-Z]
|
78
|
+
processed_name = names.pop.sub(/^[A-Z]/, &:downcase).gsub(/[A-Z]/) { |i| "_#{i.downcase}" }
|
79
79
|
|
80
80
|
if processed_name.empty?
|
81
81
|
raise Puppet::DevError, _("Could not discern indirection model from class constant")
|
@@ -101,7 +101,7 @@ class Puppet::Indirector::Terminus
|
|
101
101
|
|
102
102
|
# Convert a short name to a constant.
|
103
103
|
def name2const(name)
|
104
|
-
name.to_s.capitalize.sub(/_(.)/) { |_i|
|
104
|
+
name.to_s.capitalize.sub(/_(.)/) { |_i| ::Regexp.last_match(1).upcase }
|
105
105
|
end
|
106
106
|
|
107
107
|
# Register a class, probably autoloaded.
|
@@ -11,7 +11,7 @@ class Puppet::Indirector::Yaml < Puppet::Indirector::Terminus
|
|
11
11
|
return nil unless Puppet::FileSystem.exist?(file)
|
12
12
|
|
13
13
|
begin
|
14
|
-
|
14
|
+
load_file(file)
|
15
15
|
rescue Puppet::Util::Yaml::YamlLoadError => detail
|
16
16
|
raise Puppet::Error, _("Could not parse YAML data for %{indirection} %{request}: %{detail}") % { indirection: indirection.name, request: request.key, detail: detail }, detail.backtrace
|
17
17
|
end
|
@@ -19,7 +19,7 @@ class Puppet::Indirector::Yaml < Puppet::Indirector::Terminus
|
|
19
19
|
|
20
20
|
# Convert our object to YAML and store it to the disk.
|
21
21
|
def save(request)
|
22
|
-
raise ArgumentError
|
22
|
+
raise ArgumentError, _("You can only save objects that respond to :name") unless request.instance.respond_to?(:name)
|
23
23
|
|
24
24
|
file = path(request.key)
|
25
25
|
|
@@ -31,7 +31,7 @@ class Puppet::Indirector::Yaml < Puppet::Indirector::Terminus
|
|
31
31
|
begin
|
32
32
|
Puppet::Util::Yaml.dump(request.instance, file)
|
33
33
|
rescue TypeError => detail
|
34
|
-
Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection:
|
34
|
+
Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection: name, request: request.key, detail: detail }
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -74,7 +74,7 @@ class Puppet::InfoService::ClassInformationService
|
|
74
74
|
def extract_type(structure, p)
|
75
75
|
return structure if p.type_expr.nil?
|
76
76
|
|
77
|
-
structure[:type] = typeexpr_to_string(p.type_expr)
|
77
|
+
structure[:type] = typeexpr_to_string(p.name, p.type_expr)
|
78
78
|
structure
|
79
79
|
end
|
80
80
|
|
@@ -88,13 +88,10 @@ class Puppet::InfoService::ClassInformationService
|
|
88
88
|
structure
|
89
89
|
end
|
90
90
|
|
91
|
-
def typeexpr_to_string(type_expr)
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
# type is to complex - contains expressions that are not literal
|
96
|
-
nil
|
97
|
-
end
|
91
|
+
def typeexpr_to_string(name, type_expr)
|
92
|
+
type_parser.interpret_any(type_expr, nil).to_s
|
93
|
+
rescue Puppet::ParseError => e
|
94
|
+
raise Puppet::Error, "The parameter '$#{name}' is invalid: #{e.message}", e.backtrace
|
98
95
|
end
|
99
96
|
|
100
97
|
def value_as_literal(value_expr)
|
@@ -10,13 +10,12 @@ class Puppet::InfoService::TaskInformationService
|
|
10
10
|
env.modules.map do |mod|
|
11
11
|
mod.tasks.map do |task|
|
12
12
|
# If any task is malformed continue to list other tasks in module
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
end
|
13
|
+
|
14
|
+
task.validate
|
15
|
+
{ :module => { :name => task.module.name }, :name => task.name, :metadata => task.metadata }
|
16
|
+
rescue Puppet::Module::Task::Error => err
|
17
|
+
Puppet.log_exception(err)
|
18
|
+
nil
|
20
19
|
end
|
21
20
|
end.flatten.compact
|
22
21
|
end
|
@@ -40,9 +40,9 @@ class Puppet::Interface::Action
|
|
40
40
|
# @return [void]
|
41
41
|
# @api private
|
42
42
|
def __dup_and_rebind_to(to)
|
43
|
-
bound_version =
|
43
|
+
bound_version = dup
|
44
44
|
bound_version.instance_variable_set(:@face, to)
|
45
|
-
|
45
|
+
bound_version
|
46
46
|
end
|
47
47
|
|
48
48
|
def to_s() "#{@face}##{@name}" end
|
@@ -88,7 +88,7 @@ class Puppet::Interface::Action
|
|
88
88
|
return @when_rendering[alt].bind(@face) if @when_rendering.has_key? alt
|
89
89
|
|
90
90
|
# Guess not, nothing to run.
|
91
|
-
|
91
|
+
nil
|
92
92
|
end
|
93
93
|
|
94
94
|
# @api private
|
@@ -254,7 +254,7 @@ class Puppet::Interface::Action
|
|
254
254
|
file = __FILE__ + "+eval[wrapper]"
|
255
255
|
line = __LINE__ + 2 # <== points to the same line as 'def' in the wrapper.
|
256
256
|
wrapper = <<~WRAPPER
|
257
|
-
def #{@name}(#{decl.join(
|
257
|
+
def #{@name}(#{decl.join(', ')})
|
258
258
|
#{optn}
|
259
259
|
args = #{args}
|
260
260
|
action = get_action(#{name.inspect})
|
@@ -394,7 +394,7 @@ class Puppet::Interface::Action
|
|
394
394
|
end
|
395
395
|
|
396
396
|
# All done.
|
397
|
-
|
397
|
+
result
|
398
398
|
end
|
399
399
|
|
400
400
|
########################################################################
|
@@ -39,7 +39,7 @@ module Puppet::Interface::ActionManager
|
|
39
39
|
@actions ||= {}
|
40
40
|
result = @actions.keys
|
41
41
|
|
42
|
-
if
|
42
|
+
if is_a?(Class) and superclass.respond_to?(:actions)
|
43
43
|
result += superclass.actions
|
44
44
|
elsif self.class.respond_to?(:actions)
|
45
45
|
result += self.class.actions
|
@@ -58,7 +58,7 @@ module Puppet::Interface::ActionManager
|
|
58
58
|
@actions ||= {}
|
59
59
|
result = @actions[name.to_sym]
|
60
60
|
if result.nil?
|
61
|
-
if
|
61
|
+
if is_a?(Class) and superclass.respond_to?(:get_action)
|
62
62
|
found = superclass.get_action(name)
|
63
63
|
elsif self.class.respond_to?(:get_action)
|
64
64
|
found = self.class.get_action(name)
|
@@ -71,16 +71,16 @@ module Puppet::Interface::ActionManager
|
|
71
71
|
result = @actions[name.to_sym] = found.__dup_and_rebind_to(self)
|
72
72
|
end
|
73
73
|
end
|
74
|
-
|
74
|
+
result
|
75
75
|
end
|
76
76
|
|
77
77
|
# Retrieves the default action for the face
|
78
78
|
# @return [Puppet::Interface::Action]
|
79
79
|
# @api private
|
80
80
|
def get_default_action
|
81
|
-
default = actions.map { |x| get_action(x) }.select
|
81
|
+
default = actions.map { |x| get_action(x) }.select(&:default)
|
82
82
|
if default.length > 1
|
83
|
-
raise "The actions #{default.map(&:name).join(
|
83
|
+
raise "The actions #{default.map(&:name).join(', ')} cannot all be default"
|
84
84
|
end
|
85
85
|
|
86
86
|
default.first
|
@@ -79,7 +79,7 @@ class Puppet::Interface
|
|
79
79
|
|
80
80
|
options.each do |option|
|
81
81
|
option = get_option(option)
|
82
|
-
wrap = option.required? ? %w
|
82
|
+
wrap = option.required? ? %w[< >] : %w{[ ]}
|
83
83
|
|
84
84
|
s.group(0, *wrap) do
|
85
85
|
option.optparse.each do |item|
|
@@ -184,7 +184,7 @@ class Puppet::Interface
|
|
184
184
|
first_paragraph_break = lines.index('') || 5
|
185
185
|
grab = [5, first_paragraph_break].min
|
186
186
|
@short_description = lines[0, grab].join("\n")
|
187
|
-
@short_description += ' [...]' if
|
187
|
+
@short_description += ' [...]' if grab < lines.length and first_paragraph_break >= 5
|
188
188
|
end
|
189
189
|
@short_description
|
190
190
|
end
|
@@ -250,7 +250,7 @@ class Puppet::Interface
|
|
250
250
|
# @api public
|
251
251
|
# @dsl Faces
|
252
252
|
def copyright(owner = nil, years = nil)
|
253
|
-
if years.nil? and
|
253
|
+
if years.nil? and !owner.nil? then
|
254
254
|
# TRANSLATORS 'copyright' is an attribute name and should not be translated
|
255
255
|
raise ArgumentError, _('copyright takes the owners names, then the years covered')
|
256
256
|
end
|
@@ -258,8 +258,8 @@ class Puppet::Interface
|
|
258
258
|
self.copyright_owner = owner unless owner.nil?
|
259
259
|
self.copyright_years = years unless years.nil?
|
260
260
|
|
261
|
-
if
|
262
|
-
"Copyright #{
|
261
|
+
if copyright_years or copyright_owner then
|
262
|
+
"Copyright #{copyright_years} by #{copyright_owner}"
|
263
263
|
else
|
264
264
|
"Unknown copyright owner and years."
|
265
265
|
end
|
@@ -40,7 +40,7 @@ module Puppet::Interface::FaceCollection
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
-
|
43
|
+
action
|
44
44
|
end
|
45
45
|
|
46
46
|
# get face from memory, without loading.
|
@@ -51,11 +51,11 @@ module Puppet::Interface::FaceCollection
|
|
51
51
|
versions = @faces[name].keys - [:current]
|
52
52
|
range = pattern.is_a?(SemanticPuppet::Version) ? SemanticPuppet::VersionRange.new(pattern, pattern) : SemanticPuppet::VersionRange.parse(pattern)
|
53
53
|
found = find_matching(range, versions)
|
54
|
-
|
54
|
+
@faces[name][found]
|
55
55
|
end
|
56
56
|
|
57
57
|
def self.find_matching(range, versions)
|
58
|
-
versions.select { |v| range === v }.
|
58
|
+
versions.select { |v| range === v }.max
|
59
59
|
end
|
60
60
|
|
61
61
|
# try to load the face, and return it.
|
@@ -95,7 +95,7 @@ module Puppet::Interface::FaceCollection
|
|
95
95
|
# versions here and return the last item in that set.
|
96
96
|
#
|
97
97
|
# --daniel 2011-04-06
|
98
|
-
latest_ver = @faces[name].keys.
|
98
|
+
latest_ver = @faces[name].keys.max
|
99
99
|
@faces[name][:current] = @faces[name][latest_ver]
|
100
100
|
end
|
101
101
|
end
|
@@ -105,7 +105,7 @@ module Puppet::Interface::FaceCollection
|
|
105
105
|
safely_require name, version
|
106
106
|
end
|
107
107
|
|
108
|
-
|
108
|
+
get_face(name, version)
|
109
109
|
end
|
110
110
|
|
111
111
|
def self.safely_require(name, version = nil)
|
@@ -113,12 +113,12 @@ module Puppet::Interface::FaceCollection
|
|
113
113
|
require path
|
114
114
|
true
|
115
115
|
rescue LoadError => e
|
116
|
-
raise unless e.message =~
|
116
|
+
raise unless e.message =~ /-- #{path}$/
|
117
117
|
|
118
118
|
# ...guess we didn't find the file; return a much better problem.
|
119
119
|
nil
|
120
120
|
rescue SyntaxError => e
|
121
|
-
raise unless e.message =~
|
121
|
+
raise unless e.message =~ /#{path}\.rb:\d+: /
|
122
122
|
|
123
123
|
Puppet.err _("Failed to load face %{name}:\n%{detail}") % { name: name, detail: e }
|
124
124
|
# ...but we just carry on after complaining.
|
@@ -64,7 +64,7 @@ class Puppet::Interface::Option
|
|
64
64
|
# incoherence here makes our life super-difficult, and we can more easily
|
65
65
|
# relax this rule later if we find a valid use case for it. --daniel 2011-03-30
|
66
66
|
@argument = @optparse.any? { |o| o =~ /[ =]/ }
|
67
|
-
if @argument and
|
67
|
+
if @argument and !@optparse.all? { |o| o =~ /[ =]/ } then
|
68
68
|
raise ArgumentError, _("Option %{name} is inconsistent about taking an argument") % { name: @name }
|
69
69
|
end
|
70
70
|
|
@@ -74,7 +74,7 @@ class Puppet::Interface::Option
|
|
74
74
|
if @optional_argument
|
75
75
|
raise ArgumentError, _("Options with optional arguments are not supported")
|
76
76
|
end
|
77
|
-
if @optional_argument and
|
77
|
+
if @optional_argument and !@optparse.all? { |o| o =~ /[ =]\[/ } then
|
78
78
|
raise ArgumentError, _("Option %{name} is inconsistent about the argument being optional") % { name: @name }
|
79
79
|
end
|
80
80
|
end
|
@@ -28,13 +28,13 @@ module Puppet::Interface::OptionManager
|
|
28
28
|
|
29
29
|
# @api private
|
30
30
|
def walk_inheritance_tree(start, sym)
|
31
|
-
result =
|
32
|
-
if
|
31
|
+
result = start || []
|
32
|
+
if is_a?(Class) and superclass.respond_to?(sym)
|
33
33
|
result = superclass.send(sym) + result
|
34
34
|
elsif self.class.respond_to?(sym)
|
35
35
|
result = self.class.send(sym) + result
|
36
36
|
end
|
37
|
-
|
37
|
+
result
|
38
38
|
end
|
39
39
|
|
40
40
|
# Declare that this app can take a specific option, and provide the
|
@@ -77,7 +77,7 @@ module Puppet::Interface::OptionManager
|
|
77
77
|
@options_hash[name] = option
|
78
78
|
end
|
79
79
|
|
80
|
-
|
80
|
+
option
|
81
81
|
end
|
82
82
|
|
83
83
|
# @api private
|
@@ -91,14 +91,14 @@ module Puppet::Interface::OptionManager
|
|
91
91
|
|
92
92
|
result = @options_hash[name.to_sym]
|
93
93
|
if result.nil? and with_inherited_options then
|
94
|
-
if
|
94
|
+
if is_a?(Class) and superclass.respond_to?(:get_option)
|
95
95
|
result = superclass.get_option(name)
|
96
96
|
elsif self.class.respond_to?(:get_option)
|
97
97
|
result = self.class.get_option(name)
|
98
98
|
end
|
99
99
|
end
|
100
100
|
|
101
|
-
|
101
|
+
result
|
102
102
|
end
|
103
103
|
|
104
104
|
# @api private
|
data/lib/puppet/interface.rb
CHANGED
@@ -58,7 +58,7 @@ class Puppet::Interface
|
|
58
58
|
def define(name, version, &block)
|
59
59
|
face = Puppet::Interface::FaceCollection[name, version]
|
60
60
|
if face.nil? then
|
61
|
-
face =
|
61
|
+
face = new(name, version)
|
62
62
|
Puppet::Interface::FaceCollection.register(face)
|
63
63
|
# REVISIT: Shouldn't this be delayed until *after* we evaluate the
|
64
64
|
# current block, not done before? --daniel 2011-04-07
|
@@ -67,7 +67,7 @@ class Puppet::Interface
|
|
67
67
|
|
68
68
|
face.instance_eval(&block) if block_given?
|
69
69
|
|
70
|
-
|
70
|
+
face
|
71
71
|
end
|
72
72
|
|
73
73
|
# Retrieves a face by name and version. Use `:current` for the
|
@@ -126,7 +126,7 @@ class Puppet::Interface
|
|
126
126
|
# @return [String] usage synopsis
|
127
127
|
# @api private
|
128
128
|
def synopsis
|
129
|
-
build_synopsis
|
129
|
+
build_synopsis name, '<action>'
|
130
130
|
end
|
131
131
|
|
132
132
|
########################################################################
|
@@ -219,7 +219,7 @@ class Puppet::Interface
|
|
219
219
|
# Exceptions here should propagate up; this implements a hook we can use
|
220
220
|
# reasonably for option validation.
|
221
221
|
methods.each do |hook|
|
222
|
-
respond_to? hook and
|
222
|
+
respond_to? hook and __send__(hook, action, passed_args, passed_options)
|
223
223
|
end
|
224
224
|
end
|
225
225
|
|
@@ -88,7 +88,7 @@ module Manager
|
|
88
88
|
selfobj = singleton_class
|
89
89
|
|
90
90
|
if @types.include?(name)
|
91
|
-
if
|
91
|
+
if respond_to?(newmethod)
|
92
92
|
# Remove the old newmethod
|
93
93
|
selfobj.send(:remove_method, newmethod)
|
94
94
|
end
|
@@ -106,7 +106,7 @@ module Manager
|
|
106
106
|
)
|
107
107
|
|
108
108
|
# Now define a "new<type>" method for convenience.
|
109
|
-
if
|
109
|
+
if respond_to? newmethod
|
110
110
|
# Refuse to overwrite existing methods like 'newparam' or 'newtype'.
|
111
111
|
# TRANSLATORS 'new%{method}' will become a method name, do not translate this string
|
112
112
|
Puppet.warning(_("'new%{method}' method already exists; skipping") % { method: name.to_s })
|
data/lib/puppet/module/plan.rb
CHANGED
@@ -48,18 +48,18 @@ class Puppet::Module
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
ALLOWED_EXTENSIONS = %w
|
52
|
-
RESERVED_WORDS = %w
|
51
|
+
ALLOWED_EXTENSIONS = %w[.pp .yaml]
|
52
|
+
RESERVED_WORDS = %w[and application attr case class consumes default else
|
53
53
|
elsif environment false function if import in inherits node or private
|
54
|
-
produces site true type undef unless
|
55
|
-
RESERVED_DATA_TYPES = %w
|
54
|
+
produces site true type undef unless]
|
55
|
+
RESERVED_DATA_TYPES = %w[any array boolean catalogentry class collection
|
56
56
|
callable data default enum float hash integer numeric optional pattern
|
57
|
-
resource runtime scalar string struct tuple type undef variant
|
57
|
+
resource runtime scalar string struct tuple type undef variant]
|
58
58
|
|
59
59
|
def self.is_plan_name?(name)
|
60
60
|
return true if name =~ /^[a-z][a-z0-9_]*$/
|
61
61
|
|
62
|
-
|
62
|
+
false
|
63
63
|
end
|
64
64
|
|
65
65
|
# Determine whether a plan file has a legal name and extension
|
@@ -77,7 +77,7 @@ class Puppet::Module
|
|
77
77
|
return [false, _("Plan name cannot be a Puppet data type, but was '%{name}'") % { name: name }]
|
78
78
|
end
|
79
79
|
|
80
|
-
|
80
|
+
[true]
|
81
81
|
end
|
82
82
|
|
83
83
|
# Executables list should contain the full path of all possible implementation files
|
@@ -89,7 +89,7 @@ class Puppet::Module
|
|
89
89
|
implementations = plan_files.select { |impl| File.basename(impl, '.*') == basename }
|
90
90
|
|
91
91
|
# Select .pp before .yaml, since .pp comes before .yaml alphabetically.
|
92
|
-
chosen = implementations.
|
92
|
+
chosen = implementations.min
|
93
93
|
|
94
94
|
[{ "name" => File.basename(chosen), "path" => chosen }]
|
95
95
|
end
|
@@ -143,7 +143,7 @@ class Puppet::Module
|
|
143
143
|
end
|
144
144
|
|
145
145
|
def ==(other)
|
146
|
-
|
146
|
+
name == other.name &&
|
147
147
|
self.module == other.module
|
148
148
|
end
|
149
149
|
|
@@ -159,7 +159,7 @@ class Puppet::Module
|
|
159
159
|
|
160
160
|
# Abstracted here so we can add support for subdirectories later
|
161
161
|
def self.plan_name_from_path(path)
|
162
|
-
|
162
|
+
File.basename(path, '.*')
|
163
163
|
end
|
164
164
|
private_class_method :plan_name_from_path
|
165
165
|
end
|