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,316 @@
|
|
|
1
|
+
require 'puppet/util/methodhelper'
|
|
2
|
+
require 'puppet/util/log_paths'
|
|
3
|
+
require 'puppet/util/logging'
|
|
4
|
+
require 'puppet/util/docs'
|
|
5
|
+
|
|
6
|
+
class Puppet::Parameter
|
|
7
|
+
include Puppet::Util
|
|
8
|
+
include Puppet::Util::Errors
|
|
9
|
+
include Puppet::Util::LogPaths
|
|
10
|
+
include Puppet::Util::Logging
|
|
11
|
+
include Puppet::Util::MethodHelper
|
|
12
|
+
|
|
13
|
+
require 'puppet/parameter/value_collection'
|
|
14
|
+
|
|
15
|
+
class << self
|
|
16
|
+
include Puppet::Util
|
|
17
|
+
include Puppet::Util::Docs
|
|
18
|
+
attr_reader :validater, :munger, :name, :default, :required_features, :value_collection
|
|
19
|
+
attr_accessor :metaparam
|
|
20
|
+
|
|
21
|
+
# Define the default value for a given parameter or parameter. This
|
|
22
|
+
# means that 'nil' is an invalid default value. This defines
|
|
23
|
+
# the 'default' instance method.
|
|
24
|
+
def defaultto(value = nil, &block)
|
|
25
|
+
if block
|
|
26
|
+
define_method(:default, &block)
|
|
27
|
+
else
|
|
28
|
+
if value.nil?
|
|
29
|
+
raise Puppet::DevError,
|
|
30
|
+
"Either a default value or block must be provided"
|
|
31
|
+
end
|
|
32
|
+
define_method(:default) do value end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Return a documentation string. If there are valid values,
|
|
37
|
+
# then tack them onto the string.
|
|
38
|
+
def doc
|
|
39
|
+
@doc ||= ""
|
|
40
|
+
|
|
41
|
+
unless defined?(@addeddocvals)
|
|
42
|
+
@doc += value_collection.doc
|
|
43
|
+
|
|
44
|
+
if f = self.required_features
|
|
45
|
+
@doc += " Requires features #{f.flatten.collect { |f| f.to_s }.join(" ")}."
|
|
46
|
+
end
|
|
47
|
+
@addeddocvals = true
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
@doc
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def nodefault
|
|
54
|
+
undef_method :default if public_method_defined? :default
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Store documentation for this parameter.
|
|
58
|
+
def desc(str)
|
|
59
|
+
@doc = str
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def initvars
|
|
63
|
+
@value_collection = ValueCollection.new
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# This is how we munge the value. Basically, this is our
|
|
67
|
+
# opportunity to convert the value from one form into another.
|
|
68
|
+
def munge(&block)
|
|
69
|
+
# I need to wrap the unsafe version in begin/rescue parameterments,
|
|
70
|
+
# but if I directly call the block then it gets bound to the
|
|
71
|
+
# class's context, not the instance's, thus the two methods,
|
|
72
|
+
# instead of just one.
|
|
73
|
+
define_method(:unsafe_munge, &block)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# Does the parameter support reverse munging?
|
|
77
|
+
# This will be called when something wants to access the parameter
|
|
78
|
+
# in a canonical form different to what the storage form is.
|
|
79
|
+
def unmunge(&block)
|
|
80
|
+
define_method(:unmunge, &block)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Mark whether we're the namevar.
|
|
84
|
+
def isnamevar
|
|
85
|
+
@isnamevar = true
|
|
86
|
+
@required = true
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# Is this parameter the namevar? Defaults to false.
|
|
90
|
+
def isnamevar?
|
|
91
|
+
@isnamevar
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# This parameter is required.
|
|
95
|
+
def isrequired
|
|
96
|
+
@required = true
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
# Specify features that are required for this parameter to work.
|
|
100
|
+
def required_features=(*args)
|
|
101
|
+
@required_features = args.flatten.collect { |a| a.to_s.downcase.intern }
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# Is this parameter required? Defaults to false.
|
|
105
|
+
def required?
|
|
106
|
+
@required
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Verify that we got a good value
|
|
110
|
+
def validate(&block)
|
|
111
|
+
define_method(:unsafe_validate, &block)
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# Define a new value for our parameter.
|
|
115
|
+
def newvalues(*names)
|
|
116
|
+
@value_collection.newvalues(*names)
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
def aliasvalue(name, other)
|
|
120
|
+
@value_collection.aliasvalue(name, other)
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# Just a simple method to proxy instance methods to class methods
|
|
125
|
+
def self.proxymethods(*values)
|
|
126
|
+
values.each { |val|
|
|
127
|
+
define_method(val) do
|
|
128
|
+
self.class.send(val)
|
|
129
|
+
end
|
|
130
|
+
}
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
# And then define one of these proxies for each method in our
|
|
134
|
+
# ParamHandler class.
|
|
135
|
+
proxymethods("required?", "isnamevar?")
|
|
136
|
+
|
|
137
|
+
attr_accessor :resource
|
|
138
|
+
# LAK 2007-05-09: Keep the @parent around for backward compatibility.
|
|
139
|
+
attr_accessor :parent
|
|
140
|
+
|
|
141
|
+
[:line, :file, :version].each do |param|
|
|
142
|
+
define_method(param) do
|
|
143
|
+
resource.send(param)
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
def devfail(msg)
|
|
148
|
+
self.fail(Puppet::DevError, msg)
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
def fail(*args)
|
|
152
|
+
type = nil
|
|
153
|
+
if args[0].is_a?(Class)
|
|
154
|
+
type = args.shift
|
|
155
|
+
else
|
|
156
|
+
type = Puppet::Error
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
error = type.new(args.join(" "))
|
|
160
|
+
|
|
161
|
+
error.line = @resource.line if @resource and @resource.line
|
|
162
|
+
|
|
163
|
+
error.file = @resource.file if @resource and @resource.file
|
|
164
|
+
|
|
165
|
+
raise error
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
# Basic parameter initialization.
|
|
169
|
+
def initialize(options = {})
|
|
170
|
+
options = symbolize_options(options)
|
|
171
|
+
if resource = options[:resource]
|
|
172
|
+
self.resource = resource
|
|
173
|
+
options.delete(:resource)
|
|
174
|
+
else
|
|
175
|
+
raise Puppet::DevError, "No resource set for #{self.class.name}"
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
set_options(options)
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
def log(msg)
|
|
182
|
+
send_log(resource[:loglevel], msg)
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
# Is this parameter a metaparam?
|
|
186
|
+
def metaparam?
|
|
187
|
+
self.class.metaparam
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
# each parameter class must define the name method, and parameter
|
|
191
|
+
# instances do not change that name this implicitly means that a given
|
|
192
|
+
# object can only have one parameter instance of a given parameter
|
|
193
|
+
# class
|
|
194
|
+
def name
|
|
195
|
+
self.class.name
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
# for testing whether we should actually do anything
|
|
199
|
+
def noop
|
|
200
|
+
@noop ||= false
|
|
201
|
+
tmp = @noop || self.resource.noop || Puppet[:noop] || false
|
|
202
|
+
#debug "noop is #{tmp}"
|
|
203
|
+
tmp
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
# return the full path to us, for logging and rollback; not currently
|
|
207
|
+
# used
|
|
208
|
+
def pathbuilder
|
|
209
|
+
if @resource
|
|
210
|
+
return [@resource.pathbuilder, self.name]
|
|
211
|
+
else
|
|
212
|
+
return [self.name]
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
# If the specified value is allowed, then munge appropriately.
|
|
217
|
+
# If the developer uses a 'munge' hook, this method will get overridden.
|
|
218
|
+
def unsafe_munge(value)
|
|
219
|
+
self.class.value_collection.munge(value)
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
# no unmunge by default
|
|
223
|
+
def unmunge(value)
|
|
224
|
+
value
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
# A wrapper around our munging that makes sure we raise useful exceptions.
|
|
228
|
+
def munge(value)
|
|
229
|
+
begin
|
|
230
|
+
ret = unsafe_munge(value)
|
|
231
|
+
rescue Puppet::Error => detail
|
|
232
|
+
Puppet.debug "Reraising #{detail}"
|
|
233
|
+
raise
|
|
234
|
+
rescue => detail
|
|
235
|
+
raise Puppet::DevError, "Munging failed for value #{value.inspect} in class #{self.name}: #{detail}", detail.backtrace
|
|
236
|
+
end
|
|
237
|
+
ret
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
# Verify that the passed value is valid.
|
|
241
|
+
# If the developer uses a 'validate' hook, this method will get overridden.
|
|
242
|
+
def unsafe_validate(value)
|
|
243
|
+
self.class.value_collection.validate(value)
|
|
244
|
+
end
|
|
245
|
+
|
|
246
|
+
# A protected validation method that only ever raises useful exceptions.
|
|
247
|
+
def validate(value)
|
|
248
|
+
begin
|
|
249
|
+
unsafe_validate(value)
|
|
250
|
+
rescue ArgumentError => detail
|
|
251
|
+
fail detail.to_s
|
|
252
|
+
rescue Puppet::Error, TypeError
|
|
253
|
+
raise
|
|
254
|
+
rescue => detail
|
|
255
|
+
raise Puppet::DevError, "Validate method failed for class #{self.name}: #{detail}", detail.backtrace
|
|
256
|
+
end
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
def remove
|
|
260
|
+
@resource = nil
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
def value
|
|
264
|
+
unmunge(@value) unless @value.nil?
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
# Store the value provided. All of the checking should possibly be
|
|
268
|
+
# late-binding (e.g., users might not exist when the value is assigned
|
|
269
|
+
# but might when it is asked for).
|
|
270
|
+
def value=(value)
|
|
271
|
+
validate(value)
|
|
272
|
+
|
|
273
|
+
@value = munge(value)
|
|
274
|
+
end
|
|
275
|
+
|
|
276
|
+
# Retrieve the resource's provider. Some types don't have providers, in which
|
|
277
|
+
# case we return the resource object itself.
|
|
278
|
+
def provider
|
|
279
|
+
@resource.provider
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
# The properties need to return tags so that logs correctly collect them.
|
|
283
|
+
def tags
|
|
284
|
+
unless defined?(@tags)
|
|
285
|
+
@tags = []
|
|
286
|
+
# This might not be true in testing
|
|
287
|
+
@tags = @resource.tags if @resource.respond_to? :tags
|
|
288
|
+
@tags << self.name.to_s
|
|
289
|
+
end
|
|
290
|
+
@tags
|
|
291
|
+
end
|
|
292
|
+
|
|
293
|
+
def to_s
|
|
294
|
+
name.to_s
|
|
295
|
+
end
|
|
296
|
+
|
|
297
|
+
def self.format_value_for_display(value)
|
|
298
|
+
if value.is_a? Array
|
|
299
|
+
formatted_values = value.collect {|value| format_value_for_display(value)}.join(', ')
|
|
300
|
+
"[#{formatted_values}]"
|
|
301
|
+
elsif value.is_a? Hash
|
|
302
|
+
# Sorting the hash keys for display is largely for having stable
|
|
303
|
+
# output to test against, but also helps when scanning for hash
|
|
304
|
+
# keys, since they will be in ASCIIbetical order.
|
|
305
|
+
hash = value.keys.sort {|a,b| a.to_s <=> b.to_s}.collect do |k|
|
|
306
|
+
"'#{k}' => #{format_value_for_display(value[k])}"
|
|
307
|
+
end.join(', ')
|
|
308
|
+
|
|
309
|
+
"{#{hash}}"
|
|
310
|
+
else
|
|
311
|
+
"'#{value}'"
|
|
312
|
+
end
|
|
313
|
+
end
|
|
314
|
+
end
|
|
315
|
+
|
|
316
|
+
require 'puppet/parameter/path'
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require 'puppet'
|
|
2
|
+
require 'puppet/parser/ast/branch'
|
|
3
|
+
|
|
4
|
+
class Puppet::Parser::AST
|
|
5
|
+
class ArithmeticOperator < AST::Branch
|
|
6
|
+
|
|
7
|
+
attr_accessor :operator, :lval, :rval
|
|
8
|
+
|
|
9
|
+
# Iterate across all of our children.
|
|
10
|
+
def each
|
|
11
|
+
[@lval,@rval,@operator].each { |child| yield child }
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Returns a boolean which is the result of the boolean operation
|
|
15
|
+
# of lval and rval operands
|
|
16
|
+
def evaluate(scope)
|
|
17
|
+
# evaluate the operands, should return a boolean value
|
|
18
|
+
lval = @lval.safeevaluate(scope)
|
|
19
|
+
lval = Puppet::Parser::Scope.number?(lval)
|
|
20
|
+
if lval == nil
|
|
21
|
+
raise ArgumentError, "left operand of #{@operator} is not a number"
|
|
22
|
+
end
|
|
23
|
+
rval = @rval.safeevaluate(scope)
|
|
24
|
+
rval = Puppet::Parser::Scope.number?(rval)
|
|
25
|
+
if rval == nil
|
|
26
|
+
raise ArgumentError, "right operand of #{@operator} is not a number"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# compute result
|
|
30
|
+
lval.send(@operator, rval)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def initialize(hash)
|
|
34
|
+
super
|
|
35
|
+
|
|
36
|
+
raise ArgumentError, "Invalid arithmetic operator #{@operator}" unless %w{+ - * / << >>}.include?(@operator)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
require 'puppet/parser/ast/branch'
|
|
2
|
+
|
|
3
|
+
class Puppet::Parser::AST
|
|
4
|
+
# The basic container class. This object behaves almost identically
|
|
5
|
+
# to a normal array except at initialization time. Note that its name
|
|
6
|
+
# is 'AST::ASTArray', rather than plain 'AST::Array'; I had too many
|
|
7
|
+
# bugs when it was just 'AST::Array', because things like
|
|
8
|
+
# 'object.is_a?(Array)' never behaved as I expected.
|
|
9
|
+
class ASTArray < Branch
|
|
10
|
+
include Enumerable
|
|
11
|
+
|
|
12
|
+
# Return a child by index. Probably never used.
|
|
13
|
+
def [](index)
|
|
14
|
+
@children[index]
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Evaluate our children.
|
|
18
|
+
def evaluate(scope)
|
|
19
|
+
result = []
|
|
20
|
+
@children.each do |child|
|
|
21
|
+
# Skip things that respond to :instantiate (classes, nodes,
|
|
22
|
+
# and definitions), because they have already been
|
|
23
|
+
# instantiated.
|
|
24
|
+
if !child.respond_to?(:instantiate)
|
|
25
|
+
item = child.safeevaluate(scope)
|
|
26
|
+
if !item.nil?
|
|
27
|
+
# nil values are implicitly removed.
|
|
28
|
+
result.push(item)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
result
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def push(*ary)
|
|
36
|
+
ary.each { |child|
|
|
37
|
+
#Puppet.debug "adding %s(%s) of type %s to %s" %
|
|
38
|
+
# [child, child.object_id, child.class.to_s.sub(/.+::/,''),
|
|
39
|
+
# self.object_id]
|
|
40
|
+
@children.push(child)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
self
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def to_s
|
|
47
|
+
"[" + @children.collect { |c| c.to_s }.join(', ') + "]"
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'puppet/parser/ast/leaf'
|
|
2
|
+
|
|
3
|
+
class Puppet::Parser::AST
|
|
4
|
+
class ASTHash < Leaf
|
|
5
|
+
include Enumerable
|
|
6
|
+
|
|
7
|
+
# Evaluate our children.
|
|
8
|
+
def evaluate(scope)
|
|
9
|
+
items = {}
|
|
10
|
+
|
|
11
|
+
@value.each_pair do |k,v|
|
|
12
|
+
key = k.respond_to?(:safeevaluate) ? k.safeevaluate(scope) : k
|
|
13
|
+
items.merge!({ key => v.safeevaluate(scope) })
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
items
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def merge(hash)
|
|
20
|
+
case hash
|
|
21
|
+
when ASTHash
|
|
22
|
+
@value = @value.merge(hash.value)
|
|
23
|
+
when Hash
|
|
24
|
+
@value = @value.merge(hash)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def to_s
|
|
29
|
+
"{" + @value.collect { |v| v.collect { |a| a.to_s }.join(' => ') }.join(', ') + "}"
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def initialize(args)
|
|
33
|
+
super(args)
|
|
34
|
+
@value ||= {}
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
require 'puppet'
|
|
2
|
+
require 'puppet/parser/ast/branch'
|
|
3
|
+
|
|
4
|
+
class Puppet::Parser::AST
|
|
5
|
+
class BooleanOperator < AST::Branch
|
|
6
|
+
|
|
7
|
+
attr_accessor :operator, :lval, :rval
|
|
8
|
+
|
|
9
|
+
# Iterate across all of our children.
|
|
10
|
+
def each
|
|
11
|
+
[@lval,@rval,@operator].each { |child| yield child }
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Returns a boolean which is the result of the boolean operation
|
|
15
|
+
# of lval and rval operands
|
|
16
|
+
def evaluate(scope)
|
|
17
|
+
# evaluate the first operand, should return a boolean value
|
|
18
|
+
lval = @lval.safeevaluate(scope)
|
|
19
|
+
|
|
20
|
+
# return result
|
|
21
|
+
# lazy evaluate right operand
|
|
22
|
+
case @operator
|
|
23
|
+
when "and"
|
|
24
|
+
if Puppet::Parser::Scope.true?(lval)
|
|
25
|
+
rval = @rval.safeevaluate(scope)
|
|
26
|
+
Puppet::Parser::Scope.true?(rval)
|
|
27
|
+
else # false and false == false
|
|
28
|
+
false
|
|
29
|
+
end
|
|
30
|
+
when "or"
|
|
31
|
+
if Puppet::Parser::Scope.true?(lval)
|
|
32
|
+
true
|
|
33
|
+
else
|
|
34
|
+
rval = @rval.safeevaluate(scope)
|
|
35
|
+
Puppet::Parser::Scope.true?(rval)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def initialize(hash)
|
|
41
|
+
super
|
|
42
|
+
|
|
43
|
+
raise ArgumentError, "Invalid boolean operator #{@operator}" unless %w{and or}.include?(@operator)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
class Puppet::Parser::AST
|
|
2
|
+
# The parent class of all AST objects that contain other AST objects.
|
|
3
|
+
# Everything but the really simple objects descend from this. It is
|
|
4
|
+
# important to note that Branch objects contain other AST objects only --
|
|
5
|
+
# if you want to contain values, use a descendent of the AST::Leaf class.
|
|
6
|
+
class Branch < AST
|
|
7
|
+
include Enumerable
|
|
8
|
+
attr_accessor :pin, :children
|
|
9
|
+
|
|
10
|
+
# Yield each contained AST node in turn. Used mostly by 'evaluate'.
|
|
11
|
+
# This definition means that I don't have to override 'evaluate'
|
|
12
|
+
# every time, but each child of Branch will likely need to override
|
|
13
|
+
# this method.
|
|
14
|
+
def each
|
|
15
|
+
@children.each { |child|
|
|
16
|
+
yield child
|
|
17
|
+
}
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Initialize our object. Largely relies on the method from the base
|
|
21
|
+
# class, but also does some verification.
|
|
22
|
+
def initialize(arghash)
|
|
23
|
+
super(arghash)
|
|
24
|
+
|
|
25
|
+
# Create the hash, if it was not set at initialization time.
|
|
26
|
+
@children ||= []
|
|
27
|
+
|
|
28
|
+
# Verify that we only got valid AST nodes.
|
|
29
|
+
@children.each { |child|
|
|
30
|
+
unless child.is_a?(AST)
|
|
31
|
+
raise Puppet::DevError,
|
|
32
|
+
"child #{child} is a #{child.class} instead of ast"
|
|
33
|
+
end
|
|
34
|
+
}
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
require 'puppet/parser/ast/branch'
|
|
2
|
+
|
|
3
|
+
class Puppet::Parser::AST
|
|
4
|
+
# Each individual option in a case statement.
|
|
5
|
+
class CaseOpt < AST::Branch
|
|
6
|
+
attr_accessor :value, :statements
|
|
7
|
+
|
|
8
|
+
# CaseOpt is a bit special -- we just want the value first,
|
|
9
|
+
# so that CaseStatement can compare, and then it will selectively
|
|
10
|
+
# decide whether to fully evaluate this option
|
|
11
|
+
|
|
12
|
+
def each
|
|
13
|
+
[@value,@statements].each { |child| yield child }
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Are we the default option?
|
|
17
|
+
def default?
|
|
18
|
+
# Cache the @default value.
|
|
19
|
+
return @default if defined?(@default)
|
|
20
|
+
|
|
21
|
+
@value.each { |subval|
|
|
22
|
+
if subval.is_a?(AST::Default)
|
|
23
|
+
@default = true
|
|
24
|
+
break
|
|
25
|
+
end
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@default ||= false
|
|
29
|
+
|
|
30
|
+
@default
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# You can specify a list of values; return each in turn.
|
|
34
|
+
def eachvalue(scope)
|
|
35
|
+
@value.each { |subval|
|
|
36
|
+
yield subval.safeevaluate(scope)
|
|
37
|
+
}
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def eachopt
|
|
41
|
+
@value.each { |subval|
|
|
42
|
+
yield subval
|
|
43
|
+
}
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Evaluate the actual statements; this only gets called if
|
|
47
|
+
# our option matched.
|
|
48
|
+
def evaluate(scope)
|
|
49
|
+
@statements.safeevaluate(scope)
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
require 'puppet/parser/ast/branch'
|
|
2
|
+
|
|
3
|
+
class Puppet::Parser::AST
|
|
4
|
+
# The basic logical structure in Puppet. Supports a list of
|
|
5
|
+
# tests and statement arrays.
|
|
6
|
+
class CaseStatement < AST::Branch
|
|
7
|
+
attr_accessor :test, :options, :default
|
|
8
|
+
|
|
9
|
+
associates_doc
|
|
10
|
+
|
|
11
|
+
# Short-curcuit evaluation. Return the value of the statements for
|
|
12
|
+
# the first option that matches.
|
|
13
|
+
def evaluate(scope)
|
|
14
|
+
level = scope.ephemeral_level
|
|
15
|
+
|
|
16
|
+
value = @test.safeevaluate(scope)
|
|
17
|
+
|
|
18
|
+
retvalue = nil
|
|
19
|
+
found = false
|
|
20
|
+
|
|
21
|
+
# Iterate across the options looking for a match.
|
|
22
|
+
default = nil
|
|
23
|
+
@options.each do |option|
|
|
24
|
+
option.eachopt do |opt|
|
|
25
|
+
return option.safeevaluate(scope) if opt.evaluate_match(value, scope)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
default = option if option.default?
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Unless we found something, look for the default.
|
|
32
|
+
return default.safeevaluate(scope) if default
|
|
33
|
+
|
|
34
|
+
Puppet.debug "No true answers and no default"
|
|
35
|
+
return nil
|
|
36
|
+
ensure
|
|
37
|
+
scope.unset_ephemeral_var(level)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def each
|
|
41
|
+
[@test,@options].each { |child| yield child }
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
require 'puppet'
|
|
2
|
+
require 'puppet/parser/ast/branch'
|
|
3
|
+
require 'puppet/parser/collector'
|
|
4
|
+
|
|
5
|
+
# An object that collects stored objects from the central cache and returns
|
|
6
|
+
# them to the current host, yo.
|
|
7
|
+
class Puppet::Parser::AST
|
|
8
|
+
class Collection < AST::Branch
|
|
9
|
+
attr_accessor :type, :query, :form
|
|
10
|
+
attr_reader :override
|
|
11
|
+
|
|
12
|
+
associates_doc
|
|
13
|
+
|
|
14
|
+
# We return an object that does a late-binding evaluation.
|
|
15
|
+
def evaluate(scope)
|
|
16
|
+
match, code = query && query.safeevaluate(scope)
|
|
17
|
+
|
|
18
|
+
resource_type = scope.find_resource_type(@type)
|
|
19
|
+
fail "Resource type #{@type} doesn't exist" unless resource_type
|
|
20
|
+
newcoll = Puppet::Parser::Collector.new(scope, resource_type.name, match, code, self.form)
|
|
21
|
+
|
|
22
|
+
scope.compiler.add_collection(newcoll)
|
|
23
|
+
|
|
24
|
+
# overrides if any
|
|
25
|
+
# Evaluate all of the specified params.
|
|
26
|
+
if @override
|
|
27
|
+
params = @override.collect { |param| param.safeevaluate(scope) }
|
|
28
|
+
newcoll.add_override(
|
|
29
|
+
:parameters => params,
|
|
30
|
+
:file => @file,
|
|
31
|
+
:line => @line,
|
|
32
|
+
:source => scope.source,
|
|
33
|
+
:scope => scope
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
newcoll
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Handle our parameter ourselves
|
|
41
|
+
def override=(override)
|
|
42
|
+
@override = if override.is_a?(AST::ASTArray)
|
|
43
|
+
override
|
|
44
|
+
else
|
|
45
|
+
AST::ASTArray.new(:line => override.line,:file => override.file,:children => [override])
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|