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,122 @@
|
|
|
1
|
+
require 'monitor'
|
|
2
|
+
require 'puppet'
|
|
3
|
+
require 'puppet/file_serving'
|
|
4
|
+
require 'puppet/file_serving/mount'
|
|
5
|
+
require 'puppet/file_serving/mount/file'
|
|
6
|
+
require 'puppet/file_serving/mount/modules'
|
|
7
|
+
require 'puppet/file_serving/mount/plugins'
|
|
8
|
+
|
|
9
|
+
class Puppet::FileServing::Configuration
|
|
10
|
+
require 'puppet/file_serving/configuration/parser'
|
|
11
|
+
|
|
12
|
+
extend MonitorMixin
|
|
13
|
+
|
|
14
|
+
def self.configuration
|
|
15
|
+
synchronize do
|
|
16
|
+
@configuration ||= new
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
Mount = Puppet::FileServing::Mount
|
|
21
|
+
|
|
22
|
+
private_class_method :new
|
|
23
|
+
|
|
24
|
+
attr_reader :mounts
|
|
25
|
+
#private :mounts
|
|
26
|
+
|
|
27
|
+
# Find the right mount. Does some shenanigans to support old-style module
|
|
28
|
+
# mounts.
|
|
29
|
+
def find_mount(mount_name, environment)
|
|
30
|
+
# Reparse the configuration if necessary.
|
|
31
|
+
readconfig
|
|
32
|
+
|
|
33
|
+
if mount = mounts[mount_name]
|
|
34
|
+
return mount
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
if environment.module(mount_name)
|
|
38
|
+
Puppet::Util::Warnings.notice_once "DEPRECATION NOTICE: Files found in modules without specifying 'modules' in file path will be deprecated in the next major release. Please fix module '#{mount_name}' when no 0.24.x clients are present"
|
|
39
|
+
return mounts["modules"]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# This can be nil.
|
|
43
|
+
mounts[mount_name]
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def initialize
|
|
47
|
+
@mounts = {}
|
|
48
|
+
@config_file = nil
|
|
49
|
+
|
|
50
|
+
# We don't check to see if the file is modified the first time,
|
|
51
|
+
# because we always want to parse at first.
|
|
52
|
+
readconfig(false)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Is a given mount available?
|
|
56
|
+
def mounted?(name)
|
|
57
|
+
@mounts.include?(name)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Split the path into the separate mount point and path.
|
|
61
|
+
def split_path(request)
|
|
62
|
+
# Reparse the configuration if necessary.
|
|
63
|
+
readconfig
|
|
64
|
+
|
|
65
|
+
mount_name, path = request.key.split(File::Separator, 2)
|
|
66
|
+
|
|
67
|
+
raise(ArgumentError, "Cannot find file: Invalid mount '#{mount_name}'") unless mount_name =~ %r{^[-\w]+$}
|
|
68
|
+
raise(ArgumentError, "Cannot find file: Invalid relative path '#{path}'") if path and path.split('/').include?('..')
|
|
69
|
+
|
|
70
|
+
return nil unless mount = find_mount(mount_name, request.environment)
|
|
71
|
+
if mount.name == "modules" and mount_name != "modules"
|
|
72
|
+
# yay backward-compatibility
|
|
73
|
+
path = "#{mount_name}/#{path}"
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
if path == ""
|
|
77
|
+
path = nil
|
|
78
|
+
elsif path
|
|
79
|
+
# Remove any double slashes that might have occurred
|
|
80
|
+
path = path.gsub(/\/+/, "/")
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
return mount, path
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def umount(name)
|
|
87
|
+
@mounts.delete(name) if @mounts.include? name
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
private
|
|
91
|
+
|
|
92
|
+
def mk_default_mounts
|
|
93
|
+
@mounts["modules"] ||= Mount::Modules.new("modules")
|
|
94
|
+
@mounts["modules"].allow('*') if @mounts["modules"].empty?
|
|
95
|
+
@mounts["plugins"] ||= Mount::Plugins.new("plugins")
|
|
96
|
+
@mounts["plugins"].allow('*') if @mounts["plugins"].empty?
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
# Read the configuration file.
|
|
100
|
+
def readconfig(check = true)
|
|
101
|
+
config = Puppet[:fileserverconfig]
|
|
102
|
+
|
|
103
|
+
return unless FileTest.exists?(config)
|
|
104
|
+
|
|
105
|
+
@parser ||= Puppet::FileServing::Configuration::Parser.new(config)
|
|
106
|
+
|
|
107
|
+
return if check and ! @parser.changed?
|
|
108
|
+
|
|
109
|
+
# Don't assign the mounts hash until we're sure the parsing succeeded.
|
|
110
|
+
begin
|
|
111
|
+
newmounts = @parser.parse
|
|
112
|
+
@mounts = newmounts
|
|
113
|
+
rescue => detail
|
|
114
|
+
puts detail.backtrace if Puppet[:trace]
|
|
115
|
+
Puppet.err "Error parsing fileserver configuration: #{detail}; using old configuration"
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
ensure
|
|
119
|
+
# Make sure we've got our plugins and modules.
|
|
120
|
+
mk_default_mounts
|
|
121
|
+
end
|
|
122
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
require 'puppet/indirector'
|
|
2
|
+
require 'puppet/file_serving'
|
|
3
|
+
require 'puppet/file_serving/base'
|
|
4
|
+
|
|
5
|
+
# A class that handles retrieving file contents.
|
|
6
|
+
# It only reads the file when its content is specifically
|
|
7
|
+
# asked for.
|
|
8
|
+
class Puppet::FileServing::Content < Puppet::FileServing::Base
|
|
9
|
+
extend Puppet::Indirector
|
|
10
|
+
indirects :file_content, :terminus_class => :selector
|
|
11
|
+
|
|
12
|
+
attr_writer :content
|
|
13
|
+
|
|
14
|
+
def self.supported_formats
|
|
15
|
+
[:raw]
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def self.from_raw(content)
|
|
19
|
+
instance = new("/this/is/a/fake/path")
|
|
20
|
+
instance.content = content
|
|
21
|
+
instance
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# BF: we used to fetch the file content here, but this is counter-productive
|
|
25
|
+
# for puppetmaster streaming of file content. So collect just returns itself
|
|
26
|
+
def collect
|
|
27
|
+
return if stat.ftype == "directory"
|
|
28
|
+
self
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Read the content of our file in.
|
|
32
|
+
def content
|
|
33
|
+
unless @content
|
|
34
|
+
# This stat can raise an exception, too.
|
|
35
|
+
raise(ArgumentError, "Cannot read the contents of links unless following links") if stat.ftype == "symlink"
|
|
36
|
+
|
|
37
|
+
@content = IO.binread(full_path)
|
|
38
|
+
end
|
|
39
|
+
@content
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def to_raw
|
|
43
|
+
File.new(full_path, "rb")
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
require 'find'
|
|
2
|
+
require 'puppet/file_serving'
|
|
3
|
+
require 'puppet/file_serving/metadata'
|
|
4
|
+
|
|
5
|
+
# Operate recursively on a path, returning a set of file paths.
|
|
6
|
+
class Puppet::FileServing::Fileset
|
|
7
|
+
attr_reader :path, :ignore, :links
|
|
8
|
+
attr_accessor :recurse, :recurselimit, :checksum_type
|
|
9
|
+
|
|
10
|
+
# Produce a hash of files, with merged so that earlier files
|
|
11
|
+
# with the same postfix win. E.g., /dir1/subfile beats /dir2/subfile.
|
|
12
|
+
# It's a hash because we need to know the relative path of each file,
|
|
13
|
+
# and the base directory.
|
|
14
|
+
# This will probably only ever be used for searching for plugins.
|
|
15
|
+
def self.merge(*filesets)
|
|
16
|
+
result = {}
|
|
17
|
+
|
|
18
|
+
filesets.each do |fileset|
|
|
19
|
+
fileset.files.each do |file|
|
|
20
|
+
result[file] ||= fileset.path
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
result
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Return a list of all files in our fileset. This is different from the
|
|
28
|
+
# normal definition of find in that we support specific levels
|
|
29
|
+
# of recursion, which means we need to know when we're going another
|
|
30
|
+
# level deep, which Find doesn't do.
|
|
31
|
+
def files
|
|
32
|
+
files = perform_recursion
|
|
33
|
+
|
|
34
|
+
# Now strip off the leading path, so each file becomes relative, and remove
|
|
35
|
+
# any slashes that might end up at the beginning of the path.
|
|
36
|
+
result = files.collect { |file| file.sub(%r{^#{Regexp.escape(@path)}/*}, '') }
|
|
37
|
+
|
|
38
|
+
# And add the path itself.
|
|
39
|
+
result.unshift(".")
|
|
40
|
+
|
|
41
|
+
result
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Should we ignore this path?
|
|
45
|
+
def ignore?(path)
|
|
46
|
+
return false if @ignore == [nil]
|
|
47
|
+
|
|
48
|
+
# 'detect' normally returns the found result, whereas we just want true/false.
|
|
49
|
+
! @ignore.detect { |pattern| File.fnmatch?(pattern, path) }.nil?
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def ignore=(values)
|
|
53
|
+
values = [values] unless values.is_a?(Array)
|
|
54
|
+
@ignore = values
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def initialize(path, options = {})
|
|
58
|
+
if Puppet.features.microsoft_windows?
|
|
59
|
+
# REMIND: UNC path
|
|
60
|
+
path = path.chomp(File::SEPARATOR) unless path =~ /^[A-Za-z]:\/$/
|
|
61
|
+
else
|
|
62
|
+
path = path.chomp(File::SEPARATOR) unless path == File::SEPARATOR
|
|
63
|
+
end
|
|
64
|
+
raise ArgumentError.new("Fileset paths must be fully qualified: #{path}") unless Puppet::Util.absolute_path?(path)
|
|
65
|
+
|
|
66
|
+
@path = path
|
|
67
|
+
|
|
68
|
+
# Set our defaults.
|
|
69
|
+
@ignore = []
|
|
70
|
+
@links = :manage
|
|
71
|
+
@recurse = false
|
|
72
|
+
@recurselimit = :infinite
|
|
73
|
+
|
|
74
|
+
if options.is_a?(Puppet::Indirector::Request)
|
|
75
|
+
initialize_from_request(options)
|
|
76
|
+
else
|
|
77
|
+
initialize_from_hash(options)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
raise ArgumentError.new("Fileset paths must exist") unless stat = stat(path)
|
|
81
|
+
raise ArgumentError.new("Fileset recurse parameter must not be a number anymore, please use recurselimit") if @recurse.is_a?(Integer)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def links=(links)
|
|
85
|
+
links = links.to_sym
|
|
86
|
+
raise(ArgumentError, "Invalid :links value '#{links}'") unless [:manage, :follow].include?(links)
|
|
87
|
+
@links = links
|
|
88
|
+
@stat_method = links == :manage ? :lstat : :stat
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# Should we recurse further? This is basically a single
|
|
92
|
+
# place for all of the logic around recursion.
|
|
93
|
+
def recurse?(depth)
|
|
94
|
+
# recurse if told to, and infinite recursion or current depth not at the limit
|
|
95
|
+
self.recurse and (self.recurselimit == :infinite or depth <= self.recurselimit)
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def initialize_from_hash(options)
|
|
99
|
+
options.each do |option, value|
|
|
100
|
+
method = option.to_s + "="
|
|
101
|
+
begin
|
|
102
|
+
send(method, value)
|
|
103
|
+
rescue NoMethodError
|
|
104
|
+
raise ArgumentError, "Invalid option '#{option}'"
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def initialize_from_request(request)
|
|
110
|
+
[:links, :ignore, :recurse, :recurselimit, :checksum_type].each do |param|
|
|
111
|
+
if request.options.include?(param) # use 'include?' so the values can be false
|
|
112
|
+
value = request.options[param]
|
|
113
|
+
elsif request.options.include?(param.to_s)
|
|
114
|
+
value = request.options[param.to_s]
|
|
115
|
+
end
|
|
116
|
+
next if value.nil?
|
|
117
|
+
value = true if value == "true"
|
|
118
|
+
value = false if value == "false"
|
|
119
|
+
value = Integer(value) if value.is_a?(String) and value =~ /^\d+$/
|
|
120
|
+
send(param.to_s + "=", value)
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
private
|
|
125
|
+
|
|
126
|
+
# Pull the recursion logic into one place. It's moderately hairy, and this
|
|
127
|
+
# allows us to keep the hairiness apart from what we do with the files.
|
|
128
|
+
def perform_recursion
|
|
129
|
+
# Start out with just our base directory.
|
|
130
|
+
current_dirs = [@path]
|
|
131
|
+
|
|
132
|
+
next_dirs = []
|
|
133
|
+
|
|
134
|
+
depth = 1
|
|
135
|
+
|
|
136
|
+
result = []
|
|
137
|
+
return result unless recurse?(depth)
|
|
138
|
+
|
|
139
|
+
while dir_path = current_dirs.shift or ((depth += 1) and recurse?(depth) and current_dirs = next_dirs and next_dirs = [] and dir_path = current_dirs.shift)
|
|
140
|
+
next unless stat = stat(dir_path)
|
|
141
|
+
next unless stat.directory?
|
|
142
|
+
|
|
143
|
+
Dir.entries(dir_path).each do |file_path|
|
|
144
|
+
next if [".", ".."].include?(file_path)
|
|
145
|
+
|
|
146
|
+
# Note that this also causes matching directories not
|
|
147
|
+
# to be recursed into.
|
|
148
|
+
next if ignore?(file_path)
|
|
149
|
+
|
|
150
|
+
# Add it to our list of files to return
|
|
151
|
+
result << File.join(dir_path, file_path)
|
|
152
|
+
|
|
153
|
+
# And to our list of files/directories to iterate over.
|
|
154
|
+
next_dirs << File.join(dir_path, file_path)
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
result
|
|
159
|
+
end
|
|
160
|
+
public
|
|
161
|
+
# Stat a given file, using the links-appropriate method.
|
|
162
|
+
def stat(path)
|
|
163
|
+
@stat_method ||= self.links == :manage ? :lstat : :stat
|
|
164
|
+
|
|
165
|
+
begin
|
|
166
|
+
return File.send(@stat_method, path)
|
|
167
|
+
rescue
|
|
168
|
+
# If this happens, it is almost surely because we're
|
|
169
|
+
# trying to manage a link to a file that does not exist.
|
|
170
|
+
return nil
|
|
171
|
+
end
|
|
172
|
+
end
|
|
173
|
+
end
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
require 'puppet'
|
|
2
|
+
require 'puppet/indirector'
|
|
3
|
+
require 'puppet/file_serving'
|
|
4
|
+
require 'puppet/file_serving/base'
|
|
5
|
+
require 'puppet/util/checksums'
|
|
6
|
+
|
|
7
|
+
# A class that handles retrieving file metadata.
|
|
8
|
+
class Puppet::FileServing::Metadata < Puppet::FileServing::Base
|
|
9
|
+
|
|
10
|
+
include Puppet::Util::Checksums
|
|
11
|
+
|
|
12
|
+
extend Puppet::Indirector
|
|
13
|
+
indirects :file_metadata, :terminus_class => :selector
|
|
14
|
+
|
|
15
|
+
attr_reader :path, :owner, :group, :mode, :checksum_type, :checksum, :ftype, :destination
|
|
16
|
+
|
|
17
|
+
PARAM_ORDER = [:mode, :ftype, :owner, :group]
|
|
18
|
+
|
|
19
|
+
def attributes_with_tabs
|
|
20
|
+
raise(ArgumentError, "Cannot manage files of type #{ftype}") unless ['file','directory','link'].include? ftype
|
|
21
|
+
desc = []
|
|
22
|
+
PARAM_ORDER.each { |check|
|
|
23
|
+
check = :ftype if check == :type
|
|
24
|
+
desc << send(check)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
desc << checksum
|
|
28
|
+
desc << @destination rescue nil if ftype == 'link'
|
|
29
|
+
|
|
30
|
+
desc.join("\t")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def checksum_type=(type)
|
|
34
|
+
raise(ArgumentError, "Unsupported checksum type #{type}") unless respond_to?("#{type}_file")
|
|
35
|
+
|
|
36
|
+
@checksum_type = type
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
class MetaStat
|
|
40
|
+
extend Forwardable
|
|
41
|
+
|
|
42
|
+
def initialize(stat)
|
|
43
|
+
@stat = stat
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def_delegator :@stat, :uid, :owner
|
|
47
|
+
def_delegator :@stat, :gid, :group
|
|
48
|
+
def_delegators :@stat, :mode, :ftype
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
class WindowsStat < MetaStat
|
|
52
|
+
if Puppet.features.microsoft_windows?
|
|
53
|
+
require 'puppet/util/windows/security'
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def initialize(stat, path)
|
|
57
|
+
super(stat)
|
|
58
|
+
@path = path
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
{ :owner => 'S-1-5-32-544',
|
|
62
|
+
:group => 'S-1-0-0',
|
|
63
|
+
:mode => 0644
|
|
64
|
+
}.each do |method, default_value|
|
|
65
|
+
define_method method do
|
|
66
|
+
Puppet::Util::Windows::Security.send("get_#{method}", @path) || default_value
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def collect_stat(path)
|
|
72
|
+
stat = stat()
|
|
73
|
+
|
|
74
|
+
if Puppet.features.microsoft_windows?
|
|
75
|
+
WindowsStat.new(stat, path)
|
|
76
|
+
else
|
|
77
|
+
MetaStat.new(stat)
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Retrieve the attributes for this file, relative to a base directory.
|
|
82
|
+
# Note that File.stat raises Errno::ENOENT if the file is absent and this
|
|
83
|
+
# method does not catch that exception.
|
|
84
|
+
def collect
|
|
85
|
+
real_path = full_path
|
|
86
|
+
|
|
87
|
+
stat = collect_stat(real_path)
|
|
88
|
+
@owner = stat.owner
|
|
89
|
+
@group = stat.group
|
|
90
|
+
@ftype = stat.ftype
|
|
91
|
+
|
|
92
|
+
# We have to mask the mode, yay.
|
|
93
|
+
@mode = stat.mode & 007777
|
|
94
|
+
|
|
95
|
+
case stat.ftype
|
|
96
|
+
when "file"
|
|
97
|
+
@checksum = ("{#{@checksum_type}}") + send("#{@checksum_type}_file", real_path).to_s
|
|
98
|
+
when "directory" # Always just timestamp the directory.
|
|
99
|
+
@checksum_type = "ctime"
|
|
100
|
+
@checksum = ("{#{@checksum_type}}") + send("#{@checksum_type}_file", path).to_s
|
|
101
|
+
when "link"
|
|
102
|
+
@destination = File.readlink(real_path)
|
|
103
|
+
@checksum = ("{#{@checksum_type}}") + send("#{@checksum_type}_file", real_path).to_s rescue nil
|
|
104
|
+
else
|
|
105
|
+
raise ArgumentError, "Cannot manage files of type #{stat.ftype}"
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def initialize(path,data={})
|
|
110
|
+
@owner = data.delete('owner')
|
|
111
|
+
@group = data.delete('group')
|
|
112
|
+
@mode = data.delete('mode')
|
|
113
|
+
if checksum = data.delete('checksum')
|
|
114
|
+
@checksum_type = checksum['type']
|
|
115
|
+
@checksum = checksum['value']
|
|
116
|
+
end
|
|
117
|
+
@checksum_type ||= "md5"
|
|
118
|
+
@ftype = data.delete('type')
|
|
119
|
+
@destination = data.delete('destination')
|
|
120
|
+
super(path,data)
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
PSON.register_document_type('FileMetadata',self)
|
|
124
|
+
def to_pson_data_hash
|
|
125
|
+
{
|
|
126
|
+
'document_type' => 'FileMetadata',
|
|
127
|
+
|
|
128
|
+
'data' => super['data'].update(
|
|
129
|
+
{
|
|
130
|
+
'owner' => owner,
|
|
131
|
+
'group' => group,
|
|
132
|
+
'mode' => mode,
|
|
133
|
+
'checksum' => {
|
|
134
|
+
'type' => checksum_type,
|
|
135
|
+
'value' => checksum
|
|
136
|
+
},
|
|
137
|
+
'type' => ftype,
|
|
138
|
+
'destination' => destination,
|
|
139
|
+
|
|
140
|
+
}),
|
|
141
|
+
'metadata' => {
|
|
142
|
+
'api_version' => 1
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
def to_pson(*args)
|
|
148
|
+
to_pson_data_hash.to_pson(*args)
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
def self.from_pson(data)
|
|
152
|
+
new(data.delete('path'), data)
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
end
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
require 'puppet/file_serving/mount'
|
|
2
|
+
|
|
3
|
+
class Puppet::FileServing::Mount::File < Puppet::FileServing::Mount
|
|
4
|
+
def self.localmap
|
|
5
|
+
@localmap ||= {
|
|
6
|
+
"h" => Facter.value("hostname"),
|
|
7
|
+
"H" => [
|
|
8
|
+
Facter.value("hostname"),
|
|
9
|
+
Facter.value("domain")
|
|
10
|
+
].join("."),
|
|
11
|
+
"d" => Facter.value("domain")
|
|
12
|
+
}
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def complete_path(relative_path, node)
|
|
16
|
+
full_path = path(node)
|
|
17
|
+
|
|
18
|
+
raise ArgumentError.new("Mounts without paths are not usable") unless full_path
|
|
19
|
+
|
|
20
|
+
# If there's no relative path name, then we're serving the mount itself.
|
|
21
|
+
return full_path unless relative_path
|
|
22
|
+
|
|
23
|
+
file = ::File.join(full_path, relative_path)
|
|
24
|
+
|
|
25
|
+
if !(FileTest.exist?(file) or FileTest.symlink?(file))
|
|
26
|
+
Puppet.info("File does not exist or is not accessible: #{file}")
|
|
27
|
+
return nil
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
file
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Return an instance of the appropriate class.
|
|
34
|
+
def find(short_file, request)
|
|
35
|
+
complete_path(short_file, request.node)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Return the path as appropriate, expanding as necessary.
|
|
39
|
+
def path(node = nil)
|
|
40
|
+
if expandable?
|
|
41
|
+
return expand(@path, node)
|
|
42
|
+
else
|
|
43
|
+
return @path
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Set the path.
|
|
48
|
+
def path=(path)
|
|
49
|
+
# FIXME: For now, just don't validate paths with replacement
|
|
50
|
+
# patterns in them.
|
|
51
|
+
if path =~ /%./
|
|
52
|
+
# Mark that we're expandable.
|
|
53
|
+
@expandable = true
|
|
54
|
+
else
|
|
55
|
+
raise ArgumentError, "#{path} does not exist or is not a directory" unless FileTest.directory?(path)
|
|
56
|
+
raise ArgumentError, "#{path} is not readable" unless FileTest.readable?(path)
|
|
57
|
+
@expandable = false
|
|
58
|
+
end
|
|
59
|
+
@path = path
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def search(path, request)
|
|
63
|
+
return nil unless path = complete_path(path, request.node)
|
|
64
|
+
[path]
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# Verify our configuration is valid. This should really check to
|
|
68
|
+
# make sure at least someone will be allowed, but, eh.
|
|
69
|
+
def validate
|
|
70
|
+
raise ArgumentError.new("Mounts without paths are not usable") if @path.nil?
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
private
|
|
74
|
+
|
|
75
|
+
# Create a map for a specific node.
|
|
76
|
+
def clientmap(node)
|
|
77
|
+
{
|
|
78
|
+
"h" => node.sub(/\..*$/, ""),
|
|
79
|
+
"H" => node,
|
|
80
|
+
"d" => node.sub(/[^.]+\./, "") # domain name
|
|
81
|
+
}
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# Replace % patterns as appropriate.
|
|
85
|
+
def expand(path, node = nil)
|
|
86
|
+
# This map should probably be moved into a method.
|
|
87
|
+
map = nil
|
|
88
|
+
|
|
89
|
+
if node
|
|
90
|
+
map = clientmap(node)
|
|
91
|
+
else
|
|
92
|
+
Puppet.notice "No client; expanding '#{path}' with local host"
|
|
93
|
+
# Else, use the local information
|
|
94
|
+
map = localmap
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
path.gsub(/%(.)/) do |v|
|
|
98
|
+
key = $1
|
|
99
|
+
if key == "%"
|
|
100
|
+
"%"
|
|
101
|
+
else
|
|
102
|
+
map[key] || v
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# Do we have any patterns in our path, yo?
|
|
108
|
+
def expandable?
|
|
109
|
+
if defined?(@expandable)
|
|
110
|
+
@expandable
|
|
111
|
+
else
|
|
112
|
+
false
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# Cache this manufactured map, since if it's used it's likely
|
|
117
|
+
# to get used a lot.
|
|
118
|
+
def localmap
|
|
119
|
+
self.class.localmap
|
|
120
|
+
end
|
|
121
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require 'puppet/file_serving/mount'
|
|
2
|
+
|
|
3
|
+
# This is the modules-specific mount: it knows how to search through
|
|
4
|
+
# modules for files. Yay.
|
|
5
|
+
class Puppet::FileServing::Mount::Modules < Puppet::FileServing::Mount
|
|
6
|
+
# Return an instance of the appropriate class.
|
|
7
|
+
def find(path, request)
|
|
8
|
+
raise "No module specified" if path.to_s.empty?
|
|
9
|
+
module_name, relative_path = path.split("/", 2)
|
|
10
|
+
return nil unless mod = request.environment.module(module_name)
|
|
11
|
+
|
|
12
|
+
mod.file(relative_path)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def search(path, request)
|
|
16
|
+
if result = find(path, request)
|
|
17
|
+
[result]
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def valid?
|
|
22
|
+
true
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
require 'puppet/file_serving/mount'
|
|
2
|
+
|
|
3
|
+
# Find files in the modules' plugins directories.
|
|
4
|
+
# This is a very strange mount because it merges
|
|
5
|
+
# many directories into one.
|
|
6
|
+
class Puppet::FileServing::Mount::Plugins < Puppet::FileServing::Mount
|
|
7
|
+
# Return an instance of the appropriate class.
|
|
8
|
+
def find(relative_path, request)
|
|
9
|
+
return nil unless mod = request.environment.modules.find { |mod| mod.plugin(relative_path) }
|
|
10
|
+
|
|
11
|
+
path = mod.plugin(relative_path)
|
|
12
|
+
|
|
13
|
+
path
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def search(relative_path, request)
|
|
17
|
+
# We currently only support one kind of search on plugins - return
|
|
18
|
+
# them all.
|
|
19
|
+
paths = request.environment.modules.find_all { |mod| mod.plugins? }.collect { |mod| mod.plugin_directory }
|
|
20
|
+
return(paths.empty? ? nil : paths)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def valid?
|
|
24
|
+
true
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require 'puppet/network/authstore'
|
|
2
|
+
require 'puppet/util/logging'
|
|
3
|
+
require 'puppet/file_serving'
|
|
4
|
+
require 'puppet/file_serving/metadata'
|
|
5
|
+
require 'puppet/file_serving/content'
|
|
6
|
+
|
|
7
|
+
# Broker access to the filesystem, converting local URIs into metadata
|
|
8
|
+
# or content objects.
|
|
9
|
+
class Puppet::FileServing::Mount < Puppet::Network::AuthStore
|
|
10
|
+
include Puppet::Util::Logging
|
|
11
|
+
|
|
12
|
+
attr_reader :name
|
|
13
|
+
|
|
14
|
+
def find(path, options)
|
|
15
|
+
raise NotImplementedError
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Create our object. It must have a name.
|
|
19
|
+
def initialize(name)
|
|
20
|
+
unless name =~ %r{^[-\w]+$}
|
|
21
|
+
raise ArgumentError, "Invalid mount name format '#{name}'"
|
|
22
|
+
end
|
|
23
|
+
@name = name
|
|
24
|
+
|
|
25
|
+
super()
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def search(path, options)
|
|
29
|
+
raise NotImplementedError
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def to_s
|
|
33
|
+
"mount[#{@name}]"
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# A noop.
|
|
37
|
+
def validate
|
|
38
|
+
end
|
|
39
|
+
end
|