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
data/lib/puppet/type/augeas.rb
CHANGED
@@ -150,13 +150,13 @@ Puppet::Type.newtype(:augeas) do
|
|
150
150
|
end
|
151
151
|
|
152
152
|
newparam(:lens) do
|
153
|
-
desc "Use a specific lens,
|
153
|
+
desc "Use a specific lens, such as `Hosts.lns`. When this parameter is set, you
|
154
154
|
must also set the `incl` parameter to indicate which file to load.
|
155
155
|
The Augeas documentation includes [a list of available lenses](http://augeas.net/stock_lenses.html)."
|
156
156
|
end
|
157
157
|
|
158
158
|
newparam(:incl) do
|
159
|
-
desc "Load only a specific file,
|
159
|
+
desc "Load only a specific file, such as `/etc/hosts`. This can greatly speed
|
160
160
|
up the execution the resource. When this parameter is set, you must also
|
161
161
|
set the `lens` parameter to indicate which lens to use."
|
162
162
|
end
|
data/lib/puppet/type/cron.rb
CHANGED
@@ -278,9 +278,11 @@ Puppet::Type.newtype(:cron) do
|
|
278
278
|
%w{sunday monday tuesday wednesday thursday friday saturday}
|
279
279
|
end
|
280
280
|
self.boundaries = [0, 7]
|
281
|
-
desc "The weekday on which to run the command.
|
282
|
-
|
283
|
-
|
281
|
+
desc "The weekday on which to run the command. Optional; if specified,
|
282
|
+
must be either:
|
283
|
+
|
284
|
+
- A number between 0 and 7, inclusive, with 0 or 7 being Sunday
|
285
|
+
- The name of the day, such as 'Tuesday'."
|
284
286
|
end
|
285
287
|
|
286
288
|
newproperty(:month, :parent => CronParam) do
|
@@ -293,8 +295,11 @@ Puppet::Type.newtype(:cron) do
|
|
293
295
|
august september october november december}
|
294
296
|
end
|
295
297
|
self.boundaries = [1, 12]
|
296
|
-
desc "The month of the year.
|
297
|
-
must be
|
298
|
+
desc "The month of the year. Optional; if specified,
|
299
|
+
must be either:
|
300
|
+
|
301
|
+
- A number between 1 and 12, inclusive, with 1 being January
|
302
|
+
- The name of the month, such as 'December'."
|
298
303
|
end
|
299
304
|
|
300
305
|
newproperty(:monthday, :parent => CronParam) do
|
@@ -317,7 +322,7 @@ Puppet::Type.newtype(:cron) do
|
|
317
322
|
but will not associate them with a specific job.
|
318
323
|
|
319
324
|
Settings should be specified exactly as they should appear in
|
320
|
-
the crontab,
|
325
|
+
the crontab, like `PATH=/bin:/usr/bin:/usr/sbin`."
|
321
326
|
|
322
327
|
validate do |value|
|
323
328
|
unless value =~ /^\s*(\w+)\s*=\s*(.*)\s*$/ or value == :absent or value == "absent"
|
data/lib/puppet/type/exec.rb
CHANGED
@@ -257,7 +257,7 @@ module Puppet
|
|
257
257
|
|
258
258
|
newparam(:environment) do
|
259
259
|
desc "An array of any additional environment variables you want to set for a
|
260
|
-
command
|
260
|
+
command, such as `[ 'HOME=/root', 'MAIL=root@example.com']`.
|
261
261
|
Note that if you use this to set PATH, it will override the `path`
|
262
262
|
attribute. Multiple environment variables should be specified as an
|
263
263
|
array."
|
data/lib/puppet/type/file.rb
CHANGED
@@ -74,7 +74,7 @@ Puppet::Type.newtype(:file) do
|
|
74
74
|
(`File { backup => main }`), so it can affect all file resources.
|
75
75
|
|
76
76
|
* If set to `false`, file content won't be backed up.
|
77
|
-
* If set to a string beginning with
|
77
|
+
* If set to a string beginning with `.`, such as `.puppet-bak`, Puppet will
|
78
78
|
use copy the file in the same directory with that value as the extension
|
79
79
|
of the backup. (A value of `true` is a synonym for `.puppet-bak`.)
|
80
80
|
* If set to any other string, Puppet will try to back up to a filebucket
|
@@ -187,8 +187,7 @@ Puppet::Type.newtype(:file) do
|
|
187
187
|
Setting `recurselimit => 2` will manage the direct contents of the
|
188
188
|
directory, as well as the contents of the _first_ level of subdirectories.
|
189
189
|
|
190
|
-
|
191
|
-
subdirectories, etc."
|
190
|
+
This pattern continues for each incremental value of `recurselimit`."
|
192
191
|
|
193
192
|
newvalues(/^[0-9]+$/)
|
194
193
|
|
@@ -225,9 +224,9 @@ Puppet::Type.newtype(:file) do
|
|
225
224
|
newparam(:ignore) do
|
226
225
|
desc "A parameter which omits action on files matching
|
227
226
|
specified patterns during recursion. Uses Ruby's builtin globbing
|
228
|
-
engine, so shell metacharacters
|
227
|
+
engine, so shell metacharacters such as `[a-z]*` are fully supported.
|
229
228
|
Matches that would descend into the directory structure are ignored,
|
230
|
-
|
229
|
+
such as `*/*`."
|
231
230
|
|
232
231
|
validate do |value|
|
233
232
|
unless value.is_a?(Array) or value.is_a?(String) or value == false
|
data/lib/puppet/type/host.rb
CHANGED
data/lib/puppet/type/k5login.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# Plug-in type for handling k5login files
|
2
2
|
require 'puppet/util'
|
3
3
|
require 'puppet/util/selinux'
|
4
|
+
require 'puppet/type/file/selcontext'
|
4
5
|
|
5
6
|
Puppet::Type.newtype(:k5login) do
|
6
7
|
@doc = "Manage the `.k5login` file for a user. Specify the full path to
|
@@ -33,7 +34,7 @@ Puppet::Type.newtype(:k5login) do
|
|
33
34
|
end
|
34
35
|
|
35
36
|
# To manage the selinux user of the file
|
36
|
-
newproperty(:seluser) do
|
37
|
+
newproperty(:seluser, :parent => Puppet::SELFileContext) do
|
37
38
|
desc "What the SELinux user component of the context of the file should be.
|
38
39
|
Any valid SELinux user component is accepted. For example `user_u`.
|
39
40
|
If not specified it defaults to the value returned by matchpathcon for
|
@@ -44,7 +45,7 @@ Puppet::Type.newtype(:k5login) do
|
|
44
45
|
end
|
45
46
|
|
46
47
|
# To manage the selinux role of the file
|
47
|
-
newproperty(:selrole) do
|
48
|
+
newproperty(:selrole, :parent => Puppet::SELFileContext) do
|
48
49
|
desc "What the SELinux role component of the context of the file should be.
|
49
50
|
Any valid SELinux role component is accepted. For example `role_r`.
|
50
51
|
If not specified it defaults to the value returned by matchpathcon for
|
@@ -55,7 +56,7 @@ Puppet::Type.newtype(:k5login) do
|
|
55
56
|
end
|
56
57
|
|
57
58
|
# To manage the selinux type of the file
|
58
|
-
newproperty(:seltype) do
|
59
|
+
newproperty(:seltype, :parent => Puppet::SELFileContext) do
|
59
60
|
desc "What the SELinux type component of the context of the file should be.
|
60
61
|
Any valid SELinux type component is accepted. For example `tmp_t`.
|
61
62
|
If not specified it defaults to the value returned by matchpathcon for
|
@@ -67,7 +68,7 @@ Puppet::Type.newtype(:k5login) do
|
|
67
68
|
end
|
68
69
|
|
69
70
|
# To manage the selinux range of the file
|
70
|
-
newproperty(:selrange) do
|
71
|
+
newproperty(:selrange, :parent => Puppet::SELFileContext) do
|
71
72
|
desc "What the SELinux range component of the context of the file should be.
|
72
73
|
Any valid SELinux range component is accepted. For example `s0` or
|
73
74
|
`SystemHigh`. If not specified it defaults to the value returned by
|
@@ -78,6 +79,31 @@ Puppet::Type.newtype(:k5login) do
|
|
78
79
|
defaultto { "s0" }
|
79
80
|
end
|
80
81
|
|
82
|
+
# Stat our file.
|
83
|
+
#
|
84
|
+
# We use the initial value :needs_stat to ensure we only stat the file once,
|
85
|
+
# but can also keep track of a failed stat (@stat == nil). This also allows
|
86
|
+
# us to re-stat on demand by setting @stat = :needs_stat.
|
87
|
+
def stat
|
88
|
+
return @stat unless @stat == :needs_stat
|
89
|
+
|
90
|
+
@stat = begin
|
91
|
+
Puppet::FileSystem.stat(self[:path])
|
92
|
+
rescue Errno::ENOENT
|
93
|
+
nil
|
94
|
+
rescue Errno::ENOTDIR
|
95
|
+
nil
|
96
|
+
rescue Errno::EACCES
|
97
|
+
warning _("Could not stat; permission denied")
|
98
|
+
nil
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
def initialize(args)
|
103
|
+
@stat = :needs_stat
|
104
|
+
super
|
105
|
+
end
|
106
|
+
|
81
107
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
82
108
|
|
83
109
|
provide(:k5login) do
|
@@ -129,56 +155,6 @@ Puppet::Type.newtype(:k5login) do
|
|
129
155
|
File.chmod(Integer("0#{value}"), @resource[:name])
|
130
156
|
end
|
131
157
|
|
132
|
-
# Set the file seluser
|
133
|
-
def seluser
|
134
|
-
if selinux_support?
|
135
|
-
context = get_selinux_current_context(@resource[:name])
|
136
|
-
return parse_selinux_context(:seluser, context)
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
def seluser=(value)
|
141
|
-
set_selinux_context(@resource[:name], value, :seluser)
|
142
|
-
end
|
143
|
-
|
144
|
-
# Set the file selrole
|
145
|
-
def selrole
|
146
|
-
if selinux_support?
|
147
|
-
context = get_selinux_current_context(@resource[:name])
|
148
|
-
return parse_selinux_context(:selrole, context)
|
149
|
-
end
|
150
|
-
end
|
151
|
-
|
152
|
-
# Set the file seltype
|
153
|
-
def selrole=(value)
|
154
|
-
set_selinux_context(@resource[:name], value, :selrole)
|
155
|
-
end
|
156
|
-
|
157
|
-
# Set the file seltype
|
158
|
-
def seltype
|
159
|
-
if selinux_support?
|
160
|
-
context = get_selinux_current_context(@resource[:name])
|
161
|
-
return parse_selinux_context(:seltype, context)
|
162
|
-
end
|
163
|
-
end
|
164
|
-
|
165
|
-
# Set the file selrange
|
166
|
-
def seltype=(value)
|
167
|
-
set_selinux_context(@resource[:name], value, :seltype)
|
168
|
-
end
|
169
|
-
|
170
|
-
# Set the file selrange
|
171
|
-
def selrange
|
172
|
-
if selinux_support?
|
173
|
-
context = get_selinux_current_context(@resource[:name])
|
174
|
-
return parse_selinux_context(:selrange, context)
|
175
|
-
end
|
176
|
-
end
|
177
|
-
|
178
|
-
def selrange=(value)
|
179
|
-
set_selinux_context(@resource[:name], value, :selrange)
|
180
|
-
end
|
181
|
-
|
182
158
|
private
|
183
159
|
def write(value)
|
184
160
|
Puppet::Util.replace_file(@resource[:name], 0644) do |f|
|
data/lib/puppet/type/package.rb
CHANGED
@@ -9,8 +9,8 @@ require 'puppet/parameter/boolean'
|
|
9
9
|
module Puppet
|
10
10
|
Type.newtype(:package) do
|
11
11
|
@doc = "Manage packages. There is a basic dichotomy in package
|
12
|
-
support right now: Some package types (
|
13
|
-
retrieve their own package files, while others (
|
12
|
+
support right now: Some package types (such as yum and apt) can
|
13
|
+
retrieve their own package files, while others (such as rpm and sun)
|
14
14
|
cannot. For those package formats that cannot retrieve their own files,
|
15
15
|
you can use the `source` parameter to point to the correct file.
|
16
16
|
|
@@ -242,7 +242,7 @@ module Puppet
|
|
242
242
|
name => $ssl,
|
243
243
|
}
|
244
244
|
|
245
|
-
|
245
|
+
...
|
246
246
|
|
247
247
|
$ssh = $operatingsystem ? {
|
248
248
|
solaris => SMCossh,
|
data/lib/puppet/type/schedule.rb
CHANGED
@@ -18,8 +18,8 @@ module Puppet
|
|
18
18
|
time within that schedule, then the resources will get applied;
|
19
19
|
otherwise, that work may never get done.
|
20
20
|
|
21
|
-
Thus, it is advisable to use wider scheduling (
|
22
|
-
hours) combined with periods and repetitions. For instance, if you
|
21
|
+
Thus, it is advisable to use wider scheduling (for example, over a couple
|
22
|
+
of hours) combined with periods and repetitions. For instance, if you
|
23
23
|
wanted to restrict certain resources to only running once, between
|
24
24
|
the hours of two and 4 AM, then you would use this schedule:
|
25
25
|
|
@@ -36,7 +36,7 @@ module Puppet
|
|
36
36
|
because they will be outside the scheduled range.
|
37
37
|
|
38
38
|
Puppet automatically creates a schedule for each of the valid periods
|
39
|
-
with the same name as that period (
|
39
|
+
with the same name as that period (such as hourly and daily).
|
40
40
|
Additionally, a schedule named `puppet` is created and used as the
|
41
41
|
default, with the following attributes:
|
42
42
|
|
@@ -83,7 +83,7 @@ module Puppet
|
|
83
83
|
This is mostly useful for restricting certain resources to being
|
84
84
|
applied in maintenance windows or during off-peak hours. Multiple
|
85
85
|
ranges can be applied in array context. As a convenience when specifying
|
86
|
-
ranges, you
|
86
|
+
ranges, you can cross midnight (for example, `range => "22:00 - 04:00"`).
|
87
87
|
EOT
|
88
88
|
|
89
89
|
# This is lame; properties all use arrays as values, but parameters don't.
|
@@ -225,9 +225,9 @@ module Puppet
|
|
225
225
|
end
|
226
226
|
|
227
227
|
newparam(:periodmatch) do
|
228
|
-
desc "Whether periods should be matched by
|
229
|
-
are in the same hour) or by
|
230
|
-
60 minutes apart)."
|
228
|
+
desc "Whether periods should be matched by a numeric value (for instance,
|
229
|
+
whether two times are in the same hour) or by their chronological
|
230
|
+
distance apart (whether two times are 60 minutes apart)."
|
231
231
|
|
232
232
|
newvalues(:number, :distance)
|
233
233
|
|
@@ -241,8 +241,8 @@ module Puppet
|
|
241
241
|
|
242
242
|
Note that the period defines how often a given resource will get
|
243
243
|
applied but not when; if you would like to restrict the hours
|
244
|
-
that a given resource can be applied (
|
245
|
-
a maintenance window), then use the `range` attribute.
|
244
|
+
that a given resource can be applied (for instance, only at night
|
245
|
+
during a maintenance window), then use the `range` attribute.
|
246
246
|
|
247
247
|
If the provided periods are not sufficient, you can provide a
|
248
248
|
value to the *repeat* attribute, which will cause Puppet to
|
@@ -258,9 +258,9 @@ module Puppet
|
|
258
258
|
|
259
259
|
At the moment, Puppet cannot guarantee that level of repetition; that
|
260
260
|
is, the resource can applied _up to_ every 10 minutes, but internal
|
261
|
-
factors might prevent it from actually running that often (
|
262
|
-
Puppet run is still in progress when the next run is scheduled to
|
263
|
-
that next run will be suppressed).
|
261
|
+
factors might prevent it from actually running that often (for instance,
|
262
|
+
if a Puppet run is still in progress when the next run is scheduled to
|
263
|
+
start, that next run will be suppressed).
|
264
264
|
|
265
265
|
See the `periodmatch` attribute for tuning whether to match
|
266
266
|
times by their distance apart or by their specific value.
|
@@ -107,10 +107,10 @@ Puppet::Type.newtype(:scheduled_task) do
|
|
107
107
|
minutes_interval.
|
108
108
|
* For `daily` triggers:
|
109
109
|
* `every` --- How often the task should run, as a number of days. Defaults
|
110
|
-
to 1. ("2" means every other day, "3" means every three days,
|
110
|
+
to 1. ("2" means every other day, "3" means every three days, and so on)
|
111
111
|
* For `weekly` triggers:
|
112
112
|
* `every` --- How often the task should run, as a number of weeks. Defaults
|
113
|
-
to 1. ("2" means every other week, "3" means every three weeks,
|
113
|
+
to 1. ("2" means every other week, "3" means every three weeks, and so on)
|
114
114
|
* `day_of_week` --- Which days of the week the task should run, as an array.
|
115
115
|
Defaults to all days. Each day must be one of `mon`, `tues`,
|
116
116
|
`wed`, `thurs`, `fri`, `sat`, `sun`, or `all`.
|
@@ -66,8 +66,8 @@ module Puppet
|
|
66
66
|
Make sure to omit the following in this attribute (and specify them in
|
67
67
|
other attributes):
|
68
68
|
|
69
|
-
* Key headers
|
70
|
-
* Key identifiers / comments
|
69
|
+
* Key headers, such as 'ssh-rsa' --- put these in the `type` attribute.
|
70
|
+
* Key identifiers / comments, such as 'joe@joescomputer.local' --- put these in
|
71
71
|
the `name` attribute/resource title."
|
72
72
|
|
73
73
|
validate do |value|
|
@@ -82,9 +82,9 @@ module Puppet
|
|
82
82
|
|
83
83
|
newproperty(:target) do
|
84
84
|
desc "The absolute filename in which to store the SSH key. This
|
85
|
-
property is optional and should
|
86
|
-
are stored in a non-standard location
|
87
|
-
`~user/.ssh/authorized_keys
|
85
|
+
property is optional and should be used only in cases where keys
|
86
|
+
are stored in a non-standard location, for instance when not in
|
87
|
+
`~user/.ssh/authorized_keys`."
|
88
88
|
|
89
89
|
defaultto :absent
|
90
90
|
|
data/lib/puppet/type/sshkey.rb
CHANGED
@@ -25,8 +25,8 @@ module Puppet
|
|
25
25
|
Make sure to omit the following in this attribute (and specify them in
|
26
26
|
other attributes):
|
27
27
|
|
28
|
-
* Key headers
|
29
|
-
* Key identifiers / comments
|
28
|
+
* Key headers, such as 'ssh-rsa' --- put these in the `type` attribute.
|
29
|
+
* Key identifiers / comments, such as 'joescomputer.local' --- put these in
|
30
30
|
the `name` attribute/resource title."
|
31
31
|
end
|
32
32
|
|
data/lib/puppet/type/tidy.rb
CHANGED
@@ -105,7 +105,7 @@ Puppet::Type.newtype(:tidy) do
|
|
105
105
|
desc "Tidy files whose age is equal to or greater than
|
106
106
|
the specified time. You can choose seconds, minutes,
|
107
107
|
hours, days, or weeks by specifying the first letter of any
|
108
|
-
of those words (
|
108
|
+
of those words (for example, '1w' represents one week).
|
109
109
|
|
110
110
|
Specifying 0 will remove all files."
|
111
111
|
|
data/lib/puppet/type/user.rb
CHANGED
@@ -411,7 +411,7 @@ module Puppet
|
|
411
411
|
a zero-padded YYYY-MM-DD format -- for example, 2010-02-19."
|
412
412
|
|
413
413
|
newvalues :absent
|
414
|
-
newvalues
|
414
|
+
newvalues(/^\d{4}-\d{2}-\d{2}$/)
|
415
415
|
|
416
416
|
validate do |value|
|
417
417
|
if value.intern != :absent and value !~ /^\d{4}-\d{2}-\d{2}$/
|
data/lib/puppet/type/yumrepo.rb
CHANGED
@@ -39,7 +39,7 @@ Puppet::Type.newtype(:yumrepo) do
|
|
39
39
|
end
|
40
40
|
|
41
41
|
newparam(:target) do
|
42
|
-
desc "The
|
42
|
+
desc "The target parameter will be enabled in a future release and should not be used."
|
43
43
|
|
44
44
|
defaultto :absent
|
45
45
|
end
|
@@ -165,7 +165,8 @@ Puppet::Type.newtype(:yumrepo) do
|
|
165
165
|
end
|
166
166
|
|
167
167
|
newproperty(:exclude) do
|
168
|
-
desc "
|
168
|
+
desc "The string of package names or shell globs separated by spaces to exclude.
|
169
|
+
Packages that match the package name given or shell globs will never be
|
169
170
|
considered in updates or installs for this repo.
|
170
171
|
#{ABSENT_DOC}"
|
171
172
|
|
@@ -187,9 +188,10 @@ Puppet::Type.newtype(:yumrepo) do
|
|
187
188
|
end
|
188
189
|
|
189
190
|
newproperty(:includepkgs) do
|
190
|
-
desc "
|
191
|
-
matching one of the
|
192
|
-
|
191
|
+
desc "The string of package names or shell globs separated by spaces to
|
192
|
+
include. If this is set, only packages matching one of the package
|
193
|
+
names or shell globs will be considered for update or install
|
194
|
+
from this repository. #{ABSENT_DOC}"
|
193
195
|
|
194
196
|
newvalues(/.*/, :absent)
|
195
197
|
end
|
@@ -415,4 +417,23 @@ Puppet::Type.newtype(:yumrepo) do
|
|
415
417
|
|
416
418
|
newvalues(/^\d+$/, :absent)
|
417
419
|
end
|
420
|
+
|
421
|
+
newproperty(:username) do
|
422
|
+
desc "Username to use for basic authentication to a repo or really any url.
|
423
|
+
#{ABSENT_DOC}"
|
424
|
+
newvalues(/.*/, :absent)
|
425
|
+
end
|
426
|
+
|
427
|
+
newproperty(:password) do
|
428
|
+
desc "Password to use with the username for basic authentication.
|
429
|
+
#{ABSENT_DOC}"
|
430
|
+
newvalues(/.*/, :absent)
|
431
|
+
end
|
432
|
+
|
433
|
+
private
|
434
|
+
|
435
|
+
def set_sensitive_parameters(sensitive_parameters)
|
436
|
+
parameter(:password).sensitive = true if parameter(:password)
|
437
|
+
super(sensitive_parameters)
|
438
|
+
end
|
418
439
|
end
|
data/lib/puppet/util.rb
CHANGED
@@ -366,12 +366,8 @@ module Util
|
|
366
366
|
end
|
367
367
|
module_function :uri_to_path
|
368
368
|
|
369
|
-
private
|
370
|
-
|
371
369
|
RFC_3986_URI_REGEX = /^(?<scheme>([^:\/?#]+):)?(?<authority>\/\/([^\/?#]*))?(?<path>[^?#]*)(\?(?<query>[^#]*))?(#(?<fragment>.*))?$/
|
372
370
|
|
373
|
-
public
|
374
|
-
|
375
371
|
# Percent-encodes a URI query parameter per RFC3986 - https://tools.ietf.org/html/rfc3986
|
376
372
|
#
|
377
373
|
# The output will correctly round-trip through URI.unescape
|