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,74 @@
|
|
|
1
|
+
require 'puppet/parser/ast/resource_reference'
|
|
2
|
+
|
|
3
|
+
# Any normal puppet resource declaration. Can point to a definition or a
|
|
4
|
+
# builtin type.
|
|
5
|
+
class Puppet::Parser::AST
|
|
6
|
+
class Resource < AST::Branch
|
|
7
|
+
|
|
8
|
+
associates_doc
|
|
9
|
+
|
|
10
|
+
attr_accessor :type, :instances, :exported, :virtual
|
|
11
|
+
|
|
12
|
+
# Does not actually return an object; instead sets an object
|
|
13
|
+
# in the current scope.
|
|
14
|
+
def evaluate(scope)
|
|
15
|
+
# We want virtual to be true if exported is true. We can't
|
|
16
|
+
# just set :virtual => self.virtual in the initialization,
|
|
17
|
+
# because sometimes the :virtual attribute is set *after*
|
|
18
|
+
# :exported, in which case it clobbers :exported if :exported
|
|
19
|
+
# is true. Argh, this was a very tough one to track down.
|
|
20
|
+
virt = self.virtual || self.exported
|
|
21
|
+
|
|
22
|
+
# First level of implicit iteration: build a resource for each
|
|
23
|
+
# instance. This handles things like:
|
|
24
|
+
# file { '/foo': owner => blah; '/bar': owner => blah }
|
|
25
|
+
@instances.collect { |instance|
|
|
26
|
+
|
|
27
|
+
# Evaluate all of the specified params.
|
|
28
|
+
paramobjects = instance.parameters.collect { |param|
|
|
29
|
+
param.safeevaluate(scope)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
resource_titles = instance.title.safeevaluate(scope)
|
|
33
|
+
|
|
34
|
+
# it's easier to always use an array, even for only one name
|
|
35
|
+
resource_titles = [resource_titles].flatten.collect do |title|
|
|
36
|
+
case title
|
|
37
|
+
when ::String, ::Numeric, ::Symbol, true, false
|
|
38
|
+
title.to_s
|
|
39
|
+
else
|
|
40
|
+
raise Puppet::ParseError, "Resource title must be a String, not #{title.class}"
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
fully_qualified_type, resource_titles = scope.resolve_type_and_titles(type, resource_titles)
|
|
45
|
+
|
|
46
|
+
# Second level of implicit iteration; build a resource for each
|
|
47
|
+
# title. This handles things like:
|
|
48
|
+
# file { ['/foo', '/bar']: owner => blah }
|
|
49
|
+
resource_titles.collect { |resource_title|
|
|
50
|
+
exceptwrap :type => Puppet::ParseError do
|
|
51
|
+
resource = Puppet::Parser::Resource.new(
|
|
52
|
+
fully_qualified_type, resource_title,
|
|
53
|
+
:parameters => paramobjects,
|
|
54
|
+
:file => self.file,
|
|
55
|
+
:line => self.line,
|
|
56
|
+
:exported => self.exported,
|
|
57
|
+
:virtual => virt,
|
|
58
|
+
:source => scope.source,
|
|
59
|
+
:scope => scope,
|
|
60
|
+
:strict => true
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
if resource.resource_type.is_a? Puppet::Resource::Type
|
|
64
|
+
resource.resource_type.instantiate_resource(scope, resource)
|
|
65
|
+
end
|
|
66
|
+
scope.compiler.add_resource(scope, resource)
|
|
67
|
+
scope.compiler.evaluate_classes([resource_title],scope,false) if fully_qualified_type == 'class'
|
|
68
|
+
resource
|
|
69
|
+
end
|
|
70
|
+
}
|
|
71
|
+
}.flatten.reject { |resource| resource.nil? }
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require 'puppet/parser/ast/branch'
|
|
2
|
+
|
|
3
|
+
class Puppet::Parser::AST
|
|
4
|
+
# A statement syntactically similar to an ResourceDef, but uses a
|
|
5
|
+
# capitalized object type and cannot have a name.
|
|
6
|
+
class ResourceDefaults < AST::Branch
|
|
7
|
+
attr_accessor :type, :parameters
|
|
8
|
+
|
|
9
|
+
associates_doc
|
|
10
|
+
|
|
11
|
+
# As opposed to ResourceDef, this stores each default for the given
|
|
12
|
+
# object type.
|
|
13
|
+
def evaluate(scope)
|
|
14
|
+
# Use a resource reference to canonize the type
|
|
15
|
+
ref = Puppet::Resource.new(@type, "whatever")
|
|
16
|
+
type = ref.type
|
|
17
|
+
params = @parameters.safeevaluate(scope)
|
|
18
|
+
|
|
19
|
+
parsewrap do
|
|
20
|
+
scope.setdefaults(type, params)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
require 'puppet/parser/ast/resource'
|
|
2
|
+
|
|
3
|
+
class Puppet::Parser::AST
|
|
4
|
+
# Set a parameter on a resource specification created somewhere else in the
|
|
5
|
+
# configuration. The object is responsible for verifying that this is allowed.
|
|
6
|
+
class ResourceOverride < AST::Branch
|
|
7
|
+
|
|
8
|
+
associates_doc
|
|
9
|
+
|
|
10
|
+
attr_accessor :object, :parameters
|
|
11
|
+
|
|
12
|
+
# Iterate across all of our children.
|
|
13
|
+
def each
|
|
14
|
+
[@object,@parameters].flatten.each { |param|
|
|
15
|
+
#Puppet.debug("yielding param #{param}")
|
|
16
|
+
yield param
|
|
17
|
+
}
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Does not actually return an object; instead sets an object
|
|
21
|
+
# in the current scope.
|
|
22
|
+
def evaluate(scope)
|
|
23
|
+
# Get our object reference.
|
|
24
|
+
resource = @object.safeevaluate(scope)
|
|
25
|
+
|
|
26
|
+
hash = {}
|
|
27
|
+
|
|
28
|
+
# Evaluate all of the specified params.
|
|
29
|
+
params = @parameters.collect { |param|
|
|
30
|
+
param.safeevaluate(scope)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
# Now we just create a normal resource, but we call a very different
|
|
34
|
+
# method on the scope.
|
|
35
|
+
resource = [resource] unless resource.is_a?(Array)
|
|
36
|
+
|
|
37
|
+
resource = resource.collect do |r|
|
|
38
|
+
|
|
39
|
+
res = Puppet::Parser::Resource.new(
|
|
40
|
+
r.type, r.title,
|
|
41
|
+
:parameters => params,
|
|
42
|
+
:file => file,
|
|
43
|
+
:line => line,
|
|
44
|
+
:source => scope.source,
|
|
45
|
+
|
|
46
|
+
:scope => scope
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
# Now we tell the scope that it's an override, and it behaves as
|
|
50
|
+
# necessary.
|
|
51
|
+
scope.compiler.add_override(res)
|
|
52
|
+
|
|
53
|
+
res
|
|
54
|
+
end
|
|
55
|
+
# decapsulate array in case of only one item
|
|
56
|
+
return(resource.length == 1 ? resource.pop : resource)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Create our ResourceDef. Handles type checking for us.
|
|
60
|
+
def initialize(hash)
|
|
61
|
+
@checked = false
|
|
62
|
+
super
|
|
63
|
+
|
|
64
|
+
#self.typecheck(@type.value)
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
require 'puppet/parser/ast'
|
|
2
|
+
require 'puppet/parser/ast/branch'
|
|
3
|
+
|
|
4
|
+
class Puppet::Parser::AST::ResourceReference < Puppet::Parser::AST::Branch
|
|
5
|
+
attr_accessor :title, :type
|
|
6
|
+
|
|
7
|
+
# Evaluate our object, but just return a simple array of the type
|
|
8
|
+
# and name.
|
|
9
|
+
def evaluate(scope)
|
|
10
|
+
titles = Array(title.safeevaluate(scope)).flatten
|
|
11
|
+
|
|
12
|
+
a_type, titles = scope.resolve_type_and_titles(type, titles)
|
|
13
|
+
|
|
14
|
+
resources = titles.collect{ |a_title|
|
|
15
|
+
Puppet::Resource.new(a_type, a_title)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return(resources.length == 1 ? resources.pop : resources)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def to_s
|
|
22
|
+
if title.is_a?(Puppet::Parser::AST::ASTArray)
|
|
23
|
+
"#{type.to_s.capitalize}#{title}"
|
|
24
|
+
else
|
|
25
|
+
"#{type.to_s.capitalize}[#{title}]"
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require 'puppet/parser/ast/branch'
|
|
2
|
+
|
|
3
|
+
class Puppet::Parser::AST
|
|
4
|
+
# The AST object for the parameters inside ResourceDefs and Selectors.
|
|
5
|
+
class ResourceParam < AST::Branch
|
|
6
|
+
attr_accessor :value, :param, :add
|
|
7
|
+
|
|
8
|
+
def each
|
|
9
|
+
[@param,@value].each { |child| yield child }
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# Return the parameter and the value.
|
|
13
|
+
def evaluate(scope)
|
|
14
|
+
|
|
15
|
+
return Puppet::Parser::Resource::Param.new(
|
|
16
|
+
|
|
17
|
+
:name => @param,
|
|
18
|
+
:value => @value.safeevaluate(scope),
|
|
19
|
+
|
|
20
|
+
:source => scope.source, :line => self.line, :file => self.file,
|
|
21
|
+
:add => self.add
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def to_s
|
|
26
|
+
"#{@param} => #{@value.to_s}"
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
require 'puppet/parser/ast/branch'
|
|
2
|
+
|
|
3
|
+
class Puppet::Parser::AST
|
|
4
|
+
# The inline conditional operator. Unlike CaseStatement, which executes
|
|
5
|
+
# code, we just return a value.
|
|
6
|
+
class Selector < AST::Branch
|
|
7
|
+
attr_accessor :param, :values
|
|
8
|
+
|
|
9
|
+
def each
|
|
10
|
+
[@param,@values].each { |child| yield child }
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Find the value that corresponds with the test.
|
|
14
|
+
def evaluate(scope)
|
|
15
|
+
level = scope.ephemeral_level
|
|
16
|
+
# Get our parameter.
|
|
17
|
+
paramvalue = @param.safeevaluate(scope)
|
|
18
|
+
|
|
19
|
+
default = nil
|
|
20
|
+
|
|
21
|
+
@values = [@values] unless @values.instance_of? AST::ASTArray or @values.instance_of? Array
|
|
22
|
+
|
|
23
|
+
# Then look for a match in the options.
|
|
24
|
+
@values.each do |obj|
|
|
25
|
+
# short circuit asap if we have a match
|
|
26
|
+
return obj.value.safeevaluate(scope) if obj.param.evaluate_match(paramvalue, scope)
|
|
27
|
+
|
|
28
|
+
# Store the default, in case it's necessary.
|
|
29
|
+
default = obj if obj.param.is_a?(Default)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Unless we found something, look for the default.
|
|
33
|
+
return default.value.safeevaluate(scope) if default
|
|
34
|
+
|
|
35
|
+
self.fail Puppet::ParseError, "No matching value for selector param '#{paramvalue}'"
|
|
36
|
+
ensure
|
|
37
|
+
scope.unset_ephemeral_var(level)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def to_s
|
|
41
|
+
param.to_s + " ? { " + values.collect { |v| v.to_s }.join(', ') + " }"
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require 'puppet/parser/ast/branch'
|
|
2
|
+
|
|
3
|
+
class Puppet::Parser::AST
|
|
4
|
+
# The code associated with a class. This is different from components
|
|
5
|
+
# in that each class is a singleton -- only one will exist for a given
|
|
6
|
+
# node.
|
|
7
|
+
class Tag < AST::Branch
|
|
8
|
+
@name = :class
|
|
9
|
+
attr_accessor :type
|
|
10
|
+
|
|
11
|
+
def evaluate(scope)
|
|
12
|
+
types = @type.safeevaluate(scope)
|
|
13
|
+
|
|
14
|
+
types = [types] unless types.is_a? Array
|
|
15
|
+
|
|
16
|
+
types.each do |type|
|
|
17
|
+
# Now set our class. We don't have to worry about checking
|
|
18
|
+
# whether we've been evaluated because we're not evaluating
|
|
19
|
+
# any code.
|
|
20
|
+
scope.setclass(self.object_id, type)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require 'puppet/parser/ast/branch'
|
|
2
|
+
|
|
3
|
+
class Puppet::Parser::AST
|
|
4
|
+
# Define a variable. Stores the value in the current scope.
|
|
5
|
+
class VarDef < AST::Branch
|
|
6
|
+
|
|
7
|
+
associates_doc
|
|
8
|
+
|
|
9
|
+
attr_accessor :name, :value, :append
|
|
10
|
+
|
|
11
|
+
@settor = true
|
|
12
|
+
|
|
13
|
+
# Look up our name and value, and store them appropriately. The
|
|
14
|
+
# lexer strips off the syntax stuff like '$'.
|
|
15
|
+
def evaluate(scope)
|
|
16
|
+
value = @value.safeevaluate(scope)
|
|
17
|
+
if name.is_a?(HashOrArrayAccess)
|
|
18
|
+
name.assign(scope, value)
|
|
19
|
+
else
|
|
20
|
+
name = @name.safeevaluate(scope)
|
|
21
|
+
|
|
22
|
+
parsewrap do
|
|
23
|
+
scope.setvar(name,value, :file => file, :line => line, :append => @append)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def each
|
|
29
|
+
[@name,@value].each { |child| yield child }
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# the parent class for all of our syntactical objects
|
|
2
|
+
|
|
3
|
+
require 'puppet'
|
|
4
|
+
require 'puppet/util/autoload'
|
|
5
|
+
|
|
6
|
+
# The base class for all of the objects that make up the parse trees.
|
|
7
|
+
# Handles things like file name, line #, and also does the initialization
|
|
8
|
+
# for all of the parameters of all of the child objects.
|
|
9
|
+
class Puppet::Parser::AST
|
|
10
|
+
# Do this so I don't have to type the full path in all of the subclasses
|
|
11
|
+
AST = Puppet::Parser::AST
|
|
12
|
+
|
|
13
|
+
include Puppet::Util::Errors
|
|
14
|
+
include Puppet::Util::MethodHelper
|
|
15
|
+
include Puppet::Util::Docs
|
|
16
|
+
|
|
17
|
+
attr_accessor :parent, :scope, :file, :line
|
|
18
|
+
|
|
19
|
+
def inspect
|
|
20
|
+
"( #{self.class} #{self.to_s} #{@children.inspect} )"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# don't fetch lexer comment by default
|
|
24
|
+
def use_docs
|
|
25
|
+
self.class.use_docs
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# allow our subclass to specify they want documentation
|
|
29
|
+
class << self
|
|
30
|
+
attr_accessor :use_docs
|
|
31
|
+
def associates_doc
|
|
32
|
+
self.use_docs = true
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Does this ast object set something? If so, it gets evaluated first.
|
|
37
|
+
def self.settor?
|
|
38
|
+
if defined?(@settor)
|
|
39
|
+
@settor
|
|
40
|
+
else
|
|
41
|
+
false
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Evaluate the current object. Just a stub method, since the subclass
|
|
46
|
+
# should override this method.
|
|
47
|
+
# of the contained children and evaluates them in turn, returning a
|
|
48
|
+
# list of all of the collected values, rejecting nil values
|
|
49
|
+
def evaluate(*options)
|
|
50
|
+
raise Puppet::DevError, "Did not override #evaluate in #{self.class}"
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Throw a parse error.
|
|
54
|
+
def parsefail(message)
|
|
55
|
+
self.fail(Puppet::ParseError, message)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Wrap a statemp in a reusable way so we always throw a parse error.
|
|
59
|
+
def parsewrap
|
|
60
|
+
exceptwrap :type => Puppet::ParseError do
|
|
61
|
+
yield
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# The version of the evaluate method that should be called, because it
|
|
66
|
+
# correctly handles errors. It is critical to use this method because
|
|
67
|
+
# it can enable you to catch the error where it happens, rather than
|
|
68
|
+
# much higher up the stack.
|
|
69
|
+
def safeevaluate(*options)
|
|
70
|
+
# We duplicate code here, rather than using exceptwrap, because this
|
|
71
|
+
# is called so many times during parsing.
|
|
72
|
+
begin
|
|
73
|
+
return self.evaluate(*options)
|
|
74
|
+
rescue Puppet::Error => detail
|
|
75
|
+
raise adderrorcontext(detail)
|
|
76
|
+
rescue => detail
|
|
77
|
+
error = Puppet::Error.new(detail.to_s)
|
|
78
|
+
# We can't use self.fail here because it always expects strings,
|
|
79
|
+
# not exceptions.
|
|
80
|
+
raise adderrorcontext(error, detail)
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# Initialize the object. Requires a hash as the argument, and
|
|
85
|
+
# takes each of the parameters of the hash and calls the settor
|
|
86
|
+
# method for them. This is probably pretty inefficient and should
|
|
87
|
+
# likely be changed at some point.
|
|
88
|
+
def initialize(args)
|
|
89
|
+
set_options(args)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# evaluate ourselves, and match
|
|
93
|
+
def evaluate_match(value, scope)
|
|
94
|
+
obj = self.safeevaluate(scope)
|
|
95
|
+
|
|
96
|
+
obj = obj.downcase if obj.respond_to?(:downcase)
|
|
97
|
+
value = value.downcase if value.respond_to?(:downcase)
|
|
98
|
+
|
|
99
|
+
obj = Puppet::Parser::Scope.number?(obj) || obj
|
|
100
|
+
value = Puppet::Parser::Scope.number?(value) || value
|
|
101
|
+
|
|
102
|
+
# "" == undef for case/selector/if
|
|
103
|
+
obj == value or (obj == "" and value == :undef) or (obj == :undef and value == "")
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# And include all of the AST subclasses.
|
|
108
|
+
require 'puppet/parser/ast/arithmetic_operator'
|
|
109
|
+
require 'puppet/parser/ast/astarray'
|
|
110
|
+
require 'puppet/parser/ast/asthash'
|
|
111
|
+
require 'puppet/parser/ast/boolean_operator'
|
|
112
|
+
require 'puppet/parser/ast/branch'
|
|
113
|
+
require 'puppet/parser/ast/caseopt'
|
|
114
|
+
require 'puppet/parser/ast/casestatement'
|
|
115
|
+
require 'puppet/parser/ast/collection'
|
|
116
|
+
require 'puppet/parser/ast/collexpr'
|
|
117
|
+
require 'puppet/parser/ast/comparison_operator'
|
|
118
|
+
require 'puppet/parser/ast/definition'
|
|
119
|
+
require 'puppet/parser/ast/else'
|
|
120
|
+
require 'puppet/parser/ast/function'
|
|
121
|
+
require 'puppet/parser/ast/hostclass'
|
|
122
|
+
require 'puppet/parser/ast/ifstatement'
|
|
123
|
+
require 'puppet/parser/ast/in_operator'
|
|
124
|
+
require 'puppet/parser/ast/leaf'
|
|
125
|
+
require 'puppet/parser/ast/match_operator'
|
|
126
|
+
require 'puppet/parser/ast/minus'
|
|
127
|
+
require 'puppet/parser/ast/node'
|
|
128
|
+
require 'puppet/parser/ast/nop'
|
|
129
|
+
require 'puppet/parser/ast/not'
|
|
130
|
+
require 'puppet/parser/ast/relationship'
|
|
131
|
+
require 'puppet/parser/ast/resource'
|
|
132
|
+
require 'puppet/parser/ast/resource_defaults'
|
|
133
|
+
require 'puppet/parser/ast/resource_instance'
|
|
134
|
+
require 'puppet/parser/ast/resource_override'
|
|
135
|
+
require 'puppet/parser/ast/resource_reference'
|
|
136
|
+
require 'puppet/parser/ast/resourceparam'
|
|
137
|
+
require 'puppet/parser/ast/selector'
|
|
138
|
+
require 'puppet/parser/ast/tag'
|
|
139
|
+
require 'puppet/parser/ast/vardef'
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# An object that collects stored objects from the central cache and returns
|
|
2
|
+
# them to the current host, yo.
|
|
3
|
+
class Puppet::Parser::Collector
|
|
4
|
+
attr_accessor :type, :scope, :vquery, :equery, :form, :resources, :overrides, :collected
|
|
5
|
+
|
|
6
|
+
# Call the collection method, mark all of the returned objects as
|
|
7
|
+
# non-virtual, optionally applying parameter overrides. The collector can
|
|
8
|
+
# also delete himself from the compiler if there is no more resources to
|
|
9
|
+
# collect (valid only for resource fixed-set collector which get their
|
|
10
|
+
# resources from +collect_resources+ and not from the catalog)
|
|
11
|
+
def evaluate
|
|
12
|
+
# Shortcut if we're not using storeconfigs and they're trying to collect
|
|
13
|
+
# exported resources.
|
|
14
|
+
if form == :exported and Puppet[:storeconfigs] != true
|
|
15
|
+
Puppet.warning "Not collecting exported resources without storeconfigs"
|
|
16
|
+
return false
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
if self.resources
|
|
20
|
+
unless objects = collect_resources and ! objects.empty?
|
|
21
|
+
return false
|
|
22
|
+
end
|
|
23
|
+
else
|
|
24
|
+
method = "collect_#{@form.to_s}"
|
|
25
|
+
objects = send(method).each do |obj|
|
|
26
|
+
obj.virtual = false
|
|
27
|
+
end
|
|
28
|
+
return false if objects.empty?
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# we have an override for the collected resources
|
|
32
|
+
if @overrides and !objects.empty?
|
|
33
|
+
# force the resource to be always child of any other resource
|
|
34
|
+
overrides[:source].meta_def(:child_of?) do
|
|
35
|
+
true
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# tell the compiler we have some override for him unless we already
|
|
39
|
+
# overrided those resources
|
|
40
|
+
objects.each do |res|
|
|
41
|
+
unless @collected.include?(res.ref)
|
|
42
|
+
newres = Puppet::Parser::Resource.
|
|
43
|
+
new(res.type, res.title,
|
|
44
|
+
:parameters => overrides[:parameters],
|
|
45
|
+
:file => overrides[:file],
|
|
46
|
+
:line => overrides[:line],
|
|
47
|
+
:source => overrides[:source],
|
|
48
|
+
:scope => overrides[:scope])
|
|
49
|
+
|
|
50
|
+
scope.compiler.add_override(newres)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# filter out object that this collector has previously found.
|
|
56
|
+
objects.reject! { |o| @collected.include?(o.ref) }
|
|
57
|
+
|
|
58
|
+
return false if objects.empty?
|
|
59
|
+
|
|
60
|
+
# keep an eye on the resources we have collected
|
|
61
|
+
objects.inject(@collected) { |c,o| c[o.ref]=o; c }
|
|
62
|
+
|
|
63
|
+
# return our newly collected resources
|
|
64
|
+
objects
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def initialize(scope, type, equery, vquery, form)
|
|
68
|
+
@scope = scope
|
|
69
|
+
@vquery = vquery
|
|
70
|
+
@equery = equery
|
|
71
|
+
|
|
72
|
+
# initialisation
|
|
73
|
+
@collected = {}
|
|
74
|
+
|
|
75
|
+
# Canonize the type
|
|
76
|
+
@type = Puppet::Resource.new(type, "whatever").type
|
|
77
|
+
|
|
78
|
+
unless [:exported, :virtual].include?(form)
|
|
79
|
+
raise ArgumentError, "Invalid query form #{form}"
|
|
80
|
+
end
|
|
81
|
+
@form = form
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# add a resource override to the soon to be exported/realized resources
|
|
85
|
+
def add_override(hash)
|
|
86
|
+
raise ArgumentError, "Exported resource try to override without parameters" unless hash[:parameters]
|
|
87
|
+
|
|
88
|
+
# schedule an override for an upcoming collection
|
|
89
|
+
@overrides = hash
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
private
|
|
93
|
+
|
|
94
|
+
# Collect exported objects.
|
|
95
|
+
def collect_exported
|
|
96
|
+
resources = []
|
|
97
|
+
|
|
98
|
+
time = Puppet::Util.thinmark do
|
|
99
|
+
# First get everything from the export table. Just reuse our
|
|
100
|
+
# collect_virtual method but tell it to use 'exported? for the test.
|
|
101
|
+
resources = collect_virtual(true).reject { |r| ! r.virtual? }
|
|
102
|
+
|
|
103
|
+
# key is '#{type}/#{name}', and host and filter.
|
|
104
|
+
found = Puppet::Resource.indirection.
|
|
105
|
+
search(@type, :host => @scope.host, :filter => @equery, :scope => @scope)
|
|
106
|
+
|
|
107
|
+
found_resources = found.map {|x| x.is_a?(Puppet::Parser::Resource) ? x : x.to_resource(@scope)}
|
|
108
|
+
|
|
109
|
+
found_resources.each do |item|
|
|
110
|
+
if existing = @scope.findresource(item.type, item.title)
|
|
111
|
+
unless existing.collector_id == item.collector_id
|
|
112
|
+
# unless this is the one we've already collected
|
|
113
|
+
raise Puppet::ParseError,
|
|
114
|
+
"Another local or imported resource exists with the type and title #{item.ref}"
|
|
115
|
+
end
|
|
116
|
+
else
|
|
117
|
+
item.exported = false
|
|
118
|
+
@scope.compiler.add_resource(@scope, item)
|
|
119
|
+
resources << item
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
scope.debug("Collected %s %s resource%s in %.2f seconds" %
|
|
125
|
+
[resources.length, @type, resources.length == 1 ? "" : "s", time])
|
|
126
|
+
|
|
127
|
+
resources
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
def collect_resources
|
|
131
|
+
@resources = [@resources] unless @resources.is_a?(Array)
|
|
132
|
+
method = "collect_#{form.to_s}_resources"
|
|
133
|
+
send(method)
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
def collect_exported_resources
|
|
137
|
+
raise Puppet::ParseError, "realize() is not yet implemented for exported resources"
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
# Collect resources directly; this is the result of using 'realize',
|
|
141
|
+
# which specifies resources, rather than using a normal collection.
|
|
142
|
+
def collect_virtual_resources
|
|
143
|
+
return [] unless defined?(@resources) and ! @resources.empty?
|
|
144
|
+
result = @resources.dup.collect do |ref|
|
|
145
|
+
if res = @scope.findresource(ref.to_s)
|
|
146
|
+
@resources.delete(ref)
|
|
147
|
+
res
|
|
148
|
+
end
|
|
149
|
+
end.reject { |r| r.nil? }.each do |res|
|
|
150
|
+
res.virtual = false
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# If there are no more resources to find, delete this from the list
|
|
154
|
+
# of collections.
|
|
155
|
+
@scope.compiler.delete_collection(self) if @resources.empty?
|
|
156
|
+
|
|
157
|
+
result
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# Collect just virtual objects, from our local compiler.
|
|
161
|
+
def collect_virtual(exported = false)
|
|
162
|
+
scope.compiler.resources.find_all do |resource|
|
|
163
|
+
resource.type == @type and (exported ? resource.exported? : true) and match?(resource)
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# Does the resource match our tests? We don't yet support tests,
|
|
168
|
+
# so it's always true at the moment.
|
|
169
|
+
def match?(resource)
|
|
170
|
+
if self.vquery
|
|
171
|
+
return self.vquery.call(resource)
|
|
172
|
+
else
|
|
173
|
+
return true
|
|
174
|
+
end
|
|
175
|
+
end
|
|
176
|
+
end
|