puppet 4.10.12-x86-mingw32 → 5.0.0-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- data/CONTRIBUTING.md +32 -15
- data/Gemfile +31 -14
- data/MAINTAINERS +0 -5
- data/README.md +11 -11
- 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 +4 -9
- 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.rb +7 -5
- data/lib/puppet/agent.rb +29 -38
- data/lib/puppet/agent/disabler.rb +3 -3
- data/lib/puppet/agent/locker.rb +3 -3
- data/lib/puppet/application.rb +12 -29
- data/lib/puppet/application/agent.rb +20 -18
- data/lib/puppet/application/apply.rb +22 -18
- data/lib/puppet/application/cert.rb +2 -7
- data/lib/puppet/application/config.rb +0 -1
- data/lib/puppet/application/describe.rb +1 -1
- data/lib/puppet/application/device.rb +94 -76
- data/lib/puppet/application/doc.rb +6 -6
- data/lib/puppet/application/face_base.rb +8 -13
- data/lib/puppet/application/filebucket.rb +12 -29
- data/lib/puppet/application/help.rb +0 -1
- data/lib/puppet/application/lookup.rb +106 -101
- data/lib/puppet/application/master.rb +14 -22
- data/lib/puppet/application/resource.rb +13 -10
- data/lib/puppet/application_support.rb +1 -6
- data/lib/puppet/configurer.rb +33 -45
- data/lib/puppet/configurer/downloader.rb +2 -2
- data/lib/puppet/configurer/fact_handler.rb +13 -4
- data/lib/puppet/context.rb +5 -5
- data/lib/puppet/context/trusted_information.rb +1 -1
- data/lib/puppet/defaults.rb +18 -131
- data/lib/puppet/environments.rb +1 -1
- data/lib/puppet/error.rb +1 -1
- data/lib/puppet/external/nagios/grammar.ry +1 -1
- data/lib/puppet/external/nagios/parser.rb +1 -1
- data/lib/puppet/external/pson/common.rb +4 -0
- data/lib/puppet/face/ca.rb +49 -42
- data/lib/puppet/face/catalog.rb +1 -1
- data/lib/puppet/face/catalog/select.rb +4 -4
- data/lib/puppet/face/certificate.rb +20 -20
- data/lib/puppet/face/config.rb +9 -22
- data/lib/puppet/face/epp.rb +59 -61
- data/lib/puppet/face/facts.rb +4 -4
- data/lib/puppet/face/generate.rb +8 -8
- data/lib/puppet/face/help.rb +7 -7
- data/lib/puppet/face/key.rb +2 -2
- data/lib/puppet/face/man.rb +5 -5
- data/lib/puppet/face/module.rb +2 -2
- 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/node.rb +5 -5
- data/lib/puppet/face/node/clean.rb +8 -8
- data/lib/puppet/face/parser.rb +16 -16
- data/lib/puppet/face/plugin.rb +6 -6
- data/lib/puppet/face/report.rb +9 -9
- data/lib/puppet/face/resource.rb +12 -12
- data/lib/puppet/face/status.rb +4 -4
- data/lib/puppet/feature/base.rb +3 -2
- 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.rb +3 -3
- data/lib/puppet/file_serving/configuration/parser.rb +12 -12
- 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 +7 -7
- data/lib/puppet/file_serving/mount.rb +1 -1
- 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/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.rb +8 -14
- data/lib/puppet/forge/errors.rb +12 -12
- data/lib/puppet/forge/repository.rb +1 -1
- data/lib/puppet/functions.rb +17 -45
- 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/each.rb +4 -10
- data/lib/puppet/functions/epp.rb +0 -3
- data/lib/puppet/functions/hiera_include.rb +1 -1
- data/lib/puppet/functions/hocon_data.rb +2 -2
- data/lib/puppet/functions/json_data.rb +1 -1
- data/lib/puppet/functions/lookup.rb +2 -2
- data/lib/puppet/functions/map.rb +3 -13
- data/lib/puppet/functions/match.rb +2 -2
- data/lib/puppet/functions/reduce.rb +0 -31
- 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/generate/models/type/property.rb +1 -1
- data/lib/puppet/generate/type.rb +12 -12
- data/lib/puppet/graph/relationship_graph.rb +4 -7
- data/lib/puppet/graph/simple_graph.rb +45 -66
- data/lib/puppet/indirector.rb +2 -2
- data/lib/puppet/indirector/catalog/compiler.rb +58 -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 +10 -9
- 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 +16 -18
- 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 +11 -23
- 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/info_service/class_information_service.rb +4 -5
- data/lib/puppet/interface.rb +2 -7
- data/lib/puppet/interface/face_collection.rb +6 -1
- data/lib/puppet/module.rb +10 -35
- data/lib/puppet/module_tool.rb +7 -3
- 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/tar.rb +2 -1
- data/lib/puppet/module_tool/tar/mini.rb +4 -57
- 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 -23
- data/lib/puppet/network/http/error.rb +14 -10
- data/lib/puppet/network/http/factory.rb +0 -12
- 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.rb +2 -2
- data/lib/puppet/network/http/rack/rest.rb +1 -1
- data/lib/puppet/network/http/request.rb +34 -20
- data/lib/puppet/network/http/response.rb +13 -1
- data/lib/puppet/network/http/webrick.rb +8 -6
- data/lib/puppet/network/http/webrick/rest.rb +2 -2
- data/lib/puppet/network/rights.rb +6 -6
- data/lib/puppet/network/server.rb +2 -2
- data/lib/puppet/node.rb +25 -23
- data/lib/puppet/node/environment.rb +21 -4
- data/lib/puppet/node/facts.rb +0 -14
- data/lib/puppet/parameter.rb +3 -28
- 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/parser/ast/leaf.rb +1 -1
- 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.rb +44 -117
- 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/e4_parser_adapter.rb +1 -2
- data/lib/puppet/parser/environment_compiler.rb +13 -15
- data/lib/puppet/parser/functions.rb +6 -6
- data/lib/puppet/parser/functions/assert_type.rb +1 -1
- data/lib/puppet/parser/functions/binary_file.rb +1 -1
- data/lib/puppet/parser/functions/break.rb +1 -1
- data/lib/puppet/parser/functions/contain.rb +1 -1
- data/lib/puppet/parser/functions/create_resources.rb +3 -3
- data/lib/puppet/parser/functions/defined.rb +1 -1
- data/lib/puppet/parser/functions/dig.rb +1 -1
- data/lib/puppet/parser/functions/each.rb +1 -1
- data/lib/puppet/parser/functions/epp.rb +1 -4
- data/lib/puppet/parser/functions/file.rb +1 -1
- data/lib/puppet/parser/functions/filter.rb +1 -1
- data/lib/puppet/parser/functions/find_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_epp.rb +1 -1
- data/lib/puppet/parser/functions/inline_template.rb +1 -1
- data/lib/puppet/parser/functions/lest.rb +1 -1
- data/lib/puppet/parser/functions/map.rb +1 -1
- data/lib/puppet/parser/functions/match.rb +1 -1
- data/lib/puppet/parser/functions/new.rb +45 -30
- data/lib/puppet/parser/functions/next.rb +1 -1
- data/lib/puppet/parser/functions/reduce.rb +1 -1
- data/lib/puppet/parser/functions/require.rb +1 -1
- data/lib/puppet/parser/functions/return.rb +2 -23
- data/lib/puppet/parser/functions/reverse_each.rb +1 -1
- data/lib/puppet/parser/functions/slice.rb +1 -1
- data/lib/puppet/parser/functions/sprintf.rb +3 -17
- data/lib/puppet/parser/functions/step.rb +1 -1
- data/lib/puppet/parser/functions/strftime.rb +1 -1
- data/lib/puppet/parser/functions/then.rb +1 -1
- data/lib/puppet/parser/functions/type.rb +1 -1
- data/lib/puppet/parser/functions/with.rb +1 -1
- data/lib/puppet/parser/parser_factory.rb +0 -30
- data/lib/puppet/parser/relationship.rb +49 -20
- data/lib/puppet/parser/resource.rb +31 -30
- data/lib/puppet/parser/resource/param.rb +0 -3
- data/lib/puppet/parser/scope.rb +122 -168
- 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.rb +7 -37
- data/lib/puppet/pops/adaptable.rb +8 -3
- data/lib/puppet/pops/adapters.rb +23 -83
- data/lib/puppet/pops/evaluator/access_operator.rb +10 -39
- data/lib/puppet/pops/evaluator/collector_transformer.rb +7 -12
- data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +1 -1
- 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 +46 -38
- 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_support.rb +13 -30
- data/lib/puppet/pops/functions/dispatch.rb +1 -6
- data/lib/puppet/pops/issues.rb +182 -162
- 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/module_loaders.rb +59 -8
- 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 +33 -64
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +7 -7
- data/lib/puppet/pops/loader/typed_name.rb +5 -0
- data/lib/puppet/pops/loaders.rb +15 -5
- data/lib/puppet/pops/lookup.rb +4 -2
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/data_provider.rb +3 -18
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +12 -35
- data/lib/puppet/pops/lookup/interpolation.rb +1 -0
- data/lib/puppet/pops/lookup/invocation.rb +1 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +20 -64
- data/lib/puppet/pops/lookup/lookup_key.rb +1 -1
- data/lib/puppet/pops/lookup/module_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/sub_lookup.rb +2 -1
- data/lib/puppet/pops/merge_strategy.rb +1 -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 +9 -8
- 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/heredoc_support.rb +1 -1
- data/lib/puppet/pops/parser/interpolation_support.rb +4 -4
- data/lib/puppet/pops/parser/lexer2.rb +7 -33
- data/lib/puppet/pops/parser/locator.rb +39 -16
- data/lib/puppet/pops/parser/parser_support.rb +25 -29
- data/lib/puppet/pops/patterns.rb +1 -2
- data/lib/puppet/pops/pcore.rb +26 -19
- data/lib/puppet/pops/resource/param.rb +1 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -2
- data/lib/puppet/pops/serialization.rb +25 -1
- data/lib/puppet/pops/serialization/abstract_writer.rb +9 -1
- data/lib/puppet/pops/serialization/deserializer.rb +1 -1
- 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 +5 -5
- data/lib/puppet/pops/serialization/serializer.rb +23 -9
- data/lib/puppet/pops/serialization/to_data_converter.rb +292 -0
- 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 -4
- 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 +42 -34
- 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 +107 -30
- data/lib/puppet/pops/types/type_calculator.rb +56 -94
- data/lib/puppet/pops/types/type_factory.rb +34 -6
- data/lib/puppet/pops/types/type_formatter.rb +64 -16
- data/lib/puppet/pops/types/type_mismatch_describer.rb +13 -22
- data/lib/puppet/pops/types/type_parser.rb +28 -13
- data/lib/puppet/pops/types/type_set_reference.rb +6 -6
- data/lib/puppet/pops/types/types.rb +169 -245
- data/lib/puppet/pops/utils.rb +0 -24
- data/lib/puppet/pops/validation.rb +3 -9
- data/lib/puppet/pops/validation/checker4_0.rb +86 -76
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +0 -1
- data/lib/puppet/pops/visitor.rb +21 -0
- data/lib/puppet/property.rb +17 -14
- data/lib/puppet/property/ensure.rb +3 -3
- data/lib/puppet/property/list.rb +1 -10
- data/lib/puppet/provider.rb +2 -0
- 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.rb +4 -4
- data/lib/puppet/provider/exec/posix.rb +4 -4
- data/lib/puppet/provider/exec/windows.rb +3 -3
- 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/group/windows_adsi.rb +7 -4
- 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.rb +2 -1
- data/lib/puppet/provider/mount/parsed.rb +10 -8
- data/lib/puppet/provider/naginator.rb +1 -1
- data/lib/puppet/provider/nameservice.rb +8 -10
- data/lib/puppet/provider/nameservice/directoryservice.rb +11 -11
- data/lib/puppet/provider/network_device.rb +2 -1
- data/lib/puppet/provider/package/aix.rb +6 -6
- 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/dnf.rb +1 -1
- 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.rb +4 -4
- data/lib/puppet/provider/package/windows/package.rb +3 -3
- data/lib/puppet/provider/package/yum.rb +5 -6
- data/lib/puppet/provider/package/zypper.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +1 -1
- data/lib/puppet/provider/service/base.rb +8 -21
- data/lib/puppet/provider/service/smf.rb +2 -2
- data/lib/puppet/provider/service/systemd.rb +1 -2
- data/lib/puppet/provider/service/upstart.rb +1 -3
- data/lib/puppet/provider/user/aix.rb +2 -2
- data/lib/puppet/provider/user/ldap.rb +1 -1
- data/lib/puppet/provider/user/windows_adsi.rb +1 -1
- data/lib/puppet/provider/yumrepo/inifile.rb +3 -3
- data/lib/puppet/provider/zfs/zfs.rb +1 -5
- data/lib/puppet/reference/configuration.rb +0 -2
- 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 +8 -6
- data/lib/puppet/resource.rb +75 -134
- data/lib/puppet/resource/capability_finder.rb +1 -1
- data/lib/puppet/resource/catalog.rb +26 -34
- data/lib/puppet/resource/status.rb +13 -24
- data/lib/puppet/resource/type.rb +13 -61
- data/lib/puppet/resource/type_collection.rb +29 -23
- data/lib/puppet/settings.rb +1 -1
- 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 -10
- 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/ssl/base.rb +2 -2
- data/lib/puppet/ssl/certificate_authority.rb +21 -21
- data/lib/puppet/ssl/certificate_authority/interface.rb +13 -13
- 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.rb +38 -23
- 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 +34 -47
- data/lib/puppet/transaction/resource_harness.rb +14 -12
- data/lib/puppet/type.rb +9 -7
- data/lib/puppet/type/augeas.rb +2 -2
- data/lib/puppet/type/cron.rb +14 -31
- data/lib/puppet/type/exec.rb +16 -16
- data/lib/puppet/type/file.rb +21 -22
- 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 +6 -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 +5 -1
- 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 +9 -8
- 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 +16 -19
- data/lib/puppet/type/user.rb +35 -70
- 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/util.rb +16 -12
- data/lib/puppet/util/at_fork.rb +35 -0
- data/lib/puppet/util/at_fork/noop.rb +18 -0
- data/lib/puppet/util/at_fork/solaris.rb +158 -0
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/backups.rb +6 -6
- data/lib/puppet/util/classgen.rb +4 -4
- data/lib/puppet/util/command_line.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/diff.rb +1 -1
- data/lib/puppet/util/errors.rb +4 -4
- data/lib/puppet/util/execution.rb +9 -9
- 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 +7 -15
- 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.rb +23 -16
- data/lib/puppet/util/log/destinations.rb +10 -16
- data/lib/puppet/util/logging.rb +11 -8
- data/lib/puppet/util/metric.rb +9 -6
- data/lib/puppet/util/monkey_patches.rb +27 -66
- data/lib/puppet/util/network_device.rb +1 -1
- 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/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.rb +4 -4
- data/lib/puppet/util/reference.rb +14 -7
- 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.rb +2 -0
- data/lib/puppet/util/windows/adsi.rb +19 -16
- data/lib/puppet/util/windows/api_types.rb +7 -11
- 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 +13 -96
- data/lib/puppet/util/windows/principal.rb +6 -7
- data/lib/puppet/util/windows/process.rb +6 -14
- 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 +13 -66
- data/lib/puppet/util/windows/taskscheduler.rb +62 -62
- data/lib/puppet/util/windows/user.rb +6 -6
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +2 -10
- 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/locales → locales}/config.yaml +0 -0
- data/lib/puppet/version.rb +1 -1
- data/locales/config.yaml +1 -1
- data/locales/puppet.pot +7847 -112
- data/man/man5/puppet.conf.5 +55 -296
- data/man/man8/puppet-agent.8 +10 -32
- data/man/man8/puppet-apply.8 +6 -21
- data/man/man8/puppet-ca.8 +34 -48
- data/man/man8/puppet-catalog.8 +4 -4
- data/man/man8/puppet-cert.8 +6 -23
- data/man/man8/puppet-certificate.8 +28 -44
- data/man/man8/puppet-certificate_request.8 +4 -4
- data/man/man8/puppet-certificate_revocation_list.8 +4 -4
- data/man/man8/puppet-config.8 +5 -5
- data/man/man8/puppet-describe.8 +3 -3
- data/man/man8/puppet-device.8 +13 -23
- data/man/man8/puppet-doc.8 +5 -5
- data/man/man8/puppet-epp.8 +10 -16
- data/man/man8/puppet-facts.8 +4 -4
- data/man/man8/puppet-filebucket.8 +6 -63
- data/man/man8/puppet-help.8 +4 -4
- data/man/man8/puppet-inspect.8 +5 -8
- data/man/man8/puppet-key.8 +4 -4
- data/man/man8/puppet-man.8 +5 -5
- data/man/man8/puppet-master.8 +5 -5
- data/man/man8/puppet-module.8 +13 -22
- data/man/man8/puppet-node.8 +4 -4
- data/man/man8/puppet-parser.8 +4 -4
- data/man/man8/puppet-plugin.8 +4 -4
- data/man/man8/puppet-report.8 +4 -4
- data/man/man8/puppet-resource.8 +8 -4
- data/man/man8/puppet-status.8 +5 -5
- data/man/man8/puppet.8 +3 -12
- data/spec/fixtures/unit/application/environments/production/data/common.yaml +0 -2
- 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/agent/logging_spec.rb +0 -2
- data/spec/integration/application/apply_spec.rb +19 -23
- data/spec/integration/application/lookup_spec.rb +0 -21
- data/spec/integration/configurer_spec.rb +1 -1
- data/spec/integration/defaults_spec.rb +2 -2
- data/spec/integration/file_bucket/file_spec.rb +5 -20
- 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 +1 -1
- data/spec/integration/parser/scope_spec.rb +53 -4
- data/spec/integration/provider/cron/crontab_spec.rb +0 -1
- data/spec/integration/resource/catalog_spec.rb +0 -4
- data/spec/integration/transaction/report_spec.rb +2 -2
- data/spec/integration/transaction_spec.rb +4 -37
- data/spec/integration/type/package_spec.rb +7 -1
- data/spec/integration/util/execution_spec.rb +0 -8
- data/spec/integration/util/windows/adsi_spec.rb +1 -86
- data/spec/integration/util/windows/principal_spec.rb +1 -10
- data/spec/integration/util/windows/process_spec.rb +0 -45
- data/spec/lib/matchers/json.rb +3 -3
- data/spec/lib/puppet/indirector_testing.rb +4 -0
- data/spec/lib/puppet_spec/compiler.rb +1 -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 +28 -9
- data/spec/spec_helper.rb +0 -11
- data/spec/unit/agent_spec.rb +12 -34
- data/spec/unit/application/agent_spec.rb +16 -0
- data/spec/unit/application/apply_spec.rb +37 -13
- data/spec/unit/application/cert_spec.rb +1 -40
- data/spec/unit/application/config_spec.rb +0 -4
- 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/lookup_spec.rb +1 -31
- data/spec/unit/application/master_spec.rb +22 -6
- data/spec/unit/application/resource_spec.rb +17 -0
- data/spec/unit/application_spec.rb +0 -24
- data/spec/unit/capability_spec.rb +2 -6
- data/spec/unit/configurer/fact_handler_spec.rb +74 -41
- data/spec/unit/configurer/plugin_handler_spec.rb +13 -19
- data/spec/unit/configurer_spec.rb +36 -33
- data/spec/unit/defaults_spec.rb +0 -44
- data/spec/unit/environments_spec.rb +0 -15
- data/spec/unit/face/config_spec.rb +2 -1
- data/spec/unit/face/epp_face_spec.rb +0 -9
- 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 +14 -9
- data/spec/unit/forge/forge_spec.rb +2 -2
- data/spec/unit/forge_spec.rb +0 -105
- data/spec/unit/functions/annotate_spec.rb +175 -0
- data/spec/unit/functions/break_spec.rb +52 -83
- data/spec/unit/functions/call_spec.rb +77 -0
- data/spec/unit/functions/contain_spec.rb +1 -1
- data/spec/unit/functions/defined_spec.rb +2 -2
- data/spec/unit/functions/epp_spec.rb +0 -10
- data/spec/unit/functions/hiera_spec.rb +0 -5
- data/spec/unit/functions/lookup_fixture_spec.rb +1 -6
- data/spec/unit/functions/lookup_spec.rb +4 -97
- 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/relationship_graph_spec.rb +0 -15
- data/spec/unit/graph/simple_graph_spec.rb +58 -55
- data/spec/unit/indirector/catalog/compiler_spec.rb +206 -174
- 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 +4 -4
- data/spec/unit/indirector/file_server_spec.rb +17 -2
- data/spec/unit/indirector/indirection_spec.rb +3 -60
- 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 +0 -45
- data/spec/unit/indirector/rest_spec.rb +57 -15
- data/spec/unit/interface/face_collection_spec.rb +7 -7
- data/spec/unit/interface_spec.rb +0 -12
- data/spec/unit/module_spec.rb +10 -31
- 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/mini_spec.rb +5 -34
- 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 +62 -52
- 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/factory_spec.rb +9 -38
- data/spec/unit/network/http/handler_spec.rb +8 -12
- data/spec/unit/network/http/request_spec.rb +110 -0
- data/spec/unit/network/http/response_spec.rb +108 -0
- data/spec/unit/network/http/webrick_spec.rb +29 -30
- 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/ast/leaf_spec.rb +4 -3
- data/spec/unit/parser/compiler_spec.rb +1 -1
- data/spec/unit/parser/environment_compiler_spec.rb +0 -2
- data/spec/unit/parser/functions/sprintf_spec.rb +0 -26
- data/spec/unit/parser/resource_spec.rb +86 -24
- data/spec/unit/parser/scope_spec.rb +4 -81
- 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 +19 -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 +69 -1
- data/spec/unit/pops/loaders/static_loader_spec.rb +3 -7
- 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 +4 -59
- 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 +87 -1
- 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 +99 -13
- data/spec/unit/pops/types/p_timestamp_type_spec.rb +8 -8
- data/spec/unit/pops/types/p_type_set_type_spec.rb +1 -9
- data/spec/unit/pops/types/ruby_generator_spec.rb +57 -20
- data/spec/unit/pops/types/string_converter_spec.rb +78 -30
- data/spec/unit/pops/types/type_acceptor_spec.rb +2 -2
- data/spec/unit/pops/types/type_calculator_spec.rb +207 -123
- 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_mismatch_describer_spec.rb +0 -9
- data/spec/unit/pops/types/type_parser_spec.rb +6 -6
- data/spec/unit/pops/types/types_spec.rb +42 -2
- data/spec/unit/pops/validator/validator_spec.rb +25 -86
- 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/group/windows_adsi_spec.rb +22 -79
- data/spec/unit/provider/package/aix_spec.rb +0 -8
- data/spec/unit/provider/package/portage_spec.rb +103 -17
- data/spec/unit/provider/package/rpm_spec.rb +14 -1
- data/spec/unit/provider/package/yum_spec.rb +0 -10
- data/spec/unit/provider/service/base_spec.rb +0 -20
- data/spec/unit/provider/service/smf_spec.rb +4 -2
- data/spec/unit/provider/service/systemd_spec.rb +1 -15
- data/spec/unit/provider/user/directoryservice_spec.rb +7 -7
- data/spec/unit/provider/user/windows_adsi_spec.rb +4 -4
- data/spec/unit/provider/zfs/zfs_spec.rb +1 -7
- 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 +47 -49
- 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 -81
- 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/nagios_spec.rb +1 -21
- data/spec/unit/type/ssh_authorized_key_spec.rb +2 -2
- data/spec/unit/type/tidy_spec.rb +0 -14
- data/spec/unit/type/user_spec.rb +2 -4
- data/spec/unit/util/at_fork_spec.rb +150 -0
- data/spec/unit/util/execution_spec.rb +31 -2
- data/spec/unit/util/http_proxy_spec.rb +0 -37
- 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/adsi_spec.rb +27 -31
- data/spec/unit/util/windows/api_types_spec.rb +0 -51
- data/spec/unit/util/windows/eventlog_spec.rb +123 -0
- data/spec/unit/util/windows/sid_spec.rb +15 -86
- data/spec/unit/util_spec.rb +7 -1
- data/tasks/benchmark.rake +3 -3
- data/tasks/cfpropertylist.rake +1 -1
- data/tasks/generate_ast_model.rake +78 -0
- data/tasks/manpages.rake +1 -1
- data/tasks/parallel.rake +7 -12
- metadata +3456 -3717
- 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 -184
- data/lib/puppet/application/resource_type.rb +0 -7
- data/lib/puppet/data_providers.rb +0 -34
- 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/face/file.rb +0 -50
- data/lib/puppet/face/file/download.rb +0 -56
- data/lib/puppet/face/file/store.rb +0 -21
- 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.rb +0 -5
- data/lib/puppet/indirector/resource_type/parser.rb +0 -108
- data/lib/puppet/indirector/resource_type/rest.rb +0 -7
- data/lib/puppet/parser/yaml_trimmer.rb +0 -7
- data/lib/puppet/plugins/binding_schemes.rb +0 -140
- data/lib/puppet/plugins/data_providers.rb +0 -45
- data/lib/puppet/plugins/data_providers/data_provider.rb +0 -406
- data/lib/puppet/plugins/data_providers/registry.rb +0 -51
- 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.rb +0 -224
- 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/model_builder.rb +0 -32
- 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/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.rb +0 -297
- 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/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.rb +0 -98
- 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/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.rb +0 -163
- 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.tpl +0 -9
- 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/test.tpl +0 -4
- data/lib/puppet/vendor/rgen/test/template_language_test/testout.txt +0 -29
- 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.rb +0 -160
- 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_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-generate.8 +0 -84
- data/man/man8/puppet-lookup.8 +0 -87
- 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/fixtures/unit/provider/package/yum/yum-check-update-plugin-output.txt +0 -36
- data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +0 -3
- data/spec/unit/application/inspect_spec.rb +0 -316
- 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
@@ -1,108 +0,0 @@
|
|
1
|
-
require 'puppet/resource/type'
|
2
|
-
require 'puppet/indirector/code'
|
3
|
-
require 'puppet/indirector/resource_type'
|
4
|
-
|
5
|
-
# The main terminus for Puppet::Resource::Type
|
6
|
-
#
|
7
|
-
# This exposes the known resource types from within Puppet. Only find
|
8
|
-
# and search are supported. When a request is received, Puppet will
|
9
|
-
# attempt to load all resource types (by parsing manifests and modules) and
|
10
|
-
# returns a description of the resource types found. The format of these
|
11
|
-
# objects is documented at {Puppet::Resource::Type}.
|
12
|
-
#
|
13
|
-
# @api public
|
14
|
-
class Puppet::Indirector::ResourceType::Parser < Puppet::Indirector::Code
|
15
|
-
desc "Return the data-form of a resource type."
|
16
|
-
|
17
|
-
# Find will return the first resource_type with the given name. It is
|
18
|
-
# not possible to specify the kind of the resource type.
|
19
|
-
#
|
20
|
-
# @param request [Puppet::Indirector::Request] The request object.
|
21
|
-
# The only parameters used from the request are `environment` and
|
22
|
-
# `key`, which corresponds to the resource type's `name` field.
|
23
|
-
# @return [Puppet::Resource::Type, nil]
|
24
|
-
# @api public
|
25
|
-
def find(request)
|
26
|
-
Puppet.override(:squelch_parse_errors => true) do
|
27
|
-
krt = resource_types_in(request.environment)
|
28
|
-
|
29
|
-
# This is a bit ugly.
|
30
|
-
[:hostclass, :definition, :application, :node].each do |type|
|
31
|
-
# We have to us 'find_<type>' here because it will
|
32
|
-
# load any missing types from disk, whereas the plain
|
33
|
-
# '<type>' method only returns from memory.
|
34
|
-
if r = krt.send("find_#{type}", request.key)
|
35
|
-
return r
|
36
|
-
end
|
37
|
-
end
|
38
|
-
nil
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
# Search for resource types using a regular expression. Unlike `find`, this
|
43
|
-
# allows you to filter the results by the "kind" of the resource type
|
44
|
-
# ("class", "defined_type", or "node"). All three are searched if no
|
45
|
-
# `kind` filter is given. This also accepts the special string "`*`"
|
46
|
-
# to return all resource type objects.
|
47
|
-
#
|
48
|
-
# @param request [Puppet::Indirector::Request] The request object. The
|
49
|
-
# `key` field holds the regular expression used to search, and
|
50
|
-
# `options[:kind]` holds the kind query parameter to filter the
|
51
|
-
# result as described above. The `environment` field specifies the
|
52
|
-
# environment used to load resources.
|
53
|
-
#
|
54
|
-
# @return [Array<Puppet::Resource::Type>, nil]
|
55
|
-
#
|
56
|
-
# @api public
|
57
|
-
def search(request)
|
58
|
-
Puppet.override(:squelch_parse_errors => true) do
|
59
|
-
|
60
|
-
krt = resource_types_in(request.environment)
|
61
|
-
# Make sure we've got all of the types loaded.
|
62
|
-
krt.loader.import_all
|
63
|
-
|
64
|
-
result_candidates = case request.options[:kind]
|
65
|
-
when "class"
|
66
|
-
krt.hostclasses.values
|
67
|
-
when "defined_type"
|
68
|
-
krt.definitions.values
|
69
|
-
when "application"
|
70
|
-
krt.applications.values
|
71
|
-
when "node"
|
72
|
-
krt.nodes.values
|
73
|
-
when nil
|
74
|
-
result_candidates = [krt.hostclasses.values, krt.definitions.values, krt.applications.values, krt.nodes.values]
|
75
|
-
else
|
76
|
-
raise ArgumentError, "Unrecognized kind filter: " +
|
77
|
-
"'#{request.options[:kind]}', expected one " +
|
78
|
-
" of 'class', 'defined_type', 'application', or 'node'."
|
79
|
-
end
|
80
|
-
|
81
|
-
result = result_candidates.flatten.reject { |t| t.name == "" }
|
82
|
-
return nil if result.empty?
|
83
|
-
return result if request.key == "*"
|
84
|
-
|
85
|
-
# Strip the regex of any wrapping slashes that might exist
|
86
|
-
key = request.key.sub(/^\//, '').sub(/\/$/, '')
|
87
|
-
begin
|
88
|
-
regex = Regexp.new(key)
|
89
|
-
rescue => detail
|
90
|
-
raise ArgumentError, "Invalid regex '#{request.key}': #{detail}", detail.backtrace
|
91
|
-
end
|
92
|
-
|
93
|
-
result.reject! { |t| t.name.to_s !~ regex }
|
94
|
-
return nil if result.empty?
|
95
|
-
result
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
def resource_types_in(environment)
|
100
|
-
environment.check_for_reparse
|
101
|
-
environment.known_resource_types
|
102
|
-
end
|
103
|
-
|
104
|
-
def allow_remote_requests?
|
105
|
-
Puppet.deprecation_warning("The resource_type endpoint is deprecated in favor of the environment_classes endpoint. See https://docs.puppet.com/puppetserver/latest/puppet-api/v3/environment_classes.html")
|
106
|
-
super
|
107
|
-
end
|
108
|
-
end
|
@@ -1,140 +0,0 @@
|
|
1
|
-
require 'puppet/plugins'
|
2
|
-
module Puppet::Plugins::BindingSchemes
|
3
|
-
|
4
|
-
# The lookup **key** for the multibind containing a map from scheme name to scheme handler class for bindings schemes.
|
5
|
-
# @api public
|
6
|
-
BINDINGS_SCHEMES_KEY = 'puppet::binding::schemes'
|
7
|
-
|
8
|
-
# The lookup **type** for the multibind containing a map from scheme name to scheme handler class for bindings schemes.
|
9
|
-
# @api public
|
10
|
-
BINDINGS_SCHEMES_TYPE = 'Puppet::Plugins::BindingSchemes::BindingsSchemeHandler'
|
11
|
-
|
12
|
-
# BindingsSchemeHandler is a Puppet Extension Point for the purpose of extending Puppet with a
|
13
|
-
# handler of a URI scheme used in the Puppet Bindings / Injector system.
|
14
|
-
# The intended use is to create a class derived from this class and then register it with the
|
15
|
-
# Puppet Binder.
|
16
|
-
#
|
17
|
-
# Creating the Extension Class
|
18
|
-
# ----------------------------
|
19
|
-
# As an example, a class for getting LDAP data and transforming into bindings based on an LDAP URI scheme (such as RFC 2255, 4516)
|
20
|
-
# may be authored in say a puppet module called 'exampleorg/ldap'. The name of the class should start with `Puppetx::<user>::<module>`,
|
21
|
-
# e.g. 'Puppetx::Exampleorg::Ldap::LdapBindingsSchemeHandler" and
|
22
|
-
# be located in `lib/puppetx/exampleorg/Ldap/LdapBindingsSchemeHandler.rb`. (These rules are not enforced, but it makes the class
|
23
|
-
# both auto-loadable, and guaranteed to not have a name that clashes with some other LdapBindingsSchemeHandler from some other
|
24
|
-
# author/organization.
|
25
|
-
#
|
26
|
-
# The Puppet Binder will auto-load the file when it
|
27
|
-
# has a binding to the class `Puppetx::Exampleorg::Ldap::LdapBindingsSchemeHandler'
|
28
|
-
# The Ruby Module `Puppetx` is created by Puppet, the remaining modules should be created by the loaded logic - e.g.:
|
29
|
-
#
|
30
|
-
# @example Defining an LdapBindingsSchemeHandler
|
31
|
-
# module Puppetx::Exampleorg
|
32
|
-
# module Ldap
|
33
|
-
# class LdapBindingsSchemeHandler < Puppetx::Puppetlabs::BindingsSchemeHandler
|
34
|
-
# # implement the methods
|
35
|
-
# end
|
36
|
-
# end
|
37
|
-
# end
|
38
|
-
#
|
39
|
-
#
|
40
|
-
# The expand_included method
|
41
|
-
# --------------------------
|
42
|
-
# This method is given a URI (as entered by a user in a bindings configuration) and the handler's first task is to
|
43
|
-
# perform checking, transformation, and possible expansion into multiple URIs for loading. The result is always an array
|
44
|
-
# of URIs. This method allows users to enter wild-cards, or to represent something symbolic that is transformed into one or
|
45
|
-
# more "real URIs" to load. (It is allowed to change scheme!).
|
46
|
-
# If the "optional" feature is supported, the handler should not include the URI in the result unless it will be able to produce
|
47
|
-
# bindings for the given URI (as an option it may produce an empty set of bindings).
|
48
|
-
#
|
49
|
-
# The expand_excluded method
|
50
|
-
# ---------------------------
|
51
|
-
# This method is given an URI (as entered by the user in a bindings configuration), and it is the handler's second task
|
52
|
-
# to perform checking, transformation, and possible expansion into multiple URIs that should not be loaded. The result is always
|
53
|
-
# an array of URIs. The user may be allowed to enter wild-cards etc. The URIs produced by this method should have the same syntax
|
54
|
-
# as those produced by {#expand_included} since they are excluded by comparison.
|
55
|
-
#
|
56
|
-
# The contributed_bindings method
|
57
|
-
# -------------------------------
|
58
|
-
# As the last step, the handler is being called once per URI that was included, and not later excluded to produce the
|
59
|
-
# contributed bindings. It is given three arguments, uri (the uri to load), scope (to provide access to the rest of the
|
60
|
-
# environment), and an acceptor (of issues), on which issues can be recorded.
|
61
|
-
#
|
62
|
-
# Reporting Errors/Issues
|
63
|
-
# -----------------------
|
64
|
-
# Issues are reported by calling the given composer's acceptor, which takes a severity (e.g. `:error`,
|
65
|
-
# `:warning`, or `:ignore`), an {Puppet::Pops::Issues::Issue Issue} instance, and a {Puppet::Pops::Adapters::SourcePosAdapter
|
66
|
-
# SourcePosAdapter} (which describes details about linenumber, position, and length of the problem area). If the scheme is
|
67
|
-
# not based on file, line, pos - nil can be passed. The URI itself can be passed as file.
|
68
|
-
#
|
69
|
-
# @example Reporting an issue
|
70
|
-
# # create an issue with a symbolic name (that can serve as a reference to more details about the problem),
|
71
|
-
# # make the name unique
|
72
|
-
# issue = Puppet::Pops::Issues::issue(:EXAMPLEORG_LDAP_ILLEGAL_URI) { "The URI is not a valid Ldap URI" }
|
73
|
-
# source_pos = nil
|
74
|
-
#
|
75
|
-
# # report it
|
76
|
-
# composer.acceptor.accept(Puppet::Pops::Validation::Diagnostic.new(:error, issue, uri.to_s, source_pos, {}))
|
77
|
-
#
|
78
|
-
# Instead of reporting issues, an exception can be raised.
|
79
|
-
#
|
80
|
-
# @abstract
|
81
|
-
# @api public
|
82
|
-
#
|
83
|
-
class BindingsSchemeHandler
|
84
|
-
# Produces the bindings contributed to the binding system based on the given URI.
|
85
|
-
# @param uri [URI] the URI to load bindings from
|
86
|
-
# @param scope [Puppet::Pops::Parser::Scope] access to scope and the rest of the environment
|
87
|
-
# @param composer [Puppet::Pops::Binder::BindingsComposer] a composer giving access to modules by name, and a diagnostics acceptor
|
88
|
-
# @return [Puppet::Pops::Binder::Bindings::ContributedBindings] the bindings to contribute, most conveniently
|
89
|
-
# created by calling {Puppet::Pops::Binder::BindingsFactory.contributed_bindings}.
|
90
|
-
# @api public
|
91
|
-
#
|
92
|
-
def contributed_bindings(uri, scope, composer)
|
93
|
-
raise NotImplementedError, "The BindingsProviderScheme for uri: '#{uri}' must implement 'contributed_bindings'"
|
94
|
-
end
|
95
|
-
|
96
|
-
# Expands the given URI for the purpose of including the bindings it refers to. The input may contain
|
97
|
-
# wild-cards (if supported by this handler), and it is this methods responsibility to transform such into
|
98
|
-
# real loadable URIs.
|
99
|
-
#
|
100
|
-
# A scheme handler that does not support optionality, or wildcards should simply return the given URI
|
101
|
-
# in an Array.
|
102
|
-
#
|
103
|
-
# @param uri [URI] the uri for which bindings are to be produced.
|
104
|
-
# @param composer [Puppet::Pops::Binder::BindingsComposer] a composer giving access to modules by name, and a diagnostics acceptor
|
105
|
-
# @return [Array<URI>] the transformed, and possibly expanded set of URIs to include.
|
106
|
-
# @api public
|
107
|
-
#
|
108
|
-
def expand_included(uri, composer)
|
109
|
-
[uri]
|
110
|
-
end
|
111
|
-
|
112
|
-
# Expands the given URI for the purpose of excluding the bindings it refers to. The input may contain
|
113
|
-
# wild-cards (if supported by this handler), and it is this methods responsibility to transform such into
|
114
|
-
# real loadable URIs (that match those produced by {#expand_included} that should be excluded from the result.
|
115
|
-
#
|
116
|
-
# A scheme handler that does not support optionality, or wildcards should simply return the given URI
|
117
|
-
# in an Array.
|
118
|
-
#
|
119
|
-
# @param uri [URI] the uri for which bindings are to be produced.
|
120
|
-
# @param composer [Puppet::Pops::Binder::BindingsComposer] a composer giving access to modules by name, and a diagnostics acceptor
|
121
|
-
# @return [Array<URI>] the transformed, and possibly expanded set of URIs to include-
|
122
|
-
# @api public
|
123
|
-
#
|
124
|
-
def expand_excluded(uri, composer)
|
125
|
-
[uri]
|
126
|
-
end
|
127
|
-
|
128
|
-
# Returns whether the uri is optional or not. A scheme handler does not have to use this method
|
129
|
-
# to determine optionality, but if it supports such a feature, and there is no technical problem in supporting
|
130
|
-
# it this way, it should be done the same (or at least similar) way across all scheme handlers.
|
131
|
-
#
|
132
|
-
# This method interprets a URI ending with `?` or has query that is '?optional' as optional.
|
133
|
-
#
|
134
|
-
# @return [Boolean] whether the uri is an optional reference or not.
|
135
|
-
def is_optional?(uri)
|
136
|
-
(query = uri.query) && query == '' || query == 'optional'
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
end
|
@@ -1,45 +0,0 @@
|
|
1
|
-
module Puppet::Plugins; end
|
2
|
-
|
3
|
-
# TODO: API 5.0, remove this module
|
4
|
-
# @api private
|
5
|
-
# @deprecated
|
6
|
-
module Puppet::Plugins::DataProviders
|
7
|
-
|
8
|
-
# The lookup **key** for the multibind containing data provider name per module
|
9
|
-
# @api public
|
10
|
-
PER_MODULE_DATA_PROVIDER_KEY = 'puppet::module_data'
|
11
|
-
|
12
|
-
# The lookup **type** for the name of the per module data provider.
|
13
|
-
# @api public
|
14
|
-
PER_MODULE_DATA_PROVIDER_TYPE = String
|
15
|
-
|
16
|
-
# The lookup **key** for the multibind containing map of provider name to env data provider implementation.
|
17
|
-
# @api public
|
18
|
-
ENV_DATA_PROVIDERS_KEY = 'puppet::environment_data_providers'
|
19
|
-
|
20
|
-
# The lookup **type** for the multibind containing map of provider name to env data provider implementation.
|
21
|
-
# @api public
|
22
|
-
ENV_DATA_PROVIDERS_TYPE = 'Puppet::Plugins::DataProviders::EnvironmentDataProvider'
|
23
|
-
|
24
|
-
# The lookup **key** for the multibind containing map of provider name to module data provider implementation.
|
25
|
-
# @api public
|
26
|
-
MODULE_DATA_PROVIDERS_KEY = 'puppet::module_data_providers'
|
27
|
-
|
28
|
-
# The lookup **type** for the multibind containing map of provider name to module data provider implementation.
|
29
|
-
# @api public
|
30
|
-
MODULE_DATA_PROVIDERS_TYPE = 'Puppet::Plugins::DataProviders::ModuleDataProvider'
|
31
|
-
|
32
|
-
# The lookup **key** for the multibind containing map of provider name to path based data provider factory
|
33
|
-
# implementation.
|
34
|
-
# @api public
|
35
|
-
PATH_BASED_DATA_PROVIDER_FACTORIES_KEY = 'puppet::path_based_data_provider_factories'
|
36
|
-
|
37
|
-
# The lookup **type** for the multibind containing map of provider name to path based data provider factory
|
38
|
-
# implementation.
|
39
|
-
# @api public
|
40
|
-
PATH_BASED_DATA_PROVIDER_FACTORIES_TYPE = 'Puppet::Plugins::DataProviders::PathBasedDataProviderFactory'
|
41
|
-
|
42
|
-
end
|
43
|
-
|
44
|
-
require_relative 'data_providers/data_provider'
|
45
|
-
require_relative 'data_providers/registry'
|
@@ -1,406 +0,0 @@
|
|
1
|
-
require 'puppet/pops/lookup/interpolation'
|
2
|
-
|
3
|
-
# TODO: API 5.0, remove this module
|
4
|
-
# @api private
|
5
|
-
# @deprecated
|
6
|
-
module Puppet::Plugins::DataProviders
|
7
|
-
# @deprecated
|
8
|
-
module DataProvider
|
9
|
-
include Puppet::Pops::Lookup::DataProvider
|
10
|
-
include Puppet::Pops::Lookup::Interpolation
|
11
|
-
|
12
|
-
def key_lookup(key, lookup_invocation, merge)
|
13
|
-
lookup(key.to_s, lookup_invocation, merge)
|
14
|
-
end
|
15
|
-
|
16
|
-
def unchecked_key_lookup(key, lookup_invocation, merge)
|
17
|
-
unchecked_lookup(key.to_s, lookup_invocation, merge)
|
18
|
-
end
|
19
|
-
|
20
|
-
# @deprecated
|
21
|
-
def lookup(key, lookup_invocation, merge)
|
22
|
-
lookup_invocation.check(key) { unchecked_lookup(key, lookup_invocation, merge) }
|
23
|
-
end
|
24
|
-
|
25
|
-
# Performs a lookup with the assumption that a recursive check has been made.
|
26
|
-
#
|
27
|
-
# @param key [String] The key to lookup
|
28
|
-
# @param lookup_invocation [Puppet::Pops::Lookup::Invocation] The current lookup invocation
|
29
|
-
# @param merge [String|Hash{String => Object}] Merge strategy or hash with strategy and options
|
30
|
-
def unchecked_lookup(key, lookup_invocation, merge)
|
31
|
-
unless Puppet[:strict] == :off
|
32
|
-
Puppet.warn_once(:deprecation, 'DataProvider#unchecked_lookup',
|
33
|
-
'DataProvider#unchecked_lookup is deprecated and will be removed in the next major version of Puppet')
|
34
|
-
end
|
35
|
-
segments = split_key(key)
|
36
|
-
root_key = segments.shift
|
37
|
-
lookup_invocation.with(:data_provider, self) do
|
38
|
-
hash = data(data_key(root_key, lookup_invocation), lookup_invocation)
|
39
|
-
value = hash[root_key]
|
40
|
-
if value || hash.include?(root_key)
|
41
|
-
value = sub_lookup(key, lookup_invocation, segments, value) unless segments.empty?
|
42
|
-
lookup_invocation.report_found(key, post_process(value, lookup_invocation))
|
43
|
-
else
|
44
|
-
lookup_invocation.report_not_found(key)
|
45
|
-
throw :no_such_key
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
# Perform optional post processing of found value. The default implementation resolves
|
51
|
-
# interpolation expressions
|
52
|
-
#
|
53
|
-
# @param value [Object] The value to perform post processing on
|
54
|
-
# @param lookup_invocation [Puppet::Pops::Lookup::Invocation] The current lookup invocation
|
55
|
-
# @return [Object] The result of post processing the value.
|
56
|
-
# @deprecated
|
57
|
-
def post_process(value, lookup_invocation)
|
58
|
-
interpolate(value, lookup_invocation, true)
|
59
|
-
end
|
60
|
-
|
61
|
-
# Gets the data from the compiler, or initializes it by calling #initialize_data if not present in the compiler.
|
62
|
-
# This means, that data is initialized once per compilation, and the data is cached for as long as the compiler
|
63
|
-
# lives (which is for one catalog production). This makes it possible to return data that is tailored for the
|
64
|
-
# request.
|
65
|
-
#
|
66
|
-
# If data is obtained using the #initialize_data method it will be sent to the #validate_data for validation
|
67
|
-
#
|
68
|
-
# @param data_key [String] The data key such as the name of a module or the constant 'environment'
|
69
|
-
# @param lookup_invocation [Puppet::Pops::Lookup::Invocation] The current lookup invocation
|
70
|
-
# @param merge [String|Hash<String,Object>|nil] Merge strategy or hash with strategy and options
|
71
|
-
# @return [Hash] The data hash for the given _key_
|
72
|
-
# @deprecated
|
73
|
-
def data(data_key, lookup_invocation)
|
74
|
-
unless Puppet[:strict] == :off
|
75
|
-
Puppet.warn_once(:deprecation, 'DataProvider#data',
|
76
|
-
'DataProvider#data is deprecated and will be removed in the next major version of Puppet')
|
77
|
-
end
|
78
|
-
compiler = lookup_invocation.scope.compiler
|
79
|
-
adapter = Puppet::DataProviders::DataAdapter.get(compiler) || Puppet::DataProviders::DataAdapter.adapt(compiler)
|
80
|
-
adapter.data[data_key] ||= validate_data(initialize_data(data_key, lookup_invocation))
|
81
|
-
end
|
82
|
-
protected :data
|
83
|
-
|
84
|
-
# Obtain an optional key to use when retrieving the data.
|
85
|
-
#
|
86
|
-
# @param key [String] The key to lookup
|
87
|
-
# @return [String,nil] The data key or nil if not applicable
|
88
|
-
# @deprecated
|
89
|
-
def data_key(key, lookup_invocation)
|
90
|
-
unless Puppet[:strict] == :off
|
91
|
-
Puppet.warn_once(:deprecation, 'DataProvider#data_key',
|
92
|
-
'DataProvider#data_key is deprecated and will be removed in the next major version of Puppet')
|
93
|
-
end
|
94
|
-
nil
|
95
|
-
end
|
96
|
-
|
97
|
-
# Should be reimplemented by subclass to provide the hash that corresponds to the given name.
|
98
|
-
#
|
99
|
-
# @param data_key [String] The data key such as the name of a module or the constant 'environment'
|
100
|
-
# @param lookup_invocation [Puppet::Pops::Lookup::Invocation] The current lookup invocation
|
101
|
-
# @return [Hash] The hash of values
|
102
|
-
# @deprecated
|
103
|
-
def initialize_data(data_key, lookup_invocation)
|
104
|
-
unless Puppet[:strict] == :off
|
105
|
-
Puppet.warn_once(:deprecation, 'DataProvider#initialize_data',
|
106
|
-
'DataProvider#initialize_data is deprecated and will be removed in the next major version of Puppet')
|
107
|
-
end
|
108
|
-
{}
|
109
|
-
end
|
110
|
-
protected :initialize_data
|
111
|
-
|
112
|
-
def name
|
113
|
-
cname = self.class.name
|
114
|
-
cname[cname.rindex(':')+1..-1]
|
115
|
-
end
|
116
|
-
|
117
|
-
# @deprecated
|
118
|
-
def validate_data(data, data_key)
|
119
|
-
data
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
|
-
# TODO: API 5.0 Remove this class
|
124
|
-
# @deprecated
|
125
|
-
# @api private
|
126
|
-
class ModuleDataProvider
|
127
|
-
LOOKUP_OPTIONS = 'lookup_options'.freeze
|
128
|
-
include DataProvider
|
129
|
-
|
130
|
-
attr_reader :module_name
|
131
|
-
|
132
|
-
def initialize(module_name = nil)
|
133
|
-
unless Puppet[:strict] == :off
|
134
|
-
Puppet.warn_once(:deprecation, 'Plugins::DataProviders::ModuleDataProvider',
|
135
|
-
'Plugins::DataProviders::ModuleDataProvider is deprecated and will be removed in the next major version of Puppet')
|
136
|
-
end
|
137
|
-
@module_name = module_name || Puppet::Pops::Lookup::Invocation.current.module_name
|
138
|
-
end
|
139
|
-
|
140
|
-
# Retrieve the first segment of the qualified name _key_. This method will throw
|
141
|
-
# :no_such_key unless the segment can be extracted.
|
142
|
-
#
|
143
|
-
# @param key [String] The key
|
144
|
-
# @return [String] The first segment of the given key
|
145
|
-
# @api private
|
146
|
-
# @deprecated
|
147
|
-
def data_key(key, lookup_invocation)
|
148
|
-
return module_name if key == LOOKUP_OPTIONS
|
149
|
-
qual_index = key.index('::')
|
150
|
-
throw :no_such_key if qual_index.nil?
|
151
|
-
key[0..qual_index-1]
|
152
|
-
end
|
153
|
-
|
154
|
-
# Asserts that all keys in the given _data_ are prefixed with the given _module_name_. Remove entries
|
155
|
-
# that does not follow the convention and log a warning.
|
156
|
-
#
|
157
|
-
# @param data [Hash] The data hash
|
158
|
-
# @param module_name [String] The name of the module where the data was found
|
159
|
-
# @return [Hash] The possibly pruned hash
|
160
|
-
# @api public
|
161
|
-
def validate_data(data, module_name)
|
162
|
-
module_prefix = "#{module_name}::"
|
163
|
-
data.each_key.reduce(data) do |memo, k|
|
164
|
-
if k.is_a?(String)
|
165
|
-
next memo if k == LOOKUP_OPTIONS || k.start_with?(module_prefix)
|
166
|
-
msg = 'must use keys qualified with the name of the module'
|
167
|
-
else
|
168
|
-
msg = "must use keys of type String, got #{k.class.name}"
|
169
|
-
end
|
170
|
-
memo = memo.clone if memo.equal?(data)
|
171
|
-
memo.delete(k)
|
172
|
-
Puppet.warning("Module data for module '#{module_name}' #{msg}")
|
173
|
-
memo
|
174
|
-
end
|
175
|
-
end
|
176
|
-
end
|
177
|
-
|
178
|
-
# TODO: API 5.0 Remove this class
|
179
|
-
# @deprecated
|
180
|
-
# @api private
|
181
|
-
class EnvironmentDataProvider
|
182
|
-
include DataProvider
|
183
|
-
|
184
|
-
def initialize
|
185
|
-
unless Puppet[:strict] == :off
|
186
|
-
Puppet.warn_once(:deprecation, 'Plugins::DataProviders::EnvironmentDataProvider',
|
187
|
-
'Plugins::DataProviders::EnvironmentDataProvider is deprecated and will be removed in the next major version of Puppet')
|
188
|
-
end
|
189
|
-
end
|
190
|
-
|
191
|
-
# @api private
|
192
|
-
# @deprecated
|
193
|
-
def data_key(key, lookup_invocation)
|
194
|
-
'environment'
|
195
|
-
end
|
196
|
-
end
|
197
|
-
|
198
|
-
# Class that keeps track of the original path (as it appears in the declaration, before interpolation),
|
199
|
-
# the fully resolved path, and whether or the resolved path exists.
|
200
|
-
#
|
201
|
-
# @api private
|
202
|
-
# @deprecated
|
203
|
-
class ResolvedPath
|
204
|
-
attr_reader :original_path, :path
|
205
|
-
|
206
|
-
# @param original_path [String] path as found in declaration. May contain interpolation expressions
|
207
|
-
# @param path [Pathname] the expanded absolute path
|
208
|
-
# @deprecated
|
209
|
-
def initialize(original_path, path)
|
210
|
-
@original_path = original_path
|
211
|
-
@path = path
|
212
|
-
@exists = nil
|
213
|
-
end
|
214
|
-
|
215
|
-
# @return [Boolean] cached info if the path exists or not
|
216
|
-
# @deprecated
|
217
|
-
def exists?
|
218
|
-
@exists = @path.exist? if @exists.nil?
|
219
|
-
@exists
|
220
|
-
end
|
221
|
-
alias exist? exists?
|
222
|
-
end
|
223
|
-
|
224
|
-
# A data provider that is initialized with a set of _paths_. When performing lookup, each
|
225
|
-
# path is search in the order they appear. If a value is found in more than one location it
|
226
|
-
# will be merged according to a given (optional) merge strategy.
|
227
|
-
#
|
228
|
-
# @abstract
|
229
|
-
# @api private
|
230
|
-
# @deprecated
|
231
|
-
class PathBasedDataProvider
|
232
|
-
include DataProvider
|
233
|
-
|
234
|
-
attr_reader :name
|
235
|
-
|
236
|
-
# @param name [String] The name of the data provider
|
237
|
-
# @param paths [Array<ResolvedPath>] Paths used by this provider
|
238
|
-
# @param parent_data_provider [DataProvider] The data provider that is the container of this data provider
|
239
|
-
# @deprecated
|
240
|
-
def initialize(name, paths, parent_data_provider = nil)
|
241
|
-
unless Puppet[:strict] == :off
|
242
|
-
Puppet.warn_once(:deprecation, 'PathBasedDataProvider',
|
243
|
-
'PathBasedDataProvider is deprecated and will be removed in the next major version of Puppet')
|
244
|
-
end
|
245
|
-
@name = name
|
246
|
-
@paths = paths
|
247
|
-
@parent_data_provider = parent_data_provider
|
248
|
-
end
|
249
|
-
|
250
|
-
# Gets the data from the compiler, or initializes it by calling #initialize_data if not present in the compiler.
|
251
|
-
# This means, that data is initialized once per compilation, and the data is cached for as long as the compiler
|
252
|
-
# lives (which is for one catalog production). This makes it possible to return data that is tailored for the
|
253
|
-
# request.
|
254
|
-
#
|
255
|
-
# If data is obtained using the #initialize_data method it will be sent to the #validate_data for validation
|
256
|
-
#
|
257
|
-
# @param path [String] The path to the data to be loaded (passed to #initialize_data)
|
258
|
-
# @param data_key [String] The data key such as the name of a module or the constant 'environment'
|
259
|
-
# @param lookup_invocation [Puppet::Pops::Lookup::Invocation] The current lookup invocation
|
260
|
-
# @param merge [String|Hash<String,Object>|nil] Merge strategy or hash with strategy and options
|
261
|
-
# @return [Hash] The data hash for the given _key_
|
262
|
-
# @deprecated
|
263
|
-
def load_data(path, data_key, lookup_invocation)
|
264
|
-
compiler = lookup_invocation.scope.compiler
|
265
|
-
adapter = Puppet::DataProviders::DataAdapter.get(compiler) || Puppet::DataProviders::DataAdapter.adapt(compiler)
|
266
|
-
adapter.data[path] ||= validate_data(initialize_data(path, lookup_invocation), data_key)
|
267
|
-
end
|
268
|
-
protected :data
|
269
|
-
|
270
|
-
# @deprecated
|
271
|
-
def validate_data(data, module_name)
|
272
|
-
@parent_data_provider.nil? ? data : @parent_data_provider.validate_data(data, module_name)
|
273
|
-
end
|
274
|
-
|
275
|
-
# Performs a lookup by searching all given paths for the given _key_. A merge will be performed if
|
276
|
-
# the value is found in more than one location and _merge_ is not nil.
|
277
|
-
#
|
278
|
-
# @param key [String] The key to lookup
|
279
|
-
# @param lookup_invocation [Puppet::Pops::Lookup::Invocation] The current lookup invocation
|
280
|
-
# @param merge [Puppet::Pops::MergeStrategy,String,Hash<String,Object>,nil] Merge strategy or hash with strategy and options
|
281
|
-
# @deprecated
|
282
|
-
def unchecked_lookup(key, lookup_invocation, merge)
|
283
|
-
segments = split_key(key)
|
284
|
-
root_key = segments.shift
|
285
|
-
|
286
|
-
module_name = @parent_data_provider.nil? ? nil : @parent_data_provider.data_key(key, lookup_invocation)
|
287
|
-
lookup_invocation.with(:data_provider, self) do
|
288
|
-
merge_strategy = Puppet::Pops::MergeStrategy.strategy(merge)
|
289
|
-
lookup_invocation.with(:merge, merge_strategy) do
|
290
|
-
merged_result = merge_strategy.merge_lookup(@paths) do |path|
|
291
|
-
lookup_invocation.with(:location, path) do
|
292
|
-
if path.exists?
|
293
|
-
hash = load_data(path.path, module_name, lookup_invocation)
|
294
|
-
value = hash[root_key]
|
295
|
-
if value || hash.include?(root_key)
|
296
|
-
value = sub_lookup(key, lookup_invocation, segments, value) unless segments.empty?
|
297
|
-
lookup_invocation.report_found(key, post_process(value, lookup_invocation))
|
298
|
-
else
|
299
|
-
lookup_invocation.report_not_found(key)
|
300
|
-
throw :no_such_key
|
301
|
-
end
|
302
|
-
else
|
303
|
-
lookup_invocation.report_location_not_found
|
304
|
-
throw :no_such_key
|
305
|
-
end
|
306
|
-
end
|
307
|
-
end
|
308
|
-
lookup_invocation.report_result(merged_result)
|
309
|
-
end
|
310
|
-
end
|
311
|
-
end
|
312
|
-
end
|
313
|
-
|
314
|
-
# TODO: API 5.0 Remove this class
|
315
|
-
# Factory for creating path based data providers
|
316
|
-
#
|
317
|
-
# @abstract
|
318
|
-
# @api private
|
319
|
-
# @deprecated
|
320
|
-
class PathBasedDataProviderFactory
|
321
|
-
# @deprecated
|
322
|
-
def initialize
|
323
|
-
unless Puppet[:strict] == :off
|
324
|
-
Puppet.warn_once(:deprecation, 'PathBasedDataProviderFactory',
|
325
|
-
'PathBasedDataProviderFactory is deprecated and will be removed in the next major version of Puppet')
|
326
|
-
end
|
327
|
-
end
|
328
|
-
|
329
|
-
# Create a path based data provider with the given _name_ and _paths_
|
330
|
-
#
|
331
|
-
# @param name [String] the name of the created provider (for logging and debugging)
|
332
|
-
# @param paths [Array<String>] array of resolved paths
|
333
|
-
# @param parent_data_provider [DataProvider] The data provider that is the container of this data provider
|
334
|
-
# @return [DataProvider] The created data provider
|
335
|
-
# @deprecated
|
336
|
-
def create(name, paths, parent_data_provider)
|
337
|
-
raise NotImplementedError, "Subclass of PathBasedDataProviderFactory must implement 'create' method"
|
338
|
-
end
|
339
|
-
|
340
|
-
# Resolve the given _paths_ to something that is meaningful as a _paths_ argument when creating
|
341
|
-
# a provider using the #create call.
|
342
|
-
#
|
343
|
-
# In order to increase efficiency, the implementors of this method should ensure that resolved
|
344
|
-
# paths that exists are included in the result.
|
345
|
-
#
|
346
|
-
# @param datadir [Pathname] The base when creating absolute paths
|
347
|
-
# @param declared_paths [Array<String>] paths as found in declaration. May contain interpolation expressions
|
348
|
-
# @param paths [Array<String>] paths that have been preprocessed (interpolations resolved)
|
349
|
-
# @param lookup_invocation [Puppet::Pops::Lookup::Invocation] The current lookup invocation
|
350
|
-
# @return [Array<ResolvedPath>] Array of resolved paths
|
351
|
-
# @deprecated
|
352
|
-
def resolve_paths(datadir, declared_paths, paths, lookup_invocation)
|
353
|
-
[]
|
354
|
-
end
|
355
|
-
|
356
|
-
# Returns the data provider factory version.
|
357
|
-
#
|
358
|
-
# return [Integer] the version of this data provider factory
|
359
|
-
def version
|
360
|
-
2
|
361
|
-
end
|
362
|
-
end
|
363
|
-
|
364
|
-
# TODO: API 5.0 Remove this class
|
365
|
-
# Factory for creating file based data providers. This is an extension of the path based
|
366
|
-
# factory where it is required that each resolved path appoints an existing file in the local
|
367
|
-
# file system.
|
368
|
-
#
|
369
|
-
# @abstract
|
370
|
-
# @api private
|
371
|
-
# @deprecated
|
372
|
-
class FileBasedDataProviderFactory < PathBasedDataProviderFactory
|
373
|
-
# @deprecated
|
374
|
-
def initialize
|
375
|
-
unless Puppet[:strict] == :off
|
376
|
-
Puppet.warn_once(:deprecation, 'FileBasedDataProviderFactory',
|
377
|
-
'FileBasedDataProviderFactory is deprecated and will be removed in the next major version of Puppet')
|
378
|
-
end
|
379
|
-
end
|
380
|
-
|
381
|
-
# @param datadir [Pathname] The base when creating absolute paths
|
382
|
-
# @param declared_paths [Array<String>] paths as found in declaration. May contain interpolation expressions
|
383
|
-
# @param paths [Array<String>] paths that have been preprocessed (interpolations resolved)
|
384
|
-
# @param lookup_invocation [Puppet::Pops::Lookup::Invocation] The current lookup invocation
|
385
|
-
# @return [Array<Puppet::DataProviders::ResolvedLocation>] Array of resolved paths
|
386
|
-
# @deprecated
|
387
|
-
def resolve_paths(datadir, declared_paths, paths, lookup_invocation)
|
388
|
-
resolved_paths = []
|
389
|
-
unless paths.nil? || datadir.nil?
|
390
|
-
ext = path_extension
|
391
|
-
paths.each_with_index do |path, idx|
|
392
|
-
path = path + ext unless path.end_with?(ext)
|
393
|
-
path = datadir + path
|
394
|
-
resolved_paths << Puppet::Pops::Lookup::ResolvedLocation.new(declared_paths[idx], path, path.exist?)
|
395
|
-
end
|
396
|
-
end
|
397
|
-
resolved_paths
|
398
|
-
end
|
399
|
-
|
400
|
-
# @deprecated
|
401
|
-
def path_extension
|
402
|
-
raise NotImplementedError, "Subclass of FileBasedProviderFactory must implement 'path_extension' method"
|
403
|
-
end
|
404
|
-
protected :path_extension
|
405
|
-
end
|
406
|
-
end
|