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,78 @@
|
|
|
1
|
+
require 'puppet/indirector/terminus'
|
|
2
|
+
require 'puppet/util/ldap/connection'
|
|
3
|
+
|
|
4
|
+
class Puppet::Indirector::Ldap < Puppet::Indirector::Terminus
|
|
5
|
+
# Perform our ldap search and process the result.
|
|
6
|
+
def find(request)
|
|
7
|
+
ldapsearch(search_filter(request.key)) { |entry| return process(entry) } || nil
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# Process the found entry. We assume that we don't just want the
|
|
11
|
+
# ldap object.
|
|
12
|
+
def process(entry)
|
|
13
|
+
raise Puppet::DevError, "The 'process' method has not been overridden for the LDAP terminus for #{self.name}"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Default to all attributes.
|
|
17
|
+
def search_attributes
|
|
18
|
+
nil
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def search_base
|
|
22
|
+
Puppet[:ldapbase]
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# The ldap search filter to use.
|
|
26
|
+
def search_filter(name)
|
|
27
|
+
raise Puppet::DevError, "No search string set for LDAP terminus for #{self.name}"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Find the ldap node, return the class list and parent node specially,
|
|
31
|
+
# and everything else in a parameter hash.
|
|
32
|
+
def ldapsearch(filter)
|
|
33
|
+
raise ArgumentError.new("You must pass a block to ldapsearch") unless block_given?
|
|
34
|
+
|
|
35
|
+
found = false
|
|
36
|
+
count = 0
|
|
37
|
+
|
|
38
|
+
begin
|
|
39
|
+
connection.search(search_base, 2, filter, search_attributes) do |entry|
|
|
40
|
+
found = true
|
|
41
|
+
yield entry
|
|
42
|
+
end
|
|
43
|
+
rescue SystemExit,NoMemoryError
|
|
44
|
+
raise
|
|
45
|
+
rescue Exception => detail
|
|
46
|
+
if count == 0
|
|
47
|
+
# Try reconnecting to ldap if we get an exception and we haven't yet retried.
|
|
48
|
+
count += 1
|
|
49
|
+
@connection = nil
|
|
50
|
+
Puppet.warning "Retrying LDAP connection"
|
|
51
|
+
retry
|
|
52
|
+
else
|
|
53
|
+
error = Puppet::Error.new("LDAP Search failed")
|
|
54
|
+
error.set_backtrace(detail.backtrace)
|
|
55
|
+
raise error
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
found
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# Create an ldap connection.
|
|
63
|
+
def connection
|
|
64
|
+
unless @connection
|
|
65
|
+
raise Puppet::Error, "Could not set up LDAP Connection: Missing ruby/ldap libraries" unless Puppet.features.ldap?
|
|
66
|
+
begin
|
|
67
|
+
conn = Puppet::Util::Ldap::Connection.instance
|
|
68
|
+
conn.start
|
|
69
|
+
@connection = conn.connection
|
|
70
|
+
rescue => detail
|
|
71
|
+
puts detail.backtrace if Puppet[:trace]
|
|
72
|
+
raise Puppet::Error, "Could not connect to LDAP: #{detail}"
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
@connection
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'puppet/indirector/terminus'
|
|
2
|
+
|
|
3
|
+
# Manage a memory-cached list of instances.
|
|
4
|
+
class Puppet::Indirector::Memory < Puppet::Indirector::Terminus
|
|
5
|
+
def initialize
|
|
6
|
+
@instances = {}
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def destroy(request)
|
|
10
|
+
raise ArgumentError.new("Could not find #{request.key} to destroy") unless @instances.include?(request.key)
|
|
11
|
+
@instances.delete(request.key)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def find(request)
|
|
15
|
+
@instances[request.key]
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def save(request)
|
|
19
|
+
@instances[request.key] = request.instance
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
require 'puppet/rails/host'
|
|
2
|
+
require 'puppet/indirector/active_record'
|
|
3
|
+
require 'puppet/node'
|
|
4
|
+
|
|
5
|
+
class Puppet::Node::ActiveRecord < Puppet::Indirector::ActiveRecord
|
|
6
|
+
use_ar_model Puppet::Rails::Host
|
|
7
|
+
|
|
8
|
+
def find(request)
|
|
9
|
+
node = super
|
|
10
|
+
node.fact_merge
|
|
11
|
+
node
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
require 'puppet/node'
|
|
2
|
+
require 'puppet/indirector/exec'
|
|
3
|
+
|
|
4
|
+
class Puppet::Node::Exec < Puppet::Indirector::Exec
|
|
5
|
+
desc "Call an external program to get node information. See
|
|
6
|
+
the [External Nodes](http://docs.puppetlabs.com/guides/external_nodes.html) page for more information."
|
|
7
|
+
include Puppet::Util
|
|
8
|
+
|
|
9
|
+
def command
|
|
10
|
+
command = Puppet[:external_nodes]
|
|
11
|
+
raise ArgumentError, "You must set the 'external_nodes' parameter to use the external node terminus" unless command != "none"
|
|
12
|
+
command.split
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Look for external node definitions.
|
|
16
|
+
def find(request)
|
|
17
|
+
output = super or return nil
|
|
18
|
+
|
|
19
|
+
# Translate the output to ruby.
|
|
20
|
+
result = translate(request.key, output)
|
|
21
|
+
|
|
22
|
+
create_node(request.key, result)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
private
|
|
26
|
+
|
|
27
|
+
# Turn our outputted objects into a Puppet::Node instance.
|
|
28
|
+
def create_node(name, result)
|
|
29
|
+
node = Puppet::Node.new(name)
|
|
30
|
+
set = false
|
|
31
|
+
[:parameters, :classes, :environment].each do |param|
|
|
32
|
+
if value = result[param]
|
|
33
|
+
node.send(param.to_s + "=", value)
|
|
34
|
+
set = true
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
node.fact_merge
|
|
39
|
+
node
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Translate the yaml string into Ruby objects.
|
|
43
|
+
def translate(name, output)
|
|
44
|
+
YAML.load(output).inject({}) do |hash, data|
|
|
45
|
+
case data[0]
|
|
46
|
+
when String
|
|
47
|
+
hash[data[0].intern] = data[1]
|
|
48
|
+
when Symbol
|
|
49
|
+
hash[data[0]] = data[1]
|
|
50
|
+
else
|
|
51
|
+
raise Puppet::Error, "key is a #{data[0].class}, not a string or symbol"
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
hash
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
rescue => detail
|
|
58
|
+
raise Puppet::Error, "Could not load external node results for #{name}: #{detail}"
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
require 'puppet/node'
|
|
2
|
+
require 'puppet/indirector/ldap'
|
|
3
|
+
|
|
4
|
+
class Puppet::Node::Ldap < Puppet::Indirector::Ldap
|
|
5
|
+
desc "Search in LDAP for node configuration information. See
|
|
6
|
+
the [LDAP Nodes](http://projects.puppetlabs.com/projects/puppet/wiki/Ldap_Nodes) page for more information. This will first
|
|
7
|
+
search for whatever the certificate name is, then (if that name
|
|
8
|
+
contains a `.`) for the short name, then `default`."
|
|
9
|
+
|
|
10
|
+
# The attributes that Puppet class information is stored in.
|
|
11
|
+
def class_attributes
|
|
12
|
+
# LAK:NOTE See http://snurl.com/21zf8 [groups_google_com]
|
|
13
|
+
x = Puppet[:ldapclassattrs].split(/\s*,\s*/)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Separate this out so it's relatively atomic. It's tempting to call
|
|
17
|
+
# process instead of name2hash() here, but it ends up being
|
|
18
|
+
# difficult to test because all exceptions get caught by ldapsearch.
|
|
19
|
+
# LAK:NOTE Unfortunately, the ldap support is too stupid to throw anything
|
|
20
|
+
# but LDAP::ResultError, even on bad connections, so we are rough handed
|
|
21
|
+
# with our error handling.
|
|
22
|
+
def name2hash(name)
|
|
23
|
+
info = nil
|
|
24
|
+
ldapsearch(search_filter(name)) { |entry| info = entry2hash(entry) }
|
|
25
|
+
info
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Look for our node in ldap.
|
|
29
|
+
def find(request)
|
|
30
|
+
names = [request.key]
|
|
31
|
+
names << request.key.sub(/\..+/, '') if request.key.include?(".") # we assume it's an fqdn
|
|
32
|
+
names << "default"
|
|
33
|
+
|
|
34
|
+
node = nil
|
|
35
|
+
names.each do |name|
|
|
36
|
+
next unless info = name2hash(name)
|
|
37
|
+
|
|
38
|
+
break if node = info2node(request.key, info)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
node
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Find more than one node. LAK:NOTE This is a bit of a clumsy API, because the 'search'
|
|
45
|
+
# method currently *requires* a key. It seems appropriate in some cases but not others,
|
|
46
|
+
# and I don't really know how to get rid of it as a requirement but allow it when desired.
|
|
47
|
+
def search(request)
|
|
48
|
+
if classes = request.options[:class]
|
|
49
|
+
classes = [classes] unless classes.is_a?(Array)
|
|
50
|
+
filter = "(&(objectclass=puppetClient)(puppetclass=" + classes.join(")(puppetclass=") + "))"
|
|
51
|
+
else
|
|
52
|
+
filter = "(objectclass=puppetClient)"
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
infos = []
|
|
56
|
+
ldapsearch(filter) { |entry| infos << entry2hash(entry, request.options[:fqdn]) }
|
|
57
|
+
|
|
58
|
+
return infos.collect do |info|
|
|
59
|
+
info2node(info[:name], info)
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# The parent attribute, if we have one.
|
|
64
|
+
def parent_attribute
|
|
65
|
+
if pattr = Puppet[:ldapparentattr] and ! pattr.empty?
|
|
66
|
+
pattr
|
|
67
|
+
else
|
|
68
|
+
nil
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# The attributes that Puppet will stack as array over the full
|
|
73
|
+
# hierarchy.
|
|
74
|
+
def stacked_attributes(dummy_argument=:work_arround_for_ruby_GC_bug)
|
|
75
|
+
Puppet[:ldapstackedattrs].split(/\s*,\s*/)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Convert the found entry into a simple hash.
|
|
79
|
+
def entry2hash(entry, fqdn = false)
|
|
80
|
+
result = {}
|
|
81
|
+
|
|
82
|
+
cn = entry.dn[ /cn\s*=\s*([^,\s]+)/i,1]
|
|
83
|
+
dcs = entry.dn.scan(/dc\s*=\s*([^,\s]+)/i)
|
|
84
|
+
result[:name] = fqdn ? ([cn]+dcs).join('.') : cn
|
|
85
|
+
result[:parent] = get_parent_from_entry(entry) if parent_attribute
|
|
86
|
+
result[:classes] = get_classes_from_entry(entry)
|
|
87
|
+
result[:stacked] = get_stacked_values_from_entry(entry)
|
|
88
|
+
result[:parameters] = get_parameters_from_entry(entry)
|
|
89
|
+
|
|
90
|
+
result[:environment] = result[:parameters]["environment"] if result[:parameters]["environment"]
|
|
91
|
+
|
|
92
|
+
result[:stacked_parameters] = {}
|
|
93
|
+
|
|
94
|
+
if result[:stacked]
|
|
95
|
+
result[:stacked].each do |value|
|
|
96
|
+
param = value.split('=', 2)
|
|
97
|
+
result[:stacked_parameters][param[0]] = param[1]
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
if result[:stacked_parameters]
|
|
102
|
+
result[:stacked_parameters].each do |param, value|
|
|
103
|
+
result[:parameters][param] = value unless result[:parameters].include?(param)
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
result[:parameters] = convert_parameters(result[:parameters])
|
|
108
|
+
|
|
109
|
+
result
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
# Default to all attributes.
|
|
113
|
+
def search_attributes
|
|
114
|
+
ldapattrs = Puppet[:ldapattrs]
|
|
115
|
+
|
|
116
|
+
# results in everything getting returned
|
|
117
|
+
return nil if ldapattrs == "all"
|
|
118
|
+
|
|
119
|
+
search_attrs = class_attributes + ldapattrs.split(/\s*,\s*/)
|
|
120
|
+
|
|
121
|
+
if pattr = parent_attribute
|
|
122
|
+
search_attrs << pattr
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
search_attrs
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# The ldap search filter to use.
|
|
129
|
+
def search_filter(name)
|
|
130
|
+
filter = Puppet[:ldapstring]
|
|
131
|
+
|
|
132
|
+
if filter.include? "%s"
|
|
133
|
+
# Don't replace the string in-line, since that would hard-code our node
|
|
134
|
+
# info.
|
|
135
|
+
filter = filter.gsub('%s', name)
|
|
136
|
+
end
|
|
137
|
+
filter
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
private
|
|
141
|
+
|
|
142
|
+
# Add our hash of ldap information to the node instance.
|
|
143
|
+
def add_to_node(node, information)
|
|
144
|
+
node.classes = information[:classes].uniq unless information[:classes].nil? or information[:classes].empty?
|
|
145
|
+
node.parameters = information[:parameters] unless information[:parameters].nil? or information[:parameters].empty?
|
|
146
|
+
node.environment = information[:environment] if information[:environment]
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
def convert_parameters(parameters)
|
|
150
|
+
result = {}
|
|
151
|
+
parameters.each do |param, value|
|
|
152
|
+
if value.is_a?(Array)
|
|
153
|
+
result[param] = value.collect { |v| convert(v) }
|
|
154
|
+
else
|
|
155
|
+
result[param] = convert(value)
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
result
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
# Convert any values if necessary.
|
|
162
|
+
def convert(value)
|
|
163
|
+
case value
|
|
164
|
+
when Integer, Fixnum, Bignum; value
|
|
165
|
+
when "true"; true
|
|
166
|
+
when "false"; false
|
|
167
|
+
else
|
|
168
|
+
value
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# Find information for our parent and merge it into the current info.
|
|
173
|
+
def find_and_merge_parent(parent, information)
|
|
174
|
+
parent_info = name2hash(parent) || raise(Puppet::Error.new("Could not find parent node '#{parent}'"))
|
|
175
|
+
information[:classes] += parent_info[:classes]
|
|
176
|
+
parent_info[:parameters].each do |param, value|
|
|
177
|
+
# Specifically test for whether it's set, so false values are handled correctly.
|
|
178
|
+
information[:parameters][param] = value unless information[:parameters].include?(param)
|
|
179
|
+
end
|
|
180
|
+
information[:environment] ||= parent_info[:environment]
|
|
181
|
+
parent_info[:parent]
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
# Take a name and a hash, and return a node instance.
|
|
185
|
+
def info2node(name, info)
|
|
186
|
+
merge_parent(info) if info[:parent]
|
|
187
|
+
|
|
188
|
+
node = Puppet::Node.new(name)
|
|
189
|
+
|
|
190
|
+
add_to_node(node, info)
|
|
191
|
+
|
|
192
|
+
node.fact_merge
|
|
193
|
+
|
|
194
|
+
node
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
def merge_parent(info)
|
|
198
|
+
parent_info = nil
|
|
199
|
+
parent = info[:parent]
|
|
200
|
+
|
|
201
|
+
# Preload the parent array with the node name.
|
|
202
|
+
parents = [info[:name]]
|
|
203
|
+
while parent
|
|
204
|
+
raise ArgumentError, "Found loop in LDAP node parents; #{parent} appears twice" if parents.include?(parent)
|
|
205
|
+
parents << parent
|
|
206
|
+
parent = find_and_merge_parent(parent, info)
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
info
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
def get_classes_from_entry(entry)
|
|
213
|
+
result = class_attributes.inject([]) do |array, attr|
|
|
214
|
+
if values = entry.vals(attr)
|
|
215
|
+
values.each do |v| array << v end
|
|
216
|
+
end
|
|
217
|
+
array
|
|
218
|
+
end
|
|
219
|
+
result.uniq
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
def get_parameters_from_entry(entry)
|
|
223
|
+
stacked_params = stacked_attributes
|
|
224
|
+
entry.to_hash.inject({}) do |hash, ary|
|
|
225
|
+
unless stacked_params.include?(ary[0]) # don't add our stacked parameters to the main param list
|
|
226
|
+
if ary[1].length == 1
|
|
227
|
+
hash[ary[0]] = ary[1].shift
|
|
228
|
+
else
|
|
229
|
+
hash[ary[0]] = ary[1]
|
|
230
|
+
end
|
|
231
|
+
end
|
|
232
|
+
hash
|
|
233
|
+
end
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
def get_parent_from_entry(entry)
|
|
237
|
+
pattr = parent_attribute
|
|
238
|
+
|
|
239
|
+
return nil unless values = entry.vals(pattr)
|
|
240
|
+
|
|
241
|
+
if values.length > 1
|
|
242
|
+
raise Puppet::Error,
|
|
243
|
+
"Node entry #{entry.dn} specifies more than one parent: #{values.inspect}"
|
|
244
|
+
end
|
|
245
|
+
return(values.empty? ? nil : values.shift)
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
def get_stacked_values_from_entry(entry)
|
|
249
|
+
stacked_attributes.inject([]) do |result, attr|
|
|
250
|
+
if values = entry.vals(attr)
|
|
251
|
+
result += values
|
|
252
|
+
end
|
|
253
|
+
result
|
|
254
|
+
end
|
|
255
|
+
end
|
|
256
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
require 'puppet/node'
|
|
2
|
+
require 'puppet/indirector/memory'
|
|
3
|
+
|
|
4
|
+
class Puppet::Node::Memory < Puppet::Indirector::Memory
|
|
5
|
+
desc "Keep track of nodes in memory but nowhere else. This is used for
|
|
6
|
+
one-time compiles, such as what the stand-alone `puppet` does.
|
|
7
|
+
To use this terminus, you must load it with the data you want it
|
|
8
|
+
to contain; it is only useful for developers and should generally not
|
|
9
|
+
be chosen by a normal user."
|
|
10
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
require 'puppet/node'
|
|
2
|
+
require 'puppet/indirector/plain'
|
|
3
|
+
|
|
4
|
+
class Puppet::Node::Plain < Puppet::Indirector::Plain
|
|
5
|
+
desc "Always return an empty node object. Assumes you keep track of nodes
|
|
6
|
+
in flat file manifests. You should use it when you don't have some other,
|
|
7
|
+
functional source you want to use, as the compiler will not work without a
|
|
8
|
+
valid node terminus.
|
|
9
|
+
|
|
10
|
+
Note that class is responsible for merging the node's facts into the
|
|
11
|
+
node instance before it is returned."
|
|
12
|
+
|
|
13
|
+
# Just return an empty node.
|
|
14
|
+
def find(request)
|
|
15
|
+
node = super
|
|
16
|
+
node.fact_merge
|
|
17
|
+
node
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
require 'puppet/indirector/terminus'
|
|
2
|
+
require 'puppet/util/queue'
|
|
3
|
+
require 'puppet/util'
|
|
4
|
+
|
|
5
|
+
# Implements the <tt>:queue</tt> abstract indirector terminus type, for storing
|
|
6
|
+
# model instances to a message queue, presumably for the purpose of out-of-process
|
|
7
|
+
# handling of changes related to the model.
|
|
8
|
+
#
|
|
9
|
+
# Relies upon Puppet::Util::Queue for registry and client object management,
|
|
10
|
+
# and specifies a default queue type of <tt>:stomp</tt>, appropriate for use with a variety of message brokers.
|
|
11
|
+
#
|
|
12
|
+
# It's up to the queue client type to instantiate itself correctly based on Puppet configuration information.
|
|
13
|
+
#
|
|
14
|
+
# A single queue client is maintained for the abstract terminus, meaning that you can only use one type
|
|
15
|
+
# of queue client, one message broker solution, etc., with the indirection mechanism.
|
|
16
|
+
#
|
|
17
|
+
# Per-indirection queues are assumed, based on the indirection name. If the <tt>:catalog</tt> indirection makes
|
|
18
|
+
# use of this <tt>:queue</tt> terminus, queue operations work against the "catalog" queue. It is up to the queue
|
|
19
|
+
# client library to handle queue creation as necessary (for a number of popular queuing solutions, queue
|
|
20
|
+
# creation is automatic and not a concern).
|
|
21
|
+
class Puppet::Indirector::Queue < Puppet::Indirector::Terminus
|
|
22
|
+
extend ::Puppet::Util::Queue
|
|
23
|
+
include Puppet::Util
|
|
24
|
+
|
|
25
|
+
def initialize(*args)
|
|
26
|
+
super
|
|
27
|
+
raise ArgumentError, "Queueing requires pson support" unless Puppet.features.pson?
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Queue has no idiomatic "find"
|
|
31
|
+
def find(request)
|
|
32
|
+
nil
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Place the request on the queue
|
|
36
|
+
def save(request)
|
|
37
|
+
result = nil
|
|
38
|
+
benchmark :info, "Queued #{indirection.name} for #{request.key}" do
|
|
39
|
+
result = client.publish_message(queue, request.instance.render(:pson))
|
|
40
|
+
end
|
|
41
|
+
result
|
|
42
|
+
rescue => detail
|
|
43
|
+
raise Puppet::Error, "Could not write #{request.key} to queue: #{detail}\nInstance::#{request.instance}\n client : #{client}"
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def self.queue
|
|
47
|
+
indirection_name
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def queue
|
|
51
|
+
self.class.queue
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# Returns the singleton queue client object.
|
|
55
|
+
def client
|
|
56
|
+
self.class.client
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# converts the _message_ from deserialized format to an actual model instance.
|
|
60
|
+
def self.intern(message)
|
|
61
|
+
result = nil
|
|
62
|
+
benchmark :info, "Loaded queued #{indirection.name}" do
|
|
63
|
+
result = model.convert_from(:pson, message)
|
|
64
|
+
end
|
|
65
|
+
result
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# Provides queue subscription functionality; for a given indirection, use this method on the terminus
|
|
69
|
+
# to subscribe to the indirection-specific queue. Your _block_ will be executed per new indirection
|
|
70
|
+
# model received from the queue, with _obj_ being the model instance.
|
|
71
|
+
def self.subscribe
|
|
72
|
+
client.subscribe(queue) do |msg|
|
|
73
|
+
begin
|
|
74
|
+
yield(self.intern(msg))
|
|
75
|
+
rescue => detail
|
|
76
|
+
puts detail.backtrace if Puppet[:trace]
|
|
77
|
+
Puppet.err "Error occured with subscription to queue #{queue} for indirection #{indirection_name}: #{detail}"
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
require 'puppet/transaction/report'
|
|
2
|
+
require 'puppet/indirector/code'
|
|
3
|
+
require 'puppet/reports'
|
|
4
|
+
|
|
5
|
+
class Puppet::Transaction::Report::Processor < Puppet::Indirector::Code
|
|
6
|
+
desc "Puppet's report processor. Processes the report with each of
|
|
7
|
+
the report types listed in the 'reports' setting."
|
|
8
|
+
|
|
9
|
+
def initialize
|
|
10
|
+
Puppet.settings.use(:main, :reporting, :metrics)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def save(request)
|
|
14
|
+
process(request.instance)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def destroy(request)
|
|
18
|
+
processors do |mod|
|
|
19
|
+
mod.destroy(request.key) if mod.respond_to?(:destroy)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
private
|
|
24
|
+
|
|
25
|
+
# Process the report with each of the configured report types.
|
|
26
|
+
# LAK:NOTE This isn't necessarily the best design, but it's backward
|
|
27
|
+
# compatible and that's good enough for now.
|
|
28
|
+
def process(report)
|
|
29
|
+
Puppet.debug "Received report to process from #{report.host}"
|
|
30
|
+
processors do |mod|
|
|
31
|
+
Puppet.debug "Processing report from #{report.host} with processor #{mod}"
|
|
32
|
+
# We have to use a dup because we're including a module in the
|
|
33
|
+
# report.
|
|
34
|
+
newrep = report.dup
|
|
35
|
+
begin
|
|
36
|
+
newrep.extend(mod)
|
|
37
|
+
newrep.process
|
|
38
|
+
rescue => detail
|
|
39
|
+
puts detail.backtrace if Puppet[:trace]
|
|
40
|
+
Puppet.err "Report #{name} failed: #{detail}"
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Handle the parsing of the reports attribute.
|
|
46
|
+
def reports
|
|
47
|
+
# LAK:NOTE See http://snurl.com/21zf8 [groups_google_com]
|
|
48
|
+
x = Puppet[:reports].gsub(/(^\s+)|(\s+$)/, '').split(/\s*,\s*/)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def processors(&blk)
|
|
52
|
+
return if Puppet[:reports] == "none"
|
|
53
|
+
reports.each do |name|
|
|
54
|
+
if mod = Puppet::Reports.report(name)
|
|
55
|
+
yield(mod)
|
|
56
|
+
else
|
|
57
|
+
Puppet.warning "No report named '#{name}'"
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
require 'puppet/transaction/report'
|
|
2
|
+
require 'puppet/indirector/yaml'
|
|
3
|
+
|
|
4
|
+
class Puppet::Transaction::Report::Yaml < Puppet::Indirector::Yaml
|
|
5
|
+
desc "Store last report as a flat file, serialized using YAML."
|
|
6
|
+
|
|
7
|
+
# Force report to be saved there
|
|
8
|
+
def path(name,ext='.yaml')
|
|
9
|
+
Puppet[:lastrunreport]
|
|
10
|
+
end
|
|
11
|
+
end
|