puppet 6.17.0-x64-mingw32 → 7.1.0-x64-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.
- checksums.yaml +4 -4
- data/CODEOWNERS +2 -16
- data/Gemfile +3 -4
- data/Gemfile.lock +32 -30
- data/README.md +2 -3
- data/Rakefile +4 -12
- data/conf/fileserver.conf +5 -10
- data/ext/build_defaults.yaml +1 -1
- data/ext/osx/file_mapping.yaml +0 -5
- data/ext/project_data.yaml +2 -14
- data/ext/redhat/puppet.spec.erb +0 -1
- data/ext/windows/service/daemon.rb +6 -5
- data/install.rb +21 -17
- data/lib/puppet.rb +11 -20
- data/lib/puppet/agent/locker.rb +0 -7
- data/lib/puppet/application.rb +172 -98
- data/lib/puppet/application/agent.rb +8 -3
- data/lib/puppet/application/apply.rb +18 -20
- data/lib/puppet/application/device.rb +100 -104
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +15 -11
- data/lib/puppet/application/lookup.rb +16 -4
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/application_support.rb +7 -0
- data/lib/puppet/configurer.rb +46 -19
- data/lib/puppet/configurer/downloader.rb +31 -10
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/confine.rb +1 -1
- data/lib/puppet/confine/any.rb +1 -1
- data/lib/puppet/defaults.rb +116 -162
- data/lib/puppet/environments.rb +72 -62
- data/lib/puppet/face/catalog.rb +1 -1
- data/lib/puppet/face/config.rb +56 -16
- data/lib/puppet/face/epp.rb +12 -2
- data/lib/puppet/face/facts.rb +66 -6
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node.rb +3 -3
- data/lib/puppet/face/node/clean.rb +10 -2
- data/lib/puppet/face/plugin.rb +5 -8
- data/lib/puppet/feature/base.rb +1 -1
- data/lib/puppet/ffi/posix.rb +10 -0
- data/lib/puppet/ffi/posix/constants.rb +14 -0
- data/lib/puppet/ffi/posix/functions.rb +24 -0
- data/lib/puppet/ffi/windows.rb +12 -0
- data/lib/puppet/ffi/windows/api_types.rb +311 -0
- data/lib/puppet/ffi/windows/constants.rb +404 -0
- data/lib/puppet/ffi/windows/functions.rb +628 -0
- data/lib/puppet/ffi/windows/structs.rb +338 -0
- data/lib/puppet/file_bucket/dipper.rb +1 -1
- data/lib/puppet/file_serving/configuration.rb +0 -5
- data/lib/puppet/file_serving/configuration/parser.rb +3 -32
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/file_serving/mount/locales.rb +1 -2
- data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -2
- data/lib/puppet/file_serving/mount/plugins.rb +1 -2
- data/lib/puppet/file_system/file_impl.rb +3 -3
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/functions/epp.rb +1 -0
- data/lib/puppet/functions/inline_epp.rb +1 -0
- data/lib/puppet/functions/lstrip.rb +4 -4
- data/lib/puppet/functions/new.rb +8 -3
- data/lib/puppet/functions/reverse_each.rb +1 -1
- data/lib/puppet/functions/rstrip.rb +4 -4
- data/lib/puppet/functions/step.rb +1 -1
- data/lib/puppet/functions/strip.rb +4 -4
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/gettext/config.rb +5 -5
- data/lib/puppet/gettext/module_translations.rb +4 -4
- data/lib/puppet/http.rb +23 -13
- data/lib/puppet/http/client.rb +165 -115
- data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
- data/lib/puppet/http/errors.rb +16 -0
- data/lib/puppet/http/external_client.rb +5 -7
- data/lib/puppet/{network/http → http}/factory.rb +8 -11
- data/lib/puppet/{network/http → http}/pool.rb +61 -26
- data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
- data/lib/puppet/http/proxy.rb +137 -0
- data/lib/puppet/http/redirector.rb +4 -12
- data/lib/puppet/http/resolver.rb +10 -23
- data/lib/puppet/http/resolver/server_list.rb +23 -45
- data/lib/puppet/http/resolver/settings.rb +7 -10
- data/lib/puppet/http/resolver/srv.rb +11 -15
- data/lib/puppet/http/response.rb +36 -54
- data/lib/puppet/http/response_converter.rb +24 -0
- data/lib/puppet/http/response_net_http.rb +42 -0
- data/lib/puppet/http/retry_after_handler.rb +4 -13
- data/lib/puppet/http/service.rb +15 -27
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +23 -70
- data/lib/puppet/http/service/file_server.rb +19 -28
- data/lib/puppet/http/service/puppetserver.rb +53 -0
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/session.rb +16 -24
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/indirector/catalog/compiler.rb +1 -1
- data/lib/puppet/indirector/catalog/rest.rb +2 -4
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/fact_search.rb +60 -0
- data/lib/puppet/indirector/facts/facter.rb +27 -6
- data/lib/puppet/indirector/facts/json.rb +27 -0
- data/lib/puppet/indirector/facts/rest.rb +3 -22
- data/lib/puppet/indirector/facts/yaml.rb +4 -59
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
- data/lib/puppet/indirector/file_content/rest.rb +2 -6
- data/lib/puppet/indirector/file_metadata/http.rb +1 -0
- data/lib/puppet/indirector/file_metadata/rest.rb +3 -9
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- data/lib/puppet/indirector/hiera.rb +4 -0
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/json.rb +5 -1
- data/lib/puppet/indirector/msgpack.rb +1 -1
- data/lib/puppet/indirector/node/json.rb +8 -0
- data/lib/puppet/indirector/node/rest.rb +2 -4
- data/lib/puppet/indirector/report/json.rb +34 -0
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/report/rest.rb +3 -8
- data/lib/puppet/indirector/request.rb +1 -102
- data/lib/puppet/indirector/rest.rb +12 -263
- data/lib/puppet/indirector/yaml.rb +1 -1
- data/lib/puppet/module.rb +1 -2
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/format_support.rb +2 -2
- data/lib/puppet/network/formats.rb +2 -1
- data/lib/puppet/network/http.rb +3 -3
- data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
- data/lib/puppet/network/http/api/master/v3.rb +11 -13
- data/lib/puppet/network/http/api/master/v3/environments.rb +0 -1
- data/lib/puppet/network/http/connection.rb +247 -316
- data/lib/puppet/network/http/handler.rb +0 -1
- data/lib/puppet/network/http/route.rb +2 -2
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/node/environment.rb +12 -5
- data/lib/puppet/node/facts.rb +17 -0
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +93 -14
- data/lib/puppet/parameter.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
- data/lib/puppet/parser/compiler.rb +0 -198
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/functions.rb +21 -17
- data/lib/puppet/parser/functions/create_resources.rb +11 -7
- data/lib/puppet/parser/resource.rb +0 -69
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +2 -2
- data/lib/puppet/pops/adaptable.rb +7 -13
- data/lib/puppet/pops/adapters.rb +8 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +22 -8
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/issues.rb +0 -5
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +4 -2
- data/lib/puppet/pops/loaders.rb +18 -11
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +14 -1
- data/lib/puppet/pops/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -290
- data/lib/puppet/pops/model/factory.rb +0 -45
- data/lib/puppet/pops/model/model_label_provider.rb +0 -5
- data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
- data/lib/puppet/pops/model/pn_transformer.rb +0 -16
- data/lib/puppet/pops/parser/egrammar.ra +0 -56
- data/lib/puppet/pops/parser/eparser.rb +1520 -1712
- data/lib/puppet/pops/parser/lexer2.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +0 -5
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
- data/lib/puppet/pops/types/iterable.rb +34 -8
- data/lib/puppet/pops/types/p_meta_type.rb +1 -1
- data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
- data/lib/puppet/pops/types/type_calculator.rb +0 -7
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +0 -1
- data/lib/puppet/pops/validation/checker4_0.rb +28 -52
- data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
- data/lib/puppet/provider.rb +0 -13
- data/lib/puppet/provider/file/windows.rb +1 -1
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +34 -0
- data/lib/puppet/provider/package/dpkg.rb +1 -11
- data/lib/puppet/provider/package/gem.rb +27 -5
- data/lib/puppet/provider/package/pip.rb +0 -1
- data/lib/puppet/provider/package/pip2.rb +17 -0
- data/lib/puppet/provider/package/pkg.rb +0 -4
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +6 -4
- data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
- data/lib/puppet/provider/package/yum.rb +1 -0
- data/lib/puppet/provider/package/zypper.rb +3 -0
- data/lib/puppet/provider/service/smf.rb +191 -73
- data/lib/puppet/provider/user/aix.rb +3 -3
- data/lib/puppet/provider/user/directoryservice.rb +0 -10
- data/lib/puppet/provider/user/user_role_add.rb +1 -1
- data/lib/puppet/provider/user/windows_adsi.rb +18 -1
- data/lib/puppet/reference/configuration.rb +2 -0
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/resource.rb +1 -89
- data/lib/puppet/resource/catalog.rb +1 -14
- data/lib/puppet/resource/type.rb +5 -120
- data/lib/puppet/resource/type_collection.rb +3 -48
- data/lib/puppet/runtime.rb +1 -2
- data/lib/puppet/settings.rb +84 -35
- data/lib/puppet/settings/base_setting.rb +26 -2
- data/lib/puppet/settings/integer_setting.rb +17 -0
- data/lib/puppet/settings/port_setting.rb +15 -0
- data/lib/puppet/settings/priority_setting.rb +5 -4
- data/lib/puppet/ssl.rb +10 -6
- data/lib/puppet/ssl/base.rb +3 -5
- data/lib/puppet/ssl/certificate.rb +0 -6
- data/lib/puppet/ssl/certificate_request.rb +1 -12
- data/lib/puppet/ssl/certificate_signer.rb +6 -0
- data/lib/puppet/ssl/oids.rb +3 -1
- data/lib/puppet/ssl/ssl_provider.rb +17 -0
- data/lib/puppet/ssl/state_machine.rb +3 -1
- data/lib/puppet/ssl/verifier.rb +2 -0
- data/lib/puppet/test/test_helper.rb +11 -6
- data/lib/puppet/transaction.rb +3 -9
- data/lib/puppet/transaction/persistence.rb +1 -1
- data/lib/puppet/transaction/report.rb +10 -8
- data/lib/puppet/trusted_external.rb +2 -2
- data/lib/puppet/type.rb +4 -79
- data/lib/puppet/type/file.rb +7 -9
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/source.rb +29 -9
- data/lib/puppet/type/filebucket.rb +4 -4
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +5 -13
- data/lib/puppet/type/service.rb +4 -0
- data/lib/puppet/type/user.rb +19 -4
- data/lib/puppet/util.rb +26 -12
- data/lib/puppet/util/autoload.rb +9 -7
- data/lib/puppet/util/character_encoding.rb +9 -5
- data/lib/puppet/util/execution.rb +2 -13
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/monkey_patches.rb +0 -46
- data/lib/puppet/util/posix.rb +53 -4
- data/lib/puppet/util/rdoc.rb +0 -7
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/rubygems.rb +5 -1
- data/lib/puppet/util/run_mode.rb +14 -2
- data/lib/puppet/util/windows.rb +3 -7
- data/lib/puppet/util/windows/daemon.rb +360 -0
- data/lib/puppet/util/windows/error.rb +1 -0
- data/lib/puppet/util/windows/eventlog.rb +4 -9
- data/lib/puppet/util/windows/file.rb +8 -242
- data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
- data/lib/puppet/util/windows/process.rb +4 -226
- data/lib/puppet/util/windows/security.rb +4 -4
- data/lib/puppet/util/windows/service.rb +9 -460
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/windows/user.rb +219 -0
- data/lib/puppet/util/yaml.rb +0 -22
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509.rb +5 -1
- data/lib/puppet/x509/cert_provider.rb +29 -1
- data/locales/puppet.pot +656 -1351
- data/man/man5/puppet.conf.5 +72 -97
- data/man/man8/puppet-agent.8 +6 -3
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +6 -6
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +55 -9
- data/man/man8/puppet-filebucket.8 +6 -6
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +2 -2
- data/man/man8/puppet-module.8 +1 -58
- data/man/man8/puppet-node.8 +7 -4
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +4 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +2 -0
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +25 -0
- data/spec/fixtures/unit/forge/bacula-releases.json +128 -0
- data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
- data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
- data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
- data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +4 -0
- data/spec/integration/application/agent_spec.rb +70 -61
- data/spec/integration/application/apply_spec.rb +150 -150
- data/spec/integration/application/doc_spec.rb +16 -6
- data/spec/integration/application/filebucket_spec.rb +78 -29
- data/spec/integration/application/help_spec.rb +44 -0
- data/spec/integration/application/lookup_spec.rb +13 -0
- data/spec/integration/application/module_spec.rb +68 -0
- data/spec/integration/application/plugin_spec.rb +76 -4
- data/spec/integration/configurer_spec.rb +14 -0
- data/spec/integration/data_binding_spec.rb +82 -0
- data/spec/integration/defaults_spec.rb +32 -3
- data/spec/integration/directory_environments_spec.rb +17 -17
- data/spec/integration/environments/setting_hooks_spec.rb +1 -1
- data/spec/integration/indirector/facts/facter_spec.rb +8 -6
- data/spec/integration/network/http_pool_spec.rb +3 -21
- data/spec/integration/node/environment_spec.rb +1 -1
- data/spec/integration/parser/catalog_spec.rb +0 -38
- data/spec/integration/parser/node_spec.rb +0 -9
- data/spec/integration/parser/pcore_resource_spec.rb +0 -37
- data/spec/integration/type/file_spec.rb +5 -4
- data/spec/integration/util/execution_spec.rb +22 -0
- data/spec/integration/util/windows/adsi_spec.rb +2 -2
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/process_spec.rb +26 -32
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/integration/util/windows/user_spec.rb +7 -0
- data/spec/integration/util_spec.rb +7 -33
- data/spec/lib/puppet_spec/matchers.rb +0 -80
- data/spec/lib/puppet_spec/puppetserver.rb +9 -1
- data/spec/lib/puppet_spec/settings.rb +7 -1
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/unit/agent_spec.rb +0 -2
- data/spec/unit/application/agent_spec.rb +3 -4
- data/spec/unit/application/config_spec.rb +224 -4
- data/spec/unit/application/doc_spec.rb +2 -2
- data/spec/unit/application/face_base_spec.rb +6 -4
- data/spec/unit/application/facts_spec.rb +74 -8
- data/spec/unit/application/filebucket_spec.rb +41 -39
- data/spec/unit/application/resource_spec.rb +3 -1
- data/spec/unit/application/ssl_spec.rb +17 -4
- data/spec/unit/application_spec.rb +43 -4
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +14 -0
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +96 -44
- data/spec/unit/confine_spec.rb +2 -1
- data/spec/unit/context/trusted_information_spec.rb +2 -6
- data/spec/unit/defaults_spec.rb +26 -32
- data/spec/unit/environments_spec.rb +173 -32
- data/spec/unit/face/config_spec.rb +65 -12
- data/spec/unit/face/facts_spec.rb +4 -0
- data/spec/unit/face/node_spec.rb +16 -4
- data/spec/unit/face/plugin_spec.rb +73 -33
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +14 -18
- data/spec/unit/file_serving/configuration_spec.rb +6 -12
- data/spec/unit/file_serving/mount/locales_spec.rb +2 -2
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +2 -2
- data/spec/unit/file_serving/mount/plugins_spec.rb +2 -2
- data/spec/unit/file_system/uniquefile_spec.rb +18 -0
- data/spec/unit/file_system_spec.rb +1 -2
- data/spec/unit/functions/camelcase_spec.rb +1 -1
- data/spec/unit/functions/capitalize_spec.rb +1 -1
- data/spec/unit/functions/downcase_spec.rb +1 -1
- data/spec/unit/functions/inline_epp_spec.rb +26 -1
- data/spec/unit/functions/upcase_spec.rb +1 -1
- data/spec/unit/http/client_spec.rb +7 -9
- data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
- data/spec/unit/http/external_client_spec.rb +4 -4
- data/spec/unit/{network/http → http}/factory_spec.rb +5 -11
- data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
- data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
- data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
- data/spec/unit/http/resolver_spec.rb +34 -15
- data/spec/unit/http/service/ca_spec.rb +2 -3
- data/spec/unit/http/service/compiler_spec.rb +51 -65
- data/spec/unit/http/service/file_server_spec.rb +5 -6
- data/spec/unit/http/service/puppetserver_spec.rb +112 -0
- data/spec/unit/http/service/report_spec.rb +2 -3
- data/spec/unit/http/service_spec.rb +1 -3
- data/spec/unit/http/session_spec.rb +24 -35
- data/spec/unit/{network/http → http}/site_spec.rb +3 -3
- data/spec/unit/indirector/catalog/json_spec.rb +1 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
- data/spec/unit/indirector/facts/facter_spec.rb +97 -0
- data/spec/unit/indirector/facts/json_spec.rb +255 -0
- data/spec/unit/indirector/facts/rest_spec.rb +1 -1
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_server_spec.rb +1 -15
- data/spec/unit/indirector/json_spec.rb +8 -8
- data/spec/unit/indirector/msgpack_spec.rb +8 -8
- data/spec/unit/indirector/node/json_spec.rb +33 -0
- data/spec/unit/indirector/node/rest_spec.rb +1 -1
- data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/report/yaml_spec.rb +72 -8
- data/spec/unit/indirector/request_spec.rb +2 -266
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/indirector/yaml_spec.rb +7 -7
- data/spec/unit/module_tool/tar/mini_spec.rb +20 -0
- data/spec/unit/network/authconfig_spec.rb +2 -132
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/format_support_spec.rb +3 -2
- data/spec/unit/network/formats_spec.rb +4 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -97
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +12 -23
- data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
- data/spec/unit/network/http/api_spec.rb +10 -0
- data/spec/unit/network/http/connection_spec.rb +19 -41
- data/spec/unit/network/http/handler_spec.rb +0 -6
- data/spec/unit/network/http_pool_spec.rb +0 -4
- data/spec/unit/node/environment_spec.rb +51 -22
- data/spec/unit/node_spec.rb +2 -54
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/parser/templatewrapper_spec.rb +4 -3
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
- data/spec/unit/pops/loaders/loaders_spec.rb +76 -21
- data/spec/unit/pops/lookup/lookup_spec.rb +25 -0
- data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
- data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
- data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
- data/spec/unit/pops/types/type_factory_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +61 -46
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/provider/exec_spec.rb +4 -3
- data/spec/unit/provider/nameservice_spec.rb +0 -57
- data/spec/unit/provider/package/apt_spec.rb +77 -0
- data/spec/unit/provider/package/aptitude_spec.rb +1 -0
- data/spec/unit/provider/package/dpkg_spec.rb +22 -55
- data/spec/unit/provider/package/gem_spec.rb +32 -0
- data/spec/unit/provider/package/openbsd_spec.rb +2 -0
- data/spec/unit/provider/package/pip2_spec.rb +36 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +6 -2
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
- data/spec/unit/provider/package/yum_spec.rb +31 -0
- data/spec/unit/provider/package/zypper_spec.rb +14 -0
- data/spec/unit/provider/service/base_spec.rb +2 -4
- data/spec/unit/provider/service/bsd_spec.rb +5 -1
- data/spec/unit/provider/service/daemontools_spec.rb +1 -1
- data/spec/unit/provider/service/debian_spec.rb +3 -5
- data/spec/unit/provider/service/freebsd_spec.rb +1 -1
- data/spec/unit/provider/service/gentoo_spec.rb +4 -5
- data/spec/unit/provider/service/init_spec.rb +45 -5
- data/spec/unit/provider/service/launchd_spec.rb +5 -6
- data/spec/unit/provider/service/openrc_spec.rb +4 -5
- data/spec/unit/provider/service/openwrt_spec.rb +1 -1
- data/spec/unit/provider/service/redhat_spec.rb +1 -1
- data/spec/unit/provider/service/runit_spec.rb +2 -1
- data/spec/unit/provider/service/smf_spec.rb +402 -166
- data/spec/unit/provider/service/src_spec.rb +3 -5
- data/spec/unit/provider/service/systemd_spec.rb +3 -6
- data/spec/unit/provider/service/upstart_spec.rb +4 -5
- data/spec/unit/provider/service/windows_spec.rb +28 -1
- data/spec/unit/provider/user/aix_spec.rb +5 -0
- data/spec/unit/provider/user/pw_spec.rb +2 -0
- data/spec/unit/provider/user/useradd_spec.rb +1 -0
- data/spec/unit/provider/user/windows_adsi_spec.rb +82 -0
- data/spec/unit/provider_spec.rb +0 -12
- data/spec/unit/puppet_pal_2pec.rb +40 -0
- data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
- data/spec/unit/reports/store_spec.rb +17 -13
- data/spec/unit/resource/type_collection_spec.rb +2 -22
- data/spec/unit/resource_spec.rb +0 -56
- data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
- data/spec/unit/settings/integer_setting_spec.rb +42 -0
- data/spec/unit/settings/port_setting_spec.rb +31 -0
- data/spec/unit/settings/priority_setting_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +586 -239
- data/spec/unit/ssl/base_spec.rb +36 -3
- data/spec/unit/ssl/certificate_request_spec.rb +15 -45
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/ssl_provider_spec.rb +11 -8
- data/spec/unit/ssl/state_machine_spec.rb +0 -1
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- data/spec/unit/transaction/persistence_spec.rb +15 -0
- data/spec/unit/transaction/report_spec.rb +2 -2
- data/spec/unit/transaction/resource_harness_spec.rb +2 -2
- data/spec/unit/transaction_spec.rb +45 -79
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +1 -1
- data/spec/unit/type/file/ensure_spec.rb +1 -1
- data/spec/unit/type/file/mode_spec.rb +1 -1
- data/spec/unit/type/file/source_spec.rb +1 -2
- data/spec/unit/type/file_spec.rb +12 -6
- data/spec/unit/type/filebucket_spec.rb +1 -1
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type/service_spec.rb +35 -2
- data/spec/unit/type/user_spec.rb +31 -2
- data/spec/unit/type_spec.rb +20 -0
- data/spec/unit/util/backups_spec.rb +0 -2
- data/spec/unit/util/character_encoding_spec.rb +4 -4
- data/spec/unit/util/command_line_spec.rb +11 -6
- data/spec/unit/util/execution_spec.rb +0 -29
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/posix_spec.rb +357 -15
- data/spec/unit/util/rubygems_spec.rb +2 -2
- data/spec/unit/util/run_mode_spec.rb +27 -127
- data/spec/unit/util/storage_spec.rb +3 -1
- data/spec/unit/util/windows/string_spec.rb +1 -3
- data/spec/unit/util/yaml_spec.rb +0 -54
- data/spec/unit/util_spec.rb +0 -18
- metadata +84 -261
- data/conf/auth.conf +0 -150
- data/lib/puppet/application/cert.rb +0 -76
- data/lib/puppet/application/key.rb +0 -4
- data/lib/puppet/application/man.rb +0 -4
- data/lib/puppet/application/status.rb +0 -4
- data/lib/puppet/face/key.rb +0 -16
- data/lib/puppet/face/man.rb +0 -145
- data/lib/puppet/face/module/build.rb +0 -14
- data/lib/puppet/face/module/generate.rb +0 -14
- data/lib/puppet/face/module/search.rb +0 -103
- data/lib/puppet/face/status.rb +0 -51
- data/lib/puppet/indirector/certificate/file.rb +0 -9
- data/lib/puppet/indirector/certificate/rest.rb +0 -18
- data/lib/puppet/indirector/certificate_request/file.rb +0 -9
- data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
- data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
- data/lib/puppet/indirector/file_content/http.rb +0 -22
- data/lib/puppet/indirector/key/file.rb +0 -46
- data/lib/puppet/indirector/key/memory.rb +0 -7
- data/lib/puppet/indirector/ssl_file.rb +0 -162
- data/lib/puppet/indirector/status.rb +0 -3
- data/lib/puppet/indirector/status/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- data/lib/puppet/module_tool/applications/searcher.rb +0 -29
- data/lib/puppet/network/auth_config_parser.rb +0 -90
- data/lib/puppet/network/authstore.rb +0 -283
- data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
- data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
- data/lib/puppet/network/http/base_pool.rb +0 -36
- data/lib/puppet/network/http/compression.rb +0 -127
- data/lib/puppet/network/http/connection_adapter.rb +0 -184
- data/lib/puppet/network/http/nocache_pool.rb +0 -28
- data/lib/puppet/network/rest_controller.rb +0 -2
- data/lib/puppet/network/rights.rb +0 -210
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
- data/lib/puppet/parser/environment_compiler.rb +0 -202
- data/lib/puppet/pops/types/enumeration.rb +0 -16
- data/lib/puppet/resource/capability_finder.rb +0 -154
- data/lib/puppet/rest/errors.rb +0 -15
- data/lib/puppet/rest/response.rb +0 -35
- data/lib/puppet/rest/route.rb +0 -85
- data/lib/puppet/rest/routes.rb +0 -135
- data/lib/puppet/ssl/host.rb +0 -505
- data/lib/puppet/ssl/key.rb +0 -61
- data/lib/puppet/ssl/validator.rb +0 -61
- data/lib/puppet/ssl/validator/default_validator.rb +0 -209
- data/lib/puppet/ssl/validator/no_validator.rb +0 -22
- data/lib/puppet/ssl/verifier_adapter.rb +0 -58
- data/lib/puppet/status.rb +0 -40
- data/lib/puppet/util/connection.rb +0 -88
- data/lib/puppet/util/ssl.rb +0 -83
- data/lib/puppet/util/windows/api_types.rb +0 -295
- data/lib/puppet/vendor/load_pathspec.rb +0 -1
- data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
- data/lib/puppet/vendor/pathspec/LICENSE +0 -201
- data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/pathspec/README.md +0 -53
- data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
- data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
- data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
- data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
- data/man/man8/puppet-key.8 +0 -126
- data/man/man8/puppet-man.8 +0 -76
- data/man/man8/puppet-status.8 +0 -108
- data/spec/integration/faces/config_spec.rb +0 -91
- data/spec/integration/faces/documentation_spec.rb +0 -57
- data/spec/integration/file_bucket/file_spec.rb +0 -50
- data/spec/integration/file_serving/content_spec.rb +0 -7
- data/spec/integration/file_serving/fileset_spec.rb +0 -12
- data/spec/integration/file_serving/metadata_spec.rb +0 -8
- data/spec/integration/file_serving/terminus_helper_spec.rb +0 -20
- data/spec/integration/file_system/uniquefile_spec.rb +0 -26
- data/spec/integration/module_tool/forge_spec.rb +0 -51
- data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/provider/service/init_spec.rb +0 -48
- data/spec/integration/provider/service/systemd_spec.rb +0 -25
- data/spec/integration/provider/service/windows_spec.rb +0 -50
- data/spec/integration/reference/providers_spec.rb +0 -21
- data/spec/integration/reports_spec.rb +0 -13
- data/spec/integration/ssl/certificate_request_spec.rb +0 -44
- data/spec/integration/ssl/host_spec.rb +0 -72
- data/spec/integration/ssl/key_spec.rb +0 -99
- data/spec/shared_behaviours/file_serving_model.rb +0 -51
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/face/catalog_spec.rb +0 -6
- data/spec/unit/face/key_spec.rb +0 -9
- data/spec/unit/face/man_spec.rb +0 -25
- data/spec/unit/face/module/search_spec.rb +0 -231
- data/spec/unit/face/module_spec.rb +0 -3
- data/spec/unit/face/status_spec.rb +0 -9
- data/spec/unit/indirector/certificate/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
- data/spec/unit/indirector/key/file_spec.rb +0 -79
- data/spec/unit/indirector/ssl_file_spec.rb +0 -305
- data/spec/unit/indirector/status/local_spec.rb +0 -10
- data/spec/unit/indirector/status/rest_spec.rb +0 -50
- data/spec/unit/man_spec.rb +0 -31
- data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
- data/spec/unit/network/auth_config_parser_spec.rb +0 -115
- data/spec/unit/network/authstore_spec.rb +0 -422
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
- data/spec/unit/network/http/compression_spec.rb +0 -240
- data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
- data/spec/unit/network/http_spec.rb +0 -9
- data/spec/unit/network/rights_spec.rb +0 -439
- data/spec/unit/parser/environment_compiler_spec.rb +0 -730
- data/spec/unit/pops/types/enumeration_spec.rb +0 -51
- data/spec/unit/resource/capability_finder_spec.rb +0 -143
- data/spec/unit/rest/route_spec.rb +0 -132
- data/spec/unit/ssl/host_spec.rb +0 -650
- data/spec/unit/ssl/key_spec.rb +0 -173
- data/spec/unit/ssl/validator_spec.rb +0 -278
- data/spec/unit/status_spec.rb +0 -45
- data/spec/unit/util/ssl_spec.rb +0 -91
@@ -50,7 +50,7 @@ class Puppet::Parser::TemplateWrapper
|
|
50
50
|
# @return [Array<String>] The tags defined in the current scope
|
51
51
|
# @api public
|
52
52
|
def tags
|
53
|
-
|
53
|
+
raise NotImplementedError, "Call 'all_tags' instead."
|
54
54
|
end
|
55
55
|
|
56
56
|
# @return [Array<String>] All the defined tags
|
@@ -81,7 +81,7 @@ class Puppet::Parser::TypeLoader
|
|
81
81
|
end
|
82
82
|
|
83
83
|
def parse_file(file)
|
84
|
-
Puppet.debug
|
84
|
+
Puppet.debug { "importing '#{file}' in environment #{environment}" }
|
85
85
|
parser = Puppet::Parser::ParserFactory.parser
|
86
86
|
parser.file = file
|
87
87
|
return parser.parse
|
@@ -118,7 +118,7 @@ class Puppet::Parser::TypeLoader
|
|
118
118
|
# still be parsed. Mark this file as loaded so that
|
119
119
|
# it would not be parsed next time (handle it as if
|
120
120
|
# it was successfully parsed).
|
121
|
-
Puppet.debug
|
121
|
+
Puppet.debug { "Unable to parse '#{file}': #{e.message}" }
|
122
122
|
end
|
123
123
|
else
|
124
124
|
loaded_asts << parse_file(file)
|
@@ -69,11 +69,7 @@ module Adaptable
|
|
69
69
|
#
|
70
70
|
def self.get(o)
|
71
71
|
attr_name = self_attr_name
|
72
|
-
|
73
|
-
o.instance_variable_get(attr_name)
|
74
|
-
else
|
75
|
-
nil
|
76
|
-
end
|
72
|
+
o.instance_variable_get(attr_name)
|
77
73
|
end
|
78
74
|
|
79
75
|
# Returns an existing adapter for the given object, or creates a new adapter if the
|
@@ -94,14 +90,13 @@ module Adaptable
|
|
94
90
|
#
|
95
91
|
def self.adapt(o, &block)
|
96
92
|
attr_name = self_attr_name
|
97
|
-
value = o.instance_variable_get(attr_name)
|
93
|
+
value = o.instance_variable_get(attr_name)
|
98
94
|
adapter = value || associate_adapter(create_adapter(o), o)
|
99
95
|
if block_given?
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
block.call(adapter, o)
|
96
|
+
if block.arity == 1
|
97
|
+
block.call(adapter)
|
98
|
+
else
|
99
|
+
block.call(adapter, o)
|
105
100
|
end
|
106
101
|
end
|
107
102
|
adapter
|
@@ -127,8 +122,7 @@ module Adaptable
|
|
127
122
|
def self.adapt_new(o, &block)
|
128
123
|
adapter = associate_adapter(create_adapter(o), o)
|
129
124
|
if block_given?
|
130
|
-
|
131
|
-
when 1
|
125
|
+
if block.arity == 1
|
132
126
|
block.call(adapter)
|
133
127
|
else
|
134
128
|
block.call(adapter, o)
|
data/lib/puppet/pops/adapters.rb
CHANGED
@@ -99,6 +99,13 @@ module Adapters
|
|
99
99
|
|
100
100
|
class PathsAndNameCacheAdapter < Puppet::Pops::Adaptable::Adapter
|
101
101
|
attr_accessor :cache, :paths
|
102
|
+
|
103
|
+
def self.create_adapter(env)
|
104
|
+
adapter = super(env)
|
105
|
+
adapter.paths = env.modulepath.map { |p| Pathname.new(p) }
|
106
|
+
adapter.cache = {}
|
107
|
+
adapter
|
108
|
+
end
|
102
109
|
end
|
103
110
|
|
104
111
|
# Attempts to find the module that `instance` originates from by looking at it's {SourcePosAdapter} and
|
@@ -117,10 +124,7 @@ module Adapters
|
|
117
124
|
def self.loader_name_by_source(environment, instance, file)
|
118
125
|
file = instance.file if file.nil?
|
119
126
|
return nil if file.nil? || EMPTY_STRING == file
|
120
|
-
pn_adapter = PathsAndNameCacheAdapter.adapt(environment)
|
121
|
-
a.paths ||= environment.modulepath.map { |p| Pathname.new(p) }
|
122
|
-
a.cache ||= {}
|
123
|
-
end
|
127
|
+
pn_adapter = PathsAndNameCacheAdapter.adapt(environment)
|
124
128
|
dir = File.dirname(file)
|
125
129
|
pn_adapter.cache.fetch(dir) do |key|
|
126
130
|
mod = find_module_for_dir(environment, pn_adapter.paths, dir)
|
@@ -45,9 +45,7 @@ class Puppet::Pops::Evaluator::Collectors::AbstractCollector
|
|
45
45
|
return false if objects.empty?
|
46
46
|
|
47
47
|
if @overrides and !objects.empty?
|
48
|
-
overrides[:source].
|
49
|
-
true
|
50
|
-
end
|
48
|
+
overrides[:source].override = true
|
51
49
|
|
52
50
|
objects.each do |res|
|
53
51
|
unless @collected.include?(res.ref)
|
@@ -462,10 +462,24 @@ class EvaluatorImpl
|
|
462
462
|
end
|
463
463
|
|
464
464
|
def eval_EppExpression(o, scope)
|
465
|
+
contains_sensitive = false
|
466
|
+
|
465
467
|
scope["@epp"] = []
|
466
468
|
evaluate(o.body, scope)
|
467
|
-
result = scope["@epp"].
|
468
|
-
|
469
|
+
result = scope["@epp"].map do |r|
|
470
|
+
if r.instance_of?(Puppet::Pops::Types::PSensitiveType::Sensitive)
|
471
|
+
contains_sensitive = true
|
472
|
+
string(r.unwrap, scope)
|
473
|
+
else
|
474
|
+
r
|
475
|
+
end
|
476
|
+
end.join
|
477
|
+
|
478
|
+
if contains_sensitive
|
479
|
+
Puppet::Pops::Types::PSensitiveType::Sensitive.new(result)
|
480
|
+
else
|
481
|
+
result
|
482
|
+
end
|
469
483
|
end
|
470
484
|
|
471
485
|
def eval_RenderStringExpression(o, scope)
|
@@ -474,7 +488,12 @@ class EvaluatorImpl
|
|
474
488
|
end
|
475
489
|
|
476
490
|
def eval_RenderExpression(o, scope)
|
477
|
-
|
491
|
+
result = evaluate(o.expr, scope)
|
492
|
+
if result.instance_of?(Puppet::Pops::Types::PSensitiveType::Sensitive)
|
493
|
+
scope["@epp"] << result
|
494
|
+
else
|
495
|
+
scope["@epp"] << string(result, scope)
|
496
|
+
end
|
478
497
|
nil
|
479
498
|
end
|
480
499
|
|
@@ -1021,11 +1040,6 @@ class EvaluatorImpl
|
|
1021
1040
|
end
|
1022
1041
|
end
|
1023
1042
|
|
1024
|
-
# SubLocatable is simply an expression that holds location information
|
1025
|
-
def eval_SubLocatedExpression o, scope
|
1026
|
-
evaluate(o.expr, scope)
|
1027
|
-
end
|
1028
|
-
|
1029
1043
|
# Evaluates Puppet DSL Heredoc
|
1030
1044
|
def eval_HeredocExpression o, scope
|
1031
1045
|
expr = o.text_expr
|
@@ -79,9 +79,9 @@ class Runtime3Converter
|
|
79
79
|
|
80
80
|
def convert_String(o, scope, undef_value)
|
81
81
|
# Although wasteful, a dup is needed because user code may mutate these strings when applying
|
82
|
-
# Resources. This does not happen when in
|
82
|
+
# Resources. This does not happen when in server mode since it only uses Resources that are
|
83
83
|
# in puppet core and those are all safe.
|
84
|
-
o.frozen? && !Puppet.run_mode.
|
84
|
+
o.frozen? && !Puppet.run_mode.server? ? o.dup : o
|
85
85
|
end
|
86
86
|
|
87
87
|
def convert_Object(o, scope, undef_value)
|
@@ -19,7 +19,7 @@ module Runtime3ResourceSupport
|
|
19
19
|
# resolved type is just the string CLASS
|
20
20
|
resolved_type = CLASS_STRING
|
21
21
|
else
|
22
|
-
# resolve a resource type - pcore based, ruby impl
|
22
|
+
# resolve a resource type - pcore based, ruby impl or user defined
|
23
23
|
resolved_type = find_resource_type(scope, type_name)
|
24
24
|
end
|
25
25
|
|
@@ -109,10 +109,10 @@ module Runtime3ResourceSupport
|
|
109
109
|
|
110
110
|
def self.find_defined_resource_type(scope, type_name)
|
111
111
|
krt = scope.environment.known_resource_types
|
112
|
-
krt.find_definition(type_name)
|
112
|
+
krt.find_definition(type_name)
|
113
113
|
end
|
114
114
|
private_class_method :find_defined_resource_type
|
115
115
|
|
116
116
|
end
|
117
117
|
end
|
118
|
-
end
|
118
|
+
end
|
@@ -505,7 +505,7 @@ module Runtime3Support
|
|
505
505
|
# Store config issues, ignore or warning
|
506
506
|
p[Issues::RT_NO_STORECONFIGS_EXPORT] = Puppet[:storeconfigs] ? :ignore : :warning
|
507
507
|
p[Issues::RT_NO_STORECONFIGS] = Puppet[:storeconfigs] ? :ignore : :warning
|
508
|
-
p[Issues::CLASS_NOT_VIRTUALIZABLE] =
|
508
|
+
p[Issues::CLASS_NOT_VIRTUALIZABLE] = :error
|
509
509
|
p[Issues::NUMERIC_COERCION] = Puppet[:strict] == :off ? :ignore : Puppet[:strict]
|
510
510
|
p[Issues::SERIALIZATION_DEFAULT_CONVERTED_TO_STRING] = Puppet[:strict] == :off ? :warning : Puppet[:strict]
|
511
511
|
p[Issues::SERIALIZATION_UNKNOWN_CONVERTED_TO_STRING] = Puppet[:strict] == :off ? :warning : Puppet[:strict]
|
data/lib/puppet/pops/issues.rb
CHANGED
@@ -920,10 +920,5 @@ module Issues
|
|
920
920
|
LOADER_FAILURE = issue :LOADER_FAILURE, :type do
|
921
921
|
_('Failed to load: %{type_name}') % { type: type }
|
922
922
|
end
|
923
|
-
|
924
|
-
DEPRECATED_APP_ORCHESTRATION = issue :DEPRECATED_APP_ORCHESTRATION, :klass do
|
925
|
-
_("Use of the application-orchestration %{expr} is deprecated. See https://puppet.com/docs/puppet/5.5/deprecated_language.html" % { expr: label(klass) })
|
926
|
-
end
|
927
|
-
|
928
923
|
end
|
929
924
|
end
|
@@ -16,13 +16,11 @@ class Puppet::Pops::Loader::RubyLegacyFunctionInstantiator
|
|
16
16
|
# @return [Puppet::Pops::Functions.Function] - an instantiated function with global scope closure associated with the given loader
|
17
17
|
#
|
18
18
|
def self.create(loader, typed_name, source_ref, ruby_code_string)
|
19
|
-
#
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
raise ArgumentError, _("The code loaded from %{source_ref} does not seem to be a Puppet 3x API function - no 'newfunction' call.") % { source_ref: source_ref }
|
25
|
-
end
|
19
|
+
# Assert content of 3x function by parsing
|
20
|
+
assertion_result = []
|
21
|
+
if assert_code(ruby_code_string, assertion_result)
|
22
|
+
unless ruby_code_string.is_a?(String) && assertion_result.include?(:found_newfunction)
|
23
|
+
raise ArgumentError, _("The code loaded from %{source_ref} does not seem to be a Puppet 3x API function - no 'newfunction' call.") % { source_ref: source_ref }
|
26
24
|
end
|
27
25
|
end
|
28
26
|
|
@@ -91,7 +89,7 @@ class Puppet::Pops::Loader::RubyLegacyFunctionInstantiator
|
|
91
89
|
when :def, :defs
|
92
90
|
# There should not be any calls to def in a 3x function
|
93
91
|
mname, mline = extract_name_line(find_identity(x))
|
94
|
-
raise SecurityError, _("Illegal method definition of method '%{method_name}' on line %{line}
|
92
|
+
raise SecurityError, _("Illegal method definition of method '%{method_name}' on line %{line} in legacy function. See %{url} for more information") % {
|
95
93
|
method_name: mname,
|
96
94
|
line: mline,
|
97
95
|
url: "https://puppet.com/docs/puppet/latest/functions_refactor_legacy.html"
|
@@ -7,10 +7,12 @@ module Loader
|
|
7
7
|
#
|
8
8
|
# @api private
|
9
9
|
class Runtime3TypeLoader < BaseLoader
|
10
|
-
|
10
|
+
attr_reader :resource_3x_loader
|
11
|
+
|
12
|
+
def initialize(parent_loader, loaders, environment, resource_3x_loader)
|
11
13
|
super(parent_loader, environment.name)
|
12
14
|
@environment = environment
|
13
|
-
@resource_3x_loader =
|
15
|
+
@resource_3x_loader = resource_3x_loader
|
14
16
|
end
|
15
17
|
|
16
18
|
def discover(type, error_collector = nil, name_authority = Pcore::RUNTIME_NAME_AUTHORITY, &block)
|
data/lib/puppet/pops/loaders.rb
CHANGED
@@ -18,18 +18,18 @@ class Loaders
|
|
18
18
|
attr_reader :private_environment_loader
|
19
19
|
attr_reader :environment
|
20
20
|
|
21
|
-
def self.new(environment, for_agent = false)
|
21
|
+
def self.new(environment, for_agent = false, load_from_pcore = true)
|
22
22
|
environment.lock.synchronize do
|
23
23
|
obj = environment.loaders
|
24
24
|
if obj.nil?
|
25
25
|
obj = self.allocate
|
26
|
-
obj.send(:initialize, environment, for_agent)
|
26
|
+
obj.send(:initialize, environment, for_agent, load_from_pcore)
|
27
27
|
end
|
28
28
|
obj
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
-
def initialize(environment, for_agent)
|
32
|
+
def initialize(environment, for_agent, load_from_pcore = true)
|
33
33
|
# Protect against environment havoc
|
34
34
|
raise ArgumentError.new(_("Attempt to redefine already initialized loaders for environment")) unless environment.loaders.nil?
|
35
35
|
environment.loaders = self
|
@@ -51,12 +51,13 @@ class Loaders
|
|
51
51
|
# TODO: loaders need to work when also running in an agent doing catalog application. There is no
|
52
52
|
# concept of environment the same way as when running as a master (except when doing apply).
|
53
53
|
# The creation mechanisms should probably differ between the two.
|
54
|
-
@private_environment_loader =
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
54
|
+
@private_environment_loader =
|
55
|
+
if for_agent
|
56
|
+
@puppet_cache_loader = create_puppet_cache_loader
|
57
|
+
create_environment_loader(environment, @puppet_cache_loader, load_from_pcore)
|
58
|
+
else
|
59
|
+
create_environment_loader(environment, @puppet_system_loader, load_from_pcore)
|
60
|
+
end
|
60
61
|
|
61
62
|
Pcore.init_env(@private_environment_loader)
|
62
63
|
|
@@ -362,7 +363,7 @@ class Loaders
|
|
362
363
|
Loader::ModuleLoaders.cached_loader_from(puppet_system_loader, self)
|
363
364
|
end
|
364
365
|
|
365
|
-
def create_environment_loader(environment, parent_loader)
|
366
|
+
def create_environment_loader(environment, parent_loader, load_from_pcore = true)
|
366
367
|
# This defines where to start parsing/evaluating - the "initial import" (to use 3x terminology)
|
367
368
|
# Is either a reference to a single .pp file, or a directory of manifests. If the environment becomes
|
368
369
|
# a module and can hold functions, types etc. then these are available across all other modules without
|
@@ -387,7 +388,13 @@ class Loaders
|
|
387
388
|
else
|
388
389
|
# Create the 3.x resource type loader
|
389
390
|
static_loader.runtime_3_init
|
390
|
-
|
391
|
+
# Create pcore resource type loader, if applicable
|
392
|
+
pcore_resource_type_loader = if load_from_pcore && env_path
|
393
|
+
Loader::ModuleLoaders.pcore_resource_type_loader_from(parent_loader, self, env_path)
|
394
|
+
else
|
395
|
+
nil
|
396
|
+
end
|
397
|
+
@runtime3_type_loader = add_loader_by_name(Loader::Runtime3TypeLoader.new(parent_loader, self, environment, pcore_resource_type_loader))
|
391
398
|
|
392
399
|
if env_path.nil?
|
393
400
|
# Not a real directory environment, cannot work as a module TODO: Drop when legacy env are dropped?
|
@@ -47,7 +47,7 @@ class EnvironmentContext < Adaptable::Adapter
|
|
47
47
|
file_data = @file_data_cache[path]
|
48
48
|
stat = Puppet::FileSystem.stat(path)
|
49
49
|
unless file_data && file_data.valid?(stat)
|
50
|
-
Puppet.debug
|
50
|
+
Puppet.debug { "File at '#{path}' was changed, reloading" } if file_data
|
51
51
|
content = Puppet::FileSystem.read(path, :encoding => 'utf-8')
|
52
52
|
file_data = FileData.new(path, stat.ino, stat.mtime, stat.size, block_given? ? yield(content) : content)
|
53
53
|
@file_data_cache[path] = file_data
|
@@ -46,6 +46,7 @@ class HieraConfig
|
|
46
46
|
KEY_DATADIR = 'datadir'.freeze
|
47
47
|
KEY_DEFAULT_HIERARCHY = 'default_hierarchy'.freeze
|
48
48
|
KEY_HIERARCHY = 'hierarchy'.freeze
|
49
|
+
KEY_PLAN_HIERARCHY = 'plan_hierarchy'.freeze
|
49
50
|
KEY_LOGGER = 'logger'.freeze
|
50
51
|
KEY_OPTIONS = 'options'.freeze
|
51
52
|
KEY_PATH = 'path'.freeze
|
@@ -580,6 +581,7 @@ class HieraConfigV5 < HieraConfig
|
|
580
581
|
tf.optional(KEY_OPTIONS) => tf.hash_kv(option_name_t, tf.data),
|
581
582
|
}),
|
582
583
|
tf.optional(KEY_HIERARCHY) => hierarchy_t,
|
584
|
+
tf.optional(KEY_PLAN_HIERARCHY) => hierarchy_t,
|
583
585
|
tf.optional(KEY_DEFAULT_HIERARCHY) => hierarchy_t
|
584
586
|
})
|
585
587
|
end
|
@@ -600,7 +602,15 @@ class HieraConfigV5 < HieraConfig
|
|
600
602
|
return data_providers
|
601
603
|
end
|
602
604
|
|
603
|
-
|
605
|
+
compiler = Puppet.lookup(:pal_compiler) { nil }
|
606
|
+
config_key = if compiler.is_a?(Puppet::Pal::ScriptCompiler) && !@config[KEY_PLAN_HIERARCHY].nil?
|
607
|
+
KEY_PLAN_HIERARCHY
|
608
|
+
elsif use_default_hierarchy
|
609
|
+
KEY_DEFAULT_HIERARCHY
|
610
|
+
else
|
611
|
+
KEY_HIERARCHY
|
612
|
+
end
|
613
|
+
@config[config_key].each do |he|
|
604
614
|
name = he[KEY_NAME]
|
605
615
|
if data_providers.include?(name)
|
606
616
|
first_line = find_line_matching(/\s+name:\s+['"]?#{name}(?:[^\w]|$)/)
|
@@ -691,6 +701,9 @@ class HieraConfigV5 < HieraConfig
|
|
691
701
|
defaults = config[KEY_DEFAULTS]
|
692
702
|
validate_defaults(defaults) unless defaults.nil?
|
693
703
|
config[KEY_HIERARCHY].each { |he| validate_hierarchy(he, defaults, owner) }
|
704
|
+
if config.include?(KEY_PLAN_HIERARCHY)
|
705
|
+
config[KEY_PLAN_HIERARCHY].each { |he| validate_hierarchy(he, defaults, owner) }
|
706
|
+
end
|
694
707
|
|
695
708
|
if config.include?(KEY_DEFAULT_HIERARCHY)
|
696
709
|
unless owner.is_a?(ModuleDataProvider)
|
@@ -276,9 +276,6 @@ type Puppet::AST = TypeSet[{
|
|
276
276
|
ResourceTypeDefinition => Object[{
|
277
277
|
parent => NamedDefinition
|
278
278
|
}],
|
279
|
-
Application => Object[{
|
280
|
-
parent => NamedDefinition
|
281
|
-
}],
|
282
279
|
QRefDefinition => Object[{
|
283
280
|
parent => Definition,
|
284
281
|
attributes => {
|
@@ -334,33 +331,6 @@ type Puppet::AST = TypeSet[{
|
|
334
331
|
}
|
335
332
|
}
|
336
333
|
}],
|
337
|
-
SiteDefinition => Object[{
|
338
|
-
parent => Definition,
|
339
|
-
attributes => {
|
340
|
-
'body' => {
|
341
|
-
type => Optional[Expression],
|
342
|
-
value => undef
|
343
|
-
}
|
344
|
-
}
|
345
|
-
}],
|
346
|
-
SubLocatedExpression => Object[{
|
347
|
-
parent => Expression,
|
348
|
-
attributes => {
|
349
|
-
'expr' => Expression,
|
350
|
-
'line_offsets' => {
|
351
|
-
type => Array[Integer],
|
352
|
-
value => []
|
353
|
-
},
|
354
|
-
'leading_line_count' => {
|
355
|
-
type => Optional[Integer],
|
356
|
-
value => undef
|
357
|
-
},
|
358
|
-
'leading_line_offset' => {
|
359
|
-
type => Optional[Integer],
|
360
|
-
value => undef
|
361
|
-
}
|
362
|
-
}
|
363
|
-
}],
|
364
334
|
HeredocExpression => Object[{
|
365
335
|
parent => Expression,
|
366
336
|
attributes => {
|
@@ -616,18 +586,6 @@ type Puppet::AST = TypeSet[{
|
|
616
586
|
}
|
617
587
|
}
|
618
588
|
}],
|
619
|
-
CapabilityMapping => Object[{
|
620
|
-
parent => Definition,
|
621
|
-
attributes => {
|
622
|
-
'kind' => String,
|
623
|
-
'capability' => String,
|
624
|
-
'component' => Expression,
|
625
|
-
'mappings' => {
|
626
|
-
type => Array[AbstractAttributeOperation],
|
627
|
-
value => []
|
628
|
-
}
|
629
|
-
}
|
630
|
-
}],
|
631
589
|
ResourceDefaultsExpression => Object[{
|
632
590
|
parent => AbstractResource,
|
633
591
|
attributes => {
|
@@ -2055,32 +2055,6 @@ class ResourceTypeDefinition < NamedDefinition
|
|
2055
2055
|
end
|
2056
2056
|
end
|
2057
2057
|
|
2058
|
-
class Application < NamedDefinition
|
2059
|
-
def self._pcore_type
|
2060
|
-
@_pcore_type ||= Types::PObjectType.new('Puppet::AST::Application', {
|
2061
|
-
'parent' => NamedDefinition._pcore_type
|
2062
|
-
})
|
2063
|
-
end
|
2064
|
-
|
2065
|
-
def _pcore_contents
|
2066
|
-
@parameters.each { |value| yield(value) }
|
2067
|
-
yield(@body) unless @body.nil?
|
2068
|
-
end
|
2069
|
-
|
2070
|
-
def _pcore_all_contents(path, &block)
|
2071
|
-
path << self
|
2072
|
-
@parameters.each do |value|
|
2073
|
-
block.call(value, path)
|
2074
|
-
value._pcore_all_contents(path, &block)
|
2075
|
-
end
|
2076
|
-
unless @body.nil?
|
2077
|
-
block.call(@body, path)
|
2078
|
-
@body._pcore_all_contents(path, &block)
|
2079
|
-
end
|
2080
|
-
path.pop
|
2081
|
-
end
|
2082
|
-
end
|
2083
|
-
|
2084
2058
|
class QRefDefinition < Definition
|
2085
2059
|
def self._pcore_type
|
2086
2060
|
@_pcore_type ||= Types::PObjectType.new('Puppet::AST::QRefDefinition', {
|
@@ -2466,171 +2440,6 @@ class NodeDefinition < Definition
|
|
2466
2440
|
alias == eql?
|
2467
2441
|
end
|
2468
2442
|
|
2469
|
-
class SiteDefinition < Definition
|
2470
|
-
def self._pcore_type
|
2471
|
-
@_pcore_type ||= Types::PObjectType.new('Puppet::AST::SiteDefinition', {
|
2472
|
-
'parent' => Definition._pcore_type,
|
2473
|
-
'attributes' => {
|
2474
|
-
'body' => {
|
2475
|
-
'type' => Types::POptionalType.new(Expression._pcore_type),
|
2476
|
-
'value' => nil
|
2477
|
-
}
|
2478
|
-
}
|
2479
|
-
})
|
2480
|
-
end
|
2481
|
-
|
2482
|
-
def self.from_hash(init_hash)
|
2483
|
-
from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::SiteDefinition initializer', _pcore_type.init_hash_type, init_hash))
|
2484
|
-
end
|
2485
|
-
|
2486
|
-
def self.from_asserted_hash(init_hash)
|
2487
|
-
new(
|
2488
|
-
init_hash['locator'],
|
2489
|
-
init_hash['offset'],
|
2490
|
-
init_hash['length'],
|
2491
|
-
init_hash['body'])
|
2492
|
-
end
|
2493
|
-
|
2494
|
-
def self.create(locator, offset, length, body = nil)
|
2495
|
-
ta = Types::TypeAsserter
|
2496
|
-
attrs = _pcore_type.attributes(true)
|
2497
|
-
ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
|
2498
|
-
ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
|
2499
|
-
ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
|
2500
|
-
ta.assert_instance_of('Puppet::AST::SiteDefinition[body]', attrs['body'].type, body)
|
2501
|
-
new(locator, offset, length, body)
|
2502
|
-
end
|
2503
|
-
|
2504
|
-
attr_reader :body
|
2505
|
-
|
2506
|
-
def initialize(locator, offset, length, body = nil)
|
2507
|
-
super(locator, offset, length)
|
2508
|
-
@hash = @hash ^ body.hash
|
2509
|
-
@body = body
|
2510
|
-
end
|
2511
|
-
|
2512
|
-
def _pcore_init_hash
|
2513
|
-
result = super
|
2514
|
-
result['body'] = @body unless @body == nil
|
2515
|
-
result
|
2516
|
-
end
|
2517
|
-
|
2518
|
-
def _pcore_contents
|
2519
|
-
yield(@body) unless @body.nil?
|
2520
|
-
end
|
2521
|
-
|
2522
|
-
def _pcore_all_contents(path, &block)
|
2523
|
-
path << self
|
2524
|
-
unless @body.nil?
|
2525
|
-
block.call(@body, path)
|
2526
|
-
@body._pcore_all_contents(path, &block)
|
2527
|
-
end
|
2528
|
-
path.pop
|
2529
|
-
end
|
2530
|
-
|
2531
|
-
def eql?(o)
|
2532
|
-
super &&
|
2533
|
-
@body.eql?(o.body)
|
2534
|
-
end
|
2535
|
-
alias == eql?
|
2536
|
-
end
|
2537
|
-
|
2538
|
-
class SubLocatedExpression < Expression
|
2539
|
-
def self._pcore_type
|
2540
|
-
@_pcore_type ||= Types::PObjectType.new('Puppet::AST::SubLocatedExpression', {
|
2541
|
-
'parent' => Expression._pcore_type,
|
2542
|
-
'attributes' => {
|
2543
|
-
'expr' => Expression._pcore_type,
|
2544
|
-
'line_offsets' => {
|
2545
|
-
'type' => Types::PArrayType.new(Types::PIntegerType::DEFAULT),
|
2546
|
-
'value' => []
|
2547
|
-
},
|
2548
|
-
'leading_line_count' => {
|
2549
|
-
'type' => Types::POptionalType.new(Types::PIntegerType::DEFAULT),
|
2550
|
-
'value' => nil
|
2551
|
-
},
|
2552
|
-
'leading_line_offset' => {
|
2553
|
-
'type' => Types::POptionalType.new(Types::PIntegerType::DEFAULT),
|
2554
|
-
'value' => nil
|
2555
|
-
}
|
2556
|
-
}
|
2557
|
-
})
|
2558
|
-
end
|
2559
|
-
|
2560
|
-
def self.from_hash(init_hash)
|
2561
|
-
from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::SubLocatedExpression initializer', _pcore_type.init_hash_type, init_hash))
|
2562
|
-
end
|
2563
|
-
|
2564
|
-
def self.from_asserted_hash(init_hash)
|
2565
|
-
new(
|
2566
|
-
init_hash['locator'],
|
2567
|
-
init_hash['offset'],
|
2568
|
-
init_hash['length'],
|
2569
|
-
init_hash['expr'],
|
2570
|
-
init_hash.fetch('line_offsets') { _pcore_type['line_offsets'].value },
|
2571
|
-
init_hash['leading_line_count'],
|
2572
|
-
init_hash['leading_line_offset'])
|
2573
|
-
end
|
2574
|
-
|
2575
|
-
def self.create(locator, offset, length, expr, line_offsets = _pcore_type['line_offsets'].value, leading_line_count = nil, leading_line_offset = nil)
|
2576
|
-
ta = Types::TypeAsserter
|
2577
|
-
attrs = _pcore_type.attributes(true)
|
2578
|
-
ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
|
2579
|
-
ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
|
2580
|
-
ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
|
2581
|
-
ta.assert_instance_of('Puppet::AST::SubLocatedExpression[expr]', attrs['expr'].type, expr)
|
2582
|
-
ta.assert_instance_of('Puppet::AST::SubLocatedExpression[line_offsets]', attrs['line_offsets'].type, line_offsets)
|
2583
|
-
ta.assert_instance_of('Puppet::AST::SubLocatedExpression[leading_line_count]', attrs['leading_line_count'].type, leading_line_count)
|
2584
|
-
ta.assert_instance_of('Puppet::AST::SubLocatedExpression[leading_line_offset]', attrs['leading_line_offset'].type, leading_line_offset)
|
2585
|
-
new(locator, offset, length, expr, line_offsets, leading_line_count, leading_line_offset)
|
2586
|
-
end
|
2587
|
-
|
2588
|
-
attr_reader :expr
|
2589
|
-
attr_reader :line_offsets
|
2590
|
-
attr_reader :leading_line_count
|
2591
|
-
attr_reader :leading_line_offset
|
2592
|
-
|
2593
|
-
def initialize(locator, offset, length, expr, line_offsets = _pcore_type['line_offsets'].value, leading_line_count = nil, leading_line_offset = nil)
|
2594
|
-
super(locator, offset, length)
|
2595
|
-
@hash = @hash ^ expr.hash ^ line_offsets.hash ^ leading_line_count.hash ^ leading_line_offset.hash
|
2596
|
-
@expr = expr
|
2597
|
-
@line_offsets = line_offsets
|
2598
|
-
@leading_line_count = leading_line_count
|
2599
|
-
@leading_line_offset = leading_line_offset
|
2600
|
-
end
|
2601
|
-
|
2602
|
-
def _pcore_init_hash
|
2603
|
-
result = super
|
2604
|
-
result['expr'] = @expr
|
2605
|
-
result['line_offsets'] = @line_offsets unless _pcore_type['line_offsets'].default_value?(@line_offsets)
|
2606
|
-
result['leading_line_count'] = @leading_line_count unless @leading_line_count == nil
|
2607
|
-
result['leading_line_offset'] = @leading_line_offset unless @leading_line_offset == nil
|
2608
|
-
result
|
2609
|
-
end
|
2610
|
-
|
2611
|
-
def _pcore_contents
|
2612
|
-
yield(@expr) unless @expr.nil?
|
2613
|
-
end
|
2614
|
-
|
2615
|
-
def _pcore_all_contents(path, &block)
|
2616
|
-
path << self
|
2617
|
-
unless @expr.nil?
|
2618
|
-
block.call(@expr, path)
|
2619
|
-
@expr._pcore_all_contents(path, &block)
|
2620
|
-
end
|
2621
|
-
path.pop
|
2622
|
-
end
|
2623
|
-
|
2624
|
-
def eql?(o)
|
2625
|
-
super &&
|
2626
|
-
@expr.eql?(o.expr) &&
|
2627
|
-
@line_offsets.eql?(o.line_offsets) &&
|
2628
|
-
@leading_line_count.eql?(o.leading_line_count) &&
|
2629
|
-
@leading_line_offset.eql?(o.leading_line_offset)
|
2630
|
-
end
|
2631
|
-
alias == eql?
|
2632
|
-
end
|
2633
|
-
|
2634
2443
|
class HeredocExpression < Expression
|
2635
2444
|
def self._pcore_type
|
2636
2445
|
@_pcore_type ||= Types::PObjectType.new('Puppet::AST::HeredocExpression', {
|
@@ -4284,101 +4093,6 @@ class ResourceExpression < AbstractResource
|
|
4284
4093
|
alias == eql?
|
4285
4094
|
end
|
4286
4095
|
|
4287
|
-
class CapabilityMapping < Definition
|
4288
|
-
def self._pcore_type
|
4289
|
-
@_pcore_type ||= Types::PObjectType.new('Puppet::AST::CapabilityMapping', {
|
4290
|
-
'parent' => Definition._pcore_type,
|
4291
|
-
'attributes' => {
|
4292
|
-
'kind' => Types::PStringType::DEFAULT,
|
4293
|
-
'capability' => Types::PStringType::DEFAULT,
|
4294
|
-
'component' => Expression._pcore_type,
|
4295
|
-
'mappings' => {
|
4296
|
-
'type' => Types::PArrayType.new(AbstractAttributeOperation._pcore_type),
|
4297
|
-
'value' => []
|
4298
|
-
}
|
4299
|
-
}
|
4300
|
-
})
|
4301
|
-
end
|
4302
|
-
|
4303
|
-
def self.from_hash(init_hash)
|
4304
|
-
from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::CapabilityMapping initializer', _pcore_type.init_hash_type, init_hash))
|
4305
|
-
end
|
4306
|
-
|
4307
|
-
def self.from_asserted_hash(init_hash)
|
4308
|
-
new(
|
4309
|
-
init_hash['locator'],
|
4310
|
-
init_hash['offset'],
|
4311
|
-
init_hash['length'],
|
4312
|
-
init_hash['kind'],
|
4313
|
-
init_hash['capability'],
|
4314
|
-
init_hash['component'],
|
4315
|
-
init_hash.fetch('mappings') { _pcore_type['mappings'].value })
|
4316
|
-
end
|
4317
|
-
|
4318
|
-
def self.create(locator, offset, length, kind, capability, component, mappings = _pcore_type['mappings'].value)
|
4319
|
-
ta = Types::TypeAsserter
|
4320
|
-
attrs = _pcore_type.attributes(true)
|
4321
|
-
ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
|
4322
|
-
ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
|
4323
|
-
ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
|
4324
|
-
ta.assert_instance_of('Puppet::AST::CapabilityMapping[kind]', attrs['kind'].type, kind)
|
4325
|
-
ta.assert_instance_of('Puppet::AST::CapabilityMapping[capability]', attrs['capability'].type, capability)
|
4326
|
-
ta.assert_instance_of('Puppet::AST::CapabilityMapping[component]', attrs['component'].type, component)
|
4327
|
-
ta.assert_instance_of('Puppet::AST::CapabilityMapping[mappings]', attrs['mappings'].type, mappings)
|
4328
|
-
new(locator, offset, length, kind, capability, component, mappings)
|
4329
|
-
end
|
4330
|
-
|
4331
|
-
attr_reader :kind
|
4332
|
-
attr_reader :capability
|
4333
|
-
attr_reader :component
|
4334
|
-
attr_reader :mappings
|
4335
|
-
|
4336
|
-
def initialize(locator, offset, length, kind, capability, component, mappings = _pcore_type['mappings'].value)
|
4337
|
-
super(locator, offset, length)
|
4338
|
-
@hash = @hash ^ kind.hash ^ capability.hash ^ component.hash ^ mappings.hash
|
4339
|
-
@kind = kind
|
4340
|
-
@capability = capability
|
4341
|
-
@component = component
|
4342
|
-
@mappings = mappings
|
4343
|
-
end
|
4344
|
-
|
4345
|
-
def _pcore_init_hash
|
4346
|
-
result = super
|
4347
|
-
result['kind'] = @kind
|
4348
|
-
result['capability'] = @capability
|
4349
|
-
result['component'] = @component
|
4350
|
-
result['mappings'] = @mappings unless _pcore_type['mappings'].default_value?(@mappings)
|
4351
|
-
result
|
4352
|
-
end
|
4353
|
-
|
4354
|
-
def _pcore_contents
|
4355
|
-
yield(@component) unless @component.nil?
|
4356
|
-
@mappings.each { |value| yield(value) }
|
4357
|
-
end
|
4358
|
-
|
4359
|
-
def _pcore_all_contents(path, &block)
|
4360
|
-
path << self
|
4361
|
-
unless @component.nil?
|
4362
|
-
block.call(@component, path)
|
4363
|
-
@component._pcore_all_contents(path, &block)
|
4364
|
-
end
|
4365
|
-
@mappings.each do |value|
|
4366
|
-
block.call(value, path)
|
4367
|
-
value._pcore_all_contents(path, &block)
|
4368
|
-
end
|
4369
|
-
path.pop
|
4370
|
-
end
|
4371
|
-
|
4372
|
-
def eql?(o)
|
4373
|
-
super &&
|
4374
|
-
@kind.eql?(o.kind) &&
|
4375
|
-
@capability.eql?(o.capability) &&
|
4376
|
-
@component.eql?(o.component) &&
|
4377
|
-
@mappings.eql?(o.mappings)
|
4378
|
-
end
|
4379
|
-
alias == eql?
|
4380
|
-
end
|
4381
|
-
|
4382
4096
|
class ResourceDefaultsExpression < AbstractResource
|
4383
4097
|
def self._pcore_type
|
4384
4098
|
@_pcore_type ||= Types::PObjectType.new('Puppet::AST::ResourceDefaultsExpression', {
|
@@ -4895,14 +4609,11 @@ def self.register_pcore_types
|
|
4895
4609
|
Model::NamedDefinition,
|
4896
4610
|
Model::FunctionDefinition,
|
4897
4611
|
Model::ResourceTypeDefinition,
|
4898
|
-
Model::Application,
|
4899
4612
|
Model::QRefDefinition,
|
4900
4613
|
Model::TypeAlias,
|
4901
4614
|
Model::TypeMapping,
|
4902
4615
|
Model::TypeDefinition,
|
4903
4616
|
Model::NodeDefinition,
|
4904
|
-
Model::SiteDefinition,
|
4905
|
-
Model::SubLocatedExpression,
|
4906
4617
|
Model::HeredocExpression,
|
4907
4618
|
Model::HostClassDefinition,
|
4908
4619
|
Model::PlanDefinition,
|
@@ -4936,7 +4647,6 @@ def self.register_pcore_types
|
|
4936
4647
|
Model::ResourceBody,
|
4937
4648
|
Model::AbstractResource,
|
4938
4649
|
Model::ResourceExpression,
|
4939
|
-
Model::CapabilityMapping,
|
4940
4650
|
Model::ResourceDefaultsExpression,
|
4941
4651
|
Model::ResourceOverrideExpression,
|
4942
4652
|
Model::SelectorEntry,
|