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,357 @@
|
|
|
1
|
+
#
|
|
2
|
+
# User Puppet provider for AIX. It uses standard commands to manage users:
|
|
3
|
+
# mkuser, rmuser, lsuser, chuser
|
|
4
|
+
#
|
|
5
|
+
# Notes:
|
|
6
|
+
# - AIX users can have expiry date defined with minute granularity,
|
|
7
|
+
# but puppet does not allow it. There is a ticket open for that (#5431)
|
|
8
|
+
# - AIX maximum password age is in WEEKs, not days
|
|
9
|
+
#
|
|
10
|
+
# See http://projects.puppetlabs.com/projects/puppet/wiki/Development_Provider_Development
|
|
11
|
+
# for more information
|
|
12
|
+
#
|
|
13
|
+
# Author:: Hector Rivas Gandara <keymon@gmail.com>
|
|
14
|
+
#
|
|
15
|
+
require 'puppet/provider/aixobject'
|
|
16
|
+
require 'tempfile'
|
|
17
|
+
require 'date'
|
|
18
|
+
|
|
19
|
+
Puppet::Type.type(:user).provide :aix, :parent => Puppet::Provider::AixObject do
|
|
20
|
+
desc "User management for AIX."
|
|
21
|
+
|
|
22
|
+
# This will the the default provider for this platform
|
|
23
|
+
defaultfor :operatingsystem => :aix
|
|
24
|
+
confine :operatingsystem => :aix
|
|
25
|
+
|
|
26
|
+
# Commands that manage the element
|
|
27
|
+
commands :list => "/usr/sbin/lsuser"
|
|
28
|
+
commands :add => "/usr/bin/mkuser"
|
|
29
|
+
commands :delete => "/usr/sbin/rmuser"
|
|
30
|
+
commands :modify => "/usr/bin/chuser"
|
|
31
|
+
|
|
32
|
+
commands :lsgroup => "/usr/sbin/lsgroup"
|
|
33
|
+
commands :chpasswd => "/bin/chpasswd"
|
|
34
|
+
|
|
35
|
+
# Provider features
|
|
36
|
+
has_features :manages_aix_lam
|
|
37
|
+
has_features :manages_homedir, :manages_passwords
|
|
38
|
+
has_features :manages_expiry, :manages_password_age
|
|
39
|
+
|
|
40
|
+
# Attribute verification (TODO)
|
|
41
|
+
#verify :gid, "GID must be an string or int of a valid group" do |value|
|
|
42
|
+
# value.is_a? String || value.is_a? Integer
|
|
43
|
+
#end
|
|
44
|
+
#
|
|
45
|
+
#verify :groups, "Groups must be comma-separated" do |value|
|
|
46
|
+
# value !~ /\s/
|
|
47
|
+
#end
|
|
48
|
+
|
|
49
|
+
# User attributes to ignore from AIX output.
|
|
50
|
+
def self.attribute_ignore
|
|
51
|
+
[]
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# AIX attributes to properties mapping.
|
|
55
|
+
#
|
|
56
|
+
# Valid attributes to be managed by this provider.
|
|
57
|
+
# It is a list with of hash
|
|
58
|
+
# :aix_attr AIX command attribute name
|
|
59
|
+
# :puppet_prop Puppet propertie name
|
|
60
|
+
# :to Method to adapt puppet property to aix command value. Optional.
|
|
61
|
+
# :from Method to adapt aix command value to puppet property. Optional
|
|
62
|
+
self.attribute_mapping = [
|
|
63
|
+
#:name => :name,
|
|
64
|
+
{:aix_attr => :pgrp, :puppet_prop => :gid,
|
|
65
|
+
:to => :gid_to_attr, :from => :gid_from_attr},
|
|
66
|
+
{:aix_attr => :id, :puppet_prop => :uid},
|
|
67
|
+
{:aix_attr => :groups, :puppet_prop => :groups},
|
|
68
|
+
{:aix_attr => :home, :puppet_prop => :home},
|
|
69
|
+
{:aix_attr => :shell, :puppet_prop => :shell},
|
|
70
|
+
{:aix_attr => :expires, :puppet_prop => :expiry,
|
|
71
|
+
:to => :expiry_to_attr, :from => :expiry_from_attr},
|
|
72
|
+
{:aix_attr => :maxage, :puppet_prop => :password_max_age},
|
|
73
|
+
{:aix_attr => :minage, :puppet_prop => :password_min_age},
|
|
74
|
+
{:aix_attr => :attributes, :puppet_prop => :attributes},
|
|
75
|
+
]
|
|
76
|
+
|
|
77
|
+
#--------------
|
|
78
|
+
# Command definition
|
|
79
|
+
|
|
80
|
+
# Return the IA module arguments based on the resource param ia_load_module
|
|
81
|
+
def get_ia_module_args
|
|
82
|
+
if @resource[:ia_load_module]
|
|
83
|
+
["-R", @resource[:ia_load_module].to_s]
|
|
84
|
+
else
|
|
85
|
+
[]
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# List groups and Ids
|
|
90
|
+
def lsgroupscmd(value=@resource[:name])
|
|
91
|
+
[command(:lsgroup)] +
|
|
92
|
+
self.get_ia_module_args +
|
|
93
|
+
["-a", "id", value]
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def lscmd(value=@resource[:name])
|
|
97
|
+
[self.class.command(:list)] + self.get_ia_module_args + [ value]
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def lsallcmd()
|
|
101
|
+
lscmd("ALL")
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def addcmd(extra_attrs = [])
|
|
105
|
+
# Here we use the @resource.to_hash to get the list of provided parameters
|
|
106
|
+
# Puppet does not call to self.<parameter>= method if it does not exists.
|
|
107
|
+
#
|
|
108
|
+
# It gets an extra list of arguments to add to the user.
|
|
109
|
+
[self.class.command(:add)] + self.get_ia_module_args +
|
|
110
|
+
self.hash2args(@resource.to_hash) +
|
|
111
|
+
extra_attrs + [@resource[:name]]
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# Get modify command. Set translate=false if no mapping must be used.
|
|
115
|
+
# Needed for special properties like "attributes"
|
|
116
|
+
def modifycmd(hash = property_hash)
|
|
117
|
+
args = self.hash2args(hash)
|
|
118
|
+
return nil if args.empty?
|
|
119
|
+
|
|
120
|
+
[self.class.command(:modify)] + self.get_ia_module_args +
|
|
121
|
+
args + [@resource[:name]]
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
def deletecmd
|
|
125
|
+
[self.class.command(:delete)] + self.get_ia_module_args + [@resource[:name]]
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
#--------------
|
|
129
|
+
# We overwrite the create function to change the password after creation.
|
|
130
|
+
def create
|
|
131
|
+
super
|
|
132
|
+
# Reset the password if needed
|
|
133
|
+
self.password = @resource[:password] if @resource[:password]
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
def get_arguments(key, value, mapping, objectinfo)
|
|
138
|
+
# In the case of attributes, return a list of key=vlaue
|
|
139
|
+
if key == :attributes
|
|
140
|
+
raise Puppet::Error, "Attributes must be a list of pairs key=value on #{@resource.class.name}[#{@resource.name}]" \
|
|
141
|
+
unless value and value.is_a? Hash
|
|
142
|
+
return value.select { |k,v| true }.map { |pair| pair.join("=") }
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
super(key, value, mapping, objectinfo)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
# Get the groupname from its id
|
|
149
|
+
def self.groupname_by_id(gid)
|
|
150
|
+
groupname=nil
|
|
151
|
+
execute(lsgroupscmd("ALL")).each_line { |entry|
|
|
152
|
+
attrs = self.parse_attr_list(entry, nil)
|
|
153
|
+
if attrs and attrs.include? :id and gid == attrs[:id].to_i
|
|
154
|
+
groupname = entry.split(" ")[0]
|
|
155
|
+
end
|
|
156
|
+
}
|
|
157
|
+
groupname
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# Get the groupname from its id
|
|
161
|
+
def groupid_by_name(groupname)
|
|
162
|
+
attrs = self.parse_attr_list(execute(lsgroupscmd(groupname)).split("\n")[0], nil)
|
|
163
|
+
attrs ? attrs[:id].to_i : nil
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
# Check that a group exists and is valid
|
|
167
|
+
def verify_group(value)
|
|
168
|
+
if value.is_a? Integer or value.is_a? Fixnum
|
|
169
|
+
groupname = self.groupname_by_id(value)
|
|
170
|
+
raise ArgumentError, "AIX group must be a valid existing group" unless groupname
|
|
171
|
+
else
|
|
172
|
+
raise ArgumentError, "AIX group must be a valid existing group" unless groupid_by_name(value)
|
|
173
|
+
groupname = value
|
|
174
|
+
end
|
|
175
|
+
groupname
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
# The user's primary group. Can be specified numerically or by name.
|
|
179
|
+
def gid_to_attr(value)
|
|
180
|
+
verify_group(value)
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
# Get the group gid from its name
|
|
184
|
+
def gid_from_attr(value)
|
|
185
|
+
groupid_by_name(value)
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
# The expiry date for this user. Must be provided in
|
|
189
|
+
# a zero padded YYYY-MM-DD HH:MM format
|
|
190
|
+
def expiry_to_attr(value)
|
|
191
|
+
# For chuser the expires parameter is a 10-character string in the MMDDhhmmyy format
|
|
192
|
+
# that is,"%m%d%H%M%y"
|
|
193
|
+
newdate = '0'
|
|
194
|
+
if value.is_a? String and value!="0000-00-00"
|
|
195
|
+
d = DateTime.parse(value, "%Y-%m-%d %H:%M")
|
|
196
|
+
newdate = d.strftime("%m%d%H%M%y")
|
|
197
|
+
end
|
|
198
|
+
newdate
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
def expiry_from_attr(value)
|
|
202
|
+
if value =~ /(..)(..)(..)(..)(..)/
|
|
203
|
+
#d= DateTime.parse("20#{$5}-#{$1}-#{$2} #{$3}:#{$4}")
|
|
204
|
+
#expiry_date = d.strftime("%Y-%m-%d %H:%M")
|
|
205
|
+
#expiry_date = d.strftime("%Y-%m-%d")
|
|
206
|
+
expiry_date = "20#{$5}-#{$1}-#{$2}"
|
|
207
|
+
else
|
|
208
|
+
Puppet.warn("Could not convert AIX expires date '#{value}' on #{@resource.class.name}[#{@resource.name}]") \
|
|
209
|
+
unless value == '0'
|
|
210
|
+
expiry_date = :absent
|
|
211
|
+
end
|
|
212
|
+
expiry_date
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
#--------------------------------
|
|
216
|
+
# Getter and Setter
|
|
217
|
+
# When the provider is initialized, create getter/setter methods for each
|
|
218
|
+
# property our resource type supports.
|
|
219
|
+
# If setter or getter already defined it will not be overwritten
|
|
220
|
+
|
|
221
|
+
#- **password**
|
|
222
|
+
# The user's password, in whatever encrypted format the local machine
|
|
223
|
+
# requires. Be sure to enclose any value that includes a dollar sign ($)
|
|
224
|
+
# in single quotes ('). Requires features manages_passwords.
|
|
225
|
+
#
|
|
226
|
+
# Retrieve the password parsing directly the /etc/security/passwd
|
|
227
|
+
def password
|
|
228
|
+
password = :absent
|
|
229
|
+
user = @resource[:name]
|
|
230
|
+
f = File.open("/etc/security/passwd", 'r')
|
|
231
|
+
# Skip to the user
|
|
232
|
+
f.each_line { |l| break if l =~ /^#{user}:\s*$/ }
|
|
233
|
+
if ! f.eof?
|
|
234
|
+
f.each_line { |l|
|
|
235
|
+
# If there is a new user stanza, stop
|
|
236
|
+
break if l =~ /^\S*:\s*$/
|
|
237
|
+
# If the password= entry is found, return it
|
|
238
|
+
if l =~ /^\s*password\s*=\s*(.*)$/
|
|
239
|
+
password = $1; break;
|
|
240
|
+
end
|
|
241
|
+
}
|
|
242
|
+
end
|
|
243
|
+
f.close()
|
|
244
|
+
return password
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
def password=(value)
|
|
248
|
+
user = @resource[:name]
|
|
249
|
+
|
|
250
|
+
# Puppet execute does not support strings as input, only files.
|
|
251
|
+
tmpfile = Tempfile.new('puppet_#{user}_pw')
|
|
252
|
+
tmpfile << "#{user}:#{value}\n"
|
|
253
|
+
tmpfile.close()
|
|
254
|
+
|
|
255
|
+
# Options '-e', '-c', use encrypted password and clear flags
|
|
256
|
+
# Must receive "user:enc_password" as input
|
|
257
|
+
# command, arguments = {:failonfail => true, :combine => true}
|
|
258
|
+
# Fix for bugs #11200 and #10915
|
|
259
|
+
cmd = [self.class.command(:chpasswd), get_ia_module_args, '-e', '-c', user].flatten
|
|
260
|
+
begin
|
|
261
|
+
output = execute(cmd, {:failonfail => false, :combine => true, :stdinfile => tmpfile.path })
|
|
262
|
+
# chpasswd can return 1, even on success (at least on AIX 6.1); empty output indicates success
|
|
263
|
+
if output != ""
|
|
264
|
+
raise Puppet::ExecutionFailure, "chpasswd said #{output}"
|
|
265
|
+
end
|
|
266
|
+
rescue Puppet::ExecutionFailure => detail
|
|
267
|
+
raise Puppet::Error, "Could not set #{param} on #{@resource.class.name}[#{@resource.name}]: #{detail}"
|
|
268
|
+
ensure
|
|
269
|
+
tmpfile.delete()
|
|
270
|
+
end
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
def filter_attributes(hash)
|
|
274
|
+
# Return only not managed attributtes.
|
|
275
|
+
hash.select {
|
|
276
|
+
|k,v| !self.class.attribute_mapping_from.include?(k) and
|
|
277
|
+
!self.class.attribute_ignore.include?(k)
|
|
278
|
+
}.inject({}) {
|
|
279
|
+
|hash, array| hash[array[0]] = array[1]; hash
|
|
280
|
+
}
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
def attributes
|
|
284
|
+
filter_attributes(getosinfo(refresh = false))
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
def attributes=(attr_hash)
|
|
288
|
+
#self.class.validate(param, value)
|
|
289
|
+
param = :attributes
|
|
290
|
+
cmd = modifycmd({param => filter_attributes(attr_hash)})
|
|
291
|
+
if cmd
|
|
292
|
+
begin
|
|
293
|
+
execute(cmd)
|
|
294
|
+
rescue Puppet::ExecutionFailure => detail
|
|
295
|
+
raise Puppet::Error, "Could not set #{param} on #{@resource.class.name}[#{@resource.name}]: #{detail}"
|
|
296
|
+
end
|
|
297
|
+
end
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
#- **comment**
|
|
301
|
+
# A description of the user. Generally is a user's full name.
|
|
302
|
+
#def comment=(value)
|
|
303
|
+
#end
|
|
304
|
+
#
|
|
305
|
+
#def comment
|
|
306
|
+
#end
|
|
307
|
+
# UNSUPPORTED
|
|
308
|
+
#- **profile_membership**
|
|
309
|
+
# Whether specified roles should be treated as the only roles
|
|
310
|
+
# of which the user is a member or whether they should merely
|
|
311
|
+
# be treated as the minimum membership list. Valid values are
|
|
312
|
+
# `inclusive`, `minimum`.
|
|
313
|
+
# UNSUPPORTED
|
|
314
|
+
#- **profiles**
|
|
315
|
+
# The profiles the user has. Multiple profiles should be
|
|
316
|
+
# specified as an array. Requires features manages_solaris_rbac.
|
|
317
|
+
# UNSUPPORTED
|
|
318
|
+
#- **project**
|
|
319
|
+
# The name of the project associated with a user Requires features
|
|
320
|
+
# manages_solaris_rbac.
|
|
321
|
+
# UNSUPPORTED
|
|
322
|
+
#- **role_membership**
|
|
323
|
+
# Whether specified roles should be treated as the only roles
|
|
324
|
+
# of which the user is a member or whether they should merely
|
|
325
|
+
# be treated as the minimum membership list. Valid values are
|
|
326
|
+
# `inclusive`, `minimum`.
|
|
327
|
+
# UNSUPPORTED
|
|
328
|
+
#- **roles**
|
|
329
|
+
# The roles the user has. Multiple roles should be
|
|
330
|
+
# specified as an array. Requires features manages_solaris_rbac.
|
|
331
|
+
# UNSUPPORTED
|
|
332
|
+
#- **key_membership**
|
|
333
|
+
# Whether specified key value pairs should be treated as the only
|
|
334
|
+
# attributes
|
|
335
|
+
# of the user or whether they should merely
|
|
336
|
+
# be treated as the minimum list. Valid values are `inclusive`,
|
|
337
|
+
# `minimum`.
|
|
338
|
+
# UNSUPPORTED
|
|
339
|
+
#- **keys**
|
|
340
|
+
# Specify user attributes in an array of keyvalue pairs Requires features
|
|
341
|
+
# manages_solaris_rbac.
|
|
342
|
+
# UNSUPPORTED
|
|
343
|
+
#- **allowdupe**
|
|
344
|
+
# Whether to allow duplicate UIDs. Valid values are `true`, `false`.
|
|
345
|
+
# UNSUPPORTED
|
|
346
|
+
#- **auths**
|
|
347
|
+
# The auths the user has. Multiple auths should be
|
|
348
|
+
# specified as an array. Requires features manages_solaris_rbac.
|
|
349
|
+
# UNSUPPORTED
|
|
350
|
+
#- **auth_membership**
|
|
351
|
+
# Whether specified auths should be treated as the only auths
|
|
352
|
+
# of which the user is a member or whether they should merely
|
|
353
|
+
# be treated as the minimum membership list. Valid values are
|
|
354
|
+
# `inclusive`, `minimum`.
|
|
355
|
+
# UNSUPPORTED
|
|
356
|
+
|
|
357
|
+
end
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
require 'puppet/provider/nameservice/directoryservice'
|
|
2
|
+
|
|
3
|
+
Puppet::Type.type(:user).provide :directoryservice, :parent => Puppet::Provider::NameService::DirectoryService do
|
|
4
|
+
desc "User management using DirectoryService on OS X."
|
|
5
|
+
|
|
6
|
+
commands :dscl => "/usr/bin/dscl"
|
|
7
|
+
confine :operatingsystem => :darwin
|
|
8
|
+
defaultfor :operatingsystem => :darwin
|
|
9
|
+
|
|
10
|
+
# JJM: DirectoryService can manage passwords.
|
|
11
|
+
# This needs to be a special option to dscl though (-passwd)
|
|
12
|
+
has_feature :manages_passwords
|
|
13
|
+
|
|
14
|
+
# JJM: comment matches up with the /etc/passwd concept of an user
|
|
15
|
+
options :comment, :key => "realname"
|
|
16
|
+
options :password, :key => "passwd"
|
|
17
|
+
|
|
18
|
+
autogen_defaults :home => "/var/empty", :shell => "/usr/bin/false"
|
|
19
|
+
|
|
20
|
+
verify :gid, "GID must be an integer" do |value|
|
|
21
|
+
value.is_a? Integer
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
verify :uid, "UID must be an integer" do |value|
|
|
25
|
+
value.is_a? Integer
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def autogen_comment
|
|
29
|
+
@resource[:name].capitalize
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# The list of all groups the user is a member of.
|
|
33
|
+
# JJM: FIXME: Override this method...
|
|
34
|
+
def groups
|
|
35
|
+
groups = []
|
|
36
|
+
groups.join(",")
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# This is really lame. We have to iterate over each
|
|
40
|
+
# of the groups and add us to them.
|
|
41
|
+
def groups=(groups)
|
|
42
|
+
# case groups
|
|
43
|
+
# when Fixnum
|
|
44
|
+
# groups = [groups.to_s]
|
|
45
|
+
# when String
|
|
46
|
+
# groups = groups.split(/\s*,\s*/)
|
|
47
|
+
# else
|
|
48
|
+
# raise Puppet::DevError, "got invalid groups value #{groups.class} of type #{groups}"
|
|
49
|
+
# end
|
|
50
|
+
# # Get just the groups we need to modify
|
|
51
|
+
# diff = groups - (@is || [])
|
|
52
|
+
#
|
|
53
|
+
# data = {}
|
|
54
|
+
# open("| #{command(:nireport)} / /groups name users") do |file|
|
|
55
|
+
# file.each do |line|
|
|
56
|
+
# name, members = line.split(/\s+/)
|
|
57
|
+
#
|
|
58
|
+
# if members.nil? or members =~ /NoValue/
|
|
59
|
+
# data[name] = []
|
|
60
|
+
# else
|
|
61
|
+
# # Add each diff group's current members
|
|
62
|
+
# data[name] = members.split(/,/)
|
|
63
|
+
# end
|
|
64
|
+
# end
|
|
65
|
+
# end
|
|
66
|
+
#
|
|
67
|
+
# user = @resource[:name]
|
|
68
|
+
# data.each do |name, members|
|
|
69
|
+
# if members.include? user and groups.include? name
|
|
70
|
+
# # I'm in the group and should be
|
|
71
|
+
# next
|
|
72
|
+
# elsif members.include? user
|
|
73
|
+
# # I'm in the group and shouldn't be
|
|
74
|
+
# setuserlist(name, members - [user])
|
|
75
|
+
# elsif groups.include? name
|
|
76
|
+
# # I'm not in the group and should be
|
|
77
|
+
# setuserlist(name, members + [user])
|
|
78
|
+
# else
|
|
79
|
+
# # I'm not in the group and shouldn't be
|
|
80
|
+
# next
|
|
81
|
+
# end
|
|
82
|
+
# end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
Puppet::Type.type(:user).provide :hpuxuseradd, :parent => :useradd do
|
|
2
|
+
desc "User management for HP-UX. This provider uses the undocumented `-F`
|
|
3
|
+
switch to HP-UX's special `usermod` binary to work around the fact that
|
|
4
|
+
its standard `usermod` cannot make changes while the user is logged in."
|
|
5
|
+
|
|
6
|
+
defaultfor :operatingsystem => "hp-ux"
|
|
7
|
+
confine :operatingsystem => "hp-ux"
|
|
8
|
+
|
|
9
|
+
commands :modify => "/usr/sam/lbin/usermod.sam", :delete => "/usr/sam/lbin/userdel.sam", :add => "/usr/sbin/useradd"
|
|
10
|
+
options :comment, :method => :gecos
|
|
11
|
+
options :groups, :flag => "-G"
|
|
12
|
+
options :home, :flag => "-d", :method => :dir
|
|
13
|
+
|
|
14
|
+
verify :gid, "GID must be an integer" do |value|
|
|
15
|
+
value.is_a? Integer
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
verify :groups, "Groups must be comma-separated" do |value|
|
|
19
|
+
value !~ /\s/
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
has_features :manages_homedir, :allows_duplicates
|
|
23
|
+
|
|
24
|
+
def deletecmd
|
|
25
|
+
super.insert(1,"-F")
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def modifycmd(param,value)
|
|
29
|
+
super.insert(1,"-F")
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
require 'puppet/provider/ldap'
|
|
2
|
+
|
|
3
|
+
Puppet::Type.type(:user).provide :ldap, :parent => Puppet::Provider::Ldap do
|
|
4
|
+
desc "User management via LDAP.
|
|
5
|
+
|
|
6
|
+
This provider requires that you have valid values for all of the
|
|
7
|
+
LDAP-related settings in `puppet.conf`, including `ldapbase`. You will
|
|
8
|
+
almost definitely need settings for `ldapuser` and `ldappassword` in order
|
|
9
|
+
for your clients to write to LDAP.
|
|
10
|
+
|
|
11
|
+
Note that this provider will automatically generate a UID for you if
|
|
12
|
+
you do not specify one, but it is a potentially expensive operation,
|
|
13
|
+
as it iterates across all existing users to pick the appropriate next one."
|
|
14
|
+
|
|
15
|
+
confine :feature => :ldap, :false => (Puppet[:ldapuser] == "")
|
|
16
|
+
|
|
17
|
+
has_feature :manages_passwords
|
|
18
|
+
|
|
19
|
+
manages(:posixAccount, :person).at("ou=People").named_by(:uid).and.maps :name => :uid,
|
|
20
|
+
:password => :userPassword,
|
|
21
|
+
:comment => :cn,
|
|
22
|
+
:uid => :uidNumber,
|
|
23
|
+
:gid => :gidNumber,
|
|
24
|
+
:home => :homeDirectory,
|
|
25
|
+
:shell => :loginShell
|
|
26
|
+
|
|
27
|
+
# Use the last field of a space-separated array as
|
|
28
|
+
# the sn. LDAP requires a surname, for some stupid reason.
|
|
29
|
+
manager.generates(:sn).from(:cn).with do |cn|
|
|
30
|
+
x = 1
|
|
31
|
+
cn[0].split(/\s+/)[-1]
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Find the next uid after the current largest uid.
|
|
35
|
+
provider = self
|
|
36
|
+
manager.generates(:uidNumber).with do
|
|
37
|
+
largest = 500
|
|
38
|
+
if existing = provider.manager.search
|
|
39
|
+
existing.each do |hash|
|
|
40
|
+
next unless value = hash[:uid]
|
|
41
|
+
num = value[0].to_i
|
|
42
|
+
largest = num if num > largest
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
largest + 1
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Convert our gid to a group name, if necessary.
|
|
49
|
+
def gid=(value)
|
|
50
|
+
value = group2id(value) unless [Fixnum, Bignum].include?(value.class)
|
|
51
|
+
|
|
52
|
+
@property_hash[:gid] = value
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Find all groups this user is a member of in ldap.
|
|
56
|
+
def groups
|
|
57
|
+
# We want to cache the current result, so we know if we
|
|
58
|
+
# have to remove old values.
|
|
59
|
+
unless @property_hash[:groups]
|
|
60
|
+
unless result = group_manager.search("memberUid=#{name}")
|
|
61
|
+
return @property_hash[:groups] = :absent
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
return @property_hash[:groups] = result.collect { |r| r[:name] }.sort.join(",")
|
|
65
|
+
end
|
|
66
|
+
@property_hash[:groups]
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# Manage the list of groups this user is a member of.
|
|
70
|
+
def groups=(values)
|
|
71
|
+
should = values.split(",")
|
|
72
|
+
|
|
73
|
+
if groups == :absent
|
|
74
|
+
is = []
|
|
75
|
+
else
|
|
76
|
+
is = groups.split(",")
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
modes = {}
|
|
80
|
+
[is, should].flatten.uniq.each do |group|
|
|
81
|
+
# Skip it when they're in both
|
|
82
|
+
next if is.include?(group) and should.include?(group)
|
|
83
|
+
|
|
84
|
+
# We're adding a group.
|
|
85
|
+
modes[group] = :add and next unless is.include?(group)
|
|
86
|
+
|
|
87
|
+
# We're removing a group.
|
|
88
|
+
modes[group] = :remove and next unless should.include?(group)
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
modes.each do |group, form|
|
|
92
|
+
self.fail "Could not find ldap group #{group}" unless ldap_group = group_manager.find(group)
|
|
93
|
+
|
|
94
|
+
current = ldap_group[:members]
|
|
95
|
+
|
|
96
|
+
if form == :add
|
|
97
|
+
if current.is_a?(Array) and ! current.empty?
|
|
98
|
+
new = current + [name]
|
|
99
|
+
else
|
|
100
|
+
new = [name]
|
|
101
|
+
end
|
|
102
|
+
else
|
|
103
|
+
new = current - [name]
|
|
104
|
+
new = :absent if new.empty?
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
group_manager.update(group, {:ensure => :present, :members => current}, {:ensure => :present, :members => new})
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# Convert a gropu name to an id.
|
|
112
|
+
def group2id(group)
|
|
113
|
+
Puppet::Type.type(:group).provider(:ldap).name2id(group)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
private
|
|
117
|
+
|
|
118
|
+
def group_manager
|
|
119
|
+
Puppet::Type.type(:group).provider(:ldap).manager
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
def group_properties(values)
|
|
123
|
+
if values.empty? or values == :absent
|
|
124
|
+
{:ensure => :present}
|
|
125
|
+
else
|
|
126
|
+
{:ensure => :present, :members => values}
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
end
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
require 'puppet/provider/nameservice/pw'
|
|
2
|
+
require 'open3'
|
|
3
|
+
|
|
4
|
+
Puppet::Type.type(:user).provide :pw, :parent => Puppet::Provider::NameService::PW do
|
|
5
|
+
desc "User management via `pw` on FreeBSD."
|
|
6
|
+
|
|
7
|
+
commands :pw => "pw"
|
|
8
|
+
has_features :manages_homedir, :allows_duplicates, :manages_passwords, :manages_expiry
|
|
9
|
+
|
|
10
|
+
defaultfor :operatingsystem => :freebsd
|
|
11
|
+
|
|
12
|
+
options :home, :flag => "-d", :method => :dir
|
|
13
|
+
options :comment, :method => :gecos
|
|
14
|
+
options :groups, :flag => "-G"
|
|
15
|
+
options :expiry, :method => :expire
|
|
16
|
+
|
|
17
|
+
verify :gid, "GID must be an integer" do |value|
|
|
18
|
+
value.is_a? Integer
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
verify :groups, "Groups must be comma-separated" do |value|
|
|
22
|
+
value !~ /\s/
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def addcmd
|
|
26
|
+
cmd = [command(:pw), "useradd", @resource[:name]]
|
|
27
|
+
@resource.class.validproperties.each do |property|
|
|
28
|
+
next if property == :ensure or property == :password
|
|
29
|
+
# the value needs to be quoted, mostly because -c might
|
|
30
|
+
# have spaces in it
|
|
31
|
+
if value = @resource.should(property) and value != ""
|
|
32
|
+
if property == :expiry
|
|
33
|
+
# FreeBSD uses DD-MM-YYYY rather than YYYY-MM-DD
|
|
34
|
+
value = value.split("-").reverse.join("-")
|
|
35
|
+
end
|
|
36
|
+
cmd << flag(property) << value
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
cmd << "-o" if @resource.allowdupe?
|
|
41
|
+
|
|
42
|
+
cmd << "-m" if @resource.managehome?
|
|
43
|
+
|
|
44
|
+
cmd
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def modifycmd(param, value)
|
|
48
|
+
if param == :expiry
|
|
49
|
+
# FreeBSD uses DD-MM-YYYY rather than YYYY-MM-DD
|
|
50
|
+
value = value.split("-").reverse.join("-")
|
|
51
|
+
end
|
|
52
|
+
cmd = super(param, value)
|
|
53
|
+
cmd << "-m" if @resource.managehome?
|
|
54
|
+
cmd
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def deletecmd
|
|
58
|
+
cmd = super
|
|
59
|
+
cmd << "-r" if @resource.managehome?
|
|
60
|
+
cmd
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def create
|
|
64
|
+
super
|
|
65
|
+
|
|
66
|
+
# Set the password after create if given
|
|
67
|
+
self.password = @resource[:password] if @resource[:password]
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# use pw to update password hash
|
|
71
|
+
def password=(cryptopw)
|
|
72
|
+
Puppet.debug "change password for user '#{@resource[:name]}' method called with hash '#{cryptopw}'"
|
|
73
|
+
stdin, stdout, stderr = Open3.popen3("pw user mod #{@resource[:name]} -H 0")
|
|
74
|
+
stdin.puts(cryptopw)
|
|
75
|
+
stdin.close
|
|
76
|
+
Puppet.debug "finished password for user '#{@resource[:name]}' method called with hash '#{cryptopw}'"
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# get password from /etc/master.passwd
|
|
80
|
+
def password
|
|
81
|
+
Puppet.debug "checking password for user '#{@resource[:name]}' method called"
|
|
82
|
+
current_passline = `getent passwd #{@resource[:name]}`
|
|
83
|
+
current_password = current_passline.chomp.split(':')[1] if current_passline
|
|
84
|
+
Puppet.debug "finished password for user '#{@resource[:name]}' method called : '#{current_password}'"
|
|
85
|
+
current_password
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Get expiry from system and convert to Puppet-style date
|
|
89
|
+
def expiry
|
|
90
|
+
expiry = self.get(:expiry)
|
|
91
|
+
expiry = :absent if expiry == 0
|
|
92
|
+
|
|
93
|
+
if expiry != :absent
|
|
94
|
+
t = Time.at(expiry)
|
|
95
|
+
expiry = "%4d-%02d-%02d" % [t.year, t.month, t.mday]
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
expiry
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|