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,44 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Simple module for logging messages on the client-side
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
module Puppet
|
|
6
|
+
newtype(:notify) do
|
|
7
|
+
@doc = "Sends an arbitrary message to the agent run-time log."
|
|
8
|
+
|
|
9
|
+
newproperty(:message) do
|
|
10
|
+
desc "The message to be sent to the log."
|
|
11
|
+
def sync
|
|
12
|
+
case @resource["withpath"]
|
|
13
|
+
when :true
|
|
14
|
+
send(@resource[:loglevel], self.should)
|
|
15
|
+
else
|
|
16
|
+
Puppet.send(@resource[:loglevel], self.should)
|
|
17
|
+
end
|
|
18
|
+
return
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def retrieve
|
|
22
|
+
:absent
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def insync?(is)
|
|
26
|
+
false
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
defaultto { @resource[:name] }
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
newparam(:withpath) do
|
|
33
|
+
desc "Whether to show the full object path. Defaults to false."
|
|
34
|
+
defaultto :false
|
|
35
|
+
|
|
36
|
+
newvalues(:true, :false)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
newparam(:name) do
|
|
40
|
+
desc "An arbitrary tag for your own reference; the name of the message."
|
|
41
|
+
isnamevar
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
# Define the different packaging systems. Each package system is implemented
|
|
2
|
+
# in a module, which then gets used to individually extend each package object.
|
|
3
|
+
# This allows packages to exist on the same machine using different packaging
|
|
4
|
+
# systems.
|
|
5
|
+
|
|
6
|
+
module Puppet
|
|
7
|
+
newtype(:package) do
|
|
8
|
+
@doc = "Manage packages. There is a basic dichotomy in package
|
|
9
|
+
support right now: Some package types (e.g., yum and apt) can
|
|
10
|
+
retrieve their own package files, while others (e.g., rpm and sun)
|
|
11
|
+
cannot. For those package formats that cannot retrieve their own files,
|
|
12
|
+
you can use the `source` parameter to point to the correct file.
|
|
13
|
+
|
|
14
|
+
Puppet will automatically guess the packaging format that you are
|
|
15
|
+
using based on the platform you are on, but you can override it
|
|
16
|
+
using the `provider` parameter; each provider defines what it
|
|
17
|
+
requires in order to function, and you must meet those requirements
|
|
18
|
+
to use a given provider.
|
|
19
|
+
|
|
20
|
+
**Autorequires:** If Puppet is managing the files specified as a
|
|
21
|
+
package's `adminfile`, `responsefile`, or `source`, the package
|
|
22
|
+
resource will autorequire those files."
|
|
23
|
+
|
|
24
|
+
feature :installable, "The provider can install packages.",
|
|
25
|
+
:methods => [:install]
|
|
26
|
+
feature :uninstallable, "The provider can uninstall packages.",
|
|
27
|
+
:methods => [:uninstall]
|
|
28
|
+
feature :upgradeable, "The provider can upgrade to the latest version of a
|
|
29
|
+
package. This feature is used by specifying `latest` as the
|
|
30
|
+
desired value for the package.",
|
|
31
|
+
:methods => [:update, :latest]
|
|
32
|
+
feature :purgeable, "The provider can purge packages. This generally means
|
|
33
|
+
that all traces of the package are removed, including
|
|
34
|
+
existing configuration files. This feature is thus destructive
|
|
35
|
+
and should be used with the utmost care.",
|
|
36
|
+
:methods => [:purge]
|
|
37
|
+
feature :versionable, "The provider is capable of interrogating the
|
|
38
|
+
package database for installed version(s), and can select
|
|
39
|
+
which out of a set of available versions of a package to
|
|
40
|
+
install if asked."
|
|
41
|
+
feature :holdable, "The provider is capable of placing packages on hold
|
|
42
|
+
such that they are not automatically upgraded as a result of
|
|
43
|
+
other package dependencies unless explicit action is taken by
|
|
44
|
+
a user or another package. Held is considered a superset of
|
|
45
|
+
installed.",
|
|
46
|
+
:methods => [:hold]
|
|
47
|
+
feature :install_options, "The provider accepts options to be
|
|
48
|
+
passed to the installer command."
|
|
49
|
+
|
|
50
|
+
ensurable do
|
|
51
|
+
desc <<-EOT
|
|
52
|
+
What state the package should be in. On packaging systems that can
|
|
53
|
+
retrieve new packages on their own, you can choose which package to
|
|
54
|
+
retrieve by specifying a version number or `latest` as the ensure
|
|
55
|
+
value. On packaging systems that manage configuration files separately
|
|
56
|
+
from "normal" system files, you can uninstall config files by
|
|
57
|
+
specifying `purged` as the ensure value.
|
|
58
|
+
EOT
|
|
59
|
+
|
|
60
|
+
attr_accessor :latest
|
|
61
|
+
|
|
62
|
+
newvalue(:present, :event => :package_installed) do
|
|
63
|
+
provider.install
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
newvalue(:absent, :event => :package_removed) do
|
|
67
|
+
provider.uninstall
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
newvalue(:purged, :event => :package_purged, :required_features => :purgeable) do
|
|
71
|
+
provider.purge
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
newvalue(:held, :event => :package_held, :required_features => :holdable) do
|
|
75
|
+
provider.hold
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Alias the 'present' value.
|
|
79
|
+
aliasvalue(:installed, :present)
|
|
80
|
+
|
|
81
|
+
newvalue(:latest, :required_features => :upgradeable) do
|
|
82
|
+
# Because yum always exits with a 0 exit code, there's a retrieve
|
|
83
|
+
# in the "install" method. So, check the current state now,
|
|
84
|
+
# to compare against later.
|
|
85
|
+
current = self.retrieve
|
|
86
|
+
begin
|
|
87
|
+
provider.update
|
|
88
|
+
rescue => detail
|
|
89
|
+
self.fail "Could not update: #{detail}"
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
if current == :absent
|
|
93
|
+
:package_installed
|
|
94
|
+
else
|
|
95
|
+
:package_changed
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
newvalue(/./, :required_features => :versionable) do
|
|
100
|
+
begin
|
|
101
|
+
provider.install
|
|
102
|
+
rescue => detail
|
|
103
|
+
self.fail "Could not update: #{detail}"
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
if self.retrieve == :absent
|
|
107
|
+
:package_installed
|
|
108
|
+
else
|
|
109
|
+
:package_changed
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
defaultto :installed
|
|
114
|
+
|
|
115
|
+
# Override the parent method, because we've got all kinds of
|
|
116
|
+
# funky definitions of 'in sync'.
|
|
117
|
+
def insync?(is)
|
|
118
|
+
@lateststamp ||= (Time.now.to_i - 1000)
|
|
119
|
+
# Iterate across all of the should values, and see how they
|
|
120
|
+
# turn out.
|
|
121
|
+
|
|
122
|
+
@should.each { |should|
|
|
123
|
+
case should
|
|
124
|
+
when :present
|
|
125
|
+
return true unless [:absent, :purged, :held].include?(is)
|
|
126
|
+
when :latest
|
|
127
|
+
# Short-circuit packages that are not present
|
|
128
|
+
return false if is == :absent or is == :purged
|
|
129
|
+
|
|
130
|
+
# Don't run 'latest' more than about every 5 minutes
|
|
131
|
+
if @latest and ((Time.now.to_i - @lateststamp) / 60) < 5
|
|
132
|
+
#self.debug "Skipping latest check"
|
|
133
|
+
else
|
|
134
|
+
begin
|
|
135
|
+
@latest = provider.latest
|
|
136
|
+
@lateststamp = Time.now.to_i
|
|
137
|
+
rescue => detail
|
|
138
|
+
error = Puppet::Error.new("Could not get latest version: #{detail}")
|
|
139
|
+
error.set_backtrace(detail.backtrace)
|
|
140
|
+
raise error
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
case
|
|
145
|
+
when is.is_a?(Array) && is.include?(@latest)
|
|
146
|
+
return true
|
|
147
|
+
when is == @latest
|
|
148
|
+
return true
|
|
149
|
+
when is == :present
|
|
150
|
+
# This will only happen on retarded packaging systems
|
|
151
|
+
# that can't query versions.
|
|
152
|
+
return true
|
|
153
|
+
else
|
|
154
|
+
self.debug "#{@resource.name} #{is.inspect} is installed, latest is #{@latest.inspect}"
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
when :absent
|
|
159
|
+
return true if is == :absent or is == :purged
|
|
160
|
+
when :purged
|
|
161
|
+
return true if is == :purged
|
|
162
|
+
# this handles version number matches and
|
|
163
|
+
# supports providers that can have multiple versions installed
|
|
164
|
+
when *Array(is)
|
|
165
|
+
return true
|
|
166
|
+
end
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
false
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# This retrieves the current state. LAK: I think this method is unused.
|
|
173
|
+
def retrieve
|
|
174
|
+
provider.properties[:ensure]
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
# Provide a bit more information when logging upgrades.
|
|
178
|
+
def should_to_s(newvalue = @should)
|
|
179
|
+
if @latest
|
|
180
|
+
@latest.to_s
|
|
181
|
+
else
|
|
182
|
+
super(newvalue)
|
|
183
|
+
end
|
|
184
|
+
end
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
newparam(:name) do
|
|
188
|
+
desc "The package name. This is the name that the packaging
|
|
189
|
+
system uses internally, which is sometimes (especially on Solaris)
|
|
190
|
+
a name that is basically useless to humans. If you want to
|
|
191
|
+
abstract package installation, then you can use aliases to provide
|
|
192
|
+
a common name to packages:
|
|
193
|
+
|
|
194
|
+
# In the 'openssl' class
|
|
195
|
+
$ssl = $operatingsystem ? {
|
|
196
|
+
solaris => SMCossl,
|
|
197
|
+
default => openssl
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
# It is not an error to set an alias to the same value as the
|
|
201
|
+
# object name.
|
|
202
|
+
package { $ssl:
|
|
203
|
+
ensure => installed,
|
|
204
|
+
alias => openssl
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
. etc. .
|
|
208
|
+
|
|
209
|
+
$ssh = $operatingsystem ? {
|
|
210
|
+
solaris => SMCossh,
|
|
211
|
+
default => openssh
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
# Use the alias to specify a dependency, rather than
|
|
215
|
+
# having another selector to figure it out again.
|
|
216
|
+
package { $ssh:
|
|
217
|
+
ensure => installed,
|
|
218
|
+
alias => openssh,
|
|
219
|
+
require => Package[openssl]
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
"
|
|
223
|
+
isnamevar
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
newparam(:source) do
|
|
227
|
+
desc "Where to find the actual package. This must be a local file
|
|
228
|
+
(or on a network file system) or a URL that your specific
|
|
229
|
+
packaging type understands; Puppet will not retrieve files for you,
|
|
230
|
+
although you can manage packages as `file` resources."
|
|
231
|
+
|
|
232
|
+
validate do |value|
|
|
233
|
+
provider.validate_source(value)
|
|
234
|
+
end
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
newparam(:instance) do
|
|
238
|
+
desc "A read-only parameter set by the package."
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
newparam(:status) do
|
|
242
|
+
desc "A read-only parameter set by the package."
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
newparam(:type) do
|
|
246
|
+
desc "Deprecated form of `provider`."
|
|
247
|
+
|
|
248
|
+
munge do |value|
|
|
249
|
+
warning "'type' is deprecated; use 'provider' instead"
|
|
250
|
+
@resource[:provider] = value
|
|
251
|
+
|
|
252
|
+
@resource[:provider]
|
|
253
|
+
end
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
newparam(:adminfile) do
|
|
257
|
+
desc "A file containing package defaults for installing packages.
|
|
258
|
+
This is currently only used on Solaris. The value will be
|
|
259
|
+
validated according to system rules, which in the case of
|
|
260
|
+
Solaris means that it should either be a fully qualified path
|
|
261
|
+
or it should be in `/var/sadm/install/admin`."
|
|
262
|
+
end
|
|
263
|
+
|
|
264
|
+
newparam(:responsefile) do
|
|
265
|
+
desc "A file containing any necessary answers to questions asked by
|
|
266
|
+
the package. This is currently used on Solaris and Debian. The
|
|
267
|
+
value will be validated according to system rules, but it should
|
|
268
|
+
generally be a fully qualified path."
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
newparam(:configfiles) do
|
|
272
|
+
desc "Whether configfiles should be kept or replaced. Most packages
|
|
273
|
+
types do not support this parameter. Defaults to `keep`."
|
|
274
|
+
|
|
275
|
+
defaultto :keep
|
|
276
|
+
|
|
277
|
+
newvalues(:keep, :replace)
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
newparam(:category) do
|
|
281
|
+
desc "A read-only parameter set by the package."
|
|
282
|
+
end
|
|
283
|
+
newparam(:platform) do
|
|
284
|
+
desc "A read-only parameter set by the package."
|
|
285
|
+
end
|
|
286
|
+
newparam(:root) do
|
|
287
|
+
desc "A read-only parameter set by the package."
|
|
288
|
+
end
|
|
289
|
+
newparam(:vendor) do
|
|
290
|
+
desc "A read-only parameter set by the package."
|
|
291
|
+
end
|
|
292
|
+
newparam(:description) do
|
|
293
|
+
desc "A read-only parameter set by the package."
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
newparam(:allowcdrom) do
|
|
297
|
+
desc "Tells apt to allow cdrom sources in the sources.list file.
|
|
298
|
+
Normally apt will bail if you try this."
|
|
299
|
+
|
|
300
|
+
newvalues(:true, :false)
|
|
301
|
+
end
|
|
302
|
+
|
|
303
|
+
newparam(:flavor) do
|
|
304
|
+
desc "Newer versions of OpenBSD support 'flavors', which are
|
|
305
|
+
further specifications for which type of package you want."
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
newparam(:install_options, :required_features => :install_options) do
|
|
309
|
+
desc <<-'EOT'
|
|
310
|
+
A hash of additional options to pass when installing a package. These
|
|
311
|
+
options are package-specific, and should be documented by the software
|
|
312
|
+
vendor. The most commonly implemented option is `INSTALLDIR`:
|
|
313
|
+
|
|
314
|
+
package { 'mysql':
|
|
315
|
+
ensure => installed,
|
|
316
|
+
provider => 'msi',
|
|
317
|
+
source => 'N:/packages/mysql-5.5.16-winx64.msi',
|
|
318
|
+
install_options => { 'INSTALLDIR' => 'C:\\mysql-5.5' },
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
Since these options are passed verbatim to `msiexec`, any file paths
|
|
322
|
+
specified in `install_options` should use a backslash as the separator
|
|
323
|
+
character rather than a forward slash. This is the **only** place in Puppet
|
|
324
|
+
where backslash separators should be used. Note that backslashes in
|
|
325
|
+
double-quoted strings _must_ be double-escaped and backslashes
|
|
326
|
+
in single-quoted strings _may_ be double-escaped.
|
|
327
|
+
EOT
|
|
328
|
+
end
|
|
329
|
+
|
|
330
|
+
autorequire(:file) do
|
|
331
|
+
autos = []
|
|
332
|
+
[:responsefile, :adminfile].each { |param|
|
|
333
|
+
if val = self[param]
|
|
334
|
+
autos << val
|
|
335
|
+
end
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
if source = self[:source] and absolute_path?(source)
|
|
339
|
+
autos << source
|
|
340
|
+
end
|
|
341
|
+
autos
|
|
342
|
+
end
|
|
343
|
+
|
|
344
|
+
# This only exists for testing.
|
|
345
|
+
def clear
|
|
346
|
+
if obj = @parameters[:ensure]
|
|
347
|
+
obj.latest = nil
|
|
348
|
+
end
|
|
349
|
+
end
|
|
350
|
+
|
|
351
|
+
# The 'query' method returns a hash of info if the package
|
|
352
|
+
# exists and returns nil if it does not.
|
|
353
|
+
def exists?
|
|
354
|
+
@provider.get(:ensure) != :absent
|
|
355
|
+
end
|
|
356
|
+
end
|
|
357
|
+
end
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
#module Puppet
|
|
2
|
+
# newtype(:port) do
|
|
3
|
+
# @doc = "Installs and manages port entries. For most systems, these
|
|
4
|
+
# entries will just be in /etc/services, but some systems (notably OS X)
|
|
5
|
+
# will have different solutions."
|
|
6
|
+
#
|
|
7
|
+
# ensurable
|
|
8
|
+
#
|
|
9
|
+
# newproperty(:protocols) do
|
|
10
|
+
# desc "The protocols the port uses. Valid values are *udp* and *tcp*.
|
|
11
|
+
# Most services have both protocols, but not all. If you want
|
|
12
|
+
# both protocols, you must specify that; Puppet replaces the
|
|
13
|
+
# current values, it does not merge with them. If you specify
|
|
14
|
+
# multiple protocols they must be as an array."
|
|
15
|
+
#
|
|
16
|
+
# def is=(value)
|
|
17
|
+
# case value
|
|
18
|
+
# when String
|
|
19
|
+
# @is = value.split(/\s+/)
|
|
20
|
+
# else
|
|
21
|
+
# @is = value
|
|
22
|
+
# end
|
|
23
|
+
# end
|
|
24
|
+
#
|
|
25
|
+
# def is
|
|
26
|
+
# @is
|
|
27
|
+
# end
|
|
28
|
+
#
|
|
29
|
+
# # We actually want to return the whole array here, not just the first
|
|
30
|
+
# # value.
|
|
31
|
+
# def should
|
|
32
|
+
# if defined?(@should)
|
|
33
|
+
# if @should[0] == :absent
|
|
34
|
+
# return :absent
|
|
35
|
+
# else
|
|
36
|
+
# return @should
|
|
37
|
+
# end
|
|
38
|
+
# else
|
|
39
|
+
# return nil
|
|
40
|
+
# end
|
|
41
|
+
# end
|
|
42
|
+
#
|
|
43
|
+
# validate do |value|
|
|
44
|
+
# valids = ["udp", "tcp", "ddp", :absent]
|
|
45
|
+
# unless valids.include? value
|
|
46
|
+
# raise Puppet::Error,
|
|
47
|
+
# "Protocols can be either 'udp' or 'tcp', not #{value}"
|
|
48
|
+
# end
|
|
49
|
+
# end
|
|
50
|
+
# end
|
|
51
|
+
#
|
|
52
|
+
# newproperty(:number) do
|
|
53
|
+
# desc "The port number."
|
|
54
|
+
# end
|
|
55
|
+
#
|
|
56
|
+
# newproperty(:description) do
|
|
57
|
+
# desc "The port description."
|
|
58
|
+
# end
|
|
59
|
+
#
|
|
60
|
+
# newproperty(:port_aliases) do
|
|
61
|
+
# desc 'Any aliases the port might have. Multiple values must be
|
|
62
|
+
# specified as an array. Note that this property is not the same as
|
|
63
|
+
# the "alias" metaparam; use this property to add aliases to a port
|
|
64
|
+
# in the services file, and "alias" to aliases for use in your Puppet
|
|
65
|
+
# scripts.'
|
|
66
|
+
#
|
|
67
|
+
# # We actually want to return the whole array here, not just the first
|
|
68
|
+
# # value.
|
|
69
|
+
# def should
|
|
70
|
+
# if defined?(@should)
|
|
71
|
+
# if @should[0] == :absent
|
|
72
|
+
# return :absent
|
|
73
|
+
# else
|
|
74
|
+
# return @should
|
|
75
|
+
# end
|
|
76
|
+
# else
|
|
77
|
+
# return nil
|
|
78
|
+
# end
|
|
79
|
+
# end
|
|
80
|
+
#
|
|
81
|
+
# validate do |value|
|
|
82
|
+
# if value.is_a? String and value =~ /\s/
|
|
83
|
+
# raise Puppet::Error,
|
|
84
|
+
# "Aliases cannot have whitespace in them: %s" %
|
|
85
|
+
# value.inspect
|
|
86
|
+
# end
|
|
87
|
+
# end
|
|
88
|
+
#
|
|
89
|
+
# munge do |value|
|
|
90
|
+
# unless value == "absent" or value == :absent
|
|
91
|
+
# # Add the :alias metaparam in addition to the property
|
|
92
|
+
# @resource.newmetaparam(
|
|
93
|
+
# @resource.class.metaparamclass(:alias), value
|
|
94
|
+
# )
|
|
95
|
+
# end
|
|
96
|
+
# value
|
|
97
|
+
# end
|
|
98
|
+
# end
|
|
99
|
+
#
|
|
100
|
+
# newproperty(:target) do
|
|
101
|
+
# desc "The file in which to store service information. Only used by
|
|
102
|
+
# those providers that write to disk."
|
|
103
|
+
#
|
|
104
|
+
# defaultto { if @resource.class.defaultprovider.ancestors.include?(Puppet::Provider::ParsedFile)
|
|
105
|
+
# @resource.class.defaultprovider.default_target
|
|
106
|
+
# else
|
|
107
|
+
# nil
|
|
108
|
+
# end
|
|
109
|
+
# }
|
|
110
|
+
# end
|
|
111
|
+
#
|
|
112
|
+
# newparam(:name) do
|
|
113
|
+
# desc "The port name."
|
|
114
|
+
#
|
|
115
|
+
# isnamevar
|
|
116
|
+
# end
|
|
117
|
+
# end
|
|
118
|
+
#end
|
|
119
|
+
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
require 'puppet'
|
|
2
|
+
|
|
3
|
+
Puppet::Type.newtype(:resources) do
|
|
4
|
+
@doc = "This is a metatype that can manage other resource types. Any
|
|
5
|
+
metaparams specified here will be passed on to any generated resources,
|
|
6
|
+
so you can purge umanaged resources but set `noop` to true so the
|
|
7
|
+
purging is only logged and does not actually happen."
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
newparam(:name) do
|
|
11
|
+
desc "The name of the type to be managed."
|
|
12
|
+
|
|
13
|
+
validate do |name|
|
|
14
|
+
raise ArgumentError, "Could not find resource type '#{name}'" unless Puppet::Type.type(name)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
munge { |v| v.to_s }
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
newparam(:purge, :boolean => true) do
|
|
21
|
+
desc "Purge unmanaged resources. This will delete any resource
|
|
22
|
+
that is not specified in your configuration
|
|
23
|
+
and is not required by any specified resources."
|
|
24
|
+
|
|
25
|
+
newvalues(:true, :false)
|
|
26
|
+
|
|
27
|
+
validate do |value|
|
|
28
|
+
if [:true, true, "true"].include?(value)
|
|
29
|
+
unless @resource.resource_type.respond_to?(:instances)
|
|
30
|
+
raise ArgumentError, "Purging resources of type #{@resource[:name]} is not supported, since they cannot be queried from the system"
|
|
31
|
+
end
|
|
32
|
+
raise ArgumentError, "Purging is only supported on types that accept 'ensure'" unless @resource.resource_type.validproperty?(:ensure)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
newparam(:unless_system_user) do
|
|
38
|
+
desc "This keeps system users from being purged. By default, it
|
|
39
|
+
does not purge users whose UIDs are less than or equal to 500, but you can specify
|
|
40
|
+
a different UID as the inclusive limit."
|
|
41
|
+
|
|
42
|
+
newvalues(:true, :false, /^\d+$/)
|
|
43
|
+
|
|
44
|
+
munge do |value|
|
|
45
|
+
case value
|
|
46
|
+
when /^\d+/
|
|
47
|
+
Integer(value)
|
|
48
|
+
when :true, true
|
|
49
|
+
500
|
|
50
|
+
when :false, false
|
|
51
|
+
false
|
|
52
|
+
when Integer; value
|
|
53
|
+
else
|
|
54
|
+
raise ArgumentError, "Invalid value #{value.inspect}"
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
defaultto {
|
|
59
|
+
if @resource[:name] == "user"
|
|
60
|
+
500
|
|
61
|
+
else
|
|
62
|
+
nil
|
|
63
|
+
end
|
|
64
|
+
}
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def check(resource)
|
|
68
|
+
@checkmethod ||= "#{self[:name]}_check"
|
|
69
|
+
@hascheck ||= respond_to?(@checkmethod)
|
|
70
|
+
if @hascheck
|
|
71
|
+
return send(@checkmethod, resource)
|
|
72
|
+
else
|
|
73
|
+
return true
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def able_to_ensure_absent?(resource)
|
|
78
|
+
resource[:ensure] = :absent
|
|
79
|
+
rescue ArgumentError, Puppet::Error => detail
|
|
80
|
+
err "The 'ensure' attribute on #{self[:name]} resources does not accept 'absent' as a value"
|
|
81
|
+
false
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# Generate any new resources we need to manage. This is pretty hackish
|
|
85
|
+
# right now, because it only supports purging.
|
|
86
|
+
def generate
|
|
87
|
+
return [] unless self.purge?
|
|
88
|
+
resource_type.instances.
|
|
89
|
+
reject { |r| catalog.resource_refs.include? r.ref }.
|
|
90
|
+
select { |r| check(r) }.
|
|
91
|
+
select { |r| r.class.validproperty?(:ensure) }.
|
|
92
|
+
select { |r| able_to_ensure_absent?(r) }.
|
|
93
|
+
each { |resource|
|
|
94
|
+
@parameters.each do |name, param|
|
|
95
|
+
resource[name] = param.value if param.metaparam?
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# Mark that we're purging, so transactions can handle relationships
|
|
99
|
+
# correctly
|
|
100
|
+
resource.purging
|
|
101
|
+
}
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def resource_type
|
|
105
|
+
unless defined?(@resource_type)
|
|
106
|
+
unless type = Puppet::Type.type(self[:name])
|
|
107
|
+
raise Puppet::DevError, "Could not find resource type"
|
|
108
|
+
end
|
|
109
|
+
@resource_type = type
|
|
110
|
+
end
|
|
111
|
+
@resource_type
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# Make sure we don't purge users below a certain uid, if the check
|
|
115
|
+
# is enabled.
|
|
116
|
+
def user_check(resource)
|
|
117
|
+
return true unless self[:name] == "user"
|
|
118
|
+
return true unless self[:unless_system_user]
|
|
119
|
+
|
|
120
|
+
resource[:audit] = :uid
|
|
121
|
+
|
|
122
|
+
return false if system_users.include?(resource[:name])
|
|
123
|
+
|
|
124
|
+
current_values = resource.retrieve_resource
|
|
125
|
+
current_values[resource.property(:uid)] > self[:unless_system_user]
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
def system_users
|
|
129
|
+
%w{root nobody bin noaccess daemon sys}
|
|
130
|
+
end
|
|
131
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Manage a router abstraction
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
module Puppet
|
|
6
|
+
newtype(:router) do
|
|
7
|
+
@doc = "Manages connected router."
|
|
8
|
+
|
|
9
|
+
newparam(:url) do
|
|
10
|
+
desc <<-EOT
|
|
11
|
+
An SSH or telnet URL at which to access the router, in the form
|
|
12
|
+
`ssh://user:pass:enable@host/` or `telnet://user:pass:enable@host/`.
|
|
13
|
+
EOT
|
|
14
|
+
isnamevar
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|