puppet 0.25.5 → 2.6.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- data/CHANGELOG +667 -0
- data/LICENSE +2 -2
- data/README +5 -1
- data/README.queueing +1 -1
- data/README.rst +7 -4
- data/Rakefile +6 -18
- data/bin/filebucket +0 -94
- data/bin/pi +2 -47
- data/bin/puppet +2 -69
- data/bin/puppetca +2 -100
- data/bin/puppetd +2 -158
- data/bin/puppetdoc +2 -63
- data/bin/puppetmasterd +2 -64
- data/bin/puppetqd +2 -51
- data/bin/puppetrun +2 -127
- data/bin/ralsh +2 -87
- data/conf/epm.list +2 -2
- data/conf/osx/PackageInfo.plist +1 -1
- data/conf/redhat/client.init +11 -8
- data/conf/redhat/puppet.conf +1 -1
- data/conf/redhat/puppet.spec +1 -1
- data/conf/redhat/rundir-perms.patch +13 -13
- data/conf/redhat/server.init +11 -5
- data/conf/solaris/pkginfo +2 -2
- data/conf/solaris/smf/puppetd.xml +3 -3
- data/conf/solaris/smf/puppetmasterd.xml +3 -3
- data/conf/suse/client.init +3 -2
- data/conf/suse/puppet.spec +22 -18
- data/conf/suse/server.init +12 -11
- data/examples/modules/sample-module/README.txt +3 -3
- data/examples/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +4 -4
- data/ext/extlookup.rb +94 -96
- data/ext/nagios/check_puppet.rb +94 -88
- data/ext/nagios/naggen +3 -3
- data/ext/puppet-test +27 -3
- data/ext/puppetlisten/puppetlisten.rb +39 -39
- data/ext/puppetlisten/puppetrun.rb +6 -6
- data/ext/puppetstoredconfigclean.rb +49 -43
- data/ext/pure_ruby_dsl/dsl_test.rb +7 -0
- data/ext/regexp_nodes/regexp_nodes.rb +133 -133
- data/ext/yaml_nodes.rb +99 -0
- data/install.rb +109 -118
- data/lib/puppet.rb +118 -131
- data/lib/puppet/agent.rb +86 -119
- data/lib/puppet/agent/locker.rb +28 -30
- data/lib/puppet/application.rb +276 -184
- data/lib/puppet/application/agent.rb +266 -0
- data/lib/puppet/application/apply.rb +165 -0
- data/lib/puppet/application/cert.rb +85 -0
- data/lib/puppet/application/describe.rb +203 -0
- data/lib/puppet/application/doc.rb +215 -0
- data/lib/puppet/application/filebucket.rb +73 -73
- data/lib/puppet/application/kick.rb +212 -0
- data/lib/puppet/application/master.rb +156 -0
- data/lib/puppet/application/queue.rb +91 -0
- data/lib/puppet/application/resource.rb +118 -0
- data/lib/puppet/configurer.rb +214 -197
- data/lib/puppet/configurer/downloader.rb +63 -63
- data/lib/puppet/configurer/fact_handler.rb +51 -51
- data/lib/puppet/configurer/plugin_handler.rb +19 -19
- data/lib/puppet/daemon.rb +100 -103
- data/lib/puppet/defaults.rb +793 -796
- data/lib/puppet/dsl.rb +5 -269
- data/lib/puppet/dsl/resource_api.rb +120 -0
- data/lib/puppet/dsl/resource_type_api.rb +40 -0
- data/lib/puppet/error.rb +34 -36
- data/lib/puppet/external/base64.rb +8 -8
- data/lib/puppet/external/dot.rb +262 -262
- data/lib/puppet/external/event-loop/better-definers.rb +297 -297
- data/lib/puppet/external/event-loop/event-loop.rb +264 -272
- data/lib/puppet/external/event-loop/signal-system.rb +161 -163
- data/lib/puppet/external/lock.rb +41 -41
- data/lib/puppet/external/nagios.rb +32 -32
- data/lib/puppet/external/nagios/base.rb +453 -458
- data/lib/puppet/external/nagios/parser.rb +264 -287
- data/lib/puppet/external/pson/common.rb +8 -5
- data/lib/puppet/external/pson/pure/generator.rb +26 -26
- data/lib/puppet/external/pson/pure/parser.rb +43 -48
- data/lib/puppet/feature/base.rb +21 -1
- data/lib/puppet/feature/pson.rb +4 -4
- data/lib/puppet/feature/rack.rb +14 -14
- data/lib/puppet/feature/rails.rb +23 -25
- data/lib/puppet/file_bucket.rb +4 -0
- data/lib/puppet/file_bucket/dipper.rb +99 -0
- data/lib/puppet/file_bucket/file.rb +136 -0
- data/lib/puppet/file_bucket/file/indirection_hooks.rb +9 -0
- data/lib/puppet/file_collection.rb +20 -20
- data/lib/puppet/file_collection/lookup.rb +11 -11
- data/lib/puppet/file_serving/base.rb +67 -71
- data/lib/puppet/file_serving/configuration.rb +84 -86
- data/lib/puppet/file_serving/configuration/parser.rb +103 -102
- data/lib/puppet/file_serving/content.rb +34 -33
- data/lib/puppet/file_serving/fileset.rb +131 -133
- data/lib/puppet/file_serving/indirection_hooks.rb +17 -17
- data/lib/puppet/file_serving/metadata.rb +98 -95
- data/lib/puppet/file_serving/mount.rb +22 -22
- data/lib/puppet/file_serving/mount/file.rb +101 -106
- data/lib/puppet/file_serving/mount/modules.rb +15 -15
- data/lib/puppet/file_serving/mount/plugins.rb +15 -16
- data/lib/puppet/file_serving/terminus_helper.rb +13 -13
- data/lib/puppet/indirector.rb +48 -49
- data/lib/puppet/indirector/active_record.rb +19 -19
- data/lib/puppet/indirector/catalog/active_record.rb +25 -25
- data/lib/puppet/indirector/catalog/compiler.rb +134 -145
- data/lib/puppet/indirector/catalog/rest.rb +1 -1
- data/lib/puppet/indirector/catalog/yaml.rb +13 -13
- data/lib/puppet/indirector/certificate/ca.rb +3 -3
- data/lib/puppet/indirector/certificate/file.rb +3 -3
- data/lib/puppet/indirector/certificate/rest.rb +8 -8
- data/lib/puppet/indirector/certificate_request/ca.rb +7 -7
- data/lib/puppet/indirector/certificate_request/file.rb +2 -2
- data/lib/puppet/indirector/certificate_request/rest.rb +3 -3
- data/lib/puppet/indirector/certificate_revocation_list/ca.rb +2 -2
- data/lib/puppet/indirector/certificate_revocation_list/file.rb +2 -2
- data/lib/puppet/indirector/certificate_revocation_list/rest.rb +3 -3
- data/lib/puppet/indirector/couch.rb +76 -0
- data/lib/puppet/indirector/direct_file_server.rb +11 -11
- data/lib/puppet/indirector/envelope.rb +4 -4
- data/lib/puppet/indirector/exec.rb +38 -42
- data/lib/puppet/indirector/facts/active_record.rb +24 -24
- data/lib/puppet/indirector/facts/couch.rb +31 -0
- data/lib/puppet/indirector/facts/facter.rb +63 -61
- data/lib/puppet/indirector/facts/memory.rb +4 -4
- data/lib/puppet/indirector/facts/rest.rb +1 -1
- data/lib/puppet/indirector/facts/yaml.rb +2 -2
- data/lib/puppet/indirector/file.rb +67 -46
- data/lib/puppet/indirector/file_bucket_file/file.rb +146 -0
- data/lib/puppet/indirector/file_bucket_file/rest.rb +8 -0
- data/lib/puppet/indirector/file_content/file.rb +1 -1
- data/lib/puppet/indirector/file_content/file_server.rb +1 -1
- data/lib/puppet/indirector/file_content/rest.rb +1 -1
- data/lib/puppet/indirector/file_metadata/file.rb +11 -11
- data/lib/puppet/indirector/file_metadata/file_server.rb +1 -1
- data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
- data/lib/puppet/indirector/file_server.rb +44 -44
- data/lib/puppet/indirector/indirection.rb +249 -260
- data/lib/puppet/indirector/key/ca.rb +5 -5
- data/lib/puppet/indirector/key/file.rb +29 -29
- data/lib/puppet/indirector/ldap.rb +62 -64
- data/lib/puppet/indirector/memory.rb +13 -13
- data/lib/puppet/indirector/node/active_record.rb +6 -6
- data/lib/puppet/indirector/node/exec.rb +40 -44
- data/lib/puppet/indirector/node/ldap.rb +246 -212
- data/lib/puppet/indirector/node/memory.rb +5 -5
- data/lib/puppet/indirector/node/plain.rb +12 -12
- data/lib/puppet/indirector/node/rest.rb +2 -2
- data/lib/puppet/indirector/node/yaml.rb +2 -2
- data/lib/puppet/indirector/plain.rb +4 -4
- data/lib/puppet/indirector/queue.rb +49 -51
- data/lib/puppet/indirector/report/processor.rb +34 -37
- data/lib/puppet/indirector/report/rest.rb +3 -3
- data/lib/puppet/indirector/request.rb +171 -157
- data/lib/puppet/indirector/resource/ral.rb +48 -0
- data/lib/puppet/indirector/resource/rest.rb +5 -0
- data/lib/puppet/indirector/resource_type.rb +5 -0
- data/lib/puppet/indirector/resource_type/parser.rb +27 -0
- data/lib/puppet/indirector/resource_type/rest.rb +7 -0
- data/lib/puppet/indirector/rest.rb +83 -79
- data/lib/puppet/indirector/run/local.rb +8 -0
- data/lib/puppet/indirector/run/rest.rb +6 -0
- data/lib/puppet/indirector/ssl_file.rb +165 -165
- data/lib/puppet/indirector/status.rb +3 -0
- data/lib/puppet/indirector/status/local.rb +7 -0
- data/lib/puppet/indirector/status/rest.rb +5 -0
- data/lib/puppet/indirector/terminus.rb +129 -133
- data/lib/puppet/indirector/yaml.rb +47 -49
- data/lib/puppet/metatype/manager.rb +120 -114
- data/lib/puppet/module.rb +182 -124
- data/lib/puppet/network/authconfig.rb +146 -156
- data/lib/puppet/network/authorization.rb +63 -70
- data/lib/puppet/network/authstore.rb +226 -232
- data/lib/puppet/network/client.rb +141 -152
- data/lib/puppet/network/client/ca.rb +47 -49
- data/lib/puppet/network/client/file.rb +3 -3
- data/lib/puppet/network/client/proxy.rb +19 -19
- data/lib/puppet/network/client/report.rb +17 -21
- data/lib/puppet/network/client/runner.rb +5 -7
- data/lib/puppet/network/client/status.rb +1 -1
- data/lib/puppet/network/client_request.rb +20 -22
- data/lib/puppet/network/format.rb +79 -81
- data/lib/puppet/network/format_handler.rb +135 -130
- data/lib/puppet/network/formats.rb +128 -154
- data/lib/puppet/network/handler.rb +43 -46
- data/lib/puppet/network/handler/ca.rb +129 -135
- data/lib/puppet/network/handler/filebucket.rb +39 -170
- data/lib/puppet/network/handler/fileserver.rb +624 -656
- data/lib/puppet/network/handler/master.rb +62 -75
- data/lib/puppet/network/handler/report.rb +60 -67
- data/lib/puppet/network/handler/runner.rb +20 -20
- data/lib/puppet/network/handler/status.rb +9 -9
- data/lib/puppet/network/http.rb +12 -12
- data/lib/puppet/network/http/api/v1.rb +49 -44
- data/lib/puppet/network/http/compression.rb +111 -0
- data/lib/puppet/network/http/handler.rb +183 -183
- data/lib/puppet/network/http/mongrel.rb +46 -48
- data/lib/puppet/network/http/mongrel/rest.rb +73 -66
- data/lib/puppet/network/http/rack.rb +45 -45
- data/lib/puppet/network/http/rack/httphandler.rb +7 -7
- data/lib/puppet/network/http/rack/rest.rb +84 -61
- data/lib/puppet/network/http/rack/xmlrpc.rb +49 -49
- data/lib/puppet/network/http/webrick.rb +108 -112
- data/lib/puppet/network/http/webrick/rest.rb +60 -57
- data/lib/puppet/network/http_pool.rb +95 -83
- data/lib/puppet/network/http_server/mongrel.rb +90 -90
- data/lib/puppet/network/http_server/webrick.rb +139 -148
- data/lib/puppet/network/rest_authconfig.rb +76 -71
- data/lib/puppet/network/rest_authorization.rb +11 -13
- data/lib/puppet/network/rights.rb +217 -226
- data/lib/puppet/network/server.rb +147 -151
- data/lib/puppet/network/xmlrpc/client.rb +197 -205
- data/lib/puppet/network/xmlrpc/processor.rb +68 -72
- data/lib/puppet/network/xmlrpc/server.rb +10 -10
- data/lib/puppet/network/xmlrpc/webrick_servlet.rb +94 -100
- data/lib/puppet/node.rb +99 -107
- data/lib/puppet/node/environment.rb +109 -62
- data/lib/puppet/node/facts.rb +48 -43
- data/lib/puppet/parameter.rb +246 -498
- data/lib/puppet/parameter/value.rb +63 -0
- data/lib/puppet/parameter/value_collection.rb +143 -0
- data/lib/puppet/parser.rb +4 -0
- data/lib/puppet/parser/ast.rb +81 -67
- data/lib/puppet/parser/ast/arithmetic_operator.rb +27 -29
- data/lib/puppet/parser/ast/astarray.rb +50 -50
- data/lib/puppet/parser/ast/asthash.rb +37 -0
- data/lib/puppet/parser/ast/boolean_operator.rb +33 -35
- data/lib/puppet/parser/ast/branch.rb +29 -31
- data/lib/puppet/parser/ast/caseopt.rb +50 -56
- data/lib/puppet/parser/ast/casestatement.rb +30 -30
- data/lib/puppet/parser/ast/collection.rb +43 -37
- data/lib/puppet/parser/ast/collexpr.rb +66 -69
- data/lib/puppet/parser/ast/comparison_operator.rb +32 -35
- data/lib/puppet/parser/ast/else.rb +13 -13
- data/lib/puppet/parser/ast/function.rb +34 -43
- data/lib/puppet/parser/ast/ifstatement.rb +23 -27
- data/lib/puppet/parser/ast/in_operator.rb +24 -0
- data/lib/puppet/parser/ast/leaf.rb +173 -156
- data/lib/puppet/parser/ast/match_operator.rb +16 -19
- data/lib/puppet/parser/ast/minus.rb +13 -13
- data/lib/puppet/parser/ast/nop.rb +6 -6
- data/lib/puppet/parser/ast/not.rb +9 -9
- data/lib/puppet/parser/ast/relationship.rb +60 -0
- data/lib/puppet/parser/ast/resource.rb +58 -57
- data/lib/puppet/parser/ast/resource_defaults.rb +16 -16
- data/lib/puppet/parser/ast/resource_override.rb +51 -51
- data/lib/puppet/parser/ast/resource_reference.rb +17 -72
- data/lib/puppet/parser/ast/resourceparam.rb +20 -17
- data/lib/puppet/parser/ast/selector.rb +30 -34
- data/lib/puppet/parser/ast/tag.rb +16 -16
- data/lib/puppet/parser/ast/vardef.rb +20 -16
- data/lib/puppet/parser/collector.rb +181 -189
- data/lib/puppet/parser/compiler.rb +395 -364
- data/lib/puppet/parser/files.rb +65 -69
- data/lib/puppet/parser/functions.rb +85 -97
- data/lib/puppet/parser/functions/defined.rb +23 -23
- data/lib/puppet/parser/functions/fail.rb +2 -2
- data/lib/puppet/parser/functions/file.rb +21 -19
- data/lib/puppet/parser/functions/fqdn_rand.rb +7 -7
- data/lib/puppet/parser/functions/generate.rb +24 -26
- data/lib/puppet/parser/functions/include.rb +16 -18
- data/lib/puppet/parser/functions/inline_template.rb +16 -17
- data/lib/puppet/parser/functions/realize.rb +8 -8
- data/lib/puppet/parser/functions/regsubst.rb +74 -59
- data/lib/puppet/parser/functions/require.rb +35 -33
- data/lib/puppet/parser/functions/search.rb +5 -5
- data/lib/puppet/parser/functions/sha1.rb +3 -4
- data/lib/puppet/parser/functions/shellquote.rb +31 -33
- data/lib/puppet/parser/functions/split.rb +8 -8
- data/lib/puppet/parser/functions/sprintf.rb +10 -9
- data/lib/puppet/parser/functions/tag.rb +3 -3
- data/lib/puppet/parser/functions/tagged.rb +13 -13
- data/lib/puppet/parser/functions/template.rb +18 -19
- data/lib/puppet/parser/functions/versioncmp.rb +17 -14
- data/lib/puppet/parser/grammar.ra +485 -422
- data/lib/puppet/parser/lexer.rb +500 -442
- data/lib/puppet/parser/parser.rb +1438 -1084
- data/lib/puppet/parser/parser_support.rb +227 -502
- data/lib/puppet/parser/relationship.rb +43 -0
- data/lib/puppet/parser/resource.rb +280 -375
- data/lib/puppet/parser/resource/param.rb +18 -18
- data/lib/puppet/parser/scope.rb +450 -447
- data/lib/puppet/parser/templatewrapper.rb +92 -94
- data/lib/puppet/parser/type_loader.rb +146 -0
- data/lib/puppet/parser/yaml_trimmer.rb +6 -8
- data/lib/puppet/property.rb +290 -453
- data/lib/puppet/property/ensure.rb +92 -0
- data/lib/puppet/property/keyvalue.rb +74 -82
- data/lib/puppet/property/list.rb +71 -81
- data/lib/puppet/property/ordered_list.rb +15 -15
- data/lib/puppet/provider.rb +229 -241
- data/lib/puppet/provider/augeas/augeas.rb +318 -320
- data/lib/puppet/provider/computer/computer.rb +13 -13
- data/lib/puppet/provider/confine.rb +63 -63
- data/lib/puppet/provider/confine/exists.rb +14 -14
- data/lib/puppet/provider/confine/false.rb +12 -12
- data/lib/puppet/provider/confine/feature.rb +10 -10
- data/lib/puppet/provider/confine/true.rb +13 -13
- data/lib/puppet/provider/confine/variable.rb +51 -54
- data/lib/puppet/provider/confine_collection.rb +38 -38
- data/lib/puppet/provider/confiner.rb +10 -14
- data/lib/puppet/provider/cron/crontab.rb +172 -173
- data/lib/puppet/provider/file/posix.rb +99 -0
- data/lib/puppet/provider/file/win32.rb +74 -0
- data/lib/puppet/provider/group/directoryservice.rb +6 -6
- data/lib/puppet/provider/group/groupadd.rb +18 -20
- data/lib/puppet/provider/group/ldap.rb +40 -43
- data/lib/puppet/provider/group/pw.rb +23 -23
- data/lib/puppet/provider/host/parsed.rb +51 -50
- data/lib/puppet/provider/ldap.rb +121 -123
- data/lib/puppet/provider/macauthorization/macauthorization.rb +263 -272
- data/lib/puppet/provider/mailalias/aliases.rb +34 -31
- data/lib/puppet/provider/maillist/mailman.rb +87 -93
- data/lib/puppet/provider/mcx/mcxcontent.rb +155 -151
- data/lib/puppet/provider/mount.rb +36 -40
- data/lib/puppet/provider/mount/parsed.rb +28 -26
- data/lib/puppet/provider/naginator.rb +46 -48
- data/lib/puppet/provider/nameservice.rb +215 -257
- data/lib/puppet/provider/nameservice/directoryservice.rb +455 -471
- data/lib/puppet/provider/nameservice/objectadd.rb +21 -21
- data/lib/puppet/provider/nameservice/pw.rb +13 -13
- data/lib/puppet/provider/package.rb +18 -20
- data/lib/puppet/provider/package/aix.rb +128 -0
- data/lib/puppet/provider/package/appdmg.rb +78 -82
- data/lib/puppet/provider/package/apple.rb +39 -40
- data/lib/puppet/provider/package/apt.rb +95 -104
- data/lib/puppet/provider/package/aptitude.rb +19 -21
- data/lib/puppet/provider/package/aptrpm.rb +70 -72
- data/lib/puppet/provider/package/blastwave.rb +88 -94
- data/lib/puppet/provider/package/darwinport.rb +67 -69
- data/lib/puppet/provider/package/dpkg.rb +123 -97
- data/lib/puppet/provider/package/fink.rb +66 -68
- data/lib/puppet/provider/package/freebsd.rb +38 -40
- data/lib/puppet/provider/package/gem.rb +98 -102
- data/lib/puppet/provider/package/hpux.rb +37 -39
- data/lib/puppet/provider/package/nim.rb +35 -0
- data/lib/puppet/provider/package/openbsd.rb +100 -75
- data/lib/puppet/provider/package/pkg.rb +108 -0
- data/lib/puppet/provider/package/pkgdmg.rb +95 -87
- data/lib/puppet/provider/package/portage.rb +101 -104
- data/lib/puppet/provider/package/ports.rb +71 -73
- data/lib/puppet/provider/package/portupgrade.rb +251 -0
- data/lib/puppet/provider/package/rpm.rb +113 -115
- data/lib/puppet/provider/package/rug.rb +46 -46
- data/lib/puppet/provider/package/sun.rb +135 -151
- data/lib/puppet/provider/package/sunfreeware.rb +5 -5
- data/lib/puppet/provider/package/up2date.rb +31 -31
- data/lib/puppet/provider/package/urpmi.rb +51 -51
- data/lib/puppet/provider/package/yum.rb +90 -98
- data/lib/puppet/provider/package/zypper.rb +52 -0
- data/lib/puppet/provider/parsedfile.rb +306 -329
- data/lib/puppet/provider/port/parsed.rb +5 -5
- data/lib/puppet/provider/selboolean/getsetsebool.rb +34 -34
- data/lib/puppet/provider/selmodule/semodule.rb +103 -111
- data/lib/puppet/provider/service/base.rb +134 -139
- data/lib/puppet/provider/service/bsd.rb +48 -0
- data/lib/puppet/provider/service/daemontools.rb +158 -162
- data/lib/puppet/provider/service/debian.rb +36 -36
- data/lib/puppet/provider/service/freebsd.rb +118 -38
- data/lib/puppet/provider/service/gentoo.rb +33 -39
- data/lib/puppet/provider/service/init.rb +125 -125
- data/lib/puppet/provider/service/launchd.rb +234 -254
- data/lib/puppet/provider/service/redhat.rb +58 -58
- data/lib/puppet/provider/service/runit.rb +74 -74
- data/lib/puppet/provider/service/smf.rb +81 -85
- data/lib/puppet/provider/service/src.rb +87 -0
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +73 -81
- data/lib/puppet/provider/sshkey/parsed.rb +24 -21
- data/lib/puppet/provider/user/directoryservice.rb +71 -71
- data/lib/puppet/provider/user/hpux.rb +20 -20
- data/lib/puppet/provider/user/ldap.rb +106 -110
- data/lib/puppet/provider/user/pw.rb +33 -37
- data/lib/puppet/provider/user/user_role_add.rb +168 -183
- data/lib/puppet/provider/user/useradd.rb +50 -51
- data/lib/puppet/provider/zfs/solaris.rb +35 -35
- data/lib/puppet/provider/zone/solaris.rb +206 -205
- data/lib/puppet/provider/zpool/solaris.rb +95 -97
- data/lib/puppet/rails.rb +115 -122
- data/lib/puppet/rails/benchmark.rb +43 -49
- data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +8 -12
- data/lib/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +8 -12
- data/lib/puppet/rails/database/003_add_environment_to_host.rb +6 -10
- data/lib/puppet/rails/database/schema.rb +100 -97
- data/lib/puppet/rails/fact_name.rb +1 -1
- data/lib/puppet/rails/fact_value.rb +5 -5
- data/lib/puppet/rails/host.rb +252 -249
- data/lib/puppet/rails/param_name.rb +15 -15
- data/lib/puppet/rails/param_value.rb +55 -55
- data/lib/puppet/rails/puppet_tag.rb +4 -4
- data/lib/puppet/rails/resource.rb +189 -203
- data/lib/puppet/rails/resource_tag.rb +19 -19
- data/lib/puppet/rails/source_file.rb +5 -5
- data/lib/puppet/reference/configuration.rb +53 -56
- data/lib/puppet/reference/function.rb +1 -1
- data/lib/puppet/reference/indirection.rb +13 -13
- data/lib/puppet/reference/metaparameter.rb +40 -40
- data/lib/puppet/reference/network.rb +16 -16
- data/lib/puppet/reference/providers.rb +97 -98
- data/lib/puppet/reference/report.rb +1 -1
- data/lib/puppet/reference/type.rb +67 -70
- data/lib/puppet/relationship.rb +65 -67
- data/lib/puppet/reports.rb +32 -34
- data/lib/puppet/reports/http.rb +22 -0
- data/lib/puppet/reports/log.rb +7 -6
- data/lib/puppet/reports/rrdgraph.rb +105 -114
- data/lib/puppet/reports/store.rb +53 -56
- data/lib/puppet/reports/tagmail.rb +149 -157
- data/lib/puppet/resource.rb +428 -194
- data/lib/puppet/resource/catalog.rb +496 -512
- data/lib/puppet/resource/status.rb +58 -0
- data/lib/puppet/resource/type.rb +311 -0
- data/lib/puppet/resource/type_collection.rb +217 -0
- data/lib/puppet/resource/type_collection_helper.rb +7 -0
- data/lib/puppet/run.rb +77 -0
- data/lib/puppet/simple_graph.rb +381 -413
- data/lib/puppet/ssl.rb +2 -1
- data/lib/puppet/ssl/base.rb +60 -43
- data/lib/puppet/ssl/certificate.rb +21 -21
- data/lib/puppet/ssl/certificate_authority.rb +215 -229
- data/lib/puppet/ssl/certificate_authority/interface.rb +84 -68
- data/lib/puppet/ssl/certificate_factory.rb +119 -119
- data/lib/puppet/ssl/certificate_request.rb +52 -45
- data/lib/puppet/ssl/certificate_revocation_list.rb +78 -78
- data/lib/puppet/ssl/host.rb +230 -228
- data/lib/puppet/ssl/inventory.rb +33 -33
- data/lib/puppet/ssl/key.rb +37 -37
- data/lib/puppet/sslcertificates.rb +124 -123
- data/lib/puppet/sslcertificates/ca.rb +327 -344
- data/lib/puppet/sslcertificates/certificate.rb +197 -224
- data/lib/puppet/sslcertificates/inventory.rb +27 -29
- data/lib/puppet/sslcertificates/support.rb +113 -119
- data/lib/puppet/status.rb +28 -0
- data/lib/puppet/transaction.rb +349 -696
- data/lib/puppet/transaction/change.rb +80 -85
- data/lib/puppet/transaction/event.rb +54 -14
- data/lib/puppet/transaction/event_manager.rb +99 -0
- data/lib/puppet/transaction/report.rb +121 -59
- data/lib/puppet/transaction/resource_harness.rb +150 -0
- data/lib/puppet/transportable.rb +215 -226
- data/lib/puppet/type.rb +1644 -1849
- data/lib/puppet/type/augeas.rb +153 -134
- data/lib/puppet/type/component.rb +63 -65
- data/lib/puppet/type/computer.rb +44 -44
- data/lib/puppet/type/cron.rb +364 -384
- data/lib/puppet/type/exec.rb +583 -521
- data/lib/puppet/type/file.rb +786 -823
- data/lib/puppet/type/file/checksum.rb +23 -240
- data/lib/puppet/type/file/content.rb +193 -129
- data/lib/puppet/type/file/ensure.rb +149 -153
- data/lib/puppet/type/file/group.rb +94 -104
- data/lib/puppet/type/file/mode.rb +109 -122
- data/lib/puppet/type/file/owner.rb +39 -131
- data/lib/puppet/type/file/selcontext.rb +69 -73
- data/lib/puppet/type/file/source.rb +165 -153
- data/lib/puppet/type/file/target.rb +56 -60
- data/lib/puppet/type/file/type.rb +18 -18
- data/lib/puppet/type/filebucket.rb +91 -92
- data/lib/puppet/type/group.rb +77 -82
- data/lib/puppet/type/host.rb +85 -85
- data/lib/puppet/type/k5login.rb +65 -65
- data/lib/puppet/type/macauthorization.rb +141 -143
- data/lib/puppet/type/mailalias.rb +37 -37
- data/lib/puppet/type/maillist.rb +51 -51
- data/lib/puppet/type/mcx.rb +62 -62
- data/lib/puppet/type/mount.rb +199 -193
- data/lib/puppet/type/notify.rb +33 -33
- data/lib/puppet/type/package.rb +301 -298
- data/lib/puppet/type/port.rb +4 -4
- data/lib/puppet/type/resources.rb +107 -123
- data/lib/puppet/type/schedule.rb +317 -326
- data/lib/puppet/type/selboolean.rb +19 -19
- data/lib/puppet/type/selmodule.rb +34 -34
- data/lib/puppet/type/service.rb +152 -152
- data/lib/puppet/type/ssh_authorized_key.rb +74 -78
- data/lib/puppet/type/sshkey.rb +52 -56
- data/lib/puppet/type/stage.rb +18 -0
- data/lib/puppet/type/tidy.rb +289 -300
- data/lib/puppet/type/user.rb +300 -312
- data/lib/puppet/type/yumrepo.rb +300 -335
- data/lib/puppet/type/zfs.rb +36 -36
- data/lib/puppet/type/zone.rb +376 -347
- data/lib/puppet/type/zpool.rb +71 -77
- data/lib/puppet/util.rb +383 -387
- data/lib/puppet/util/autoload.rb +125 -143
- data/lib/puppet/util/autoload/file_cache.rb +78 -101
- data/lib/puppet/util/backups.rb +66 -66
- data/lib/puppet/util/cacher.rb +112 -120
- data/lib/puppet/util/checksums.rb +119 -84
- data/lib/puppet/util/classgen.rb +157 -167
- data/lib/puppet/util/command_line.rb +95 -0
- data/lib/puppet/util/command_line/filebucket +97 -0
- data/lib/puppet/util/command_line/pi +48 -0
- data/lib/puppet/util/command_line/puppet +69 -0
- data/lib/puppet/util/command_line/puppetca +110 -0
- data/lib/puppet/util/command_line/puppetd +186 -0
- data/lib/puppet/util/command_line/puppetdoc +67 -0
- data/lib/puppet/util/command_line/puppetmasterd +65 -0
- data/lib/puppet/util/command_line/puppetqd +53 -0
- data/lib/puppet/util/command_line/puppetrun +128 -0
- data/lib/puppet/util/command_line/ralsh +89 -0
- data/lib/puppet/util/constant_inflector.rb +7 -7
- data/lib/puppet/util/diff.rb +59 -56
- data/lib/puppet/util/docs.rb +97 -99
- data/lib/puppet/util/errors.rb +53 -44
- data/lib/puppet/util/execution.rb +15 -15
- data/lib/puppet/util/feature.rb +62 -72
- data/lib/puppet/util/file_locking.rb +33 -33
- data/lib/puppet/util/fileparsing.rb +292 -318
- data/lib/puppet/util/filetype.rb +246 -263
- data/lib/puppet/util/graph.rb +16 -18
- data/lib/puppet/util/inifile.rb +170 -184
- data/lib/puppet/util/inline_docs.rb +26 -0
- data/lib/puppet/util/instance_loader.rb +58 -58
- data/lib/puppet/util/ldap/connection.rb +57 -59
- data/lib/puppet/util/ldap/generator.rb +31 -31
- data/lib/puppet/util/ldap/manager.rb +233 -235
- data/lib/puppet/util/loadedfile.rb +49 -51
- data/lib/puppet/util/log.rb +210 -494
- data/lib/puppet/util/log/destination.rb +49 -0
- data/lib/puppet/util/log/destinations.rb +217 -0
- data/lib/puppet/util/log_paths.rb +15 -17
- data/lib/puppet/util/logging.rb +34 -13
- data/lib/puppet/util/metaid.rb +15 -15
- data/lib/puppet/util/methodhelper.rb +24 -26
- data/lib/puppet/util/metric.rb +123 -125
- data/lib/puppet/util/monkey_patches.rb +21 -20
- data/lib/puppet/util/nagios_maker.rb +41 -41
- data/lib/puppet/util/package.rb +24 -26
- data/lib/puppet/util/pidlock.rb +49 -49
- data/lib/puppet/util/posix.rb +115 -115
- data/lib/puppet/util/provider_features.rb +147 -155
- data/lib/puppet/util/pson.rb +5 -5
- data/lib/puppet/util/queue.rb +55 -55
- data/lib/puppet/util/queue/stomp.rb +27 -27
- data/lib/puppet/util/rails/cache_accumulator.rb +49 -49
- data/lib/puppet/util/rails/collection_merger.rb +13 -13
- data/lib/puppet/util/rails/reference_serializer.rb +26 -26
- data/lib/puppet/util/rdoc.rb +77 -74
- data/lib/puppet/util/rdoc/code_objects.rb +235 -217
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +732 -676
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +38 -12
- data/lib/puppet/util/rdoc/parser.rb +418 -392
- data/lib/puppet/util/reference.rb +168 -174
- data/lib/puppet/util/resource_template.rb +17 -17
- data/lib/puppet/util/run_mode.rb +81 -0
- data/lib/puppet/util/selinux.rb +184 -200
- data/lib/puppet/util/settings.rb +886 -919
- data/lib/puppet/util/settings/boolean_setting.rb +20 -23
- data/lib/puppet/util/settings/file_setting.rb +98 -99
- data/lib/puppet/util/settings/setting.rb +71 -87
- data/lib/puppet/util/storage.rb +73 -84
- data/lib/puppet/util/subclass_loader.rb +59 -66
- data/lib/puppet/util/suidmanager.rb +87 -84
- data/lib/puppet/util/tagging.rb +37 -39
- data/lib/puppet/util/user_attr.rb +14 -14
- data/lib/puppet/util/warnings.rb +20 -20
- data/lib/puppet/util/zaml.rb +242 -241
- data/man/man5/puppet.conf.5 +148 -76
- data/man/man8/filebucket.8 +6 -6
- data/man/man8/pi.8 +5 -5
- data/man/man8/puppet.8 +2 -73
- data/man/man8/puppetca.8 +47 -32
- data/man/man8/puppetd.8 +118 -76
- data/man/man8/puppetdoc.8 +16 -12
- data/man/man8/puppetmasterd.8 +4 -4
- data/man/man8/puppetqd.8 +4 -4
- data/man/man8/puppetrun.8 +23 -22
- data/man/man8/ralsh.8 +16 -17
- data/spec/fixtures/yaml/test.local.yaml +16 -0
- data/spec/integration/application/apply_spec.rb +33 -0
- data/spec/integration/configurer_spec.rb +35 -0
- data/spec/integration/defaults_spec.rb +258 -0
- data/spec/integration/file_serving/content_spec.rb +20 -0
- data/spec/integration/file_serving/fileset_spec.rb +14 -0
- data/spec/integration/file_serving/metadata_spec.rb +21 -0
- data/spec/integration/file_serving/terminus_helper_spec.rb +22 -0
- data/spec/integration/indirector/bucket_file/rest_spec.rb +68 -0
- data/spec/integration/indirector/catalog/compiler_spec.rb +68 -0
- data/spec/integration/indirector/catalog/queue_spec.rb +61 -0
- data/spec/integration/indirector/certificate/rest_spec.rb +68 -0
- data/spec/integration/indirector/certificate_request/rest_spec.rb +88 -0
- data/spec/integration/indirector/certificate_revocation_list/rest_spec.rb +76 -0
- data/spec/integration/indirector/direct_file_server_spec.rb +73 -0
- data/spec/integration/indirector/file_content/file_server_spec.rb +94 -0
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +18 -0
- data/spec/integration/indirector/node/ldap_spec.rb +15 -0
- data/spec/integration/indirector/report/rest_spec.rb +96 -0
- data/spec/integration/indirector/rest_spec.rb +524 -0
- data/spec/integration/network/client_spec.rb +19 -0
- data/spec/integration/network/formats_spec.rb +110 -0
- data/spec/integration/network/handler_spec.rb +25 -0
- data/spec/integration/network/server/mongrel_spec.rb +66 -0
- data/spec/integration/network/server/webrick_spec.rb +85 -0
- data/spec/integration/node/environment_spec.rb +58 -0
- data/spec/integration/node/facts_spec.rb +47 -0
- data/spec/integration/node_spec.rb +93 -0
- data/spec/integration/parser/collector_spec.rb +38 -0
- data/spec/integration/parser/compiler_spec.rb +29 -0
- data/spec/integration/parser/functions/require_spec.rb +44 -0
- data/spec/integration/parser/parser_spec.rb +113 -0
- data/spec/integration/provider/mailalias/aliases_spec.rb +25 -0
- data/spec/integration/provider/package_spec.rb +26 -0
- data/spec/integration/provider/service/init_spec.rb +32 -0
- data/spec/integration/reference/providers_spec.rb +17 -0
- data/spec/integration/reports_spec.rb +18 -0
- data/spec/integration/resource/catalog_spec.rb +61 -0
- data/spec/integration/resource/type_collection_spec.rb +96 -0
- data/spec/integration/ssl/certificate_authority_spec.rb +135 -0
- data/spec/integration/ssl/certificate_request_spec.rb +61 -0
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +42 -0
- data/spec/integration/ssl/host_spec.rb +90 -0
- data/spec/integration/transaction/report_spec.rb +29 -0
- data/spec/integration/transaction_spec.rb +284 -0
- data/spec/integration/type/file_spec.rb +506 -0
- data/spec/integration/type/package_spec.rb +25 -0
- data/spec/integration/type/tidy_spec.rb +32 -0
- data/spec/integration/type_spec.rb +22 -0
- data/spec/integration/util/autoload_spec.rb +114 -0
- data/spec/integration/util/feature_spec.rb +54 -0
- data/spec/integration/util/file_locking_spec.rb +37 -0
- data/spec/integration/util/rdoc/parser_spec.rb +59 -0
- data/spec/integration/util/settings_spec.rb +30 -0
- data/spec/lib/puppet_spec/files.rb +16 -6
- data/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb +27 -27
- data/spec/monkey_patches/alias_should_to_must.rb +4 -4
- data/spec/shared_behaviours/file_server_terminus.rb +28 -28
- data/spec/shared_behaviours/file_serving.rb +53 -53
- data/spec/shared_behaviours/memory_terminus.rb +22 -22
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +61 -18
- data/spec/spec_specs/runnable_spec.rb +95 -0
- data/spec/unit/agent/locker_spec.rb +100 -0
- data/spec/unit/agent_spec.rb +281 -0
- data/spec/unit/application/agent_spec.rb +588 -0
- data/spec/unit/application/apply_spec.rb +387 -0
- data/spec/unit/application/cert_spec.rb +194 -0
- data/spec/unit/application/describe_spec.rb +84 -0
- data/spec/unit/application/doc_spec.rb +368 -0
- data/spec/unit/application/filebucket_spec.rb +223 -0
- data/spec/unit/application/kick_spec.rb +313 -0
- data/spec/unit/application/master_spec.rb +453 -0
- data/spec/unit/application/queue_spec.rb +186 -0
- data/spec/unit/application/resource_spec.rb +233 -0
- data/spec/unit/application_spec.rb +531 -0
- data/spec/unit/configurer/downloader_spec.rb +188 -0
- data/spec/unit/configurer/fact_handler_spec.rb +164 -0
- data/spec/unit/configurer/plugin_handler_spec.rb +112 -0
- data/spec/unit/configurer_spec.rb +494 -0
- data/spec/unit/daemon_spec.rb +306 -0
- data/spec/unit/dsl/resource_api_spec.rb +181 -0
- data/spec/unit/dsl/resource_type_api_spec.rb +46 -0
- data/spec/unit/file_bucket/dipper_spec.rb +122 -0
- data/spec/unit/file_bucket/file_spec.rb +230 -0
- data/spec/unit/file_collection/lookup_spec.rb +46 -0
- data/spec/unit/file_collection_spec.rb +53 -0
- data/spec/unit/file_serving/base_spec.rb +132 -0
- data/spec/unit/file_serving/configuration/parser_spec.rb +181 -0
- data/spec/unit/file_serving/configuration_spec.rb +249 -0
- data/spec/unit/file_serving/content_spec.rb +118 -0
- data/spec/unit/file_serving/fileset_spec.rb +347 -0
- data/spec/unit/file_serving/indirection_hooks_spec.rb +63 -0
- data/spec/unit/file_serving/metadata_spec.rb +286 -0
- data/spec/unit/file_serving/mount/file_spec.rb +196 -0
- data/spec/unit/file_serving/mount/modules_spec.rb +63 -0
- data/spec/unit/file_serving/mount/plugins_spec.rb +61 -0
- data/spec/unit/file_serving/mount_spec.rb +32 -0
- data/spec/unit/file_serving/terminus_helper_spec.rb +98 -0
- data/spec/unit/indirector/active_record_spec.rb +76 -0
- data/spec/unit/indirector/catalog/active_record_spec.rb +141 -0
- data/spec/unit/indirector/catalog/compiler_spec.rb +275 -0
- data/spec/unit/indirector/catalog/queue_spec.rb +20 -0
- data/spec/unit/indirector/catalog/rest_spec.rb +11 -0
- data/spec/unit/indirector/catalog/yaml_spec.rb +25 -0
- data/spec/unit/indirector/certificate/ca_spec.rb +28 -0
- data/spec/unit/indirector/certificate/file_spec.rb +28 -0
- data/spec/unit/indirector/certificate/rest_spec.rb +58 -0
- data/spec/unit/indirector/certificate_request/ca_spec.rb +19 -0
- data/spec/unit/indirector/certificate_request/file_spec.rb +19 -0
- data/spec/unit/indirector/certificate_request/rest_spec.rb +23 -0
- data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +21 -0
- data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +20 -0
- data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +23 -0
- data/spec/unit/indirector/code_spec.rb +33 -0
- data/spec/unit/indirector/direct_file_server_spec.rb +84 -0
- data/spec/unit/indirector/envelope_spec.rb +47 -0
- data/spec/unit/indirector/exec_spec.rb +56 -0
- data/spec/unit/indirector/facts/active_record_spec.rb +104 -0
- data/spec/unit/indirector/facts/couch_spec.rb +98 -0
- data/spec/unit/indirector/facts/facter_spec.rb +143 -0
- data/spec/unit/indirector/facts/rest_spec.rb +11 -0
- data/spec/unit/indirector/facts/yaml_spec.rb +26 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +290 -0
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +11 -0
- data/spec/unit/indirector/file_content/file_server_spec.rb +18 -0
- data/spec/unit/indirector/file_content/file_spec.rb +18 -0
- data/spec/unit/indirector/file_content/rest_spec.rb +11 -0
- data/spec/unit/indirector/file_metadata/file_server_spec.rb +18 -0
- data/spec/unit/indirector/file_metadata/file_spec.rb +52 -0
- data/spec/unit/indirector/file_metadata/rest_spec.rb +9 -0
- data/spec/unit/indirector/file_server_spec.rb +267 -0
- data/spec/unit/indirector/file_spec.rb +181 -0
- data/spec/unit/indirector/indirection_spec.rb +795 -0
- data/spec/unit/indirector/key/ca_spec.rb +28 -0
- data/spec/unit/indirector/key/file_spec.rb +104 -0
- data/spec/unit/indirector/ldap_spec.rb +143 -0
- data/spec/unit/indirector/memory_spec.rb +29 -0
- data/spec/unit/indirector/node/active_record_spec.rb +41 -0
- data/spec/unit/indirector/node/exec_spec.rb +70 -0
- data/spec/unit/indirector/node/ldap_spec.rb +456 -0
- data/spec/unit/indirector/node/memory_spec.rb +19 -0
- data/spec/unit/indirector/node/plain_spec.rb +19 -0
- data/spec/unit/indirector/node/rest_spec.rb +13 -0
- data/spec/unit/indirector/node/yaml_spec.rb +25 -0
- data/spec/unit/indirector/plain_spec.rb +29 -0
- data/spec/unit/indirector/queue_spec.rb +123 -0
- data/spec/unit/indirector/report/processor_spec.rb +81 -0
- data/spec/unit/indirector/report/rest_spec.rb +28 -0
- data/spec/unit/indirector/request_spec.rb +304 -0
- data/spec/unit/indirector/resource/ral_spec.rb +129 -0
- data/spec/unit/indirector/resource/rest_spec.rb +11 -0
- data/spec/unit/indirector/resource_type/parser_spec.rb +75 -0
- data/spec/unit/indirector/resource_type/rest_spec.rb +15 -0
- data/spec/unit/indirector/rest_spec.rb +455 -0
- data/spec/unit/indirector/run/local_spec.rb +20 -0
- data/spec/unit/indirector/run/rest_spec.rb +11 -0
- data/spec/unit/indirector/ssl_file_spec.rb +281 -0
- data/spec/unit/indirector/status/rest_spec.rb +11 -0
- data/spec/unit/indirector/terminus_spec.rb +245 -0
- data/spec/unit/indirector/yaml_spec.rb +146 -0
- data/spec/unit/indirector_spec.rb +157 -0
- data/spec/unit/module_spec.rb +547 -0
- data/spec/unit/network/authconfig_spec.rb +292 -0
- data/spec/unit/network/authstore_spec.rb +370 -0
- data/spec/unit/network/client_spec.rb +45 -0
- data/spec/unit/network/format_handler_spec.rb +336 -0
- data/spec/unit/network/format_spec.rb +198 -0
- data/spec/unit/network/formats_spec.rb +337 -0
- data/spec/unit/network/handler/fileserver_spec.rb +172 -0
- data/spec/unit/network/http/api/v1_spec.rb +122 -0
- data/spec/unit/network/http/compression_spec.rb +199 -0
- data/spec/unit/network/http/handler_spec.rb +455 -0
- data/spec/unit/network/http/mongrel/rest_spec.rb +249 -0
- data/spec/unit/network/http/mongrel/{xmlrpc.rb → xmlrpc_spec.rb} +0 -0
- data/spec/unit/network/http/mongrel_spec.rb +131 -0
- data/spec/unit/network/http/rack/rest_spec.rb +249 -0
- data/spec/unit/network/http/rack/xmlrpc_spec.rb +157 -0
- data/spec/unit/network/http/rack_spec.rb +102 -0
- data/spec/unit/network/http/webrick/rest_spec.rb +180 -0
- data/spec/unit/network/http/webrick/{xmlrpc.rb → xmlrpc_spec.rb} +0 -0
- data/spec/unit/network/http/webrick_spec.rb +339 -0
- data/spec/unit/network/http_pool_spec.rb +206 -0
- data/spec/unit/network/http_spec.rb +35 -0
- data/spec/unit/network/rest_authconfig_spec.rb +148 -0
- data/spec/unit/network/rest_authorization_spec.rb +43 -0
- data/spec/unit/network/rights_spec.rb +519 -0
- data/spec/unit/network/server_spec.rb +534 -0
- data/spec/unit/network/xmlrpc/client_spec.rb +171 -0
- data/spec/unit/node/environment_spec.rb +248 -0
- data/spec/unit/node/facts_spec.rb +102 -0
- data/spec/unit/node_spec.rb +210 -0
- data/spec/unit/other/selinux_spec.rb +94 -0
- data/spec/unit/other/transbucket_spec.rb +188 -0
- data/spec/unit/other/transobject_spec.rb +112 -0
- data/spec/unit/parameter/value_collection_spec.rb +167 -0
- data/spec/unit/parameter/value_spec.rb +88 -0
- data/spec/unit/parameter_spec.rb +172 -0
- data/spec/unit/parser/ast/arithmetic_operator_spec.rb +73 -0
- data/spec/unit/parser/ast/astarray_spec.rb +72 -0
- data/spec/unit/parser/ast/asthash_spec.rb +98 -0
- data/spec/unit/parser/ast/boolean_operator_spec.rb +53 -0
- data/spec/unit/parser/ast/casestatement_spec.rb +161 -0
- data/spec/unit/parser/ast/collection_spec.rb +63 -0
- data/spec/unit/parser/ast/collexpr_spec.rb +115 -0
- data/spec/unit/parser/ast/comparison_operator_spec.rb +116 -0
- data/spec/unit/parser/ast/function_spec.rb +83 -0
- data/spec/unit/parser/ast/ifstatement_spec.rb +76 -0
- data/spec/unit/parser/ast/in_operator_spec.rb +60 -0
- data/spec/unit/parser/ast/leaf_spec.rb +362 -0
- data/spec/unit/parser/ast/match_operator_spec.rb +50 -0
- data/spec/unit/parser/ast/minus_spec.rb +36 -0
- data/spec/unit/parser/ast/nop_spec.rb +20 -0
- data/spec/unit/parser/ast/not_spec.rb +30 -0
- data/spec/unit/parser/ast/relationship_spec.rb +88 -0
- data/spec/unit/parser/ast/resource_defaults_spec.rb +22 -0
- data/spec/unit/parser/ast/resource_override_spec.rb +51 -0
- data/spec/unit/parser/ast/resource_reference_spec.rb +46 -0
- data/spec/unit/parser/ast/resource_spec.rb +120 -0
- data/spec/unit/parser/ast/selector_spec.rb +139 -0
- data/spec/unit/parser/ast/vardef_spec.rb +60 -0
- data/spec/unit/parser/ast_spec.rb +111 -0
- data/spec/unit/parser/collector_spec.rb +559 -0
- data/spec/unit/parser/compiler_spec.rb +754 -0
- data/spec/unit/parser/files_spec.rb +201 -0
- data/spec/unit/parser/functions/defined_spec.rb +50 -0
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +62 -0
- data/spec/unit/parser/functions/generate_spec.rb +41 -0
- data/spec/unit/parser/functions/inline_template_spec.rb +59 -0
- data/spec/unit/parser/functions/realize_spec.rb +51 -0
- data/spec/unit/parser/functions/regsubst_spec.rb +192 -0
- data/spec/unit/parser/functions/require_spec.rb +74 -0
- data/spec/unit/parser/functions/shellquote_spec.rb +81 -0
- data/spec/unit/parser/functions/split_spec.rb +49 -0
- data/spec/unit/parser/functions/sprintf_spec.rb +41 -0
- data/spec/unit/parser/functions/tag_spec.rb +24 -0
- data/spec/unit/parser/functions/template_spec.rb +62 -0
- data/spec/unit/parser/functions/versioncmp_spec.rb +29 -0
- data/spec/unit/parser/functions_spec.rb +102 -0
- data/spec/unit/parser/lexer_spec.rb +646 -0
- data/spec/unit/parser/parser_spec.rb +412 -0
- data/spec/unit/parser/relationship_spec.rb +70 -0
- data/spec/unit/parser/resource_spec.rb +564 -0
- data/spec/unit/parser/scope_spec.rb +629 -0
- data/spec/unit/parser/templatewrapper_spec.rb +144 -0
- data/spec/unit/parser/type_loader_spec.rb +201 -0
- data/spec/unit/property/ensure_spec.rb +13 -0
- data/spec/unit/property/keyvalue_spec.rb +168 -0
- data/spec/unit/property/list_spec.rb +166 -0
- data/spec/unit/property/ordered_list_spec.rb +64 -0
- data/spec/unit/property_spec.rb +410 -0
- data/spec/unit/provider/augeas/augeas_spec.rb +413 -0
- data/spec/unit/provider/confine/exists_spec.rb +81 -0
- data/spec/unit/provider/confine/false_spec.rb +53 -0
- data/spec/unit/provider/confine/feature_spec.rb +60 -0
- data/spec/unit/provider/confine/true_spec.rb +53 -0
- data/spec/unit/provider/confine/variable_spec.rb +107 -0
- data/spec/unit/provider/confine_collection_spec.rb +134 -0
- data/spec/unit/provider/confine_spec.rb +78 -0
- data/spec/unit/provider/confiner_spec.rb +63 -0
- data/spec/unit/provider/group/groupadd_spec.rb +31 -0
- data/spec/unit/provider/group/ldap_spec.rb +105 -0
- data/spec/unit/provider/ldap_spec.rb +248 -0
- data/spec/unit/provider/macauthorization_spec.rb +147 -0
- data/spec/unit/provider/mcx/mcxcontent_spec.rb +175 -0
- data/spec/unit/provider/mount/parsed_spec.rb +193 -0
- data/spec/unit/provider/mount_spec.rb +130 -0
- data/spec/unit/provider/naginator_spec.rb +58 -0
- data/spec/unit/provider/package/aix_spec.rb +66 -0
- data/spec/unit/provider/package/apt_spec.rb +145 -0
- data/spec/unit/provider/package/dpkg_spec.rb +225 -0
- data/spec/unit/provider/package/gem_spec.rb +87 -0
- data/spec/unit/provider/package/hpux_spec.rb +52 -0
- data/spec/unit/provider/package/nim_spec.rb +42 -0
- data/spec/unit/provider/package/pkg_spec.rb +63 -0
- data/spec/unit/provider/package/pkgdmg_spec.rb +84 -0
- data/spec/unit/provider/package/zypper_spec.rb +81 -0
- data/spec/unit/provider/parsedfile_spec.rb +95 -0
- data/spec/unit/provider/selboolean_spec.rb +37 -0
- data/spec/unit/provider/selmodule_spec.rb +66 -0
- data/spec/unit/provider/service/daemontools_spec.rb +166 -0
- data/spec/unit/provider/service/debian_spec.rb +89 -0
- data/spec/unit/provider/service/init_spec.rb +168 -0
- data/spec/unit/provider/service/launchd_spec.rb +200 -0
- data/spec/unit/provider/service/redhat_spec.rb +121 -0
- data/spec/unit/provider/service/runit_spec.rb +140 -0
- data/spec/unit/provider/service/src_spec.rb +97 -0
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +228 -0
- data/spec/unit/provider/sshkey/parsed_spec.rb +38 -0
- data/spec/unit/provider/user/hpux_spec.rb +25 -0
- data/spec/unit/provider/user/ldap_spec.rb +279 -0
- data/spec/unit/provider/user/user_role_add_spec.rb +249 -0
- data/spec/unit/provider/user/useradd_spec.rb +115 -0
- data/spec/unit/provider/zfs/solaris_spec.rb +99 -0
- data/spec/unit/provider/zone/solaris_spec.rb +55 -0
- data/spec/unit/provider/zpool/solaris_spec.rb +179 -0
- data/spec/unit/provider_spec.rb +31 -0
- data/spec/unit/puppet_spec.rb +12 -0
- data/spec/unit/rails/host_spec.rb +163 -0
- data/spec/unit/rails/param_value_spec.rb +49 -0
- data/spec/unit/rails/resource_spec.rb +123 -0
- data/spec/unit/rails_spec.rb +258 -0
- data/spec/unit/relationship_spec.rb +236 -0
- data/spec/unit/reports/http_spec.rb +56 -0
- data/spec/unit/reports/tagmail_spec.rb +94 -0
- data/spec/unit/reports_spec.rb +61 -0
- data/spec/unit/resource/catalog_spec.rb +1078 -0
- data/spec/unit/resource/status_spec.rb +103 -0
- data/spec/unit/resource/type_collection_helper_spec.rb +25 -0
- data/spec/unit/resource/type_collection_spec.rb +432 -0
- data/spec/unit/resource/type_spec.rb +722 -0
- data/spec/unit/resource_spec.rb +818 -0
- data/spec/unit/run_spec.rb +137 -0
- data/spec/unit/simple_graph_spec.rb +544 -0
- data/spec/unit/ssl/base_spec.rb +43 -0
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +333 -0
- data/spec/unit/ssl/certificate_authority_spec.rb +772 -0
- data/spec/unit/ssl/certificate_factory_spec.rb +107 -0
- data/spec/unit/ssl/certificate_request_spec.rb +220 -0
- data/spec/unit/ssl/certificate_revocation_list_spec.rb +168 -0
- data/spec/unit/ssl/certificate_spec.rb +124 -0
- data/spec/unit/ssl/host_spec.rb +707 -0
- data/spec/unit/ssl/inventory_spec.rb +180 -0
- data/spec/unit/ssl/key_spec.rb +198 -0
- data/spec/unit/status_spec.rb +31 -0
- data/spec/unit/transaction/change_spec.rb +193 -0
- data/spec/unit/transaction/event_manager_spec.rb +260 -0
- data/spec/unit/transaction/event_spec.rb +108 -0
- data/spec/unit/transaction/report_spec.rb +234 -0
- data/spec/unit/transaction/resource_harness_spec.rb +401 -0
- data/spec/unit/transaction_spec.rb +452 -0
- data/spec/unit/transportable_spec.rb +0 -0
- data/spec/unit/type/augeas_spec.rb +122 -0
- data/spec/unit/type/component_spec.rb +63 -0
- data/spec/unit/type/computer_spec.rb +81 -0
- data/spec/unit/type/cron_spec.rb +33 -0
- data/spec/unit/type/exec_spec.rb +162 -0
- data/spec/unit/type/file/checksum_spec.rb +73 -0
- data/spec/unit/type/file/content_spec.rb +460 -0
- data/spec/unit/type/file/ensure_spec.rb +84 -0
- data/spec/unit/type/file/group_spec.rb +123 -0
- data/spec/unit/type/file/owner_spec.rb +150 -0
- data/spec/unit/type/file/selinux_spec.rb +83 -0
- data/spec/unit/type/file/source_spec.rb +272 -0
- data/spec/unit/type/file_spec.rb +1070 -0
- data/spec/unit/type/filebucket_spec.rb +74 -0
- data/spec/unit/type/group_spec.rb +57 -0
- data/spec/unit/type/macauthorization_spec.rb +111 -0
- data/spec/unit/type/maillist_spec.rb +42 -0
- data/spec/unit/type/mcx_spec.rb +100 -0
- data/spec/unit/type/mount_spec.rb +261 -0
- data/spec/unit/type/nagios_spec.rb +63 -0
- data/spec/unit/type/noop_metaparam_spec.rb +37 -0
- data/spec/unit/type/package_spec.rb +240 -0
- data/spec/unit/type/resources_spec.rb +102 -0
- data/spec/unit/type/schedule_spec.rb +333 -0
- data/spec/unit/type/selboolean_spec.rb +45 -0
- data/spec/unit/type/selmodule_spec.rb +18 -0
- data/spec/unit/type/service_spec.rb +222 -0
- data/spec/unit/type/ssh_authorized_key_spec.rb +152 -0
- data/spec/unit/type/stage_spec.rb +9 -0
- data/spec/unit/type/tidy_spec.rb +424 -0
- data/spec/unit/type/user_spec.rb +281 -0
- data/spec/unit/type/zfs_spec.rb +45 -0
- data/spec/unit/type/zone_spec.rb +60 -0
- data/spec/unit/type/zpool_spec.rb +110 -0
- data/spec/unit/type_spec.rb +566 -0
- data/spec/unit/util/autoload/file_cache_spec.rb +159 -0
- data/spec/unit/util/autoload_spec.rb +120 -0
- data/spec/unit/util/backups_spec.rb +159 -0
- data/spec/unit/util/cache_accumulator_spec.rb +75 -0
- data/spec/unit/util/cacher_spec.rb +185 -0
- data/spec/unit/util/checksums_spec.rb +153 -0
- data/spec/unit/util/command_line_spec.rb +108 -0
- data/spec/unit/util/constant_inflector_spec.rb +70 -0
- data/spec/unit/util/errors_spec.rb +38 -0
- data/spec/unit/util/feature_spec.rb +72 -0
- data/spec/unit/util/file_locking_spec.rb +156 -0
- data/spec/unit/util/filetype_spec.rb +100 -0
- data/spec/unit/util/inline_docs_spec.rb +32 -0
- data/spec/unit/util/json_spec.rb +21 -0
- data/spec/unit/util/ldap/connection_spec.rb +169 -0
- data/spec/unit/util/ldap/generator_spec.rb +54 -0
- data/spec/unit/util/ldap/manager_spec.rb +654 -0
- data/spec/unit/util/loadedfile_spec.rb +65 -0
- data/spec/unit/util/log/destinations_spec.rb +24 -0
- data/spec/unit/util/log_spec.rb +215 -0
- data/spec/unit/util/logging_spec.rb +95 -0
- data/spec/unit/util/metric_spec.rb +95 -0
- data/spec/unit/util/monkey_patches_spec.rb +7 -0
- data/spec/unit/util/nagios_maker_spec.rb +126 -0
- data/spec/unit/util/package_spec.rb +21 -0
- data/spec/unit/util/posix_spec.rb +256 -0
- data/spec/unit/util/queue/stomp_spec.rb +140 -0
- data/spec/unit/util/queue_spec.rb +96 -0
- data/spec/unit/util/rdoc/parser_spec.rb +540 -0
- data/spec/unit/util/rdoc_spec.rb +165 -0
- data/spec/unit/util/reference_serializer_spec.rb +52 -0
- data/spec/unit/util/resource_template_spec.rb +58 -0
- data/spec/unit/util/run_mode_spec.rb +51 -0
- data/spec/unit/util/selinux_spec.rb +278 -0
- data/spec/unit/util/settings/file_setting_spec.rb +256 -0
- data/spec/unit/util/settings_spec.rb +1099 -0
- data/spec/unit/util/storage_spec.rb +235 -0
- data/spec/unit/util/tagging_spec.rb +102 -0
- data/spec/unit/util/user_attr_spec.rb +47 -0
- data/spec/unit/util/warnings_spec.rb +39 -0
- data/spec/unit/util/zaml_spec.rb +38 -0
- data/tasks/rake/git_workflow.rake +1 -1
- data/tasks/rake/sign.rake +2 -2
- data/test/certmgr/ca.rb +61 -61
- data/test/certmgr/certmgr.rb +292 -283
- data/test/certmgr/inventory.rb +44 -42
- data/test/certmgr/support.rb +78 -77
- data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +1 -1
- data/test/data/snippets/hash.pp +33 -0
- data/test/language/ast.rb +68 -117
- data/test/language/ast/variable.rb +14 -15
- data/test/language/functions.rb +404 -463
- data/test/language/parser.rb +670 -1135
- data/test/language/scope.rb +198 -402
- data/test/language/snippets.rb +439 -447
- data/test/language/transportable.rb +67 -66
- data/test/lib/puppettest.rb +260 -268
- data/test/lib/puppettest/certificates.rb +51 -53
- data/test/lib/puppettest/exetest.rb +107 -111
- data/test/lib/puppettest/fakes.rb +153 -158
- data/test/lib/puppettest/fileparsing.rb +17 -17
- data/test/lib/puppettest/filetesting.rb +204 -213
- data/test/lib/puppettest/parsertesting.rb +382 -365
- data/test/lib/puppettest/railstesting.rb +49 -50
- data/test/lib/puppettest/reporttesting.rb +10 -10
- data/test/lib/puppettest/resourcetesting.rb +45 -36
- data/test/lib/puppettest/runnable_test.rb +36 -28
- data/test/lib/puppettest/servertest.rb +54 -51
- data/test/lib/puppettest/support/assertions.rb +48 -55
- data/test/lib/puppettest/support/helpers.rb +12 -16
- data/test/lib/puppettest/support/resources.rb +23 -25
- data/test/lib/puppettest/support/utils.rb +138 -148
- data/test/lib/puppettest/testcase.rb +15 -17
- data/test/lib/rake/puppet_test_loader.rb +1 -3
- data/test/lib/rake/puppet_testtask.rb +10 -10
- data/test/network/authconfig.rb +48 -50
- data/test/network/authorization.rb +114 -113
- data/test/network/authstore.rb +454 -406
- data/test/network/client/ca.rb +46 -48
- data/test/network/client/dipper.rb +22 -22
- data/test/network/client_request.rb +20 -20
- data/test/network/handler/ca.rb +251 -252
- data/test/network/handler/fileserver.rb +1071 -1001
- data/test/network/handler/master.rb +58 -58
- data/test/network/handler/report.rb +64 -64
- data/test/network/handler/runner.rb +8 -8
- data/test/network/rights.rb +22 -19
- data/test/network/server/mongrel_test.rb +87 -87
- data/test/network/server/webrick.rb +99 -87
- data/test/network/xmlrpc/client.rb +30 -30
- data/test/network/xmlrpc/processor.rb +52 -53
- data/test/network/xmlrpc/server.rb +10 -11
- data/test/network/xmlrpc/webrick_servlet.rb +21 -18
- data/test/other/provider.rb +69 -84
- data/test/other/puppet.rb +61 -76
- data/test/other/relationships.rb +73 -65
- data/test/other/report.rb +88 -187
- data/test/other/transactions.rb +363 -885
- data/test/puppet/defaults.rb +51 -54
- data/test/puppet/errortest.rb +8 -8
- data/test/puppet/tc_suidmanager.rb +106 -103
- data/test/rails/rails.rb +8 -9
- data/test/rails/railsparameter.rb +60 -54
- data/test/ral/manager/attributes.rb +262 -260
- data/test/ral/manager/instances.rb +77 -78
- data/test/ral/manager/manager.rb +36 -36
- data/test/ral/manager/provider.rb +56 -79
- data/test/ral/manager/type.rb +308 -449
- data/test/ral/providers/cron/crontab.rb +561 -545
- data/test/ral/providers/group.rb +203 -212
- data/test/ral/providers/host/parsed.rb +189 -180
- data/test/ral/providers/mailalias/aliases.rb +40 -40
- data/test/ral/providers/nameservice.rb +21 -21
- data/test/ral/providers/package.rb +207 -214
- data/test/ral/providers/package/aptitude.rb +75 -63
- data/test/ral/providers/package/aptrpm.rb +84 -72
- data/test/ral/providers/parsedfile.rb +510 -509
- data/test/ral/providers/port/parsed.rb +5 -5
- data/test/ral/providers/provider.rb +421 -421
- data/test/ral/providers/service/base.rb +59 -53
- data/test/ral/providers/sshkey/parsed.rb +86 -83
- data/test/ral/providers/user.rb +471 -451
- data/test/ral/providers/user/useradd.rb +168 -177
- data/test/ral/type/cron.rb +406 -393
- data/test/ral/type/exec.rb +721 -641
- data/test/ral/type/file.rb +827 -896
- data/test/ral/type/file/target.rb +295 -251
- data/test/ral/type/fileignoresource.rb +232 -205
- data/test/ral/type/filesources.rb +446 -485
- data/test/ral/type/host.rb +124 -153
- data/test/ral/type/mailalias.rb +28 -31
- data/test/ral/type/port.rb +7 -7
- data/test/ral/type/resources.rb +88 -93
- data/test/ral/type/service.rb +19 -19
- data/test/ral/type/sshkey.rb +120 -160
- data/test/ral/type/user.rb +132 -414
- data/test/ral/type/yumrepo.rb +95 -92
- data/test/ral/type/zone.rb +316 -287
- data/test/test +1 -1
- data/test/util/classgen.rb +182 -167
- data/test/util/execution.rb +18 -18
- data/test/util/fileparsing.rb +580 -540
- data/test/util/inifile.rb +117 -106
- data/test/util/instance_loader.rb +29 -29
- data/test/util/log.rb +202 -198
- data/test/util/metrics.rb +51 -51
- data/test/util/package.rb +11 -12
- data/test/util/pidlock.rb +115 -115
- data/test/util/settings.rb +613 -557
- data/test/util/storage.rb +71 -88
- data/test/util/subclass_loader.rb +69 -72
- data/test/util/utiltest.rb +204 -203
- metadata +493 -395
- data/lib/puppet/agent/runner.rb +0 -65
- data/lib/puppet/application/pi.rb +0 -214
- data/lib/puppet/application/puppet.rb +0 -181
- data/lib/puppet/application/puppetca.rb +0 -71
- data/lib/puppet/application/puppetd.rb +0 -250
- data/lib/puppet/application/puppetdoc.rb +0 -224
- data/lib/puppet/application/puppetmasterd.rb +0 -168
- data/lib/puppet/application/puppetqd.rb +0 -96
- data/lib/puppet/application/puppetrun.rb +0 -210
- data/lib/puppet/application/ralsh.rb +0 -152
- data/lib/puppet/checksum.rb +0 -57
- data/lib/puppet/indirector/checksum/file.rb +0 -33
- data/lib/puppet/indirector/runner/rest.rb +0 -7
- data/lib/puppet/network/client/dipper.rb +0 -85
- data/lib/puppet/network/client/resource.rb +0 -38
- data/lib/puppet/network/handler/resource.rb +0 -190
- data/lib/puppet/parser/ast/definition.rb +0 -207
- data/lib/puppet/parser/ast/hostclass.rb +0 -95
- data/lib/puppet/parser/ast/node.rb +0 -42
- data/lib/puppet/parser/interpreter.rb +0 -84
- data/lib/puppet/parser/loaded_code.rb +0 -119
- data/lib/puppet/parser/resource/reference.rb +0 -99
- data/lib/puppet/resource/reference.rb +0 -90
- data/lib/puppet/util/config_store.rb +0 -61
- data/spec/integration/application/puppet.rb +0 -33
- data/spec/integration/bin/puppetmasterd.rb +0 -122
- data/spec/integration/checksum.rb +0 -48
- data/spec/integration/configurer.rb +0 -18
- data/spec/integration/defaults.rb +0 -230
- data/spec/integration/file_serving/content.rb +0 -20
- data/spec/integration/file_serving/fileset.rb +0 -14
- data/spec/integration/file_serving/metadata.rb +0 -21
- data/spec/integration/file_serving/terminus_helper.rb +0 -22
- data/spec/integration/indirector/catalog/compiler.rb +0 -67
- data/spec/integration/indirector/catalog/queue.rb +0 -61
- data/spec/integration/indirector/certificate/rest.rb +0 -70
- data/spec/integration/indirector/certificate_request/rest.rb +0 -88
- data/spec/integration/indirector/certificate_revocation_list/rest.rb +0 -76
- data/spec/integration/indirector/direct_file_server.rb +0 -73
- data/spec/integration/indirector/file_content/file_server.rb +0 -94
- data/spec/integration/indirector/file_metadata/file_server.rb +0 -18
- data/spec/integration/indirector/node/ldap.rb +0 -15
- data/spec/integration/indirector/report/rest.rb +0 -94
- data/spec/integration/indirector/rest.rb +0 -523
- data/spec/integration/network/client.rb +0 -19
- data/spec/integration/network/formats.rb +0 -110
- data/spec/integration/network/handler.rb +0 -25
- data/spec/integration/network/server/mongrel.rb +0 -66
- data/spec/integration/network/server/webrick.rb +0 -86
- data/spec/integration/node.rb +0 -93
- data/spec/integration/node/environment.rb +0 -58
- data/spec/integration/node/facts.rb +0 -47
- data/spec/integration/parser/compiler.rb +0 -29
- data/spec/integration/parser/functions/require.rb +0 -86
- data/spec/integration/provider/mailalias/aliases.rb +0 -25
- data/spec/integration/provider/package.rb +0 -26
- data/spec/integration/provider/service/init.rb +0 -32
- data/spec/integration/reference/providers.rb +0 -17
- data/spec/integration/reports.rb +0 -18
- data/spec/integration/resource/catalog.rb +0 -61
- data/spec/integration/ssl/certificate_authority.rb +0 -135
- data/spec/integration/ssl/certificate_request.rb +0 -61
- data/spec/integration/ssl/certificate_revocation_list.rb +0 -42
- data/spec/integration/ssl/host.rb +0 -90
- data/spec/integration/transaction.rb +0 -66
- data/spec/integration/transaction/report.rb +0 -29
- data/spec/integration/type.rb +0 -22
- data/spec/integration/type/file.rb +0 -477
- data/spec/integration/type/package.rb +0 -25
- data/spec/integration/type/tidy.rb +0 -27
- data/spec/integration/util/autoload.rb +0 -114
- data/spec/integration/util/feature.rb +0 -54
- data/spec/integration/util/file_locking.rb +0 -37
- data/spec/integration/util/settings.rb +0 -27
- data/spec/unit/agent.rb +0 -259
- data/spec/unit/agent/locker.rb +0 -100
- data/spec/unit/agent/runner.rb +0 -118
- data/spec/unit/application.rb +0 -420
- data/spec/unit/application/filebucket.rb +0 -220
- data/spec/unit/application/pi.rb +0 -84
- data/spec/unit/application/puppet.rb +0 -399
- data/spec/unit/application/puppetca.rb +0 -142
- data/spec/unit/application/puppetd.rb +0 -502
- data/spec/unit/application/puppetdoc.rb +0 -360
- data/spec/unit/application/puppetmasterd.rb +0 -457
- data/spec/unit/application/puppetqd.rb +0 -186
- data/spec/unit/application/puppetrun.rb +0 -289
- data/spec/unit/application/ralsh.rb +0 -254
- data/spec/unit/configurer.rb +0 -339
- data/spec/unit/configurer/downloader.rb +0 -188
- data/spec/unit/configurer/fact_handler.rb +0 -164
- data/spec/unit/configurer/plugin_handler.rb +0 -112
- data/spec/unit/daemon.rb +0 -287
- data/spec/unit/file_collection.rb +0 -53
- data/spec/unit/file_collection/lookup.rb +0 -46
- data/spec/unit/file_serving/base.rb +0 -132
- data/spec/unit/file_serving/configuration.rb +0 -249
- data/spec/unit/file_serving/configuration/parser.rb +0 -181
- data/spec/unit/file_serving/content.rb +0 -110
- data/spec/unit/file_serving/fileset.rb +0 -347
- data/spec/unit/file_serving/indirection_hooks.rb +0 -63
- data/spec/unit/file_serving/metadata.rb +0 -286
- data/spec/unit/file_serving/mount.rb +0 -32
- data/spec/unit/file_serving/mount/file.rb +0 -196
- data/spec/unit/file_serving/mount/modules.rb +0 -63
- data/spec/unit/file_serving/mount/plugins.rb +0 -61
- data/spec/unit/file_serving/terminus_helper.rb +0 -98
- data/spec/unit/indirector.rb +0 -157
- data/spec/unit/indirector/active_record.rb +0 -76
- data/spec/unit/indirector/catalog/active_record.rb +0 -141
- data/spec/unit/indirector/catalog/compiler.rb +0 -261
- data/spec/unit/indirector/catalog/queue.rb +0 -20
- data/spec/unit/indirector/catalog/rest.rb +0 -11
- data/spec/unit/indirector/catalog/yaml.rb +0 -25
- data/spec/unit/indirector/certificate/ca.rb +0 -28
- data/spec/unit/indirector/certificate/file.rb +0 -28
- data/spec/unit/indirector/certificate/rest.rb +0 -57
- data/spec/unit/indirector/certificate_request/ca.rb +0 -19
- data/spec/unit/indirector/certificate_request/file.rb +0 -19
- data/spec/unit/indirector/certificate_request/rest.rb +0 -23
- data/spec/unit/indirector/certificate_revocation_list/ca.rb +0 -21
- data/spec/unit/indirector/certificate_revocation_list/file.rb +0 -20
- data/spec/unit/indirector/certificate_revocation_list/rest.rb +0 -23
- data/spec/unit/indirector/checksum/file.rb +0 -139
- data/spec/unit/indirector/code.rb +0 -33
- data/spec/unit/indirector/direct_file_server.rb +0 -84
- data/spec/unit/indirector/envelope.rb +0 -47
- data/spec/unit/indirector/exec.rb +0 -56
- data/spec/unit/indirector/facts/active_record.rb +0 -104
- data/spec/unit/indirector/facts/facter.rb +0 -142
- data/spec/unit/indirector/facts/rest.rb +0 -11
- data/spec/unit/indirector/facts/yaml.rb +0 -26
- data/spec/unit/indirector/file.rb +0 -161
- data/spec/unit/indirector/file_content/file.rb +0 -18
- data/spec/unit/indirector/file_content/file_server.rb +0 -18
- data/spec/unit/indirector/file_content/rest.rb +0 -11
- data/spec/unit/indirector/file_metadata/file.rb +0 -52
- data/spec/unit/indirector/file_metadata/file_server.rb +0 -18
- data/spec/unit/indirector/file_metadata/rest.rb +0 -9
- data/spec/unit/indirector/file_server.rb +0 -267
- data/spec/unit/indirector/indirection.rb +0 -795
- data/spec/unit/indirector/key/ca.rb +0 -28
- data/spec/unit/indirector/key/file.rb +0 -104
- data/spec/unit/indirector/ldap.rb +0 -143
- data/spec/unit/indirector/memory.rb +0 -29
- data/spec/unit/indirector/node/active_record.rb +0 -34
- data/spec/unit/indirector/node/exec.rb +0 -69
- data/spec/unit/indirector/node/ldap.rb +0 -458
- data/spec/unit/indirector/node/memory.rb +0 -19
- data/spec/unit/indirector/node/plain.rb +0 -19
- data/spec/unit/indirector/node/rest.rb +0 -13
- data/spec/unit/indirector/node/yaml.rb +0 -25
- data/spec/unit/indirector/plain.rb +0 -29
- data/spec/unit/indirector/queue.rb +0 -123
- data/spec/unit/indirector/report/processor.rb +0 -81
- data/spec/unit/indirector/report/rest.rb +0 -28
- data/spec/unit/indirector/request.rb +0 -308
- data/spec/unit/indirector/rest.rb +0 -403
- data/spec/unit/indirector/runner/rest.rb +0 -11
- data/spec/unit/indirector/ssl_file.rb +0 -280
- data/spec/unit/indirector/terminus.rb +0 -245
- data/spec/unit/indirector/yaml.rb +0 -145
- data/spec/unit/module.rb +0 -247
- data/spec/unit/network/authconfig.rb +0 -292
- data/spec/unit/network/authstore.rb +0 -370
- data/spec/unit/network/client.rb +0 -45
- data/spec/unit/network/client/dipper.rb +0 -16
- data/spec/unit/network/format.rb +0 -191
- data/spec/unit/network/format_handler.rb +0 -327
- data/spec/unit/network/formats.rb +0 -365
- data/spec/unit/network/handler/fileserver.rb +0 -176
- data/spec/unit/network/http.rb +0 -35
- data/spec/unit/network/http/api/v1.rb +0 -122
- data/spec/unit/network/http/handler.rb +0 -458
- data/spec/unit/network/http/mongrel.rb +0 -131
- data/spec/unit/network/http/mongrel/rest.rb +0 -232
- data/spec/unit/network/http/rack.rb +0 -102
- data/spec/unit/network/http/rack/rest.rb +0 -199
- data/spec/unit/network/http/rack/xmlrpc.rb +0 -157
- data/spec/unit/network/http/webrick.rb +0 -339
- data/spec/unit/network/http/webrick/rest.rb +0 -157
- data/spec/unit/network/http_pool.rb +0 -206
- data/spec/unit/network/rest_authconfig.rb +0 -146
- data/spec/unit/network/rest_authorization.rb +0 -43
- data/spec/unit/network/rights.rb +0 -519
- data/spec/unit/network/server.rb +0 -534
- data/spec/unit/network/xmlrpc/client.rb +0 -171
- data/spec/unit/node.rb +0 -200
- data/spec/unit/node/environment.rb +0 -187
- data/spec/unit/node/facts.rb +0 -97
- data/spec/unit/other/checksum.rb +0 -92
- data/spec/unit/other/selinux.rb +0 -85
- data/spec/unit/other/transbucket.rb +0 -188
- data/spec/unit/other/transobject.rb +0 -112
- data/spec/unit/parameter.rb +0 -405
- data/spec/unit/parser/ast.rb +0 -41
- data/spec/unit/parser/ast/arithmetic_operator.rb +0 -73
- data/spec/unit/parser/ast/astarray.rb +0 -72
- data/spec/unit/parser/ast/boolean_operator.rb +0 -53
- data/spec/unit/parser/ast/casestatement.rb +0 -135
- data/spec/unit/parser/ast/collection.rb +0 -63
- data/spec/unit/parser/ast/collexpr.rb +0 -115
- data/spec/unit/parser/ast/comparison_operator.rb +0 -92
- data/spec/unit/parser/ast/definition.rb +0 -213
- data/spec/unit/parser/ast/function.rb +0 -83
- data/spec/unit/parser/ast/hostclass.rb +0 -148
- data/spec/unit/parser/ast/ifstatement.rb +0 -76
- data/spec/unit/parser/ast/leaf.rb +0 -298
- data/spec/unit/parser/ast/match_operator.rb +0 -50
- data/spec/unit/parser/ast/minus.rb +0 -36
- data/spec/unit/parser/ast/node.rb +0 -145
- data/spec/unit/parser/ast/nop.rb +0 -20
- data/spec/unit/parser/ast/not.rb +0 -30
- data/spec/unit/parser/ast/resource.rb +0 -103
- data/spec/unit/parser/ast/resource_override.rb +0 -51
- data/spec/unit/parser/ast/resource_reference.rb +0 -69
- data/spec/unit/parser/ast/selector.rb +0 -155
- data/spec/unit/parser/ast/vardef.rb +0 -47
- data/spec/unit/parser/collector.rb +0 -556
- data/spec/unit/parser/compiler.rb +0 -604
- data/spec/unit/parser/files.rb +0 -190
- data/spec/unit/parser/functions.rb +0 -83
- data/spec/unit/parser/functions/fqdn_rand.rb +0 -62
- data/spec/unit/parser/functions/generate.rb +0 -41
- data/spec/unit/parser/functions/inline_template.rb +0 -59
- data/spec/unit/parser/functions/realize.rb +0 -51
- data/spec/unit/parser/functions/regsubst.rb +0 -168
- data/spec/unit/parser/functions/require.rb +0 -69
- data/spec/unit/parser/functions/shellquote.rb +0 -92
- data/spec/unit/parser/functions/split.rb +0 -51
- data/spec/unit/parser/functions/sprintf.rb +0 -42
- data/spec/unit/parser/functions/template.rb +0 -62
- data/spec/unit/parser/functions/versioncmp.rb +0 -29
- data/spec/unit/parser/interpreter.rb +0 -147
- data/spec/unit/parser/lexer.rb +0 -731
- data/spec/unit/parser/loaded_code.rb +0 -215
- data/spec/unit/parser/parser.rb +0 -423
- data/spec/unit/parser/resource.rb +0 -529
- data/spec/unit/parser/resource/reference.rb +0 -111
- data/spec/unit/parser/scope.rb +0 -387
- data/spec/unit/parser/templatewrapper.rb +0 -134
- data/spec/unit/property.rb +0 -305
- data/spec/unit/property/keyvalue.rb +0 -168
- data/spec/unit/property/list.rb +0 -166
- data/spec/unit/property/ordered_list.rb +0 -64
- data/spec/unit/provider.rb +0 -31
- data/spec/unit/provider/augeas/augeas.rb +0 -413
- data/spec/unit/provider/confine.rb +0 -78
- data/spec/unit/provider/confine/exists.rb +0 -81
- data/spec/unit/provider/confine/false.rb +0 -53
- data/spec/unit/provider/confine/feature.rb +0 -60
- data/spec/unit/provider/confine/true.rb +0 -53
- data/spec/unit/provider/confine/variable.rb +0 -107
- data/spec/unit/provider/confine_collection.rb +0 -134
- data/spec/unit/provider/confiner.rb +0 -63
- data/spec/unit/provider/group/groupadd.rb +0 -31
- data/spec/unit/provider/group/ldap.rb +0 -105
- data/spec/unit/provider/ldap.rb +0 -248
- data/spec/unit/provider/macauthorization.rb +0 -147
- data/spec/unit/provider/mcx/mcxcontent.rb +0 -175
- data/spec/unit/provider/mount.rb +0 -130
- data/spec/unit/provider/mount/parsed.rb +0 -194
- data/spec/unit/provider/naginator.rb +0 -58
- data/spec/unit/provider/package/apt.rb +0 -138
- data/spec/unit/provider/package/dpkg.rb +0 -170
- data/spec/unit/provider/package/gem.rb +0 -87
- data/spec/unit/provider/package/hpux.rb +0 -52
- data/spec/unit/provider/package/pkgdmg.rb +0 -73
- data/spec/unit/provider/parsedfile.rb +0 -95
- data/spec/unit/provider/selboolean.rb +0 -37
- data/spec/unit/provider/selmodule.rb +0 -66
- data/spec/unit/provider/service/daemontools.rb +0 -166
- data/spec/unit/provider/service/debian.rb +0 -89
- data/spec/unit/provider/service/init.rb +0 -121
- data/spec/unit/provider/service/launchd.rb +0 -200
- data/spec/unit/provider/service/redhat.rb +0 -96
- data/spec/unit/provider/service/runit.rb +0 -140
- data/spec/unit/provider/ssh_authorized_key/parsed.rb +0 -206
- data/spec/unit/provider/sshkey/parsed.rb +0 -38
- data/spec/unit/provider/user/hpux.rb +0 -25
- data/spec/unit/provider/user/ldap.rb +0 -279
- data/spec/unit/provider/user/user_role_add.rb +0 -249
- data/spec/unit/provider/user/useradd.rb +0 -115
- data/spec/unit/provider/zfs/solaris.rb +0 -99
- data/spec/unit/provider/zone/solaris.rb +0 -42
- data/spec/unit/provider/zpool/solaris.rb +0 -179
- data/spec/unit/rails.rb +0 -133
- data/spec/unit/rails/host.rb +0 -163
- data/spec/unit/rails/param_value.rb +0 -49
- data/spec/unit/rails/resource.rb +0 -107
- data/spec/unit/relationship.rb +0 -236
- data/spec/unit/reports.rb +0 -61
- data/spec/unit/resource.rb +0 -495
- data/spec/unit/resource/catalog.rb +0 -1053
- data/spec/unit/resource/reference.rb +0 -111
- data/spec/unit/simple_graph.rb +0 -551
- data/spec/unit/ssl/certificate.rb +0 -124
- data/spec/unit/ssl/certificate_authority.rb +0 -741
- data/spec/unit/ssl/certificate_authority/interface.rb +0 -269
- data/spec/unit/ssl/certificate_factory.rb +0 -107
- data/spec/unit/ssl/certificate_request.rb +0 -193
- data/spec/unit/ssl/certificate_revocation_list.rb +0 -168
- data/spec/unit/ssl/host.rb +0 -704
- data/spec/unit/ssl/inventory.rb +0 -180
- data/spec/unit/ssl/key.rb +0 -198
- data/spec/unit/transaction.rb +0 -146
- data/spec/unit/transaction/change.rb +0 -187
- data/spec/unit/transaction/event.rb +0 -25
- data/spec/unit/transaction/report.rb +0 -40
- data/spec/unit/type.rb +0 -426
- data/spec/unit/type/augeas.rb +0 -106
- data/spec/unit/type/component.rb +0 -63
- data/spec/unit/type/computer.rb +0 -78
- data/spec/unit/type/cron.rb +0 -33
- data/spec/unit/type/exec.rb +0 -116
- data/spec/unit/type/file.rb +0 -810
- data/spec/unit/type/file/checksum.rb +0 -28
- data/spec/unit/type/file/content.rb +0 -297
- data/spec/unit/type/file/ensure.rb +0 -84
- data/spec/unit/type/file/group.rb +0 -123
- data/spec/unit/type/file/owner.rb +0 -143
- data/spec/unit/type/file/selinux.rb +0 -84
- data/spec/unit/type/file/source.rb +0 -264
- data/spec/unit/type/filebucket.rb +0 -74
- data/spec/unit/type/group.rb +0 -39
- data/spec/unit/type/macauthorization.rb +0 -111
- data/spec/unit/type/maillist.rb +0 -42
- data/spec/unit/type/mcx.rb +0 -100
- data/spec/unit/type/mount.rb +0 -211
- data/spec/unit/type/nagios.rb +0 -63
- data/spec/unit/type/noop_metaparam.rb +0 -37
- data/spec/unit/type/package.rb +0 -236
- data/spec/unit/type/resources.rb +0 -89
- data/spec/unit/type/schedule.rb +0 -333
- data/spec/unit/type/selboolean.rb +0 -45
- data/spec/unit/type/selmodule.rb +0 -18
- data/spec/unit/type/service.rb +0 -230
- data/spec/unit/type/ssh_authorized_key.rb +0 -140
- data/spec/unit/type/tidy.rb +0 -422
- data/spec/unit/type/user.rb +0 -285
- data/spec/unit/type/zfs.rb +0 -45
- data/spec/unit/type/zone.rb +0 -20
- data/spec/unit/type/zpool.rb +0 -110
- data/spec/unit/util/autoload.rb +0 -133
- data/spec/unit/util/autoload/file_cache.rb +0 -183
- data/spec/unit/util/backups.rb +0 -159
- data/spec/unit/util/cache_accumulator.rb +0 -69
- data/spec/unit/util/cacher.rb +0 -185
- data/spec/unit/util/checksums.rb +0 -113
- data/spec/unit/util/constant_inflector.rb +0 -70
- data/spec/unit/util/feature.rb +0 -72
- data/spec/unit/util/file_locking.rb +0 -115
- data/spec/unit/util/filetype.rb +0 -100
- data/spec/unit/util/json.rb +0 -21
- data/spec/unit/util/ldap/connection.rb +0 -169
- data/spec/unit/util/ldap/generator.rb +0 -54
- data/spec/unit/util/ldap/manager.rb +0 -654
- data/spec/unit/util/loadedfile.rb +0 -65
- data/spec/unit/util/log.rb +0 -202
- data/spec/unit/util/metric.rb +0 -95
- data/spec/unit/util/monkey_patches.rb +0 -103
- data/spec/unit/util/nagios_maker.rb +0 -126
- data/spec/unit/util/package.rb +0 -21
- data/spec/unit/util/posix.rb +0 -256
- data/spec/unit/util/queue.rb +0 -96
- data/spec/unit/util/queue/stomp.rb +0 -140
- data/spec/unit/util/reference_serializer.rb +0 -52
- data/spec/unit/util/resource_template.rb +0 -58
- data/spec/unit/util/selinux.rb +0 -280
- data/spec/unit/util/settings.rb +0 -1058
- data/spec/unit/util/settings/file_setting.rb +0 -248
- data/spec/unit/util/storage.rb +0 -248
- data/spec/unit/util/tagging.rb +0 -102
- data/spec/unit/util/user_attr.rb +0 -47
- data/spec/unit/util/warnings.rb +0 -39
- data/spec/unit/util/zaml.rb +0 -38
- data/test/language/ast/casestatement.rb +0 -103
- data/test/language/ast/resource.rb +0 -58
- data/test/language/ast/resource_reference.rb +0 -77
- data/test/language/ast/selector.rb +0 -61
- data/test/language/resource.rb +0 -172
- data/test/lib/puppettest/support/collection.rb +0 -29
- data/test/network/client/resource.rb +0 -52
- data/test/network/handler/bucket.rb +0 -313
- data/test/network/handler/resource.rb +0 -250
- data/test/other/dsl.rb +0 -215
- data/test/other/events.rb +0 -124
- data/test/ral/type/group.rb +0 -170
@@ -1,41 +1,39 @@
|
|
1
1
|
module Puppet::Parser::Functions
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
Safe = 'a-zA-Z0-9@%_+=:,./-' # Safe unquoted
|
4
|
+
Dangerous = '!"`$\\' # Unsafe inside double quotes
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
newfunction(:shellquote, :type => :rvalue, :doc => "\
|
7
|
+
Quote and concatenate arguments for use in Bourne shell.
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
9
|
+
Each argument is quoted separately, and then all are concatenated
|
10
|
+
with spaces. If an argument is an array, the elements of that
|
11
|
+
array is interpolated within the rest of the arguments; this makes
|
12
|
+
it possible to have an array of arguments and pass that array to
|
13
|
+
shellquote instead of having to specify each argument
|
14
|
+
individually in the call.
|
15
|
+
") \
|
16
|
+
do |args|
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
end
|
32
|
-
r += c.chr()
|
33
|
-
end
|
34
|
-
r += '"'
|
35
|
-
result << r
|
36
|
-
end
|
18
|
+
result = []
|
19
|
+
args.flatten.each do |word|
|
20
|
+
if word.length != 0 and word.count(Safe) == word.length
|
21
|
+
result << word
|
22
|
+
elsif word.count(Dangerous) == 0
|
23
|
+
result << ('"' + word + '"')
|
24
|
+
elsif word.count("'") == 0
|
25
|
+
result << ("'" + word + "'")
|
26
|
+
else
|
27
|
+
r = '"'
|
28
|
+
word.each_byte do |c|
|
29
|
+
r += "\\" if Dangerous.include?(c)
|
30
|
+
r += c.chr
|
37
31
|
end
|
38
|
-
|
39
|
-
|
32
|
+
r += '"'
|
33
|
+
result << r
|
34
|
+
end
|
40
35
|
end
|
36
|
+
|
37
|
+
return result.join(" ")
|
38
|
+
end
|
41
39
|
end
|
@@ -1,6 +1,9 @@
|
|
1
1
|
module Puppet::Parser::Functions
|
2
|
-
|
3
|
-
|
2
|
+
|
3
|
+
newfunction(
|
4
|
+
:split, :type => :rvalue,
|
5
|
+
|
6
|
+
:doc => "\
|
4
7
|
Split a string variable into an array using the specified split regexp.
|
5
8
|
|
6
9
|
Usage::
|
@@ -19,11 +22,8 @@ a regexp meta-character (.), and that needs protection. A simple
|
|
19
22
|
way to do that for a single character is to enclose it in square
|
20
23
|
brackets.") do |args|
|
21
24
|
|
22
|
-
|
23
|
-
raise Puppet::ParseError, ("split(): wrong number of arguments" +
|
24
|
-
" (#{args.length}; must be 2)")
|
25
|
-
end
|
25
|
+
raise Puppet::ParseError, ("split(): wrong number of arguments (#{args.length}; must be 2)") if args.length != 2
|
26
26
|
|
27
|
-
|
28
|
-
|
27
|
+
return args[0].split(Regexp.compile(args[1]))
|
28
|
+
end
|
29
29
|
end
|
@@ -1,12 +1,13 @@
|
|
1
1
|
module Puppet::Parser::Functions
|
2
|
-
newfunction(:sprintf, :type => :rvalue,
|
3
|
-
:doc => "Perform printf-style formatting of text.
|
4
2
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
3
|
+
newfunction(
|
4
|
+
:sprintf, :type => :rvalue,
|
5
|
+
|
6
|
+
:doc => "Perform printf-style formatting of text.
|
7
|
+
|
8
|
+
The first parameter is format string describing how the rest of the parameters should be formatted. See the documentation for the ``Kernel::sprintf`` function in Ruby for all the details.") do |args|
|
9
|
+
raise Puppet::ParseError, 'sprintf() needs at least one argument' if args.length < 1
|
10
|
+
fmt = args.shift
|
11
|
+
return sprintf(fmt, *args)
|
12
|
+
end
|
12
13
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# Tag the current scope with each passed name
|
2
2
|
Puppet::Parser::Functions::newfunction(:tag, :doc => "Add the specified tags to the containing class
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
or definition. All contained objects will then acquire that tag, also.
|
4
|
+
") do |vals|
|
5
|
+
self.resource.tag(*vals)
|
6
6
|
end
|
@@ -1,18 +1,18 @@
|
|
1
1
|
# Test whether a given tag is set. This functions as a big OR -- if any of the specified tags are unset, we return false.
|
2
2
|
Puppet::Parser::Functions::newfunction(:tagged, :type => :rvalue, :doc => "A boolean function that
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
tells you whether the current container is tagged with the specified tags.
|
4
|
+
The tags are ANDed, so that all of the specified tags must be included for
|
5
|
+
the function to return true.") do |vals|
|
6
|
+
configtags = compiler.catalog.tags
|
7
|
+
resourcetags = resource.tags
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
9
|
+
retval = true
|
10
|
+
vals.each do |val|
|
11
|
+
unless configtags.include?(val) or resourcetags.include?(val)
|
12
|
+
retval = false
|
13
|
+
break
|
14
|
+
end
|
15
|
+
end
|
16
16
|
|
17
|
-
|
17
|
+
return retval
|
18
18
|
end
|
@@ -1,23 +1,22 @@
|
|
1
1
|
Puppet::Parser::Functions::newfunction(:template, :type => :rvalue, :doc =>
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
2
|
+
"Evaluate a template and return its value. See `the templating docs
|
3
|
+
<http://docs.puppetlabs.com/guides/templating.html>`_ for more information.
|
4
|
+
Note that if multiple templates are specified, their output is all
|
5
|
+
concatenated and returned as the output of the function.") do |vals|
|
6
|
+
require 'erb'
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
vals.collect do |file|
|
9
|
+
# Use a wrapper, so the template can't get access to the full
|
10
|
+
# Scope object.
|
11
|
+
debug "Retrieving template #{file}"
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
end.join("")
|
13
|
+
wrapper = Puppet::Parser::TemplateWrapper.new(self)
|
14
|
+
wrapper.file = file
|
15
|
+
begin
|
16
|
+
wrapper.result
|
17
|
+
rescue => detail
|
18
|
+
raise Puppet::ParseError,
|
19
|
+
"Failed to parse template #{file}: #{detail}"
|
20
|
+
end
|
21
|
+
end.join("")
|
23
22
|
end
|
@@ -1,31 +1,34 @@
|
|
1
1
|
require 'puppet/util/package'
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
|
4
|
+
Puppet::Parser::Functions::newfunction(
|
5
|
+
:versioncmp, :type => :rvalue,
|
6
|
+
|
7
|
+
:doc => "Compares two versions
|
5
8
|
|
6
9
|
Prototype::
|
7
10
|
|
8
|
-
|
11
|
+
\$result = versioncmp(a, b)
|
9
12
|
|
10
|
-
|
13
|
+
where a and b are arbitrary version strings
|
11
14
|
|
12
15
|
This functions returns a number::
|
13
16
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
+
* > 0 if version a is greater than version b
|
18
|
+
* == 0 if both version are equals
|
19
|
+
* < 0 if version a is less than version b
|
17
20
|
|
18
21
|
Example::
|
19
22
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
+
if versioncmp('2.6-1', '2.4.5') > 0 {
|
24
|
+
notice('2.6-1 is > than 2.4.5')
|
25
|
+
}
|
23
26
|
|
24
27
|
") do |args|
|
25
28
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
+
unless args.length == 2
|
30
|
+
raise Puppet::ParseError, "versioncmp should have 2 arguments"
|
31
|
+
end
|
29
32
|
|
30
|
-
|
33
|
+
return Puppet::Util::Package.versioncmp(args[0], args[1])
|
31
34
|
end
|
@@ -4,473 +4,494 @@
|
|
4
4
|
|
5
5
|
class Puppet::Parser::Parser
|
6
6
|
|
7
|
-
token
|
7
|
+
token STRING DQPRE DQMID DQPOST
|
8
|
+
token LBRACK RBRACK LBRACE RBRACE SYMBOL FARROW COMMA TRUE
|
8
9
|
token FALSE EQUALS APPENDS LESSEQUAL NOTEQUAL DOT COLON LLCOLLECT RRCOLLECT
|
9
10
|
token QMARK LPAREN RPAREN ISEQUAL GREATEREQUAL GREATERTHAN LESSTHAN
|
10
11
|
token IF ELSE IMPORT DEFINE ELSIF VARIABLE CLASS INHERITS NODE BOOLEAN
|
11
12
|
token NAME SEMIC CASE DEFAULT AT LCOLLECT RCOLLECT CLASSNAME CLASSREF
|
12
13
|
token NOT OR AND UNDEF PARROW PLUS MINUS TIMES DIV LSHIFT RSHIFT UMINUS
|
13
|
-
token MATCH NOMATCH REGEX
|
14
|
+
token MATCH NOMATCH REGEX IN_EDGE OUT_EDGE IN_EDGE_SUB OUT_EDGE_SUB
|
15
|
+
token IN
|
14
16
|
|
15
17
|
prechigh
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
18
|
+
right NOT
|
19
|
+
nonassoc UMINUS
|
20
|
+
left IN MATCH NOMATCH
|
21
|
+
left TIMES DIV
|
22
|
+
left MINUS PLUS
|
23
|
+
left LSHIFT RSHIFT
|
24
|
+
left NOTEQUAL ISEQUAL
|
25
|
+
left GREATEREQUAL GREATERTHAN LESSTHAN LESSEQUAL
|
26
|
+
left AND
|
27
|
+
left OR
|
26
28
|
preclow
|
27
29
|
|
28
30
|
rule
|
29
31
|
program: statements {
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
result = nil
|
35
|
-
else
|
36
|
-
result = val[0]
|
37
|
-
end
|
38
|
-
else
|
39
|
-
result = aryfy(val[0])
|
40
|
-
end
|
41
|
-
else
|
32
|
+
if val[0]
|
33
|
+
# Make sure we always return an array.
|
34
|
+
if val[0].is_a?(AST::ASTArray)
|
35
|
+
if val[0].children.empty?
|
42
36
|
result = nil
|
37
|
+
else
|
38
|
+
result = val[0]
|
39
|
+
end
|
40
|
+
else
|
41
|
+
result = aryfy(val[0])
|
43
42
|
end
|
43
|
+
else
|
44
|
+
result = nil
|
45
|
+
end
|
44
46
|
}
|
45
|
-
|
47
|
+
| nil
|
46
48
|
|
47
49
|
statements: statement
|
48
|
-
|
50
|
+
| statements statement {
|
49
51
|
if val[0] and val[1]
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
end
|
56
|
-
elsif obj = (val[0] || val[1])
|
57
|
-
result = obj
|
58
|
-
else result = nil
|
52
|
+
if val[0].instance_of?(AST::ASTArray)
|
53
|
+
val[0].push(val[1])
|
54
|
+
result = val[0]
|
55
|
+
else
|
56
|
+
result = ast AST::ASTArray, :children => [val[0],val[1]]
|
59
57
|
end
|
58
|
+
elsif obj = (val[0] || val[1])
|
59
|
+
result = obj
|
60
|
+
else result = nil
|
61
|
+
end
|
60
62
|
}
|
61
63
|
|
62
64
|
# The main list of valid statements
|
63
65
|
statement: resource
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
66
|
+
| virtualresource
|
67
|
+
| collection
|
68
|
+
| assignment
|
69
|
+
| casestatement
|
70
|
+
| ifstatement_begin
|
71
|
+
| import
|
72
|
+
| fstatement
|
73
|
+
| definition
|
74
|
+
| hostclass
|
75
|
+
| nodedef
|
76
|
+
| resourceoverride
|
77
|
+
| append
|
78
|
+
| relationship
|
76
79
|
|
77
|
-
|
78
|
-
|
79
|
-
result = ast AST::Function,
|
80
|
-
:name => val[0][:value],
|
81
|
-
:line => val[0][:line],
|
82
|
-
:arguments => args,
|
83
|
-
:ftype => :statement
|
80
|
+
relationship: relationship_side edge relationship_side {
|
81
|
+
result = AST::Relationship.new(val[0], val[2], val[1][:value], ast_context)
|
84
82
|
}
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
83
|
+
| relationship edge relationship_side {
|
84
|
+
result = AST::Relationship.new(val[0], val[2], val[1][:value], ast_context)
|
85
|
+
}
|
86
|
+
|
87
|
+
relationship_side: resource | resourceref | collection
|
88
|
+
|
89
|
+
edge: IN_EDGE | OUT_EDGE | IN_EDGE_SUB | OUT_EDGE_SUB
|
90
|
+
|
91
|
+
fstatement: NAME LPAREN funcvalues RPAREN {
|
92
|
+
args = aryfy(val[2])
|
93
|
+
result = ast AST::Function,
|
94
|
+
:name => val[0][:value],
|
95
|
+
:line => val[0][:line],
|
96
|
+
:arguments => args,
|
97
|
+
:ftype => :statement
|
98
|
+
}
|
99
|
+
| NAME LPAREN funcvalues COMMA RPAREN {
|
100
|
+
args = aryfy(val[2])
|
101
|
+
result = ast AST::Function,
|
102
|
+
:name => val[0][:value],
|
103
|
+
:line => val[0][:line],
|
104
|
+
:arguments => args,
|
105
|
+
:ftype => :statement
|
92
106
|
} | NAME LPAREN RPAREN {
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
107
|
+
result = ast AST::Function,
|
108
|
+
:name => val[0][:value],
|
109
|
+
:line => val[0][:line],
|
110
|
+
:arguments => AST::ASTArray.new({}),
|
111
|
+
:ftype => :statement
|
98
112
|
}
|
99
|
-
|
113
|
+
| NAME funcvalues {
|
100
114
|
args = aryfy(val[1])
|
101
115
|
result = ast AST::Function,
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
116
|
+
:name => val[0][:value],
|
117
|
+
:line => val[0][:line],
|
118
|
+
:arguments => args,
|
119
|
+
:ftype => :statement
|
106
120
|
}
|
107
121
|
|
108
122
|
funcvalues: namestring
|
109
|
-
|
110
|
-
|
123
|
+
| resourceref
|
124
|
+
| funcvalues COMMA namestring {
|
111
125
|
result = aryfy(val[0], val[2])
|
112
126
|
result.line = @lexer.line
|
113
127
|
result.file = @lexer.file
|
114
128
|
}
|
115
|
-
|
129
|
+
| funcvalues COMMA resourceref {
|
116
130
|
unless val[0].is_a?(AST::ASTArray)
|
117
|
-
|
118
|
-
|
131
|
+
val[0] = aryfy(val[0])
|
132
|
+
end
|
119
133
|
|
120
|
-
|
134
|
+
val[0].push(val[2])
|
121
135
|
|
122
|
-
|
136
|
+
result = val[0]
|
123
137
|
}
|
124
138
|
|
125
139
|
# This is *almost* an rvalue, but I couldn't get a full
|
126
140
|
# rvalue to work without scads of shift/reduce conflicts.
|
127
141
|
namestring: name
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
142
|
+
| variable
|
143
|
+
| type
|
144
|
+
| boolean
|
145
|
+
| funcrvalue
|
146
|
+
| selector
|
147
|
+
| quotedtext
|
148
|
+
| hasharrayaccesses
|
149
|
+
| CLASSNAME {
|
150
|
+
result = ast AST::Name, :value => val[0][:value]
|
151
|
+
}
|
137
152
|
|
138
153
|
resource: classname LBRACE resourceinstances endsemi RBRACE {
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
}
|
154
|
+
@lexer.commentpop
|
155
|
+
array = val[2]
|
156
|
+
array = [array] if array.instance_of?(AST::ResourceInstance)
|
157
|
+
result = ast AST::ASTArray
|
158
|
+
|
159
|
+
# this iterates across each specified resourceinstance
|
160
|
+
array.each { |instance|
|
161
|
+
raise Puppet::Dev, "Got something that isn't an instance" unless instance.instance_of?(AST::ResourceInstance)
|
162
|
+
# now, i need to somehow differentiate between those things with
|
163
|
+
# arrays in their names, and normal things
|
164
|
+
|
165
|
+
result.push ast(
|
166
|
+
AST::Resource,
|
167
|
+
:type => val[0],
|
168
|
+
:title => instance[0],
|
169
|
+
|
170
|
+
:parameters => instance[1])
|
171
|
+
}
|
158
172
|
} | classname LBRACE params endcomma RBRACE {
|
159
|
-
|
160
|
-
|
173
|
+
# This is a deprecated syntax.
|
174
|
+
error "All resource specifications require names"
|
161
175
|
} | classref LBRACE params endcomma RBRACE {
|
162
|
-
|
163
|
-
|
176
|
+
# a defaults setting for a type
|
177
|
+
@lexer.commentpop
|
178
|
+
result = ast(AST::ResourceDefaults, :type => val[0], :parameters => val[2])
|
164
179
|
}
|
165
180
|
|
166
181
|
# Override a value set elsewhere in the configuration.
|
167
182
|
resourceoverride: resourceref LBRACE anyparams endcomma RBRACE {
|
168
|
-
|
169
|
-
|
183
|
+
@lexer.commentpop
|
184
|
+
result = ast AST::ResourceOverride, :object => val[0], :parameters => val[2]
|
170
185
|
}
|
171
186
|
|
172
187
|
# Exported and virtual resources; these don't get sent to the client
|
173
188
|
# unless they get collected elsewhere in the db.
|
174
189
|
virtualresource: at resource {
|
175
|
-
|
190
|
+
type = val[0]
|
176
191
|
|
177
|
-
|
178
|
-
|
179
|
-
|
192
|
+
if (type == :exported and ! Puppet[:storeconfigs]) and ! Puppet[:parseonly]
|
193
|
+
Puppet.warning addcontext("You cannot collect without storeconfigs being set")
|
194
|
+
end
|
180
195
|
|
181
|
-
|
182
|
-
error "Defaults are not virtualizable"
|
183
|
-
end
|
196
|
+
error "Defaults are not virtualizable" if val[1].is_a? AST::ResourceDefaults
|
184
197
|
|
185
|
-
|
198
|
+
method = type.to_s + "="
|
186
199
|
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
end
|
192
|
-
else
|
193
|
-
val[1].send(method, true)
|
200
|
+
# Just mark our resources as exported and pass them through.
|
201
|
+
if val[1].instance_of?(AST::ASTArray)
|
202
|
+
val[1].each do |obj|
|
203
|
+
obj.send(method, true)
|
194
204
|
end
|
205
|
+
else
|
206
|
+
val[1].send(method, true)
|
207
|
+
end
|
195
208
|
|
196
|
-
|
209
|
+
result = val[1]
|
197
210
|
}
|
198
211
|
|
199
212
|
at: AT { result = :virtual }
|
200
|
-
|
213
|
+
| AT AT { result = :exported }
|
201
214
|
|
202
215
|
# A collection statement. Currently supports no arguments at all, but eventually
|
203
216
|
# will, I assume.
|
204
217
|
collection: classref collectrhand LBRACE anyparams endcomma RBRACE {
|
218
|
+
@lexer.commentpop
|
219
|
+
Puppet.warning addcontext("Collection names must now be capitalized") if val[0] =~ /^[a-z]/
|
220
|
+
type = val[0].downcase
|
221
|
+
args = {:type => type}
|
222
|
+
|
223
|
+
if val[1].is_a?(AST::CollExpr)
|
224
|
+
args[:query] = val[1]
|
225
|
+
args[:query].type = type
|
226
|
+
args[:form] = args[:query].form
|
227
|
+
else
|
228
|
+
args[:form] = val[1]
|
229
|
+
end
|
230
|
+
if args[:form] == :exported and ! Puppet[:storeconfigs] and ! Puppet[:parseonly]
|
231
|
+
Puppet.warning addcontext("You cannot collect exported resources without storeconfigs being set; the collection will be ignored")
|
232
|
+
end
|
233
|
+
args[:override] = val[3]
|
234
|
+
result = ast AST::Collection, args
|
235
|
+
}
|
236
|
+
| classref collectrhand {
|
205
237
|
if val[0] =~ /^[a-z]/
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
238
|
+
Puppet.warning addcontext("Collection names must now be capitalized")
|
239
|
+
end
|
240
|
+
type = val[0].downcase
|
241
|
+
args = {:type => type }
|
210
242
|
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
result = ast AST::Collection, args
|
223
|
-
}
|
224
|
-
| classref collectrhand {
|
225
|
-
if val[0] =~ /^[a-z]/
|
226
|
-
Puppet.warning addcontext("Collection names must now be capitalized")
|
227
|
-
end
|
228
|
-
type = val[0].downcase
|
229
|
-
args = {:type => type }
|
230
|
-
|
231
|
-
if val[1].is_a?(AST::CollExpr)
|
232
|
-
args[:query] = val[1]
|
233
|
-
args[:query].type = type
|
234
|
-
args[:form] = args[:query].form
|
235
|
-
else
|
236
|
-
args[:form] = val[1]
|
237
|
-
end
|
238
|
-
if args[:form] == :exported and ! Puppet[:storeconfigs] and ! Puppet[:parseonly]
|
239
|
-
Puppet.warning addcontext("You cannot collect exported resources without storeconfigs being set; the collection will be ignored")
|
240
|
-
end
|
241
|
-
result = ast AST::Collection, args
|
243
|
+
if val[1].is_a?(AST::CollExpr)
|
244
|
+
args[:query] = val[1]
|
245
|
+
args[:query].type = type
|
246
|
+
args[:form] = args[:query].form
|
247
|
+
else
|
248
|
+
args[:form] = val[1]
|
249
|
+
end
|
250
|
+
if args[:form] == :exported and ! Puppet[:storeconfigs] and ! Puppet[:parseonly]
|
251
|
+
Puppet.warning addcontext("You cannot collect exported resources without storeconfigs being set; the collection will be ignored")
|
252
|
+
end
|
253
|
+
result = ast AST::Collection, args
|
242
254
|
}
|
243
255
|
|
244
256
|
|
245
257
|
collectrhand: LCOLLECT collstatements RCOLLECT {
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
258
|
+
if val[1]
|
259
|
+
result = val[1]
|
260
|
+
result.form = :virtual
|
261
|
+
else
|
262
|
+
result = :virtual
|
263
|
+
end
|
252
264
|
}
|
253
|
-
|
265
|
+
| LLCOLLECT collstatements RRCOLLECT {
|
254
266
|
if val[1]
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
267
|
+
result = val[1]
|
268
|
+
result.form = :exported
|
269
|
+
else
|
270
|
+
result = :exported
|
271
|
+
end
|
260
272
|
}
|
261
273
|
|
262
274
|
# A mini-language for handling collection comparisons. This is organized
|
263
275
|
# to avoid the need for precedence indications.
|
264
276
|
collstatements: nil
|
265
|
-
|
266
|
-
|
277
|
+
| collstatement
|
278
|
+
| collstatements colljoin collstatement {
|
267
279
|
result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
|
268
280
|
}
|
269
281
|
|
270
282
|
collstatement: collexpr
|
271
|
-
|
283
|
+
| LPAREN collstatements RPAREN {
|
272
284
|
result = val[1]
|
273
285
|
result.parens = true
|
274
286
|
}
|
275
287
|
|
276
288
|
colljoin: AND { result=val[0][:value] }
|
277
|
-
|
289
|
+
| OR { result=val[0][:value] }
|
278
290
|
|
279
291
|
collexpr: colllval ISEQUAL simplervalue {
|
280
|
-
|
281
|
-
|
282
|
-
|
292
|
+
result = ast AST::CollExpr, :test1 => val[0], :oper => val[1][:value], :test2 => val[2]
|
293
|
+
#result = ast AST::CollExpr
|
294
|
+
#result.push *val
|
283
295
|
}
|
284
|
-
|
296
|
+
| colllval NOTEQUAL simplervalue {
|
285
297
|
result = ast AST::CollExpr, :test1 => val[0], :oper => val[1][:value], :test2 => val[2]
|
286
298
|
#result = ast AST::CollExpr
|
287
299
|
#result.push *val
|
288
300
|
}
|
289
301
|
|
290
302
|
colllval: variable
|
291
|
-
|
303
|
+
| name
|
292
304
|
|
293
305
|
resourceinst: resourcename COLON params endcomma {
|
294
|
-
|
306
|
+
result = ast AST::ResourceInstance, :children => [val[0],val[2]]
|
295
307
|
}
|
296
308
|
|
297
309
|
resourceinstances: resourceinst
|
298
|
-
|
310
|
+
| resourceinstances SEMIC resourceinst {
|
299
311
|
if val[0].instance_of?(AST::ResourceInstance)
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
312
|
+
result = ast AST::ASTArray, :children => [val[0],val[2]]
|
313
|
+
else
|
314
|
+
val[0].push val[2]
|
315
|
+
result = val[0]
|
316
|
+
end
|
305
317
|
}
|
306
318
|
|
307
319
|
endsemi: # nothing
|
308
|
-
|
320
|
+
| SEMIC
|
309
321
|
|
310
322
|
undef: UNDEF {
|
311
|
-
|
323
|
+
result = ast AST::Undef, :value => :undef
|
312
324
|
}
|
313
325
|
|
314
326
|
name: NAME {
|
315
|
-
|
327
|
+
result = ast AST::Name, :value => val[0][:value], :line => val[0][:line]
|
316
328
|
}
|
317
329
|
|
318
330
|
type: CLASSREF {
|
319
|
-
|
331
|
+
result = ast AST::Type, :value => val[0][:value], :line => val[0][:line]
|
320
332
|
}
|
321
333
|
|
322
334
|
resourcename: quotedtext
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
335
|
+
| name
|
336
|
+
| type
|
337
|
+
| selector
|
338
|
+
| variable
|
339
|
+
| array
|
340
|
+
| hasharrayaccesses
|
328
341
|
|
329
342
|
assignment: VARIABLE EQUALS expression {
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
343
|
+
raise Puppet::ParseError, "Cannot assign to variables in other namespaces" if val[0][:value] =~ /::/
|
344
|
+
# this is distinct from referencing a variable
|
345
|
+
variable = ast AST::Name, :value => val[0][:value], :line => val[0][:line]
|
346
|
+
result = ast AST::VarDef, :name => variable, :value => val[2], :line => val[0][:line]
|
347
|
+
}
|
348
|
+
| hasharrayaccess EQUALS expression {
|
349
|
+
result = ast AST::VarDef, :name => val[0], :value => val[2]
|
336
350
|
}
|
337
351
|
|
338
352
|
append: VARIABLE APPENDS expression {
|
339
|
-
|
340
|
-
|
353
|
+
variable = ast AST::Name, :value => val[0][:value], :line => val[0][:line]
|
354
|
+
result = ast AST::VarDef, :name => variable, :value => val[2], :append => true, :line => val[0][:line]
|
341
355
|
}
|
342
356
|
|
343
357
|
params: # nothing
|
344
358
|
{
|
345
|
-
|
359
|
+
result = ast AST::ASTArray
|
346
360
|
}
|
347
|
-
|
348
|
-
|
361
|
+
| param { result = val[0] }
|
362
|
+
| params COMMA param {
|
349
363
|
if val[0].instance_of?(AST::ASTArray)
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
364
|
+
val[0].push(val[2])
|
365
|
+
result = val[0]
|
366
|
+
else
|
367
|
+
result = ast AST::ASTArray, :children => [val[0],val[2]]
|
368
|
+
end
|
355
369
|
}
|
356
370
|
|
357
371
|
param: NAME FARROW rvalue {
|
358
|
-
|
372
|
+
result = ast AST::ResourceParam, :param => val[0][:value], :line => val[0][:line], :value => val[2]
|
359
373
|
}
|
360
374
|
|
361
375
|
addparam: NAME PARROW rvalue {
|
362
|
-
|
363
|
-
|
376
|
+
result = ast AST::ResourceParam, :param => val[0][:value], :line => val[0][:line], :value => val[2],
|
377
|
+
:add => true
|
364
378
|
}
|
365
379
|
|
366
380
|
anyparam: param
|
367
|
-
|
381
|
+
| addparam
|
368
382
|
|
369
383
|
anyparams: # nothing
|
370
384
|
{
|
371
|
-
|
385
|
+
result = ast AST::ASTArray
|
372
386
|
}
|
373
|
-
|
374
|
-
|
387
|
+
| anyparam { result = val[0] }
|
388
|
+
| anyparams COMMA anyparam {
|
375
389
|
if val[0].instance_of?(AST::ASTArray)
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
390
|
+
val[0].push(val[2])
|
391
|
+
result = val[0]
|
392
|
+
else
|
393
|
+
result = ast AST::ASTArray, :children => [val[0],val[2]]
|
394
|
+
end
|
381
395
|
}
|
382
396
|
|
383
397
|
rvalues: rvalue
|
384
|
-
|
398
|
+
| rvalues comma rvalue {
|
385
399
|
if val[0].instance_of?(AST::ASTArray)
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
400
|
+
result = val[0].push(val[2])
|
401
|
+
else
|
402
|
+
result = ast AST::ASTArray, :children => [val[0],val[2]]
|
403
|
+
end
|
390
404
|
}
|
391
405
|
|
392
406
|
simplervalue: quotedtext
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
407
|
+
| name
|
408
|
+
| type
|
409
|
+
| boolean
|
410
|
+
| selector
|
411
|
+
| variable
|
398
412
|
|
399
413
|
rvalue: quotedtext
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
414
|
+
| name
|
415
|
+
| type
|
416
|
+
| boolean
|
417
|
+
| selector
|
418
|
+
| variable
|
419
|
+
| array
|
420
|
+
| hash
|
421
|
+
| hasharrayaccesses
|
422
|
+
| resourceref
|
423
|
+
| funcrvalue
|
424
|
+
| undef
|
409
425
|
|
410
426
|
# We currently require arguments in these functions.
|
411
427
|
funcrvalue: NAME LPAREN funcvalues RPAREN {
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
428
|
+
args = aryfy(val[2])
|
429
|
+
result = ast AST::Function,
|
430
|
+
:name => val[0][:value], :line => val[0][:line],
|
431
|
+
:arguments => args,
|
432
|
+
:ftype => :rvalue
|
417
433
|
} | NAME LPAREN RPAREN {
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
434
|
+
result = ast AST::Function,
|
435
|
+
:name => val[0][:value], :line => val[0][:line],
|
436
|
+
:arguments => AST::ASTArray.new({}),
|
437
|
+
:ftype => :rvalue
|
422
438
|
}
|
423
439
|
|
424
|
-
quotedtext:
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
440
|
+
quotedtext: STRING { result = ast AST::String, :value => val[0][:value], :line => val[0][:line] }
|
441
|
+
| DQPRE dqrval { result = ast AST::Concat, :value => [ast(AST::String,val[0])]+val[1], :line => val[0][:line] }
|
442
|
+
|
443
|
+
dqrval: expression dqtail { result = [val[0]] + val[1] }
|
444
|
+
|
445
|
+
dqtail: DQPOST { result = [ast(AST::String,val[0])] }
|
446
|
+
| DQMID dqrval { result = [ast(AST::String,val[0])] + val[1] }
|
429
447
|
|
430
448
|
boolean: BOOLEAN {
|
431
|
-
|
449
|
+
result = ast AST::Boolean, :value => val[0][:value], :line => val[0][:line]
|
432
450
|
}
|
433
451
|
|
434
452
|
resourceref: NAME LBRACK rvalues RBRACK {
|
435
|
-
|
436
|
-
|
453
|
+
Puppet.warning addcontext("Deprecation notice: Resource references should now be capitalized")
|
454
|
+
result = ast AST::ResourceReference, :type => val[0][:value], :line => val[0][:line], :title => val[2]
|
437
455
|
} | classref LBRACK rvalues RBRACK {
|
438
|
-
|
456
|
+
result = ast AST::ResourceReference, :type => val[0], :title => val[2]
|
439
457
|
}
|
440
458
|
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
:test => val[1],
|
445
|
-
:statements => val[3]
|
446
|
-
}
|
459
|
+
ifstatement_begin: IF ifstatement {
|
460
|
+
result = val[1]
|
461
|
+
}
|
447
462
|
|
448
|
-
|
449
|
-
|
450
|
-
|
463
|
+
ifstatement: expression LBRACE statements RBRACE else {
|
464
|
+
@lexer.commentpop
|
465
|
+
args = {
|
466
|
+
:test => val[0],
|
467
|
+
:statements => val[2]
|
468
|
+
}
|
451
469
|
|
452
|
-
|
470
|
+
args[:else] = val[4] if val[4]
|
471
|
+
|
472
|
+
result = ast AST::IfStatement, args
|
453
473
|
}
|
454
|
-
|
474
|
+
| expression LBRACE RBRACE else {
|
455
475
|
@lexer.commentpop
|
456
476
|
args = {
|
457
|
-
|
458
|
-
|
459
|
-
|
477
|
+
:test => val[0],
|
478
|
+
:statements => ast(AST::Nop)
|
479
|
+
}
|
460
480
|
|
461
|
-
|
462
|
-
args[:else] = val[4]
|
463
|
-
end
|
481
|
+
args[:else] = val[3] if val[3]
|
464
482
|
|
465
|
-
|
483
|
+
result = ast AST::IfStatement, args
|
466
484
|
}
|
467
485
|
|
468
486
|
else: # nothing
|
469
|
-
|
487
|
+
| ELSIF ifstatement {
|
488
|
+
result = ast AST::Else, :statements => val[1]
|
489
|
+
}
|
490
|
+
| ELSE LBRACE statements RBRACE {
|
470
491
|
@lexer.commentpop
|
471
492
|
result = ast AST::Else, :statements => val[2]
|
472
493
|
}
|
473
|
-
|
494
|
+
| ELSE LBRACE RBRACE {
|
474
495
|
@lexer.commentpop
|
475
496
|
result = ast AST::Else, :statements => ast(AST::Nop)
|
476
497
|
}
|
@@ -488,199 +509,203 @@ else: # nothing
|
|
488
509
|
# per operator :-(
|
489
510
|
|
490
511
|
expression: rvalue
|
491
|
-
|
512
|
+
| expression IN rvalue {
|
513
|
+
result = ast AST::InOperator, :lval => val[0], :rval => val[2]
|
514
|
+
}
|
515
|
+
| expression MATCH regex {
|
492
516
|
result = ast AST::MatchOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
493
517
|
}
|
494
|
-
|
518
|
+
| expression NOMATCH regex {
|
495
519
|
result = ast AST::MatchOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
496
520
|
}
|
497
|
-
|
521
|
+
| expression PLUS expression {
|
498
522
|
result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
499
523
|
}
|
500
|
-
|
524
|
+
| expression MINUS expression {
|
501
525
|
result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
502
526
|
}
|
503
|
-
|
527
|
+
| expression DIV expression {
|
504
528
|
result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
505
529
|
}
|
506
|
-
|
530
|
+
| expression TIMES expression {
|
507
531
|
result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
508
532
|
}
|
509
|
-
|
533
|
+
| expression LSHIFT expression {
|
510
534
|
result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
511
535
|
}
|
512
|
-
|
536
|
+
| expression RSHIFT expression {
|
513
537
|
result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
514
538
|
}
|
515
|
-
|
539
|
+
| MINUS expression =UMINUS {
|
516
540
|
result = ast AST::Minus, :value => val[1]
|
517
541
|
}
|
518
|
-
|
542
|
+
| expression NOTEQUAL expression {
|
519
543
|
result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
520
544
|
}
|
521
|
-
|
545
|
+
| expression ISEQUAL expression {
|
522
546
|
result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
523
547
|
}
|
524
|
-
|
548
|
+
| expression GREATERTHAN expression {
|
525
549
|
result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
526
550
|
}
|
527
|
-
|
551
|
+
| expression GREATEREQUAL expression {
|
528
552
|
result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
529
553
|
}
|
530
|
-
|
554
|
+
| expression LESSTHAN expression {
|
531
555
|
result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
532
556
|
}
|
533
|
-
|
557
|
+
| expression LESSEQUAL expression {
|
534
558
|
result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
535
559
|
}
|
536
|
-
|
560
|
+
| NOT expression {
|
537
561
|
result = ast AST::Not, :value => val[1]
|
538
562
|
}
|
539
|
-
|
563
|
+
| expression AND expression {
|
540
564
|
result = ast AST::BooleanOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
541
565
|
}
|
542
|
-
|
566
|
+
| expression OR expression {
|
543
567
|
result = ast AST::BooleanOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
|
544
568
|
}
|
545
|
-
|
569
|
+
| LPAREN expression RPAREN {
|
546
570
|
result = val[1]
|
547
571
|
}
|
548
572
|
|
549
573
|
casestatement: CASE rvalue LBRACE caseopts RBRACE {
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
end
|
555
|
-
result = ast AST::CaseStatement, :test => val[1], :options => options
|
574
|
+
@lexer.commentpop
|
575
|
+
options = val[3]
|
576
|
+
options = ast AST::ASTArray, :children => [val[3]] unless options.instance_of?(AST::ASTArray)
|
577
|
+
result = ast AST::CaseStatement, :test => val[1], :options => options
|
556
578
|
}
|
557
579
|
|
558
580
|
caseopts: caseopt
|
559
|
-
|
581
|
+
| caseopts caseopt {
|
560
582
|
if val[0].instance_of?(AST::ASTArray)
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
583
|
+
val[0].push val[1]
|
584
|
+
result = val[0]
|
585
|
+
else
|
586
|
+
result = ast AST::ASTArray, :children => [val[0], val[1]]
|
587
|
+
end
|
566
588
|
}
|
567
589
|
|
568
590
|
caseopt: casevalues COLON LBRACE statements RBRACE {
|
569
|
-
|
570
|
-
|
591
|
+
@lexer.commentpop
|
592
|
+
result = ast AST::CaseOpt, :value => val[0], :statements => val[3]
|
571
593
|
} | casevalues COLON LBRACE RBRACE {
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
594
|
+
@lexer.commentpop
|
595
|
+
|
596
|
+
result = ast(
|
597
|
+
AST::CaseOpt,
|
598
|
+
:value => val[0],
|
599
|
+
|
600
|
+
:statements => ast(AST::ASTArray)
|
601
|
+
)
|
577
602
|
}
|
578
603
|
|
579
604
|
casevalues: selectlhand
|
580
|
-
|
605
|
+
| casevalues COMMA selectlhand {
|
581
606
|
if val[0].instance_of?(AST::ASTArray)
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
607
|
+
val[0].push(val[2])
|
608
|
+
result = val[0]
|
609
|
+
else
|
610
|
+
result = ast AST::ASTArray, :children => [val[0],val[2]]
|
611
|
+
end
|
587
612
|
}
|
588
613
|
|
589
614
|
selector: selectlhand QMARK svalues {
|
590
|
-
|
615
|
+
result = ast AST::Selector, :param => val[0], :values => val[2]
|
591
616
|
}
|
592
617
|
|
593
618
|
svalues: selectval
|
594
|
-
|
619
|
+
| LBRACE sintvalues endcomma RBRACE {
|
595
620
|
@lexer.commentpop
|
596
621
|
result = val[1]
|
597
622
|
}
|
598
623
|
|
599
624
|
sintvalues: selectval
|
600
|
-
|
625
|
+
| sintvalues comma selectval {
|
601
626
|
if val[0].instance_of?(AST::ASTArray)
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
627
|
+
val[0].push(val[2])
|
628
|
+
result = val[0]
|
629
|
+
else
|
630
|
+
result = ast AST::ASTArray, :children => [val[0],val[2]]
|
631
|
+
end
|
607
632
|
}
|
608
633
|
|
609
634
|
selectval: selectlhand FARROW rvalue {
|
610
|
-
|
635
|
+
result = ast AST::ResourceParam, :param => val[0], :value => val[2]
|
611
636
|
}
|
612
637
|
|
613
638
|
selectlhand: name
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
639
|
+
| type
|
640
|
+
| quotedtext
|
641
|
+
| variable
|
642
|
+
| funcrvalue
|
643
|
+
| boolean
|
644
|
+
| undef
|
645
|
+
| DEFAULT {
|
621
646
|
result = ast AST::Default, :value => val[0][:value], :line => val[0][:line]
|
622
647
|
}
|
623
|
-
|
648
|
+
| regex
|
624
649
|
|
625
650
|
# These are only used for importing, and we don't interpolate there.
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
}
|
651
|
+
string: STRING { result = [val[0][:value]] }
|
652
|
+
strings: string
|
653
|
+
| strings COMMA string { result = val[0] += val[2] }
|
630
654
|
|
631
|
-
import: IMPORT
|
632
|
-
|
633
|
-
|
634
|
-
|
655
|
+
import: IMPORT strings {
|
656
|
+
val[1].each do |file|
|
657
|
+
import(file)
|
658
|
+
end
|
635
659
|
|
636
|
-
|
660
|
+
result = AST::ASTArray.new(:children => [])
|
637
661
|
}
|
638
662
|
|
639
663
|
# Disable definition inheritance for now. 8/27/06, luke
|
640
664
|
#definition: DEFINE NAME argumentlist parent LBRACE statements RBRACE {
|
641
665
|
definition: DEFINE classname argumentlist LBRACE statements RBRACE {
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
666
|
+
@lexer.commentpop
|
667
|
+
newdefine classname(val[1]), :arguments => val[2], :code => val[4], :line => val[0][:line]
|
668
|
+
@lexer.indefine = false
|
669
|
+
result = nil
|
646
670
|
|
647
671
|
#} | DEFINE NAME argumentlist parent LBRACE RBRACE {
|
648
672
|
} | DEFINE classname argumentlist LBRACE RBRACE {
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
673
|
+
@lexer.commentpop
|
674
|
+
newdefine classname(val[1]), :arguments => val[2], :line => val[0][:line]
|
675
|
+
@lexer.indefine = false
|
676
|
+
result = nil
|
653
677
|
}
|
654
678
|
|
655
679
|
#hostclass: CLASS NAME argumentlist parent LBRACE statements RBRACE {
|
656
|
-
hostclass: CLASS classname classparent LBRACE statements RBRACE {
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
} | CLASS classname classparent LBRACE RBRACE {
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
680
|
+
hostclass: CLASS classname argumentlist classparent LBRACE statements RBRACE {
|
681
|
+
@lexer.commentpop
|
682
|
+
# Our class gets defined in the parent namespace, not our own.
|
683
|
+
@lexer.namepop
|
684
|
+
newclass classname(val[1]), :arguments => val[2], :parent => val[3], :code => val[5], :line => val[0][:line]
|
685
|
+
result = nil
|
686
|
+
} | CLASS classname argumentlist classparent LBRACE RBRACE {
|
687
|
+
@lexer.commentpop
|
688
|
+
# Our class gets defined in the parent namespace, not our own.
|
689
|
+
@lexer.namepop
|
690
|
+
newclass classname(val[1]), :arguments => val[2], :parent => val[3], :line => val[0][:line]
|
691
|
+
result = nil
|
668
692
|
}
|
669
693
|
|
670
694
|
nodedef: NODE hostnames nodeparent LBRACE statements RBRACE {
|
671
|
-
|
672
|
-
|
673
|
-
|
695
|
+
@lexer.commentpop
|
696
|
+
newnode val[1], :parent => val[2], :code => val[4], :line => val[0][:line]
|
697
|
+
result = nil
|
674
698
|
} | NODE hostnames nodeparent LBRACE RBRACE {
|
675
|
-
|
676
|
-
|
677
|
-
|
699
|
+
@lexer.commentpop
|
700
|
+
newnode val[1], :parent => val[2], :line => val[0][:line]
|
701
|
+
result = nil
|
678
702
|
}
|
679
703
|
|
680
704
|
classref: CLASSREF { result = val[0][:value] }
|
681
705
|
|
682
706
|
classname: NAME { result = val[0][:value] }
|
683
|
-
|
707
|
+
| CLASSNAME { result = val[0][:value] }
|
708
|
+
| CLASS { result = "class" }
|
684
709
|
|
685
710
|
# Multiple hostnames, as used for node names. These are all literal
|
686
711
|
# strings, not AST objects.
|
@@ -692,93 +717,135 @@ hostnames: nodename
|
|
692
717
|
}
|
693
718
|
|
694
719
|
nodename: hostname {
|
695
|
-
|
720
|
+
result = ast AST::HostName, :value => val[0]
|
696
721
|
}
|
697
722
|
|
698
723
|
hostname: NAME { result = val[0][:value] }
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
| regex
|
724
|
+
| STRING { result = val[0][:value] }
|
725
|
+
| DEFAULT { result = val[0][:value] }
|
726
|
+
| regex
|
703
727
|
|
704
728
|
nil: {
|
705
|
-
|
729
|
+
result = nil
|
706
730
|
}
|
707
731
|
|
708
732
|
nothing: {
|
709
|
-
|
733
|
+
result = ast AST::ASTArray, :children => []
|
710
734
|
}
|
711
735
|
|
712
736
|
argumentlist: nil
|
713
|
-
|
737
|
+
| LPAREN nothing RPAREN {
|
714
738
|
result = nil
|
715
739
|
}
|
716
|
-
|
740
|
+
| LPAREN arguments RPAREN {
|
717
741
|
result = val[1]
|
718
742
|
result = [result] unless result[0].is_a?(Array)
|
719
743
|
}
|
720
744
|
|
721
745
|
arguments: argument
|
722
|
-
|
746
|
+
| arguments COMMA argument {
|
723
747
|
result = val[0]
|
724
748
|
result = [result] unless result[0].is_a?(Array)
|
725
749
|
result << val[2]
|
726
750
|
}
|
727
751
|
|
728
752
|
argument: NAME EQUALS rvalue {
|
729
|
-
|
730
|
-
|
753
|
+
Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
|
754
|
+
result = [val[0][:value], val[2]]
|
731
755
|
}
|
732
|
-
|
756
|
+
| NAME {
|
733
757
|
Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
|
734
758
|
result = [val[0][:value]]
|
735
759
|
} | VARIABLE EQUALS rvalue {
|
736
|
-
|
760
|
+
result = [val[0][:value], val[2]]
|
737
761
|
} | VARIABLE {
|
738
|
-
|
762
|
+
result = [val[0][:value]]
|
739
763
|
}
|
740
764
|
|
741
765
|
nodeparent: nil
|
742
|
-
|
766
|
+
| INHERITS hostname {
|
743
767
|
result = val[1]
|
744
768
|
}
|
745
769
|
|
746
770
|
classparent: nil
|
747
|
-
|
771
|
+
| INHERITS classnameordefault {
|
748
772
|
result = val[1]
|
749
773
|
}
|
750
774
|
|
751
775
|
classnameordefault: classname | DEFAULT
|
752
776
|
|
753
777
|
variable: VARIABLE {
|
754
|
-
|
778
|
+
result = ast AST::Variable, :value => val[0][:value], :line => val[0][:line]
|
755
779
|
}
|
756
780
|
|
757
781
|
array: LBRACK rvalues RBRACK {
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
|
782
|
+
if val[1].instance_of?(AST::ASTArray)
|
783
|
+
result = val[1]
|
784
|
+
else
|
785
|
+
result = ast AST::ASTArray, :children => [val[1]]
|
786
|
+
end
|
763
787
|
}
|
764
|
-
|
788
|
+
| LBRACK rvalues COMMA RBRACK {
|
765
789
|
if val[1].instance_of?(AST::ASTArray)
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
790
|
+
result = val[1]
|
791
|
+
else
|
792
|
+
result = ast AST::ASTArray, :children => [val[1]]
|
793
|
+
end
|
770
794
|
} | LBRACK RBRACK {
|
771
|
-
|
795
|
+
result = ast AST::ASTArray
|
772
796
|
}
|
773
797
|
|
774
798
|
comma: FARROW
|
775
|
-
|
799
|
+
| COMMA
|
776
800
|
|
777
801
|
endcomma: # nothing
|
778
|
-
|
802
|
+
| COMMA { result = nil }
|
779
803
|
|
780
804
|
regex: REGEX {
|
781
|
-
|
805
|
+
result = ast AST::Regex, :value => val[0][:value]
|
806
|
+
}
|
807
|
+
|
808
|
+
hash: LBRACE hashpairs RBRACE {
|
809
|
+
if val[1].instance_of?(AST::ASTHash)
|
810
|
+
result = val[1]
|
811
|
+
else
|
812
|
+
result = ast AST::ASTHash, { :value => val[1] }
|
813
|
+
end
|
814
|
+
}
|
815
|
+
| LBRACE hashpairs COMMA RBRACE {
|
816
|
+
if val[1].instance_of?(AST::ASTHash)
|
817
|
+
result = val[1]
|
818
|
+
else
|
819
|
+
result = ast AST::ASTHash, { :value => val[1] }
|
820
|
+
end
|
821
|
+
} | LBRACE RBRACE {
|
822
|
+
result = ast AST::ASTHash
|
823
|
+
}
|
824
|
+
|
825
|
+
hashpairs: hashpair
|
826
|
+
| hashpairs COMMA hashpair {
|
827
|
+
if val[0].instance_of?(AST::ASTHash)
|
828
|
+
result = val[0].merge(val[2])
|
829
|
+
else
|
830
|
+
result = ast AST::ASTHash, :value => val[0]
|
831
|
+
result.merge(val[2])
|
832
|
+
end
|
833
|
+
}
|
834
|
+
|
835
|
+
hashpair: key FARROW rvalue {
|
836
|
+
result = ast AST::ASTHash, { :value => { val[0] => val[2] } }
|
837
|
+
}
|
838
|
+
|
839
|
+
key: NAME { result = val[0][:value] }
|
840
|
+
| quotedtext { result = val[0] }
|
841
|
+
|
842
|
+
hasharrayaccess: VARIABLE LBRACK rvalue RBRACK {
|
843
|
+
result = ast AST::HashOrArrayAccess, :variable => val[0][:value], :key => val[2]
|
844
|
+
}
|
845
|
+
|
846
|
+
hasharrayaccesses: hasharrayaccess
|
847
|
+
| hasharrayaccess LBRACK rvalue RBRACK {
|
848
|
+
result = ast AST::HashOrArrayAccess, :variable => val[0], :key => val[2]
|
782
849
|
}
|
783
850
|
|
784
851
|
end
|
@@ -787,17 +854,13 @@ require 'puppet'
|
|
787
854
|
require 'puppet/util/loadedfile'
|
788
855
|
require 'puppet/parser/lexer'
|
789
856
|
require 'puppet/parser/ast'
|
790
|
-
#require 'puppet/parser/interpreter'
|
791
857
|
|
792
858
|
module Puppet
|
793
|
-
|
794
|
-
|
795
|
-
|
859
|
+
class ParseError < Puppet::Error; end
|
860
|
+
class ImportError < Racc::ParseError; end
|
861
|
+
class AlreadyImportedError < ImportError; end
|
796
862
|
end
|
797
863
|
|
798
|
-
Puppet[:typecheck] = true
|
799
|
-
Puppet[:paramcheck] = true
|
800
|
-
|
801
864
|
---- inner ----
|
802
865
|
|
803
866
|
# It got too annoying having code in a file that needs to be compiled.
|