condicional dentro de definir en títere

Running Puppet 3.8

Tengo dos definiciones:

    define desktop::vinstall () {  
      package { $title:  
        ensure        => installed,  
        allow_virtual => true,  
        configfiles   => keep,  
      }  
    }  

y

    define desktop::vinstallwseeds () {  
      package { $title:
        ensure        => installed,  
        allow_virtual => true,  
        configfiles   => keep,
        require       => File["/var/cache/debconf/pkg-${title}.seeds"],  
        responsefile  => "/var/cache/debconf/pkg-${title}.seeds",  
      }  
      file { "/var/cache/debconf/pkg-${title}.seeds":  
        source => "puppet:///modules/desktop/pkg-${title}.seeds",  
        ensure => present,  
      }  
    }

Me gustaría convertirlos en una declaración de definición con un argumento booleano opcional, algo así como:

    define desktop::vinstallopt ( $queryresponse = 'false', ) {  
      package { $title:  
        ensure        => installed,  
        allow_virtual => true,  
        configfiles   => keep,  
        if $queryresponse == 'true' {  
          require      => File["/var/cache/debconf/pkg-${title}.seeds"],  
          responsefile => "/var/cache/debconf/pkg-${title}.seeds",  
        }  
      }  
      file { "/var/cache/debconf/pkg-${title}.seeds":  
        source => "puppet:///modules/desktop/pkg-${title}.seeds",  
        ensure => present,  
      }  
    }  

y luego instanciarlo con declaraciones como esta en init.pp:

    @desktop::vinstallopt { 'gdebi': queryresponse => 'false', }

Pero hacerlo da un error:

    Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Puppet::Parser::AST::Resource failed with argument error ArgumentError: Invalid resource type desktop::vinstallopt at /etc/puppet/modules/desktop/manifests/init.pp:40 on node machine.prvt.net

donde la línea 40 tiene la sintaxis anterior. Soy un novato con títeres, así que mis disculpas si esto resulta ser una simple pregunta de sintaxis. He intentado encontrar una manera de hacer que esto funcione a partir de la documentación de PuppetLabs y de otros usuarios de títeres, hasta ahora sin suerte.

Respuestas a la pregunta(1)

Su respuesta a la pregunta