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,275 @@
|
|
|
1
|
+
require 'puppet/application'
|
|
2
|
+
|
|
3
|
+
class Puppet::Application::Doc < Puppet::Application
|
|
4
|
+
should_not_parse_config
|
|
5
|
+
run_mode :master
|
|
6
|
+
|
|
7
|
+
attr_accessor :unknown_args, :manifest
|
|
8
|
+
|
|
9
|
+
def preinit
|
|
10
|
+
{:references => [], :mode => :text, :format => :to_markdown }.each do |name,value|
|
|
11
|
+
options[name] = value
|
|
12
|
+
end
|
|
13
|
+
@unknown_args = []
|
|
14
|
+
@manifest = false
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
option("--all","-a")
|
|
18
|
+
option("--outputdir OUTPUTDIR","-o")
|
|
19
|
+
option("--verbose","-v")
|
|
20
|
+
option("--debug","-d")
|
|
21
|
+
option("--charset CHARSET")
|
|
22
|
+
|
|
23
|
+
option("--format FORMAT", "-f") do |arg|
|
|
24
|
+
method = "to_#{arg}"
|
|
25
|
+
require 'puppet/util/reference'
|
|
26
|
+
if Puppet::Util::Reference.method_defined?(method)
|
|
27
|
+
options[:format] = method
|
|
28
|
+
else
|
|
29
|
+
raise "Invalid output format #{arg}"
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
option("--mode MODE", "-m") do |arg|
|
|
34
|
+
require 'puppet/util/reference'
|
|
35
|
+
if Puppet::Util::Reference.modes.include?(arg) or arg.intern==:rdoc
|
|
36
|
+
options[:mode] = arg.intern
|
|
37
|
+
else
|
|
38
|
+
raise "Invalid output mode #{arg}"
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
option("--list", "-l") do |arg|
|
|
43
|
+
require 'puppet/util/reference'
|
|
44
|
+
puts Puppet::Util::Reference.references.collect { |r| Puppet::Util::Reference.reference(r).doc }.join("\n")
|
|
45
|
+
exit(0)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
option("--reference REFERENCE", "-r") do |arg|
|
|
49
|
+
options[:references] << arg.intern
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def help
|
|
53
|
+
<<-'HELP'
|
|
54
|
+
|
|
55
|
+
puppet-doc(8) -- Generate Puppet documentation and references
|
|
56
|
+
========
|
|
57
|
+
|
|
58
|
+
SYNOPSIS
|
|
59
|
+
--------
|
|
60
|
+
Generates a reference for all Puppet types. Largely meant for internal
|
|
61
|
+
Puppet Labs use.
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
USAGE
|
|
65
|
+
-----
|
|
66
|
+
puppet doc [-a|--all] [-h|--help] [-o|--outputdir <rdoc-outputdir>]
|
|
67
|
+
[-m|--mode text|pdf|rdoc] [-r|--reference <reference-name>]
|
|
68
|
+
[--charset <charset>] [<manifest-file>]
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
DESCRIPTION
|
|
72
|
+
-----------
|
|
73
|
+
If mode is not 'rdoc', then this command generates a Markdown document
|
|
74
|
+
describing all installed Puppet types or all allowable arguments to
|
|
75
|
+
puppet executables. It is largely meant for internal use and is used to
|
|
76
|
+
generate the reference document available on the Puppet Labs web site.
|
|
77
|
+
|
|
78
|
+
In 'rdoc' mode, this command generates an html RDoc hierarchy describing
|
|
79
|
+
the manifests that are in 'manifestdir' and 'modulepath' configuration
|
|
80
|
+
directives. The generated documentation directory is doc by default but
|
|
81
|
+
can be changed with the 'outputdir' option.
|
|
82
|
+
|
|
83
|
+
If the command is run with the name of a manifest file as an argument,
|
|
84
|
+
puppet doc will output a single manifest's documentation on stdout.
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
OPTIONS
|
|
88
|
+
-------
|
|
89
|
+
* --all:
|
|
90
|
+
Output the docs for all of the reference types. In 'rdoc' mode, this also
|
|
91
|
+
outputs documentation for all resources.
|
|
92
|
+
|
|
93
|
+
* --help:
|
|
94
|
+
Print this help message
|
|
95
|
+
|
|
96
|
+
* --outputdir:
|
|
97
|
+
Used only in 'rdoc' mode. The directory to which the rdoc output should
|
|
98
|
+
be written.
|
|
99
|
+
|
|
100
|
+
* --mode:
|
|
101
|
+
Determine the output mode. Valid modes are 'text', 'pdf' and 'rdoc'. The 'pdf'
|
|
102
|
+
mode creates PDF formatted files in the /tmp directory. The default mode is
|
|
103
|
+
'text'. In 'rdoc' mode you must provide 'manifests-path'
|
|
104
|
+
|
|
105
|
+
* --reference:
|
|
106
|
+
Build a particular reference. Get a list of references by running
|
|
107
|
+
'puppet doc --list'.
|
|
108
|
+
|
|
109
|
+
* --charset:
|
|
110
|
+
Used only in 'rdoc' mode. It sets the charset used in the html files produced.
|
|
111
|
+
|
|
112
|
+
* --manifestdir:
|
|
113
|
+
Used only in 'rdoc' mode. The directory to scan for stand-alone manifests.
|
|
114
|
+
If not supplied, puppet doc will use the manifestdir from puppet.conf.
|
|
115
|
+
|
|
116
|
+
* --modulepath:
|
|
117
|
+
Used only in 'rdoc' mode. The directory or directories to scan for modules.
|
|
118
|
+
If not supplied, puppet doc will use the modulepath from puppet.conf.
|
|
119
|
+
|
|
120
|
+
* --environment:
|
|
121
|
+
Used only in 'rdoc' mode. The configuration environment from which
|
|
122
|
+
to read the modulepath and manifestdir settings, when reading said settings
|
|
123
|
+
from puppet.conf. Due to a known bug, this option is not currently effective.
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
EXAMPLE
|
|
127
|
+
-------
|
|
128
|
+
$ puppet doc -r type > /tmp/type_reference.markdown
|
|
129
|
+
|
|
130
|
+
or
|
|
131
|
+
|
|
132
|
+
$ puppet doc --outputdir /tmp/rdoc --mode rdoc /path/to/manifests
|
|
133
|
+
|
|
134
|
+
or
|
|
135
|
+
|
|
136
|
+
$ puppet doc /etc/puppet/manifests/site.pp
|
|
137
|
+
|
|
138
|
+
or
|
|
139
|
+
|
|
140
|
+
$ puppet doc -m pdf -r configuration
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
AUTHOR
|
|
144
|
+
------
|
|
145
|
+
Luke Kanies
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
COPYRIGHT
|
|
149
|
+
---------
|
|
150
|
+
Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
|
|
151
|
+
|
|
152
|
+
HELP
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
def handle_unknown( opt, arg )
|
|
156
|
+
@unknown_args << {:opt => opt, :arg => arg }
|
|
157
|
+
true
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
def run_command
|
|
161
|
+
return[:rdoc].include?(options[:mode]) ? send(options[:mode]) : other
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
def rdoc
|
|
165
|
+
exit_code = 0
|
|
166
|
+
files = []
|
|
167
|
+
unless @manifest
|
|
168
|
+
env = Puppet::Node::Environment.new
|
|
169
|
+
files += env.modulepath
|
|
170
|
+
files << ::File.dirname(env[:manifest])
|
|
171
|
+
end
|
|
172
|
+
files += command_line.args
|
|
173
|
+
Puppet.info "scanning: #{files.inspect}"
|
|
174
|
+
|
|
175
|
+
Puppet.settings[:document_all] = options[:all] || false
|
|
176
|
+
begin
|
|
177
|
+
require 'puppet/util/rdoc'
|
|
178
|
+
if @manifest
|
|
179
|
+
Puppet::Util::RDoc.manifestdoc(files)
|
|
180
|
+
else
|
|
181
|
+
options[:outputdir] = "doc" unless options[:outputdir]
|
|
182
|
+
Puppet::Util::RDoc.rdoc(options[:outputdir], files, options[:charset])
|
|
183
|
+
end
|
|
184
|
+
rescue => detail
|
|
185
|
+
puts detail.backtrace if Puppet[:trace]
|
|
186
|
+
$stderr.puts "Could not generate documentation: #{detail}"
|
|
187
|
+
exit_code = 1
|
|
188
|
+
end
|
|
189
|
+
exit exit_code
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
def other
|
|
193
|
+
text = ""
|
|
194
|
+
with_contents = options[:references].length <= 1
|
|
195
|
+
exit_code = 0
|
|
196
|
+
require 'puppet/util/reference'
|
|
197
|
+
options[:references].sort { |a,b| a.to_s <=> b.to_s }.each do |name|
|
|
198
|
+
raise "Could not find reference #{name}" unless section = Puppet::Util::Reference.reference(name)
|
|
199
|
+
|
|
200
|
+
begin
|
|
201
|
+
# Add the per-section text, but with no ToC
|
|
202
|
+
text += section.send(options[:format], with_contents)
|
|
203
|
+
rescue => detail
|
|
204
|
+
puts detail.backtrace
|
|
205
|
+
$stderr.puts "Could not generate reference #{name}: #{detail}"
|
|
206
|
+
exit_code = 1
|
|
207
|
+
next
|
|
208
|
+
end
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
text += Puppet::Util::Reference.footer unless with_contents # We've only got one reference
|
|
212
|
+
|
|
213
|
+
if options[:mode] == :pdf
|
|
214
|
+
Puppet::Util::Reference.pdf(text)
|
|
215
|
+
else
|
|
216
|
+
puts text
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
exit exit_code
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
def setup
|
|
223
|
+
# sole manifest documentation
|
|
224
|
+
if command_line.args.size > 0
|
|
225
|
+
options[:mode] = :rdoc
|
|
226
|
+
@manifest = true
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
if options[:mode] == :rdoc
|
|
230
|
+
setup_rdoc
|
|
231
|
+
else
|
|
232
|
+
setup_reference
|
|
233
|
+
end
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
def setup_reference
|
|
237
|
+
if options[:all]
|
|
238
|
+
# Don't add dynamic references to the "all" list.
|
|
239
|
+
require 'puppet/util/reference'
|
|
240
|
+
options[:references] = Puppet::Util::Reference.references.reject do |ref|
|
|
241
|
+
Puppet::Util::Reference.reference(ref).dynamic?
|
|
242
|
+
end
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
options[:references] << :type if options[:references].empty?
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
def setup_rdoc(dummy_argument=:work_arround_for_ruby_GC_bug)
|
|
249
|
+
# consume the unknown options
|
|
250
|
+
# and feed them as settings
|
|
251
|
+
if @unknown_args.size > 0
|
|
252
|
+
@unknown_args.each do |option|
|
|
253
|
+
# force absolute path for modulepath when passed on commandline
|
|
254
|
+
if option[:opt]=="--modulepath" or option[:opt] == "--manifestdir"
|
|
255
|
+
option[:arg] = option[:arg].split(::File::PATH_SEPARATOR).collect { |p| ::File.expand_path(p) }.join(::File::PATH_SEPARATOR)
|
|
256
|
+
end
|
|
257
|
+
Puppet.settings.handlearg(option[:opt], option[:arg])
|
|
258
|
+
end
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
# Now parse the config
|
|
262
|
+
Puppet.parse_config
|
|
263
|
+
|
|
264
|
+
# Handle the logging settings.
|
|
265
|
+
if options[:debug] or options[:verbose]
|
|
266
|
+
if options[:debug]
|
|
267
|
+
Puppet::Util::Log.level = :debug
|
|
268
|
+
else
|
|
269
|
+
Puppet::Util::Log.level = :info
|
|
270
|
+
end
|
|
271
|
+
|
|
272
|
+
Puppet::Util::Log.newdestination(:console)
|
|
273
|
+
end
|
|
274
|
+
end
|
|
275
|
+
end
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
require 'puppet/application'
|
|
2
|
+
require 'puppet/face'
|
|
3
|
+
require 'optparse'
|
|
4
|
+
require 'pp'
|
|
5
|
+
|
|
6
|
+
class Puppet::Application::FaceBase < Puppet::Application
|
|
7
|
+
should_parse_config
|
|
8
|
+
run_mode :agent
|
|
9
|
+
|
|
10
|
+
option("--debug", "-d") do |arg|
|
|
11
|
+
Puppet::Util::Log.level = :debug
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
option("--verbose", "-v") do
|
|
15
|
+
Puppet::Util::Log.level = :info
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
option("--render-as FORMAT") do |format|
|
|
19
|
+
self.render_as = format.to_sym
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
option("--mode RUNMODE", "-r") do |arg|
|
|
23
|
+
raise "Invalid run mode #{arg}; supported modes are user, agent, master" unless %w{user agent master}.include?(arg)
|
|
24
|
+
self.class.run_mode(arg.to_sym)
|
|
25
|
+
set_run_mode self.class.run_mode
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
attr_accessor :face, :action, :type, :arguments, :render_as
|
|
30
|
+
|
|
31
|
+
def render_as=(format)
|
|
32
|
+
if format == :json then
|
|
33
|
+
@render_as = Puppet::Network::FormatHandler.format(:pson)
|
|
34
|
+
else
|
|
35
|
+
@render_as = Puppet::Network::FormatHandler.format(format)
|
|
36
|
+
end
|
|
37
|
+
@render_as or raise ArgumentError, "I don't know how to render '#{format}'"
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def render(result, args_and_options)
|
|
41
|
+
hook = action.when_rendering(render_as.name)
|
|
42
|
+
|
|
43
|
+
if hook
|
|
44
|
+
# when defining when_rendering on your action you can optionally
|
|
45
|
+
# include arguments and options
|
|
46
|
+
if hook.arity > 1
|
|
47
|
+
result = hook.call(result, *args_and_options)
|
|
48
|
+
else
|
|
49
|
+
result = hook.call(result)
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
render_as.render(result)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def preinit
|
|
57
|
+
super
|
|
58
|
+
Signal.trap(:INT) do
|
|
59
|
+
$stderr.puts "Cancelling Face"
|
|
60
|
+
exit(0)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def parse_options
|
|
65
|
+
# We need to parse enough of the command line out early, to identify what
|
|
66
|
+
# the action is, so that we can obtain the full set of options to parse.
|
|
67
|
+
|
|
68
|
+
# REVISIT: These should be configurable versions, through a global
|
|
69
|
+
# '--version' option, but we don't implement that yet... --daniel 2011-03-29
|
|
70
|
+
@type = self.class.name.to_s.sub(/.+:/, '').downcase.to_sym
|
|
71
|
+
@face = Puppet::Face[@type, :current]
|
|
72
|
+
|
|
73
|
+
# Now, walk the command line and identify the action. We skip over
|
|
74
|
+
# arguments based on introspecting the action and all, and find the first
|
|
75
|
+
# non-option word to use as the action.
|
|
76
|
+
action_name = nil
|
|
77
|
+
index = -1
|
|
78
|
+
until action_name or (index += 1) >= command_line.args.length do
|
|
79
|
+
item = command_line.args[index]
|
|
80
|
+
if item =~ /^-/ then
|
|
81
|
+
option = @face.options.find do |name|
|
|
82
|
+
item =~ /^-+#{name.to_s.gsub(/[-_]/, '[-_]')}(?:[ =].*)?$/
|
|
83
|
+
end
|
|
84
|
+
if option then
|
|
85
|
+
option = @face.get_option(option)
|
|
86
|
+
# If we have an inline argument, just carry on. We don't need to
|
|
87
|
+
# care about optional vs mandatory in that case because we do a real
|
|
88
|
+
# parse later, and that will totally take care of raising the error
|
|
89
|
+
# when we get there. --daniel 2011-04-04
|
|
90
|
+
if option.takes_argument? and !item.index('=') then
|
|
91
|
+
index += 1 unless
|
|
92
|
+
(option.optional_argument? and command_line.args[index + 1] =~ /^-/)
|
|
93
|
+
end
|
|
94
|
+
elsif option = find_global_settings_argument(item) then
|
|
95
|
+
unless Puppet.settings.boolean? option.name then
|
|
96
|
+
# As far as I can tell, we treat non-bool options as always having
|
|
97
|
+
# a mandatory argument. --daniel 2011-04-05
|
|
98
|
+
index += 1 # ...so skip the argument.
|
|
99
|
+
end
|
|
100
|
+
elsif option = find_application_argument(item) then
|
|
101
|
+
index += 1 if (option[:argument] and not option[:optional])
|
|
102
|
+
else
|
|
103
|
+
raise OptionParser::InvalidOption.new(item.sub(/=.*$/, ''))
|
|
104
|
+
end
|
|
105
|
+
else
|
|
106
|
+
# Stash away the requested action name for later, and try to fetch the
|
|
107
|
+
# action object it represents; if this is an invalid action name that
|
|
108
|
+
# will be nil, and handled later.
|
|
109
|
+
action_name = item.to_sym
|
|
110
|
+
@action = Puppet::Face.find_action(@face.name, action_name)
|
|
111
|
+
@face = @action.face if @action
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
if @action.nil?
|
|
116
|
+
if @action = @face.get_default_action() then
|
|
117
|
+
@is_default_action = true
|
|
118
|
+
else
|
|
119
|
+
# REVISIT: ...and this horror thanks to our log setup, which doesn't
|
|
120
|
+
# initialize destinations until the setup method, which we will never
|
|
121
|
+
# reach. We could also just print here, but that is actually a little
|
|
122
|
+
# uglier and nastier in the long term, in which we should do log setup
|
|
123
|
+
# earlier if at all possible. --daniel 2011-05-31
|
|
124
|
+
Puppet::Util::Log.newdestination(:console)
|
|
125
|
+
|
|
126
|
+
face = @face.name
|
|
127
|
+
action = action_name.nil? ? 'default' : "'#{action_name}'"
|
|
128
|
+
msg = "'#{face}' has no #{action} action. See `puppet help #{face}`."
|
|
129
|
+
Puppet.err(msg)
|
|
130
|
+
|
|
131
|
+
exit false
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
# Now we can interact with the default option code to build behaviour
|
|
136
|
+
# around the full set of options we now know we support.
|
|
137
|
+
@action.options.each do |option|
|
|
138
|
+
option = @action.get_option(option) # make it the object.
|
|
139
|
+
self.class.option(*option.optparse) # ...and make the CLI parse it.
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
# ...and invoke our parent to parse all the command line options.
|
|
143
|
+
super
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
def find_global_settings_argument(item)
|
|
147
|
+
Puppet.settings.each do |name, object|
|
|
148
|
+
object.optparse_args.each do |arg|
|
|
149
|
+
next unless arg =~ /^-/
|
|
150
|
+
# sadly, we have to emulate some of optparse here...
|
|
151
|
+
pattern = /^#{arg.sub('[no-]', '').sub(/[ =].*$/, '')}(?:[ =].*)?$/
|
|
152
|
+
pattern.match item and return object
|
|
153
|
+
end
|
|
154
|
+
end
|
|
155
|
+
return nil # nothing found.
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
def find_application_argument(item)
|
|
159
|
+
self.class.option_parser_commands.each do |options, function|
|
|
160
|
+
options.each do |option|
|
|
161
|
+
next unless option =~ /^-/
|
|
162
|
+
pattern = /^#{option.sub('[no-]', '').sub(/[ =].*$/, '')}(?:[ =].*)?$/
|
|
163
|
+
next unless pattern.match(item)
|
|
164
|
+
return {
|
|
165
|
+
:argument => option =~ /[ =]/,
|
|
166
|
+
:optional => option =~ /[ =]\[/
|
|
167
|
+
}
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
return nil # not found
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
def setup
|
|
174
|
+
Puppet::Util::Log.newdestination :console
|
|
175
|
+
|
|
176
|
+
@arguments = command_line.args
|
|
177
|
+
|
|
178
|
+
# Note: because of our definition of where the action is set, we end up
|
|
179
|
+
# with it *always* being the first word of the remaining set of command
|
|
180
|
+
# line arguments. So, strip that off when we construct the arguments to
|
|
181
|
+
# pass down to the face action. --daniel 2011-04-04
|
|
182
|
+
# Of course, now that we have default actions, we should leave the
|
|
183
|
+
# "action" name on if we didn't actually consume it when we found our
|
|
184
|
+
# action.
|
|
185
|
+
@arguments.delete_at(0) unless @is_default_action
|
|
186
|
+
|
|
187
|
+
# We copy all of the app options to the end of the call; This allows each
|
|
188
|
+
# action to read in the options. This replaces the older model where we
|
|
189
|
+
# would invoke the action with options set as global state in the
|
|
190
|
+
# interface object. --daniel 2011-03-28
|
|
191
|
+
@arguments << options
|
|
192
|
+
|
|
193
|
+
# If we don't have a rendering format, set one early.
|
|
194
|
+
self.render_as ||= (@action.render_as || :console)
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
def main
|
|
199
|
+
status = false
|
|
200
|
+
|
|
201
|
+
# Call the method associated with the provided action (e.g., 'find').
|
|
202
|
+
unless @action
|
|
203
|
+
puts Puppet::Face[:help, :current].help(@face.name)
|
|
204
|
+
raise "#{face} does not respond to action #{arguments.first}"
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
# We need to do arity checking here because this is generic code
|
|
208
|
+
# calling generic methods – that have argument defaulting. We need to
|
|
209
|
+
# make sure we don't accidentally pass the options as the first
|
|
210
|
+
# argument to a method that takes one argument. eg:
|
|
211
|
+
#
|
|
212
|
+
# puppet facts find
|
|
213
|
+
# => options => {}
|
|
214
|
+
# @arguments => [{}]
|
|
215
|
+
# => @face.send :bar, {}
|
|
216
|
+
#
|
|
217
|
+
# def face.bar(argument, options = {})
|
|
218
|
+
# => bar({}, {}) # oops! we thought the options were the
|
|
219
|
+
# # positional argument!!
|
|
220
|
+
#
|
|
221
|
+
# We could also fix this by making it mandatory to pass the options on
|
|
222
|
+
# every call, but that would make the Ruby API much more annoying to
|
|
223
|
+
# work with; having the defaulting is a much nicer convention to have.
|
|
224
|
+
#
|
|
225
|
+
# We could also pass the arguments implicitly, by having a magic
|
|
226
|
+
# 'options' method that was visible in the scope of the action, which
|
|
227
|
+
# returned the right stuff.
|
|
228
|
+
#
|
|
229
|
+
# That sounds attractive, but adds complications to all sorts of
|
|
230
|
+
# things, especially when you think about how to pass options when you
|
|
231
|
+
# are writing Ruby code that calls multiple faces. Especially if
|
|
232
|
+
# faces are involved in that. ;)
|
|
233
|
+
#
|
|
234
|
+
# --daniel 2011-04-27
|
|
235
|
+
if (arity = @action.positional_arg_count) > 0
|
|
236
|
+
unless (count = arguments.length) == arity then
|
|
237
|
+
s = arity == 2 ? '' : 's'
|
|
238
|
+
raise ArgumentError, "puppet #{@face.name} #{@action.name} takes #{arity-1} argument#{s}, but you gave #{count-1}"
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
result = @face.send(@action.name, *arguments)
|
|
243
|
+
puts render(result, arguments) unless result.nil?
|
|
244
|
+
status = true
|
|
245
|
+
|
|
246
|
+
# We need an easy way for the action to set a specific exit code, so we
|
|
247
|
+
# rescue SystemExit here; This allows each action to set the desired exit
|
|
248
|
+
# code by simply calling Kernel::exit. eg:
|
|
249
|
+
#
|
|
250
|
+
# exit(2)
|
|
251
|
+
#
|
|
252
|
+
# --kelsey 2012-02-14
|
|
253
|
+
rescue SystemExit => detail
|
|
254
|
+
status = detail.status
|
|
255
|
+
|
|
256
|
+
rescue Exception => detail
|
|
257
|
+
puts detail.backtrace if Puppet[:trace]
|
|
258
|
+
Puppet.err detail.to_s
|
|
259
|
+
Puppet.err "Try 'puppet help #{@face.name} #{@action.name}' for usage"
|
|
260
|
+
|
|
261
|
+
ensure
|
|
262
|
+
exit status
|
|
263
|
+
end
|
|
264
|
+
end
|