puppet 4.5.3-x86-mingw32 → 4.6.1-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/Gemfile +10 -1
- data/ext/debian/control +2 -4
- data/ext/project_data.yaml +4 -4
- data/install.rb +6 -2
- data/lib/puppet.rb +3 -1
- data/lib/puppet/agent/locker.rb +1 -1
- data/lib/puppet/application.rb +6 -4
- data/lib/puppet/application/agent.rb +2 -1
- data/lib/puppet/application/cert.rb +35 -2
- data/lib/puppet/application/device.rb +1 -1
- data/lib/puppet/application/generate.rb +5 -0
- data/lib/puppet/application/lookup.rb +3 -3
- data/lib/puppet/application_support.rb +1 -1
- data/lib/puppet/compilable_resource_type.rb +15 -0
- data/lib/puppet/configurer.rb +67 -10
- data/lib/puppet/configurer/plugin_handler.rb +2 -4
- data/lib/puppet/data_providers/hiera_config.rb +1 -1
- data/lib/puppet/defaults.rb +34 -7
- data/lib/puppet/environments.rb +4 -2
- data/lib/puppet/error.rb +1 -1
- data/lib/puppet/external/dot.rb +1 -1
- data/lib/puppet/face/ca.rb +4 -1
- data/lib/puppet/face/certificate.rb +7 -1
- data/lib/puppet/face/epp.rb +5 -5
- data/lib/puppet/face/generate.rb +64 -0
- data/lib/puppet/face/help.rb +19 -13
- data/lib/puppet/face/man.rb +1 -1
- data/lib/puppet/feature/external_facts.rb +1 -1
- data/lib/puppet/file_system.rb +16 -0
- data/lib/puppet/file_system/file_impl.rb +5 -0
- data/lib/puppet/file_system/memory_impl.rb +4 -0
- data/lib/puppet/file_system/path_pattern.rb +1 -0
- data/lib/puppet/file_system/windows.rb +19 -0
- data/lib/puppet/functions.rb +3 -5
- data/lib/puppet/functions/assert_type.rb +1 -1
- data/lib/puppet/functions/defined.rb +7 -5
- data/lib/puppet/functions/dig.rb +2 -18
- data/lib/puppet/functions/hiera.rb +1 -1
- data/lib/puppet/functions/lest.rb +1 -37
- data/lib/puppet/functions/new.rb +2 -473
- data/lib/puppet/functions/reverse_each.rb +2 -59
- data/lib/puppet/functions/scanf.rb +4 -4
- data/lib/puppet/functions/step.rb +1 -63
- data/lib/puppet/functions/then.rb +1 -61
- data/lib/puppet/functions/type.rb +1 -40
- data/lib/puppet/functions/unwrap.rb +40 -0
- data/lib/puppet/generate/models/type/property.rb +70 -0
- data/lib/puppet/generate/models/type/type.rb +57 -0
- data/lib/puppet/generate/templates/type/pcore.erb +41 -0
- data/lib/puppet/generate/type.rb +239 -0
- data/lib/puppet/graph/simple_graph.rb +2 -6
- data/lib/puppet/indirector/catalog/static_compiler.rb +5 -2
- data/lib/puppet/indirector/facts/facter.rb +1 -1
- data/lib/puppet/indirector/key/ca.rb +2 -2
- data/lib/puppet/indirector/request.rb +25 -4
- data/lib/puppet/indirector/rest.rb +73 -3
- data/lib/puppet/info_service/class_information_service.rb +1 -2
- data/lib/puppet/interface/documentation.rb +1 -1
- data/lib/puppet/loaders.rb +2 -0
- data/lib/puppet/metatype/manager.rb +6 -6
- data/lib/puppet/module.rb +8 -1
- data/lib/puppet/module_tool.rb +2 -2
- data/lib/puppet/module_tool/checksums.rb +1 -1
- data/lib/puppet/module_tool/errors/installer.rb +2 -2
- data/lib/puppet/module_tool/metadata.rb +1 -1
- data/lib/puppet/network/http/api/indirected_routes.rb +23 -32
- data/lib/puppet/network/http/rack/rest.rb +15 -1
- data/lib/puppet/network/rights.rb +1 -11
- data/lib/puppet/node/environment.rb +7 -3
- data/lib/puppet/node/facts.rb +1 -1
- data/lib/puppet/parameter.rb +23 -3
- data/lib/puppet/parameter/boolean.rb +1 -1
- data/lib/puppet/parameter/value.rb +1 -1
- data/lib/puppet/parser.rb +0 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +1 -1
- data/lib/puppet/parser/ast/resource.rb +5 -0
- data/lib/puppet/parser/ast/resource_instance.rb +5 -1
- data/lib/puppet/parser/ast/resourceparam.rb +5 -0
- data/lib/puppet/parser/compiler.rb +14 -17
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +1 -1
- data/lib/puppet/parser/environment_compiler.rb +10 -0
- data/lib/puppet/parser/functions/create_resources.rb +39 -24
- data/lib/puppet/parser/functions/defined.rb +2 -26
- data/lib/puppet/parser/functions/dig.rb +29 -0
- data/lib/puppet/parser/functions/lest.rb +49 -0
- data/lib/puppet/parser/functions/new.rb +530 -0
- data/lib/puppet/parser/functions/require.rb +1 -1
- data/lib/puppet/parser/functions/reverse_each.rb +83 -0
- data/lib/puppet/parser/functions/scanf.rb +4 -4
- data/lib/puppet/parser/functions/step.rb +84 -0
- data/lib/puppet/parser/functions/then.rb +73 -0
- data/lib/puppet/parser/functions/type.rb +53 -0
- data/lib/puppet/parser/resource.rb +16 -7
- data/lib/puppet/parser/scope.rb +36 -28
- data/lib/puppet/parser/type_loader.rb +1 -1
- data/lib/puppet/plugins/data_providers/data_provider.rb +1 -1
- data/lib/puppet/pops.rb +13 -0
- data/lib/puppet/pops/adapters.rb +49 -49
- data/lib/puppet/pops/binder/scheme_handler/confdir_scheme.rb +1 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +39 -2
- data/lib/puppet/pops/evaluator/closure.rb +39 -13
- data/lib/puppet/pops/evaluator/collector_transformer.rb +10 -1
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +16 -11
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
- data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +0 -1
- data/lib/puppet/pops/evaluator/literal_evaluator.rb +0 -1
- data/lib/puppet/pops/evaluator/relationship_operator.rb +1 -2
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +119 -0
- data/lib/puppet/pops/evaluator/runtime3_support.rb +19 -45
- data/lib/puppet/pops/functions/function.rb +5 -0
- data/lib/puppet/pops/issues.rb +1 -1
- data/lib/puppet/pops/label_provider.rb +2 -2
- data/lib/puppet/pops/loader/base_loader.rb +12 -15
- data/lib/puppet/pops/loader/loader.rb +15 -50
- data/lib/puppet/pops/loader/loader_paths.rb +28 -2
- data/lib/puppet/pops/loader/module_loaders.rb +16 -1
- data/lib/puppet/pops/loader/null_loader.rb +17 -1
- data/lib/puppet/pops/loader/puppet_function_instantiator.rb +12 -11
- data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +80 -0
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +2 -3
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +52 -13
- data/lib/puppet/pops/loader/static_loader.rb +55 -0
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +30 -14
- data/lib/puppet/pops/loader/typed_name.rb +50 -0
- data/lib/puppet/pops/loaders.rb +64 -19
- data/lib/puppet/pops/merge_strategy.rb +7 -7
- data/lib/puppet/pops/migration/migration_checker.rb +4 -0
- data/lib/puppet/pops/model/model_label_provider.rb +2 -0
- data/lib/puppet/pops/parser/egrammar.ra +8 -5
- data/lib/puppet/pops/parser/eparser.rb +1550 -1498
- data/lib/puppet/pops/parser/evaluating_parser.rb +1 -1
- data/lib/puppet/pops/parser/interpolation_support.rb +7 -0
- data/lib/puppet/pops/parser/lexer2.rb +14 -1
- data/lib/puppet/pops/parser/locator.rb +30 -1
- data/lib/puppet/pops/parser/parser_support.rb +0 -3
- data/lib/puppet/pops/parser/slurp_support.rb +3 -3
- data/lib/puppet/pops/patterns.rb +9 -1
- data/lib/puppet/pops/pcore.rb +67 -11
- data/lib/puppet/pops/puppet_stack.rb +43 -0
- data/lib/puppet/pops/resource/param.rb +51 -0
- data/lib/puppet/pops/resource/resource_type_impl.rb +301 -0
- data/lib/puppet/pops/resource/resource_type_set.pcore +21 -0
- data/lib/puppet/pops/serialization.rb +17 -0
- data/lib/puppet/pops/serialization/abstract_reader.rb +149 -0
- data/lib/puppet/pops/serialization/abstract_writer.rb +179 -0
- data/lib/puppet/pops/serialization/deserializer.rb +60 -0
- data/lib/puppet/pops/serialization/extension.rb +126 -0
- data/lib/puppet/pops/serialization/instance_reader.rb +19 -0
- data/lib/puppet/pops/serialization/instance_writer.rb +14 -0
- data/lib/puppet/pops/serialization/json.rb +247 -0
- data/lib/puppet/pops/serialization/object.rb +63 -0
- data/lib/puppet/pops/serialization/rgen.rb +151 -0
- data/lib/puppet/pops/serialization/serializer.rb +91 -0
- data/lib/puppet/pops/serialization/time_factory.rb +66 -0
- data/lib/puppet/pops/types/annotatable.rb +36 -0
- data/lib/puppet/pops/types/implementation_registry.rb +3 -8
- data/lib/puppet/pops/types/p_meta_type.rb +83 -0
- data/lib/puppet/pops/types/p_object_type.rb +110 -117
- data/lib/puppet/pops/types/p_runtime_type.rb +13 -0
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +23 -0
- data/lib/puppet/pops/types/p_sem_ver_type.rb +30 -2
- data/lib/puppet/pops/types/p_sensitive_type.rb +69 -0
- data/lib/puppet/pops/types/p_type_set_type.rb +361 -0
- data/lib/puppet/pops/types/puppet_object.rb +0 -5
- data/lib/puppet/pops/types/ruby_generator.rb +9 -2
- data/lib/puppet/pops/types/type_calculator.rb +6 -1
- data/lib/puppet/pops/types/type_factory.rb +14 -12
- data/lib/puppet/pops/types/type_formatter.rb +78 -33
- data/lib/puppet/pops/types/type_mismatch_describer.rb +0 -2
- data/lib/puppet/pops/types/type_parser.rb +27 -2
- data/lib/puppet/pops/types/type_set_reference.rb +59 -0
- data/lib/puppet/pops/types/types.rb +366 -13
- data/lib/puppet/pops/validation.rb +4 -4
- data/lib/puppet/pops/validation/checker4_0.rb +5 -2
- data/lib/puppet/pops/visitor.rb +2 -2
- data/lib/puppet/property.rb +64 -5
- data/lib/puppet/provider.rb +1 -1
- data/lib/puppet/provider/aixobject.rb +3 -3
- data/lib/puppet/provider/group/aix.rb +4 -4
- data/lib/puppet/provider/macauthorization/macauthorization.rb +1 -1
- data/lib/puppet/provider/mailalias/aliases.rb +1 -1
- data/lib/puppet/provider/mcx/mcxcontent.rb +2 -2
- data/lib/puppet/provider/mount/parsed.rb +1 -1
- data/lib/puppet/provider/nameservice/directoryservice.rb +5 -5
- data/lib/puppet/provider/package/appdmg.rb +3 -3
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/dnf.rb +5 -0
- data/lib/puppet/provider/package/nim.rb +1 -1
- data/lib/puppet/provider/package/pacman.rb +2 -2
- data/lib/puppet/provider/package/pip.rb +5 -3
- data/lib/puppet/provider/package/pip3.rb +1 -1
- data/lib/puppet/provider/package/pkg.rb +5 -5
- data/lib/puppet/provider/package/pkgdmg.rb +4 -4
- data/lib/puppet/provider/package/pkgin.rb +1 -1
- data/lib/puppet/provider/package/pkgutil.rb +1 -1
- data/lib/puppet/provider/package/portage.rb +48 -8
- data/lib/puppet/provider/package/sun.rb +1 -1
- data/lib/puppet/provider/package/tdnf.rb +28 -0
- data/lib/puppet/provider/package/yum.rb +22 -4
- data/lib/puppet/provider/parsedfile.rb +2 -2
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/bsd.rb +1 -1
- data/lib/puppet/provider/service/daemontools.rb +2 -2
- data/lib/puppet/provider/service/debian.rb +3 -3
- data/lib/puppet/provider/service/init.rb +5 -3
- data/lib/puppet/provider/service/launchd.rb +16 -2
- data/lib/puppet/provider/service/runit.rb +1 -1
- data/lib/puppet/provider/service/smf.rb +8 -1
- data/lib/puppet/provider/service/systemd.rb +39 -6
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +1 -1
- data/lib/puppet/provider/user/aix.rb +3 -2
- data/lib/puppet/provider/user/directoryservice.rb +4 -3
- data/lib/puppet/provider/user/hpux.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +1 -1
- data/lib/puppet/provider/user/windows_adsi.rb +3 -0
- data/lib/puppet/provider/zfs/zfs.rb +1 -1
- data/lib/puppet/reference/type.rb +1 -1
- data/lib/puppet/resource.rb +33 -7
- data/lib/puppet/resource/capability_finder.rb +74 -54
- data/lib/puppet/resource/status.rb +11 -2
- data/lib/puppet/settings.rb +17 -6
- data/lib/puppet/settings/environment_conf.rb +1 -1
- data/lib/puppet/settings/server_list_setting.rb +20 -0
- data/lib/puppet/ssl/certificate_authority.rb +32 -9
- data/lib/puppet/ssl/certificate_authority/interface.rb +164 -24
- data/lib/puppet/ssl/host.rb +3 -3
- data/lib/puppet/ssl/oids.rb +10 -0
- data/lib/puppet/ssl/validator/default_validator.rb +2 -2
- data/lib/puppet/test/test_helper.rb +2 -2
- data/lib/puppet/transaction.rb +12 -0
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/event.rb +29 -2
- data/lib/puppet/transaction/event_manager.rb +1 -1
- data/lib/puppet/transaction/persistence.rb +84 -0
- data/lib/puppet/transaction/report.rb +49 -2
- data/lib/puppet/transaction/resource_harness.rb +98 -18
- data/lib/puppet/type.rb +63 -21
- data/lib/puppet/type/augeas.rb +3 -3
- data/lib/puppet/type/cron.rb +1 -1
- data/lib/puppet/type/file.rb +39 -2
- data/lib/puppet/type/file/data_sync.rb +13 -5
- data/lib/puppet/type/host.rb +1 -1
- data/lib/puppet/type/mount.rb +2 -6
- data/lib/puppet/type/notify.rb +1 -1
- data/lib/puppet/type/package.rb +1 -1
- data/lib/puppet/type/resources.rb +1 -1
- data/lib/puppet/type/scheduled_task.rb +1 -1
- data/lib/puppet/type/ssh_authorized_key.rb +2 -2
- data/lib/puppet/type/tidy.rb +1 -1
- data/lib/puppet/type/yumrepo.rb +3 -3
- data/lib/puppet/type/zone.rb +1 -1
- data/lib/puppet/util.rb +2 -2
- data/lib/puppet/util/classgen.rb +1 -1
- data/lib/puppet/util/command_line.rb +6 -2
- data/lib/puppet/util/command_line/trollop.rb +1 -1
- data/lib/puppet/util/execution.rb +2 -2
- data/lib/puppet/util/http_proxy.rb +1 -1
- data/lib/puppet/util/inifile.rb +1 -1
- data/lib/puppet/util/instance_loader.rb +1 -1
- data/lib/puppet/util/logging.rb +1 -1
- data/lib/puppet/util/multi_match.rb +1 -1
- data/lib/puppet/util/plist.rb +15 -5
- data/lib/puppet/util/profiler.rb +1 -1
- data/lib/puppet/util/profiler/around_profiler.rb +1 -1
- data/lib/puppet/util/psych_support.rb +1 -1
- data/lib/puppet/util/rdoc.rb +2 -2
- data/lib/puppet/util/rubygems.rb +1 -1
- data/lib/puppet/util/watcher/periodic_watcher.rb +2 -2
- data/lib/puppet/util/windows/access_control_entry.rb +1 -1
- data/lib/puppet/util/windows/adsi.rb +30 -8
- data/lib/puppet/util/windows/api_types.rb +1 -1
- data/lib/puppet/util/windows/file.rb +59 -0
- data/lib/puppet/util/windows/process.rb +10 -0
- data/lib/puppet/util/windows/security.rb +1 -1
- data/lib/puppet/util/windows/user.rb +22 -4
- data/lib/puppet/util/yaml.rb +15 -3
- data/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +1 -1
- data/lib/puppet/vendor/rgen_patch.rb +1 -1
- data/lib/puppet/version.rb +2 -2
- data/spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp +10 -0
- data/spec/integration/agent/logging_spec.rb +15 -14
- data/spec/integration/application/apply_spec.rb +1 -0
- data/spec/integration/directory_environments_spec.rb +16 -0
- data/spec/integration/environments/settings_spec.rb +32 -4
- data/spec/integration/faces/documentation_spec.rb +1 -1
- data/spec/integration/network/http/api/indirected_routes_spec.rb +33 -0
- data/spec/integration/node/environment_spec.rb +21 -0
- data/spec/integration/parser/collection_spec.rb +10 -0
- data/spec/integration/parser/compiler_spec.rb +76 -840
- data/spec/integration/parser/functions/require_spec.rb +3 -3
- data/spec/integration/parser/parameter_defaults_spec.rb +6 -2
- data/spec/integration/parser/pcore_resource_spec.rb +208 -0
- data/spec/integration/parser/resource_expressions_spec.rb +4 -2
- data/spec/integration/provider/yumrepo_spec.rb +4 -1
- data/spec/integration/transaction/report_spec.rb +666 -0
- data/spec/integration/type/file_spec.rb +11 -12
- data/spec/integration/util/windows/adsi_spec.rb +99 -0
- data/spec/integration/util/windows/principal_spec.rb +109 -60
- data/spec/integration/util/windows/process_spec.rb +4 -2
- data/spec/integration/util/windows/security_spec.rb +34 -8
- data/spec/integration/util/windows/user_spec.rb +26 -4
- data/spec/lib/puppet_spec/files.rb +2 -2
- data/spec/lib/puppet_spec/network.rb +12 -8
- data/spec/shared_examples/rhel_package_provider.rb +341 -0
- data/spec/spec_helper.rb +8 -2
- data/spec/unit/application/cert_spec.rb +20 -0
- data/spec/unit/configurer/plugin_handler_spec.rb +0 -26
- data/spec/unit/configurer_spec.rb +46 -0
- data/spec/unit/defaults_spec.rb +14 -0
- data/spec/unit/face/generate_spec.rb +230 -0
- data/spec/unit/face/help_spec.rb +53 -0
- data/spec/unit/face/parser_spec.rb +6 -0
- data/spec/unit/face/plugin_spec.rb +0 -4
- data/spec/unit/file_system_spec.rb +85 -0
- data/spec/unit/functions/lookup_spec.rb +4 -4
- data/spec/unit/functions/match_spec.rb +2 -2
- data/spec/unit/functions/regsubst_spec.rb +1 -1
- data/spec/unit/functions/split_spec.rb +1 -1
- data/spec/unit/functions/unwrap_spec.rb +29 -0
- data/spec/unit/functions/versioncmp_spec.rb +1 -1
- data/spec/unit/functions4_spec.rb +8 -8
- data/spec/unit/indirector/facts/facter_spec.rb +1 -9
- data/spec/unit/indirector/rest_spec.rb +95 -9
- data/spec/unit/module_spec.rb +43 -7
- data/spec/unit/module_tool/applications/installer_spec.rb +10 -1
- data/spec/unit/module_tool/applications/unpacker_spec.rb +2 -1
- data/spec/unit/module_tool/applications/upgrader_spec.rb +8 -0
- data/spec/unit/module_tool/tar/mini_spec.rb +3 -3
- data/spec/unit/network/http/api/indirected_routes_spec.rb +49 -58
- data/spec/unit/network/http/api/master/v3_spec.rb +7 -4
- data/spec/unit/network/rights_spec.rb +1 -1
- data/spec/unit/parameter_spec.rb +11 -0
- data/spec/unit/parser/compiler_spec.rb +19 -33
- data/spec/unit/{appmgmt_spec.rb → parser/environment_compiler_spec.rb} +12 -1
- data/spec/unit/parser/functions/create_resources_spec.rb +76 -4
- data/spec/unit/parser/functions/require_spec.rb +2 -2
- data/spec/unit/parser/resource_spec.rb +21 -11
- data/spec/unit/parser/scope_spec.rb +1 -5
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +1 -1
- data/spec/unit/pops/loaders/dependency_loader_spec.rb +1 -1
- data/spec/unit/pops/loaders/loader_paths_spec.rb +1 -1
- data/spec/unit/pops/loaders/loaders_spec.rb +63 -5
- data/spec/unit/pops/loaders/module_loaders_spec.rb +2 -2
- data/spec/unit/pops/loaders/static_loader_spec.rb +1 -1
- data/spec/unit/pops/parser/lexer2_spec.rb +27 -3
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +8 -0
- data/spec/unit/pops/parser/parse_calls_spec.rb +9 -0
- data/spec/unit/pops/puppet_stack_spec.rb +79 -0
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +37 -0
- data/spec/unit/pops/serialization/packer_spec.rb +153 -0
- data/spec/unit/pops/serialization/rgen_spec.rb +88 -0
- data/spec/unit/pops/serialization/serialization_spec.rb +228 -0
- data/spec/unit/pops/types/p_object_type_spec.rb +44 -2
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +42 -0
- data/spec/unit/pops/types/p_sensitive_type_spec.rb +139 -0
- data/spec/unit/pops/types/p_type_set_type_spec.rb +424 -0
- data/spec/unit/pops/types/ruby_generator_spec.rb +497 -181
- data/spec/unit/pops/types/type_calculator_spec.rb +10 -4
- data/spec/unit/pops/types/type_formatter_spec.rb +1 -1
- data/spec/unit/pops/types/type_mismatch_describer_spec.rb +2 -2
- data/spec/unit/pops/types/type_parser_spec.rb +1 -1
- data/spec/unit/pops/types/types_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +18 -1
- data/spec/unit/property_spec.rb +48 -11
- data/spec/unit/provider/group/windows_adsi_spec.rb +11 -1
- data/spec/unit/provider/package/dnf_spec.rb +1 -99
- data/spec/unit/provider/package/pacman_spec.rb +4 -4
- data/spec/unit/provider/package/pip_spec.rb +14 -0
- data/spec/unit/provider/package/pkg_spec.rb +6 -0
- data/spec/unit/provider/package/pkgdmg_spec.rb +0 -3
- data/spec/unit/provider/package/portage_spec.rb +64 -8
- data/spec/unit/provider/package/tdnf_spec.rb +18 -0
- data/spec/unit/provider/package/windows/package_spec.rb +4 -1
- data/spec/unit/provider/package/windows_spec.rb +8 -2
- data/spec/unit/provider/package/yum_spec.rb +6 -377
- data/spec/unit/provider/service/base_spec.rb +6 -0
- data/spec/unit/provider/service/debian_spec.rb +16 -7
- data/spec/unit/provider/service/gentoo_spec.rb +6 -0
- data/spec/unit/provider/service/init_spec.rb +7 -0
- data/spec/unit/provider/service/launchd_spec.rb +35 -4
- data/spec/unit/provider/service/openrc_spec.rb +6 -0
- data/spec/unit/provider/service/smf_spec.rb +31 -6
- data/spec/unit/provider/service/src_spec.rb +6 -0
- data/spec/unit/provider/service/systemd_spec.rb +70 -20
- data/spec/unit/provider/service/upstart_spec.rb +6 -0
- data/spec/unit/provider/user/aix_spec.rb +7 -0
- data/spec/unit/provider/user/directoryservice_spec.rb +30 -1
- data/spec/unit/provider/user/windows_adsi_spec.rb +19 -0
- data/spec/unit/resource/capability_finder_spec.rb +51 -3
- data/spec/unit/resource/catalog_spec.rb +5 -0
- data/spec/unit/resource/type_spec.rb +2 -2
- data/spec/unit/resource_spec.rb +19 -0
- data/spec/unit/settings_spec.rb +13 -0
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +176 -10
- data/spec/unit/ssl/certificate_authority_spec.rb +63 -22
- data/spec/unit/ssl/host_spec.rb +1 -1
- data/spec/unit/ssl/oids_spec.rb +24 -21
- data/spec/unit/transaction/event_spec.rb +3 -1
- data/spec/unit/transaction/persistence_spec.rb +173 -0
- data/spec/unit/transaction/report_spec.rb +64 -1
- data/spec/unit/transaction/resource_harness_spec.rb +91 -0
- data/spec/unit/type/file/content_spec.rb +47 -15
- data/spec/unit/type/file_spec.rb +28 -0
- data/spec/unit/type/mount_spec.rb +5 -12
- data/spec/unit/type/yumrepo_spec.rb +1 -5
- data/spec/unit/type_spec.rb +32 -0
- data/spec/unit/util/command_line_spec.rb +11 -0
- data/spec/unit/util/execution_spec.rb +1 -1
- data/spec/unit/util/plist_spec.rb +16 -3
- data/spec/unit/util/storage_spec.rb +4 -1
- data/spec/unit/util/windows/adsi_spec.rb +23 -2
- data/spec/unit/util/windows/file_spec.rb +56 -1
- data/spec/unit/util/windows/sid_spec.rb +31 -7
- data/spec/unit/util/yaml_spec.rb +12 -0
- data/spec/unit/util_spec.rb +87 -20
- metadata +91 -48
- data/ext/puppetlisten/puppetlisten.rb +0 -77
- data/ext/puppetlisten/puppetrun.rb +0 -38
- data/lib/puppet/resource/type_collection_helper.rb +0 -7
- data/spec/unit/parser/functions/defined_spec.rb +0 -120
- data/spec/unit/resource/type_collection_helper_spec.rb +0 -24
@@ -1,62 +1,5 @@
|
|
1
|
-
# Reverses the order of the elements of something that is iterable
|
2
|
-
#
|
3
|
-
# element.
|
4
|
-
#
|
5
|
-
# This function takes one to two arguments.
|
6
|
-
#
|
7
|
-
# 1. An `Iterable` that the function will iterate over.
|
8
|
-
# 2. An optional lambda, which the function calls for each element in the first argument. It must
|
9
|
-
# request one parameter.
|
10
|
-
#
|
11
|
-
# @example Using the `reverse_each` function
|
12
|
-
#
|
13
|
-
# `$data.reverse_each |$parameter| { <PUPPET CODE BLOCK> }`
|
14
|
-
#
|
15
|
-
# or
|
16
|
-
#
|
17
|
-
# `$reverse_data = $data.reverse_each`
|
18
|
-
#
|
19
|
-
# or
|
20
|
-
#
|
21
|
-
# `reverse_each($data) |$parameter| { <PUPPET CODE BLOCK> }`
|
22
|
-
#
|
23
|
-
# or
|
24
|
-
#
|
25
|
-
# `$reverse_data = reverse_each($data)`
|
26
|
-
#
|
27
|
-
# When no second argument is present, Puppet returns an `Iterable` that represents the reverse
|
28
|
-
# order of its first argument. This allows methods on `Iterable` to be chained.
|
29
|
-
#
|
30
|
-
# When a lamdba is given as the second argument, Puppet iterates the first argument in reverse
|
31
|
-
# order and passes each value in turn to the lambda, then returns `undef`.
|
32
|
-
#
|
33
|
-
# @example Using the `reverse_each` function with an array and a one-parameter lambda
|
34
|
-
#
|
35
|
-
# ~~~ puppet
|
36
|
-
# # Puppet will log a notice for each of the three items in $data in reverse order.
|
37
|
-
# $data = [1,2,3]
|
38
|
-
# $data.reverse_each |$item| { notice($item) }
|
39
|
-
#
|
40
|
-
# ~~~
|
41
|
-
#
|
42
|
-
# When no second argument is present, Puppet returns a new `Iterable` which allows it to
|
43
|
-
# be directly chained into another function that takes an `Iterable` as an argument.
|
44
|
-
#
|
45
|
-
# @example Using the `reverse_each` function chained with a `map` function.
|
46
|
-
#
|
47
|
-
# # For the array $data, return an array containing each value multiplied by 10 in reverse order
|
48
|
-
# $data = [1,2,3]
|
49
|
-
# $transformed_data = $data.reverse_each.map |$item| { $item * 10 }
|
50
|
-
# # $transformed_data is set to [30,20,10]
|
51
|
-
# ~~~
|
52
|
-
#
|
53
|
-
# @example The same example using `reverse_each` function chained with a `map` in alternative syntax
|
54
|
-
#
|
55
|
-
# # For the array $data, return an array containing each value multiplied by 10 in reverse order
|
56
|
-
# $data = [1,2,3]
|
57
|
-
# $transformed_data = map(reverse_each($data)) |$item| { $item * 10 }
|
58
|
-
# # $transformed_data is set to [30,20,10]
|
59
|
-
# ~~~
|
1
|
+
# Reverses the order of the elements of something that is iterable.
|
2
|
+
# (Documentation in 3.x stub)
|
60
3
|
#
|
61
4
|
# @since 4.4.0
|
62
5
|
#
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# Scans a string and returns an array of one or more converted values based on the given format string.
|
2
|
-
# See the
|
2
|
+
# See the documentation of Ruby's String#scanf method for details about the supported formats (which
|
3
3
|
# are similar but not identical to the formats used in Puppet's `sprintf` function.)
|
4
4
|
#
|
5
5
|
# This function takes two mandatory arguments: the first is the string to convert, and the second is
|
6
|
-
# the format string. The result of the scan is an array, with each
|
7
|
-
# The scanning stops if a scan is
|
8
|
-
# was no
|
6
|
+
# the format string. The result of the scan is an array, with each successfully scanned and transformed value.
|
7
|
+
# The scanning stops if a scan is unsuccessful, and the scanned result up to that point is returned. If there
|
8
|
+
# was no successful scan, the result is an empty array.
|
9
9
|
#
|
10
10
|
# "42".scanf("%i")
|
11
11
|
#
|
@@ -1,66 +1,4 @@
|
|
1
|
-
#
|
2
|
-
# [lambda](http://docs.puppetlabs.com/puppet/latest/reference/lang_lambdas.html) for each
|
3
|
-
# element.
|
4
|
-
#
|
5
|
-
# This function takes two to three arguments.
|
6
|
-
#
|
7
|
-
# 1. An 'Iterable' that the function will iterate over.
|
8
|
-
# 2. An `Integer` step factor. This must be a positive integer.
|
9
|
-
# 3. An optional lambda, which the function calls for each element in the interval. It must
|
10
|
-
# request one parameter.
|
11
|
-
#
|
12
|
-
# @example Using the `step` function
|
13
|
-
#
|
14
|
-
# `$data.step(<n>) |$parameter| { <PUPPET CODE BLOCK> }`
|
15
|
-
#
|
16
|
-
# or
|
17
|
-
#
|
18
|
-
# `$stepped_data = $data.step(<n>)`
|
19
|
-
#
|
20
|
-
# or
|
21
|
-
#
|
22
|
-
# `step($data, <n>) |$parameter| { <PUPPET CODE BLOCK> }`
|
23
|
-
#
|
24
|
-
# or
|
25
|
-
#
|
26
|
-
# `$stepped_data = step($data, <n>)`
|
27
|
-
#
|
28
|
-
# When no block is given, Puppet returns an `Iterable` that yields the first element and every nth successor
|
29
|
-
# element, from its first argument. This allows functions on iterables to be chained.
|
30
|
-
#
|
31
|
-
# When a block is given, Puppet iterates and calls the block with the first element and then with
|
32
|
-
# every nth successor element. It then returns `undef`.
|
33
|
-
#
|
34
|
-
# @example Using the `step` function with an array, a step factor, and a one-parameter block
|
35
|
-
#
|
36
|
-
# ~~~ puppet
|
37
|
-
# # For the array $data, call a block with the first element and then with each 3rd successor element
|
38
|
-
# $data = [1,2,3,4,5,6,7,8]
|
39
|
-
# $data.step(3) |$item| {
|
40
|
-
# notice($item)
|
41
|
-
# }
|
42
|
-
# # Puppet notices the values '1', '4', '7'.
|
43
|
-
# ~~~
|
44
|
-
#
|
45
|
-
# When no block is given, Puppet returns a new `Iterable` which allows it to be directly chained into
|
46
|
-
# another function that takes an `Iterable` as an argument.
|
47
|
-
#
|
48
|
-
# @example Using the `step` function chained with a `map` function.
|
49
|
-
#
|
50
|
-
# # For the array $data, return an array, set to the first element and each 5th successor element, in reverse
|
51
|
-
# # order multiplied by 10
|
52
|
-
# $data = Integer[0,20]
|
53
|
-
# $transformed_data = $data.step(5).map |$item| { $item * 10 }
|
54
|
-
# # $transformed_data contains [0,50,100,150,200]
|
55
|
-
# ~~~
|
56
|
-
#
|
57
|
-
# @example The same example using `step` function chained with a `map` in alternative syntax
|
58
|
-
#
|
59
|
-
# # For the array $data, return an array, set to the first and each 5th successor, in reverse order, multiplied by 10
|
60
|
-
# $data = Integer[0,20]
|
61
|
-
# $transformed_data = map(step($data, 5)) |$item| { $item * 10 }
|
62
|
-
# # $transformed_data contains [0,50,100,150,200]
|
63
|
-
# ~~~
|
1
|
+
# (Documentation in 3.x stub)
|
64
2
|
#
|
65
3
|
# @since 4.4.0
|
66
4
|
#
|
@@ -1,64 +1,4 @@
|
|
1
|
-
#
|
2
|
-
# with the given argument unless the argument is undef. Return undef if argument is
|
3
|
-
# undef, and otherwise the result of giving the argument to the lambda.
|
4
|
-
#
|
5
|
-
# This is useful to process a sequence of operations where an intermediate
|
6
|
-
# result may be undef (which makes the entire sequence undef).
|
7
|
-
# The `then` function is especially useful with the function `dig` which
|
8
|
-
# performs in a similar way "digging out" a value in a complex structure.
|
9
|
-
#
|
10
|
-
# @example Using `then`
|
11
|
-
#
|
12
|
-
# ~~~ puppet
|
13
|
-
# $data = {a => { b => [{x => 10, y => 20}, {x => 100, y => 200}]}}
|
14
|
-
# notice $data.dig(a, b, 1, x).then |$x| { $x * 2 }
|
15
|
-
# ~~~
|
16
|
-
#
|
17
|
-
# Would notice the value 200
|
18
|
-
#
|
19
|
-
# Contrast this with:
|
20
|
-
#
|
21
|
-
# ~~~ puppet
|
22
|
-
# $data = {a => { b => [{x => 10, y => 20}, {ex => 100, why => 200}]}}
|
23
|
-
# notice $data.dig(a, b, 1, x).then |$x| { $x * 2 }
|
24
|
-
# ~~~
|
25
|
-
#
|
26
|
-
# Which would notice undef since the last lookup of 'x' results in `undef` which
|
27
|
-
# is returned (without calling the block).
|
28
|
-
#
|
29
|
-
# As a result there was no need for conditional logic or a temporary (non local)
|
30
|
-
# variable as the result is now either the wanted value (x) multiplied
|
31
|
-
# by 2 or `undef`.
|
32
|
-
#
|
33
|
-
# Calls to `then` can be chained. In the next example, a structure is using an offset that
|
34
|
-
# is using 1 as the index to the first element (instead of 0 which is used in the language).
|
35
|
-
# We are not sure if user input actually contains an index at all, or if it is
|
36
|
-
# outside the range of available names.
|
37
|
-
#
|
38
|
-
# ~~~ puppet
|
39
|
-
# # Names to choose from
|
40
|
-
# $names = ['Ringo', 'Paul', 'George', 'John']
|
41
|
-
#
|
42
|
-
# # structure where 'beatle 2' is wanted (but where the number refers
|
43
|
-
# # to 'Paul' because input comes from a source using 1 for the first
|
44
|
-
# # element).
|
45
|
-
#
|
46
|
-
# $data = [202, { beatle => 2 }]
|
47
|
-
# $picked = assert_type(String,
|
48
|
-
# # the data we are interested in is the second in the array,
|
49
|
-
# # a hash, where we want the value of the key 'beatle'
|
50
|
-
# $data.dig(1, 'beatle')
|
51
|
-
# # and we want the index in $names before the given index
|
52
|
-
# .then |$x| { $names[$x-1] }
|
53
|
-
# # so we can construct a string with that beatle's name
|
54
|
-
# .then |$x| { "Picked Beatle '${x}'" }
|
55
|
-
# )
|
56
|
-
#
|
57
|
-
# ~~~ puppet
|
58
|
-
#
|
59
|
-
# Would notice "Picked Beatle 'Paul'", and would raise an error if the result
|
60
|
-
# was not a String.
|
61
|
-
#
|
1
|
+
# (Documented in 3.x stub)
|
62
2
|
# @since 4.5.0
|
63
3
|
#
|
64
4
|
Puppet::Functions.create_function(:then) do
|
@@ -1,43 +1,4 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
# @example Using `type()`
|
4
|
-
#
|
5
|
-
# ~~~ puppet
|
6
|
-
# notice type(42) =~ Type[Integer]
|
7
|
-
# ~~~
|
8
|
-
#
|
9
|
-
# Would notice true
|
10
|
-
#
|
11
|
-
# By default, the best possible inference is made where all details are retained.
|
12
|
-
# This is good when the type is used for further type calculations but is overwhelmingly
|
13
|
-
# rich in information if it is used in a error message.
|
14
|
-
#
|
15
|
-
# The optional argument `inference_method` may be given as (from lowest to highest fidelity):
|
16
|
-
#
|
17
|
-
# * `generalized` - reduces to common type and drops size constraints
|
18
|
-
# * `reduced` - reduces to common type in collections
|
19
|
-
# * `detailed` - (default) all details about inferred types is retained
|
20
|
-
#
|
21
|
-
# @example Using `type()` with different qualities:
|
22
|
-
#
|
23
|
-
# ~~~ puppet
|
24
|
-
# notice type([3.14, 42], generalized)
|
25
|
-
# notice type([3.14, 42], reduced)
|
26
|
-
# notice type([3.14, 42], detailed)
|
27
|
-
# notice type([3.14, 42])
|
28
|
-
# ~~~
|
29
|
-
#
|
30
|
-
# Would notice the four values:
|
31
|
-
#
|
32
|
-
# 1. 'Array[Numeric]'
|
33
|
-
# 2. 'Array[Numeric, 2, 2]'
|
34
|
-
# 3. 'Tuple[Float[3.14], Integer[42,42]]]'
|
35
|
-
# 4. 'Tuple[Float[3.14], Integer[42,42]]]'
|
36
|
-
#
|
37
|
-
# @param value [Any] - the value for which data type is returned
|
38
|
-
# @param inference_type[Enum[generalized, reduced, detailed]] inference_type
|
39
|
-
# @returns [Type] - the inferred type
|
40
|
-
#
|
1
|
+
# (Documentation in 3.x stub)
|
41
2
|
# @since 4.4.0
|
42
3
|
#
|
43
4
|
Puppet::Functions.create_function(:type) do
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# Unwraps a Sensitive value and returns the wrapped object.
|
2
|
+
#
|
3
|
+
# ~~~puppet
|
4
|
+
# $plaintext = 'hunter2'
|
5
|
+
# $pw = Sensitive.new($plaintext)
|
6
|
+
# notice("Wrapped object is $pw") #=> Prints "Wrapped object is Sensitive [value redacted]"
|
7
|
+
# $unwrapped = $pw.unwrap
|
8
|
+
# notice("Unwrapped object is $unwrapped") #=> Prints "Unwrapped object is hunter2"
|
9
|
+
# ~~~
|
10
|
+
#
|
11
|
+
# You can optionally pass a block to unwrap in order to limit the scope where the
|
12
|
+
# unwrapped value is visible.
|
13
|
+
#
|
14
|
+
# ~~~puppet
|
15
|
+
# $pw = Sensitive.new('hunter2')
|
16
|
+
# notice("Wrapped object is $pw") #=> Prints "Wrapped object is Sensitive [value redacted]"
|
17
|
+
# $pw.unwrap |$unwrapped| {
|
18
|
+
# $conf = inline_template("password: ${unwrapped}\n")
|
19
|
+
# Sensitive.new($conf)
|
20
|
+
# } #=> Returns a new Sensitive object containing an interpolated config file
|
21
|
+
# # $unwrapped is now out of scope
|
22
|
+
# ~~~
|
23
|
+
#
|
24
|
+
# @since 4.0.0
|
25
|
+
#
|
26
|
+
Puppet::Functions.create_function(:unwrap) do
|
27
|
+
dispatch :unwrap do
|
28
|
+
param 'Sensitive', :arg
|
29
|
+
optional_block_param
|
30
|
+
end
|
31
|
+
|
32
|
+
def unwrap(arg)
|
33
|
+
unwrapped = arg.unwrap
|
34
|
+
if block_given?
|
35
|
+
yield(unwrapped)
|
36
|
+
else
|
37
|
+
unwrapped
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
module Puppet
|
2
|
+
module Generate
|
3
|
+
module Models
|
4
|
+
module Type
|
5
|
+
# A model for resource type properties and parameters.
|
6
|
+
class Property
|
7
|
+
# Gets the name of the property as a Puppet string literal.
|
8
|
+
attr_reader :name
|
9
|
+
|
10
|
+
# Gets the Puppet type of the property.
|
11
|
+
attr_reader :type
|
12
|
+
|
13
|
+
# Gets the doc string of the property.
|
14
|
+
attr_reader :doc
|
15
|
+
|
16
|
+
# Initializes a property model.
|
17
|
+
# @param property [Puppet::Property] The Puppet property to model.
|
18
|
+
# @return [void]
|
19
|
+
def initialize(property)
|
20
|
+
@name = Puppet::Pops::Types::StringConverter.convert(property.name.to_s, '%p')
|
21
|
+
@type = self.class.get_puppet_type(property)
|
22
|
+
@doc = property.doc.strip
|
23
|
+
@is_namevar = property.isnamevar?
|
24
|
+
end
|
25
|
+
|
26
|
+
# Determines if this property is a namevar.
|
27
|
+
# @return [Boolean] Returns true if the property is a namevar or false if not.
|
28
|
+
def is_namevar?
|
29
|
+
@is_namevar
|
30
|
+
end
|
31
|
+
|
32
|
+
# Gets the Puppet type for a property.
|
33
|
+
# @param property [Puppet::Property] The Puppet property to get the Puppet type for.
|
34
|
+
# @return [String] Returns the string representing the Puppet type.
|
35
|
+
def self.get_puppet_type(property)
|
36
|
+
# HACK: the value collection does not expose the underlying value information at all
|
37
|
+
# thus this horribleness to get the underlying values hash
|
38
|
+
regexes = []
|
39
|
+
strings = []
|
40
|
+
values = property.value_collection.instance_variable_get('@values') || {}
|
41
|
+
values.each do |_, value|
|
42
|
+
if value.regex?
|
43
|
+
regexes << "/#{value.name.source.gsub(/\//, '\/')}/"
|
44
|
+
next
|
45
|
+
end
|
46
|
+
|
47
|
+
strings << Puppet::Pops::Types::StringConverter.convert(value.name.to_s, '%p')
|
48
|
+
value.aliases.each do |a|
|
49
|
+
strings << Puppet::Pops::Types::StringConverter.convert(a.to_s, '%p')
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
# If no string or regexes, default to Any type
|
54
|
+
return 'Any' if strings.empty? && regexes.empty?
|
55
|
+
|
56
|
+
# Calculate a variant of supported values
|
57
|
+
# Note that boolean strings are mapped to Variant[Boolean, Enum['true', 'false']]
|
58
|
+
# because of tech debt...
|
59
|
+
enum = strings.empty? ? nil : "Enum[#{strings.join(', ')}]"
|
60
|
+
pattern = regexes.empty? ? nil : "Pattern[#{regexes.join(', ')}]"
|
61
|
+
boolean = strings.include?('\'true\'') || strings.include?('\'false\'') ? 'Boolean' : nil
|
62
|
+
variant = [boolean, enum, pattern].reject { |t| t.nil? }
|
63
|
+
return variant[0] if variant.size == 1
|
64
|
+
"Variant[#{variant.join(', ')}]"
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'puppet/generate/models/type/property'
|
2
|
+
|
3
|
+
module Puppet
|
4
|
+
module Generate
|
5
|
+
module Models
|
6
|
+
module Type
|
7
|
+
# A model for Puppet resource types.
|
8
|
+
class Type
|
9
|
+
# Gets the name of the type as a Puppet string literal.
|
10
|
+
attr_reader :name
|
11
|
+
|
12
|
+
# Gets the doc string of the type.
|
13
|
+
attr_reader :doc
|
14
|
+
|
15
|
+
# Gets the properties of the type.
|
16
|
+
attr_reader :properties
|
17
|
+
|
18
|
+
# Gets the parameters of the type.
|
19
|
+
attr_reader :parameters
|
20
|
+
|
21
|
+
# Gets the title patterns of the type
|
22
|
+
attr_reader :title_patterns
|
23
|
+
|
24
|
+
# Gets the isomorphic member attribute of the type
|
25
|
+
attr_reader :isomorphic
|
26
|
+
|
27
|
+
# Initializes a type model.
|
28
|
+
# @param type [Puppet::Type] The Puppet type to model.
|
29
|
+
# @return [void]
|
30
|
+
def initialize(type)
|
31
|
+
@name = Puppet::Pops::Types::StringConverter.convert(type.name.to_s, '%p')
|
32
|
+
@doc = type.doc.strip
|
33
|
+
@properties = type.properties.map { |p| Property.new(p) }
|
34
|
+
@parameters = type.parameters.map do |name|
|
35
|
+
Property.new(type.paramclass(name))
|
36
|
+
end
|
37
|
+
@title_patterns = Hash[type.title_patterns.map do |mapping|
|
38
|
+
[
|
39
|
+
"/#{mapping[0].source.gsub(/\//, '\/')}/",
|
40
|
+
mapping[1].map { |names|
|
41
|
+
next if names.empty?
|
42
|
+
raise Puppet::Error, 'title patterns that use procs are not supported.' if names.size != 1
|
43
|
+
Puppet::Pops::Types::StringConverter.convert(names[0].to_s, '%p')
|
44
|
+
}
|
45
|
+
]
|
46
|
+
end]
|
47
|
+
@isomorphic = type.isomorphic?
|
48
|
+
end
|
49
|
+
|
50
|
+
def render(template)
|
51
|
+
template.result(binding)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# This file was automatically generated on <%= Time.now %>.
|
2
|
+
# Use the 'puppet generate types' command to regenerate this file.
|
3
|
+
|
4
|
+
<%- unless doc.empty? -%>
|
5
|
+
<%- doc.each_line do |line| -%>
|
6
|
+
# <%= line -%>
|
7
|
+
<%- end %>
|
8
|
+
<%- end -%>
|
9
|
+
Puppet::Resource::ResourceType3.new(
|
10
|
+
<%= name %>,
|
11
|
+
[
|
12
|
+
<%- properties.each_with_index do |property, index| -%>
|
13
|
+
<%- unless property.doc.empty? -%>
|
14
|
+
<%- property.doc.each_line do |line| -%>
|
15
|
+
# <%= line -%>
|
16
|
+
<%- end %>
|
17
|
+
<%- end -%>
|
18
|
+
Puppet::Resource::Param(<%= property.type %>, <%= property.name %><% if property.is_namevar? %>, true<% end %>)<% if index + 1 < properties.size %>,
|
19
|
+
|
20
|
+
<%- end -%>
|
21
|
+
<%- end %>
|
22
|
+
],
|
23
|
+
[
|
24
|
+
<%- parameters.each_with_index do |parameter, index| -%>
|
25
|
+
<%- unless parameter.doc.empty? -%>
|
26
|
+
<%- parameter.doc.each_line do |line| -%>
|
27
|
+
# <%= line -%>
|
28
|
+
<%- end %>
|
29
|
+
<%- end -%>
|
30
|
+
Puppet::Resource::Param(<%= parameter.type %>, <%= parameter.name %><% if parameter.is_namevar? %>, true<% end %>)<% if index + 1 < parameters.size %>,
|
31
|
+
|
32
|
+
<%- end -%>
|
33
|
+
<%- end %>
|
34
|
+
],
|
35
|
+
{
|
36
|
+
<%- title_patterns.each_with_index do |mapping, index| -%>
|
37
|
+
<%= mapping[0] %> => [<%= mapping[1].join(', ')%>]<%= "," if index + 1 < title_patterns.size %>
|
38
|
+
<%- end -%>
|
39
|
+
},
|
40
|
+
<%= isomorphic -%>
|
41
|
+
)
|