On Github spikeheap / saw-meet-puppet-talk
node 'thor' { $backup_dirs = [ '/usr/local', '/var/local' ] duplicity { $backup_dirs: bucket => 'test-backup', dest_id => 'someid', dest_key => 'somekey' } }'duplicity' module available at https://github.com/Jimdo/puppet-duplicity
node /^server/ { include ssh::server } node /^client/ { include ssh::client } node 'abitofboth' { include ssh }'ssh' module available at https://github.com/saz/puppet-ssh
node /^workstation/ { include workstation include workstation::developer }
class workstation( $apt_packages = [ 'thunderbird', 'enigmail' ] ){ apt::source { 'canonical_partner': location => 'http://archive.canonical.com/ubuntu', repos => 'partner', include_src => true } -> package{ $apt_packages: ensure => present, } include workstation::packages::oraclejava ...'workstation' module available at https://github.com/NMiUK/puppet-workstation
class workstation::packages::oraclejava( $ensure = 'present' ) { if $operatingsystem == 'Ubuntu'{ apt::ppa { 'ppa:webupd8team/java': } exec { 'accept_java7_license': command => "echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections && echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections", path => "/usr/bin/:/bin/", } package {'oracle-java7-installer': ensure => $ensure, } Apt::Ppa['ppa:webupd8team/java'] -> Exec['accept_java7_license'] -> Package['oracle-java7-installer'] -> Package['oracle-java7-set-default'] } }