# Some example code

node /www\.example\.com/ {
  include foo::bar

  file {"foo.txt":
    require +> Thing::Package["bar-package"],
    contents => case $::operatingsystem {
      /Linux/: $linux_contents,
      /Windows/: $windows_module::windows_contents,
      default: undef
    }
  }
}

class foo::bar (
  Array[String] = foo::bar::baz,
) {
  $foo = [
    'bar',
    'baz',
  ]
}

lookup('classes', {merge => unique}).include

$resources = $acls.map |$index, $acl| {
  $parts = $acl.split('\s+')
  unless $parts =~ Array[Data, 4] {
    fail("${func_name}: acl line $index does not have enough parts")
  }

  $resource
}
