$defaults = { "spamthreshold" => 1500, "enable_antispam" => 1 } $domains.each |$name, $domain| { # see https://docs.puppetlabs.com/puppet/4.2/reference/lang_resources_advanced.html#setting-attributes-from-a-hash mail::domain{$name: * => $defaults + $domain # + now merge hashes } }