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,61 @@
|
|
|
1
|
+
require 'puppet/util'
|
|
2
|
+
require 'puppet/util/logging'
|
|
3
|
+
require 'erb'
|
|
4
|
+
|
|
5
|
+
# A template wrapper that evaluates a template in the
|
|
6
|
+
# context of a resource, allowing the resource attributes
|
|
7
|
+
# to be looked up from within the template.
|
|
8
|
+
# This provides functionality essentially equivalent to
|
|
9
|
+
# the language's template() function. You pass your file
|
|
10
|
+
# path and the resource you want to use into the initialization
|
|
11
|
+
# method, then call result on the instance, and you get back
|
|
12
|
+
# a chunk of text.
|
|
13
|
+
# The resource's parameters are available as instance variables
|
|
14
|
+
# (as opposed to the language, where we use a method_missing trick).
|
|
15
|
+
# For example, say you have a resource that generates a file. You would
|
|
16
|
+
# need to implement the following style of `generate` method:
|
|
17
|
+
#
|
|
18
|
+
# def generate
|
|
19
|
+
# template = Puppet::Util::ResourceTemplate.new("/path/to/template", self)
|
|
20
|
+
#
|
|
21
|
+
# return Puppet::Type.type(:file).new :path => "/my/file",
|
|
22
|
+
# :content => template.evaluate
|
|
23
|
+
# end
|
|
24
|
+
#
|
|
25
|
+
# This generated file gets added to the catalog (which is what `generate` does),
|
|
26
|
+
# and its content is the result of the template. You need to use instance
|
|
27
|
+
# variables in your template, so if your template just needs to have the name
|
|
28
|
+
# of the generating resource, it would just have:
|
|
29
|
+
#
|
|
30
|
+
# <%= @name %>
|
|
31
|
+
#
|
|
32
|
+
# Since the ResourceTemplate class sets as instance variables all of the resource's
|
|
33
|
+
# parameters.
|
|
34
|
+
#
|
|
35
|
+
# Note that this example uses the generating resource as its source of
|
|
36
|
+
# parameters, which is generally most useful, since it allows you to configure
|
|
37
|
+
# the generated resource via the generating resource.
|
|
38
|
+
class Puppet::Util::ResourceTemplate
|
|
39
|
+
include Puppet::Util::Logging
|
|
40
|
+
|
|
41
|
+
def evaluate
|
|
42
|
+
set_resource_variables
|
|
43
|
+
ERB.new(File.read(@file), 0, "-").result(binding)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def initialize(file, resource)
|
|
47
|
+
raise ArgumentError, "Template #{file} does not exist" unless FileTest.exist?(file)
|
|
48
|
+
@file = file
|
|
49
|
+
@resource = resource
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
private
|
|
53
|
+
|
|
54
|
+
def set_resource_variables
|
|
55
|
+
@resource.to_hash.each do |param, value|
|
|
56
|
+
var = "@#{param.to_s}"
|
|
57
|
+
instance_variable_set(var, value)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
module Puppet::Util::RetryAction
|
|
2
|
+
class RetryException < Exception; end
|
|
3
|
+
class RetryException::NoBlockGiven < RetryException; end
|
|
4
|
+
class RetryException::NoRetriesGiven < RetryException;end
|
|
5
|
+
class RetryException::RetriesExceeded < RetryException; end
|
|
6
|
+
|
|
7
|
+
def self.retry_action( parameters = { :retry_exceptions => nil, :retries => nil } )
|
|
8
|
+
# Retry actions for a specified amount of time. This method will allow the final
|
|
9
|
+
# retry to complete even if that extends beyond the timeout period.
|
|
10
|
+
unless block_given?
|
|
11
|
+
raise RetryException::NoBlockGiven
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
raise RetryException::NoRetriesGiven if parameters[:retries].nil?
|
|
15
|
+
parameters[:retry_exceptions] ||= Hash.new
|
|
16
|
+
|
|
17
|
+
start = Time.now
|
|
18
|
+
failures = 0
|
|
19
|
+
|
|
20
|
+
begin
|
|
21
|
+
yield
|
|
22
|
+
rescue Exception => e
|
|
23
|
+
# If we were giving exceptions to catch,
|
|
24
|
+
# catch the excptions we care about and retry.
|
|
25
|
+
# All others fail hard
|
|
26
|
+
|
|
27
|
+
raise RetryException::RetriesExceeded if parameters[:retries] == 0
|
|
28
|
+
|
|
29
|
+
if (not parameters[:retry_exceptions].keys.empty?) and parameters[:retry_exceptions].keys.include?(e.class)
|
|
30
|
+
Puppet.info("Caught exception #{e.class}:#{e}")
|
|
31
|
+
Puppet.info(parameters[:retry_exceptions][e.class])
|
|
32
|
+
elsif (not parameters[:retry_exceptions].keys.empty?)
|
|
33
|
+
# If the exceptions is not in the list of retry_exceptions re-raise.
|
|
34
|
+
raise e
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
failures += 1
|
|
38
|
+
parameters[:retries] -= 1
|
|
39
|
+
|
|
40
|
+
# Increase the amount of time that we sleep after every
|
|
41
|
+
# failed retry attempt.
|
|
42
|
+
sleep (((2 ** failures) -1) * 0.1)
|
|
43
|
+
|
|
44
|
+
retry
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
require 'etc'
|
|
2
|
+
|
|
3
|
+
module Puppet
|
|
4
|
+
module Util
|
|
5
|
+
class RunMode
|
|
6
|
+
def initialize(name)
|
|
7
|
+
@name = name.to_sym
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
@@run_modes = Hash.new {|h, k| h[k] = RunMode.new(k)}
|
|
11
|
+
|
|
12
|
+
attr :name
|
|
13
|
+
|
|
14
|
+
def self.[](name)
|
|
15
|
+
@@run_modes[name]
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def master?
|
|
19
|
+
name == :master
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def agent?
|
|
23
|
+
name == :agent
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def user?
|
|
27
|
+
name == :user
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def conf_dir
|
|
31
|
+
which_dir(
|
|
32
|
+
(Puppet.features.microsoft_windows? ? File.join(Dir::COMMON_APPDATA, "PuppetLabs", "puppet", "etc") : "/etc/puppet"),
|
|
33
|
+
"~/.puppet"
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def var_dir
|
|
38
|
+
which_dir(
|
|
39
|
+
(Puppet.features.microsoft_windows? ? File.join(Dir::COMMON_APPDATA, "PuppetLabs", "puppet", "var") : "/var/lib/puppet"),
|
|
40
|
+
"~/.puppet/var"
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def run_dir
|
|
45
|
+
"$vardir/run"
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def logopts
|
|
49
|
+
if master?
|
|
50
|
+
{
|
|
51
|
+
:default => "$vardir/log",
|
|
52
|
+
:mode => 0750,
|
|
53
|
+
:owner => "service",
|
|
54
|
+
:group => "service",
|
|
55
|
+
:desc => "The Puppet log directory."
|
|
56
|
+
}
|
|
57
|
+
else
|
|
58
|
+
["$vardir/log", "The Puppet log directory."]
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
private
|
|
63
|
+
|
|
64
|
+
def which_dir( global, user )
|
|
65
|
+
#FIXME: we should test if we're user "puppet"
|
|
66
|
+
# there's a comment that suggests that we do that
|
|
67
|
+
# and we currently don't.
|
|
68
|
+
expand_path case
|
|
69
|
+
when name == :master; global
|
|
70
|
+
when Puppet.features.root?; global
|
|
71
|
+
else user
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def expand_path( dir )
|
|
76
|
+
ENV["HOME"] ||= Etc.getpwuid(Process.uid).dir
|
|
77
|
+
File.expand_path(dir)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# Provides utility functions to help interface Puppet to SELinux.
|
|
2
|
+
#
|
|
3
|
+
# This requires the very new SELinux Ruby bindings. These bindings closely
|
|
4
|
+
# mirror the SELinux C library interface.
|
|
5
|
+
#
|
|
6
|
+
# Support for the command line tools is not provided because the performance
|
|
7
|
+
# was abysmal. At this time (2008-11-02) the only distribution providing
|
|
8
|
+
# these Ruby SELinux bindings which I am aware of is Fedora (in libselinux-ruby).
|
|
9
|
+
|
|
10
|
+
Puppet.features.selinux? # check, but continue even if it's not
|
|
11
|
+
|
|
12
|
+
require 'pathname'
|
|
13
|
+
|
|
14
|
+
module Puppet::Util::SELinux
|
|
15
|
+
|
|
16
|
+
def selinux_support?
|
|
17
|
+
return false unless defined?(Selinux)
|
|
18
|
+
if Selinux.is_selinux_enabled == 1
|
|
19
|
+
return true
|
|
20
|
+
end
|
|
21
|
+
false
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Retrieve and return the full context of the file. If we don't have
|
|
25
|
+
# SELinux support or if the SELinux call fails then return nil.
|
|
26
|
+
def get_selinux_current_context(file)
|
|
27
|
+
return nil unless selinux_support?
|
|
28
|
+
retval = Selinux.lgetfilecon(file)
|
|
29
|
+
if retval == -1
|
|
30
|
+
return nil
|
|
31
|
+
end
|
|
32
|
+
retval[1]
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Retrieve and return the default context of the file. If we don't have
|
|
36
|
+
# SELinux support or if the SELinux call fails to file a default then return nil.
|
|
37
|
+
def get_selinux_default_context(file)
|
|
38
|
+
return nil unless selinux_support?
|
|
39
|
+
# If the filesystem has no support for SELinux labels, return a default of nil
|
|
40
|
+
# instead of what matchpathcon would return
|
|
41
|
+
return nil unless selinux_label_support?(file)
|
|
42
|
+
# If the file exists we should pass the mode to matchpathcon for the most specific
|
|
43
|
+
# matching. If not, we can pass a mode of 0.
|
|
44
|
+
begin
|
|
45
|
+
filestat = File.lstat(file)
|
|
46
|
+
mode = filestat.mode
|
|
47
|
+
rescue Errno::ENOENT
|
|
48
|
+
mode = 0
|
|
49
|
+
end
|
|
50
|
+
retval = Selinux.matchpathcon(file, mode)
|
|
51
|
+
if retval == -1
|
|
52
|
+
return nil
|
|
53
|
+
end
|
|
54
|
+
retval[1]
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Take the full SELinux context returned from the tools and parse it
|
|
58
|
+
# out to the three (or four) component parts. Supports :seluser, :selrole,
|
|
59
|
+
# :seltype, and on systems with range support, :selrange.
|
|
60
|
+
def parse_selinux_context(component, context)
|
|
61
|
+
if context.nil? or context == "unlabeled"
|
|
62
|
+
return nil
|
|
63
|
+
end
|
|
64
|
+
unless context =~ /^([a-z0-9_]+):([a-z0-9_]+):([a-zA-Z0-9_]+)(?::([a-zA-Z0-9:,._-]+))?/
|
|
65
|
+
raise Puppet::Error, "Invalid context to parse: #{context}"
|
|
66
|
+
end
|
|
67
|
+
ret = {
|
|
68
|
+
:seluser => $1,
|
|
69
|
+
:selrole => $2,
|
|
70
|
+
:seltype => $3,
|
|
71
|
+
:selrange => $4,
|
|
72
|
+
}
|
|
73
|
+
ret[component]
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# This updates the actual SELinux label on the file. You can update
|
|
77
|
+
# only a single component or update the entire context.
|
|
78
|
+
# The caveat is that since setting a partial context makes no sense the
|
|
79
|
+
# file has to already exist. Puppet (via the File resource) will always
|
|
80
|
+
# just try to set components, even if all values are specified by the manifest.
|
|
81
|
+
# I believe that the OS should always provide at least a fall-through context
|
|
82
|
+
# though on any well-running system.
|
|
83
|
+
def set_selinux_context(file, value, component = false)
|
|
84
|
+
return nil unless selinux_support? && selinux_label_support?(file)
|
|
85
|
+
|
|
86
|
+
if component
|
|
87
|
+
# Must first get existing context to replace a single component
|
|
88
|
+
context = Selinux.lgetfilecon(file)[1]
|
|
89
|
+
if context == -1
|
|
90
|
+
# We can't set partial context components when no context exists
|
|
91
|
+
# unless/until we can find a way to make Puppet call this method
|
|
92
|
+
# once for all selinux file label attributes.
|
|
93
|
+
Puppet.warning "Can't set SELinux context on file unless the file already has some kind of context"
|
|
94
|
+
return nil
|
|
95
|
+
end
|
|
96
|
+
context = context.split(':')
|
|
97
|
+
case component
|
|
98
|
+
when :seluser
|
|
99
|
+
context[0] = value
|
|
100
|
+
when :selrole
|
|
101
|
+
context[1] = value
|
|
102
|
+
when :seltype
|
|
103
|
+
context[2] = value
|
|
104
|
+
when :selrange
|
|
105
|
+
context[3] = value
|
|
106
|
+
else
|
|
107
|
+
raise ArguementError, "set_selinux_context component must be one of :seluser, :selrole, :seltype, or :selrange"
|
|
108
|
+
end
|
|
109
|
+
context = context.join(':')
|
|
110
|
+
else
|
|
111
|
+
context = value
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
retval = Selinux.lsetfilecon(file, context)
|
|
115
|
+
if retval == 0
|
|
116
|
+
return true
|
|
117
|
+
else
|
|
118
|
+
Puppet.warning "Failed to set SELinux context #{context} on #{file}"
|
|
119
|
+
return false
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
# Since this call relies on get_selinux_default_context it also needs a
|
|
124
|
+
# full non-relative path to the file. Fortunately, that seems to be all
|
|
125
|
+
# Puppet uses. This will set the file's SELinux context to the policy's
|
|
126
|
+
# default context (if any) if it differs from the context currently on
|
|
127
|
+
# the file.
|
|
128
|
+
def set_selinux_default_context(file)
|
|
129
|
+
new_context = get_selinux_default_context(file)
|
|
130
|
+
return nil unless new_context
|
|
131
|
+
cur_context = get_selinux_current_context(file)
|
|
132
|
+
if new_context != cur_context
|
|
133
|
+
set_selinux_context(file, new_context)
|
|
134
|
+
return new_context
|
|
135
|
+
end
|
|
136
|
+
nil
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
########################################################################
|
|
140
|
+
# Internal helper methods from here on in, kids. Don't fiddle.
|
|
141
|
+
private
|
|
142
|
+
|
|
143
|
+
# Check filesystem a path resides on for SELinux support against
|
|
144
|
+
# whitelist of known-good filesystems.
|
|
145
|
+
# Returns true if the filesystem can support SELinux labels and
|
|
146
|
+
# false if not.
|
|
147
|
+
def selinux_label_support?(file)
|
|
148
|
+
fstype = find_fs(file)
|
|
149
|
+
return false if fstype.nil?
|
|
150
|
+
filesystems = ['ext2', 'ext3', 'ext4', 'gfs', 'gfs2', 'xfs', 'jfs']
|
|
151
|
+
filesystems.include?(fstype)
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
# Internal helper function to read and parse /proc/mounts
|
|
155
|
+
def read_mounts
|
|
156
|
+
mounts = ""
|
|
157
|
+
begin
|
|
158
|
+
if File.method_defined? "read_nonblock"
|
|
159
|
+
# If possible we use read_nonblock in a loop rather than read to work-
|
|
160
|
+
# a linux kernel bug. See ticket #1963 for details.
|
|
161
|
+
mountfh = File.open("/proc/mounts")
|
|
162
|
+
mounts += mountfh.read_nonblock(1024) while true
|
|
163
|
+
else
|
|
164
|
+
# Otherwise we shell out and let cat do it for us
|
|
165
|
+
mountfh = IO.popen("/bin/cat /proc/mounts")
|
|
166
|
+
mounts = mountfh.read
|
|
167
|
+
end
|
|
168
|
+
rescue EOFError
|
|
169
|
+
# that's expected
|
|
170
|
+
rescue
|
|
171
|
+
return nil
|
|
172
|
+
ensure
|
|
173
|
+
mountfh.close if mountfh
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
mntpoint = {}
|
|
177
|
+
|
|
178
|
+
# Read all entries in /proc/mounts. The second column is the
|
|
179
|
+
# mountpoint and the third column is the filesystem type.
|
|
180
|
+
# We skip rootfs because it is always mounted at /
|
|
181
|
+
mounts.each_line do |line|
|
|
182
|
+
params = line.split(' ')
|
|
183
|
+
next if params[2] == 'rootfs'
|
|
184
|
+
mntpoint[params[1]] = params[2]
|
|
185
|
+
end
|
|
186
|
+
mntpoint
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
# Internal helper function to return which type of filesystem a given file
|
|
190
|
+
# path resides on
|
|
191
|
+
def find_fs(path)
|
|
192
|
+
return nil unless mounts = read_mounts
|
|
193
|
+
|
|
194
|
+
# cleanpath eliminates useless parts of the path (like '.', or '..', or
|
|
195
|
+
# multiple slashes), without touching the filesystem, and without
|
|
196
|
+
# following symbolic links. This gives the right (logical) tree to follow
|
|
197
|
+
# while we try and figure out what file-system the target lives on.
|
|
198
|
+
path = Pathname(path).cleanpath
|
|
199
|
+
unless path.absolute?
|
|
200
|
+
raise Puppet::DevError, "got a relative path in SELinux find_fs: #{path}"
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
# Now, walk up the tree until we find a match for that path in the hash.
|
|
204
|
+
path.ascend do |segment|
|
|
205
|
+
return mounts[segment.to_s] if mounts.has_key?(segment.to_s)
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
# Should never be reached...
|
|
209
|
+
return mounts['/']
|
|
210
|
+
end
|
|
211
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
require 'puppet/util/settings/setting'
|
|
2
|
+
|
|
3
|
+
# A simple boolean.
|
|
4
|
+
class Puppet::Util::Settings::BooleanSetting < Puppet::Util::Settings::Setting
|
|
5
|
+
# get the arguments in getopt format
|
|
6
|
+
def getopt_args
|
|
7
|
+
if short
|
|
8
|
+
[["--#{name}", "-#{short}", GetoptLong::NO_ARGUMENT], ["--no-#{name}", GetoptLong::NO_ARGUMENT]]
|
|
9
|
+
else
|
|
10
|
+
[["--#{name}", GetoptLong::NO_ARGUMENT], ["--no-#{name}", GetoptLong::NO_ARGUMENT]]
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def optparse_args
|
|
15
|
+
if short
|
|
16
|
+
["--[no-]#{name}", "-#{short}", desc, :NONE ]
|
|
17
|
+
else
|
|
18
|
+
["--[no-]#{name}", desc, :NONE]
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def munge(value)
|
|
23
|
+
case value
|
|
24
|
+
when true, "true"; return true
|
|
25
|
+
when false, "false"; return false
|
|
26
|
+
else
|
|
27
|
+
raise ArgumentError, "Invalid value '#{value.inspect}' for #{@name}"
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
require 'puppet/util/settings/setting'
|
|
2
|
+
|
|
3
|
+
# A file.
|
|
4
|
+
class Puppet::Util::Settings::FileSetting < Puppet::Util::Settings::Setting
|
|
5
|
+
AllowedOwners = %w{root service}
|
|
6
|
+
AllowedGroups = %w{root service}
|
|
7
|
+
|
|
8
|
+
class SettingError < StandardError; end
|
|
9
|
+
|
|
10
|
+
attr_accessor :mode, :create
|
|
11
|
+
|
|
12
|
+
# Should we create files, rather than just directories?
|
|
13
|
+
def create_files?
|
|
14
|
+
create
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def group=(value)
|
|
18
|
+
unless AllowedGroups.include?(value)
|
|
19
|
+
identifying_fields = [desc,name,default].compact.join(': ')
|
|
20
|
+
raise SettingError, "Internal error: The :group setting for #{identifying_fields} must be 'service', not '#{value}'"
|
|
21
|
+
end
|
|
22
|
+
@group = value
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def group
|
|
26
|
+
return unless @group
|
|
27
|
+
@settings[:group]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def owner=(value)
|
|
31
|
+
unless AllowedOwners.include?(value)
|
|
32
|
+
identifying_fields = [desc,name,default].compact.join(': ')
|
|
33
|
+
raise SettingError, "Internal error: The :owner setting for #{identifying_fields} must be either 'root' or 'service', not '#{value}'"
|
|
34
|
+
end
|
|
35
|
+
@owner = value
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def owner
|
|
39
|
+
return unless @owner
|
|
40
|
+
return "root" if @owner == "root" or ! use_service_user?
|
|
41
|
+
@settings[:user]
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def use_service_user?
|
|
45
|
+
@settings[:mkusers] or @settings.service_user_available?
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Set the type appropriately. Yep, a hack. This supports either naming
|
|
49
|
+
# the variable 'dir', or adding a slash at the end.
|
|
50
|
+
def munge(value)
|
|
51
|
+
# If it's not a fully qualified path...
|
|
52
|
+
if value.is_a?(String) and value !~ /^\$/ and value != 'false'
|
|
53
|
+
# Preserve trailing slash (stripped by expand_path)
|
|
54
|
+
isdir = value =~ /\/$/
|
|
55
|
+
value = File.expand_path(value)
|
|
56
|
+
value += '/' if isdir
|
|
57
|
+
end
|
|
58
|
+
value
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Return the appropriate type.
|
|
62
|
+
def type
|
|
63
|
+
value = @settings.value(self.name)
|
|
64
|
+
if @name.to_s =~ /dir/
|
|
65
|
+
return :directory
|
|
66
|
+
elsif value.to_s =~ /\/$/
|
|
67
|
+
return :directory
|
|
68
|
+
elsif value.is_a? String
|
|
69
|
+
return :file
|
|
70
|
+
else
|
|
71
|
+
return nil
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# Turn our setting thing into a Puppet::Resource instance.
|
|
76
|
+
def to_resource
|
|
77
|
+
return nil unless type = self.type
|
|
78
|
+
|
|
79
|
+
path = self.value
|
|
80
|
+
|
|
81
|
+
return nil unless path.is_a?(String)
|
|
82
|
+
|
|
83
|
+
# Make sure the paths are fully qualified.
|
|
84
|
+
path = File.expand_path(path)
|
|
85
|
+
|
|
86
|
+
return nil unless type == :directory or create_files? or File.exist?(path)
|
|
87
|
+
return nil if path =~ /^\/dev/ or path =~ /^[A-Z]:\/dev/i
|
|
88
|
+
|
|
89
|
+
resource = Puppet::Resource.new(:file, path)
|
|
90
|
+
|
|
91
|
+
if Puppet[:manage_internal_file_permissions]
|
|
92
|
+
if self.mode
|
|
93
|
+
# This ends up mimicking the munge method of the mode
|
|
94
|
+
# parameter to make sure that we're always passing the string
|
|
95
|
+
# version of the octal number. If we were setting the
|
|
96
|
+
# 'should' value for mode rather than the 'is', then the munge
|
|
97
|
+
# method would be called for us automatically. Normally, one
|
|
98
|
+
# wouldn't need to call the munge method manually, since
|
|
99
|
+
# 'should' gets set by the provider and it should be able to
|
|
100
|
+
# provide the data in the appropriate format.
|
|
101
|
+
mode = self.mode
|
|
102
|
+
mode = mode.to_i(8) if mode.is_a?(String)
|
|
103
|
+
mode = mode.to_s(8)
|
|
104
|
+
resource[:mode] = mode
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# REMIND fails on Windows because chown/chgrp functionality not supported yet
|
|
108
|
+
if Puppet.features.root? and !Puppet.features.microsoft_windows?
|
|
109
|
+
resource[:owner] = self.owner if self.owner
|
|
110
|
+
resource[:group] = self.group if self.group
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
resource[:ensure] = type
|
|
115
|
+
resource[:loglevel] = :debug
|
|
116
|
+
resource[:links] = :follow
|
|
117
|
+
resource[:backup] = false
|
|
118
|
+
|
|
119
|
+
resource.tag(self.section, self.name, "settings")
|
|
120
|
+
|
|
121
|
+
resource
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# Make sure any provided variables look up to something.
|
|
125
|
+
def validate(value)
|
|
126
|
+
return true unless value.is_a? String
|
|
127
|
+
value.scan(/\$(\w+)/) { |name|
|
|
128
|
+
name = $1
|
|
129
|
+
unless @settings.include?(name)
|
|
130
|
+
raise ArgumentError,
|
|
131
|
+
"Settings parameter '#{name}' is undefined"
|
|
132
|
+
end
|
|
133
|
+
}
|
|
134
|
+
end
|
|
135
|
+
end
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# The base element type.
|
|
2
|
+
class Puppet::Util::Settings::Setting
|
|
3
|
+
attr_accessor :name, :section, :default, :setbycli, :call_on_define
|
|
4
|
+
attr_reader :desc, :short
|
|
5
|
+
|
|
6
|
+
def desc=(value)
|
|
7
|
+
@desc = value.gsub(/^\s*/, '')
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# get the arguments in getopt format
|
|
11
|
+
def getopt_args
|
|
12
|
+
if short
|
|
13
|
+
[["--#{name}", "-#{short}", GetoptLong::REQUIRED_ARGUMENT]]
|
|
14
|
+
else
|
|
15
|
+
[["--#{name}", GetoptLong::REQUIRED_ARGUMENT]]
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# get the arguments in OptionParser format
|
|
20
|
+
def optparse_args
|
|
21
|
+
if short
|
|
22
|
+
["--#{name}", "-#{short}", desc, :REQUIRED]
|
|
23
|
+
else
|
|
24
|
+
["--#{name}", desc, :REQUIRED]
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def hook=(block)
|
|
29
|
+
meta_def :handle, &block
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Create the new element. Pretty much just sets the name.
|
|
33
|
+
def initialize(args = {})
|
|
34
|
+
unless @settings = args.delete(:settings)
|
|
35
|
+
raise ArgumentError.new("You must refer to a settings object")
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
args.each do |param, value|
|
|
39
|
+
method = param.to_s + "="
|
|
40
|
+
raise ArgumentError, "#{self.class} does not accept #{param}" unless self.respond_to? method
|
|
41
|
+
|
|
42
|
+
self.send(method, value)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
raise ArgumentError, "You must provide a description for the #{self.name} config option" unless self.desc
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def iscreated
|
|
49
|
+
@iscreated = true
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def iscreated?
|
|
53
|
+
@iscreated
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def set?
|
|
57
|
+
!!(!@value.nil?)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# short name for the celement
|
|
61
|
+
def short=(value)
|
|
62
|
+
raise ArgumentError, "Short names can only be one character." if value.to_s.length != 1
|
|
63
|
+
@short = value.to_s
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Convert the object to a config statement.
|
|
67
|
+
def to_config
|
|
68
|
+
str = @desc.gsub(/^/, "# ") + "\n"
|
|
69
|
+
|
|
70
|
+
# Add in a statement about the default.
|
|
71
|
+
str += "# The default value is '#{@default}'.\n" if @default
|
|
72
|
+
|
|
73
|
+
# If the value has not been overridden, then print it out commented
|
|
74
|
+
# and unconverted, so it's clear that that's the default and how it
|
|
75
|
+
# works.
|
|
76
|
+
value = @settings.value(self.name)
|
|
77
|
+
|
|
78
|
+
if value != @default
|
|
79
|
+
line = "#{@name} = #{value}"
|
|
80
|
+
else
|
|
81
|
+
line = "# #{@name} = #{@default}"
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
str += line + "\n"
|
|
85
|
+
|
|
86
|
+
str.gsub(/^/, " ")
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# Retrieves the value, or if it's not set, retrieves the default.
|
|
90
|
+
def value
|
|
91
|
+
@settings.value(self.name)
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
|