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,53 @@
|
|
|
1
|
+
require 'puppet/indirector/face'
|
|
2
|
+
|
|
3
|
+
Puppet::Indirector::Face.define(:status, '0.0.1') do
|
|
4
|
+
copyright "Puppet Labs", 2011
|
|
5
|
+
license "Apache 2 license; see COPYING"
|
|
6
|
+
|
|
7
|
+
summary "View puppet server status."
|
|
8
|
+
|
|
9
|
+
get_action(:destroy).summary "Invalid for this subcommand."
|
|
10
|
+
get_action(:save).summary "Invalid for this subcommand."
|
|
11
|
+
get_action(:save).description "Invalid for this subcommand."
|
|
12
|
+
get_action(:search).summary "Invalid for this subcommand."
|
|
13
|
+
|
|
14
|
+
find = get_action(:find)
|
|
15
|
+
find.default = true
|
|
16
|
+
find.summary "Check status of puppet master server."
|
|
17
|
+
find.arguments "<dummy_text>"
|
|
18
|
+
find.returns <<-'EOT'
|
|
19
|
+
A "true" response or a low-level connection error. When used from the Ruby
|
|
20
|
+
API: returns a Puppet::Status object.
|
|
21
|
+
EOT
|
|
22
|
+
find.description <<-'EOT'
|
|
23
|
+
Checks whether a Puppet server is properly receiving and processing
|
|
24
|
+
HTTP requests. This action is only useful when used with '--terminus
|
|
25
|
+
rest'; when invoked with the `local` terminus, `find` will always
|
|
26
|
+
return true.
|
|
27
|
+
|
|
28
|
+
Over REST, this action will query the configured puppet master by default.
|
|
29
|
+
To query other servers, including puppet agent nodes started with the
|
|
30
|
+
<--listen> option, you can set set the global <--server> and <--masterport>
|
|
31
|
+
options on the command line; note that agent nodes listen on port 8139.
|
|
32
|
+
EOT
|
|
33
|
+
find.short_description <<-EOT
|
|
34
|
+
Checks whether a Puppet server is properly receiving and processing HTTP
|
|
35
|
+
requests. Due to a known bug, this action requires a dummy argument, the
|
|
36
|
+
content of which is irrelevant. This action is only useful when used with
|
|
37
|
+
'--terminus rest', and will always return true when invoked locally.
|
|
38
|
+
EOT
|
|
39
|
+
find.notes <<-'EOT'
|
|
40
|
+
This action requires that the server's `auth.conf` file allow find
|
|
41
|
+
access to the `status` REST terminus. Puppet agent does not use this
|
|
42
|
+
facility, and it is turned off by default. See
|
|
43
|
+
<http://docs.puppetlabs.com/guides/rest_auth_conf.html> for more details.
|
|
44
|
+
|
|
45
|
+
Although this action always returns an unnamed status object, it requires a
|
|
46
|
+
dummy argument. This is a known bug.
|
|
47
|
+
EOT
|
|
48
|
+
find.examples <<-'EOT'
|
|
49
|
+
Check the status of the configured puppet master:
|
|
50
|
+
|
|
51
|
+
$ puppet status find x --terminus rest
|
|
52
|
+
EOT
|
|
53
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# The public name of this feature is 'face', but we have hidden all the
|
|
2
|
+
# plumbing over in the 'interfaces' namespace to make clear the distinction
|
|
3
|
+
# between the two.
|
|
4
|
+
#
|
|
5
|
+
# This file exists to ensure that the public name is usable without revealing
|
|
6
|
+
# the details of the implementation; you really only need go look at anything
|
|
7
|
+
# under Interfaces if you are looking to extend the implementation.
|
|
8
|
+
#
|
|
9
|
+
# It isn't hidden to gratuitously hide things, just to make it easier to
|
|
10
|
+
# separate out the interests people will have. --daniel 2011-04-07
|
|
11
|
+
require 'puppet/interface'
|
|
12
|
+
Puppet::Face = Puppet::Interface
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
require 'puppet/util/feature'
|
|
2
|
+
|
|
3
|
+
# Add the simple features, all in one file.
|
|
4
|
+
|
|
5
|
+
# Order is important as some features depend on others
|
|
6
|
+
|
|
7
|
+
# We have a syslog implementation
|
|
8
|
+
Puppet.features.add(:syslog, :libs => ["syslog"])
|
|
9
|
+
|
|
10
|
+
# We can use POSIX user functions
|
|
11
|
+
Puppet.features.add(:posix) do
|
|
12
|
+
require 'etc'
|
|
13
|
+
Etc.getpwuid(0) != nil && Puppet.features.syslog?
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# We can use Microsoft Windows functions
|
|
17
|
+
Puppet.features.add(:microsoft_windows) do
|
|
18
|
+
begin
|
|
19
|
+
require 'sys/admin'
|
|
20
|
+
require 'win32/process'
|
|
21
|
+
require 'win32/dir'
|
|
22
|
+
require 'win32/service'
|
|
23
|
+
require 'win32ole'
|
|
24
|
+
require 'win32/api'
|
|
25
|
+
require 'win32/taskscheduler'
|
|
26
|
+
require 'puppet/util/windows/security'
|
|
27
|
+
true
|
|
28
|
+
rescue LoadError => err
|
|
29
|
+
warn "Cannot run on Microsoft Windows without the sys-admin, win32-process, win32-dir, win32-service and win32-taskscheduler gems: #{err}" unless Puppet.features.posix?
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
raise Puppet::Error,"Cannot determine basic system flavour" unless Puppet.features.posix? or Puppet.features.microsoft_windows?
|
|
34
|
+
|
|
35
|
+
# We've got LDAP available.
|
|
36
|
+
Puppet.features.add(:ldap, :libs => ["ldap"])
|
|
37
|
+
|
|
38
|
+
# We have the Rdoc::Usage library.
|
|
39
|
+
Puppet.features.add(:usage, :libs => %w{rdoc/ri/ri_paths rdoc/usage})
|
|
40
|
+
|
|
41
|
+
# We have libshadow, useful for managing passwords.
|
|
42
|
+
Puppet.features.add(:libshadow, :libs => ["shadow"])
|
|
43
|
+
|
|
44
|
+
# We're running as root.
|
|
45
|
+
Puppet.features.add(:root) { require 'puppet/util/suidmanager'; Puppet::Util::SUIDManager.root? }
|
|
46
|
+
|
|
47
|
+
# We've got mongrel available
|
|
48
|
+
Puppet.features.add(:mongrel, :libs => %w{rubygems mongrel puppet/network/http_server/mongrel})
|
|
49
|
+
|
|
50
|
+
# We have lcs diff
|
|
51
|
+
Puppet.features.add :diff, :libs => %w{diff/lcs diff/lcs/hunk}
|
|
52
|
+
|
|
53
|
+
# We have augeas
|
|
54
|
+
Puppet.features.add(:augeas, :libs => ["augeas"])
|
|
55
|
+
|
|
56
|
+
# We have RRD available
|
|
57
|
+
Puppet.features.add(:rrd_legacy, :libs => ["RRDtool"])
|
|
58
|
+
Puppet.features.add(:rrd, :libs => ["RRD"])
|
|
59
|
+
|
|
60
|
+
# We have OpenSSL
|
|
61
|
+
Puppet.features.add(:openssl, :libs => ["openssl"])
|
|
62
|
+
|
|
63
|
+
# We have CouchDB
|
|
64
|
+
Puppet.features.add(:couchdb, :libs => ["couchrest"])
|
|
65
|
+
|
|
66
|
+
# We have sqlite
|
|
67
|
+
Puppet.features.add(:sqlite, :libs => ["sqlite3"])
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require 'puppet/util/feature'
|
|
2
|
+
|
|
3
|
+
# See if we have rack available, an HTTP Application Stack
|
|
4
|
+
# Explicitly depend on rack library version >= 1.0.0
|
|
5
|
+
Puppet.features.add(:rack) do
|
|
6
|
+
begin
|
|
7
|
+
require 'rack'
|
|
8
|
+
rescue LoadError => detail
|
|
9
|
+
require 'rubygems'
|
|
10
|
+
require 'rack'
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
if ! (defined?(::Rack) and defined?(::Rack.release))
|
|
14
|
+
false
|
|
15
|
+
else
|
|
16
|
+
major_version = ::Rack.release.split('.')[0].to_i
|
|
17
|
+
if major_version >= 1
|
|
18
|
+
true
|
|
19
|
+
else
|
|
20
|
+
false
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
require 'puppet/util/feature'
|
|
2
|
+
|
|
3
|
+
Puppet.features.rubygems?
|
|
4
|
+
|
|
5
|
+
Puppet.features.add(:rails) do
|
|
6
|
+
begin
|
|
7
|
+
require 'active_record'
|
|
8
|
+
require 'active_record/version'
|
|
9
|
+
rescue LoadError => detail
|
|
10
|
+
if FileTest.exists?("/usr/share/rails")
|
|
11
|
+
count = 0
|
|
12
|
+
Dir.entries("/usr/share/rails").each do |dir|
|
|
13
|
+
libdir = File.join("/usr/share/rails", dir, "lib")
|
|
14
|
+
if FileTest.exists?(libdir) and ! $LOAD_PATH.include?(libdir)
|
|
15
|
+
count += 1
|
|
16
|
+
$LOAD_PATH << libdir
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
retry if count > 0
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
unless (Puppet::Util.activerecord_version >= 2.1)
|
|
25
|
+
Puppet.info "ActiveRecord 2.1 or later required for StoreConfigs"
|
|
26
|
+
false
|
|
27
|
+
else
|
|
28
|
+
true
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
require 'pathname'
|
|
2
|
+
require 'puppet/file_bucket'
|
|
3
|
+
require 'puppet/file_bucket/file'
|
|
4
|
+
require 'puppet/indirector/request'
|
|
5
|
+
|
|
6
|
+
class Puppet::FileBucket::Dipper
|
|
7
|
+
# This is a transitional implementation that uses REST
|
|
8
|
+
# to access remote filebucket files.
|
|
9
|
+
|
|
10
|
+
attr_accessor :name
|
|
11
|
+
|
|
12
|
+
# Create our bucket client
|
|
13
|
+
def initialize(hash = {})
|
|
14
|
+
# Emulate the XMLRPC client
|
|
15
|
+
server = hash[:Server]
|
|
16
|
+
port = hash[:Port] || Puppet[:masterport]
|
|
17
|
+
environment = Puppet[:environment]
|
|
18
|
+
|
|
19
|
+
if hash.include?(:Path)
|
|
20
|
+
@local_path = hash[:Path]
|
|
21
|
+
@rest_path = nil
|
|
22
|
+
else
|
|
23
|
+
@local_path = nil
|
|
24
|
+
@rest_path = "https://#{server}:#{port}/#{environment}/file_bucket_file/"
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def local?
|
|
29
|
+
!! @local_path
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Back up a file to our bucket
|
|
33
|
+
def backup(file)
|
|
34
|
+
raise(ArgumentError, "File #{file} does not exist") unless ::File.exist?(file)
|
|
35
|
+
contents = IO.binread(file)
|
|
36
|
+
begin
|
|
37
|
+
file_bucket_file = Puppet::FileBucket::File.new(contents, :bucket_path => @local_path)
|
|
38
|
+
files_original_path = absolutize_path(file)
|
|
39
|
+
dest_path = "#{@rest_path}#{file_bucket_file.name}/#{files_original_path}"
|
|
40
|
+
file_bucket_path = "#{@rest_path}#{file_bucket_file.checksum_type}/#{file_bucket_file.checksum_data}/#{files_original_path}"
|
|
41
|
+
|
|
42
|
+
# Make a HEAD request for the file so that we don't waste time
|
|
43
|
+
# uploading it if it already exists in the bucket.
|
|
44
|
+
unless Puppet::FileBucket::File.indirection.head(file_bucket_path)
|
|
45
|
+
Puppet::FileBucket::File.indirection.save(file_bucket_file, dest_path)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
return file_bucket_file.checksum_data
|
|
49
|
+
rescue => detail
|
|
50
|
+
puts detail.backtrace if Puppet[:trace]
|
|
51
|
+
raise Puppet::Error, "Could not back up #{file}: #{detail}"
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Retrieve a file by sum.
|
|
56
|
+
def getfile(sum)
|
|
57
|
+
source_path = "#{@rest_path}md5/#{sum}"
|
|
58
|
+
file_bucket_file = Puppet::FileBucket::File.indirection.find(source_path, :bucket_path => @local_path)
|
|
59
|
+
|
|
60
|
+
raise Puppet::Error, "File not found" unless file_bucket_file
|
|
61
|
+
file_bucket_file.to_s
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Restore the file
|
|
65
|
+
def restore(file,sum)
|
|
66
|
+
restore = true
|
|
67
|
+
if FileTest.exists?(file)
|
|
68
|
+
cursum = Digest::MD5.hexdigest(IO.binread(file))
|
|
69
|
+
|
|
70
|
+
# if the checksum has changed...
|
|
71
|
+
# this might be extra effort
|
|
72
|
+
if cursum == sum
|
|
73
|
+
restore = false
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
if restore
|
|
78
|
+
if newcontents = getfile(sum)
|
|
79
|
+
tmp = ""
|
|
80
|
+
newsum = Digest::MD5.hexdigest(newcontents)
|
|
81
|
+
changed = nil
|
|
82
|
+
if FileTest.exists?(file) and ! FileTest.writable?(file)
|
|
83
|
+
changed = ::File.stat(file).mode
|
|
84
|
+
::File.chmod(changed | 0200, file)
|
|
85
|
+
end
|
|
86
|
+
::File.open(file, ::File::WRONLY|::File::TRUNC|::File::CREAT) { |of|
|
|
87
|
+
of.binmode
|
|
88
|
+
of.print(newcontents)
|
|
89
|
+
}
|
|
90
|
+
::File.chmod(changed, file) if changed
|
|
91
|
+
else
|
|
92
|
+
Puppet.err "Could not find file with checksum #{sum}"
|
|
93
|
+
return nil
|
|
94
|
+
end
|
|
95
|
+
return newsum
|
|
96
|
+
else
|
|
97
|
+
return nil
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
private
|
|
102
|
+
def absolutize_path( path )
|
|
103
|
+
Pathname.new(path).realpath
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
end
|
|
107
|
+
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
require 'puppet/file_bucket'
|
|
2
|
+
require 'puppet/indirector'
|
|
3
|
+
require 'puppet/util/checksums'
|
|
4
|
+
require 'digest/md5'
|
|
5
|
+
|
|
6
|
+
class Puppet::FileBucket::File
|
|
7
|
+
# This class handles the abstract notion of a file in a filebucket.
|
|
8
|
+
# There are mechanisms to save and load this file locally and remotely in puppet/indirector/filebucketfile/*
|
|
9
|
+
# There is a compatibility class that emulates pre-indirector filebuckets in Puppet::FileBucket::Dipper
|
|
10
|
+
extend Puppet::Indirector
|
|
11
|
+
indirects :file_bucket_file, :terminus_class => :selector
|
|
12
|
+
|
|
13
|
+
attr :contents
|
|
14
|
+
attr :bucket_path
|
|
15
|
+
|
|
16
|
+
def initialize(contents, options = {})
|
|
17
|
+
raise ArgumentError.new("contents must be a String, got a #{contents.class}") unless contents.is_a?(String)
|
|
18
|
+
@contents = contents
|
|
19
|
+
|
|
20
|
+
@bucket_path = options.delete(:bucket_path)
|
|
21
|
+
raise ArgumentError.new("Unknown option(s): #{options.keys.join(', ')}") unless options.empty?
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def checksum_type
|
|
25
|
+
'md5'
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def checksum
|
|
29
|
+
"{#{checksum_type}}#{checksum_data}"
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def checksum_data
|
|
33
|
+
@checksum_data ||= Digest::MD5.hexdigest(contents)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def to_s
|
|
37
|
+
contents
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def name
|
|
41
|
+
"#{checksum_type}/#{checksum_data}"
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def self.from_s(contents)
|
|
45
|
+
self.new(contents)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def to_pson
|
|
49
|
+
{ "contents" => contents }.to_pson
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def self.from_pson(pson)
|
|
53
|
+
self.new(pson["contents"])
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
require 'puppet/file_collection'
|
|
2
|
+
|
|
3
|
+
module Puppet::FileCollection::Lookup
|
|
4
|
+
# Yeah, this is all the external interface that was added to the folks who
|
|
5
|
+
# included this really was. Thankfully.
|
|
6
|
+
#
|
|
7
|
+
# See the comments in `puppet/file_collection.rb` for the annotated version,
|
|
8
|
+
# or just port your code away from this by adding the accessors on your own.
|
|
9
|
+
attr_accessor :line, :file
|
|
10
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# This was a simple way to turn file names into singletons,
|
|
2
|
+
#
|
|
3
|
+
# The theory was, like:
|
|
4
|
+
# 1. Turn filenames into singletons.
|
|
5
|
+
# 2. ????
|
|
6
|
+
# 3. Huge memory savings!
|
|
7
|
+
#
|
|
8
|
+
# In practice it used several MB more memory overall, and it cost more CPU
|
|
9
|
+
# time, and it added complexity to the code. Which was awesome.
|
|
10
|
+
#
|
|
11
|
+
# So, I gutted it. It doesn't do anything any more, but we retain the
|
|
12
|
+
# external form that people included so that they don't explode so much.
|
|
13
|
+
#
|
|
14
|
+
# This should be removed from the system after a graceful deprecation period,
|
|
15
|
+
# probably about the time that a version of Puppet containing this change is
|
|
16
|
+
# the last supported version. --daniel 2012-07-17
|
|
17
|
+
class Puppet::FileCollection
|
|
18
|
+
require 'puppet/file_collection/lookup'
|
|
19
|
+
end
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
require 'puppet/file_serving'
|
|
2
|
+
require 'puppet/util'
|
|
3
|
+
|
|
4
|
+
# The base class for Content and Metadata; provides common
|
|
5
|
+
# functionality like the behaviour around links.
|
|
6
|
+
class Puppet::FileServing::Base
|
|
7
|
+
# This is for external consumers to store the source that was used
|
|
8
|
+
# to retrieve the metadata.
|
|
9
|
+
attr_accessor :source
|
|
10
|
+
|
|
11
|
+
# Does our file exist?
|
|
12
|
+
def exist?
|
|
13
|
+
stat
|
|
14
|
+
return true
|
|
15
|
+
rescue => detail
|
|
16
|
+
return false
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Return the full path to our file. Fails if there's no path set.
|
|
20
|
+
def full_path(dummy_argument=:work_arround_for_ruby_GC_bug)
|
|
21
|
+
(if relative_path.nil? or relative_path == "" or relative_path == "."
|
|
22
|
+
path
|
|
23
|
+
else
|
|
24
|
+
File.join(path, relative_path)
|
|
25
|
+
end).gsub(%r{//+}, "/")
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def initialize(path, options = {})
|
|
29
|
+
self.path = path
|
|
30
|
+
@links = :manage
|
|
31
|
+
|
|
32
|
+
options.each do |param, value|
|
|
33
|
+
begin
|
|
34
|
+
send param.to_s + "=", value
|
|
35
|
+
rescue NoMethodError
|
|
36
|
+
raise ArgumentError, "Invalid option #{param} for #{self.class}"
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Determine how we deal with links.
|
|
42
|
+
attr_reader :links
|
|
43
|
+
def links=(value)
|
|
44
|
+
value = value.to_sym
|
|
45
|
+
value = :manage if value == :ignore
|
|
46
|
+
raise(ArgumentError, ":links can only be set to :manage or :follow") unless [:manage, :follow].include?(value)
|
|
47
|
+
@links = value
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Set our base path.
|
|
51
|
+
attr_reader :path
|
|
52
|
+
def path=(path)
|
|
53
|
+
raise ArgumentError.new("Paths must be fully qualified") unless Puppet::FileServing::Base.absolute?(path)
|
|
54
|
+
@path = path
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Set a relative path; this is used for recursion, and sets
|
|
58
|
+
# the file's path relative to the initial recursion point.
|
|
59
|
+
attr_reader :relative_path
|
|
60
|
+
def relative_path=(path)
|
|
61
|
+
raise ArgumentError.new("Relative paths must not be fully qualified") if Puppet::FileServing::Base.absolute?(path)
|
|
62
|
+
@relative_path = path
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Stat our file, using the appropriate link-sensitive method.
|
|
66
|
+
def stat
|
|
67
|
+
@stat_method ||= self.links == :manage ? :lstat : :stat
|
|
68
|
+
File.send(@stat_method, full_path)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def to_pson_data_hash
|
|
72
|
+
{
|
|
73
|
+
# No 'document_type' since we don't send these bare
|
|
74
|
+
'data' => {
|
|
75
|
+
'path' => @path,
|
|
76
|
+
'relative_path' => @relative_path,
|
|
77
|
+
'links' => @links
|
|
78
|
+
},
|
|
79
|
+
'metadata' => {
|
|
80
|
+
'api_version' => 1
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def self.absolute?(path)
|
|
86
|
+
Puppet::Util.absolute_path?(path, :posix) or (Puppet.features.microsoft_windows? and Puppet::Util.absolute_path?(path, :windows))
|
|
87
|
+
end
|
|
88
|
+
end
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
require 'puppet/file_serving/configuration'
|
|
2
|
+
require 'puppet/util/loadedfile'
|
|
3
|
+
|
|
4
|
+
class Puppet::FileServing::Configuration::Parser < Puppet::Util::LoadedFile
|
|
5
|
+
Mount = Puppet::FileServing::Mount
|
|
6
|
+
MODULES = 'modules'
|
|
7
|
+
|
|
8
|
+
# Parse our configuration file.
|
|
9
|
+
def parse
|
|
10
|
+
raise("File server configuration #{self.file} does not exist") unless FileTest.exists?(self.file)
|
|
11
|
+
raise("Cannot read file server configuration #{self.file}") unless FileTest.readable?(self.file)
|
|
12
|
+
|
|
13
|
+
@mounts = {}
|
|
14
|
+
@count = 0
|
|
15
|
+
|
|
16
|
+
File.open(self.file) { |f|
|
|
17
|
+
mount = nil
|
|
18
|
+
f.each_line { |line|
|
|
19
|
+
# Have the count increment at the top, in case we throw exceptions.
|
|
20
|
+
@count += 1
|
|
21
|
+
|
|
22
|
+
case line
|
|
23
|
+
when /^\s*#/; next # skip comments
|
|
24
|
+
when /^\s*$/; next # skip blank lines
|
|
25
|
+
when /\[([-\w]+)\]/
|
|
26
|
+
mount = newmount($1)
|
|
27
|
+
when /^\s*(\w+)\s+(.+?)(\s*#.*)?$/
|
|
28
|
+
var = $1
|
|
29
|
+
value = $2
|
|
30
|
+
value.strip!
|
|
31
|
+
raise(ArgumentError, "Fileserver configuration file does not use '=' as a separator") if value =~ /^=/
|
|
32
|
+
case var
|
|
33
|
+
when "path"
|
|
34
|
+
path(mount, value)
|
|
35
|
+
when "allow"
|
|
36
|
+
allow(mount, value)
|
|
37
|
+
when "deny"
|
|
38
|
+
deny(mount, value)
|
|
39
|
+
else
|
|
40
|
+
raise ArgumentError.new("Invalid argument '#{var}'", @count, file)
|
|
41
|
+
end
|
|
42
|
+
else
|
|
43
|
+
raise ArgumentError.new("Invalid line '#{line.chomp}'", @count, file)
|
|
44
|
+
end
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
validate
|
|
49
|
+
|
|
50
|
+
@mounts
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
private
|
|
54
|
+
|
|
55
|
+
# Allow a given pattern access to a mount.
|
|
56
|
+
def allow(mount, value)
|
|
57
|
+
# LAK:NOTE See http://snurl.com/21zf8 [groups_google_com]
|
|
58
|
+
x = value.split(/\s*,\s*/).each { |val|
|
|
59
|
+
begin
|
|
60
|
+
mount.info "allowing #{val} access"
|
|
61
|
+
mount.allow(val)
|
|
62
|
+
rescue Puppet::AuthStoreError => detail
|
|
63
|
+
raise ArgumentError.new(detail.to_s, @count, file)
|
|
64
|
+
end
|
|
65
|
+
}
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# Deny a given pattern access to a mount.
|
|
69
|
+
def deny(mount, value)
|
|
70
|
+
# LAK:NOTE See http://snurl.com/21zf8 [groups_google_com]
|
|
71
|
+
x = value.split(/\s*,\s*/).each { |val|
|
|
72
|
+
begin
|
|
73
|
+
mount.info "denying #{val} access"
|
|
74
|
+
mount.deny(val)
|
|
75
|
+
rescue Puppet::AuthStoreError => detail
|
|
76
|
+
raise ArgumentError.new(detail.to_s, @count, file)
|
|
77
|
+
end
|
|
78
|
+
}
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Create a new mount.
|
|
82
|
+
def newmount(name)
|
|
83
|
+
raise ArgumentError, "#{@mounts[name]} is already mounted at #{name}", @count, file if @mounts.include?(name)
|
|
84
|
+
case name
|
|
85
|
+
when "modules"
|
|
86
|
+
mount = Mount::Modules.new(name)
|
|
87
|
+
when "plugins"
|
|
88
|
+
mount = Mount::Plugins.new(name)
|
|
89
|
+
else
|
|
90
|
+
mount = Mount::File.new(name)
|
|
91
|
+
end
|
|
92
|
+
@mounts[name] = mount
|
|
93
|
+
mount
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# Set the path for a mount.
|
|
97
|
+
def path(mount, value)
|
|
98
|
+
if mount.respond_to?(:path=)
|
|
99
|
+
begin
|
|
100
|
+
mount.path = value
|
|
101
|
+
rescue ArgumentError => detail
|
|
102
|
+
Puppet.err "Removing mount #{mount.name}: #{detail}"
|
|
103
|
+
@mounts.delete(mount.name)
|
|
104
|
+
end
|
|
105
|
+
else
|
|
106
|
+
Puppet.warning "The '#{mount.name}' module can not have a path. Ignoring attempt to set it"
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# Make sure all of our mounts are valid. We have to do this after the fact
|
|
111
|
+
# because details are added over time as the file is parsed.
|
|
112
|
+
def validate
|
|
113
|
+
@mounts.each { |name, mount| mount.validate }
|
|
114
|
+
end
|
|
115
|
+
end
|