Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
define bind::zone ($masterip = "", $comment = "", $alsonotify = "", $allowtransfer = "", $ensure = "present", $type) { if $type == "master" { concat_snippet{"${name}_zone_config": content => template("bind/master_zone_config.erb"), directory => "/etc/named.conf.d", ensure => $ensure } file{"/srv/named/master/${name}": owner => root, group => root, require => Class["bind::master::config"], source => "puppet://puppet/bind/zones/${name}", notify => Service["named"], ensure => $ensure } } else { concat_snippet{"${name}_zone_config": content => template("bind/slave_zone_config.erb"), directory => "/etc/named.conf.d", notify => Service["named"], ensure => $ensure } } } class bind::master::config { concat_file{"/etc/named.conf": owner => root, group => root, require => Class["bind::install"], notify => Service["named"], } concat_snippet{"named.conf_acl": order => 00, directory => "/etc/named.conf.d", source => "puppet://puppet/bind/master/named.conf_acl", } concat_snippet{"named.conf": order => 01, directory => "/etc/named.conf.d", source => "puppet://puppet/bind/master/named.conf_header", } } class bind::zones { if defined(Class["bind::master"]) { $zone_type = "master" } else { $zone_type = "slave" } Bind::Zone{ masterip => "1.2.3.4", type => $zone_type, } bind::zone{"one.com"]: alsonotify => ["4.3.2.1"]; "two.com": ; "three.com": comment => "Belongs to Acme inc."; } } ## master server // Belongs to Acme inc. zone "three.com" { type master; file "master/three.com"; }; ## slave server // Belongs to Acme inc. zone "three.com" { type slave; file "slave/three.com"; masters { 1.2.3.4; }; };
This paste will be private.
From the Design Piracy series on my blog: