{"id":260,"date":"2010-01-31T00:08:00","date_gmt":"2010-01-31T00:08:00","guid":{"rendered":"http:\/\/blog.trungson.com\/?p=260"},"modified":"2010-01-31T00:08:00","modified_gmt":"2010-01-31T00:08:00","slug":"tips-for-beginners-with-puppet-server-automation","status":"publish","type":"post","link":"http:\/\/blog.trungson.com\/?p=260","title":{"rendered":"Tips for beginners with Puppet (server automation)"},"content":{"rendered":"<p>Since Puppet is written in Ruby, some of its syntax are Ruby-specific (I would not know for sure since I have not learned about Ruby yet). I&#8217;ll try to update this post so beginners to Puppet and strangers to Ruby can get pass the unwanted headache.<\/p>\n<h4>Case-sensitivity<\/h4>\n<p>Case-changing is one of the source of confusions. If you see this error:<\/p>\n<pre>\"Could not find dependency Class[changeTimeZone] for Node[baseserver]\"<\/pre>\n<p>And in your nodes.pp you have:<\/p>\n<pre>\nnode baseServer {\n  require changeTimeZone\n}\n<\/pre>\n<p>Change it to all lower case will fix the problem<\/p>\n<h4>Require a definition within a class<\/h4>\n<p>The syntax is<\/p>\n<pre>\nexec { \"RunSomething\":\n  command => \"abc\",\n  require => MyClass::MyFunction[\"def\"],\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Since Puppet is written in Ruby, some of its syntax are Ruby-specific (I would not know for sure since I have not learned about Ruby yet). I&#8217;ll try to update this post so beginners to Puppet and strangers to Ruby can get pass the unwanted headache. Case-sensitivity Case-changing is one of the source of confusions. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.trungson.com\/index.php?rest_route=\/wp\/v2\/posts\/260"}],"collection":[{"href":"http:\/\/blog.trungson.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.trungson.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.trungson.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.trungson.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=260"}],"version-history":[{"count":0,"href":"http:\/\/blog.trungson.com\/index.php?rest_route=\/wp\/v2\/posts\/260\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.trungson.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.trungson.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=260"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.trungson.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}