Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
exec { "dummy-start": command => "/bin/echo dummy-start", refreshonly => true; "dummy-end": command => "/bin/echo dummy-end", refreshonly => true; } class first { notify { "must be first": require => Exec["dummy-start"] } } class middle1 { notify { "middle entry 1": } } class middle2 { notify { "middle entry 2": } } class middle3 { notify { "middle entry 3": } } class last { notify { "must be last": before => Exec["dummy-end"] } } # Need a line like below for every Type{} you use. You should be able # to get away without it for in-.pp defined types, but types defined # in ruby code in a module will still need to be added here. Notify { require => Class["first"], before => Class["last"] } # enable syntax highlighting node 'puppet-dev.cites.illinois.edu' { include first include middle1 include middle2 include middle3 include last } notice: Starting catalog run debug: Loaded state in 0.01 seconds debug: //Node[puppet-dev.cites.illinois.edu]/middle2/Notify[middle entry 2]/require: requires Class[first] debug: //Node[puppet-dev.cites.illinois.edu]/middle2/Notify[middle entry 2]/before: requires Class[last] debug: //Node[puppet-dev.cites.illinois.edu]/first/Notify[must be first]/require: requires Exec[dummy-start] debug: //Node[puppet-dev.cites.illinois.edu]/first/Notify[must be first]/before: requires Class[last] debug: //Node[puppet-dev.cites.illinois.edu]/middle1/Notify[middle entry 1]/require: requires Class[first] debug: //Node[puppet-dev.cites.illinois.edu]/middle1/Notify[middle entry 1]/before: requires Class[last] debug: //Node[puppet-dev.cites.illinois.edu]/middle3/Notify[middle entry 3]/require: requires Class[first] debug: //Node[puppet-dev.cites.illinois.edu]/middle3/Notify[middle entry 3]/before: requires Class[last] debug: //Node[puppet-dev.cites.illinois.edu]/last/Notify[must be last]/require: requires Class[first] debug: //Node[puppet-dev.cites.illinois.edu]/last/Notify[must be last]/before: requires Exec[dummy-end] debug: //Node[puppet-dev.cites.illinois.edu]/first/Notify[must be first]: Changing message debug: //Node[puppet-dev.cites.illinois.edu]/first/Notify[must be first]: 1 change(s) notice: must be first notice: //Node[puppet-dev.cites.illinois.edu]/first/Notify[must be first]/message: defined 'message' as 'must be first' debug: //Node[puppet-dev.cites.illinois.edu]/middle3/Notify[middle entry 3]: Changing message debug: //Node[puppet-dev.cites.illinois.edu]/middle3/Notify[middle entry 3]: 1 change(s) notice: middle entry 3 notice: //Node[puppet-dev.cites.illinois.edu]/middle3/Notify[middle entry 3]/message: defined 'message' as 'middle entry 3' debug: //Node[puppet-dev.cites.illinois.edu]/middle1/Notify[middle entry 1]: Changing message debug: //Node[puppet-dev.cites.illinois.edu]/middle1/Notify[middle entry 1]: 1 change(s) notice: middle entry 1 notice: //Node[puppet-dev.cites.illinois.edu]/middle1/Notify[middle entry 1]/message: defined 'message' as 'middle entry 1' debug: //Node[puppet-dev.cites.illinois.edu]/middle2/Notify[middle entry 2]: Changing message debug: //Node[puppet-dev.cites.illinois.edu]/middle2/Notify[middle entry 2]: 1 change(s) notice: middle entry 2 notice: //Node[puppet-dev.cites.illinois.edu]/middle2/Notify[middle entry 2]/message: defined 'message' as 'middle entry 2' debug: //Node[puppet-dev.cites.illinois.edu]/last/Notify[must be last]: Changing message debug: //Node[puppet-dev.cites.illinois.edu]/last/Notify[must be last]: 1 change(s) notice: must be last notice: //Node[puppet-dev.cites.illinois.edu]/last/Notify[must be last]/message: defined 'message' as 'must be last' debug: Finishing transaction -607540128 with 5 changes debug: Storing state debug: Stored state in 0.10 seconds notice: Finished catalog run in 0.28 seconds
This paste will be private.
From the Design Piracy series on my blog: