Remova o recurso File['dir2']
completamente e altere File['dir1']
para:
file { 'dir1':
ensure => absent,
path => '/tmp/a',
recurse => true,
force => true,
}
Com seu código, você está tentando remover /tmp/a
antes de remover /tmp/a/b
. Se você remover /tmp/a
primeiro, então /tmp/a/b
não poderá existir. Você quer a ordem inversa.
No entanto, isso nem é necessário. Se você estiver removendo /tmp/a
, não há motivos para criar uma definição de recurso para remover qualquer coisa dentro dela.