class nodo::subsystem::backup { # # Backup # class { '::backup': } $local_backup = lookup('nodo::subsystem::backup::localhost', undef, undef, false) # Local encrypted backup case $local_backup { true,enabled,present: { backup::duplicity { "localhost": encryptkey => lookup('nodo::subsystem::backup::encryptkey', undef, undef, false), password => lookup('nodo::subsystem::backup::password'), } } false,absent: { backup::duplicity { "localhost": encryptkey => lookup('nodo::subsystem::backup::encryptkey', undef, undef, false), password => lookup('nodo::subsystem::backup::password', undef, undef, false), ensure => absent, } } default: { } } # Setup rsync instances $rsync = lookup('backup::rsync', undef, undef, {}) create_resources('backup::rsync', $rsync) # Setup borg instances $borg = lookup('backup::borg', undef, undef, {}) create_resources('backup::borg', $borg) }