puppet 4.10.0 → 5.0.0
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.
- data/CONTRIBUTING.md +17 -0
- data/Gemfile +6 -10
- data/MAINTAINERS +0 -5
- data/Rakefile +2 -1
- data/conf/auth.conf +21 -0
- data/conf/fileserver.conf +7 -12
- data/conf/hiera.yaml +11 -0
- data/ext/debian/puppet-common.install +0 -1
- data/ext/debian/puppet-common.manpages +0 -2
- data/ext/hiera/hiera.yaml +15 -0
- data/ext/logcheck/puppet +1 -1
- data/ext/project_data.yaml +3 -6
- data/ext/puppet-test +0 -24
- data/ext/rack/config.ru +2 -2
- data/ext/redhat/puppet.spec.erb +0 -3
- data/ext/windows/service/daemon.rb +8 -14
- data/install.rb +1 -1
- data/lib/hiera/puppet_function.rb +1 -1
- data/lib/puppet/agent/disabler.rb +3 -3
- data/lib/puppet/agent/locker.rb +3 -3
- data/lib/puppet/agent.rb +27 -16
- data/lib/puppet/application/agent.rb +16 -9
- data/lib/puppet/application/apply.rb +19 -17
- data/lib/puppet/application/cert.rb +2 -2
- data/lib/puppet/application/describe.rb +2 -2
- data/lib/puppet/application/device.rb +71 -46
- data/lib/puppet/application/doc.rb +9 -9
- data/lib/puppet/application/face_base.rb +8 -13
- data/lib/puppet/application/filebucket.rb +8 -8
- data/lib/puppet/application/lookup.rb +101 -88
- data/lib/puppet/application/master.rb +15 -23
- data/lib/puppet/application/resource.rb +20 -17
- data/lib/puppet/application.rb +11 -11
- data/lib/puppet/configurer/downloader.rb +2 -2
- data/lib/puppet/configurer/fact_handler.rb +13 -4
- data/lib/puppet/configurer.rb +29 -28
- data/lib/puppet/context/trusted_information.rb +1 -1
- data/lib/puppet/context.rb +5 -5
- data/lib/puppet/defaults.rb +58 -104
- data/lib/puppet/error.rb +1 -1
- data/lib/puppet/etc.rb +75 -39
- data/lib/puppet/external/pson/common.rb +4 -0
- data/lib/puppet/face/ca.rb +50 -43
- data/lib/puppet/face/catalog/select.rb +4 -4
- data/lib/puppet/face/catalog.rb +2 -2
- data/lib/puppet/face/certificate.rb +21 -21
- data/lib/puppet/face/certificate_request.rb +1 -1
- data/lib/puppet/face/certificate_revocation_list.rb +1 -1
- data/lib/puppet/face/config.rb +10 -10
- data/lib/puppet/face/epp.rb +38 -38
- data/lib/puppet/face/facts.rb +5 -5
- data/lib/puppet/face/generate.rb +8 -8
- data/lib/puppet/face/help.rb +8 -8
- data/lib/puppet/face/key.rb +3 -3
- data/lib/puppet/face/man.rb +7 -7
- data/lib/puppet/face/module/build.rb +7 -7
- data/lib/puppet/face/module/changes.rb +6 -6
- data/lib/puppet/face/module/generate.rb +24 -24
- data/lib/puppet/face/module/install.rb +13 -9
- data/lib/puppet/face/module/list.rb +16 -12
- data/lib/puppet/face/module/search.rb +4 -4
- data/lib/puppet/face/module/uninstall.rb +13 -10
- data/lib/puppet/face/module/upgrade.rb +11 -7
- data/lib/puppet/face/module.rb +3 -3
- data/lib/puppet/face/node/clean.rb +8 -8
- data/lib/puppet/face/node.rb +6 -6
- data/lib/puppet/face/parser.rb +17 -17
- data/lib/puppet/face/plugin.rb +7 -7
- data/lib/puppet/face/report.rb +10 -10
- data/lib/puppet/face/resource.rb +13 -13
- data/lib/puppet/face/status.rb +5 -5
- data/lib/puppet/feature/base.rb +4 -3
- data/lib/puppet/feature/eventlog.rb +1 -1
- data/lib/puppet/file_bucket/dipper.rb +9 -9
- data/lib/puppet/file_bucket/file.rb +4 -17
- data/lib/puppet/file_serving/base.rb +3 -3
- data/lib/puppet/file_serving/configuration/parser.rb +12 -12
- data/lib/puppet/file_serving/configuration.rb +3 -3
- data/lib/puppet/file_serving/content.rb +1 -1
- data/lib/puppet/file_serving/fileset.rb +7 -5
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +9 -9
- data/lib/puppet/file_serving/mount/file.rb +6 -6
- data/lib/puppet/file_serving/mount/modules.rb +1 -1
- data/lib/puppet/file_serving/mount.rb +1 -1
- data/lib/puppet/file_serving/terminus_selector.rb +1 -1
- data/lib/puppet/file_system/file_impl.rb +2 -2
- data/lib/puppet/file_system/memory_impl.rb +1 -1
- data/lib/puppet/file_system/path_pattern.rb +6 -6
- data/lib/puppet/file_system/uniquefile.rb +2 -2
- data/lib/puppet/file_system/windows.rb +3 -3
- data/lib/puppet/forge/cache.rb +1 -0
- data/lib/puppet/forge/errors.rb +12 -12
- data/lib/puppet/forge/repository.rb +2 -1
- data/lib/puppet/forge.rb +10 -8
- data/lib/puppet/functions/annotate.rb +108 -0
- data/lib/puppet/functions/binary_file.rb +1 -1
- data/lib/puppet/functions/call.rb +42 -0
- data/lib/puppet/functions/defined.rb +4 -4
- data/lib/puppet/functions/dig.rb +1 -1
- data/lib/puppet/functions/eyaml_lookup_key.rb +16 -12
- data/lib/puppet/functions/hiera.rb +9 -2
- data/lib/puppet/functions/hiera_array.rb +9 -2
- data/lib/puppet/functions/hiera_hash.rb +10 -2
- data/lib/puppet/functions/hiera_include.rb +18 -4
- data/lib/puppet/functions/hocon_data.rb +8 -2
- data/lib/puppet/functions/json_data.rb +5 -1
- data/lib/puppet/functions/match.rb +2 -2
- data/lib/puppet/functions/reduce.rb +14 -2
- data/lib/puppet/functions/require.rb +1 -1
- data/lib/puppet/functions/slice.rb +3 -3
- data/lib/puppet/functions/strftime.rb +10 -2
- data/lib/puppet/functions/unique.rb +132 -0
- data/lib/puppet/functions/yaml_data.rb +4 -0
- data/lib/puppet/functions.rb +17 -45
- data/lib/puppet/generate/models/type/type.rb +6 -5
- data/lib/puppet/generate/templates/type/pcore.erb +1 -1
- data/lib/puppet/generate/type.rb +12 -12
- data/lib/puppet/graph/relationship_graph.rb +4 -1
- data/lib/puppet/graph/simple_graph.rb +45 -66
- data/lib/puppet/indirector/catalog/compiler.rb +61 -44
- data/lib/puppet/indirector/catalog/json.rb +18 -0
- data/lib/puppet/indirector/certificate/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/certificate_request/ca.rb +3 -3
- data/lib/puppet/indirector/certificate_request/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/certificate_status/file.rb +6 -6
- data/lib/puppet/indirector/exec.rb +2 -2
- data/lib/puppet/indirector/face.rb +18 -18
- data/lib/puppet/indirector/file_bucket_file/file.rb +9 -8
- data/lib/puppet/indirector/file_metadata/http.rb +1 -1
- data/lib/puppet/indirector/file_server.rb +10 -2
- data/lib/puppet/indirector/hiera.rb +5 -3
- data/lib/puppet/indirector/indirection.rb +13 -15
- data/lib/puppet/indirector/json.rb +11 -12
- data/lib/puppet/indirector/key/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/key/file.rb +2 -2
- data/lib/puppet/indirector/ldap.rb +6 -5
- data/lib/puppet/indirector/memory.rb +1 -1
- data/lib/puppet/indirector/msgpack.rb +8 -7
- data/lib/puppet/indirector/node/exec.rb +8 -6
- data/lib/puppet/indirector/node/ldap.rb +9 -7
- data/lib/puppet/indirector/node/plain.rb +2 -1
- data/lib/puppet/indirector/node/write_only_yaml.rb +6 -1
- data/lib/puppet/indirector/node/yaml.rb +0 -9
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/report/rest.rb +13 -0
- data/lib/puppet/indirector/request.rb +9 -16
- data/lib/puppet/indirector/resource/ral.rb +1 -1
- data/lib/puppet/indirector/resource/validator.rb +1 -1
- data/lib/puppet/indirector/rest.rb +28 -10
- data/lib/puppet/indirector/ssl_file.rb +9 -9
- data/lib/puppet/indirector/terminus.rb +3 -3
- data/lib/puppet/indirector/yaml.rb +5 -5
- data/lib/puppet/indirector.rb +2 -2
- data/lib/puppet/info_service/class_information_service.rb +4 -5
- data/lib/puppet/interface/face_collection.rb +6 -1
- data/lib/puppet/interface.rb +2 -6
- data/lib/puppet/module.rb +12 -7
- data/lib/puppet/module_tool/applications/application.rb +8 -9
- data/lib/puppet/module_tool/applications/builder.rb +5 -6
- data/lib/puppet/module_tool/applications/checksummer.rb +2 -2
- data/lib/puppet/module_tool/applications/installer.rb +11 -10
- data/lib/puppet/module_tool/applications/searcher.rb +1 -1
- data/lib/puppet/module_tool/applications/uninstaller.rb +2 -1
- data/lib/puppet/module_tool/applications/unpacker.rb +3 -3
- data/lib/puppet/module_tool/applications/upgrader.rb +10 -9
- data/lib/puppet/module_tool/contents_description.rb +1 -1
- data/lib/puppet/module_tool/dependency.rb +0 -1
- data/lib/puppet/module_tool/errors/installer.rb +22 -22
- data/lib/puppet/module_tool/errors/shared.rb +44 -42
- data/lib/puppet/module_tool/errors/uninstaller.rb +13 -9
- data/lib/puppet/module_tool/errors/upgrader.rb +11 -11
- data/lib/puppet/module_tool/install_directory.rb +1 -1
- data/lib/puppet/module_tool/installed_modules.rb +3 -3
- data/lib/puppet/module_tool/local_tarball.rb +4 -4
- data/lib/puppet/module_tool/metadata.rb +16 -13
- data/lib/puppet/module_tool/shared_behaviors.rb +6 -6
- data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +1 -1
- data/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +10 -4
- data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +2 -2
- data/lib/puppet/module_tool/skeleton/templates/generator/examples/init.pp.erb +1 -1
- data/lib/puppet/module_tool/tar.rb +5 -4
- data/lib/puppet/module_tool.rb +7 -3
- data/lib/puppet/network/auth_config_parser.rb +12 -11
- data/lib/puppet/network/authconfig.rb +2 -2
- data/lib/puppet/network/authstore.rb +2 -2
- data/lib/puppet/network/format.rb +7 -7
- data/lib/puppet/network/format_handler.rb +12 -9
- data/lib/puppet/network/format_support.rb +11 -5
- data/lib/puppet/network/formats.rb +38 -27
- data/lib/puppet/network/http/api/indirected_routes.rb +72 -33
- data/lib/puppet/network/http/api/master/v3/environment.rb +33 -14
- data/lib/puppet/network/http/compression.rb +10 -7
- data/lib/puppet/network/http/connection.rb +19 -15
- data/lib/puppet/network/http/error.rb +14 -10
- data/lib/puppet/network/http/handler.rb +8 -4
- data/lib/puppet/network/http/issues.rb +1 -0
- data/lib/puppet/network/http/pool.rb +1 -1
- data/lib/puppet/network/http/rack/rest.rb +3 -2
- data/lib/puppet/network/http/rack.rb +2 -2
- data/lib/puppet/network/http/request.rb +34 -20
- data/lib/puppet/network/http/response.rb +13 -1
- data/lib/puppet/network/http/webrick/rest.rb +2 -2
- data/lib/puppet/network/http/webrick.rb +5 -5
- data/lib/puppet/network/rights.rb +6 -6
- data/lib/puppet/network/server.rb +2 -2
- data/lib/puppet/node/environment.rb +21 -4
- data/lib/puppet/node/facts.rb +0 -5
- data/lib/puppet/node.rb +25 -13
- data/lib/puppet/parameter/package_options.rb +1 -1
- data/lib/puppet/parameter/path.rb +3 -3
- data/lib/puppet/parameter/value_collection.rb +4 -4
- data/lib/puppet/parameter.rb +3 -28
- data/lib/puppet/parser/ast/node.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +3 -3
- data/lib/puppet/parser/ast/resource.rb +1 -1
- data/lib/puppet/parser/ast/resource_instance.rb +1 -1
- data/lib/puppet/parser/ast/resourceparam.rb +1 -1
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +2 -2
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +6 -9
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +1 -1
- data/lib/puppet/parser/compiler.rb +44 -113
- data/lib/puppet/parser/e4_parser_adapter.rb +1 -2
- data/lib/puppet/parser/environment_compiler.rb +13 -15
- data/lib/puppet/parser/functions/contain.rb +1 -1
- data/lib/puppet/parser/functions/create_resources.rb +11 -3
- data/lib/puppet/parser/functions/file.rb +1 -1
- data/lib/puppet/parser/functions/generate.rb +5 -4
- data/lib/puppet/parser/functions/hiera_include.rb +1 -1
- data/lib/puppet/parser/functions/include.rb +2 -1
- data/lib/puppet/parser/functions/inline_template.rb +1 -1
- data/lib/puppet/parser/functions/new.rb +14 -1
- data/lib/puppet/parser/functions/require.rb +1 -1
- data/lib/puppet/parser/functions.rb +6 -6
- data/lib/puppet/parser/parser_factory.rb +0 -30
- data/lib/puppet/parser/relationship.rb +49 -20
- data/lib/puppet/parser/resource/param.rb +0 -3
- data/lib/puppet/parser/resource.rb +31 -30
- data/lib/puppet/parser/scope.rb +124 -170
- data/lib/puppet/parser/templatewrapper.rb +2 -2
- data/lib/puppet/parser/type_loader.rb +1 -1
- data/lib/puppet/plugins/configuration.rb +15 -67
- data/lib/puppet/plugins/syntax_checkers.rb +6 -11
- data/lib/puppet/pops/adaptable.rb +8 -3
- data/lib/puppet/pops/adapters.rb +33 -87
- data/lib/puppet/pops/evaluator/access_operator.rb +10 -39
- data/lib/puppet/pops/evaluator/collector_transformer.rb +9 -14
- data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +2 -2
- data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +3 -3
- data/lib/puppet/pops/evaluator/compare_operator.rb +7 -7
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -1
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +45 -37
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +2 -9
- data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +0 -2
- data/lib/puppet/pops/evaluator/puppet_proc.rb +1 -1
- data/lib/puppet/pops/evaluator/relationship_operator.rb +26 -9
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +17 -1
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +0 -2
- data/lib/puppet/pops/evaluator/runtime3_support.rb +44 -30
- data/lib/puppet/pops/functions/dispatch.rb +1 -6
- data/lib/puppet/pops/issues.rb +189 -161
- data/lib/puppet/pops/loader/base_loader.rb +2 -2
- data/lib/puppet/pops/loader/gem_support.rb +2 -2
- data/lib/puppet/pops/loader/loader.rb +4 -0
- data/lib/puppet/pops/loader/module_loaders.rb +59 -10
- data/lib/puppet/pops/loader/predefined_loader.rb +1 -6
- data/lib/puppet/pops/loader/puppet_function_instantiator.rb +8 -8
- data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +9 -10
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +3 -3
- data/lib/puppet/pops/loader/static_loader.rb +32 -63
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +8 -8
- data/lib/puppet/pops/loader/typed_name.rb +6 -0
- data/lib/puppet/pops/loaders.rb +22 -20
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/data_provider.rb +3 -18
- data/lib/puppet/pops/lookup/environment_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/global_data_provider.rb +7 -10
- data/lib/puppet/pops/lookup/hiera_config.rb +13 -34
- data/lib/puppet/pops/lookup/interpolation.rb +9 -8
- data/lib/puppet/pops/lookup/invocation.rb +13 -3
- data/lib/puppet/pops/lookup/lookup_adapter.rb +30 -69
- data/lib/puppet/pops/lookup/lookup_key.rb +2 -2
- data/lib/puppet/pops/lookup/module_data_provider.rb +11 -3
- data/lib/puppet/pops/lookup/sub_lookup.rb +12 -10
- data/lib/puppet/pops/lookup.rb +7 -5
- data/lib/puppet/pops/merge_strategy.rb +16 -1
- data/lib/puppet/pops/model/ast.pp +692 -0
- data/lib/puppet/pops/model/ast.rb +4833 -0
- data/lib/puppet/pops/model/ast_transformer.rb +9 -10
- data/lib/puppet/pops/model/factory.rb +454 -527
- data/lib/puppet/pops/model/model_label_provider.rb +3 -2
- data/lib/puppet/pops/model/model_tree_dumper.rb +8 -7
- data/lib/puppet/pops/parser/egrammar.ra +66 -60
- data/lib/puppet/pops/parser/eparser.rb +1483 -1578
- data/lib/puppet/pops/parser/evaluating_parser.rb +5 -5
- data/lib/puppet/pops/parser/interpolation_support.rb +4 -4
- data/lib/puppet/pops/parser/lexer2.rb +27 -36
- data/lib/puppet/pops/parser/locator.rb +39 -16
- data/lib/puppet/pops/parser/parser_support.rb +25 -29
- data/lib/puppet/pops/pcore.rb +28 -21
- data/lib/puppet/pops/resource/param.rb +1 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +3 -3
- data/lib/puppet/pops/semantic_error.rb +12 -0
- data/lib/puppet/pops/serialization/abstract_writer.rb +9 -1
- data/lib/puppet/pops/serialization/deserializer.rb +8 -5
- data/lib/puppet/pops/serialization/from_data_converter.rb +181 -0
- data/lib/puppet/pops/serialization/json.rb +4 -4
- data/lib/puppet/pops/serialization/json_path.rb +126 -0
- data/lib/puppet/pops/serialization/object.rb +6 -6
- data/lib/puppet/pops/serialization/serializer.rb +32 -11
- data/lib/puppet/pops/serialization/to_data_converter.rb +292 -0
- data/lib/puppet/pops/serialization.rb +25 -1
- data/lib/puppet/pops/time/timespan.rb +11 -11
- data/lib/puppet/pops/time/timestamp.rb +8 -8
- data/lib/puppet/pops/types/annotatable.rb +7 -7
- data/lib/puppet/pops/types/annotation.rb +71 -0
- data/lib/puppet/pops/types/class_loader.rb +4 -6
- data/lib/puppet/pops/types/enumeration.rb +2 -2
- data/lib/puppet/pops/types/iterable.rb +2 -2
- data/lib/puppet/pops/types/p_binary_type.rb +7 -1
- data/lib/puppet/pops/types/p_meta_type.rb +16 -12
- data/lib/puppet/pops/types/p_object_type.rb +135 -96
- data/lib/puppet/pops/types/p_runtime_type.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +6 -2
- data/lib/puppet/pops/types/p_timespan_type.rb +55 -4
- data/lib/puppet/pops/types/p_type_set_type.rb +44 -36
- data/lib/puppet/pops/types/puppet_object.rb +13 -3
- data/lib/puppet/pops/types/ruby_generator.rb +291 -127
- data/lib/puppet/pops/types/ruby_method.rb +31 -0
- data/lib/puppet/pops/types/string_converter.rb +125 -59
- data/lib/puppet/pops/types/type_calculator.rb +55 -93
- data/lib/puppet/pops/types/type_factory.rb +34 -6
- data/lib/puppet/pops/types/type_formatter.rb +63 -15
- data/lib/puppet/pops/types/type_mismatch_describer.rb +8 -7
- data/lib/puppet/pops/types/type_parser.rb +28 -13
- data/lib/puppet/pops/types/type_set_reference.rb +7 -7
- data/lib/puppet/pops/types/types.rb +186 -186
- data/lib/puppet/pops/utils.rb +0 -24
- data/lib/puppet/pops/validation/checker4_0.rb +89 -75
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
- data/lib/puppet/pops/validation.rb +3 -9
- data/lib/puppet/pops/visitor.rb +21 -0
- data/lib/puppet/pops.rb +7 -37
- data/lib/puppet/property/ensure.rb +3 -3
- data/lib/puppet/property/list.rb +1 -10
- data/lib/puppet/property.rb +17 -14
- data/lib/puppet/provider/aixobject.rb +7 -7
- data/lib/puppet/provider/augeas/augeas.rb +37 -37
- data/lib/puppet/provider/command.rb +1 -1
- data/lib/puppet/provider/cron/crontab.rb +2 -2
- data/lib/puppet/provider/exec/posix.rb +4 -4
- data/lib/puppet/provider/exec/windows.rb +3 -3
- data/lib/puppet/provider/exec.rb +4 -4
- data/lib/puppet/provider/file/posix.rb +5 -5
- data/lib/puppet/provider/file/windows.rb +4 -4
- data/lib/puppet/provider/group/aix.rb +2 -2
- data/lib/puppet/provider/group/groupadd.rb +2 -2
- data/lib/puppet/provider/group/pw.rb +1 -1
- data/lib/puppet/provider/host/parsed.rb +1 -1
- data/lib/puppet/provider/macauthorization/macauthorization.rb +9 -9
- data/lib/puppet/provider/maillist/mailman.rb +2 -2
- data/lib/puppet/provider/mcx/mcxcontent.rb +3 -3
- data/lib/puppet/provider/mount/parsed.rb +10 -8
- data/lib/puppet/provider/mount.rb +2 -1
- data/lib/puppet/provider/naginator.rb +1 -1
- data/lib/puppet/provider/nameservice/directoryservice.rb +11 -11
- data/lib/puppet/provider/nameservice.rb +18 -10
- data/lib/puppet/provider/network_device.rb +2 -1
- data/lib/puppet/provider/package/aix.rb +5 -5
- 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 +4 -4
- data/lib/puppet/provider/package/aptitude.rb +1 -1
- data/lib/puppet/provider/package/aptrpm.rb +2 -2
- data/lib/puppet/provider/package/blastwave.rb +4 -4
- data/lib/puppet/provider/package/dpkg.rb +3 -3
- data/lib/puppet/provider/package/fink.rb +3 -3
- data/lib/puppet/provider/package/freebsd.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +6 -6
- data/lib/puppet/provider/package/hpux.rb +1 -1
- data/lib/puppet/provider/package/nim.rb +15 -12
- data/lib/puppet/provider/package/openbsd.rb +4 -4
- data/lib/puppet/provider/package/opkg.rb +1 -1
- data/lib/puppet/provider/package/pacman.rb +9 -9
- data/lib/puppet/provider/package/pkg.rb +9 -9
- data/lib/puppet/provider/package/pkgdmg.rb +4 -4
- data/lib/puppet/provider/package/pkgin.rb +3 -3
- data/lib/puppet/provider/package/pkgng.rb +1 -1
- data/lib/puppet/provider/package/pkgutil.rb +6 -6
- data/lib/puppet/provider/package/portage.rb +167 -59
- data/lib/puppet/provider/package/ports.rb +3 -3
- data/lib/puppet/provider/package/portupgrade.rb +4 -4
- data/lib/puppet/provider/package/rpm.rb +7 -4
- data/lib/puppet/provider/package/rug.rb +1 -1
- data/lib/puppet/provider/package/sun.rb +3 -2
- data/lib/puppet/provider/package/up2date.rb +1 -1
- data/lib/puppet/provider/package/urpmi.rb +1 -1
- data/lib/puppet/provider/package/windows/package.rb +3 -3
- data/lib/puppet/provider/package/windows.rb +4 -4
- data/lib/puppet/provider/package/yum.rb +13 -13
- data/lib/puppet/provider/package/zypper.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +1 -1
- data/lib/puppet/provider/service/upstart.rb +0 -2
- data/lib/puppet/provider/user/aix.rb +1 -1
- data/lib/puppet/provider/user/ldap.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +1 -1
- data/lib/puppet/provider/yumrepo/inifile.rb +3 -3
- data/lib/puppet/provider.rb +2 -0
- data/lib/puppet/reference/configuration.rb +1 -1
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/reference/metaparameter.rb +1 -1
- data/lib/puppet/reference/providers.rb +6 -6
- data/lib/puppet/reference/type.rb +2 -2
- data/lib/puppet/relationship.rb +7 -9
- data/lib/puppet/reports/http.rb +6 -2
- data/lib/puppet/resource/capability_finder.rb +2 -2
- data/lib/puppet/resource/catalog.rb +26 -41
- data/lib/puppet/resource/status.rb +13 -24
- data/lib/puppet/resource/type.rb +13 -61
- data/lib/puppet/resource/type_collection.rb +30 -23
- data/lib/puppet/resource.rb +85 -108
- data/lib/puppet/settings/array_setting.rb +1 -1
- data/lib/puppet/settings/autosign_setting.rb +1 -1
- data/lib/puppet/settings/boolean_setting.rb +1 -1
- data/lib/puppet/settings/config_file.rb +2 -2
- data/lib/puppet/settings/duration_setting.rb +1 -1
- data/lib/puppet/settings/enum_setting.rb +1 -1
- data/lib/puppet/settings/environment_conf.rb +2 -2
- data/lib/puppet/settings/file_setting.rb +2 -2
- data/lib/puppet/settings/priority_setting.rb +1 -1
- data/lib/puppet/settings/server_list_setting.rb +1 -1
- data/lib/puppet/settings/symbolic_enum_setting.rb +1 -1
- data/lib/puppet/settings/terminus_setting.rb +1 -1
- data/lib/puppet/settings/ttl_setting.rb +2 -2
- data/lib/puppet/settings.rb +1 -1
- data/lib/puppet/ssl/base.rb +2 -2
- data/lib/puppet/ssl/certificate_authority/interface.rb +13 -13
- data/lib/puppet/ssl/certificate_authority.rb +21 -21
- data/lib/puppet/ssl/certificate_factory.rb +2 -2
- data/lib/puppet/ssl/certificate_request.rb +14 -14
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
- data/lib/puppet/ssl/certificate_revocation_list.rb +3 -3
- data/lib/puppet/ssl/host.rb +29 -29
- data/lib/puppet/ssl/inventory.rb +1 -1
- data/lib/puppet/ssl/key.rb +1 -1
- data/lib/puppet/ssl/oids.rb +5 -5
- data/lib/puppet/ssl/validator/default_validator.rb +3 -4
- data/lib/puppet/syntax_checkers/base64.rb +7 -7
- data/lib/puppet/syntax_checkers/json.rb +5 -5
- data/lib/puppet/test/test_helper.rb +0 -4
- data/lib/puppet/transaction/additional_resource_generator.rb +4 -3
- data/lib/puppet/transaction/event.rb +19 -8
- data/lib/puppet/transaction/event_manager.rb +6 -6
- data/lib/puppet/transaction/persistence.rb +6 -6
- data/lib/puppet/transaction/report.rb +35 -41
- data/lib/puppet/transaction/resource_harness.rb +14 -12
- data/lib/puppet/transaction.rb +38 -20
- data/lib/puppet/type/augeas.rb +2 -2
- data/lib/puppet/type/cron.rb +14 -31
- data/lib/puppet/type/exec.rb +48 -42
- data/lib/puppet/type/file/content.rb +1 -1
- data/lib/puppet/type/file/group.rb +3 -3
- data/lib/puppet/type/file/mode.rb +10 -6
- data/lib/puppet/type/file/owner.rb +3 -3
- data/lib/puppet/type/file/selcontext.rb +18 -1
- data/lib/puppet/type/file/source.rb +14 -4
- data/lib/puppet/type/file.rb +21 -22
- data/lib/puppet/type/filebucket.rb +3 -8
- data/lib/puppet/type/group.rb +2 -2
- data/lib/puppet/type/host.rb +6 -6
- data/lib/puppet/type/interface.rb +1 -1
- data/lib/puppet/type/k5login.rb +1 -1
- data/lib/puppet/type/macauthorization.rb +1 -1
- data/lib/puppet/type/mailalias.rb +2 -18
- data/lib/puppet/type/maillist.rb +1 -1
- data/lib/puppet/type/mount.rb +8 -8
- data/lib/puppet/type/notify.rb +2 -0
- data/lib/puppet/type/package.rb +5 -5
- data/lib/puppet/type/resources.rb +6 -6
- data/lib/puppet/type/schedule.rb +9 -9
- data/lib/puppet/type/scheduled_task.rb +4 -4
- data/lib/puppet/type/service.rb +1 -1
- data/lib/puppet/type/ssh_authorized_key.rb +3 -19
- data/lib/puppet/type/sshkey.rb +4 -4
- data/lib/puppet/type/tidy.rb +15 -11
- data/lib/puppet/type/user.rb +29 -27
- data/lib/puppet/type/yumrepo.rb +8 -8
- data/lib/puppet/type/zone.rb +7 -7
- data/lib/puppet/type/zpool.rb +3 -3
- data/lib/puppet/type.rb +0 -6
- data/lib/puppet/util/at_fork/noop.rb +18 -0
- data/lib/puppet/util/at_fork/solaris.rb +158 -0
- data/lib/puppet/util/at_fork.rb +35 -0
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/backups.rb +6 -6
- data/lib/puppet/util/character_encoding.rb +77 -74
- data/lib/puppet/util/classgen.rb +4 -4
- data/lib/puppet/util/command_line/puppet_option_parser.rb +3 -3
- data/lib/puppet/util/command_line/trollop.rb +31 -31
- data/lib/puppet/util/command_line.rb +4 -4
- data/lib/puppet/util/diff.rb +1 -1
- data/lib/puppet/util/errors.rb +4 -4
- data/lib/puppet/util/execution.rb +8 -8
- data/lib/puppet/util/feature.rb +5 -5
- data/lib/puppet/util/fileparsing.rb +8 -8
- data/lib/puppet/util/filetype.rb +15 -15
- data/lib/puppet/util/http_proxy.rb +1 -1
- data/lib/puppet/util/inifile.rb +4 -4
- data/lib/puppet/util/instance_loader.rb +1 -1
- data/lib/puppet/util/json_lockfile.rb +4 -4
- data/lib/puppet/util/ldap/connection.rb +2 -2
- data/lib/puppet/util/ldap/manager.rb +2 -2
- data/lib/puppet/util/limits.rb +1 -1
- data/lib/puppet/util/log/destinations.rb +10 -16
- data/lib/puppet/util/log.rb +23 -16
- data/lib/puppet/util/logging.rb +11 -8
- data/lib/puppet/util/metric.rb +9 -6
- data/lib/puppet/util/monkey_patches.rb +30 -67
- data/lib/puppet/util/network_device/cisco/device.rb +7 -7
- data/lib/puppet/util/network_device/cisco/interface.rb +1 -1
- data/lib/puppet/util/network_device/config.rb +6 -6
- data/lib/puppet/util/network_device/transport/ssh.rb +6 -6
- data/lib/puppet/util/network_device.rb +1 -1
- data/lib/puppet/util/plist.rb +4 -2
- data/lib/puppet/util/posix.rb +5 -5
- data/lib/puppet/util/profiler/wall_clock.rb +1 -1
- data/lib/puppet/util/provider_features.rb +1 -1
- data/lib/puppet/util/psych_support.rb +3 -11
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -1
- data/lib/puppet/util/rdoc.rb +4 -4
- data/lib/puppet/util/reference.rb +5 -5
- data/lib/puppet/util/resource_template.rb +1 -1
- data/lib/puppet/util/retry_action.rb +2 -2
- data/lib/puppet/util/selinux.rb +54 -12
- data/lib/puppet/util/splayer.rb +1 -1
- data/lib/puppet/util/storage.rb +5 -5
- data/lib/puppet/util/suidmanager.rb +4 -4
- data/lib/puppet/util/symbolic_file_mode.rb +9 -9
- data/lib/puppet/util/tag_set.rb +1 -4
- data/lib/puppet/util/tagging.rb +2 -2
- data/lib/puppet/util/windows/adsi.rb +14 -14
- data/lib/puppet/util/windows/api_types.rb +5 -2
- data/lib/puppet/util/windows/com.rb +4 -4
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/eventlog.rb +192 -0
- data/lib/puppet/util/windows/file.rb +4 -4
- data/lib/puppet/util/windows/principal.rb +6 -5
- data/lib/puppet/util/windows/process.rb +5 -5
- data/lib/puppet/util/windows/registry.rb +11 -11
- data/lib/puppet/util/windows/root_certs.rb +1 -1
- data/lib/puppet/util/windows/security.rb +14 -14
- data/lib/puppet/util/windows/sid.rb +6 -6
- data/lib/puppet/util/windows/taskscheduler.rb +62 -62
- data/lib/puppet/util/windows/user.rb +6 -6
- data/lib/puppet/util/windows.rb +2 -0
- data/lib/puppet/util.rb +138 -14
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +1 -1
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +122 -114
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +678 -342
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +2 -10
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet.rb +47 -33
- data/locales/config.yaml +1 -1
- data/locales/puppet.pot +7931 -29
- data/man/man5/puppet.conf.5 +0 -22
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/metadata.json +9 -0
- data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/metadata.json +9 -0
- data/spec/integration/application/apply_spec.rb +29 -22
- data/spec/integration/configurer_spec.rb +1 -1
- data/spec/integration/defaults_spec.rb +2 -2
- data/spec/integration/faces/documentation_spec.rb +2 -2
- data/spec/integration/indirector/file_content/file_server_spec.rb +1 -0
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +1 -0
- data/spec/integration/parser/catalog_spec.rb +1 -1
- data/spec/integration/parser/class_spec.rb +6 -6
- data/spec/integration/parser/compiler_spec.rb +184 -142
- data/spec/integration/parser/dynamic_scoping_spec.rb +0 -1
- data/spec/integration/parser/pcore_resource_spec.rb +15 -0
- data/spec/integration/parser/scope_spec.rb +53 -4
- data/spec/integration/resource/catalog_spec.rb +0 -4
- data/spec/integration/resource/type_collection_spec.rb +6 -0
- data/spec/integration/transaction/report_spec.rb +2 -2
- data/spec/integration/transaction_spec.rb +2 -2
- data/spec/integration/type/file_spec.rb +29 -0
- data/spec/integration/type/package_spec.rb +7 -1
- data/spec/lib/matchers/json.rb +3 -3
- data/spec/lib/puppet/face/1.0.0/huzzah.rb +1 -1
- data/spec/lib/puppet/face/basetest.rb +1 -1
- data/spec/lib/puppet/face/huzzah.rb +1 -1
- data/spec/lib/puppet/face/version_matching.rb +1 -1
- data/spec/lib/puppet/indirector_testing.rb +4 -0
- data/spec/lib/puppet_spec/character_encoding.rb +12 -0
- data/spec/lib/puppet_spec/compiler.rb +8 -1
- data/spec/lib/puppet_spec/modules.rb +2 -2
- data/spec/lib/puppet_spec/network.rb +10 -6
- data/spec/shared_contexts/types_setup.rb +52 -15
- data/spec/shared_examples/rhel_package_provider.rb +10 -11
- data/spec/spec_helper.rb +0 -11
- data/spec/unit/agent_spec.rb +12 -1
- data/spec/unit/application/agent_spec.rb +7 -0
- data/spec/unit/application/apply_spec.rb +28 -13
- data/spec/unit/application/describe_spec.rb +19 -0
- data/spec/unit/application/device_spec.rb +41 -2
- data/spec/unit/application/face_base_spec.rb +6 -6
- data/spec/unit/application/master_spec.rb +22 -6
- data/spec/unit/application/resource_spec.rb +39 -1
- data/spec/unit/application_spec.rb +0 -6
- data/spec/unit/capability_spec.rb +2 -6
- data/spec/unit/configurer/fact_handler_spec.rb +76 -20
- data/spec/unit/configurer/plugin_handler_spec.rb +13 -19
- data/spec/unit/configurer_spec.rb +36 -19
- data/spec/unit/defaults_spec.rb +0 -30
- data/spec/unit/etc_spec.rb +361 -153
- data/spec/unit/face/module/list_spec.rb +60 -0
- data/spec/unit/file_bucket/file_spec.rb +3 -3
- data/spec/unit/file_serving/http_metadata_spec.rb +1 -1
- data/spec/unit/file_serving/metadata_spec.rb +35 -9
- data/spec/unit/forge/forge_spec.rb +112 -0
- data/spec/unit/forge/repository_spec.rb +4 -4
- data/spec/unit/functions/annotate_spec.rb +175 -0
- data/spec/unit/functions/break_spec.rb +29 -1
- data/spec/unit/functions/call_spec.rb +77 -0
- data/spec/unit/functions/contain_spec.rb +1 -1
- data/spec/unit/functions/lookup_fixture_spec.rb +1 -6
- data/spec/unit/functions/lookup_spec.rb +208 -3
- data/spec/unit/functions/new_spec.rb +1 -1
- data/spec/unit/functions/unique_spec.rb +111 -0
- data/spec/unit/functions4_spec.rb +2 -43
- data/spec/unit/graph/simple_graph_spec.rb +58 -55
- data/spec/unit/indirector/catalog/compiler_spec.rb +213 -153
- data/spec/unit/indirector/catalog/json_spec.rb +50 -1
- data/spec/unit/indirector/facts/facter_spec.rb +1 -2
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +1 -1
- data/spec/unit/indirector/file_server_spec.rb +17 -2
- data/spec/unit/indirector/indirection_spec.rb +1 -36
- data/spec/unit/indirector/json_spec.rb +27 -6
- data/spec/unit/indirector/node/exec_spec.rb +12 -12
- data/spec/unit/indirector/node/ldap_spec.rb +29 -8
- data/spec/unit/indirector/node/plain_spec.rb +16 -6
- data/spec/unit/indirector/node/write_only_yaml_spec.rb +12 -0
- data/spec/unit/indirector/report/processor_spec.rb +2 -2
- data/spec/unit/indirector/report/rest_spec.rb +29 -3
- data/spec/unit/indirector/request_spec.rb +15 -4
- data/spec/unit/indirector/rest_spec.rb +57 -15
- data/spec/unit/interface/face_collection_spec.rb +7 -7
- data/spec/unit/module_spec.rb +10 -2
- data/spec/unit/module_tool/applications/installer_spec.rb +0 -1
- data/spec/unit/module_tool/applications/upgrader_spec.rb +0 -1
- data/spec/unit/module_tool/tar_spec.rb +16 -10
- data/spec/unit/network/format_handler_spec.rb +11 -11
- data/spec/unit/network/format_spec.rb +9 -0
- data/spec/unit/network/formats_spec.rb +322 -138
- data/spec/unit/network/http/api/indirected_routes_spec.rb +65 -55
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +128 -2
- data/spec/unit/network/http/api/master/v3_spec.rb +1 -1
- data/spec/unit/network/http/api_spec.rb +1 -1
- data/spec/unit/network/http/compression_spec.rb +105 -88
- data/spec/unit/network/http/error_spec.rb +1 -2
- data/spec/unit/network/http/handler_spec.rb +8 -12
- data/spec/unit/network/http/rack/rest_spec.rb +3 -3
- data/spec/unit/network/http/request_spec.rb +110 -0
- data/spec/unit/network/http/response_spec.rb +108 -0
- data/spec/unit/node/facts_spec.rb +13 -13
- data/spec/unit/node_spec.rb +33 -10
- data/spec/unit/parameter_spec.rb +73 -5
- data/spec/unit/parser/compiler_spec.rb +1 -1
- data/spec/unit/parser/environment_compiler_spec.rb +0 -2
- data/spec/unit/parser/functions/create_resources_spec.rb +47 -6
- data/spec/unit/parser/resource_spec.rb +86 -24
- data/spec/unit/parser/scope_spec.rb +10 -79
- data/spec/unit/pops/benchmark_spec.rb +8 -26
- data/spec/unit/pops/containment_spec.rb +0 -26
- data/spec/unit/pops/evaluator/access_ops_spec.rb +103 -103
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +59 -6
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +5 -5
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +26 -26
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +59 -7
- data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +7 -7
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +36 -1
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +10 -10
- data/spec/unit/pops/evaluator/variables_spec.rb +1 -1
- data/spec/unit/pops/factory_rspec_helper.rb +0 -4
- data/spec/unit/pops/factory_spec.rb +83 -83
- data/spec/unit/pops/loaders/loaders_spec.rb +209 -79
- data/spec/unit/pops/loaders/static_loader_spec.rb +2 -6
- data/spec/unit/pops/lookup/interpolation_spec.rb +50 -10
- data/spec/unit/pops/lookup/lookup_spec.rb +32 -0
- data/spec/unit/pops/model/model_spec.rb +10 -10
- data/spec/unit/pops/parser/epp_parser_spec.rb +1 -1
- data/spec/unit/pops/parser/lexer2_spec.rb +32 -29
- data/spec/unit/pops/parser/{source_pos_adapter_spec.rb → locator_spec.rb} +9 -11
- data/spec/unit/pops/parser/parse_application_spec.rb +0 -3
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +4 -4
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -3
- data/spec/unit/pops/parser/parse_containers_spec.rb +17 -19
- data/spec/unit/pops/parser/parse_site_spec.rb +0 -3
- data/spec/unit/pops/parser/parser_spec.rb +8 -10
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -3
- data/spec/unit/pops/serialization/serialization_spec.rb +117 -5
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +494 -0
- data/spec/unit/pops/time/timestamp_spec.rb +13 -0
- data/spec/unit/pops/types/iterable_spec.rb +1 -1
- data/spec/unit/pops/types/p_object_type_spec.rb +100 -14
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +12 -17
- data/spec/unit/pops/types/p_timestamp_type_spec.rb +8 -8
- data/spec/unit/pops/types/p_type_set_type_spec.rb +4 -12
- data/spec/unit/pops/types/ruby_generator_spec.rb +57 -20
- data/spec/unit/pops/types/string_converter_spec.rb +119 -16
- data/spec/unit/pops/types/type_acceptor_spec.rb +2 -2
- data/spec/unit/pops/types/type_calculator_spec.rb +211 -87
- data/spec/unit/pops/types/type_factory_spec.rb +9 -9
- data/spec/unit/pops/types/type_formatter_spec.rb +32 -19
- data/spec/unit/pops/types/type_parser_spec.rb +6 -6
- data/spec/unit/pops/types/types_spec.rb +53 -2
- data/spec/unit/pops/validator/validator_spec.rb +53 -61
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/property/list_spec.rb +2 -2
- data/spec/unit/provider/augeas/augeas_spec.rb +1 -1
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +2 -0
- data/spec/unit/provider/nameservice_spec.rb +113 -3
- data/spec/unit/provider/package/portage_spec.rb +103 -17
- data/spec/unit/provider/package/rpm_spec.rb +14 -1
- data/spec/unit/provider/user/directoryservice_spec.rb +7 -7
- data/spec/unit/provider/user/useradd_spec.rb +13 -0
- data/spec/unit/puppet_spec.rb +2 -3
- data/spec/unit/relationship_spec.rb +15 -36
- data/spec/unit/reports/http_spec.rb +11 -8
- data/spec/unit/resource/catalog_spec.rb +81 -53
- data/spec/unit/resource/status_spec.rb +114 -103
- data/spec/unit/resource/type_collection_spec.rb +5 -5
- data/spec/unit/resource/type_spec.rb +4 -71
- data/spec/unit/resource_spec.rb +30 -34
- data/spec/unit/settings_spec.rb +4 -2
- data/spec/unit/ssl/host_spec.rb +34 -34
- data/spec/unit/status_spec.rb +7 -7
- data/spec/unit/transaction/event_spec.rb +18 -15
- data/spec/unit/transaction/report_spec.rb +100 -62
- data/spec/unit/transaction/resource_harness_spec.rb +3 -3
- data/spec/unit/transaction_spec.rb +53 -8
- data/spec/unit/type/file/group_spec.rb +2 -2
- data/spec/unit/type/file/mode_spec.rb +9 -9
- data/spec/unit/type/file/owner_spec.rb +2 -2
- data/spec/unit/type/file/selinux_spec.rb +2 -0
- data/spec/unit/type/file/source_spec.rb +13 -0
- data/spec/unit/type/file_spec.rb +46 -0
- data/spec/unit/type/ssh_authorized_key_spec.rb +2 -2
- data/spec/unit/type/user_spec.rb +2 -4
- data/spec/unit/util/at_fork_spec.rb +150 -0
- data/spec/unit/util/character_encoding_spec.rb +193 -52
- data/spec/unit/util/execution_spec.rb +31 -2
- data/spec/unit/util/log/destinations_spec.rb +5 -6
- data/spec/unit/util/log_spec.rb +62 -17
- data/spec/unit/util/metric_spec.rb +9 -2
- data/spec/unit/util/monkey_patches_spec.rb +6 -188
- data/spec/unit/util/run_mode_spec.rb +17 -10
- data/spec/unit/util/tag_set_spec.rb +2 -2
- data/spec/unit/util/tagging_spec.rb +55 -0
- data/spec/unit/util/windows/eventlog_spec.rb +123 -0
- data/spec/unit/util_spec.rb +237 -2
- data/tasks/benchmark.rake +3 -3
- data/tasks/cfpropertylist.rake +1 -1
- data/tasks/generate_ast_model.rake +78 -0
- metadata +3386 -3635
- checksums.yaml +0 -7
- data/bin/extlookup2hiera +0 -56
- data/ext/emacs/puppet-mode-init.el +0 -6
- data/ext/emacs/puppet-mode.el +0 -433
- data/ext/vim/README +0 -3
- data/ext/vim/ftdetect/puppet.vim +0 -2
- data/ext/vim/ftplugin/puppet.vim +0 -94
- data/ext/vim/indent/puppet.vim +0 -76
- data/ext/vim/syntax/puppet.vim +0 -115
- data/lib/puppet/application/file.rb +0 -4
- data/lib/puppet/application/inspect.rb +0 -182
- data/lib/puppet/application/resource_type.rb +0 -7
- data/lib/puppet/data_providers/data_adapter.rb +0 -37
- data/lib/puppet/data_providers/data_function_support.rb +0 -32
- data/lib/puppet/data_providers/function_env_data_provider.rb +0 -26
- data/lib/puppet/data_providers/function_module_data_provider.rb +0 -24
- data/lib/puppet/data_providers/hiera_config.rb +0 -151
- data/lib/puppet/data_providers/hiera_env_data_provider.rb +0 -25
- data/lib/puppet/data_providers/hiera_interpolate.rb +0 -21
- data/lib/puppet/data_providers/hiera_module_data_provider.rb +0 -30
- data/lib/puppet/data_providers/hiera_support.rb +0 -42
- data/lib/puppet/data_providers/json_data_provider_factory.rb +0 -38
- data/lib/puppet/data_providers/yaml_data_provider_factory.rb +0 -40
- data/lib/puppet/data_providers.rb +0 -34
- data/lib/puppet/face/file/download.rb +0 -56
- data/lib/puppet/face/file/store.rb +0 -21
- data/lib/puppet/face/file.rb +0 -50
- data/lib/puppet/face/resource_type.rb +0 -84
- data/lib/puppet/feature/cfacter.rb +0 -15
- data/lib/puppet/feature/external_facts.rb +0 -5
- data/lib/puppet/indirector/catalog/static_compiler.rb +0 -232
- data/lib/puppet/indirector/resource_type/parser.rb +0 -108
- data/lib/puppet/indirector/resource_type/rest.rb +0 -7
- data/lib/puppet/indirector/resource_type.rb +0 -5
- data/lib/puppet/parser/yaml_trimmer.rb +0 -7
- data/lib/puppet/plugins/binding_schemes.rb +0 -140
- data/lib/puppet/plugins/data_providers/data_provider.rb +0 -406
- data/lib/puppet/plugins/data_providers/registry.rb +0 -51
- data/lib/puppet/plugins/data_providers.rb +0 -45
- data/lib/puppet/pops/binder/binder.rb +0 -398
- data/lib/puppet/pops/binder/binder_issues.rb +0 -124
- data/lib/puppet/pops/binder/bindings_checker.rb +0 -201
- data/lib/puppet/pops/binder/bindings_composer.rb +0 -181
- data/lib/puppet/pops/binder/bindings_factory.rb +0 -813
- data/lib/puppet/pops/binder/bindings_label_provider.rb +0 -45
- data/lib/puppet/pops/binder/bindings_loader.rb +0 -87
- data/lib/puppet/pops/binder/bindings_model.rb +0 -70
- data/lib/puppet/pops/binder/bindings_model_dumper.rb +0 -215
- data/lib/puppet/pops/binder/bindings_model_meta.rb +0 -215
- data/lib/puppet/pops/binder/bindings_validator_factory.rb +0 -28
- data/lib/puppet/pops/binder/config/binder_config.rb +0 -107
- data/lib/puppet/pops/binder/config/binder_config_checker.rb +0 -142
- data/lib/puppet/pops/binder/config/diagnostic_producer.rb +0 -36
- data/lib/puppet/pops/binder/config/issues.rb +0 -90
- data/lib/puppet/pops/binder/injector.rb +0 -771
- data/lib/puppet/pops/binder/injector_entry.rb +0 -57
- data/lib/puppet/pops/binder/key_factory.rb +0 -65
- data/lib/puppet/pops/binder/producers.rb +0 -831
- data/lib/puppet/pops/binder/scheme_handler/confdir_scheme.rb +0 -34
- data/lib/puppet/pops/binder/scheme_handler/module_scheme.rb +0 -143
- data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +0 -53
- data/lib/puppet/pops/binder/system_bindings.rb +0 -60
- data/lib/puppet/pops/containment.rb +0 -104
- data/lib/puppet/pops/model/model.rb +0 -131
- data/lib/puppet/pops/model/model_meta.rb +0 -629
- data/lib/puppet/pops/serialization/rgen.rb +0 -152
- data/lib/puppet/vendor/load_rgen.rb +0 -2
- data/lib/puppet/vendor/rgen/CHANGELOG +0 -197
- data/lib/puppet/vendor/rgen/MIT-LICENSE +0 -20
- data/lib/puppet/vendor/rgen/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/rgen/README.rdoc +0 -78
- data/lib/puppet/vendor/rgen/Rakefile +0 -41
- data/lib/puppet/vendor/rgen/TODO +0 -41
- data/lib/puppet/vendor/rgen/anounce.txt +0 -61
- data/lib/puppet/vendor/rgen/design_rationale.txt +0 -71
- data/lib/puppet/vendor/rgen/lib/ea_support/ea_support.rb +0 -54
- data/lib/puppet/vendor/rgen/lib/ea_support/id_store.rb +0 -32
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel.rb +0 -562
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_ext.rb +0 -45
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_generator.rb +0 -43
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_to_uml13.rb +0 -103
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_to_uml13_ea.rb +0 -89
- data/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel.rb +0 -559
- data/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel_ext.rb +0 -26
- data/lib/puppet/vendor/rgen/lib/mmgen/metamodel_generator.rb +0 -20
- data/lib/puppet/vendor/rgen/lib/mmgen/mm_ext/ecore_mmgen_ext.rb +0 -91
- data/lib/puppet/vendor/rgen/lib/mmgen/mmgen.rb +0 -28
- data/lib/puppet/vendor/rgen/lib/mmgen/templates/annotations.tpl +0 -37
- data/lib/puppet/vendor/rgen/lib/mmgen/templates/metamodel_generator.tpl +0 -172
- data/lib/puppet/vendor/rgen/lib/rgen/array_extensions.rb +0 -45
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore.rb +0 -218
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_builder_methods.rb +0 -81
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_ext.rb +0 -69
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_interface.rb +0 -47
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_to_ruby.rb +0 -167
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ruby_to_ecore.rb +0 -91
- data/lib/puppet/vendor/rgen/lib/rgen/environment.rb +0 -129
- data/lib/puppet/vendor/rgen/lib/rgen/fragment/dump_file_cache.rb +0 -63
- data/lib/puppet/vendor/rgen/lib/rgen/fragment/fragmented_model.rb +0 -140
- data/lib/puppet/vendor/rgen/lib/rgen/fragment/model_fragment.rb +0 -289
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_instantiator.rb +0 -66
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_xml_instantiator.rb +0 -66
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/default_xml_instantiator.rb +0 -117
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/ecore_xml_instantiator.rb +0 -169
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_instantiator.rb +0 -126
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.rb +0 -331
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.y +0 -94
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/nodebased_xml_instantiator.rb +0 -137
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/qualified_name_resolver.rb +0 -97
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/reference_resolver.rb +0 -128
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/resolution_helper.rb +0 -47
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/xmi11_instantiator.rb +0 -168
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_extensions.rb +0 -556
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_runtime.rb +0 -174
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/constant_order_helper.rb +0 -89
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/data_types.rb +0 -77
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/annotation.rb +0 -30
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/feature.rb +0 -168
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/mm_multiple.rb +0 -23
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/module_extension.rb +0 -42
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder.rb +0 -224
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder/builder_context.rb +0 -334
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder/model_serializer.rb +0 -225
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder/reference_resolver.rb +0 -156
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder.rb +0 -32
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/json_serializer.rb +0 -121
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/opposite_reference_filter.rb +0 -18
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/qualified_name_provider.rb +0 -47
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi11_serializer.rb +0 -116
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi20_serializer.rb +0 -71
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/xml_serializer.rb +0 -98
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/directory_template_container.rb +0 -83
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/output_handler.rb +0 -87
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/template_container.rb +0 -234
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/template_helper.rb +0 -26
- data/lib/puppet/vendor/rgen/lib/rgen/template_language.rb +0 -297
- data/lib/puppet/vendor/rgen/lib/rgen/transformer.rb +0 -475
- data/lib/puppet/vendor/rgen/lib/rgen/util/auto_class_creator.rb +0 -61
- data/lib/puppet/vendor/rgen/lib/rgen/util/cached_glob.rb +0 -67
- data/lib/puppet/vendor/rgen/lib/rgen/util/file_cache_map.rb +0 -124
- data/lib/puppet/vendor/rgen/lib/rgen/util/file_change_detector.rb +0 -84
- data/lib/puppet/vendor/rgen/lib/rgen/util/method_delegation.rb +0 -114
- data/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator.rb +0 -68
- data/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator_base.rb +0 -142
- data/lib/puppet/vendor/rgen/lib/rgen/util/model_dumper.rb +0 -29
- data/lib/puppet/vendor/rgen/lib/rgen/util/name_helper.rb +0 -42
- data/lib/puppet/vendor/rgen/lib/rgen/util/pattern_matcher.rb +0 -329
- data/lib/puppet/vendor/rgen/lib/transformers/ecore_to_uml13.rb +0 -79
- data/lib/puppet/vendor/rgen/lib/transformers/uml13_to_ecore.rb +0 -127
- data/lib/puppet/vendor/rgen/test/array_extensions_test.rb +0 -64
- data/lib/puppet/vendor/rgen/test/ea_instantiator_test.rb +0 -35
- data/lib/puppet/vendor/rgen/test/ea_serializer_test.rb +0 -23
- data/lib/puppet/vendor/rgen/test/ecore_self_test.rb +0 -54
- data/lib/puppet/vendor/rgen/test/environment_test.rb +0 -90
- data/lib/puppet/vendor/rgen/test/json_test.rb +0 -171
- data/lib/puppet/vendor/rgen/test/metamodel_builder_test.rb +0 -1482
- data/lib/puppet/vendor/rgen/test/metamodel_from_ecore_test.rb +0 -57
- data/lib/puppet/vendor/rgen/test/metamodel_order_test.rb +0 -131
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/TestModel.rb +0 -70
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel.ecore +0 -42
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel_from_ecore.rb +0 -44
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/using_builtin_types.ecore +0 -9
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test.rb +0 -98
- data/lib/puppet/vendor/rgen/test/method_delegation_test.rb +0 -178
- data/lib/puppet/vendor/rgen/test/model_builder/builder_context_test.rb +0 -59
- data/lib/puppet/vendor/rgen/test/model_builder/builder_test.rb +0 -242
- data/lib/puppet/vendor/rgen/test/model_builder/ecore_original.rb +0 -163
- data/lib/puppet/vendor/rgen/test/model_builder/ecore_original_regenerated.rb +0 -163
- data/lib/puppet/vendor/rgen/test/model_builder/reference_resolver_test.rb +0 -156
- data/lib/puppet/vendor/rgen/test/model_builder/serializer_test.rb +0 -94
- data/lib/puppet/vendor/rgen/test/model_builder/statemachine_metamodel.rb +0 -42
- data/lib/puppet/vendor/rgen/test/model_builder/test_model/statemachine1.rb +0 -23
- data/lib/puppet/vendor/rgen/test/model_builder_test.rb +0 -6
- data/lib/puppet/vendor/rgen/test/model_fragment_test.rb +0 -30
- data/lib/puppet/vendor/rgen/test/output_handler_test.rb +0 -58
- data/lib/puppet/vendor/rgen/test/qualified_name_provider_test.rb +0 -48
- data/lib/puppet/vendor/rgen/test/qualified_name_resolver_test.rb +0 -102
- data/lib/puppet/vendor/rgen/test/reference_resolver_test.rb +0 -117
- data/lib/puppet/vendor/rgen/test/rgen_test.rb +0 -26
- data/lib/puppet/vendor/rgen/test/template_language_test/expected_result1.txt +0 -29
- data/lib/puppet/vendor/rgen/test/template_language_test/expected_result2.txt +0 -9
- data/lib/puppet/vendor/rgen/test/template_language_test/expected_result3.txt +0 -4
- data/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestDefaultIndent.out +0 -1
- data/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestTabIndent.out +0 -1
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/a.tpl +0 -12
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/b.tpl +0 -5
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/code/array.tpl +0 -11
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/content/author.tpl +0 -7
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/content/chapter.tpl +0 -5
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/local.tpl +0 -8
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/test.tpl +0 -8
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/evaluate_test/test.tpl +0 -7
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/indent_string_test.tpl +0 -12
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/index/c/cmod.tpl +0 -1
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/index/chapter.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_backslash_r_test.tpl +0 -5
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/no_indent.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/sub1/no_indent.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test.tpl +0 -24
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test2.tpl +0 -13
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test3.tpl +0 -10
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/null_context_test.tpl +0 -17
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/root.tpl +0 -31
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1/sub1.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1.tpl +0 -9
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/test.tpl +0 -4
- data/lib/puppet/vendor/rgen/test/template_language_test/testout.txt +0 -29
- data/lib/puppet/vendor/rgen/test/template_language_test.rb +0 -163
- data/lib/puppet/vendor/rgen/test/testmodel/class_model_checker.rb +0 -119
- data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.eap +0 -0
- data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.xml +0 -1029
- data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel_partial.xml +0 -317
- data/lib/puppet/vendor/rgen/test/testmodel/ecore_model_checker.rb +0 -101
- data/lib/puppet/vendor/rgen/test/testmodel/manual_testmodel.xml +0 -22
- data/lib/puppet/vendor/rgen/test/testmodel/object_model_checker.rb +0 -67
- data/lib/puppet/vendor/rgen/test/transformer_test.rb +0 -254
- data/lib/puppet/vendor/rgen/test/util/file_cache_map_test.rb +0 -99
- data/lib/puppet/vendor/rgen/test/util/pattern_matcher_test.rb +0 -97
- data/lib/puppet/vendor/rgen/test/util_test.rb +0 -5
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_ecore_model_checker.rb +0 -94
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_ecore_instantiator.rb +0 -53
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_metamodel.rb +0 -49
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_to_ecore.rb +0 -75
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test.rb +0 -160
- data/lib/puppet/vendor/rgen_patch.rb +0 -132
- data/lib/semver.rb +0 -146
- data/man/man8/extlookup2hiera.8 +0 -10
- data/man/man8/puppet-file.8 +0 -189
- data/man/man8/puppet-resource_type.8 +0 -188
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -9
- data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/lib/puppet/bindings/xyz/default.rb +0 -9
- data/spec/fixtures/unit/data_providers/environments/sample/environment.conf +0 -2
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/hiera.yaml +0 -5
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet/bindings/backend/default.rb +0 -9
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet_x/backend/special_data_provider_factory.rb +0 -23
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/manifests/init.pp +0 -5
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/metadata.json +0 -9
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet/bindings/dataprovider/default.rb +0 -54
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +0 -33
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_module_data.rb +0 -33
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/manifests/init.pp +0 -5
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -9
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/lib/puppet/bindings/bad_data/default.rb +0 -9
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb +0 -9
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet/bindings/metawcp/default.rb +0 -10
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet_x/thallgren/sample_module_data.rb +0 -23
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/manifests/init.pp +0 -3
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/metadata.json +0 -9
- data/spec/unit/application/inspect_spec.rb +0 -305
- data/spec/unit/data_providers/custom_data_provider_spec.rb +0 -50
- data/spec/unit/face/file_spec.rb +0 -14
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +0 -255
- data/spec/unit/indirector/resource_type/parser_spec.rb +0 -259
- data/spec/unit/indirector/resource_type/rest_spec.rb +0 -14
- data/spec/unit/pops/binder/binder_spec.rb +0 -43
- data/spec/unit/pops/binder/bindings_checker_spec.rb +0 -155
- data/spec/unit/pops/binder/bindings_composer_spec.rb +0 -64
- data/spec/unit/pops/binder/bindings_validator_factory_spec.rb +0 -18
- data/spec/unit/pops/binder/config/binder_config_spec.rb +0 -42
- data/spec/unit/pops/binder/injector_spec.rb +0 -768
- data/spec/unit/pops/parser/rgen_sanitycheck_spec.rb +0 -23
- data/spec/unit/pops/serialization/rgen_spec.rb +0 -88
- data/spec/unit/semver_spec.rb +0 -546
- /data/lib/puppet/vendor/semantic_puppet/{lib/semantic_puppet/locales → locales}/config.yaml +0 -0
|
@@ -18,27 +18,27 @@ class Puppet::FileServing::Metadata < Puppet::FileServing::Base
|
|
|
18
18
|
PARAM_ORDER = [:mode, :ftype, :owner, :group]
|
|
19
19
|
|
|
20
20
|
def checksum_type=(type)
|
|
21
|
-
raise(ArgumentError, "Unsupported checksum type
|
|
21
|
+
raise(ArgumentError, _("Unsupported checksum type %{type}") % { type: type }) unless Puppet::Util::Checksums.respond_to?("#{type}_file")
|
|
22
22
|
|
|
23
23
|
@checksum_type = type
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
def source_permissions=(source_permissions)
|
|
27
|
-
raise(ArgumentError, "Unsupported source_permission
|
|
27
|
+
raise(ArgumentError, _("Unsupported source_permission %{source_permissions}") % { source_permissions: source_permissions }) unless [:use, :use_when_creating, :ignore].include?(source_permissions.intern)
|
|
28
28
|
|
|
29
29
|
@source_permissions = source_permissions.intern
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
def content_uri=(path)
|
|
33
33
|
begin
|
|
34
|
-
uri = URI.parse(
|
|
34
|
+
uri = URI.parse(Puppet::Util.uri_encode(path))
|
|
35
35
|
rescue URI::InvalidURIError => detail
|
|
36
|
-
raise(ArgumentError, "Could not understand URI
|
|
36
|
+
raise(ArgumentError, _("Could not understand URI %{path}: %{detail}") % { path: path, detail: detail })
|
|
37
37
|
end
|
|
38
|
-
raise(ArgumentError, "Cannot use opaque URLs '
|
|
39
|
-
raise(ArgumentError, "Must use URLs of type puppet as content URI") if uri.scheme != "puppet"
|
|
38
|
+
raise(ArgumentError, _("Cannot use opaque URLs '%{path}'") % { path: path }) unless uri.hierarchical?
|
|
39
|
+
raise(ArgumentError, _("Must use URLs of type puppet as content URI")) if uri.scheme != "puppet"
|
|
40
40
|
|
|
41
|
-
@content_uri = path
|
|
41
|
+
@content_uri = path.encode(Encoding::UTF_8)
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
class MetaStat
|
|
@@ -72,7 +72,7 @@ class Puppet::FileServing::Metadata < Puppet::FileServing::Base
|
|
|
72
72
|
def initialize(stat, path, source_permissions)
|
|
73
73
|
super(stat, source_permissions)
|
|
74
74
|
@path = path
|
|
75
|
-
raise(ArgumentError, "Unsupported Windows source permissions option
|
|
75
|
+
raise(ArgumentError, _("Unsupported Windows source permissions option %{source_permissions}") % { source_permissions: source_permissions }) unless @source_permissions_ignore
|
|
76
76
|
end
|
|
77
77
|
|
|
78
78
|
{ :owner => 'S-1-5-32-544',
|
|
@@ -119,7 +119,7 @@ class Puppet::FileServing::Metadata < Puppet::FileServing::Base
|
|
|
119
119
|
@destination = Puppet::FileSystem.readlink(real_path)
|
|
120
120
|
@checksum = ("{#{@checksum_type}}") + send("#{@checksum_type}_file", real_path).to_s rescue nil
|
|
121
121
|
else
|
|
122
|
-
raise ArgumentError, "Cannot manage files of type
|
|
122
|
+
raise ArgumentError, _("Cannot manage files of type %{file_type}") % { file_type: stat.ftype }
|
|
123
123
|
end
|
|
124
124
|
end
|
|
125
125
|
|
|
@@ -15,7 +15,7 @@ class Puppet::FileServing::Mount::File < Puppet::FileServing::Mount
|
|
|
15
15
|
def complete_path(relative_path, node)
|
|
16
16
|
full_path = path(node)
|
|
17
17
|
|
|
18
|
-
raise ArgumentError.new("Mounts without paths are not usable") unless full_path
|
|
18
|
+
raise ArgumentError.new(_("Mounts without paths are not usable")) unless full_path
|
|
19
19
|
|
|
20
20
|
# If there's no relative path name, then we're serving the mount itself.
|
|
21
21
|
return full_path unless relative_path
|
|
@@ -23,7 +23,7 @@ class Puppet::FileServing::Mount::File < Puppet::FileServing::Mount
|
|
|
23
23
|
file = ::File.join(full_path, relative_path)
|
|
24
24
|
|
|
25
25
|
if !(Puppet::FileSystem.exist?(file) or Puppet::FileSystem.symlink?(file))
|
|
26
|
-
Puppet.info("File does not exist or is not accessible:
|
|
26
|
+
Puppet.info(_("File does not exist or is not accessible: %{file}") % { file: file })
|
|
27
27
|
return nil
|
|
28
28
|
end
|
|
29
29
|
|
|
@@ -52,8 +52,8 @@ class Puppet::FileServing::Mount::File < Puppet::FileServing::Mount
|
|
|
52
52
|
# Mark that we're expandable.
|
|
53
53
|
@expandable = true
|
|
54
54
|
else
|
|
55
|
-
raise ArgumentError, "
|
|
56
|
-
raise ArgumentError, "
|
|
55
|
+
raise ArgumentError, _("%{path} does not exist or is not a directory") % { path: path } unless FileTest.directory?(path)
|
|
56
|
+
raise ArgumentError, _("%{path} is not readable") % { path: path } unless FileTest.readable?(path)
|
|
57
57
|
@expandable = false
|
|
58
58
|
end
|
|
59
59
|
@path = path
|
|
@@ -67,7 +67,7 @@ class Puppet::FileServing::Mount::File < Puppet::FileServing::Mount
|
|
|
67
67
|
# Verify our configuration is valid. This should really check to
|
|
68
68
|
# make sure at least someone will be allowed, but, eh.
|
|
69
69
|
def validate
|
|
70
|
-
raise ArgumentError.new("Mounts without paths are not usable") if @path.nil?
|
|
70
|
+
raise ArgumentError.new(_("Mounts without paths are not usable")) if @path.nil?
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
private
|
|
@@ -89,7 +89,7 @@ class Puppet::FileServing::Mount::File < Puppet::FileServing::Mount
|
|
|
89
89
|
if node
|
|
90
90
|
map = clientmap(node)
|
|
91
91
|
else
|
|
92
|
-
Puppet.notice "No client; expanding '
|
|
92
|
+
Puppet.notice _("No client; expanding '%{path}' with local host") % { path: path }
|
|
93
93
|
# Else, use the local information
|
|
94
94
|
map = localmap
|
|
95
95
|
end
|
|
@@ -5,7 +5,7 @@ require 'puppet/file_serving/mount'
|
|
|
5
5
|
class Puppet::FileServing::Mount::Modules < Puppet::FileServing::Mount
|
|
6
6
|
# Return an instance of the appropriate class.
|
|
7
7
|
def find(path, request)
|
|
8
|
-
raise "No module specified" if path.to_s.empty?
|
|
8
|
+
raise _("No module specified") if path.to_s.empty?
|
|
9
9
|
module_name, relative_path = path.split("/", 2)
|
|
10
10
|
return nil unless mod = request.environment.module(module_name)
|
|
11
11
|
|
|
@@ -18,7 +18,7 @@ class Puppet::FileServing::Mount < Puppet::Network::AuthStore
|
|
|
18
18
|
# Create our object. It must have a name.
|
|
19
19
|
def initialize(name)
|
|
20
20
|
unless name =~ %r{^[-\w]+$}
|
|
21
|
-
raise ArgumentError, "Invalid mount name format '
|
|
21
|
+
raise ArgumentError, _("Invalid mount name format '%{name}'") % { name: name }
|
|
22
22
|
end
|
|
23
23
|
@name = name
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@ module Puppet::FileServing::TerminusSelector
|
|
|
26
26
|
when nil
|
|
27
27
|
:file_server
|
|
28
28
|
else
|
|
29
|
-
raise ArgumentError, "URI protocol '
|
|
29
|
+
raise ArgumentError, _("URI protocol '%{protocol}' is not currently supported for file serving") % { protocol: request.protocol }
|
|
30
30
|
end
|
|
31
31
|
end
|
|
32
32
|
end
|
|
@@ -14,7 +14,7 @@ class Puppet::FileSystem::FileImpl
|
|
|
14
14
|
if path.respond_to?(:to_str)
|
|
15
15
|
Pathname.new(path)
|
|
16
16
|
else
|
|
17
|
-
raise ArgumentError, "FileSystem implementation expected Pathname, got: '
|
|
17
|
+
raise ArgumentError, _("FileSystem implementation expected Pathname, got: '%{klass}'") % { klass: path.class }
|
|
18
18
|
end
|
|
19
19
|
end
|
|
20
20
|
|
|
@@ -61,7 +61,7 @@ class Puppet::FileSystem::FileImpl
|
|
|
61
61
|
timeout -= wait
|
|
62
62
|
wait *= 2
|
|
63
63
|
if timeout < 0
|
|
64
|
-
raise Timeout::Error, "Timeout waiting for exclusive lock on
|
|
64
|
+
raise Timeout::Error, _("Timeout waiting for exclusive lock on %{path}") % { path: @path }
|
|
65
65
|
end
|
|
66
66
|
end
|
|
67
67
|
end
|
|
@@ -65,7 +65,7 @@ class Puppet::FileSystem::MemoryImpl
|
|
|
65
65
|
if path.is_a?(Puppet::FileSystem::MemoryFile)
|
|
66
66
|
path
|
|
67
67
|
else
|
|
68
|
-
find(path) or raise ArgumentError, "Unable to find registered object for
|
|
68
|
+
find(path) or raise ArgumentError, _("Unable to find registered object for %{path}") % { path: path.inspect }
|
|
69
69
|
end
|
|
70
70
|
end
|
|
71
71
|
|
|
@@ -48,12 +48,12 @@ module Puppet::FileSystem
|
|
|
48
48
|
def validate
|
|
49
49
|
@pathname.each_filename do |e|
|
|
50
50
|
if e =~ TRAVERSAL
|
|
51
|
-
raise(InvalidPattern, "PathPatterns cannot be created with directory traversals.")
|
|
51
|
+
raise(InvalidPattern, _("PathPatterns cannot be created with directory traversals."))
|
|
52
52
|
end
|
|
53
53
|
end
|
|
54
54
|
case @pathname.to_s
|
|
55
55
|
when CURRENT_DRIVE_RELATIVE_WINDOWS
|
|
56
|
-
raise(InvalidPattern, "A PathPattern cannot be a Windows current drive relative path.")
|
|
56
|
+
raise(InvalidPattern, _("A PathPattern cannot be a Windows current drive relative path."))
|
|
57
57
|
end
|
|
58
58
|
end
|
|
59
59
|
|
|
@@ -61,7 +61,7 @@ module Puppet::FileSystem
|
|
|
61
61
|
begin
|
|
62
62
|
@pathname = Pathname.new(pattern.strip)
|
|
63
63
|
rescue ArgumentError => error
|
|
64
|
-
raise InvalidPattern.new("PathPatterns cannot be created with a zero byte.", error)
|
|
64
|
+
raise InvalidPattern.new(_("PathPatterns cannot be created with a zero byte."), error)
|
|
65
65
|
end
|
|
66
66
|
validate
|
|
67
67
|
end
|
|
@@ -76,9 +76,9 @@ module Puppet::FileSystem
|
|
|
76
76
|
super
|
|
77
77
|
case @pathname.to_s
|
|
78
78
|
when ABSOLUTE_WINDOWS
|
|
79
|
-
raise(InvalidPattern, "A relative PathPattern cannot be prefixed with a drive.")
|
|
79
|
+
raise(InvalidPattern, _("A relative PathPattern cannot be prefixed with a drive."))
|
|
80
80
|
when ABSOLUTE_UNIX
|
|
81
|
-
raise(InvalidPattern, "A relative PathPattern cannot be an absolute path.")
|
|
81
|
+
raise(InvalidPattern, _("A relative PathPattern cannot be an absolute path."))
|
|
82
82
|
end
|
|
83
83
|
end
|
|
84
84
|
end
|
|
@@ -91,7 +91,7 @@ module Puppet::FileSystem
|
|
|
91
91
|
def validate
|
|
92
92
|
super
|
|
93
93
|
if @pathname.to_s !~ ABSOLUTE_UNIX and @pathname.to_s !~ ABSOLUTE_WINDOWS
|
|
94
|
-
raise(InvalidPattern, "An absolute PathPattern cannot be a relative path.")
|
|
94
|
+
raise(InvalidPattern, _("An absolute PathPattern cannot be a relative path."))
|
|
95
95
|
end
|
|
96
96
|
end
|
|
97
97
|
end
|
|
@@ -106,7 +106,7 @@ class Puppet::FileSystem::Uniquefile < DelegateClass(File)
|
|
|
106
106
|
prefix = prefix_suffix[0]
|
|
107
107
|
suffix = prefix_suffix[1]
|
|
108
108
|
else
|
|
109
|
-
raise ArgumentError, "unexpected prefix_suffix:
|
|
109
|
+
raise ArgumentError, _("unexpected prefix_suffix: %{value}") % { value: prefix_suffix.inspect }
|
|
110
110
|
end
|
|
111
111
|
t = Time.now.strftime("%Y%m%d")
|
|
112
112
|
path = "#{prefix}#{t}-#{$$}-#{rand(0x100000000).to_s(36)}"
|
|
@@ -136,7 +136,7 @@ class Puppet::FileSystem::Uniquefile < DelegateClass(File)
|
|
|
136
136
|
n ||= 0
|
|
137
137
|
n += 1
|
|
138
138
|
retry if !max_try or n < max_try
|
|
139
|
-
raise "cannot generate temporary name using
|
|
139
|
+
raise _("cannot generate temporary name using `%{basename}' under `%{tmpdir}'") % { basename: basename, tmpdir: tmpdir }
|
|
140
140
|
end
|
|
141
141
|
path
|
|
142
142
|
end
|
|
@@ -44,7 +44,7 @@ class Puppet::FileSystem::Windows < Puppet::FileSystem::Posix
|
|
|
44
44
|
return 0 if dest_exists && dest_stat.ftype == 'directory'
|
|
45
45
|
|
|
46
46
|
if dest_exists && dest_stat.ftype == 'file' && options[:force] != true
|
|
47
|
-
raise(Errno::EEXIST, "
|
|
47
|
+
raise(Errno::EEXIST, _("%{dest} already exists and the :force option was not specified") % { dest: dest })
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
if options[:noop] != true
|
|
@@ -118,12 +118,12 @@ class Puppet::FileSystem::Windows < Puppet::FileSystem::Posix
|
|
|
118
118
|
|
|
119
119
|
def raise_if_symlinks_unsupported
|
|
120
120
|
if ! Puppet.features.manages_symlinks?
|
|
121
|
-
msg = "This version of Windows does not support symlinks. Windows Vista / 2008 or higher is required."
|
|
121
|
+
msg = _("This version of Windows does not support symlinks. Windows Vista / 2008 or higher is required.")
|
|
122
122
|
raise Puppet::Util::Windows::Error.new(msg)
|
|
123
123
|
end
|
|
124
124
|
|
|
125
125
|
if ! Puppet::Util::Windows::Process.process_privilege_symlink?
|
|
126
|
-
Puppet.warning "The current user does not have the necessary permission to manage symlinks."
|
|
126
|
+
Puppet.warning _("The current user does not have the necessary permission to manage symlinks.")
|
|
127
127
|
end
|
|
128
128
|
end
|
|
129
129
|
|
data/lib/puppet/forge/cache.rb
CHANGED
|
@@ -24,6 +24,7 @@ class Puppet::Forge
|
|
|
24
24
|
uri = url.is_a?(::URI) ? url : ::URI.parse(url)
|
|
25
25
|
unless cached_file.file?
|
|
26
26
|
if uri.scheme == 'file'
|
|
27
|
+
# CGI.unescape butchers Uris that are escaped properly
|
|
27
28
|
FileUtils.cp(URI.unescape(uri.path), cached_file)
|
|
28
29
|
else
|
|
29
30
|
# TODO: Handle HTTPS; probably should use repository.contact
|
data/lib/puppet/forge/errors.rb
CHANGED
|
@@ -25,15 +25,15 @@ module Puppet::Forge::Errors
|
|
|
25
25
|
@uri = options[:uri]
|
|
26
26
|
original = options[:original]
|
|
27
27
|
|
|
28
|
-
super("Unable to verify the SSL certificate at
|
|
28
|
+
super(_("Unable to verify the SSL certificate at %{uri}") % { uri: @uri }, original)
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
# Return a multiline version of the error message
|
|
32
32
|
#
|
|
33
33
|
# @return [String] the multiline version of the error message
|
|
34
34
|
def multiline
|
|
35
|
-
<<-EOS.chomp
|
|
36
|
-
Could not connect via HTTPS to
|
|
35
|
+
_(<<-EOS).chomp % { uri: @uri }
|
|
36
|
+
Could not connect via HTTPS to %{uri}
|
|
37
37
|
Unable to verify the SSL certificate
|
|
38
38
|
The certificate may not be signed by a valid CA
|
|
39
39
|
The CA bundle included with OpenSSL may not be valid or up to date
|
|
@@ -51,7 +51,7 @@ Could not connect via HTTPS to #{@uri}
|
|
|
51
51
|
original = options[:original]
|
|
52
52
|
@detail = original.message
|
|
53
53
|
|
|
54
|
-
message = "Unable to connect to the server at
|
|
54
|
+
message = _("Unable to connect to the server at %{uri}. Detail: %{detail}.") % { uri: @uri, detail: @detail }
|
|
55
55
|
super(message, original)
|
|
56
56
|
end
|
|
57
57
|
|
|
@@ -59,10 +59,10 @@ Could not connect via HTTPS to #{@uri}
|
|
|
59
59
|
#
|
|
60
60
|
# @return [String] the multiline version of the error message
|
|
61
61
|
def multiline
|
|
62
|
-
<<-EOS.chomp
|
|
63
|
-
Could not connect to
|
|
62
|
+
_(<<-EOS).chomp % { uri: @uri, detail: @detail }
|
|
63
|
+
Could not connect to %{uri}
|
|
64
64
|
There was a network communications problem
|
|
65
|
-
The error we caught said '
|
|
65
|
+
The error we caught said '%{detail}'
|
|
66
66
|
Check your network connection and try again
|
|
67
67
|
EOS
|
|
68
68
|
end
|
|
@@ -89,7 +89,7 @@ Could not connect to #{@uri}
|
|
|
89
89
|
rescue JSON::ParserError
|
|
90
90
|
end
|
|
91
91
|
|
|
92
|
-
message = "Request to Puppet Forge failed. Detail: "
|
|
92
|
+
message = _("Request to Puppet Forge failed. Detail: ")
|
|
93
93
|
message << @message << " / " if @message
|
|
94
94
|
message << @response << "."
|
|
95
95
|
super(message, original)
|
|
@@ -99,12 +99,12 @@ Could not connect to #{@uri}
|
|
|
99
99
|
#
|
|
100
100
|
# @return [String] the multiline version of the error message
|
|
101
101
|
def multiline
|
|
102
|
-
message = <<-EOS.chomp
|
|
102
|
+
message = _(<<-EOS).chomp % { uri: @uri, response: @response }
|
|
103
103
|
Request to Puppet Forge failed.
|
|
104
|
-
The server being queried was
|
|
105
|
-
The HTTP response we received was '
|
|
104
|
+
The server being queried was %{uri}
|
|
105
|
+
The HTTP response we received was '%{response}'
|
|
106
106
|
EOS
|
|
107
|
-
message << "\n The message we received said '
|
|
107
|
+
message << _("\n The message we received said '%{message}'") % { message: @message } if @message
|
|
108
108
|
message
|
|
109
109
|
end
|
|
110
110
|
end
|
|
@@ -57,6 +57,7 @@ class Puppet::Forge
|
|
|
57
57
|
end
|
|
58
58
|
end
|
|
59
59
|
|
|
60
|
+
# responsible for properly encoding a URI
|
|
60
61
|
def get_request_object(path)
|
|
61
62
|
headers = {
|
|
62
63
|
"User-Agent" => user_agent,
|
|
@@ -72,7 +73,7 @@ class Puppet::Forge
|
|
|
72
73
|
headers = headers.merge({"Authorization" => forge_authorization})
|
|
73
74
|
end
|
|
74
75
|
|
|
75
|
-
request = Net::HTTP::Get.new(
|
|
76
|
+
request = Net::HTTP::Get.new(Puppet::Util.uri_encode(path), headers)
|
|
76
77
|
|
|
77
78
|
unless @uri.user.nil? || @uri.password.nil? || forge_authorization
|
|
78
79
|
request.basic_auth(@uri.user, @uri.password)
|
data/lib/puppet/forge.rb
CHANGED
|
@@ -53,12 +53,13 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
|
|
|
53
53
|
# bad HTTP response
|
|
54
54
|
def search(term)
|
|
55
55
|
matches = []
|
|
56
|
-
uri = "/v3/modules?query=#{
|
|
56
|
+
uri = "/v3/modules?query=#{term}"
|
|
57
57
|
if Puppet[:module_groups]
|
|
58
|
-
uri += "&module_groups=#{Puppet[:module_groups]}"
|
|
58
|
+
uri += "&module_groups=#{Puppet[:module_groups].gsub('+', ' ')}"
|
|
59
59
|
end
|
|
60
60
|
|
|
61
61
|
while uri
|
|
62
|
+
# make_http_request URI encodes parameters
|
|
62
63
|
response = make_http_request(uri)
|
|
63
64
|
|
|
64
65
|
if response.code == '200'
|
|
@@ -90,11 +91,12 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
|
|
|
90
91
|
name = input.tr('/', '-')
|
|
91
92
|
uri = "/v3/releases?module=#{name}"
|
|
92
93
|
if Puppet[:module_groups]
|
|
93
|
-
uri += "&module_groups=#{Puppet[:module_groups]}"
|
|
94
|
+
uri += "&module_groups=#{Puppet[:module_groups].gsub('+', ' ')}"
|
|
94
95
|
end
|
|
95
96
|
releases = []
|
|
96
97
|
|
|
97
98
|
while uri
|
|
99
|
+
# make_http_request URI encodes parameters
|
|
98
100
|
response = make_http_request(uri)
|
|
99
101
|
|
|
100
102
|
if response.code == '200'
|
|
@@ -117,7 +119,7 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
|
|
|
117
119
|
class ModuleRelease < SemanticPuppet::Dependency::ModuleRelease
|
|
118
120
|
attr_reader :install_dir, :metadata
|
|
119
121
|
|
|
120
|
-
def initialize(source, data)
|
|
122
|
+
def initialize(source, data, strict_semver = true)
|
|
121
123
|
@data = data
|
|
122
124
|
@metadata = meta = data['metadata']
|
|
123
125
|
|
|
@@ -129,7 +131,7 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
|
|
|
129
131
|
dependencies = meta['dependencies'].collect do |dep|
|
|
130
132
|
begin
|
|
131
133
|
Puppet::ModuleTool::Metadata.new.add_dependency(dep['name'], dep['version_requirement'], dep['repository'])
|
|
132
|
-
Puppet::ModuleTool.parse_module_dependency(release, dep)[0..1]
|
|
134
|
+
Puppet::ModuleTool.parse_module_dependency(release, dep, strict_semver)[0..1]
|
|
133
135
|
rescue ArgumentError => e
|
|
134
136
|
raise ArgumentError, "Malformed dependency: #{dep['name']}. Exception was: #{e}"
|
|
135
137
|
end
|
|
@@ -195,7 +197,7 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
|
|
|
195
197
|
|
|
196
198
|
def validate_checksum(file, checksum)
|
|
197
199
|
if Digest::MD5.file(file.path).hexdigest != checksum
|
|
198
|
-
raise RuntimeError, "Downloaded release for
|
|
200
|
+
raise RuntimeError, _("Downloaded release for %{name} did not match expected checksum") % { name: name }
|
|
199
201
|
end
|
|
200
202
|
end
|
|
201
203
|
|
|
@@ -203,7 +205,7 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
|
|
|
203
205
|
begin
|
|
204
206
|
Puppet::ModuleTool::Applications::Unpacker.unpack(file.path, destination)
|
|
205
207
|
rescue Puppet::ExecutionFailure => e
|
|
206
|
-
raise RuntimeError, "Could not extract contents of module archive:
|
|
208
|
+
raise RuntimeError, _("Could not extract contents of module archive: %{message}") % { message: e.message }
|
|
207
209
|
end
|
|
208
210
|
end
|
|
209
211
|
end
|
|
@@ -216,7 +218,7 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
|
|
|
216
218
|
begin
|
|
217
219
|
ModuleRelease.new(self, release)
|
|
218
220
|
rescue ArgumentError => e
|
|
219
|
-
Puppet.warning "Cannot consider release
|
|
221
|
+
Puppet.warning _("Cannot consider release %{name}-%{version}: %{error}") % { name: metadata['name'], version: metadata['version'], error: e }
|
|
220
222
|
false
|
|
221
223
|
end
|
|
222
224
|
end
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Handles annotations on objects. The function can be used in four different ways.
|
|
2
|
+
#
|
|
3
|
+
# With two arguments, an `Annotation` type and an object, the function returns the annotation
|
|
4
|
+
# for the object of the given type, or `undef` if no such annotation exists.
|
|
5
|
+
#
|
|
6
|
+
# @example Using `annotate` with two arguments
|
|
7
|
+
#
|
|
8
|
+
# ~~~ puppet
|
|
9
|
+
# $annotation = Mod::NickNameAdapter.annotate(o)
|
|
10
|
+
#
|
|
11
|
+
# $annotation = annotate(Mod::NickNameAdapter.annotate, o)
|
|
12
|
+
# ~~~
|
|
13
|
+
#
|
|
14
|
+
# With three arguments, an `Annotation` type, an object, and a block, the function returns the
|
|
15
|
+
# annotation for the object of the given type, or annotates it with a new annotation initialized
|
|
16
|
+
# from the hash returned by the given block when no such annotation exists. The block will not
|
|
17
|
+
# be called when an annotation of the given type is already present.
|
|
18
|
+
#
|
|
19
|
+
# @example Using `annotate` with two arguments and a block
|
|
20
|
+
#
|
|
21
|
+
# ~~~ puppet
|
|
22
|
+
# $annotation = Mod::NickNameAdapter.annotate(o) || { { 'nick_name' => 'Buddy' } }
|
|
23
|
+
#
|
|
24
|
+
# $annotation = annotate(Mod::NickNameAdapter.annotate, o) || { { 'nick_name' => 'Buddy' } }
|
|
25
|
+
# ~~~
|
|
26
|
+
#
|
|
27
|
+
# With three arguments, an `Annotation` type, an object, and an `Hash`, the function will annotate
|
|
28
|
+
# the given object with a new annotation of the given type that is initialized from the given hash.
|
|
29
|
+
# An existing annotation of the given type is discarded.
|
|
30
|
+
#
|
|
31
|
+
# @example Using `annotate` with three arguments where third argument is a Hash
|
|
32
|
+
#
|
|
33
|
+
# ~~~ puppet
|
|
34
|
+
# $annotation = Mod::NickNameAdapter.annotate(o, { 'nick_name' => 'Buddy' })
|
|
35
|
+
#
|
|
36
|
+
# $annotation = annotate(Mod::NickNameAdapter.annotate, o, { 'nick_name' => 'Buddy' })
|
|
37
|
+
# ~~~
|
|
38
|
+
#
|
|
39
|
+
# With three arguments, an `Annotation` type, an object, and an the string `clear`, the function will
|
|
40
|
+
# clear the annotatation of the given type in the given object. The old annotation is returned if
|
|
41
|
+
# it existed.
|
|
42
|
+
#
|
|
43
|
+
# @example Using `annotate` with three arguments where third argument is the string 'clear'
|
|
44
|
+
#
|
|
45
|
+
# ~~~ puppet
|
|
46
|
+
# $annotation = Mod::NickNameAdapter.annotate(o, clear)
|
|
47
|
+
#
|
|
48
|
+
# $annotation = annotate(Mod::NickNameAdapter.annotate, o, clear)
|
|
49
|
+
# ~~~
|
|
50
|
+
#
|
|
51
|
+
# With three arguments, the type `Pcore`, an object, and a Hash of hashes keyed by `Annotation` types,
|
|
52
|
+
# the function will annotate the given object with all types used as keys in the given hash. Each annotation
|
|
53
|
+
# is initialized with the nested hash for the respective type. The annotated object is returned.
|
|
54
|
+
#
|
|
55
|
+
# @example Add multiple annotations to a new instance of `Mod::Person` using the `Pcore` type.
|
|
56
|
+
#
|
|
57
|
+
# ~~~ puppet
|
|
58
|
+
# $person = Pcore.annotate(Mod::Person({'name' => 'William'}), {
|
|
59
|
+
# Mod::NickNameAdapter >= { 'nick_name' => 'Bill' },
|
|
60
|
+
# Mod::HobbiesAdapter => { 'hobbies' => ['Ham Radio', 'Philatelist'] }
|
|
61
|
+
# })
|
|
62
|
+
# ~~~
|
|
63
|
+
#
|
|
64
|
+
# @since 5.0.0
|
|
65
|
+
#
|
|
66
|
+
Puppet::Functions.create_function(:annotate) do
|
|
67
|
+
dispatch :annotate do
|
|
68
|
+
param 'Type[Annotation]', :type
|
|
69
|
+
param 'Any', :value
|
|
70
|
+
optional_block_param 'Callable[0, 0]', :block
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
dispatch :annotate_new do
|
|
74
|
+
param 'Type[Annotation]', :type
|
|
75
|
+
param 'Any', :value
|
|
76
|
+
param 'Variant[Enum[clear],Hash[Pcore::MemberName,Any]]', :annotation_hash
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
dispatch :annotate_multi do
|
|
80
|
+
param 'Type[Pcore]', :type
|
|
81
|
+
param 'Any', :value
|
|
82
|
+
param 'Hash[Type[Annotation], Hash[Pcore::MemberName,Any]]', :annotations
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# @param type [Annotation] the annotation type
|
|
86
|
+
# @param value [Object] the value to annotate
|
|
87
|
+
# @param block [Proc] optional block to produce the annotation hash
|
|
88
|
+
#
|
|
89
|
+
def annotate(type, value, &block)
|
|
90
|
+
type.implementation_class.annotate(value, &block)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# @param type [Annotation] the annotation type
|
|
94
|
+
# @param value [Object] the value to annotate
|
|
95
|
+
# @param annotation_hash [Hash{String => Object}] the annotation hash
|
|
96
|
+
#
|
|
97
|
+
def annotate_new(type, value, annotation_hash)
|
|
98
|
+
type.implementation_class.annotate_new(value, annotation_hash)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# @param type [Type] the Pcore type
|
|
102
|
+
# @param value [Object] the value to annotate
|
|
103
|
+
# @param annotations [Hash{Annotation => Hash{String => Object}}] hash of annotation hashes
|
|
104
|
+
#
|
|
105
|
+
def annotate_multi(type, value, annotations)
|
|
106
|
+
type.implementation_class.annotate(value, annotations)
|
|
107
|
+
end
|
|
108
|
+
end
|
|
@@ -12,7 +12,7 @@ Puppet::Functions.create_function(:binary_file, Puppet::Functions::InternalFunct
|
|
|
12
12
|
def binary_file(scope, unresolved_path)
|
|
13
13
|
path = Puppet::Parser::Files.find_file(unresolved_path, scope.compiler.environment)
|
|
14
14
|
unless path && Puppet::FileSystem.exist?(path)
|
|
15
|
-
raise Puppet::ParseError, "binary_file(): The given file '
|
|
15
|
+
raise Puppet::ParseError, _("binary_file(): The given file '%{unresolved_path}' does not exist") % { unresolved_path: unresolved_path }
|
|
16
16
|
end
|
|
17
17
|
Puppet::Pops::Types::PBinaryType::Binary.from_binary_string(Puppet::FileSystem.binread(path))
|
|
18
18
|
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Calls an arbitrary Puppet function by name.
|
|
2
|
+
#
|
|
3
|
+
# This function takes one mandatory argument and one or more optional arguments:
|
|
4
|
+
#
|
|
5
|
+
# 1. A string corresponding to a function name.
|
|
6
|
+
# 2. Any number of arguments to be passed to the called function.
|
|
7
|
+
# 3. An optional lambda, if the function being called supports it.
|
|
8
|
+
#
|
|
9
|
+
# @example Using the `call` function
|
|
10
|
+
#
|
|
11
|
+
# ~~~ puppet
|
|
12
|
+
# $a = 'notice'
|
|
13
|
+
# call($a, 'message')
|
|
14
|
+
# ~~~
|
|
15
|
+
#
|
|
16
|
+
# @example Using the `call` function with a lambda
|
|
17
|
+
#
|
|
18
|
+
# ~~~ puppet
|
|
19
|
+
# $a = 'each'
|
|
20
|
+
# $b = [1,2,3]
|
|
21
|
+
# call($a, $b) |$item| {
|
|
22
|
+
# notify { $item: }
|
|
23
|
+
# }
|
|
24
|
+
# ~~~
|
|
25
|
+
#
|
|
26
|
+
# The `call` function can be used to call either Ruby functions or Puppet language
|
|
27
|
+
# functions.
|
|
28
|
+
#
|
|
29
|
+
# @since 5.0.0
|
|
30
|
+
#
|
|
31
|
+
Puppet::Functions.create_function(:call, Puppet::Functions::InternalFunction) do
|
|
32
|
+
dispatch :call_impl_block do
|
|
33
|
+
scope_param
|
|
34
|
+
param 'String', :function_name
|
|
35
|
+
repeated_param 'Any', :arguments
|
|
36
|
+
optional_block_param
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def call_impl_block(scope, function_name, *args, &block)
|
|
40
|
+
call_function_with_scope(scope, function_name, *args, &block)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -129,12 +129,12 @@ Puppet::Functions.create_function(:'defined', Puppet::Functions::InternalFunctio
|
|
|
129
129
|
scope.compiler.findresource(val.resource_type, val.title)
|
|
130
130
|
|
|
131
131
|
when Puppet::Pops::Types::PResourceType
|
|
132
|
-
raise ArgumentError, 'The given resource type is a reference to all kind of types' if val.type_name.nil?
|
|
132
|
+
raise ArgumentError, _('The given resource type is a reference to all kind of types') if val.type_name.nil?
|
|
133
133
|
type = Puppet::Pops::Evaluator::Runtime3ResourceSupport.find_resource_type(scope, val.type_name)
|
|
134
134
|
val.title.nil? ? type : scope.compiler.findresource(type, val.title)
|
|
135
135
|
|
|
136
136
|
when Puppet::Pops::Types::PHostClassType
|
|
137
|
-
raise ArgumentError, 'The given class type is a reference to all classes' if val.class_name.nil?
|
|
137
|
+
raise ArgumentError, _('The given class type is a reference to all classes') if val.class_name.nil?
|
|
138
138
|
scope.compiler.findresource(:class, val.class_name)
|
|
139
139
|
|
|
140
140
|
when Puppet::Pops::Types::PType
|
|
@@ -148,12 +148,12 @@ Puppet::Functions.create_function(:'defined', Puppet::Functions::InternalFunctio
|
|
|
148
148
|
# Interpreted as asking if a class (and nothing else) is defined without having to be included in the catalog
|
|
149
149
|
# (this is the same as asking for just the class' name, but with the added certainty that it cannot be a defined type.
|
|
150
150
|
#
|
|
151
|
-
raise ArgumentError, 'The given class type is a reference to all classes' if val.type.class_name.nil?
|
|
151
|
+
raise ArgumentError, _('The given class type is a reference to all classes') if val.type.class_name.nil?
|
|
152
152
|
Puppet::Pops::Evaluator::Runtime3ResourceSupport.find_hostclass(scope, val.type.class_name)
|
|
153
153
|
#scope.environment.known_resource_types.find_hostclass(val.type.class_name)
|
|
154
154
|
end
|
|
155
155
|
else
|
|
156
|
-
raise ArgumentError, "Invalid argument of type '
|
|
156
|
+
raise ArgumentError, _("Invalid argument of type '%{value_class}' to 'defined'") % { value_class: val.class }
|
|
157
157
|
end
|
|
158
158
|
end
|
|
159
159
|
end
|
data/lib/puppet/functions/dig.rb
CHANGED
|
@@ -14,7 +14,7 @@ Puppet::Functions.create_function(:dig) do
|
|
|
14
14
|
args.reduce(data) do | d, k |
|
|
15
15
|
return nil if d.nil? || k.nil?
|
|
16
16
|
if !(d.is_a?(Array) || d.is_a?(Hash))
|
|
17
|
-
raise ArgumentError, "The given data does not contain a Collection at
|
|
17
|
+
raise ArgumentError, _("The given data does not contain a Collection at %{walked_path}, got '%{klass}'") % { walked_path: walked_path, klass: d.class }
|
|
18
18
|
end
|
|
19
19
|
walked_path << k
|
|
20
20
|
d[k]
|