define virtual::vserver::ip::binding($vserver, $ip, $ensure) { case $ensure { connected: { file { "/etc/vservers/${vserver}/interfaces/${name}": ensure => "/etc/vservers/local-interfaces/${ip}/", require => [ File["/etc/vservers/local-interfaces/${ip}"], Exec["vserver_instance_${vserver}"] ], notify => Exec["vs_restart_${vserver}"], } } disconnected: { file { "/etc/vservers/${vserver}/interfaces/${name}": ensure => absent, } } default: { err( "${fqdn}: vs_ip: ${vserver} -> ${ip}: unknown ensure: '${ensure}'" ) } } }