node default {
  $package_provider = "$operatingsystem-$operatingsystemrelease" ? {
    /^(Fedora|RedHat|CentOS|OpenSuSE)/ => "rpm",
    /^(Debian|Ubuntu)/ => "dpkg",
    default => undef,
  }
 
  $package_source = "$operatingsystem-$operatingsystemrelease" ? {
    /^(Fedora|RedHat|CentOS|OpenSuSE)/ => "example-service-1.0-1.noarch.rpm",
    /^(Debian|Ubuntu)/ => "example-service_1.0_all.deb",
    default => undef,
  }

  $service_provider = "$operatingsystem-$operatingsystemrelease" ? {
    /^CentOS-6/ => "upstart",
    default => undef,
  }

  

  package {
    "example-service": 
      provider => $package_provider,
      source => $package_source,
      ensure => present;
  }

  service {
    "example":
      provider => $service_provider,
      require => Package["example-service"],
      enable => true,
      ensure => running;
  }
}