puppet 5.4.0 → 5.5.0
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/Gemfile +3 -3
- data/MAINTAINERS +0 -19
- data/README.md +5 -5
- data/Rakefile +26 -0
- data/conf/auth.conf +5 -0
- data/ext/project_data.yaml +1 -0
- data/ext/regexp_nodes/regexp_nodes.rb +3 -4
- data/lib/puppet/application/apply.rb +1 -1
- data/lib/puppet/application/cert.rb +3 -1
- data/lib/puppet/application/device.rb +100 -13
- data/lib/puppet/application/facts.rb +5 -0
- data/lib/puppet/application/lookup.rb +12 -2
- data/lib/puppet/configurer.rb +37 -17
- data/lib/puppet/confine.rb +4 -1
- data/lib/puppet/datatypes.rb +1 -1
- data/lib/puppet/environments.rb +1 -1
- data/lib/puppet/error.rb +6 -3
- data/lib/puppet/external/dot.rb +0 -7
- data/lib/puppet/external/nagios/parser.rb +1 -1
- data/lib/puppet/face/config.rb +92 -10
- data/lib/puppet/face/epp.rb +31 -6
- data/lib/puppet/face/facts.rb +49 -0
- data/lib/puppet/face/help.rb +33 -35
- data/lib/puppet/face/help/action.erb +1 -1
- data/lib/puppet/face/help/face.erb +1 -1
- data/lib/puppet/face/man.rb +55 -12
- data/lib/puppet/face/parser.rb +30 -3
- data/lib/puppet/file_bucket/file.rb +0 -2
- data/lib/puppet/file_serving/base.rb +10 -10
- data/lib/puppet/forge.rb +3 -3
- data/lib/puppet/forge/errors.rb +3 -3
- data/lib/puppet/functions.rb +1 -3
- data/lib/puppet/functions/alert.rb +1 -1
- data/lib/puppet/functions/all.rb +6 -6
- data/lib/puppet/functions/annotate.rb +10 -10
- data/lib/puppet/functions/any.rb +6 -6
- data/lib/puppet/functions/assert_type.rb +4 -4
- data/lib/puppet/functions/binary_file.rb +14 -2
- data/lib/puppet/functions/break.rb +31 -2
- data/lib/puppet/functions/call.rb +4 -4
- data/lib/puppet/functions/contain.rb +19 -3
- data/lib/puppet/functions/convert_to.rb +6 -5
- data/lib/puppet/functions/crit.rb +1 -1
- data/lib/puppet/functions/debug.rb +1 -1
- data/lib/puppet/functions/defined.rb +11 -9
- data/lib/puppet/functions/dig.rb +26 -2
- data/lib/puppet/functions/each.rb +8 -8
- data/lib/puppet/functions/emerg.rb +1 -1
- data/lib/puppet/functions/empty.rb +79 -0
- data/lib/puppet/functions/err.rb +1 -1
- data/lib/puppet/functions/eyaml_lookup_key.rb +3 -1
- data/lib/puppet/functions/filter.rb +7 -7
- data/lib/puppet/functions/find_file.rb +15 -1
- data/lib/puppet/functions/flatten.rb +64 -0
- data/lib/puppet/functions/hiera.rb +6 -6
- data/lib/puppet/functions/hiera_array.rb +6 -6
- data/lib/puppet/functions/hiera_hash.rb +6 -6
- data/lib/puppet/functions/hiera_include.rb +8 -8
- data/lib/puppet/functions/include.rb +28 -2
- data/lib/puppet/functions/info.rb +1 -1
- data/lib/puppet/functions/inline_epp.rb +2 -2
- data/lib/puppet/functions/join.rb +56 -0
- data/lib/puppet/functions/json_data.rb +2 -2
- data/lib/puppet/functions/keys.rb +25 -0
- data/lib/puppet/functions/length.rb +44 -0
- data/lib/puppet/functions/lest.rb +39 -1
- data/lib/puppet/functions/lookup.rb +2 -1
- data/lib/puppet/functions/map.rb +10 -9
- data/lib/puppet/functions/match.rb +6 -6
- data/lib/puppet/functions/new.rb +995 -2
- data/lib/puppet/functions/next.rb +1 -1
- data/lib/puppet/functions/notice.rb +1 -1
- data/lib/puppet/functions/reduce.rb +6 -6
- data/lib/puppet/functions/regsubst.rb +9 -3
- data/lib/puppet/functions/require.rb +36 -2
- data/lib/puppet/functions/return.rb +1 -1
- data/lib/puppet/functions/reverse_each.rb +71 -2
- data/lib/puppet/functions/slice.rb +23 -9
- data/lib/puppet/functions/split.rb +12 -10
- data/lib/puppet/functions/step.rb +73 -1
- data/lib/puppet/functions/strftime.rb +176 -2
- data/lib/puppet/functions/then.rb +65 -2
- data/lib/puppet/functions/tree_each.rb +19 -19
- data/lib/puppet/functions/type.rb +42 -1
- data/lib/puppet/functions/unique.rb +13 -13
- data/lib/puppet/functions/unwrap.rb +8 -4
- data/lib/puppet/functions/values.rb +25 -0
- data/lib/puppet/functions/versioncmp.rb +1 -1
- data/lib/puppet/functions/warning.rb +1 -1
- data/lib/puppet/functions/with.rb +6 -4
- data/lib/puppet/functions/yaml_data.rb +3 -1
- data/lib/puppet/indirector/certificate_status/file.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +1 -3
- data/lib/puppet/indirector/facts/rest.rb +21 -0
- data/lib/puppet/indirector/facts/yaml.rb +0 -4
- data/lib/puppet/indirector/rest.rb +2 -2
- data/lib/puppet/module.rb +3 -3
- data/lib/puppet/module/task.rb +2 -3
- data/lib/puppet/module_tool/applications/application.rb +4 -4
- data/lib/puppet/module_tool/applications/builder.rb +2 -2
- data/lib/puppet/module_tool/applications/checksummer.rb +3 -3
- data/lib/puppet/module_tool/applications/unpacker.rb +2 -2
- data/lib/puppet/module_tool/metadata.rb +3 -3
- data/lib/puppet/network/authconfig.rb +1 -1
- data/lib/puppet/network/format_support.rb +1 -1
- data/lib/puppet/network/formats.rb +5 -7
- data/lib/puppet/network/http/api/indirected_routes.rb +1 -0
- data/lib/puppet/network/http/api/master/v3/environment.rb +2 -2
- data/lib/puppet/network/http/api/master/v3/environments.rb +2 -2
- data/lib/puppet/network/http/error.rb +3 -3
- data/lib/puppet/network/resolver.rb +1 -2
- data/lib/puppet/parser/compiler.rb +12 -5
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +1 -1
- data/lib/puppet/parser/functions/fqdn_rand.rb +15 -4
- data/lib/puppet/parser/functions/new.rb +31 -46
- data/lib/puppet/parser/parser_factory.rb +1 -1
- data/lib/puppet/parser/resource.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +11 -11
- data/lib/puppet/pops/evaluator/closure.rb +1 -1
- data/lib/puppet/pops/evaluator/collector_transformer.rb +1 -1
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_support.rb +5 -2
- data/lib/puppet/pops/functions/dispatch.rb +1 -1
- data/lib/puppet/pops/issue_reporter.rb +18 -1
- data/lib/puppet/pops/issues.rb +6 -3
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -2
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -2
- data/lib/puppet/pops/loader/task_instantiator.rb +5 -5
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +4 -1
- data/lib/puppet/pops/loaders.rb +18 -7
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +55 -6
- data/lib/puppet/pops/model/factory.rb +6 -3
- data/lib/puppet/pops/model/model_tree_dumper.rb +4 -0
- data/lib/puppet/pops/model/pn_transformer.rb +400 -0
- data/lib/puppet/pops/parser/egrammar.ra +1 -1
- data/lib/puppet/pops/parser/eparser.rb +1 -1
- data/lib/puppet/pops/parser/heredoc_support.rb +1 -1
- data/lib/puppet/pops/parser/lexer_support.rb +3 -2
- data/lib/puppet/pops/parser/locator.rb +0 -2
- data/lib/puppet/pops/parser/pn_parser.rb +316 -0
- data/lib/puppet/pops/pcore.rb +17 -17
- data/lib/puppet/pops/pn.rb +236 -0
- data/lib/puppet/pops/serialization/json.rb +7 -7
- data/lib/puppet/pops/types/class_loader.rb +6 -3
- data/lib/puppet/pops/types/implementation_registry.rb +28 -35
- data/lib/puppet/pops/types/p_object_type.rb +3 -3
- data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
- data/lib/puppet/pops/types/p_type_set_type.rb +24 -1
- data/lib/puppet/pops/types/ruby_generator.rb +3 -4
- data/lib/puppet/pops/types/type_calculator.rb +1 -1
- data/lib/puppet/pops/types/type_factory.rb +0 -4
- data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
- data/lib/puppet/pops/types/type_parser.rb +14 -7
- data/lib/puppet/pops/types/types.rb +1 -1
- data/lib/puppet/pops/utils.rb +2 -2
- data/lib/puppet/pops/validation/checker4_0.rb +6 -2
- data/lib/puppet/provider/group/groupadd.rb +3 -1
- data/lib/puppet/provider/group/windows_adsi.rb +4 -7
- data/lib/puppet/provider/nameservice.rb +3 -3
- data/lib/puppet/provider/package/pacman.rb +4 -4
- data/lib/puppet/provider/package/pip.rb +3 -3
- data/lib/puppet/provider/package/pkgdmg.rb +3 -3
- data/lib/puppet/provider/package/pkgutil.rb +2 -2
- data/lib/puppet/provider/package/portage.rb +9 -9
- data/lib/puppet/provider/package/zypper.rb +2 -2
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/smf.rb +3 -2
- data/lib/puppet/provider/service/systemd.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +6 -2
- data/lib/puppet/provider/user/windows_adsi.rb +1 -1
- data/lib/puppet/provider/yumrepo/inifile.rb +20 -9
- data/lib/puppet/provider/zfs/zfs.rb +1 -1
- data/lib/puppet/reference/configuration.rb +2 -0
- data/lib/puppet/reference/type.rb +11 -11
- data/lib/puppet/resource.rb +1 -1
- data/lib/puppet/resource/capability_finder.rb +5 -5
- data/lib/puppet/resource/catalog.rb +6 -3
- data/lib/puppet/resource/status.rb +9 -2
- data/lib/puppet/resource/type.rb +1 -1
- data/lib/puppet/settings.rb +31 -19
- data/lib/puppet/settings/base_setting.rb +5 -0
- data/lib/puppet/settings/config_file.rb +1 -1
- data/lib/puppet/settings/ttl_setting.rb +5 -0
- data/lib/puppet/ssl/certificate_factory.rb +2 -2
- data/lib/puppet/ssl/certificate_request.rb +0 -2
- data/lib/puppet/syntax_checkers/json.rb +1 -1
- data/lib/puppet/transaction/additional_resource_generator.rb +2 -2
- data/lib/puppet/transaction/event.rb +1 -1
- data/lib/puppet/transaction/report.rb +18 -12
- data/lib/puppet/type.rb +9 -13
- data/lib/puppet/type/augeas.rb +2 -2
- data/lib/puppet/type/cron.rb +11 -6
- data/lib/puppet/type/exec.rb +1 -1
- data/lib/puppet/type/file.rb +4 -5
- data/lib/puppet/type/host.rb +1 -1
- data/lib/puppet/type/k5login.rb +30 -54
- data/lib/puppet/type/package.rb +3 -3
- data/lib/puppet/type/schedule.rb +12 -12
- data/lib/puppet/type/scheduled_task.rb +2 -2
- data/lib/puppet/type/ssh_authorized_key.rb +5 -5
- data/lib/puppet/type/sshkey.rb +2 -2
- data/lib/puppet/type/tidy.rb +1 -1
- data/lib/puppet/type/user.rb +1 -1
- data/lib/puppet/type/yumrepo.rb +26 -5
- data/lib/puppet/util.rb +0 -4
- data/lib/puppet/util/backups.rb +1 -1
- data/lib/puppet/util/inifile.rb +3 -4
- data/lib/puppet/util/json.rb +68 -0
- data/lib/puppet/util/json_lockfile.rb +3 -3
- data/lib/puppet/util/log.rb +2 -5
- data/lib/puppet/util/log/destinations.rb +2 -2
- data/lib/puppet/util/network_device/cisco/facts.rb +1 -1
- data/lib/puppet/util/plist.rb +1 -1
- data/lib/puppet/util/reference.rb +1 -8
- data/lib/puppet/util/tagging.rb +1 -1
- data/lib/puppet/util/warnings.rb +0 -2
- data/lib/puppet/util/windows/adsi.rb +15 -18
- data/lib/puppet/util/windows/com.rb +2 -1
- data/lib/puppet/util/windows/file.rb +2 -2
- data/lib/puppet/util/windows/principal.rb +7 -6
- data/lib/puppet/util/windows/sid.rb +60 -7
- data/lib/puppet/util/windows/taskscheduler.rb +0 -9
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet_pal.rb +53 -48
- data/locales/ja/puppet.po +1357 -912
- data/locales/puppet.pot +549 -466
- data/man/man5/puppet.conf.5 +103 -20
- data/man/man8/puppet-agent.8 +6 -2
- data/man/man8/puppet-apply.8 +2 -2
- data/man/man8/puppet-ca.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-cert.8 +1 -1
- data/man/man8/puppet-certificate.8 +1 -1
- data/man/man8/puppet-certificate_request.8 +1 -1
- data/man/man8/puppet-certificate_revocation_list.8 +1 -1
- data/man/man8/puppet-config.8 +35 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +33 -11
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +34 -12
- data/man/man8/puppet-facts.8 +50 -1
- data/man/man8/puppet-filebucket.8 +38 -11
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-key.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-man.8 +10 -4
- data/man/man8/puppet-master.8 +1 -1
- data/man/man8/puppet-module.8 +15 -6
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +31 -8
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +67 -0
- data/man/man8/puppet-status.8 +1 -1
- data/man/man8/puppet.8 +3 -3
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet_x/awesome2/echo_scheme_handler.rb +1 -1
- data/spec/integration/application/apply_spec.rb +15 -15
- data/spec/integration/application/lookup_spec.rb +21 -0
- data/spec/integration/faces/config_spec.rb +16 -4
- data/spec/integration/network/http/api/indirected_routes_spec.rb +5 -5
- data/spec/integration/parser/catalog_spec.rb +1 -1
- data/spec/integration/parser/collection_spec.rb +2 -2
- data/spec/integration/parser/compiler_spec.rb +17 -18
- data/spec/integration/parser/pcore_resource_spec.rb +2 -2
- data/spec/integration/parser/scope_spec.rb +2 -2
- data/spec/integration/ssl/certificate_authority_spec.rb +7 -7
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +1 -1
- data/spec/integration/ssl/key_spec.rb +1 -1
- data/spec/integration/transaction/report_spec.rb +3 -3
- data/spec/integration/transaction_spec.rb +0 -1
- data/spec/integration/type/file_spec.rb +10 -11
- data/spec/integration/type_spec.rb +1 -2
- data/spec/integration/util/windows/adsi_spec.rb +86 -1
- data/spec/integration/util/windows/principal_spec.rb +11 -2
- data/spec/integration/util/windows/security_spec.rb +2 -2
- data/spec/lib/matchers/json.rb +4 -4
- data/spec/lib/puppet_spec/language.rb +34 -35
- data/spec/lib/puppet_spec/module_tool/shared_functions.rb +2 -2
- data/spec/shared_behaviours/file_server_terminus.rb +0 -2
- data/spec/shared_behaviours/things_that_declare_options.rb +2 -2
- data/spec/spec_helper.rb +1 -1
- data/spec/unit/application/cert_spec.rb +21 -9
- data/spec/unit/application/device_spec.rb +96 -2
- data/spec/unit/application/face_base_spec.rb +2 -2
- data/spec/unit/application/lookup_spec.rb +0 -1
- data/spec/unit/configurer_spec.rb +14 -0
- data/spec/unit/confine_spec.rb +16 -0
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +4 -4
- data/spec/unit/datatypes_spec.rb +49 -0
- data/spec/unit/environments_spec.rb +7 -0
- data/spec/unit/face/config_spec.rb +116 -12
- data/spec/unit/face/epp_face_spec.rb +53 -2
- data/spec/unit/face/facts_spec.rb +53 -0
- data/spec/unit/face/help_spec.rb +62 -69
- data/spec/unit/face/man_spec.rb +26 -0
- data/spec/unit/face/module/list_spec.rb +0 -1
- data/spec/unit/face/parser_spec.rb +78 -0
- data/spec/unit/file_bucket/dipper_spec.rb +0 -4
- data/spec/unit/file_serving/content_spec.rb +0 -1
- data/spec/unit/file_serving/fileset_spec.rb +0 -1
- data/spec/unit/file_serving/metadata_spec.rb +0 -1
- data/spec/unit/file_serving/terminus_selector_spec.rb +0 -2
- data/spec/unit/forge_spec.rb +1 -2
- data/spec/unit/functions/assert_type_spec.rb +1 -1
- data/spec/unit/functions/empty_spec.rb +77 -0
- data/spec/unit/functions/epp_spec.rb +1 -1
- data/spec/unit/functions/flatten_spec.rb +31 -0
- data/spec/unit/functions/include_spec.rb +2 -2
- data/spec/unit/functions/inline_epp_spec.rb +1 -1
- data/spec/unit/functions/join_spec.rb +33 -0
- data/spec/unit/functions/keys_spec.rb +31 -0
- data/spec/unit/functions/length_spec.rb +50 -0
- data/spec/unit/functions/lookup_fixture_spec.rb +1 -1
- data/spec/unit/functions/lookup_spec.rb +52 -0
- data/spec/unit/functions/shared.rb +1 -1
- data/spec/unit/functions/values_spec.rb +30 -0
- data/spec/unit/functions/versioncmp_spec.rb +1 -1
- data/spec/unit/functions4_spec.rb +30 -32
- data/spec/unit/graph/title_hash_prioritizer_spec.rb +2 -1
- data/spec/unit/indirector/catalog/compiler_spec.rb +0 -15
- data/spec/unit/indirector/facts/rest_spec.rb +45 -0
- data/spec/unit/indirector/facts/yaml_spec.rb +6 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +2 -2
- data/spec/unit/indirector/indirection_spec.rb +1 -1
- data/spec/unit/indirector/node/ldap_spec.rb +2 -2
- data/spec/unit/indirector/request_spec.rb +0 -2
- data/spec/unit/indirector/rest_spec.rb +2 -2
- data/spec/unit/indirector_spec.rb +0 -1
- data/spec/unit/info_service_spec.rb +1 -1
- data/spec/unit/interface/action_manager_spec.rb +1 -1
- data/spec/unit/interface/action_spec.rb +1 -1
- data/spec/unit/module_spec.rb +0 -5
- data/spec/unit/module_tool/applications/builder_spec.rb +1 -1
- data/spec/unit/module_tool/applications/unpacker_spec.rb +4 -4
- data/spec/unit/network/formats_spec.rb +5 -13
- data/spec/unit/network/http/api/indirected_routes_spec.rb +6 -2
- data/spec/unit/network/http/connection_spec.rb +1 -1
- data/spec/unit/network/http/handler_spec.rb +3 -2
- data/spec/unit/node/environment_spec.rb +1 -1
- data/spec/unit/node_spec.rb +3 -3
- data/spec/unit/parser/compiler_spec.rb +9 -2
- data/spec/unit/parser/environment_compiler_spec.rb +8 -8
- data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
- data/spec/unit/parser/functions/fail_spec.rb +1 -1
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +24 -0
- data/spec/unit/parser/functions/realize_spec.rb +1 -1
- data/spec/unit/parser/resource_spec.rb +0 -1
- data/spec/unit/parser/scope_spec.rb +3 -3
- data/spec/unit/parser/type_loader_spec.rb +1 -1
- data/spec/unit/pops/adaptable_spec.rb +0 -1
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +0 -3
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -4
- data/spec/unit/pops/factory_rspec_helper.rb +1 -1
- data/spec/unit/pops/factory_spec.rb +5 -5
- data/spec/unit/pops/issues_spec.rb +23 -8
- data/spec/unit/pops/loaders/loaders_spec.rb +24 -2
- data/spec/unit/pops/loaders/static_loader_spec.rb +1 -1
- data/spec/unit/pops/lookup/interpolation_spec.rb +5 -0
- data/spec/unit/pops/lookup/lookup_spec.rb +56 -0
- data/spec/unit/pops/model/pn_transformer_spec.rb +53 -0
- data/spec/unit/pops/parser/lexer2_spec.rb +14 -5
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +9 -9
- data/spec/unit/pops/parser/parse_calls_spec.rb +1 -1
- data/spec/unit/pops/parser/parse_functions_spec.rb +1 -1
- data/spec/unit/pops/parser/parse_heredoc_spec.rb +3 -3
- data/spec/unit/pops/parser/parse_lambda_spec.rb +1 -1
- data/spec/unit/pops/parser/parse_resource_spec.rb +35 -35
- data/spec/unit/pops/parser/pn_parser_spec.rb +101 -0
- data/spec/unit/pops/pn_spec.rb +148 -0
- data/spec/unit/pops/types/iterable_spec.rb +1 -1
- data/spec/unit/pops/types/p_object_type_spec.rb +5 -5
- data/spec/unit/pops/types/p_timespan_type_spec.rb +11 -4
- data/spec/unit/pops/types/p_timestamp_type_spec.rb +9 -2
- data/spec/unit/pops/types/p_type_set_type_spec.rb +106 -2
- data/spec/unit/pops/types/ruby_generator_spec.rb +3 -8
- data/spec/unit/pops/types/string_converter_spec.rb +3 -3
- data/spec/unit/pops/types/type_calculator_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +3 -1
- data/spec/unit/property_spec.rb +2 -2
- data/spec/unit/provider/aixobject_spec.rb +1 -1
- data/spec/unit/provider/cron/crontab_spec.rb +3 -3
- data/spec/unit/provider/exec/posix_spec.rb +6 -6
- data/spec/unit/provider/group/groupadd_spec.rb +4 -4
- data/spec/unit/provider/group/windows_adsi_spec.rb +79 -22
- data/spec/unit/provider/ldap_spec.rb +0 -1
- data/spec/unit/provider/nameservice_spec.rb +5 -5
- data/spec/unit/provider/package/rpm_spec.rb +3 -4
- data/spec/unit/provider/package/yum_spec.rb +6 -2
- data/spec/unit/provider/parsedfile_spec.rb +1 -1
- data/spec/unit/provider/service/base_spec.rb +2 -4
- data/spec/unit/provider/service/init_spec.rb +2 -2
- data/spec/unit/provider/service/openrc_spec.rb +2 -2
- data/spec/unit/provider/service/redhat_spec.rb +2 -2
- data/spec/unit/provider/service/smf_spec.rb +2 -0
- data/spec/unit/provider/service/systemd_spec.rb +3 -3
- data/spec/unit/provider/service/upstart_spec.rb +7 -7
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +0 -4
- data/spec/unit/provider/sshkey/parsed_spec.rb +0 -2
- data/spec/unit/provider/user/useradd_spec.rb +15 -9
- data/spec/unit/provider/user/windows_adsi_spec.rb +4 -4
- data/spec/unit/provider/yumrepo/inifile_spec.rb +76 -0
- data/spec/unit/puppet_pal_2pec.rb +4 -5
- data/spec/unit/resource/catalog_spec.rb +8 -3
- data/spec/unit/resource/status_spec.rb +15 -4
- data/spec/unit/resource/type_spec.rb +2 -3
- data/spec/unit/settings_spec.rb +9 -4
- data/spec/unit/ssl/certificate_authority_spec.rb +1 -9
- data/spec/unit/ssl/certificate_request_spec.rb +1 -2
- data/spec/unit/transaction/report_spec.rb +41 -0
- data/spec/unit/transaction_spec.rb +1 -1
- data/spec/unit/type/exec_spec.rb +7 -9
- data/spec/unit/type/file/selinux_spec.rb +0 -1
- data/spec/unit/type/file_spec.rb +4 -3
- data/spec/unit/type/k5login_spec.rb +79 -10
- data/spec/unit/type/mount_spec.rb +1 -1
- data/spec/unit/type/nagios_spec.rb +6 -6
- data/spec/unit/type/user_spec.rb +1 -1
- data/spec/unit/type/yumrepo_spec.rb +18 -0
- data/spec/unit/type/zfs_spec.rb +1 -1
- data/spec/unit/type_spec.rb +14 -15
- data/spec/unit/util/docs_spec.rb +1 -1
- data/spec/unit/util/execution_spec.rb +0 -1
- data/spec/unit/util/inifile_spec.rb +35 -4
- data/spec/unit/util/log/destinations_spec.rb +2 -2
- data/spec/unit/util/log_spec.rb +6 -5
- data/spec/unit/util/network_device/cisco/device_spec.rb +2 -2
- data/spec/unit/util/plist_spec.rb +3 -3
- data/spec/unit/util/selinux_spec.rb +2 -2
- data/spec/unit/util/tagging_spec.rb +1 -7
- data/spec/unit/util/windows/adsi_spec.rb +31 -27
- data/spec/unit/util/windows/sid_spec.rb +86 -15
- data/spec/unit/util_spec.rb +2 -2
- data/spec/watchr.rb +0 -1
- data/tasks/benchmark.rake +37 -0
- data/tasks/manpages.rake +1 -1
- metadata +71 -11
- checksums.yaml +0 -7
@@ -7,7 +7,7 @@
|
|
7
7
|
|
8
8
|
require 'net/http'
|
9
9
|
require 'cgi'
|
10
|
-
require 'json'
|
10
|
+
require 'puppet/util/json'
|
11
11
|
|
12
12
|
# @api private
|
13
13
|
module Puppet::Resource::CapabilityFinder
|
@@ -92,7 +92,7 @@ module Puppet::Resource::CapabilityFinder
|
|
92
92
|
response = Puppet::Util::Puppetdb::Http.action(url) do |conn, uri|
|
93
93
|
conn.get(uri, { 'Accept' => 'application/json'})
|
94
94
|
end
|
95
|
-
|
95
|
+
Puppet::Util::Json.load(response.body)
|
96
96
|
end
|
97
97
|
|
98
98
|
# The format of the response body is documented at
|
@@ -104,14 +104,12 @@ module Puppet::Resource::CapabilityFinder
|
|
104
104
|
end
|
105
105
|
|
106
106
|
result
|
107
|
-
rescue
|
107
|
+
rescue Puppet::Util::Json::ParseError => e
|
108
108
|
#TRANSLATOR PuppetDB is a product name and should not be translated
|
109
109
|
raise Puppet::DevError, _("Invalid JSON from PuppetDB when looking up %{capability}\n%{detail}") % { capability: cap, detail: e }
|
110
110
|
end
|
111
111
|
end
|
112
112
|
|
113
|
-
private
|
114
|
-
|
115
113
|
# Find a distinct copy of the given capability resource by searching for only
|
116
114
|
# resources matching the given code_id. Returns `nil` if no code_id is
|
117
115
|
# supplied or if there isn't exactly one matching resource.
|
@@ -132,6 +130,7 @@ module Puppet::Resource::CapabilityFinder
|
|
132
130
|
end
|
133
131
|
end
|
134
132
|
end
|
133
|
+
private_class_method :disambiguate_by_code_id
|
135
134
|
|
136
135
|
def self.instantiate_resource(resource_hash)
|
137
136
|
real_type = resource_hash['type']
|
@@ -147,4 +146,5 @@ module Puppet::Resource::CapabilityFinder
|
|
147
146
|
end
|
148
147
|
return resource
|
149
148
|
end
|
149
|
+
private_class_method :instantiate_resource
|
150
150
|
end
|
@@ -235,7 +235,10 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
|
|
235
235
|
|
236
236
|
begin
|
237
237
|
transaction.report.as_logging_destination do
|
238
|
-
|
238
|
+
transaction_evaluate_time = Puppet::Util.thinmark do
|
239
|
+
transaction.evaluate
|
240
|
+
end
|
241
|
+
transaction.report.add_times(:transaction_evaluation, transaction_evaluate_time)
|
239
242
|
end
|
240
243
|
ensure
|
241
244
|
# Don't try to store state unless we're a host config
|
@@ -595,7 +598,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
|
|
595
598
|
transaction = Puppet::Transaction.new(self, options[:report], prioritizer)
|
596
599
|
transaction.tags = options[:tags] if options[:tags]
|
597
600
|
transaction.ignoreschedules = true if options[:ignoreschedules]
|
598
|
-
transaction.for_network_device = options[:network_device]
|
601
|
+
transaction.for_network_device = Puppet.lookup(:network_device) { nil } || options[:network_device]
|
599
602
|
|
600
603
|
transaction
|
601
604
|
end
|
@@ -671,7 +674,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
|
|
671
674
|
map.clear
|
672
675
|
|
673
676
|
result.add_class(*self.classes)
|
674
|
-
result.
|
677
|
+
result.merge_tags_from(self)
|
675
678
|
|
676
679
|
result
|
677
680
|
end
|
@@ -31,7 +31,7 @@ module Puppet
|
|
31
31
|
|
32
32
|
# Boolean status types set while evaluating `@real_resource`.
|
33
33
|
STATES = [:skipped, :failed, :failed_to_restart, :restarted, :changed, :out_of_sync, :scheduled, :corrective_change]
|
34
|
-
attr_accessor
|
34
|
+
attr_accessor(*STATES)
|
35
35
|
|
36
36
|
# @!attribute [r] source_description
|
37
37
|
# @return [String] The textual description of the path to `@real_resource`
|
@@ -74,6 +74,10 @@ module Puppet
|
|
74
74
|
# @return [String] The class name of `@real_resource`
|
75
75
|
attr_reader :resource_type
|
76
76
|
|
77
|
+
# @!attribute [rw] provider_used
|
78
|
+
# @return [String] The class name of the provider used for the resource
|
79
|
+
attr_accessor :provider_used
|
80
|
+
|
77
81
|
# @!attribute [r] title
|
78
82
|
# @return [String] The title of `@real_resource`
|
79
83
|
attr_reader :title
|
@@ -163,15 +167,17 @@ module Puppet
|
|
163
167
|
@file = resource.file
|
164
168
|
@line = resource.line
|
165
169
|
|
166
|
-
|
170
|
+
merge_tags_from(resource)
|
167
171
|
@time = Time.now
|
168
172
|
@events = []
|
169
173
|
@resource_type = resource.type.to_s.capitalize
|
174
|
+
@provider_used = resource.provider.class.name.to_s unless resource.provider.nil?
|
170
175
|
@title = resource.title
|
171
176
|
end
|
172
177
|
|
173
178
|
def initialize_from_hash(data)
|
174
179
|
@resource_type = data['resource_type']
|
180
|
+
@provider_used = data['provider_used']
|
175
181
|
@title = data['title']
|
176
182
|
@resource = data['resource']
|
177
183
|
@containment_path = data['containment_path']
|
@@ -201,6 +207,7 @@ module Puppet
|
|
201
207
|
'line' => @line,
|
202
208
|
'resource' => @resource,
|
203
209
|
'resource_type' => @resource_type,
|
210
|
+
'provider_used' => @provider_used,
|
204
211
|
'containment_path' => @containment_path,
|
205
212
|
'evaluation_time' => @evaluation_time,
|
206
213
|
'tags' => @tags.to_a,
|
data/lib/puppet/resource/type.rb
CHANGED
data/lib/puppet/settings.rb
CHANGED
@@ -1296,31 +1296,43 @@ Generated on #{Time.now}.
|
|
1296
1296
|
# @api public
|
1297
1297
|
def interpolate(name)
|
1298
1298
|
setting = @defaults[name]
|
1299
|
+
return nil unless setting
|
1299
1300
|
|
1300
|
-
|
1301
|
-
val
|
1302
|
-
|
1303
|
-
|
1304
|
-
val
|
1305
|
-
else
|
1306
|
-
# Convert it if necessary
|
1307
|
-
begin
|
1308
|
-
val = convert(val, name)
|
1309
|
-
rescue InterpolationError => err
|
1310
|
-
# This happens because we don't have access to the param name when the
|
1311
|
-
# exception is originally raised, but we want it in the message
|
1312
|
-
raise InterpolationError, _("Error converting value for param '%{name}': %{detail}") % { name: name, detail: err }, err.backtrace
|
1313
|
-
end
|
1301
|
+
lookup_and_convert(name) do |val|
|
1302
|
+
setting.munge(val)
|
1303
|
+
end
|
1304
|
+
end
|
1314
1305
|
|
1315
|
-
|
1316
|
-
|
1317
|
-
|
1318
|
-
|
1306
|
+
def print(name)
|
1307
|
+
setting = @defaults[name]
|
1308
|
+
return nil unless setting
|
1309
|
+
|
1310
|
+
lookup_and_convert(name) do |val|
|
1311
|
+
setting.print(val)
|
1319
1312
|
end
|
1320
1313
|
end
|
1321
1314
|
|
1322
1315
|
private
|
1323
1316
|
|
1317
|
+
def lookup_and_convert(name, &block)
|
1318
|
+
val = lookup(name)
|
1319
|
+
# if we interpolate code, all hell breaks loose.
|
1320
|
+
if name == :code
|
1321
|
+
val
|
1322
|
+
else
|
1323
|
+
# Convert it if necessary
|
1324
|
+
begin
|
1325
|
+
val = convert(val, name)
|
1326
|
+
rescue InterpolationError => err
|
1327
|
+
# This happens because we don't have access to the param name when the
|
1328
|
+
# exception is originally raised, but we want it in the message
|
1329
|
+
raise InterpolationError, _("Error converting value for param '%{name}': %{detail}") % { name: name, detail: err }, err.backtrace
|
1330
|
+
end
|
1331
|
+
|
1332
|
+
yield val
|
1333
|
+
end
|
1334
|
+
end
|
1335
|
+
|
1324
1336
|
def convert(value, setting_name)
|
1325
1337
|
case value
|
1326
1338
|
when nil
|
@@ -1397,7 +1409,7 @@ Generated on #{Time.now}.
|
|
1397
1409
|
@values[name] = old_value
|
1398
1410
|
raise e
|
1399
1411
|
end
|
1400
|
-
|
1412
|
+
end
|
1401
1413
|
|
1402
1414
|
def inspect
|
1403
1415
|
%Q{<#{self.class}:#{self.object_id} @name="#{@name}" @values="#{@values}">}
|
@@ -157,6 +157,11 @@ class Puppet::Settings::BaseSetting
|
|
157
157
|
value
|
158
158
|
end
|
159
159
|
|
160
|
+
# Print the value for the user in a config compatible format
|
161
|
+
def print(value)
|
162
|
+
munge(value)
|
163
|
+
end
|
164
|
+
|
160
165
|
def set_meta(meta)
|
161
166
|
Puppet.notice("#{name} does not support meta data. Ignoring.")
|
162
167
|
end
|
@@ -131,7 +131,7 @@ private
|
|
131
131
|
value = string.sub(/\{\s*([^}]+)\s*\}/) do
|
132
132
|
params = $1
|
133
133
|
params.split(/\s*,\s*/).each do |str|
|
134
|
-
if str =~ /^\s*(\w+)\s*=\s*([\w
|
134
|
+
if str =~ /^\s*(\w+)\s*=\s*([\w]+)\s*$/
|
135
135
|
param, value = $1.intern, $2
|
136
136
|
result[param] = value
|
137
137
|
unless [:owner, :mode, :group].include?(param)
|
@@ -25,6 +25,11 @@ class Puppet::Settings::TTLSetting < Puppet::Settings::BaseSetting
|
|
25
25
|
self.class.munge(value, @name)
|
26
26
|
end
|
27
27
|
|
28
|
+
def print(value)
|
29
|
+
val = munge(value)
|
30
|
+
val == Float::INFINITY ? 'unlimited' : val
|
31
|
+
end
|
32
|
+
|
28
33
|
# Convert the value to Numeric, parsing numeric string with units if necessary.
|
29
34
|
def self.munge(value, param_name)
|
30
35
|
case
|
@@ -54,8 +54,6 @@ module Puppet::SSL::CertificateFactory
|
|
54
54
|
return cert
|
55
55
|
end
|
56
56
|
|
57
|
-
private
|
58
|
-
|
59
57
|
# Add X509v3 extensions to the given certificate.
|
60
58
|
#
|
61
59
|
# @param cert [OpenSSL::X509::Certificate] The certificate to add the
|
@@ -114,6 +112,7 @@ module Puppet::SSL::CertificateFactory
|
|
114
112
|
generate_extension(ef, oid, *val)
|
115
113
|
end
|
116
114
|
end
|
115
|
+
private_class_method :add_extensions_to
|
117
116
|
|
118
117
|
# Woot! We're a CA.
|
119
118
|
def self.build_ca_extensions
|
@@ -216,4 +215,5 @@ module Puppet::SSL::CertificateFactory
|
|
216
215
|
OpenSSL::X509::Extension.new(oid, OpenSSL::ASN1::UTF8String.new(val).to_der, crit)
|
217
216
|
end
|
218
217
|
end
|
218
|
+
private_class_method :generate_extension
|
219
219
|
end
|
@@ -20,7 +20,7 @@ class Puppet::SyntaxCheckers::Json < Puppet::Plugins::SyntaxCheckers::SyntaxChec
|
|
20
20
|
#raise ArgumentError.new("Json syntax checker: location_info must be a Hash") unless location_info.is_a?(Hash)
|
21
21
|
|
22
22
|
begin
|
23
|
-
|
23
|
+
Puppet::Util::Json.load(text)
|
24
24
|
rescue => e
|
25
25
|
# Cap the message to 100 chars and replace newlines
|
26
26
|
msg = _("JSON syntax checker: Cannot parse invalid JSON string. \"%{message}\"") % { message: e.message().slice(0,100).gsub(/\r?\n/, "\\n") }
|
@@ -86,7 +86,7 @@ class Puppet::Transaction::AdditionalResourceGenerator
|
|
86
86
|
# tags such as the type name to support implicit filtering as well as
|
87
87
|
# explicit. Note that resource#tags returns a duplicate of the resource's
|
88
88
|
# tags.
|
89
|
-
sentinel.
|
89
|
+
sentinel.merge_tags_from(resource)
|
90
90
|
priority = @prioritizer.generate_priority_contained_in(resource, sentinel)
|
91
91
|
@relationship_graph.add_vertex(sentinel, priority)
|
92
92
|
|
@@ -131,7 +131,7 @@ class Puppet::Transaction::AdditionalResourceGenerator
|
|
131
131
|
|
132
132
|
def add_resource(res, parent_resource, priority=nil)
|
133
133
|
if @catalog.resource(res.ref).nil?
|
134
|
-
res.
|
134
|
+
res.merge_tags_from(parent_resource)
|
135
135
|
if parent_resource.depthfirst?
|
136
136
|
@catalog.add_resource_before(parent_resource, res)
|
137
137
|
else
|
@@ -12,7 +12,7 @@ class Puppet::Transaction::Event
|
|
12
12
|
include Puppet::Network::FormatSupport
|
13
13
|
|
14
14
|
ATTRIBUTES = [:name, :resource, :property, :previous_value, :desired_value, :historical_value, :status, :message, :file, :line, :source_description, :audited, :invalidate_refreshes, :redacted, :corrective_change]
|
15
|
-
attr_accessor
|
15
|
+
attr_accessor(*ATTRIBUTES)
|
16
16
|
attr_accessor :time
|
17
17
|
attr_reader :default_log_level
|
18
18
|
|
@@ -134,6 +134,8 @@ class Puppet::Transaction::Report
|
|
134
134
|
#
|
135
135
|
attr_accessor :transaction_completed
|
136
136
|
|
137
|
+
TOTAL = "total".freeze
|
138
|
+
|
137
139
|
def self.from_data_hash(data)
|
138
140
|
obj = self.allocate
|
139
141
|
obj.initialize_from_hash(data)
|
@@ -151,8 +153,12 @@ class Puppet::Transaction::Report
|
|
151
153
|
end
|
152
154
|
|
153
155
|
# @api private
|
154
|
-
def add_times(name, value)
|
155
|
-
@external_times[name]
|
156
|
+
def add_times(name, value, accumulate = true)
|
157
|
+
if @external_times[name] && accumulate
|
158
|
+
@external_times[name] += value
|
159
|
+
else
|
160
|
+
@external_times[name] = value
|
161
|
+
end
|
156
162
|
end
|
157
163
|
|
158
164
|
# @api private
|
@@ -204,7 +210,7 @@ class Puppet::Transaction::Report
|
|
204
210
|
resource_metrics = add_metric(:resources, calculate_resource_metrics)
|
205
211
|
add_metric(:time, calculate_time_metrics)
|
206
212
|
change_metric = calculate_change_metric
|
207
|
-
add_metric(:changes, {
|
213
|
+
add_metric(:changes, {TOTAL => change_metric})
|
208
214
|
add_metric(:events, calculate_event_metrics)
|
209
215
|
@status = compute_status(resource_metrics, change_metric)
|
210
216
|
@noop_pending = @resource_statuses.any? { |name,res| has_noop_events?(res) }
|
@@ -218,7 +224,7 @@ class Puppet::Transaction::Report
|
|
218
224
|
@external_times ||= {}
|
219
225
|
@host = Puppet[:node_name_value]
|
220
226
|
@time = Time.now
|
221
|
-
@report_format =
|
227
|
+
@report_format = 9
|
222
228
|
@puppet_version = Puppet.version
|
223
229
|
@configuration_version = configuration_version
|
224
230
|
@transaction_uuid = transaction_uuid
|
@@ -345,9 +351,9 @@ class Puppet::Transaction::Report
|
|
345
351
|
|
346
352
|
report[key].keys.sort { |a,b|
|
347
353
|
# sort by label
|
348
|
-
if a ==
|
354
|
+
if a == TOTAL
|
349
355
|
1
|
350
|
-
elsif b ==
|
356
|
+
elsif b == TOTAL
|
351
357
|
-1
|
352
358
|
else
|
353
359
|
report[key][a].to_s <=> report[key][b].to_s
|
@@ -375,7 +381,7 @@ class Puppet::Transaction::Report
|
|
375
381
|
metric.values.each do |metric_name, label, value|
|
376
382
|
report[key][metric_name.to_s] = value
|
377
383
|
end
|
378
|
-
report[key][
|
384
|
+
report[key][TOTAL] = 0 unless key == "time" or report[key].include?(TOTAL)
|
379
385
|
end
|
380
386
|
(report["time"] ||= {})["last_run"] = Time.now.tv_sec
|
381
387
|
report
|
@@ -393,10 +399,10 @@ class Puppet::Transaction::Report
|
|
393
399
|
#
|
394
400
|
def exit_status
|
395
401
|
status = 0
|
396
|
-
if @metrics["changes"] && @metrics["changes"][
|
402
|
+
if @metrics["changes"] && @metrics["changes"][TOTAL] &&
|
397
403
|
@metrics["resources"] && @metrics["resources"]["failed"] &&
|
398
404
|
@metrics["resources"]["failed_to_restart"]
|
399
|
-
status |= 2 if @metrics["changes"][
|
405
|
+
status |= 2 if @metrics["changes"][TOTAL] > 0
|
400
406
|
status |= 4 if @metrics["resources"]["failed"] > 0
|
401
407
|
status |= 4 if @metrics["resources"]["failed_to_restart"] > 0
|
402
408
|
else
|
@@ -422,7 +428,7 @@ class Puppet::Transaction::Report
|
|
422
428
|
metrics = Hash.new(0)
|
423
429
|
%w{total failure success}.each { |m| metrics[m] = 0 }
|
424
430
|
resource_statuses.each do |name, status|
|
425
|
-
metrics[
|
431
|
+
metrics[TOTAL] += status.events.length
|
426
432
|
status.events.each do |event|
|
427
433
|
metrics[event.status] += 1
|
428
434
|
end
|
@@ -433,7 +439,7 @@ class Puppet::Transaction::Report
|
|
433
439
|
|
434
440
|
def calculate_resource_metrics
|
435
441
|
metrics = {}
|
436
|
-
metrics[
|
442
|
+
metrics[TOTAL] = resource_statuses.length
|
437
443
|
|
438
444
|
# force every resource key in the report to be present
|
439
445
|
# even if no resources is in this given state
|
@@ -461,7 +467,7 @@ class Puppet::Transaction::Report
|
|
461
467
|
metrics[name.to_s.downcase] = value
|
462
468
|
end
|
463
469
|
|
464
|
-
metrics[
|
470
|
+
metrics[TOTAL] = metrics.values.inject(0) { |a,b| a+b }
|
465
471
|
|
466
472
|
metrics
|
467
473
|
end
|
data/lib/puppet/type.rb
CHANGED
@@ -391,7 +391,7 @@ class Type
|
|
391
391
|
@key_attributes_cache ||= key_attribute_parameters.collect { |p| p.name }
|
392
392
|
end
|
393
393
|
|
394
|
-
# Returns a mapping from the title string to setting of attribute
|
394
|
+
# Returns a mapping from the title string to setting of attribute values.
|
395
395
|
# This default implementation provides a mapping of title to the one and only _namevar_ present
|
396
396
|
# in the type's definition.
|
397
397
|
# @note Advanced: some logic requires this mapping to be done differently, using a different
|
@@ -1474,7 +1474,7 @@ class Type
|
|
1474
1474
|
@subclasses << sub
|
1475
1475
|
end
|
1476
1476
|
|
1477
|
-
# @return [Array<Puppet::Resource>] turns attribute
|
1477
|
+
# @return [Array<Puppet::Resource>] turns attribute values into list of resources
|
1478
1478
|
def munge(references)
|
1479
1479
|
references = [references] unless references.is_a?(Array)
|
1480
1480
|
references.collect do |ref|
|
@@ -1582,7 +1582,7 @@ class Type
|
|
1582
1582
|
Multiple resources can be specified as an array of references. When this
|
1583
1583
|
attribute is present:
|
1584
1584
|
|
1585
|
-
* The required
|
1585
|
+
* The required resources will be applied **before** this resource.
|
1586
1586
|
|
1587
1587
|
This is one of the four relationship metaparameters, along with
|
1588
1588
|
`before`, `notify`, and `subscribe`. For more context, including the
|
@@ -1596,7 +1596,7 @@ class Type
|
|
1596
1596
|
Multiple resources can be specified as an array of references. When this
|
1597
1597
|
attribute is present:
|
1598
1598
|
|
1599
|
-
* The subscribed
|
1599
|
+
* The subscribed resources will be applied _before_ this resource.
|
1600
1600
|
* If Puppet makes changes to any of the subscribed resources, it will cause
|
1601
1601
|
this resource to _refresh._ (Refresh behavior varies by resource
|
1602
1602
|
type: services will restart, mounts will unmount and re-mount, etc. Not
|
@@ -1614,7 +1614,7 @@ class Type
|
|
1614
1614
|
Multiple resources can be specified as an array of references. When this
|
1615
1615
|
attribute is present:
|
1616
1616
|
|
1617
|
-
* This resource will be applied _before_ the dependent
|
1617
|
+
* This resource will be applied _before_ the dependent resources.
|
1618
1618
|
|
1619
1619
|
This is one of the four relationship metaparameters, along with
|
1620
1620
|
`require`, `notify`, and `subscribe`. For more context, including the
|
@@ -1628,7 +1628,7 @@ class Type
|
|
1628
1628
|
Multiple resources can be specified as an array of references. When this
|
1629
1629
|
attribute is present:
|
1630
1630
|
|
1631
|
-
* This resource will be applied _before_ the notified
|
1631
|
+
* This resource will be applied _before_ the notified resources.
|
1632
1632
|
* If Puppet makes changes to this resource, it will cause all of the
|
1633
1633
|
notified resources to _refresh._ (Refresh behavior varies by resource
|
1634
1634
|
type: services will restart, mounts will unmount and re-mount, etc. Not
|
@@ -1700,7 +1700,7 @@ The value of this parameter must be a reference to a capability resource,
|
|
1700
1700
|
or an array of such references. Each capability resource referenced here
|
1701
1701
|
must have been exported by another resource in the same environment.
|
1702
1702
|
|
1703
|
-
The referenced capability
|
1703
|
+
The referenced capability resources will be looked up, added to the
|
1704
1704
|
current node catalog, and processed following the underlying consumes
|
1705
1705
|
clause.
|
1706
1706
|
|
@@ -2232,8 +2232,6 @@ end
|
|
2232
2232
|
|
2233
2233
|
# class methods dealing with Type management
|
2234
2234
|
|
2235
|
-
public
|
2236
|
-
|
2237
2235
|
# The Type class attribute accessors
|
2238
2236
|
class << self
|
2239
2237
|
# @return [String] the name of the resource type; e.g., "File"
|
@@ -2343,8 +2341,6 @@ end
|
|
2343
2341
|
# instance methods related to instance intrinsics
|
2344
2342
|
# e.g., initialize and name
|
2345
2343
|
|
2346
|
-
public
|
2347
|
-
|
2348
2344
|
# @return [Hash] hash of parameters originally defined
|
2349
2345
|
# @api private
|
2350
2346
|
attr_reader :original_parameters
|
@@ -2388,7 +2384,7 @@ end
|
|
2388
2384
|
end
|
2389
2385
|
end
|
2390
2386
|
|
2391
|
-
|
2387
|
+
merge_tags_from(resource)
|
2392
2388
|
|
2393
2389
|
@original_parameters = resource.to_hash
|
2394
2390
|
|
@@ -2632,7 +2628,7 @@ end
|
|
2632
2628
|
#
|
2633
2629
|
def to_resource
|
2634
2630
|
resource = self.retrieve_resource
|
2635
|
-
resource.
|
2631
|
+
resource.merge_tags_from(self)
|
2636
2632
|
|
2637
2633
|
@parameters.each do |name, param|
|
2638
2634
|
# Avoid adding each instance name twice
|