puppet-parse 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.travis.yml +0 -5
- data/README.md +1 -3
- data/lib/puppet-parse/version.rb +1 -1
- data/lib/puppet-parse.rb +2 -2
- data/lib/vendor/puppet/agent/locker.rb +46 -0
- data/lib/vendor/puppet/agent.rb +99 -0
- data/lib/vendor/puppet/application/agent.rb +489 -0
- data/lib/vendor/puppet/application/apply.rb +266 -0
- data/lib/vendor/puppet/application/ca.rb +5 -0
- data/lib/vendor/puppet/application/catalog.rb +4 -0
- data/lib/vendor/puppet/application/cert.rb +240 -0
- data/lib/vendor/puppet/application/certificate.rb +13 -0
- data/lib/vendor/puppet/application/certificate_request.rb +4 -0
- data/lib/vendor/puppet/application/certificate_revocation_list.rb +4 -0
- data/lib/vendor/puppet/application/config.rb +4 -0
- data/lib/vendor/puppet/application/describe.rb +256 -0
- data/lib/vendor/puppet/application/device.rb +242 -0
- data/lib/vendor/puppet/application/doc.rb +275 -0
- data/lib/vendor/puppet/application/face_base.rb +264 -0
- data/lib/vendor/puppet/application/facts.rb +4 -0
- data/lib/vendor/puppet/application/file.rb +4 -0
- data/lib/vendor/puppet/application/filebucket.rb +191 -0
- data/lib/vendor/puppet/application/help.rb +4 -0
- data/lib/vendor/puppet/application/indirection_base.rb +4 -0
- data/lib/vendor/puppet/application/inspect.rb +191 -0
- data/lib/vendor/puppet/application/instrumentation_data.rb +4 -0
- data/lib/vendor/puppet/application/instrumentation_listener.rb +4 -0
- data/lib/vendor/puppet/application/instrumentation_probe.rb +4 -0
- data/lib/vendor/puppet/application/key.rb +4 -0
- data/lib/vendor/puppet/application/kick.rb +351 -0
- data/lib/vendor/puppet/application/man.rb +4 -0
- data/lib/vendor/puppet/application/master.rb +263 -0
- data/lib/vendor/puppet/application/module.rb +11 -0
- data/lib/vendor/puppet/application/node.rb +4 -0
- data/lib/vendor/puppet/application/parser.rb +5 -0
- data/lib/vendor/puppet/application/plugin.rb +3 -0
- data/lib/vendor/puppet/application/queue.rb +161 -0
- data/lib/vendor/puppet/application/report.rb +4 -0
- data/lib/vendor/puppet/application/resource.rb +237 -0
- data/lib/vendor/puppet/application/resource_type.rb +4 -0
- data/lib/vendor/puppet/application/secret_agent.rb +6 -0
- data/lib/vendor/puppet/application/status.rb +4 -0
- data/lib/vendor/puppet/application.rb +421 -0
- data/lib/vendor/puppet/configurer/downloader.rb +86 -0
- data/lib/vendor/puppet/configurer/fact_handler.rb +56 -0
- data/lib/vendor/puppet/configurer/plugin_handler.rb +37 -0
- data/lib/vendor/puppet/configurer.rb +249 -0
- data/lib/vendor/puppet/daemon.rb +200 -0
- data/lib/vendor/puppet/defaults.rb +970 -0
- data/lib/vendor/puppet/dsl/resource_api.rb +120 -0
- data/lib/vendor/puppet/dsl/resource_type_api.rb +34 -0
- data/lib/vendor/puppet/dsl.rb +7 -0
- data/lib/vendor/puppet/error.rb +43 -0
- data/lib/vendor/puppet/external/base64.rb +19 -0
- data/lib/vendor/puppet/external/dot.rb +326 -0
- data/lib/vendor/puppet/external/lock.rb +63 -0
- data/lib/vendor/puppet/external/nagios/base.rb +472 -0
- data/lib/vendor/puppet/external/nagios/grammar.ry +185 -0
- data/lib/vendor/puppet/external/nagios/makefile +9 -0
- data/lib/vendor/puppet/external/nagios/parser.rb +775 -0
- data/lib/vendor/puppet/external/nagios.rb +48 -0
- data/lib/vendor/puppet/external/pson/common.rb +370 -0
- data/lib/vendor/puppet/external/pson/pure/generator.rb +401 -0
- data/lib/vendor/puppet/external/pson/pure/parser.rb +264 -0
- data/lib/vendor/puppet/external/pson/pure.rb +77 -0
- data/lib/vendor/puppet/external/pson/version.rb +8 -0
- data/lib/vendor/puppet/face/ca.rb +242 -0
- data/lib/vendor/puppet/face/catalog/select.rb +49 -0
- data/lib/vendor/puppet/face/catalog.rb +131 -0
- data/lib/vendor/puppet/face/certificate.rb +148 -0
- data/lib/vendor/puppet/face/certificate_request.rb +53 -0
- data/lib/vendor/puppet/face/certificate_revocation_list.rb +58 -0
- data/lib/vendor/puppet/face/config.rb +45 -0
- data/lib/vendor/puppet/face/facts.rb +81 -0
- data/lib/vendor/puppet/face/file/download.rb +54 -0
- data/lib/vendor/puppet/face/file/store.rb +21 -0
- data/lib/vendor/puppet/face/file.rb +47 -0
- data/lib/vendor/puppet/face/help/action.erb +53 -0
- data/lib/vendor/puppet/face/help/face.erb +79 -0
- data/lib/vendor/puppet/face/help/global.erb +19 -0
- data/lib/vendor/puppet/face/help/man.erb +136 -0
- data/lib/vendor/puppet/face/help.rb +131 -0
- data/lib/vendor/puppet/face/instrumentation_data.rb +28 -0
- data/lib/vendor/puppet/face/instrumentation_listener.rb +96 -0
- data/lib/vendor/puppet/face/instrumentation_probe.rb +77 -0
- data/lib/vendor/puppet/face/key.rb +15 -0
- data/lib/vendor/puppet/face/man.rb +93 -0
- data/lib/vendor/puppet/face/module/build.rb +37 -0
- data/lib/vendor/puppet/face/module/changes.rb +38 -0
- data/lib/vendor/puppet/face/module/generate.rb +42 -0
- data/lib/vendor/puppet/face/module/install.rb +174 -0
- data/lib/vendor/puppet/face/module/list.rb +285 -0
- data/lib/vendor/puppet/face/module/search.rb +88 -0
- data/lib/vendor/puppet/face/module/uninstall.rb +86 -0
- data/lib/vendor/puppet/face/module/upgrade.rb +84 -0
- data/lib/vendor/puppet/face/module.rb +17 -0
- data/lib/vendor/puppet/face/node/clean.rb +156 -0
- data/lib/vendor/puppet/face/node.rb +43 -0
- data/lib/vendor/puppet/face/parser.rb +51 -0
- data/lib/vendor/puppet/face/plugin.rb +55 -0
- data/lib/vendor/puppet/face/report.rb +56 -0
- data/lib/vendor/puppet/face/resource.rb +53 -0
- data/lib/vendor/puppet/face/resource_type.rb +81 -0
- data/lib/vendor/puppet/face/secret_agent.rb +54 -0
- data/lib/vendor/puppet/face/status.rb +53 -0
- data/lib/vendor/puppet/face.rb +12 -0
- data/lib/vendor/puppet/feature/base.rb +67 -0
- data/lib/vendor/puppet/feature/eventlog.rb +6 -0
- data/lib/vendor/puppet/feature/pson.rb +6 -0
- data/lib/vendor/puppet/feature/rack.rb +24 -0
- data/lib/vendor/puppet/feature/rails.rb +30 -0
- data/lib/vendor/puppet/feature/rubygems.rb +3 -0
- data/lib/vendor/puppet/feature/selinux.rb +3 -0
- data/lib/vendor/puppet/feature/ssh.rb +4 -0
- data/lib/vendor/puppet/feature/stomp.rb +6 -0
- data/lib/vendor/puppet/feature/zlib.rb +6 -0
- data/lib/vendor/puppet/file_bucket/dipper.rb +107 -0
- data/lib/vendor/puppet/file_bucket/file.rb +55 -0
- data/lib/vendor/puppet/file_bucket.rb +4 -0
- data/lib/vendor/puppet/file_collection/lookup.rb +10 -0
- data/lib/vendor/puppet/file_collection.rb +19 -0
- data/lib/vendor/puppet/file_serving/base.rb +88 -0
- data/lib/vendor/puppet/file_serving/configuration/parser.rb +115 -0
- data/lib/vendor/puppet/file_serving/configuration.rb +122 -0
- data/lib/vendor/puppet/file_serving/content.rb +45 -0
- data/lib/vendor/puppet/file_serving/fileset.rb +173 -0
- data/lib/vendor/puppet/file_serving/metadata.rb +155 -0
- data/lib/vendor/puppet/file_serving/mount/file.rb +121 -0
- data/lib/vendor/puppet/file_serving/mount/modules.rb +24 -0
- data/lib/vendor/puppet/file_serving/mount/plugins.rb +26 -0
- data/lib/vendor/puppet/file_serving/mount.rb +39 -0
- data/lib/vendor/puppet/file_serving/terminus_helper.rb +21 -0
- data/lib/vendor/puppet/file_serving/terminus_selector.rb +28 -0
- data/lib/vendor/puppet/file_serving.rb +3 -0
- data/lib/vendor/puppet/forge/cache.rb +55 -0
- data/lib/vendor/puppet/forge/repository.rb +102 -0
- data/lib/vendor/puppet/forge.rb +98 -0
- data/lib/vendor/puppet/indirector/active_record.rb +28 -0
- data/lib/vendor/puppet/indirector/catalog/active_record.rb +41 -0
- data/lib/vendor/puppet/indirector/catalog/compiler.rb +153 -0
- data/lib/vendor/puppet/indirector/catalog/queue.rb +5 -0
- data/lib/vendor/puppet/indirector/catalog/rest.rb +6 -0
- data/lib/vendor/puppet/indirector/catalog/static_compiler.rb +136 -0
- data/lib/vendor/puppet/indirector/catalog/store_configs.rb +5 -0
- data/lib/vendor/puppet/indirector/catalog/yaml.rb +22 -0
- data/lib/vendor/puppet/indirector/certificate/ca.rb +9 -0
- data/lib/vendor/puppet/indirector/certificate/disabled_ca.rb +22 -0
- data/lib/vendor/puppet/indirector/certificate/file.rb +9 -0
- data/lib/vendor/puppet/indirector/certificate/rest.rb +15 -0
- data/lib/vendor/puppet/indirector/certificate_request/ca.rb +22 -0
- data/lib/vendor/puppet/indirector/certificate_request/disabled_ca.rb +22 -0
- data/lib/vendor/puppet/indirector/certificate_request/file.rb +8 -0
- data/lib/vendor/puppet/indirector/certificate_request/rest.rb +9 -0
- data/lib/vendor/puppet/indirector/certificate_revocation_list/ca.rb +8 -0
- data/lib/vendor/puppet/indirector/certificate_revocation_list/disabled_ca.rb +22 -0
- data/lib/vendor/puppet/indirector/certificate_revocation_list/file.rb +8 -0
- data/lib/vendor/puppet/indirector/certificate_revocation_list/rest.rb +9 -0
- data/lib/vendor/puppet/indirector/certificate_status/file.rb +82 -0
- data/lib/vendor/puppet/indirector/certificate_status/rest.rb +10 -0
- data/lib/vendor/puppet/indirector/certificate_status.rb +4 -0
- data/lib/vendor/puppet/indirector/code.rb +6 -0
- data/lib/vendor/puppet/indirector/couch.rb +78 -0
- data/lib/vendor/puppet/indirector/direct_file_server.rb +19 -0
- data/lib/vendor/puppet/indirector/envelope.rb +11 -0
- data/lib/vendor/puppet/indirector/exec.rb +48 -0
- data/lib/vendor/puppet/indirector/face.rb +137 -0
- data/lib/vendor/puppet/indirector/facts/active_record.rb +36 -0
- data/lib/vendor/puppet/indirector/facts/couch.rb +31 -0
- data/lib/vendor/puppet/indirector/facts/facter.rb +96 -0
- data/lib/vendor/puppet/indirector/facts/inventory_active_record.rb +100 -0
- data/lib/vendor/puppet/indirector/facts/inventory_service.rb +20 -0
- data/lib/vendor/puppet/indirector/facts/memory.rb +9 -0
- data/lib/vendor/puppet/indirector/facts/network_device.rb +25 -0
- data/lib/vendor/puppet/indirector/facts/rest.rb +8 -0
- data/lib/vendor/puppet/indirector/facts/store_configs.rb +5 -0
- data/lib/vendor/puppet/indirector/facts/yaml.rb +82 -0
- data/lib/vendor/puppet/indirector/file_bucket_file/file.rb +136 -0
- data/lib/vendor/puppet/indirector/file_bucket_file/rest.rb +8 -0
- data/lib/vendor/puppet/indirector/file_bucket_file/selector.rb +49 -0
- data/lib/vendor/puppet/indirector/file_content/file.rb +7 -0
- data/lib/vendor/puppet/indirector/file_content/file_server.rb +7 -0
- data/lib/vendor/puppet/indirector/file_content/rest.rb +7 -0
- data/lib/vendor/puppet/indirector/file_content/selector.rb +30 -0
- data/lib/vendor/puppet/indirector/file_content.rb +5 -0
- data/lib/vendor/puppet/indirector/file_metadata/file.rb +22 -0
- data/lib/vendor/puppet/indirector/file_metadata/file_server.rb +7 -0
- data/lib/vendor/puppet/indirector/file_metadata/rest.rb +7 -0
- data/lib/vendor/puppet/indirector/file_metadata/selector.rb +30 -0
- data/lib/vendor/puppet/indirector/file_metadata.rb +5 -0
- data/lib/vendor/puppet/indirector/file_server.rb +65 -0
- data/lib/vendor/puppet/indirector/indirection.rb +323 -0
- data/lib/vendor/puppet/indirector/instrumentation_data/local.rb +19 -0
- data/lib/vendor/puppet/indirector/instrumentation_data/rest.rb +5 -0
- data/lib/vendor/puppet/indirector/instrumentation_data.rb +3 -0
- data/lib/vendor/puppet/indirector/instrumentation_listener/local.rb +23 -0
- data/lib/vendor/puppet/indirector/instrumentation_listener/rest.rb +5 -0
- data/lib/vendor/puppet/indirector/instrumentation_listener.rb +3 -0
- data/lib/vendor/puppet/indirector/instrumentation_probe/local.rb +24 -0
- data/lib/vendor/puppet/indirector/instrumentation_probe/rest.rb +5 -0
- data/lib/vendor/puppet/indirector/instrumentation_probe.rb +3 -0
- data/lib/vendor/puppet/indirector/inventory/yaml.rb +81 -0
- data/lib/vendor/puppet/indirector/key/ca.rb +12 -0
- data/lib/vendor/puppet/indirector/key/disabled_ca.rb +22 -0
- data/lib/vendor/puppet/indirector/key/file.rb +42 -0
- data/lib/vendor/puppet/indirector/ldap.rb +78 -0
- data/lib/vendor/puppet/indirector/memory.rb +21 -0
- data/lib/vendor/puppet/indirector/node/active_record.rb +13 -0
- data/lib/vendor/puppet/indirector/node/exec.rb +60 -0
- data/lib/vendor/puppet/indirector/node/ldap.rb +256 -0
- data/lib/vendor/puppet/indirector/node/memory.rb +10 -0
- data/lib/vendor/puppet/indirector/node/plain.rb +19 -0
- data/lib/vendor/puppet/indirector/node/rest.rb +7 -0
- data/lib/vendor/puppet/indirector/node/store_configs.rb +5 -0
- data/lib/vendor/puppet/indirector/node/yaml.rb +7 -0
- data/lib/vendor/puppet/indirector/plain.rb +9 -0
- data/lib/vendor/puppet/indirector/queue.rb +81 -0
- data/lib/vendor/puppet/indirector/report/processor.rb +61 -0
- data/lib/vendor/puppet/indirector/report/rest.rb +7 -0
- data/lib/vendor/puppet/indirector/report/yaml.rb +11 -0
- data/lib/vendor/puppet/indirector/request.rb +204 -0
- data/lib/vendor/puppet/indirector/resource/active_record.rb +93 -0
- data/lib/vendor/puppet/indirector/resource/ral.rb +53 -0
- data/lib/vendor/puppet/indirector/resource/rest.rb +5 -0
- data/lib/vendor/puppet/indirector/resource/store_configs.rb +3 -0
- data/lib/vendor/puppet/indirector/resource_type/parser.rb +43 -0
- data/lib/vendor/puppet/indirector/resource_type/rest.rb +7 -0
- data/lib/vendor/puppet/indirector/resource_type.rb +5 -0
- data/lib/vendor/puppet/indirector/rest.rb +166 -0
- data/lib/vendor/puppet/indirector/run/local.rb +8 -0
- data/lib/vendor/puppet/indirector/run/rest.rb +6 -0
- data/lib/vendor/puppet/indirector/ssl_file.rb +178 -0
- data/lib/vendor/puppet/indirector/status/local.rb +7 -0
- data/lib/vendor/puppet/indirector/status/rest.rb +5 -0
- data/lib/vendor/puppet/indirector/status.rb +3 -0
- data/lib/vendor/puppet/indirector/store_configs.rb +30 -0
- data/lib/vendor/puppet/indirector/terminus.rb +145 -0
- data/lib/vendor/puppet/indirector/yaml.rb +75 -0
- data/lib/vendor/puppet/indirector.rb +57 -0
- data/lib/vendor/puppet/interface/action.rb +322 -0
- data/lib/vendor/puppet/interface/action_builder.rb +74 -0
- data/lib/vendor/puppet/interface/action_manager.rb +74 -0
- data/lib/vendor/puppet/interface/documentation.rb +230 -0
- data/lib/vendor/puppet/interface/face_collection.rb +128 -0
- data/lib/vendor/puppet/interface/option.rb +127 -0
- data/lib/vendor/puppet/interface/option_builder.rb +67 -0
- data/lib/vendor/puppet/interface/option_manager.rb +68 -0
- data/lib/vendor/puppet/interface.rb +161 -0
- data/lib/vendor/puppet/metatype/manager.rb +141 -0
- data/lib/vendor/puppet/module.rb +314 -0
- data/lib/vendor/puppet/module_tool/applications/application.rb +82 -0
- data/lib/vendor/puppet/module_tool/applications/builder.rb +91 -0
- data/lib/vendor/puppet/module_tool/applications/checksummer.rb +56 -0
- data/lib/vendor/puppet/module_tool/applications/generator.rb +141 -0
- data/lib/vendor/puppet/module_tool/applications/installer.rb +183 -0
- data/lib/vendor/puppet/module_tool/applications/searcher.rb +15 -0
- data/lib/vendor/puppet/module_tool/applications/uninstaller.rb +107 -0
- data/lib/vendor/puppet/module_tool/applications/unpacker.rb +67 -0
- data/lib/vendor/puppet/module_tool/applications/upgrader.rb +109 -0
- data/lib/vendor/puppet/module_tool/applications.rb +15 -0
- data/lib/vendor/puppet/module_tool/checksums.rb +52 -0
- data/lib/vendor/puppet/module_tool/contents_description.rb +82 -0
- data/lib/vendor/puppet/module_tool/dependency.rb +24 -0
- data/lib/vendor/puppet/module_tool/errors/base.rb +15 -0
- data/lib/vendor/puppet/module_tool/errors/installer.rb +90 -0
- data/lib/vendor/puppet/module_tool/errors/shared.rb +115 -0
- data/lib/vendor/puppet/module_tool/errors/uninstaller.rb +45 -0
- data/lib/vendor/puppet/module_tool/errors/upgrader.rb +72 -0
- data/lib/vendor/puppet/module_tool/errors.rb +9 -0
- data/lib/vendor/puppet/module_tool/metadata.rb +141 -0
- data/lib/vendor/puppet/module_tool/modulefile.rb +75 -0
- data/lib/vendor/puppet/module_tool/shared_behaviors.rb +161 -0
- data/lib/vendor/puppet/module_tool/skeleton/templates/generator/Modulefile.erb +11 -0
- data/lib/vendor/puppet/module_tool/skeleton/templates/generator/README.erb +16 -0
- data/lib/vendor/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +41 -0
- data/lib/vendor/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb +17 -0
- data/lib/vendor/puppet/module_tool/skeleton/templates/generator/tests/init.pp.erb +11 -0
- data/lib/vendor/puppet/module_tool/skeleton.rb +34 -0
- data/lib/vendor/puppet/module_tool.rb +99 -0
- data/lib/vendor/puppet/network/authconfig.rb +174 -0
- data/lib/vendor/puppet/network/authorization.rb +76 -0
- data/lib/vendor/puppet/network/authstore.rb +267 -0
- data/lib/vendor/puppet/network/client_request.rb +29 -0
- data/lib/vendor/puppet/network/format.rb +111 -0
- data/lib/vendor/puppet/network/format_handler.rb +181 -0
- data/lib/vendor/puppet/network/formats.rb +171 -0
- data/lib/vendor/puppet/network/handler/ca.rb +61 -0
- data/lib/vendor/puppet/network/handler/filebucket.rb +53 -0
- data/lib/vendor/puppet/network/handler/fileserver.rb +732 -0
- data/lib/vendor/puppet/network/handler/master.rb +87 -0
- data/lib/vendor/puppet/network/handler/report.rb +82 -0
- data/lib/vendor/puppet/network/handler/runner.rb +33 -0
- data/lib/vendor/puppet/network/handler/status.rb +18 -0
- data/lib/vendor/puppet/network/handler.rb +50 -0
- data/lib/vendor/puppet/network/http/api/v1.rb +83 -0
- data/lib/vendor/puppet/network/http/api.rb +4 -0
- data/lib/vendor/puppet/network/http/compression.rb +114 -0
- data/lib/vendor/puppet/network/http/handler.rb +247 -0
- data/lib/vendor/puppet/network/http/mongrel/rest.rb +99 -0
- data/lib/vendor/puppet/network/http/mongrel.rb +55 -0
- data/lib/vendor/puppet/network/http/rack/httphandler.rb +16 -0
- data/lib/vendor/puppet/network/http/rack/rest.rb +100 -0
- data/lib/vendor/puppet/network/http/rack/xmlrpc.rb +65 -0
- data/lib/vendor/puppet/network/http/rack.rb +65 -0
- data/lib/vendor/puppet/network/http/webrick/rest.rb +81 -0
- data/lib/vendor/puppet/network/http/webrick.rb +141 -0
- data/lib/vendor/puppet/network/http.rb +15 -0
- data/lib/vendor/puppet/network/http_pool.rb +57 -0
- data/lib/vendor/puppet/network/http_server/mongrel.rb +129 -0
- data/lib/vendor/puppet/network/http_server.rb +3 -0
- data/lib/vendor/puppet/network/rest_authconfig.rb +102 -0
- data/lib/vendor/puppet/network/rest_authorization.rb +23 -0
- data/lib/vendor/puppet/network/rest_controller.rb +2 -0
- data/lib/vendor/puppet/network/rights.rb +275 -0
- data/lib/vendor/puppet/network/server.rb +164 -0
- data/lib/vendor/puppet/network/xmlrpc/processor.rb +86 -0
- data/lib/vendor/puppet/network/xmlrpc/server.rb +19 -0
- data/lib/vendor/puppet/network/xmlrpc/webrick_servlet.rb +114 -0
- data/lib/vendor/puppet/network.rb +3 -0
- data/lib/vendor/puppet/node/environment.rb +216 -0
- data/lib/vendor/puppet/node/facts.rb +99 -0
- data/lib/vendor/puppet/node/inventory.rb +7 -0
- data/lib/vendor/puppet/node.rb +120 -0
- data/lib/vendor/puppet/parameter/path.rb +34 -0
- data/lib/vendor/puppet/parameter/value.rb +69 -0
- data/lib/vendor/puppet/parameter/value_collection.rb +143 -0
- data/lib/vendor/puppet/parameter.rb +316 -0
- data/lib/vendor/puppet/parser/ast/arithmetic_operator.rb +39 -0
- data/lib/vendor/puppet/parser/ast/astarray.rb +50 -0
- data/lib/vendor/puppet/parser/ast/asthash.rb +37 -0
- data/lib/vendor/puppet/parser/ast/boolean_operator.rb +46 -0
- data/lib/vendor/puppet/parser/ast/branch.rb +37 -0
- data/lib/vendor/puppet/parser/ast/caseopt.rb +52 -0
- data/lib/vendor/puppet/parser/ast/casestatement.rb +44 -0
- data/lib/vendor/puppet/parser/ast/collection.rb +49 -0
- data/lib/vendor/puppet/parser/ast/collexpr.rb +57 -0
- data/lib/vendor/puppet/parser/ast/comparison_operator.rb +38 -0
- data/lib/vendor/puppet/parser/ast/definition.rb +17 -0
- data/lib/vendor/puppet/parser/ast/else.rb +22 -0
- data/lib/vendor/puppet/parser/ast/function.rb +50 -0
- data/lib/vendor/puppet/parser/ast/hostclass.rb +29 -0
- data/lib/vendor/puppet/parser/ast/ifstatement.rb +34 -0
- data/lib/vendor/puppet/parser/ast/in_operator.rb +24 -0
- data/lib/vendor/puppet/parser/ast/leaf.rb +221 -0
- data/lib/vendor/puppet/parser/ast/match_operator.rb +28 -0
- data/lib/vendor/puppet/parser/ast/minus.rb +23 -0
- data/lib/vendor/puppet/parser/ast/node.rb +20 -0
- data/lib/vendor/puppet/parser/ast/nop.rb +11 -0
- data/lib/vendor/puppet/parser/ast/not.rb +19 -0
- data/lib/vendor/puppet/parser/ast/relationship.rb +47 -0
- data/lib/vendor/puppet/parser/ast/resource.rb +74 -0
- data/lib/vendor/puppet/parser/ast/resource_defaults.rb +24 -0
- data/lib/vendor/puppet/parser/ast/resource_instance.rb +9 -0
- data/lib/vendor/puppet/parser/ast/resource_override.rb +67 -0
- data/lib/vendor/puppet/parser/ast/resource_reference.rb +28 -0
- data/lib/vendor/puppet/parser/ast/resourceparam.rb +29 -0
- data/lib/vendor/puppet/parser/ast/selector.rb +44 -0
- data/lib/vendor/puppet/parser/ast/tag.rb +24 -0
- data/lib/vendor/puppet/parser/ast/top_level_construct.rb +4 -0
- data/lib/vendor/puppet/parser/ast/vardef.rb +33 -0
- data/lib/vendor/puppet/parser/ast.rb +139 -0
- data/lib/vendor/puppet/parser/collector.rb +176 -0
- data/lib/vendor/puppet/parser/compiler.rb +476 -0
- data/lib/vendor/puppet/parser/files.rb +88 -0
- data/lib/vendor/puppet/parser/functions/create_resources.rb +75 -0
- data/lib/vendor/puppet/parser/functions/defined.rb +49 -0
- data/lib/vendor/puppet/parser/functions/extlookup.rb +152 -0
- data/lib/vendor/puppet/parser/functions/fail.rb +4 -0
- data/lib/vendor/puppet/parser/functions/file.rb +23 -0
- data/lib/vendor/puppet/parser/functions/fqdn_rand.rb +13 -0
- data/lib/vendor/puppet/parser/functions/generate.rb +37 -0
- data/lib/vendor/puppet/parser/functions/include.rb +24 -0
- data/lib/vendor/puppet/parser/functions/inline_template.rb +21 -0
- data/lib/vendor/puppet/parser/functions/md5.rb +5 -0
- data/lib/vendor/puppet/parser/functions/realize.rb +14 -0
- data/lib/vendor/puppet/parser/functions/regsubst.rb +119 -0
- data/lib/vendor/puppet/parser/functions/require.rb +57 -0
- data/lib/vendor/puppet/parser/functions/search.rb +7 -0
- data/lib/vendor/puppet/parser/functions/sha1.rb +5 -0
- data/lib/vendor/puppet/parser/functions/shellquote.rb +61 -0
- data/lib/vendor/puppet/parser/functions/split.rb +29 -0
- data/lib/vendor/puppet/parser/functions/sprintf.rb +39 -0
- data/lib/vendor/puppet/parser/functions/tag.rb +6 -0
- data/lib/vendor/puppet/parser/functions/tagged.rb +18 -0
- data/lib/vendor/puppet/parser/functions/template.rb +23 -0
- data/lib/vendor/puppet/parser/functions/versioncmp.rb +37 -0
- data/lib/vendor/puppet/parser/functions.rb +165 -0
- data/lib/vendor/puppet/parser/grammar.ra +771 -0
- data/lib/vendor/puppet/parser/lexer.rb +617 -0
- data/lib/vendor/puppet/parser/makefile +8 -0
- data/lib/vendor/puppet/parser/parser.rb +2421 -0
- data/lib/vendor/puppet/parser/parser_support.rb +211 -0
- data/lib/vendor/puppet/parser/relationship.rb +62 -0
- data/lib/vendor/puppet/parser/resource/param.rb +25 -0
- data/lib/vendor/puppet/parser/resource.rb +341 -0
- data/lib/vendor/puppet/parser/scope.rb +497 -0
- data/lib/vendor/puppet/parser/templatewrapper.rb +115 -0
- data/lib/vendor/puppet/parser/type_loader.rb +172 -0
- data/lib/vendor/puppet/parser/yaml_trimmer.rb +9 -0
- data/lib/vendor/puppet/parser.rb +4 -0
- data/lib/vendor/puppet/property/ensure.rb +92 -0
- data/lib/vendor/puppet/property/keyvalue.rb +86 -0
- data/lib/vendor/puppet/property/list.rb +75 -0
- data/lib/vendor/puppet/property/ordered_list.rb +22 -0
- data/lib/vendor/puppet/property.rb +373 -0
- data/lib/vendor/puppet/provider/aixobject.rb +393 -0
- data/lib/vendor/puppet/provider/augeas/augeas.rb +418 -0
- data/lib/vendor/puppet/provider/cisco.rb +9 -0
- data/lib/vendor/puppet/provider/computer/computer.rb +20 -0
- data/lib/vendor/puppet/provider/confine/exists.rb +19 -0
- data/lib/vendor/puppet/provider/confine/false.rb +19 -0
- data/lib/vendor/puppet/provider/confine/feature.rb +17 -0
- data/lib/vendor/puppet/provider/confine/true.rb +20 -0
- data/lib/vendor/puppet/provider/confine/variable.rb +59 -0
- data/lib/vendor/puppet/provider/confine.rb +80 -0
- data/lib/vendor/puppet/provider/confine_collection.rb +50 -0
- data/lib/vendor/puppet/provider/confiner.rb +16 -0
- data/lib/vendor/puppet/provider/cron/crontab.rb +200 -0
- data/lib/vendor/puppet/provider/exec/posix.rb +39 -0
- data/lib/vendor/puppet/provider/exec/shell.rb +25 -0
- data/lib/vendor/puppet/provider/exec/windows.rb +56 -0
- data/lib/vendor/puppet/provider/exec.rb +84 -0
- data/lib/vendor/puppet/provider/file/posix.rb +135 -0
- data/lib/vendor/puppet/provider/file/windows.rb +88 -0
- data/lib/vendor/puppet/provider/group/aix.rb +141 -0
- data/lib/vendor/puppet/provider/group/directoryservice.rb +12 -0
- data/lib/vendor/puppet/provider/group/groupadd.rb +29 -0
- data/lib/vendor/puppet/provider/group/ldap.rb +45 -0
- data/lib/vendor/puppet/provider/group/pw.rb +48 -0
- data/lib/vendor/puppet/provider/group/windows_adsi.rb +54 -0
- data/lib/vendor/puppet/provider/host/parsed.rb +44 -0
- data/lib/vendor/puppet/provider/interface/base.rb +0 -0
- data/lib/vendor/puppet/provider/interface/cisco.rb +27 -0
- data/lib/vendor/puppet/provider/ldap.rb +137 -0
- data/lib/vendor/puppet/provider/macauthorization/macauthorization.rb +313 -0
- data/lib/vendor/puppet/provider/mailalias/aliases.rb +44 -0
- data/lib/vendor/puppet/provider/maillist/mailman.rb +108 -0
- data/lib/vendor/puppet/provider/mcx/mcxcontent.rb +166 -0
- data/lib/vendor/puppet/provider/mount/parsed.rb +124 -0
- data/lib/vendor/puppet/provider/mount.rb +46 -0
- data/lib/vendor/puppet/provider/naginator.rb +63 -0
- data/lib/vendor/puppet/provider/nameservice/directoryservice.rb +652 -0
- data/lib/vendor/puppet/provider/nameservice/objectadd.rb +33 -0
- data/lib/vendor/puppet/provider/nameservice/pw.rb +21 -0
- data/lib/vendor/puppet/provider/nameservice.rb +276 -0
- data/lib/vendor/puppet/provider/network_device.rb +68 -0
- data/lib/vendor/puppet/provider/package/aix.rb +128 -0
- data/lib/vendor/puppet/provider/package/appdmg.rb +109 -0
- data/lib/vendor/puppet/provider/package/apple.rb +47 -0
- data/lib/vendor/puppet/provider/package/apt.rb +111 -0
- data/lib/vendor/puppet/provider/package/aptitude.rb +29 -0
- data/lib/vendor/puppet/provider/package/aptrpm.rb +83 -0
- data/lib/vendor/puppet/provider/package/blastwave.rb +111 -0
- data/lib/vendor/puppet/provider/package/dpkg.rb +155 -0
- data/lib/vendor/puppet/provider/package/fink.rb +81 -0
- data/lib/vendor/puppet/provider/package/freebsd.rb +49 -0
- data/lib/vendor/puppet/provider/package/gem.rb +127 -0
- data/lib/vendor/puppet/provider/package/hpux.rb +44 -0
- data/lib/vendor/puppet/provider/package/macports.rb +105 -0
- data/lib/vendor/puppet/provider/package/msi.rb +141 -0
- data/lib/vendor/puppet/provider/package/nim.rb +35 -0
- data/lib/vendor/puppet/provider/package/openbsd.rb +112 -0
- data/lib/vendor/puppet/provider/package/pacman.rb +94 -0
- data/lib/vendor/puppet/provider/package/pip.rb +111 -0
- data/lib/vendor/puppet/provider/package/pkg.rb +112 -0
- data/lib/vendor/puppet/provider/package/pkgdmg.rb +123 -0
- data/lib/vendor/puppet/provider/package/pkgutil.rb +174 -0
- data/lib/vendor/puppet/provider/package/portage.rb +124 -0
- data/lib/vendor/puppet/provider/package/ports.rb +94 -0
- data/lib/vendor/puppet/provider/package/portupgrade.rb +241 -0
- data/lib/vendor/puppet/provider/package/rpm.rb +132 -0
- data/lib/vendor/puppet/provider/package/rug.rb +52 -0
- data/lib/vendor/puppet/provider/package/sun.rb +154 -0
- data/lib/vendor/puppet/provider/package/sunfreeware.rb +9 -0
- data/lib/vendor/puppet/provider/package/up2date.rb +41 -0
- data/lib/vendor/puppet/provider/package/urpmi.rb +59 -0
- data/lib/vendor/puppet/provider/package/yum.rb +106 -0
- data/lib/vendor/puppet/provider/package/yumhelper.py +129 -0
- data/lib/vendor/puppet/provider/package/zypper.rb +84 -0
- data/lib/vendor/puppet/provider/package.rb +28 -0
- data/lib/vendor/puppet/provider/parsedfile.rb +374 -0
- data/lib/vendor/puppet/provider/port/parsed.rb +173 -0
- data/lib/vendor/puppet/provider/scheduled_task/win32_taskscheduler.rb +565 -0
- data/lib/vendor/puppet/provider/selboolean/getsetsebool.rb +47 -0
- data/lib/vendor/puppet/provider/selmodule/semodule.rb +134 -0
- data/lib/vendor/puppet/provider/service/base.rb +105 -0
- data/lib/vendor/puppet/provider/service/bsd.rb +49 -0
- data/lib/vendor/puppet/provider/service/daemontools.rb +194 -0
- data/lib/vendor/puppet/provider/service/debian.rb +68 -0
- data/lib/vendor/puppet/provider/service/freebsd.rb +139 -0
- data/lib/vendor/puppet/provider/service/gentoo.rb +54 -0
- data/lib/vendor/puppet/provider/service/init.rb +140 -0
- data/lib/vendor/puppet/provider/service/launchd.rb +303 -0
- data/lib/vendor/puppet/provider/service/openrc.rb +69 -0
- data/lib/vendor/puppet/provider/service/redhat.rb +76 -0
- data/lib/vendor/puppet/provider/service/runit.rb +103 -0
- data/lib/vendor/puppet/provider/service/service.rb +43 -0
- data/lib/vendor/puppet/provider/service/smf.rb +104 -0
- data/lib/vendor/puppet/provider/service/src.rb +86 -0
- data/lib/vendor/puppet/provider/service/systemd.rb +64 -0
- data/lib/vendor/puppet/provider/service/upstart.rb +347 -0
- data/lib/vendor/puppet/provider/service/windows.rb +106 -0
- data/lib/vendor/puppet/provider/ssh_authorized_key/parsed.rb +88 -0
- data/lib/vendor/puppet/provider/sshkey/parsed.rb +37 -0
- data/lib/vendor/puppet/provider/user/aix.rb +357 -0
- data/lib/vendor/puppet/provider/user/directoryservice.rb +86 -0
- data/lib/vendor/puppet/provider/user/hpux.rb +31 -0
- data/lib/vendor/puppet/provider/user/ldap.rb +129 -0
- data/lib/vendor/puppet/provider/user/pw.rb +101 -0
- data/lib/vendor/puppet/provider/user/user_role_add.rb +207 -0
- data/lib/vendor/puppet/provider/user/useradd.rb +127 -0
- data/lib/vendor/puppet/provider/user/windows_adsi.rb +99 -0
- data/lib/vendor/puppet/provider/vlan/cisco.rb +28 -0
- data/lib/vendor/puppet/provider/zfs/solaris.rb +45 -0
- data/lib/vendor/puppet/provider/zone/solaris.rb +260 -0
- data/lib/vendor/puppet/provider/zpool/solaris.rb +116 -0
- data/lib/vendor/puppet/provider.rb +290 -0
- data/lib/vendor/puppet/rails/benchmark.rb +63 -0
- data/lib/vendor/puppet/rails/database/001_add_created_at_to_all_tables.rb +13 -0
- data/lib/vendor/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +13 -0
- data/lib/vendor/puppet/rails/database/003_add_environment_to_host.rb +9 -0
- data/lib/vendor/puppet/rails/database/004_add_inventory_service_tables.rb +36 -0
- data/lib/vendor/puppet/rails/database/schema.rb +131 -0
- data/lib/vendor/puppet/rails/fact_name.rb +6 -0
- data/lib/vendor/puppet/rails/fact_value.rb +8 -0
- data/lib/vendor/puppet/rails/host.rb +258 -0
- data/lib/vendor/puppet/rails/inventory_fact.rb +5 -0
- data/lib/vendor/puppet/rails/inventory_node.rb +43 -0
- data/lib/vendor/puppet/rails/param_name.rb +25 -0
- data/lib/vendor/puppet/rails/param_value.rb +74 -0
- data/lib/vendor/puppet/rails/puppet_tag.rb +10 -0
- data/lib/vendor/puppet/rails/resource.rb +231 -0
- data/lib/vendor/puppet/rails/resource_tag.rb +26 -0
- data/lib/vendor/puppet/rails/source_file.rb +8 -0
- data/lib/vendor/puppet/rails.rb +132 -0
- data/lib/vendor/puppet/rb_tree_map.rb +388 -0
- data/lib/vendor/puppet/reference/configuration.rb +69 -0
- data/lib/vendor/puppet/reference/function.rb +17 -0
- data/lib/vendor/puppet/reference/indirection.rb +32 -0
- data/lib/vendor/puppet/reference/metaparameter.rb +43 -0
- data/lib/vendor/puppet/reference/network.rb +39 -0
- data/lib/vendor/puppet/reference/providers.rb +119 -0
- data/lib/vendor/puppet/reference/report.rb +23 -0
- data/lib/vendor/puppet/reference/type.rb +116 -0
- data/lib/vendor/puppet/relationship.rb +95 -0
- data/lib/vendor/puppet/reports/http.rb +25 -0
- data/lib/vendor/puppet/reports/log.rb +14 -0
- data/lib/vendor/puppet/reports/rrdgraph.rb +128 -0
- data/lib/vendor/puppet/reports/store.rb +74 -0
- data/lib/vendor/puppet/reports/tagmail.rb +179 -0
- data/lib/vendor/puppet/reports.rb +49 -0
- data/lib/vendor/puppet/resource/catalog.rb +661 -0
- data/lib/vendor/puppet/resource/status.rb +79 -0
- data/lib/vendor/puppet/resource/type.rb +344 -0
- data/lib/vendor/puppet/resource/type_collection.rb +215 -0
- data/lib/vendor/puppet/resource/type_collection_helper.rb +7 -0
- data/lib/vendor/puppet/resource.rb +467 -0
- data/lib/vendor/puppet/run.rb +77 -0
- data/lib/vendor/puppet/simple_graph.rb +550 -0
- data/lib/vendor/puppet/ssl/base.rb +86 -0
- data/lib/vendor/puppet/ssl/certificate.rb +40 -0
- data/lib/vendor/puppet/ssl/certificate_authority/interface.rb +182 -0
- data/lib/vendor/puppet/ssl/certificate_authority.rb +374 -0
- data/lib/vendor/puppet/ssl/certificate_factory.rb +166 -0
- data/lib/vendor/puppet/ssl/certificate_request.rb +149 -0
- data/lib/vendor/puppet/ssl/certificate_revocation_list.rb +84 -0
- data/lib/vendor/puppet/ssl/host.rb +365 -0
- data/lib/vendor/puppet/ssl/inventory.rb +54 -0
- data/lib/vendor/puppet/ssl/key.rb +56 -0
- data/lib/vendor/puppet/ssl.rb +8 -0
- data/lib/vendor/puppet/status.rb +28 -0
- data/lib/vendor/puppet/test/test_helper.rb +141 -0
- data/lib/vendor/puppet/transaction/event.rb +66 -0
- data/lib/vendor/puppet/transaction/event_manager.rb +115 -0
- data/lib/vendor/puppet/transaction/report.rb +200 -0
- data/lib/vendor/puppet/transaction/resource_harness.rb +178 -0
- data/lib/vendor/puppet/transaction.rb +493 -0
- data/lib/vendor/puppet/transportable.rb +248 -0
- data/lib/vendor/puppet/type/augeas.rb +218 -0
- data/lib/vendor/puppet/type/component.rb +85 -0
- data/lib/vendor/puppet/type/computer.rb +66 -0
- data/lib/vendor/puppet/type/cron.rb +421 -0
- data/lib/vendor/puppet/type/exec.rb +520 -0
- data/lib/vendor/puppet/type/file/checksum.rb +33 -0
- data/lib/vendor/puppet/type/file/content.rb +230 -0
- data/lib/vendor/puppet/type/file/ctime.rb +18 -0
- data/lib/vendor/puppet/type/file/ensure.rb +172 -0
- data/lib/vendor/puppet/type/file/group.rb +41 -0
- data/lib/vendor/puppet/type/file/mode.rb +148 -0
- data/lib/vendor/puppet/type/file/mtime.rb +17 -0
- data/lib/vendor/puppet/type/file/owner.rb +44 -0
- data/lib/vendor/puppet/type/file/selcontext.rb +123 -0
- data/lib/vendor/puppet/type/file/source.rb +195 -0
- data/lib/vendor/puppet/type/file/target.rb +87 -0
- data/lib/vendor/puppet/type/file/type.rb +19 -0
- data/lib/vendor/puppet/type/file.rb +829 -0
- data/lib/vendor/puppet/type/filebucket.rb +114 -0
- data/lib/vendor/puppet/type/group.rb +149 -0
- data/lib/vendor/puppet/type/host.rb +87 -0
- data/lib/vendor/puppet/type/interface.rb +112 -0
- data/lib/vendor/puppet/type/k5login.rb +88 -0
- data/lib/vendor/puppet/type/macauthorization.rb +167 -0
- data/lib/vendor/puppet/type/mailalias.rb +48 -0
- data/lib/vendor/puppet/type/maillist.rb +62 -0
- data/lib/vendor/puppet/type/mcx.rb +99 -0
- data/lib/vendor/puppet/type/mount.rb +241 -0
- data/lib/vendor/puppet/type/nagios_command.rb +3 -0
- data/lib/vendor/puppet/type/nagios_contact.rb +3 -0
- data/lib/vendor/puppet/type/nagios_contactgroup.rb +3 -0
- data/lib/vendor/puppet/type/nagios_host.rb +3 -0
- data/lib/vendor/puppet/type/nagios_hostdependency.rb +3 -0
- data/lib/vendor/puppet/type/nagios_hostescalation.rb +3 -0
- data/lib/vendor/puppet/type/nagios_hostextinfo.rb +3 -0
- data/lib/vendor/puppet/type/nagios_hostgroup.rb +3 -0
- data/lib/vendor/puppet/type/nagios_service.rb +3 -0
- data/lib/vendor/puppet/type/nagios_servicedependency.rb +3 -0
- data/lib/vendor/puppet/type/nagios_serviceescalation.rb +3 -0
- data/lib/vendor/puppet/type/nagios_serviceextinfo.rb +3 -0
- data/lib/vendor/puppet/type/nagios_servicegroup.rb +3 -0
- data/lib/vendor/puppet/type/nagios_timeperiod.rb +3 -0
- data/lib/vendor/puppet/type/notify.rb +44 -0
- data/lib/vendor/puppet/type/package.rb +357 -0
- data/lib/vendor/puppet/type/port.rb +119 -0
- data/lib/vendor/puppet/type/resources.rb +131 -0
- data/lib/vendor/puppet/type/router.rb +17 -0
- data/lib/vendor/puppet/type/schedule.rb +360 -0
- data/lib/vendor/puppet/type/scheduled_task.rb +166 -0
- data/lib/vendor/puppet/type/selboolean.rb +26 -0
- data/lib/vendor/puppet/type/selmodule.rb +59 -0
- data/lib/vendor/puppet/type/service.rb +221 -0
- data/lib/vendor/puppet/type/ssh_authorized_key.rb +112 -0
- data/lib/vendor/puppet/type/sshkey.rb +72 -0
- data/lib/vendor/puppet/type/stage.rb +19 -0
- data/lib/vendor/puppet/type/tidy.rb +333 -0
- data/lib/vendor/puppet/type/user.rb +524 -0
- data/lib/vendor/puppet/type/vlan.rb +26 -0
- data/lib/vendor/puppet/type/whit.rb +34 -0
- data/lib/vendor/puppet/type/yumrepo.rb +361 -0
- data/lib/vendor/puppet/type/zfs.rb +146 -0
- data/lib/vendor/puppet/type/zone.rb +492 -0
- data/lib/vendor/puppet/type/zpool.rb +91 -0
- data/lib/vendor/puppet/type.rb +1979 -0
- data/lib/vendor/puppet/util/adsi.rb +296 -0
- data/lib/vendor/puppet/util/autoload/file_cache.rb +92 -0
- data/lib/vendor/puppet/util/autoload.rb +158 -0
- data/lib/vendor/puppet/util/backups.rb +87 -0
- data/lib/vendor/puppet/util/cacher.rb +80 -0
- data/lib/vendor/puppet/util/checksums.rb +143 -0
- data/lib/vendor/puppet/util/classgen.rb +209 -0
- data/lib/vendor/puppet/util/colors.rb +128 -0
- data/lib/vendor/puppet/util/command_line.rb +185 -0
- data/lib/vendor/puppet/util/constant_inflector.rb +15 -0
- data/lib/vendor/puppet/util/diff.rb +77 -0
- data/lib/vendor/puppet/util/docs.rb +123 -0
- data/lib/vendor/puppet/util/errors.rb +63 -0
- data/lib/vendor/puppet/util/execution.rb +20 -0
- data/lib/vendor/puppet/util/execution_stub.rb +26 -0
- data/lib/vendor/puppet/util/feature.rb +83 -0
- data/lib/vendor/puppet/util/file_locking.rb +47 -0
- data/lib/vendor/puppet/util/fileparsing.rb +373 -0
- data/lib/vendor/puppet/util/filetype.rb +296 -0
- data/lib/vendor/puppet/util/graph.rb +27 -0
- data/lib/vendor/puppet/util/inifile.rb +203 -0
- data/lib/vendor/puppet/util/inline_docs.rb +26 -0
- data/lib/vendor/puppet/util/instance_loader.rb +81 -0
- data/lib/vendor/puppet/util/instrumentation/data.rb +34 -0
- data/lib/vendor/puppet/util/instrumentation/indirection_probe.rb +29 -0
- data/lib/vendor/puppet/util/instrumentation/instrumentable.rb +143 -0
- data/lib/vendor/puppet/util/instrumentation/listener.rb +60 -0
- data/lib/vendor/puppet/util/instrumentation/listeners/log.rb +29 -0
- data/lib/vendor/puppet/util/instrumentation/listeners/performance.rb +30 -0
- data/lib/vendor/puppet/util/instrumentation.rb +171 -0
- data/lib/vendor/puppet/util/ldap/connection.rb +74 -0
- data/lib/vendor/puppet/util/ldap/generator.rb +42 -0
- data/lib/vendor/puppet/util/ldap/manager.rb +279 -0
- data/lib/vendor/puppet/util/ldap.rb +2 -0
- data/lib/vendor/puppet/util/loadedfile.rb +61 -0
- data/lib/vendor/puppet/util/log/destination.rb +49 -0
- data/lib/vendor/puppet/util/log/destinations.rb +268 -0
- data/lib/vendor/puppet/util/log.rb +275 -0
- data/lib/vendor/puppet/util/log_paths.rb +22 -0
- data/lib/vendor/puppet/util/logging.rb +51 -0
- data/lib/vendor/puppet/util/metaid.rb +21 -0
- data/lib/vendor/puppet/util/methodhelper.rb +32 -0
- data/lib/vendor/puppet/util/metric.rb +186 -0
- data/lib/vendor/puppet/util/monkey_patches.rb +243 -0
- data/lib/vendor/puppet/util/nagios_maker.rb +60 -0
- data/lib/vendor/puppet/util/network_device/base.rb +27 -0
- data/lib/vendor/puppet/util/network_device/cisco/device.rb +257 -0
- data/lib/vendor/puppet/util/network_device/cisco/facts.rb +72 -0
- data/lib/vendor/puppet/util/network_device/cisco/interface.rb +82 -0
- data/lib/vendor/puppet/util/network_device/cisco.rb +4 -0
- data/lib/vendor/puppet/util/network_device/config.rb +92 -0
- data/lib/vendor/puppet/util/network_device/ipcalc.rb +68 -0
- data/lib/vendor/puppet/util/network_device/transport/base.rb +26 -0
- data/lib/vendor/puppet/util/network_device/transport/ssh.rb +121 -0
- data/lib/vendor/puppet/util/network_device/transport/telnet.rb +42 -0
- data/lib/vendor/puppet/util/network_device/transport.rb +3 -0
- data/lib/vendor/puppet/util/network_device.rb +17 -0
- data/lib/vendor/puppet/util/package.rb +31 -0
- data/lib/vendor/puppet/util/pidlock.rb +117 -0
- data/lib/vendor/puppet/util/platform.rb +22 -0
- data/lib/vendor/puppet/util/plugins.rb +82 -0
- data/lib/vendor/puppet/util/posix.rb +137 -0
- data/lib/vendor/puppet/util/provider_features.rb +168 -0
- data/lib/vendor/puppet/util/pson.rb +13 -0
- data/lib/vendor/puppet/util/queue/stomp.rb +60 -0
- data/lib/vendor/puppet/util/queue.rb +96 -0
- data/lib/vendor/puppet/util/rails/cache_accumulator.rb +65 -0
- data/lib/vendor/puppet/util/rails/collection_merger.rb +17 -0
- data/lib/vendor/puppet/util/rails/reference_serializer.rb +32 -0
- data/lib/vendor/puppet/util/rdoc.rb +87 -0
- data/lib/vendor/puppet/util/reference.rb +124 -0
- data/lib/vendor/puppet/util/resource_template.rb +61 -0
- data/lib/vendor/puppet/util/retryaction.rb +48 -0
- data/lib/vendor/puppet/util/run_mode.rb +82 -0
- data/lib/vendor/puppet/util/selinux.rb +211 -0
- data/lib/vendor/puppet/util/settings/boolean_setting.rb +30 -0
- data/lib/vendor/puppet/util/settings/file_setting.rb +135 -0
- data/lib/vendor/puppet/util/settings/setting.rb +94 -0
- data/lib/vendor/puppet/util/settings.rb +926 -0
- data/lib/vendor/puppet/util/storage.rb +96 -0
- data/lib/vendor/puppet/util/subclass_loader.rb +82 -0
- data/lib/vendor/puppet/util/suidmanager.rb +173 -0
- data/lib/vendor/puppet/util/symbolic_file_mode.rb +140 -0
- data/lib/vendor/puppet/util/tagging.rb +78 -0
- data/lib/vendor/puppet/util/terminal.rb +16 -0
- data/lib/vendor/puppet/util/user_attr.rb +21 -0
- data/lib/vendor/puppet/util/warnings.rb +29 -0
- data/lib/vendor/puppet/util/windows/error.rb +16 -0
- data/lib/vendor/puppet/util/windows/file.rb +27 -0
- data/lib/vendor/puppet/util/windows/process.rb +33 -0
- data/lib/vendor/puppet/util/windows/security.rb +622 -0
- data/lib/vendor/puppet/util/windows/sid.rb +96 -0
- data/lib/vendor/puppet/util/windows/user.rb +106 -0
- data/lib/vendor/puppet/util/windows.rb +8 -0
- data/lib/vendor/puppet/util/zaml.rb +407 -0
- data/lib/vendor/puppet/util.rb +646 -0
- data/lib/vendor/puppet/version.rb +18 -0
- data/lib/vendor/puppet.rb +125 -0
- data/lib/vendor/semver.rb +124 -0
- data/puppet-parse.gemspec +2 -8
- metadata +812 -94
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# I pulled this into a separate file, because I got
|
|
2
|
+
# tired of rebuilding the parser.rb file all the time.
|
|
3
|
+
class Puppet::Parser::Parser
|
|
4
|
+
require 'puppet/parser/functions'
|
|
5
|
+
require 'puppet/parser/files'
|
|
6
|
+
require 'puppet/resource/type_collection'
|
|
7
|
+
require 'puppet/resource/type_collection_helper'
|
|
8
|
+
require 'puppet/resource/type'
|
|
9
|
+
require 'monitor'
|
|
10
|
+
|
|
11
|
+
AST = Puppet::Parser::AST
|
|
12
|
+
|
|
13
|
+
include Puppet::Resource::TypeCollectionHelper
|
|
14
|
+
|
|
15
|
+
attr_reader :version, :environment
|
|
16
|
+
attr_accessor :files
|
|
17
|
+
|
|
18
|
+
attr_accessor :lexer
|
|
19
|
+
|
|
20
|
+
# Add context to a message; useful for error messages and such.
|
|
21
|
+
def addcontext(message, obj = nil)
|
|
22
|
+
obj ||= @lexer
|
|
23
|
+
|
|
24
|
+
message += " on line #{obj.line}"
|
|
25
|
+
if file = obj.file
|
|
26
|
+
message += " in file #{file}"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
message
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Create an AST array containing a single element
|
|
33
|
+
def aryfy(arg)
|
|
34
|
+
ast AST::ASTArray, :children => [arg]
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Create an AST object, and automatically add the file and line information if
|
|
38
|
+
# available.
|
|
39
|
+
def ast(klass, hash = {})
|
|
40
|
+
klass.new ast_context(klass.use_docs, hash[:line]).merge(hash)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def ast_context(include_docs = false, ast_line = nil)
|
|
44
|
+
result = {
|
|
45
|
+
:line => ast_line || lexer.line,
|
|
46
|
+
:file => lexer.file
|
|
47
|
+
}
|
|
48
|
+
result[:doc] = lexer.getcomment(result[:line]) if include_docs
|
|
49
|
+
result
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# The fully qualifed name, with the full namespace.
|
|
53
|
+
def classname(name)
|
|
54
|
+
[@lexer.namespace, name].join("::").sub(/^::/, '')
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def clear
|
|
58
|
+
initvars
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Raise a Parse error.
|
|
62
|
+
def error(message, options = {})
|
|
63
|
+
if brace = @lexer.expected
|
|
64
|
+
message += "; expected '%s'"
|
|
65
|
+
end
|
|
66
|
+
except = Puppet::ParseError.new(message)
|
|
67
|
+
except.line = options[:line] || @lexer.line
|
|
68
|
+
except.file = options[:file] || @lexer.file
|
|
69
|
+
|
|
70
|
+
raise except
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def file
|
|
74
|
+
@lexer.file
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def file=(file)
|
|
78
|
+
unless FileTest.exist?(file)
|
|
79
|
+
unless file =~ /\.pp$/
|
|
80
|
+
file = file + ".pp"
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
raise Puppet::AlreadyImportedError, "Import loop detected" if known_resource_types.watching_file?(file)
|
|
84
|
+
|
|
85
|
+
watch_file(file)
|
|
86
|
+
@lexer.file = file
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
[:hostclass, :definition, :node, :nodes?].each do |method|
|
|
90
|
+
define_method(method) do |*args|
|
|
91
|
+
known_resource_types.send(method, *args)
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def find_hostclass(namespace, name)
|
|
96
|
+
known_resource_types.find_hostclass(namespace, name)
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def find_definition(namespace, name)
|
|
100
|
+
known_resource_types.find_definition(namespace, name)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def import(file)
|
|
104
|
+
known_resource_types.loader.import(file, @lexer.file)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def initialize(env)
|
|
108
|
+
# The environment is needed to know how to find the resource type collection.
|
|
109
|
+
@environment = env.is_a?(String) ? Puppet::Node::Environment.new(env) : env
|
|
110
|
+
initvars
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# Initialize or reset all of our variables.
|
|
114
|
+
def initvars
|
|
115
|
+
@lexer = Puppet::Parser::Lexer.new
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
# Split an fq name into a namespace and name
|
|
119
|
+
def namesplit(fullname)
|
|
120
|
+
ary = fullname.split("::")
|
|
121
|
+
n = ary.pop || ""
|
|
122
|
+
ns = ary.join("::")
|
|
123
|
+
return ns, n
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
def on_error(token,value,stack)
|
|
127
|
+
if token == 0 # denotes end of file
|
|
128
|
+
value = 'end of file'
|
|
129
|
+
else
|
|
130
|
+
value = "'#{value[:value]}'"
|
|
131
|
+
end
|
|
132
|
+
error = "Syntax error at #{value}"
|
|
133
|
+
|
|
134
|
+
if brace = @lexer.expected
|
|
135
|
+
error += "; expected '#{brace}'"
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
except = Puppet::ParseError.new(error)
|
|
139
|
+
except.line = @lexer.line
|
|
140
|
+
except.file = @lexer.file if @lexer.file
|
|
141
|
+
|
|
142
|
+
raise except
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# how should I do error handling here?
|
|
146
|
+
def parse(string = nil)
|
|
147
|
+
if self.file =~ /\.rb$/
|
|
148
|
+
main = parse_ruby_file
|
|
149
|
+
else
|
|
150
|
+
self.string = string if string
|
|
151
|
+
begin
|
|
152
|
+
@yydebug = false
|
|
153
|
+
main = yyparse(@lexer,:scan)
|
|
154
|
+
rescue Racc::ParseError => except
|
|
155
|
+
error = Puppet::ParseError.new(except)
|
|
156
|
+
error.line = @lexer.line
|
|
157
|
+
error.file = @lexer.file
|
|
158
|
+
error.set_backtrace except.backtrace
|
|
159
|
+
raise error
|
|
160
|
+
rescue Puppet::ParseError => except
|
|
161
|
+
except.line ||= @lexer.line
|
|
162
|
+
except.file ||= @lexer.file
|
|
163
|
+
raise except
|
|
164
|
+
rescue Puppet::Error => except
|
|
165
|
+
# and this is a framework error
|
|
166
|
+
except.line ||= @lexer.line
|
|
167
|
+
except.file ||= @lexer.file
|
|
168
|
+
raise except
|
|
169
|
+
rescue Puppet::DevError => except
|
|
170
|
+
except.line ||= @lexer.line
|
|
171
|
+
except.file ||= @lexer.file
|
|
172
|
+
raise except
|
|
173
|
+
rescue => except
|
|
174
|
+
error = Puppet::DevError.new(except.message)
|
|
175
|
+
error.line = @lexer.line
|
|
176
|
+
error.file = @lexer.file
|
|
177
|
+
error.set_backtrace except.backtrace
|
|
178
|
+
raise error
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
# Store the results as the top-level class.
|
|
182
|
+
return Puppet::Parser::AST::Hostclass.new('', :code => main)
|
|
183
|
+
ensure
|
|
184
|
+
@lexer.clear
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
def parse_ruby_file
|
|
188
|
+
# Execute the contents of the file inside its own "main" object so
|
|
189
|
+
# that it can call methods in the resource type API.
|
|
190
|
+
main_object = Puppet::DSL::ResourceTypeAPI.new
|
|
191
|
+
main_object.instance_eval(File.read(self.file))
|
|
192
|
+
|
|
193
|
+
# Then extract any types that were created.
|
|
194
|
+
Puppet::Parser::AST::ASTArray.new :children => main_object.instance_eval { @__created_ast_objects__ }
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
def string=(string)
|
|
198
|
+
@lexer.string = string
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
def version
|
|
202
|
+
known_resource_types.version
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
# Add a new file to be checked when we're checking to see if we should be
|
|
206
|
+
# reparsed. This is basically only used by the TemplateWrapper to let the
|
|
207
|
+
# parser know about templates that should be parsed.
|
|
208
|
+
def watch_file(filename)
|
|
209
|
+
known_resource_types.watch_file(filename)
|
|
210
|
+
end
|
|
211
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
class Puppet::Parser::Relationship
|
|
2
|
+
attr_accessor :source, :target, :type
|
|
3
|
+
|
|
4
|
+
PARAM_MAP = {:relationship => :before, :subscription => :notify}
|
|
5
|
+
|
|
6
|
+
def arrayify(resources)
|
|
7
|
+
case resources
|
|
8
|
+
when Puppet::Parser::Collector
|
|
9
|
+
resources.collected.values
|
|
10
|
+
when Array
|
|
11
|
+
resources
|
|
12
|
+
else
|
|
13
|
+
[resources]
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def evaluate(catalog)
|
|
18
|
+
arrayify(source).each do |s|
|
|
19
|
+
arrayify(target).each do |t|
|
|
20
|
+
mk_relationship(s, t, catalog)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def initialize(source, target, type)
|
|
26
|
+
@source, @target, @type = source, target, type
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def param_name
|
|
30
|
+
PARAM_MAP[type] || raise(ArgumentError, "Invalid relationship type #{type}")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def mk_relationship(source, target, catalog)
|
|
34
|
+
# REVISIT: In Ruby 1.8 we applied `to_s` to source and target, rather than
|
|
35
|
+
# `join` without an argument. In 1.9 the behaviour of Array#to_s changed,
|
|
36
|
+
# and it gives a different representation than just concat the stringified
|
|
37
|
+
# elements.
|
|
38
|
+
#
|
|
39
|
+
# This restores the behaviour, but doesn't address the underlying question
|
|
40
|
+
# of what would happen when more than one item was passed in that array.
|
|
41
|
+
# (Hint: this will not end well.)
|
|
42
|
+
#
|
|
43
|
+
# See http://projects.puppetlabs.com/issues/12076 for the ticket tracking
|
|
44
|
+
# the fact that we should dig out the sane version of this behaviour, then
|
|
45
|
+
# implement it - where we don't risk breaking a stable release series.
|
|
46
|
+
# --daniel 2012-01-21
|
|
47
|
+
source = source.is_a?(Array) ? source.join : source.to_s
|
|
48
|
+
target = target.is_a?(Array) ? target.join : target.to_s
|
|
49
|
+
|
|
50
|
+
unless source_resource = catalog.resource(source)
|
|
51
|
+
raise ArgumentError, "Could not find resource '#{source}' for relationship on '#{target}'"
|
|
52
|
+
end
|
|
53
|
+
unless target_resource = catalog.resource(target)
|
|
54
|
+
raise ArgumentError, "Could not find resource '#{target}' for relationship from '#{source}'"
|
|
55
|
+
end
|
|
56
|
+
Puppet.debug "Adding relationship from #{source} to #{target} with '#{param_name}'"
|
|
57
|
+
if source_resource[param_name].class != Array
|
|
58
|
+
source_resource[param_name] = [source_resource[param_name]].compact
|
|
59
|
+
end
|
|
60
|
+
source_resource[param_name] << target
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
require 'puppet/parser/yaml_trimmer'
|
|
2
|
+
|
|
3
|
+
# The parameters we stick in Resources.
|
|
4
|
+
class Puppet::Parser::Resource::Param
|
|
5
|
+
include Puppet::Util
|
|
6
|
+
include Puppet::Util::Errors
|
|
7
|
+
include Puppet::Util::MethodHelper
|
|
8
|
+
include Puppet::Parser::YamlTrimmer
|
|
9
|
+
|
|
10
|
+
attr_accessor :name, :value, :source, :add, :file, :line
|
|
11
|
+
|
|
12
|
+
def initialize(hash)
|
|
13
|
+
set_options(hash)
|
|
14
|
+
requiredopts(:name, :value)
|
|
15
|
+
@name = @name.intern
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def line_to_i
|
|
19
|
+
line ? Integer(line) : nil
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def to_s
|
|
23
|
+
"#{self.name} => #{self.value}"
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
require 'puppet/resource'
|
|
2
|
+
|
|
3
|
+
# The primary difference between this class and its
|
|
4
|
+
# parent is that this class has rules on who can set
|
|
5
|
+
# parameters
|
|
6
|
+
class Puppet::Parser::Resource < Puppet::Resource
|
|
7
|
+
require 'puppet/parser/resource/param'
|
|
8
|
+
require 'puppet/util/tagging'
|
|
9
|
+
require 'puppet/parser/yaml_trimmer'
|
|
10
|
+
require 'puppet/resource/type_collection_helper'
|
|
11
|
+
|
|
12
|
+
include Puppet::Resource::TypeCollectionHelper
|
|
13
|
+
|
|
14
|
+
include Puppet::Util
|
|
15
|
+
include Puppet::Util::MethodHelper
|
|
16
|
+
include Puppet::Util::Errors
|
|
17
|
+
include Puppet::Util::Logging
|
|
18
|
+
include Puppet::Util::Tagging
|
|
19
|
+
include Puppet::Parser::YamlTrimmer
|
|
20
|
+
|
|
21
|
+
attr_accessor :source, :scope, :collector_id
|
|
22
|
+
attr_accessor :virtual, :override, :translated, :catalog, :evaluated
|
|
23
|
+
attr_accessor :file, :line
|
|
24
|
+
|
|
25
|
+
attr_reader :exported, :parameters
|
|
26
|
+
|
|
27
|
+
# Determine whether the provided parameter name is a relationship parameter.
|
|
28
|
+
def self.relationship_parameter?(name)
|
|
29
|
+
@relationship_names ||= Puppet::Type.relationship_params.collect { |p| p.name }
|
|
30
|
+
@relationship_names.include?(name)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Set up some boolean test methods
|
|
34
|
+
def translated?; !!@translated; end
|
|
35
|
+
def override?; !!@override; end
|
|
36
|
+
def evaluated?; !!@evaluated; end
|
|
37
|
+
|
|
38
|
+
def [](param)
|
|
39
|
+
param = param.intern
|
|
40
|
+
if param == :title
|
|
41
|
+
return self.title
|
|
42
|
+
end
|
|
43
|
+
if @parameters.has_key?(param)
|
|
44
|
+
@parameters[param].value
|
|
45
|
+
else
|
|
46
|
+
nil
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def []=(param, value)
|
|
51
|
+
set_parameter(param, value)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def eachparam
|
|
55
|
+
@parameters.each do |name, param|
|
|
56
|
+
yield param
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def environment
|
|
61
|
+
scope.environment
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Process the stage metaparameter for a class. A containment edge
|
|
65
|
+
# is drawn from the class to the stage. The stage for containment
|
|
66
|
+
# defaults to main, if none is specified.
|
|
67
|
+
def add_edge_to_stage
|
|
68
|
+
return unless self.type.to_s.downcase == "class"
|
|
69
|
+
|
|
70
|
+
unless stage = catalog.resource(:stage, self[:stage] || (scope && scope.resource && scope.resource[:stage]) || :main)
|
|
71
|
+
raise ArgumentError, "Could not find stage #{self[:stage] || :main} specified by #{self}"
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
self[:stage] ||= stage.title unless stage.title == :main
|
|
75
|
+
catalog.add_edge(stage, self)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Retrieve the associated definition and evaluate it.
|
|
79
|
+
def evaluate
|
|
80
|
+
return if evaluated?
|
|
81
|
+
@evaluated = true
|
|
82
|
+
if klass = resource_type and ! builtin_type?
|
|
83
|
+
finish
|
|
84
|
+
evaluated_code = klass.evaluate_code(self)
|
|
85
|
+
|
|
86
|
+
return evaluated_code
|
|
87
|
+
elsif builtin?
|
|
88
|
+
devfail "Cannot evaluate a builtin type (#{type})"
|
|
89
|
+
else
|
|
90
|
+
self.fail "Cannot find definition #{type}"
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Mark this resource as both exported and virtual,
|
|
95
|
+
# or remove the exported mark.
|
|
96
|
+
def exported=(value)
|
|
97
|
+
if value
|
|
98
|
+
@virtual = true
|
|
99
|
+
@exported = value
|
|
100
|
+
else
|
|
101
|
+
@exported = value
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# Do any finishing work on this object, called before evaluation or
|
|
106
|
+
# before storage/translation.
|
|
107
|
+
def finish
|
|
108
|
+
return if finished?
|
|
109
|
+
@finished = true
|
|
110
|
+
add_defaults
|
|
111
|
+
add_metaparams
|
|
112
|
+
add_scope_tags
|
|
113
|
+
validate
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# Has this resource already been finished?
|
|
117
|
+
def finished?
|
|
118
|
+
@finished
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def initialize(*args)
|
|
122
|
+
raise ArgumentError, "Resources require a scope" unless args.last[:scope]
|
|
123
|
+
super
|
|
124
|
+
|
|
125
|
+
@source ||= scope.source
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# Is this resource modeling an isomorphic resource type?
|
|
129
|
+
def isomorphic?
|
|
130
|
+
if builtin_type?
|
|
131
|
+
return resource_type.isomorphic?
|
|
132
|
+
else
|
|
133
|
+
return true
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
# Merge an override resource in. This will throw exceptions if
|
|
138
|
+
# any overrides aren't allowed.
|
|
139
|
+
def merge(resource)
|
|
140
|
+
# Test the resource scope, to make sure the resource is even allowed
|
|
141
|
+
# to override.
|
|
142
|
+
unless self.source.object_id == resource.source.object_id || resource.source.child_of?(self.source)
|
|
143
|
+
raise Puppet::ParseError.new("Only subclasses can override parameters", resource.line, resource.file)
|
|
144
|
+
end
|
|
145
|
+
# Some of these might fail, but they'll fail in the way we want.
|
|
146
|
+
resource.parameters.each do |name, param|
|
|
147
|
+
override_parameter(param)
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
# Unless we're running >= 0.25, we're in compat mode.
|
|
152
|
+
def metaparam_compatibility_mode?
|
|
153
|
+
! (catalog and ver = (catalog.client_version||'0.0.0').split(".") and (ver[0] > "0" or ver[1].to_i >= 25))
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
def name
|
|
157
|
+
self[:name] || self.title
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# A temporary occasion, until I get paths in the scopes figured out.
|
|
161
|
+
def path
|
|
162
|
+
to_s
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
# Define a parameter in our resource.
|
|
166
|
+
# if we ever receive a parameter named 'tag', set
|
|
167
|
+
# the resource tags with its value.
|
|
168
|
+
def set_parameter(param, value = nil)
|
|
169
|
+
if ! value.nil?
|
|
170
|
+
param = Puppet::Parser::Resource::Param.new(
|
|
171
|
+
:name => param, :value => value, :source => self.source
|
|
172
|
+
)
|
|
173
|
+
elsif ! param.is_a?(Puppet::Parser::Resource::Param)
|
|
174
|
+
raise ArgumentError, "Must pass a parameter or all necessary values"
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
tag(*param.value) if param.name == :tag
|
|
178
|
+
|
|
179
|
+
# And store it in our parameter hash.
|
|
180
|
+
@parameters[param.name] = param
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
def to_hash
|
|
184
|
+
@parameters.inject({}) do |hash, ary|
|
|
185
|
+
param = ary[1]
|
|
186
|
+
# Skip "undef" values.
|
|
187
|
+
hash[param.name] = param.value if param.value != :undef
|
|
188
|
+
hash
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
# Create a Puppet::Resource instance from this parser resource.
|
|
194
|
+
# We plan, at some point, on not needing to do this conversion, but
|
|
195
|
+
# it's sufficient for now.
|
|
196
|
+
def to_resource
|
|
197
|
+
result = Puppet::Resource.new(type, title)
|
|
198
|
+
|
|
199
|
+
to_hash.each do |p, v|
|
|
200
|
+
if v.is_a?(Puppet::Resource)
|
|
201
|
+
v = Puppet::Resource.new(v.type, v.title)
|
|
202
|
+
elsif v.is_a?(Array)
|
|
203
|
+
# flatten resource references arrays
|
|
204
|
+
v = v.flatten if v.flatten.find { |av| av.is_a?(Puppet::Resource) }
|
|
205
|
+
v = v.collect do |av|
|
|
206
|
+
av = Puppet::Resource.new(av.type, av.title) if av.is_a?(Puppet::Resource)
|
|
207
|
+
av
|
|
208
|
+
end
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
# If the value is an array with only one value, then
|
|
212
|
+
# convert it to a single value. This is largely so that
|
|
213
|
+
# the database interaction doesn't have to worry about
|
|
214
|
+
# whether it returns an array or a string.
|
|
215
|
+
result[p] = if v.is_a?(Array) and v.length == 1
|
|
216
|
+
v[0]
|
|
217
|
+
else
|
|
218
|
+
v
|
|
219
|
+
end
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
result.file = self.file
|
|
223
|
+
result.line = self.line
|
|
224
|
+
result.exported = self.exported
|
|
225
|
+
result.virtual = self.virtual
|
|
226
|
+
result.tag(*self.tags)
|
|
227
|
+
|
|
228
|
+
result
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
# Translate our object to a transportable object.
|
|
232
|
+
def to_trans
|
|
233
|
+
return nil if virtual?
|
|
234
|
+
|
|
235
|
+
to_resource.to_trans
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
# Convert this resource to a RAL resource. We hackishly go via the
|
|
239
|
+
# transportable stuff.
|
|
240
|
+
def to_ral
|
|
241
|
+
to_resource.to_ral
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
private
|
|
245
|
+
|
|
246
|
+
# Add default values from our definition.
|
|
247
|
+
def add_defaults
|
|
248
|
+
scope.lookupdefaults(self.type).each do |name, param|
|
|
249
|
+
unless @parameters.include?(name)
|
|
250
|
+
self.debug "Adding default for #{name}"
|
|
251
|
+
|
|
252
|
+
@parameters[name] = param.dup
|
|
253
|
+
end
|
|
254
|
+
end
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
def add_backward_compatible_relationship_param(name)
|
|
258
|
+
# Skip metaparams for which we get no value.
|
|
259
|
+
return unless val = scope.lookupvar(name.to_s) and val != :undefined
|
|
260
|
+
|
|
261
|
+
# The default case: just set the value
|
|
262
|
+
set_parameter(name, val) and return unless @parameters[name]
|
|
263
|
+
|
|
264
|
+
# For relationship params, though, join the values (a la #446).
|
|
265
|
+
@parameters[name].value = [@parameters[name].value, val].flatten
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
# Add any metaparams defined in our scope. This actually adds any metaparams
|
|
269
|
+
# from any parent scope, and there's currently no way to turn that off.
|
|
270
|
+
def add_metaparams
|
|
271
|
+
compat_mode = metaparam_compatibility_mode?
|
|
272
|
+
|
|
273
|
+
Puppet::Type.eachmetaparam do |name|
|
|
274
|
+
next unless self.class.relationship_parameter?(name)
|
|
275
|
+
add_backward_compatible_relationship_param(name) if compat_mode
|
|
276
|
+
end
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
def add_scope_tags
|
|
280
|
+
if scope_resource = scope.resource
|
|
281
|
+
tag(*scope_resource.tags)
|
|
282
|
+
end
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
# Accept a parameter from an override.
|
|
286
|
+
def override_parameter(param)
|
|
287
|
+
# This can happen if the override is defining a new parameter, rather
|
|
288
|
+
# than replacing an existing one.
|
|
289
|
+
(set_parameter(param) and return) unless current = @parameters[param.name]
|
|
290
|
+
|
|
291
|
+
# The parameter is already set. Fail if they're not allowed to override it.
|
|
292
|
+
unless param.source.child_of?(current.source)
|
|
293
|
+
puts caller if Puppet[:trace]
|
|
294
|
+
msg = "Parameter '#{param.name}' is already set on #{self}"
|
|
295
|
+
msg += " by #{current.source}" if current.source.to_s != ""
|
|
296
|
+
if current.file or current.line
|
|
297
|
+
fields = []
|
|
298
|
+
fields << current.file if current.file
|
|
299
|
+
fields << current.line.to_s if current.line
|
|
300
|
+
msg += " at #{fields.join(":")}"
|
|
301
|
+
end
|
|
302
|
+
msg += "; cannot redefine"
|
|
303
|
+
raise Puppet::ParseError.new(msg, param.line, param.file)
|
|
304
|
+
end
|
|
305
|
+
|
|
306
|
+
# If we've gotten this far, we're allowed to override.
|
|
307
|
+
|
|
308
|
+
# Merge with previous value, if the parameter was generated with the +>
|
|
309
|
+
# syntax. It's important that we use a copy of the new param instance
|
|
310
|
+
# here, not the old one, and not the original new one, so that the source
|
|
311
|
+
# is registered correctly for later overrides but the values aren't
|
|
312
|
+
# implcitly shared when multiple resources are overrriden at once (see
|
|
313
|
+
# ticket #3556).
|
|
314
|
+
if param.add
|
|
315
|
+
param = param.dup
|
|
316
|
+
param.value = [current.value, param.value].flatten
|
|
317
|
+
end
|
|
318
|
+
|
|
319
|
+
set_parameter(param)
|
|
320
|
+
end
|
|
321
|
+
|
|
322
|
+
# Make sure the resource's parameters are all valid for the type.
|
|
323
|
+
def validate
|
|
324
|
+
@parameters.each do |name, param|
|
|
325
|
+
validate_parameter(name)
|
|
326
|
+
end
|
|
327
|
+
rescue => detail
|
|
328
|
+
fail Puppet::ParseError, detail.to_s
|
|
329
|
+
end
|
|
330
|
+
|
|
331
|
+
private
|
|
332
|
+
|
|
333
|
+
def extract_parameters(params)
|
|
334
|
+
params.each do |param|
|
|
335
|
+
# Don't set the same parameter twice
|
|
336
|
+
self.fail Puppet::ParseError, "Duplicate parameter '#{param.name}' for on #{self}" if @parameters[param.name]
|
|
337
|
+
|
|
338
|
+
set_parameter(param)
|
|
339
|
+
end
|
|
340
|
+
end
|
|
341
|
+
end
|