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,230 @@
|
|
|
1
|
+
require 'net/http'
|
|
2
|
+
require 'uri'
|
|
3
|
+
require 'tempfile'
|
|
4
|
+
|
|
5
|
+
require 'puppet/util/checksums'
|
|
6
|
+
require 'puppet/network/http/api/v1'
|
|
7
|
+
require 'puppet/network/http/compression'
|
|
8
|
+
|
|
9
|
+
module Puppet
|
|
10
|
+
Puppet::Type.type(:file).newproperty(:content) do
|
|
11
|
+
include Puppet::Util::Diff
|
|
12
|
+
include Puppet::Util::Checksums
|
|
13
|
+
include Puppet::Network::HTTP::API::V1
|
|
14
|
+
include Puppet::Network::HTTP::Compression.module
|
|
15
|
+
|
|
16
|
+
attr_reader :actual_content
|
|
17
|
+
|
|
18
|
+
desc <<-'EOT'
|
|
19
|
+
The desired contents of a file, as a string. This attribute is mutually
|
|
20
|
+
exclusive with `source` and `target`.
|
|
21
|
+
|
|
22
|
+
Newlines and tabs can be specified in double-quoted strings using
|
|
23
|
+
standard escaped syntax --- \n for a newline, and \t for a tab.
|
|
24
|
+
|
|
25
|
+
With very small files, you can construct content strings directly in
|
|
26
|
+
the manifest...
|
|
27
|
+
|
|
28
|
+
define resolve(nameserver1, nameserver2, domain, search) {
|
|
29
|
+
$str = "search $search
|
|
30
|
+
domain $domain
|
|
31
|
+
nameserver $nameserver1
|
|
32
|
+
nameserver $nameserver2
|
|
33
|
+
"
|
|
34
|
+
|
|
35
|
+
file { "/etc/resolv.conf":
|
|
36
|
+
content => "$str",
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
...but for larger files, this attribute is more useful when combined with the
|
|
41
|
+
[template](http://docs.puppetlabs.com/references/latest/function.html#template)
|
|
42
|
+
function.
|
|
43
|
+
EOT
|
|
44
|
+
|
|
45
|
+
# Store a checksum as the value, rather than the actual content.
|
|
46
|
+
# Simplifies everything.
|
|
47
|
+
munge do |value|
|
|
48
|
+
if value == :absent
|
|
49
|
+
value
|
|
50
|
+
elsif checksum?(value)
|
|
51
|
+
# XXX This is potentially dangerous because it means users can't write a file whose
|
|
52
|
+
# entire contents are a plain checksum
|
|
53
|
+
value
|
|
54
|
+
else
|
|
55
|
+
@actual_content = value
|
|
56
|
+
resource.parameter(:checksum).sum(value)
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Checksums need to invert how changes are printed.
|
|
61
|
+
def change_to_s(currentvalue, newvalue)
|
|
62
|
+
# Our "new" checksum value is provided by the source.
|
|
63
|
+
if source = resource.parameter(:source) and tmp = source.checksum
|
|
64
|
+
newvalue = tmp
|
|
65
|
+
end
|
|
66
|
+
if currentvalue == :absent
|
|
67
|
+
return "defined content as '#{newvalue}'"
|
|
68
|
+
elsif newvalue == :absent
|
|
69
|
+
return "undefined content from '#{currentvalue}'"
|
|
70
|
+
else
|
|
71
|
+
return "content changed '#{currentvalue}' to '#{newvalue}'"
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def checksum_type
|
|
76
|
+
if source = resource.parameter(:source)
|
|
77
|
+
result = source.checksum
|
|
78
|
+
else checksum = resource.parameter(:checksum)
|
|
79
|
+
result = resource[:checksum]
|
|
80
|
+
end
|
|
81
|
+
if result =~ /^\{(\w+)\}.+/
|
|
82
|
+
return $1.to_sym
|
|
83
|
+
else
|
|
84
|
+
return result
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def length
|
|
89
|
+
(actual_content and actual_content.length) || 0
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def content
|
|
93
|
+
self.should
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# Override this method to provide diffs if asked for.
|
|
97
|
+
# Also, fix #872: when content is used, and replace is true, the file
|
|
98
|
+
# should be insync when it exists
|
|
99
|
+
def insync?(is)
|
|
100
|
+
if resource.should_be_file?
|
|
101
|
+
return false if is == :absent
|
|
102
|
+
else
|
|
103
|
+
return true
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
return true if ! @resource.replace?
|
|
107
|
+
|
|
108
|
+
result = super
|
|
109
|
+
|
|
110
|
+
if ! result and Puppet[:show_diff]
|
|
111
|
+
write_temporarily do |path|
|
|
112
|
+
notice "\n" + diff(@resource[:path], path)
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
result
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
def retrieve
|
|
119
|
+
return :absent unless stat = @resource.stat
|
|
120
|
+
ftype = stat.ftype
|
|
121
|
+
# Don't even try to manage the content on directories or links
|
|
122
|
+
return nil if ["directory","link"].include?(ftype)
|
|
123
|
+
|
|
124
|
+
begin
|
|
125
|
+
resource.parameter(:checksum).sum_file(resource[:path])
|
|
126
|
+
rescue => detail
|
|
127
|
+
raise Puppet::Error, "Could not read #{ftype} #{@resource.title}: #{detail}"
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
# Make sure we're also managing the checksum property.
|
|
132
|
+
def should=(value)
|
|
133
|
+
@resource.newattr(:checksum) unless @resource.parameter(:checksum)
|
|
134
|
+
super
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
# Just write our content out to disk.
|
|
138
|
+
def sync
|
|
139
|
+
return_event = @resource.stat ? :file_changed : :file_created
|
|
140
|
+
|
|
141
|
+
# We're safe not testing for the 'source' if there's no 'should'
|
|
142
|
+
# because we wouldn't have gotten this far if there weren't at least
|
|
143
|
+
# one valid value somewhere.
|
|
144
|
+
@resource.write(:content)
|
|
145
|
+
|
|
146
|
+
return_event
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
def write_temporarily
|
|
150
|
+
tempfile = Tempfile.new("puppet-file")
|
|
151
|
+
tempfile.open
|
|
152
|
+
|
|
153
|
+
write(tempfile)
|
|
154
|
+
|
|
155
|
+
tempfile.close
|
|
156
|
+
|
|
157
|
+
yield tempfile.path
|
|
158
|
+
|
|
159
|
+
tempfile.delete
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
def write(file)
|
|
163
|
+
resource.parameter(:checksum).sum_stream { |sum|
|
|
164
|
+
each_chunk_from(actual_content || resource.parameter(:source)) { |chunk|
|
|
165
|
+
sum << chunk
|
|
166
|
+
file.print chunk
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
def self.standalone?
|
|
172
|
+
Puppet.settings[:name] == "apply"
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
# the content is munged so if it's a checksum source_or_content is nil
|
|
176
|
+
# unless the checksum indirectly comes from source
|
|
177
|
+
def each_chunk_from(source_or_content)
|
|
178
|
+
if source_or_content.is_a?(String)
|
|
179
|
+
yield source_or_content
|
|
180
|
+
elsif content_is_really_a_checksum? && source_or_content.nil?
|
|
181
|
+
yield read_file_from_filebucket
|
|
182
|
+
elsif source_or_content.nil?
|
|
183
|
+
yield ''
|
|
184
|
+
elsif self.class.standalone?
|
|
185
|
+
yield source_or_content.content
|
|
186
|
+
elsif source_or_content.local?
|
|
187
|
+
chunk_file_from_disk(source_or_content) { |chunk| yield chunk }
|
|
188
|
+
else
|
|
189
|
+
chunk_file_from_source(source_or_content) { |chunk| yield chunk }
|
|
190
|
+
end
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
private
|
|
194
|
+
|
|
195
|
+
def content_is_really_a_checksum?
|
|
196
|
+
checksum?(should)
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
def chunk_file_from_disk(source_or_content)
|
|
200
|
+
File.open(source_or_content.full_path, "rb") do |src|
|
|
201
|
+
while chunk = src.read(8192)
|
|
202
|
+
yield chunk
|
|
203
|
+
end
|
|
204
|
+
end
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
def chunk_file_from_source(source_or_content)
|
|
208
|
+
request = Puppet::Indirector::Request.new(:file_content, :find, source_or_content.full_path.sub(/^\//,''))
|
|
209
|
+
connection = Puppet::Network::HttpPool.http_instance(source_or_content.server, source_or_content.port)
|
|
210
|
+
connection.request_get(indirection2uri(request), add_accept_encoding({"Accept" => "raw"})) do |response|
|
|
211
|
+
case response.code
|
|
212
|
+
when /^2/; uncompress(response) { |uncompressor| response.read_body { |chunk| yield uncompressor.uncompress(chunk) } }
|
|
213
|
+
else
|
|
214
|
+
# Raise the http error if we didn't get a 'success' of some kind.
|
|
215
|
+
message = "Error #{response.code} on SERVER: #{(response.body||'').empty? ? response.message : uncompress_body(response)}"
|
|
216
|
+
raise Net::HTTPError.new(message, response)
|
|
217
|
+
end
|
|
218
|
+
end
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
def read_file_from_filebucket
|
|
222
|
+
raise "Could not get filebucket from file" unless dipper = resource.bucket
|
|
223
|
+
sum = should.sub(/\{\w+\}/, '')
|
|
224
|
+
|
|
225
|
+
dipper.getfile(sum)
|
|
226
|
+
rescue => detail
|
|
227
|
+
fail "Could not retrieve content for #{should} from filebucket: #{detail}"
|
|
228
|
+
end
|
|
229
|
+
end
|
|
230
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module Puppet
|
|
2
|
+
Puppet::Type.type(:file).newproperty(:ctime) do
|
|
3
|
+
desc "A read-only state to check the file ctime."
|
|
4
|
+
|
|
5
|
+
def retrieve
|
|
6
|
+
current_value = :absent
|
|
7
|
+
if stat = @resource.stat
|
|
8
|
+
current_value = stat.ctime
|
|
9
|
+
end
|
|
10
|
+
current_value
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
validate do |val|
|
|
14
|
+
fail "ctime is read-only"
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
|
|
2
|
+
module Puppet
|
|
3
|
+
Puppet::Type.type(:file).ensurable do
|
|
4
|
+
require 'etc'
|
|
5
|
+
require 'puppet/util/symbolic_file_mode'
|
|
6
|
+
include Puppet::Util::SymbolicFileMode
|
|
7
|
+
|
|
8
|
+
desc <<-'EOT'
|
|
9
|
+
Whether to create files that don't currently exist.
|
|
10
|
+
Possible values are *absent*, *present*, *file*, and *directory*.
|
|
11
|
+
Specifying `present` will match any form of file existence, and
|
|
12
|
+
if the file is missing will create an empty file. Specifying
|
|
13
|
+
`absent` will delete the file (or directory, if `recurse => true`).
|
|
14
|
+
|
|
15
|
+
Anything other than the above values will create a symlink; note that
|
|
16
|
+
symlinks cannot be managed on Windows. In the interest of readability
|
|
17
|
+
and clarity, symlinks should be created by setting `ensure => link` and
|
|
18
|
+
explicitly specifying a target; however, if a `target` attribute isn't
|
|
19
|
+
provided, the value of the `ensure` attribute will be used as the
|
|
20
|
+
symlink target. The following two declarations are equivalent:
|
|
21
|
+
|
|
22
|
+
# (Useful on Solaris)
|
|
23
|
+
|
|
24
|
+
# Less maintainable:
|
|
25
|
+
file { "/etc/inetd.conf":
|
|
26
|
+
ensure => "/etc/inet/inetd.conf",
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
# More maintainable:
|
|
30
|
+
file { "/etc/inetd.conf":
|
|
31
|
+
ensure => link,
|
|
32
|
+
target => "/etc/inet/inetd.conf",
|
|
33
|
+
}
|
|
34
|
+
EOT
|
|
35
|
+
|
|
36
|
+
# Most 'ensure' properties have a default, but with files we, um, don't.
|
|
37
|
+
nodefault
|
|
38
|
+
|
|
39
|
+
newvalue(:absent) do
|
|
40
|
+
File.unlink(@resource[:path])
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
aliasvalue(:false, :absent)
|
|
44
|
+
|
|
45
|
+
newvalue(:file, :event => :file_created) do
|
|
46
|
+
# Make sure we're not managing the content some other way
|
|
47
|
+
if property = @resource.property(:content)
|
|
48
|
+
property.sync
|
|
49
|
+
else
|
|
50
|
+
@resource.write(:ensure)
|
|
51
|
+
mode = @resource.should(:mode)
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
#aliasvalue(:present, :file)
|
|
56
|
+
newvalue(:present, :event => :file_created) do
|
|
57
|
+
# Make a file if they want something, but this will match almost
|
|
58
|
+
# anything.
|
|
59
|
+
set_file
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
newvalue(:directory, :event => :directory_created) do
|
|
63
|
+
mode = @resource.should(:mode)
|
|
64
|
+
parent = File.dirname(@resource[:path])
|
|
65
|
+
unless FileTest.exists? parent
|
|
66
|
+
raise Puppet::Error,
|
|
67
|
+
"Cannot create #{@resource[:path]}; parent directory #{parent} does not exist"
|
|
68
|
+
end
|
|
69
|
+
if mode
|
|
70
|
+
Puppet::Util.withumask(000) do
|
|
71
|
+
Dir.mkdir(@resource[:path], symbolic_mode_to_int(mode, 755, true))
|
|
72
|
+
end
|
|
73
|
+
else
|
|
74
|
+
Dir.mkdir(@resource[:path])
|
|
75
|
+
end
|
|
76
|
+
@resource.send(:property_fix)
|
|
77
|
+
return :directory_created
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
newvalue(:link, :event => :link_created) do
|
|
82
|
+
fail "Cannot create a symlink without a target" unless property = resource.property(:target)
|
|
83
|
+
property.retrieve
|
|
84
|
+
property.mklink
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# Symlinks.
|
|
88
|
+
newvalue(/./) do
|
|
89
|
+
# This code never gets executed. We need the regex to support
|
|
90
|
+
# specifying it, but the work is done in the 'symlink' code block.
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
munge do |value|
|
|
94
|
+
value = super(value)
|
|
95
|
+
value,resource[:target] = :link,value unless value.is_a? Symbol
|
|
96
|
+
resource[:links] = :manage if value == :link and resource[:links] != :follow
|
|
97
|
+
value
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def change_to_s(currentvalue, newvalue)
|
|
101
|
+
return super unless newvalue.to_s == "file"
|
|
102
|
+
|
|
103
|
+
return super unless property = @resource.property(:content)
|
|
104
|
+
|
|
105
|
+
# We know that content is out of sync if we're here, because
|
|
106
|
+
# it's essentially equivalent to 'ensure' in the transaction.
|
|
107
|
+
if source = @resource.parameter(:source)
|
|
108
|
+
should = source.checksum
|
|
109
|
+
else
|
|
110
|
+
should = property.should
|
|
111
|
+
end
|
|
112
|
+
if should == :absent
|
|
113
|
+
is = property.retrieve
|
|
114
|
+
else
|
|
115
|
+
is = :absent
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
property.change_to_s(is, should)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
# Check that we can actually create anything
|
|
122
|
+
def check
|
|
123
|
+
basedir = File.dirname(@resource[:path])
|
|
124
|
+
|
|
125
|
+
if ! FileTest.exists?(basedir)
|
|
126
|
+
raise Puppet::Error,
|
|
127
|
+
"Can not create #{@resource.title}; parent directory does not exist"
|
|
128
|
+
elsif ! FileTest.directory?(basedir)
|
|
129
|
+
raise Puppet::Error,
|
|
130
|
+
"Can not create #{@resource.title}; #{dirname} is not a directory"
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
# We have to treat :present specially, because it works with any
|
|
135
|
+
# type of file.
|
|
136
|
+
def insync?(currentvalue)
|
|
137
|
+
unless currentvalue == :absent or resource.replace?
|
|
138
|
+
return true
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
if self.should == :present
|
|
142
|
+
return !(currentvalue.nil? or currentvalue == :absent)
|
|
143
|
+
else
|
|
144
|
+
return super(currentvalue)
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
def retrieve
|
|
149
|
+
if stat = @resource.stat
|
|
150
|
+
return stat.ftype.intern
|
|
151
|
+
else
|
|
152
|
+
if self.should == :false
|
|
153
|
+
return :false
|
|
154
|
+
else
|
|
155
|
+
return :absent
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
def sync
|
|
161
|
+
@resource.remove_existing(self.should)
|
|
162
|
+
if self.should == :absent
|
|
163
|
+
return :file_removed
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
event = super
|
|
167
|
+
|
|
168
|
+
event
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
end
|
|
172
|
+
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require 'puppet/util/posix'
|
|
2
|
+
|
|
3
|
+
# Manage file group ownership.
|
|
4
|
+
module Puppet
|
|
5
|
+
Puppet::Type.type(:file).newproperty(:group) do
|
|
6
|
+
desc <<-EOT
|
|
7
|
+
Which group should own the file. Argument can be either a group
|
|
8
|
+
name or a group ID.
|
|
9
|
+
|
|
10
|
+
On Windows, a user (such as "Administrator") can be set as a file's group
|
|
11
|
+
and a group (such as "Administrators") can be set as a file's owner;
|
|
12
|
+
however, a file's owner and group shouldn't be the same. (If the owner
|
|
13
|
+
is also the group, files with modes like `0640` will cause log churn, as
|
|
14
|
+
they will always appear out of sync.)
|
|
15
|
+
EOT
|
|
16
|
+
|
|
17
|
+
validate do |group|
|
|
18
|
+
raise(Puppet::Error, "Invalid group name '#{group.inspect}'") unless group and group != ""
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def insync?(current)
|
|
22
|
+
# We don't want to validate/munge groups until we actually start to
|
|
23
|
+
# evaluate this property, because they might be added during the catalog
|
|
24
|
+
# apply.
|
|
25
|
+
@should.map! do |val|
|
|
26
|
+
provider.name2gid(val) or raise "Could not find group #{val}"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
@should.include?(current)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# We want to print names, not numbers
|
|
33
|
+
def is_to_s(currentvalue)
|
|
34
|
+
provider.gid2name(currentvalue) || currentvalue
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def should_to_s(newvalue)
|
|
38
|
+
provider.gid2name(newvalue) || newvalue
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Manage file modes. This state should support different formats
|
|
2
|
+
# for specification (e.g., u+rwx, or -0011), but for now only supports
|
|
3
|
+
# specifying the full mode.
|
|
4
|
+
module Puppet
|
|
5
|
+
Puppet::Type.type(:file).newproperty(:mode) do
|
|
6
|
+
require 'puppet/util/symbolic_file_mode'
|
|
7
|
+
include Puppet::Util::SymbolicFileMode
|
|
8
|
+
|
|
9
|
+
desc <<-'EOT'
|
|
10
|
+
The desired permissions mode for the file, in symbolic or numeric
|
|
11
|
+
notation. Puppet uses traditional Unix permission schemes and translates
|
|
12
|
+
them to equivalent permissions for systems which represent permissions
|
|
13
|
+
differently, including Windows.
|
|
14
|
+
|
|
15
|
+
Numeric modes should use the standard four-digit octal notation of
|
|
16
|
+
`<setuid/setgid/sticky><owner><group><other>` (e.g. 0644). Each of the
|
|
17
|
+
"owner," "group," and "other" digits should be a sum of the
|
|
18
|
+
permissions for that class of users, where read = 4, write = 2, and
|
|
19
|
+
execute/search = 1. When setting numeric permissions for
|
|
20
|
+
directories, Puppet sets the search permission wherever the read
|
|
21
|
+
permission is set.
|
|
22
|
+
|
|
23
|
+
Symbolic modes should be represented as a string of comma-separated
|
|
24
|
+
permission clauses, in the form `<who><op><perm>`:
|
|
25
|
+
|
|
26
|
+
* "Who" should be u (user), g (group), o (other), and/or a (all)
|
|
27
|
+
* "Op" should be = (set exact permissions), + (add select permissions),
|
|
28
|
+
or - (remove select permissions)
|
|
29
|
+
* "Perm" should be one or more of:
|
|
30
|
+
* r (read)
|
|
31
|
+
* w (write)
|
|
32
|
+
* x (execute/search)
|
|
33
|
+
* t (sticky)
|
|
34
|
+
* s (setuid/setgid)
|
|
35
|
+
* X (execute/search if directory or if any one user can execute)
|
|
36
|
+
* u (user's current permissions)
|
|
37
|
+
* g (group's current permissions)
|
|
38
|
+
* o (other's current permissions)
|
|
39
|
+
|
|
40
|
+
Thus, mode `0664` could be represented symbolically as either `a=r,ug+w` or
|
|
41
|
+
`ug=rw,o=r`. See the manual page for GNU or BSD `chmod` for more details
|
|
42
|
+
on numeric and symbolic modes.
|
|
43
|
+
|
|
44
|
+
On Windows, permissions are translated as follows:
|
|
45
|
+
|
|
46
|
+
* Owner and group names are mapped to Windows SIDs
|
|
47
|
+
* The "other" class of users maps to the "Everyone" SID
|
|
48
|
+
* The read/write/execute permissions map to the `FILE_GENERIC_READ`,
|
|
49
|
+
`FILE_GENERIC_WRITE`, and `FILE_GENERIC_EXECUTE` access rights; a
|
|
50
|
+
file's owner always has the `FULL_CONTROL` right
|
|
51
|
+
* "Other" users can't have any permissions a file's group lacks,
|
|
52
|
+
and its group can't have any permissions its owner lacks; that is, 0644
|
|
53
|
+
is an acceptable mode, but 0464 is not.
|
|
54
|
+
EOT
|
|
55
|
+
|
|
56
|
+
validate do |value|
|
|
57
|
+
unless value.nil? or valid_symbolic_mode?(value)
|
|
58
|
+
raise Puppet::Error, "The file mode specification is invalid: #{value.inspect}"
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
munge do |value|
|
|
63
|
+
return nil if value.nil?
|
|
64
|
+
|
|
65
|
+
unless valid_symbolic_mode?(value)
|
|
66
|
+
raise Puppet::Error, "The file mode specification is invalid: #{value.inspect}"
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
normalize_symbolic_mode(value)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def desired_mode_from_current(desired, current)
|
|
73
|
+
current = current.to_i(8) if current.is_a? String
|
|
74
|
+
is_a_directory = @resource.stat and @resource.stat.directory?
|
|
75
|
+
symbolic_mode_to_int(desired, current, is_a_directory)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# If we're a directory, we need to be executable for all cases
|
|
79
|
+
# that are readable. This should probably be selectable, but eh.
|
|
80
|
+
def dirmask(value)
|
|
81
|
+
orig = value
|
|
82
|
+
if FileTest.directory?(resource[:path]) and value =~ /^\d+$/ then
|
|
83
|
+
value = value.to_i(8)
|
|
84
|
+
value |= 0100 if value & 0400 != 0
|
|
85
|
+
value |= 010 if value & 040 != 0
|
|
86
|
+
value |= 01 if value & 04 != 0
|
|
87
|
+
value = value.to_s(8)
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
value
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# If we're not following links and we're a link, then we just turn
|
|
94
|
+
# off mode management entirely.
|
|
95
|
+
def insync?(currentvalue)
|
|
96
|
+
if stat = @resource.stat and stat.ftype == "link" and @resource[:links] != :follow
|
|
97
|
+
self.debug "Not managing symlink mode"
|
|
98
|
+
return true
|
|
99
|
+
else
|
|
100
|
+
return super(currentvalue)
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def property_matches?(current, desired)
|
|
105
|
+
return false unless current
|
|
106
|
+
current_bits = normalize_symbolic_mode(current)
|
|
107
|
+
desired_bits = desired_mode_from_current(desired, current).to_s(8)
|
|
108
|
+
current_bits == desired_bits
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# Ideally, dirmask'ing could be done at munge time, but we don't know if 'ensure'
|
|
112
|
+
# will eventually be a directory or something else. And unfortunately, that logic
|
|
113
|
+
# depends on the ensure, source, and target properties. So rather than duplicate
|
|
114
|
+
# that logic, and get it wrong, we do dirmask during retrieve, after 'ensure' has
|
|
115
|
+
# been synced.
|
|
116
|
+
def retrieve
|
|
117
|
+
if @resource.stat
|
|
118
|
+
@should &&= @should.collect { |s| self.dirmask(s) }
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
super
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# Finally, when we sync the mode out we need to transform it; since we
|
|
125
|
+
# don't have access to the calculated "desired" value here, or the
|
|
126
|
+
# "current" value, only the "should" value we need to retrieve again.
|
|
127
|
+
def sync
|
|
128
|
+
current = @resource.stat ? @resource.stat.mode : 0644
|
|
129
|
+
set(desired_mode_from_current(@should[0], current).to_s(8))
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
def change_to_s(old_value, desired)
|
|
133
|
+
return super if desired =~ /^\d+$/
|
|
134
|
+
|
|
135
|
+
old_bits = normalize_symbolic_mode(old_value)
|
|
136
|
+
new_bits = normalize_symbolic_mode(desired_mode_from_current(desired, old_bits))
|
|
137
|
+
super(old_bits, new_bits) + " (#{desired})"
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
def should_to_s(should_value)
|
|
141
|
+
should_value.rjust(4, "0")
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
def is_to_s(currentvalue)
|
|
145
|
+
currentvalue.rjust(4, "0")
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module Puppet
|
|
2
|
+
Puppet::Type.type(:file).newproperty(:mtime) do
|
|
3
|
+
desc "A read-only state to check the file mtime."
|
|
4
|
+
|
|
5
|
+
def retrieve
|
|
6
|
+
current_value = :absent
|
|
7
|
+
if stat = @resource.stat
|
|
8
|
+
current_value = stat.mtime
|
|
9
|
+
end
|
|
10
|
+
current_value
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
validate do |val|
|
|
14
|
+
fail "mtime is read-only"
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
module Puppet
|
|
2
|
+
Puppet::Type.type(:file).newproperty(:owner) do
|
|
3
|
+
include Puppet::Util::Warnings
|
|
4
|
+
|
|
5
|
+
desc <<-EOT
|
|
6
|
+
The user to whom the file should belong. Argument can be a user name or a
|
|
7
|
+
user ID.
|
|
8
|
+
|
|
9
|
+
On Windows, a group (such as "Administrators") can be set as a file's owner
|
|
10
|
+
and a user (such as "Administrator") can be set as a file's group; however,
|
|
11
|
+
a file's owner and group shouldn't be the same. (If the owner is also
|
|
12
|
+
the group, files with modes like `0640` will cause log churn, as they
|
|
13
|
+
will always appear out of sync.)
|
|
14
|
+
EOT
|
|
15
|
+
|
|
16
|
+
def insync?(current)
|
|
17
|
+
# We don't want to validate/munge users until we actually start to
|
|
18
|
+
# evaluate this property, because they might be added during the catalog
|
|
19
|
+
# apply.
|
|
20
|
+
@should.map! do |val|
|
|
21
|
+
provider.name2uid(val) or raise "Could not find user #{val}"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
return true if @should.include?(current)
|
|
25
|
+
|
|
26
|
+
unless Puppet.features.root?
|
|
27
|
+
warnonce "Cannot manage ownership unless running as root"
|
|
28
|
+
return true
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
false
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# We want to print names, not numbers
|
|
35
|
+
def is_to_s(currentvalue)
|
|
36
|
+
provider.uid2name(currentvalue) || currentvalue
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def should_to_s(newvalue)
|
|
40
|
+
provider.uid2name(newvalue) || newvalue
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|