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,476 @@
|
|
|
1
|
+
require 'puppet/node'
|
|
2
|
+
require 'puppet/resource/catalog'
|
|
3
|
+
require 'puppet/util/errors'
|
|
4
|
+
|
|
5
|
+
require 'puppet/resource/type_collection_helper'
|
|
6
|
+
|
|
7
|
+
# Maintain a graph of scopes, along with a bunch of data
|
|
8
|
+
# about the individual catalog we're compiling.
|
|
9
|
+
class Puppet::Parser::Compiler
|
|
10
|
+
include Puppet::Util
|
|
11
|
+
include Puppet::Util::Errors
|
|
12
|
+
include Puppet::Resource::TypeCollectionHelper
|
|
13
|
+
|
|
14
|
+
def self.compile(node)
|
|
15
|
+
# We get these from the environment and only cache them in a thread
|
|
16
|
+
# variable for the duration of the compilation. If nothing else is using
|
|
17
|
+
# the thread, though, we can leave 'em hanging round with no ill effects,
|
|
18
|
+
# and this is safer than cleaning them at the end and assuming that will
|
|
19
|
+
# stick until the next entry to this function.
|
|
20
|
+
Thread.current[:known_resource_types] = nil
|
|
21
|
+
Thread.current[:env_module_directories] = nil
|
|
22
|
+
|
|
23
|
+
# ...and we actually do the compile now we have caching ready.
|
|
24
|
+
new(node).compile.to_resource
|
|
25
|
+
rescue => detail
|
|
26
|
+
puts detail.backtrace if Puppet[:trace]
|
|
27
|
+
raise Puppet::Error, "#{detail} on node #{node.name}"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
attr_reader :node, :facts, :collections, :catalog, :resources, :relationships, :topscope
|
|
31
|
+
|
|
32
|
+
# Add a collection to the global list.
|
|
33
|
+
def add_collection(coll)
|
|
34
|
+
@collections << coll
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def add_relationship(dep)
|
|
38
|
+
@relationships << dep
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Store a resource override.
|
|
42
|
+
def add_override(override)
|
|
43
|
+
# If possible, merge the override in immediately.
|
|
44
|
+
if resource = @catalog.resource(override.ref)
|
|
45
|
+
resource.merge(override)
|
|
46
|
+
else
|
|
47
|
+
# Otherwise, store the override for later; these
|
|
48
|
+
# get evaluated in Resource#finish.
|
|
49
|
+
@resource_overrides[override.ref] << override
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Store a resource in our resource table.
|
|
54
|
+
def add_resource(scope, resource)
|
|
55
|
+
@resources << resource
|
|
56
|
+
|
|
57
|
+
# Note that this will fail if the resource is not unique.
|
|
58
|
+
@catalog.add_resource(resource)
|
|
59
|
+
|
|
60
|
+
if resource.type.to_s.downcase != "class" && resource[:stage]
|
|
61
|
+
raise ArgumentError, "Only classes can set 'stage'; normal resources like #{resource} cannot change run stage"
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Stages should not be inside of classes. They are always a
|
|
65
|
+
# top-level container, regardless of where they appear in the
|
|
66
|
+
# manifest.
|
|
67
|
+
return if resource.type.to_s.downcase == "stage"
|
|
68
|
+
|
|
69
|
+
# This adds a resource to the class it lexically appears in in the
|
|
70
|
+
# manifest.
|
|
71
|
+
if resource.type.to_s.downcase != "class"
|
|
72
|
+
return @catalog.add_edge(scope.resource, resource)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# Do we use nodes found in the code, vs. the external node sources?
|
|
77
|
+
def ast_nodes?
|
|
78
|
+
known_resource_types.nodes?
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Store the fact that we've evaluated a class
|
|
82
|
+
def add_class(name)
|
|
83
|
+
@catalog.add_class(name) unless name == ""
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
# Return a list of all of the defined classes.
|
|
88
|
+
def classlist
|
|
89
|
+
@catalog.classes
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# Compiler our catalog. This mostly revolves around finding and evaluating classes.
|
|
93
|
+
# This is the main entry into our catalog.
|
|
94
|
+
def compile
|
|
95
|
+
# Set the client's parameters into the top scope.
|
|
96
|
+
set_node_parameters
|
|
97
|
+
create_settings_scope
|
|
98
|
+
|
|
99
|
+
evaluate_main
|
|
100
|
+
|
|
101
|
+
evaluate_ast_node
|
|
102
|
+
|
|
103
|
+
evaluate_node_classes
|
|
104
|
+
|
|
105
|
+
evaluate_generators
|
|
106
|
+
|
|
107
|
+
finish
|
|
108
|
+
|
|
109
|
+
fail_on_unevaluated
|
|
110
|
+
|
|
111
|
+
@catalog
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# LAK:FIXME There are no tests for this.
|
|
115
|
+
def delete_collection(coll)
|
|
116
|
+
@collections.delete(coll) if @collections.include?(coll)
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# Return the node's environment.
|
|
120
|
+
def environment
|
|
121
|
+
unless defined?(@environment)
|
|
122
|
+
@environment = (node.environment and node.environment != "") ? node.environment : nil
|
|
123
|
+
end
|
|
124
|
+
Puppet::Node::Environment.current = @environment
|
|
125
|
+
@environment
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# Evaluate all of the classes specified by the node.
|
|
129
|
+
def evaluate_node_classes
|
|
130
|
+
evaluate_classes(@node.classes, @node_scope || topscope)
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
# Evaluate each specified class in turn. If there are any classes we can't
|
|
134
|
+
# find, raise an error. This method really just creates resource objects
|
|
135
|
+
# that point back to the classes, and then the resources are themselves
|
|
136
|
+
# evaluated later in the process.
|
|
137
|
+
def evaluate_classes(classes, scope, lazy_evaluate = true)
|
|
138
|
+
raise Puppet::DevError, "No source for scope passed to evaluate_classes" unless scope.source
|
|
139
|
+
param_classes = nil
|
|
140
|
+
# if we are a param class, save the classes hash
|
|
141
|
+
# and transform classes to be the keys
|
|
142
|
+
if classes.class == Hash
|
|
143
|
+
param_classes = classes
|
|
144
|
+
classes = classes.keys
|
|
145
|
+
end
|
|
146
|
+
classes.each do |name|
|
|
147
|
+
# If we can find the class, then make a resource that will evaluate it.
|
|
148
|
+
if klass = scope.find_hostclass(name)
|
|
149
|
+
|
|
150
|
+
if param_classes
|
|
151
|
+
resource = klass.ensure_in_catalog(scope, param_classes[name] || {})
|
|
152
|
+
else
|
|
153
|
+
next if scope.class_scope(klass)
|
|
154
|
+
resource = klass.ensure_in_catalog(scope)
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
# If they've disabled lazy evaluation (which the :include function does),
|
|
158
|
+
# then evaluate our resource immediately.
|
|
159
|
+
resource.evaluate unless lazy_evaluate
|
|
160
|
+
else
|
|
161
|
+
raise Puppet::Error, "Could not find class #{name} for #{node.name}"
|
|
162
|
+
end
|
|
163
|
+
end
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
def evaluate_relationships
|
|
167
|
+
@relationships.each { |rel| rel.evaluate(catalog) }
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
# Return a resource by either its ref or its type and title.
|
|
171
|
+
def findresource(*args)
|
|
172
|
+
@catalog.resource(*args)
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
def initialize(node, options = {})
|
|
176
|
+
@node = node
|
|
177
|
+
|
|
178
|
+
options.each do |param, value|
|
|
179
|
+
begin
|
|
180
|
+
send(param.to_s + "=", value)
|
|
181
|
+
rescue NoMethodError
|
|
182
|
+
raise ArgumentError, "Compiler objects do not accept #{param}"
|
|
183
|
+
end
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
initvars
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
# Create a new scope, with either a specified parent scope or
|
|
190
|
+
# using the top scope.
|
|
191
|
+
def newscope(parent, options = {})
|
|
192
|
+
parent ||= topscope
|
|
193
|
+
options[:compiler] = self
|
|
194
|
+
scope = Puppet::Parser::Scope.new(options)
|
|
195
|
+
scope.parent = parent
|
|
196
|
+
scope
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
# Return any overrides for the given resource.
|
|
200
|
+
def resource_overrides(resource)
|
|
201
|
+
@resource_overrides[resource.ref]
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
private
|
|
205
|
+
|
|
206
|
+
# If ast nodes are enabled, then see if we can find and evaluate one.
|
|
207
|
+
def evaluate_ast_node
|
|
208
|
+
return unless ast_nodes?
|
|
209
|
+
|
|
210
|
+
# Now see if we can find the node.
|
|
211
|
+
astnode = nil
|
|
212
|
+
@node.names.each do |name|
|
|
213
|
+
break if astnode = known_resource_types.node(name.to_s.downcase)
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
unless (astnode ||= known_resource_types.node("default"))
|
|
217
|
+
raise Puppet::ParseError, "Could not find default node or by name with '#{node.names.join(", ")}'"
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
# Create a resource to model this node, and then add it to the list
|
|
221
|
+
# of resources.
|
|
222
|
+
resource = astnode.ensure_in_catalog(topscope)
|
|
223
|
+
|
|
224
|
+
resource.evaluate
|
|
225
|
+
|
|
226
|
+
@node_scope = topscope.class_scope(astnode)
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
# Evaluate our collections and return true if anything returned an object.
|
|
230
|
+
# The 'true' is used to continue a loop, so it's important.
|
|
231
|
+
def evaluate_collections
|
|
232
|
+
return false if @collections.empty?
|
|
233
|
+
|
|
234
|
+
found_something = false
|
|
235
|
+
exceptwrap do
|
|
236
|
+
# We have to iterate over a dup of the array because
|
|
237
|
+
# collections can delete themselves from the list, which
|
|
238
|
+
# changes its length and causes some collections to get missed.
|
|
239
|
+
@collections.dup.each do |collection|
|
|
240
|
+
found_something = true if collection.evaluate
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
found_something
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
# Make sure all of our resources have been evaluated into native resources.
|
|
248
|
+
# We return true if any resources have, so that we know to continue the
|
|
249
|
+
# evaluate_generators loop.
|
|
250
|
+
def evaluate_definitions
|
|
251
|
+
exceptwrap do
|
|
252
|
+
!unevaluated_resources.each { |resource| resource.evaluate }.empty?
|
|
253
|
+
end
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
# Iterate over collections and resources until we're sure that the whole
|
|
257
|
+
# compile is evaluated. This is necessary because both collections
|
|
258
|
+
# and defined resources can generate new resources, which themselves could
|
|
259
|
+
# be defined resources.
|
|
260
|
+
def evaluate_generators
|
|
261
|
+
count = 0
|
|
262
|
+
loop do
|
|
263
|
+
done = true
|
|
264
|
+
|
|
265
|
+
# Call collections first, then definitions.
|
|
266
|
+
done = false if evaluate_collections
|
|
267
|
+
done = false if evaluate_definitions
|
|
268
|
+
break if done
|
|
269
|
+
|
|
270
|
+
count += 1
|
|
271
|
+
|
|
272
|
+
if count > 1000
|
|
273
|
+
raise Puppet::ParseError, "Somehow looped more than 1000 times while evaluating host catalog"
|
|
274
|
+
end
|
|
275
|
+
end
|
|
276
|
+
end
|
|
277
|
+
|
|
278
|
+
# Find and evaluate our main object, if possible.
|
|
279
|
+
def evaluate_main
|
|
280
|
+
@main = known_resource_types.find_hostclass([""], "") || known_resource_types.add(Puppet::Resource::Type.new(:hostclass, ""))
|
|
281
|
+
@topscope.source = @main
|
|
282
|
+
@main_resource = Puppet::Parser::Resource.new("class", :main, :scope => @topscope, :source => @main)
|
|
283
|
+
@topscope.resource = @main_resource
|
|
284
|
+
|
|
285
|
+
add_resource(@topscope, @main_resource)
|
|
286
|
+
|
|
287
|
+
@main_resource.evaluate
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
# Make sure the entire catalog is evaluated.
|
|
291
|
+
def fail_on_unevaluated
|
|
292
|
+
fail_on_unevaluated_overrides
|
|
293
|
+
fail_on_unevaluated_resource_collections
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
# If there are any resource overrides remaining, then we could
|
|
297
|
+
# not find the resource they were supposed to override, so we
|
|
298
|
+
# want to throw an exception.
|
|
299
|
+
def fail_on_unevaluated_overrides
|
|
300
|
+
remaining = []
|
|
301
|
+
@resource_overrides.each do |name, overrides|
|
|
302
|
+
remaining.concat overrides
|
|
303
|
+
end
|
|
304
|
+
|
|
305
|
+
unless remaining.empty?
|
|
306
|
+
fail Puppet::ParseError,
|
|
307
|
+
"Could not find resource(s) %s for overriding" % remaining.collect { |o|
|
|
308
|
+
o.ref
|
|
309
|
+
}.join(", ")
|
|
310
|
+
end
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
# Make sure we don't have any remaining collections that specifically
|
|
314
|
+
# look for resources, because we want to consider those to be
|
|
315
|
+
# parse errors.
|
|
316
|
+
def fail_on_unevaluated_resource_collections
|
|
317
|
+
remaining = []
|
|
318
|
+
@collections.each do |coll|
|
|
319
|
+
# We're only interested in the 'resource' collections,
|
|
320
|
+
# which result from direct calls of 'realize'. Anything
|
|
321
|
+
# else is allowed not to return resources.
|
|
322
|
+
# Collect all of them, so we have a useful error.
|
|
323
|
+
if r = coll.resources
|
|
324
|
+
if r.is_a?(Array)
|
|
325
|
+
remaining += r
|
|
326
|
+
else
|
|
327
|
+
remaining << r
|
|
328
|
+
end
|
|
329
|
+
end
|
|
330
|
+
end
|
|
331
|
+
|
|
332
|
+
raise Puppet::ParseError, "Failed to realize virtual resources #{remaining.join(', ')}" unless remaining.empty?
|
|
333
|
+
end
|
|
334
|
+
|
|
335
|
+
# Make sure all of our resources and such have done any last work
|
|
336
|
+
# necessary.
|
|
337
|
+
def finish
|
|
338
|
+
evaluate_relationships
|
|
339
|
+
|
|
340
|
+
resources.each do |resource|
|
|
341
|
+
# Add in any resource overrides.
|
|
342
|
+
if overrides = resource_overrides(resource)
|
|
343
|
+
overrides.each do |over|
|
|
344
|
+
resource.merge(over)
|
|
345
|
+
end
|
|
346
|
+
|
|
347
|
+
# Remove the overrides, so that the configuration knows there
|
|
348
|
+
# are none left.
|
|
349
|
+
overrides.clear
|
|
350
|
+
end
|
|
351
|
+
|
|
352
|
+
resource.finish if resource.respond_to?(:finish)
|
|
353
|
+
end
|
|
354
|
+
|
|
355
|
+
add_resource_metaparams
|
|
356
|
+
end
|
|
357
|
+
|
|
358
|
+
def add_resource_metaparams
|
|
359
|
+
unless main = catalog.resource(:class, :main)
|
|
360
|
+
raise "Couldn't find main"
|
|
361
|
+
end
|
|
362
|
+
|
|
363
|
+
names = []
|
|
364
|
+
Puppet::Type.eachmetaparam do |name|
|
|
365
|
+
next if Puppet::Parser::Resource.relationship_parameter?(name)
|
|
366
|
+
names << name
|
|
367
|
+
end
|
|
368
|
+
|
|
369
|
+
data = {}
|
|
370
|
+
catalog.walk(main, :out) do |source, target|
|
|
371
|
+
if source_data = data[source] || metaparams_as_data(source, names)
|
|
372
|
+
# only store anything in the data hash if we've actually got
|
|
373
|
+
# data
|
|
374
|
+
data[source] ||= source_data
|
|
375
|
+
source_data.each do |param, value|
|
|
376
|
+
target[param] = value if target[param].nil?
|
|
377
|
+
end
|
|
378
|
+
data[target] = source_data.merge(metaparams_as_data(target, names))
|
|
379
|
+
end
|
|
380
|
+
|
|
381
|
+
target.tag(*(source.tags))
|
|
382
|
+
end
|
|
383
|
+
end
|
|
384
|
+
|
|
385
|
+
def metaparams_as_data(resource, params)
|
|
386
|
+
data = nil
|
|
387
|
+
params.each do |param|
|
|
388
|
+
unless resource[param].nil?
|
|
389
|
+
# Because we could be creating a hash for every resource,
|
|
390
|
+
# and we actually probably don't often have any data here at all,
|
|
391
|
+
# we're optimizing a bit by only creating a hash if there's
|
|
392
|
+
# any data to put in it.
|
|
393
|
+
data ||= {}
|
|
394
|
+
data[param] = resource[param]
|
|
395
|
+
end
|
|
396
|
+
end
|
|
397
|
+
data
|
|
398
|
+
end
|
|
399
|
+
|
|
400
|
+
# Set up all of our internal variables.
|
|
401
|
+
def initvars
|
|
402
|
+
# The list of objects that will available for export.
|
|
403
|
+
@exported_resources = {}
|
|
404
|
+
|
|
405
|
+
# The list of overrides. This is used to cache overrides on objects
|
|
406
|
+
# that don't exist yet. We store an array of each override.
|
|
407
|
+
@resource_overrides = Hash.new do |overs, ref|
|
|
408
|
+
overs[ref] = []
|
|
409
|
+
end
|
|
410
|
+
|
|
411
|
+
# The list of collections that have been created. This is a global list,
|
|
412
|
+
# but they each refer back to the scope that created them.
|
|
413
|
+
@collections = []
|
|
414
|
+
|
|
415
|
+
# The list of relationships to evaluate.
|
|
416
|
+
@relationships = []
|
|
417
|
+
|
|
418
|
+
# For maintaining the relationship between scopes and their resources.
|
|
419
|
+
@catalog = Puppet::Resource::Catalog.new(@node.name)
|
|
420
|
+
@catalog.version = known_resource_types.version
|
|
421
|
+
|
|
422
|
+
# Create our initial scope and a resource that will evaluate main.
|
|
423
|
+
@topscope = Puppet::Parser::Scope.new(:compiler => self)
|
|
424
|
+
|
|
425
|
+
@main_stage_resource = Puppet::Parser::Resource.new("stage", :main, :scope => @topscope)
|
|
426
|
+
@catalog.add_resource(@main_stage_resource)
|
|
427
|
+
|
|
428
|
+
# local resource array to maintain resource ordering
|
|
429
|
+
@resources = []
|
|
430
|
+
|
|
431
|
+
# Make sure any external node classes are in our class list
|
|
432
|
+
if @node.classes.class == Hash
|
|
433
|
+
@catalog.add_class(*@node.classes.keys)
|
|
434
|
+
else
|
|
435
|
+
@catalog.add_class(*@node.classes)
|
|
436
|
+
end
|
|
437
|
+
end
|
|
438
|
+
|
|
439
|
+
# Set the node's parameters into the top-scope as variables.
|
|
440
|
+
def set_node_parameters
|
|
441
|
+
node.parameters.each do |param, value|
|
|
442
|
+
@topscope.setvar(param, value)
|
|
443
|
+
end
|
|
444
|
+
|
|
445
|
+
# These might be nil.
|
|
446
|
+
catalog.client_version = node.parameters["clientversion"]
|
|
447
|
+
catalog.server_version = node.parameters["serverversion"]
|
|
448
|
+
end
|
|
449
|
+
|
|
450
|
+
def create_settings_scope
|
|
451
|
+
unless settings_type = environment.known_resource_types.hostclass("settings")
|
|
452
|
+
settings_type = Puppet::Resource::Type.new :hostclass, "settings"
|
|
453
|
+
environment.known_resource_types.add(settings_type)
|
|
454
|
+
end
|
|
455
|
+
|
|
456
|
+
settings_resource = Puppet::Parser::Resource.new("class", "settings", :scope => @topscope)
|
|
457
|
+
|
|
458
|
+
@catalog.add_resource(settings_resource)
|
|
459
|
+
|
|
460
|
+
settings_type.evaluate_code(settings_resource)
|
|
461
|
+
|
|
462
|
+
scope = @topscope.class_scope(settings_type)
|
|
463
|
+
|
|
464
|
+
Puppet.settings.each do |name, setting|
|
|
465
|
+
next if name.to_s == "name"
|
|
466
|
+
scope.setvar name.to_s, environment[name]
|
|
467
|
+
end
|
|
468
|
+
end
|
|
469
|
+
|
|
470
|
+
# Return an array of all of the unevaluated resources. These will be definitions,
|
|
471
|
+
# which need to get evaluated into native resources.
|
|
472
|
+
def unevaluated_resources
|
|
473
|
+
# The order of these is significant for speed due to short-circuting
|
|
474
|
+
resources.reject { |resource| resource.evaluated? or resource.virtual? or resource.builtin_type? }
|
|
475
|
+
end
|
|
476
|
+
end
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
require 'puppet/module'
|
|
2
|
+
require 'puppet/parser/parser'
|
|
3
|
+
|
|
4
|
+
# This is a silly central module for finding
|
|
5
|
+
# different kinds of files while parsing. This code
|
|
6
|
+
# doesn't really belong in the Puppet::Module class,
|
|
7
|
+
# but it doesn't really belong anywhere else, either.
|
|
8
|
+
module Puppet::Parser::Files
|
|
9
|
+
module_function
|
|
10
|
+
|
|
11
|
+
# Return a list of manifests (as absolute filenames) that match +pat+
|
|
12
|
+
# with the current directory set to +cwd+. If the first component of
|
|
13
|
+
# +pat+ does not contain any wildcards and is an existing module, return
|
|
14
|
+
# a list of manifests in that module matching the rest of +pat+
|
|
15
|
+
# Otherwise, try to find manifests matching +pat+ relative to +cwd+
|
|
16
|
+
def find_manifests(start, options = {})
|
|
17
|
+
cwd = options[:cwd] || Dir.getwd
|
|
18
|
+
module_name, pattern = split_file_path(start)
|
|
19
|
+
begin
|
|
20
|
+
if mod = Puppet::Module.find(module_name, options[:environment])
|
|
21
|
+
return [mod.name, mod.match_manifests(pattern)]
|
|
22
|
+
end
|
|
23
|
+
rescue Puppet::Module::InvalidName
|
|
24
|
+
# Than that would be a "no."
|
|
25
|
+
end
|
|
26
|
+
abspat = File::expand_path(start, cwd)
|
|
27
|
+
[nil, Dir.glob(abspat + (File.extname(abspat).empty? ? '{.pp,.rb}' : '' )).uniq.reject { |f| FileTest.directory?(f) }]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Find the concrete file denoted by +file+. If +file+ is absolute,
|
|
31
|
+
# return it directly. Otherwise try to find it as a template in a
|
|
32
|
+
# module. If that fails, return it relative to the +templatedir+ config
|
|
33
|
+
# param.
|
|
34
|
+
# In all cases, an absolute path is returned, which does not
|
|
35
|
+
# necessarily refer to an existing file
|
|
36
|
+
def find_template(template, environment = nil)
|
|
37
|
+
if template == File.expand_path(template)
|
|
38
|
+
return template
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
if template_paths = templatepath(environment)
|
|
42
|
+
# If we can find the template in :templatedir, we return that.
|
|
43
|
+
template_paths.collect { |path|
|
|
44
|
+
File::join(path, template)
|
|
45
|
+
}.each do |f|
|
|
46
|
+
return f if FileTest.exist?(f)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# check in the default template dir, if there is one
|
|
51
|
+
if td_file = find_template_in_module(template, environment)
|
|
52
|
+
return td_file
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
nil
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def find_template_in_module(template, environment = nil)
|
|
59
|
+
path, file = split_file_path(template)
|
|
60
|
+
|
|
61
|
+
# Because templates don't have an assumed template name, like manifests do,
|
|
62
|
+
# we treat templates with no name as being templates in the main template
|
|
63
|
+
# directory.
|
|
64
|
+
return nil unless file
|
|
65
|
+
|
|
66
|
+
if mod = Puppet::Module.find(path, environment) and t = mod.template(file)
|
|
67
|
+
return t
|
|
68
|
+
end
|
|
69
|
+
nil
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Return an array of paths by splitting the +templatedir+ config
|
|
73
|
+
# parameter.
|
|
74
|
+
def templatepath(environment = nil)
|
|
75
|
+
dirs = Puppet.settings.value(:templatedir, environment).split(File::PATH_SEPARATOR)
|
|
76
|
+
dirs.select do |p|
|
|
77
|
+
File::directory?(p)
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Split the path into the module and the rest of the path, or return
|
|
82
|
+
# nil if the path is empty or absolute (starts with a /).
|
|
83
|
+
# This method can return nil & anyone calling it needs to handle that.
|
|
84
|
+
def split_file_path(path)
|
|
85
|
+
path.split(File::SEPARATOR, 2) unless path == "" or Puppet::Util.absolute_path?(path)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
Puppet::Parser::Functions::newfunction(:create_resources, :doc => <<-'ENDHEREDOC') do |args|
|
|
2
|
+
Converts a hash into a set of resources and adds them to the catalog.
|
|
3
|
+
|
|
4
|
+
This function takes two mandatory arguments: a resource type, and a hash describing
|
|
5
|
+
a set of resources. The hash should be in the form `{title => {parameters} }`:
|
|
6
|
+
|
|
7
|
+
# A hash of user resources:
|
|
8
|
+
$myusers = {
|
|
9
|
+
'nick' => { uid => '1330',
|
|
10
|
+
group => allstaff,
|
|
11
|
+
groups => ['developers', 'operations', 'release'], }
|
|
12
|
+
'dan' => { uid => '1308',
|
|
13
|
+
group => allstaff,
|
|
14
|
+
groups => ['developers', 'prosvc', 'release'], }
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
create_resources(user, $myusers)
|
|
18
|
+
|
|
19
|
+
A third, optional parameter may be given, also as a hash:
|
|
20
|
+
|
|
21
|
+
$defaults = {
|
|
22
|
+
'ensure' => present,
|
|
23
|
+
'provider' => 'ldap',
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
create_resources(user, $myusers, $defaults)
|
|
27
|
+
|
|
28
|
+
The values given on the third argument are added to the parameters of each resource
|
|
29
|
+
present in the set given on the second argument. If a parameter is present on both
|
|
30
|
+
the second and third arguments, the one on the second argument takes precedence.
|
|
31
|
+
|
|
32
|
+
This function can be used to create defined resources and classes, as well
|
|
33
|
+
as native resources.
|
|
34
|
+
ENDHEREDOC
|
|
35
|
+
raise ArgumentError, ("create_resources(): wrong number of arguments (#{args.length}; must be 2 or 3)") if args.length < 2 || args.length > 3
|
|
36
|
+
|
|
37
|
+
# figure out what kind of resource we are
|
|
38
|
+
type_of_resource = nil
|
|
39
|
+
type_name = args[0].downcase
|
|
40
|
+
if type_name == 'class'
|
|
41
|
+
type_of_resource = :class
|
|
42
|
+
else
|
|
43
|
+
if resource = Puppet::Type.type(type_name.to_sym)
|
|
44
|
+
type_of_resource = :type
|
|
45
|
+
elsif resource = find_definition(type_name.downcase)
|
|
46
|
+
type_of_resource = :define
|
|
47
|
+
else
|
|
48
|
+
raise ArgumentError, "could not create resource of unknown type #{type_name}"
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
# iterate through the resources to create
|
|
52
|
+
defaults = args[2] || {}
|
|
53
|
+
args[1].each do |title, params|
|
|
54
|
+
params = Puppet::Util.symbolizehash(defaults.merge(params))
|
|
55
|
+
raise ArgumentError, 'params should not contain title' if(params[:title])
|
|
56
|
+
case type_of_resource
|
|
57
|
+
# JJM The only difference between a type and a define is the call to instantiate_resource
|
|
58
|
+
# for a defined type.
|
|
59
|
+
when :type, :define
|
|
60
|
+
p_resource = Puppet::Parser::Resource.new(type_name, title, :scope => self, :source => resource)
|
|
61
|
+
{:name => title}.merge(params).each do |k,v|
|
|
62
|
+
p_resource.set_parameter(k,v)
|
|
63
|
+
end
|
|
64
|
+
if type_of_resource == :define then
|
|
65
|
+
resource.instantiate_resource(self, p_resource)
|
|
66
|
+
end
|
|
67
|
+
compiler.add_resource(self, p_resource)
|
|
68
|
+
when :class
|
|
69
|
+
klass = find_hostclass(title)
|
|
70
|
+
raise ArgumentError, "could not find hostclass #{title}" unless klass
|
|
71
|
+
klass.ensure_in_catalog(self, params)
|
|
72
|
+
compiler.catalog.add_class(title)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Test whether a given class or definition is defined
|
|
2
|
+
Puppet::Parser::Functions::newfunction(:defined, :type => :rvalue, :doc => "Determine whether
|
|
3
|
+
a given class or resource type is defined. This function can also determine whether a
|
|
4
|
+
specific resource has been declared. Returns true or false. Accepts class names,
|
|
5
|
+
type names, and resource references.
|
|
6
|
+
|
|
7
|
+
The `defined` function checks both native and defined types, including types
|
|
8
|
+
provided as plugins via modules. Types and classes are both checked using their names:
|
|
9
|
+
|
|
10
|
+
defined(\"file\")
|
|
11
|
+
defined(\"customtype\")
|
|
12
|
+
defined(\"foo\")
|
|
13
|
+
defined(\"foo::bar\")
|
|
14
|
+
|
|
15
|
+
Resource declarations are checked using resource references, e.g.
|
|
16
|
+
`defined( File['/tmp/myfile'] )`. Checking whether a given resource
|
|
17
|
+
has been declared is, unfortunately, dependent on the parse order of
|
|
18
|
+
the configuration, and the following code will not work:
|
|
19
|
+
|
|
20
|
+
if defined(File['/tmp/foo']) {
|
|
21
|
+
notify(\"This configuration includes the /tmp/foo file.\")
|
|
22
|
+
}
|
|
23
|
+
file {\"/tmp/foo\":
|
|
24
|
+
ensure => present,
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
However, this order requirement refers to parse order only, and ordering of
|
|
28
|
+
resources in the configuration graph (e.g. with `before` or `require`) does not
|
|
29
|
+
affect the behavior of `defined`.") do |vals|
|
|
30
|
+
result = false
|
|
31
|
+
vals = [vals] unless vals.is_a?(Array)
|
|
32
|
+
vals.each do |val|
|
|
33
|
+
case val
|
|
34
|
+
when String
|
|
35
|
+
if Puppet::Type.type(val) or find_definition(val) or find_hostclass(val)
|
|
36
|
+
result = true
|
|
37
|
+
break
|
|
38
|
+
end
|
|
39
|
+
when Puppet::Resource
|
|
40
|
+
if findresource(val.to_s)
|
|
41
|
+
result = true
|
|
42
|
+
break
|
|
43
|
+
end
|
|
44
|
+
else
|
|
45
|
+
raise ArgumentError, "Invalid argument of type '#{val.class}' to 'defined'"
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
result
|
|
49
|
+
end
|