I have below exec resource which is used to install a window service. 
I want to it to execute only if the window service is not installed. So I use the onlyif command but the command is not working. It is running the install all the time:
exec { "install-${target_path}/${binary_name}":
    command   => "${installUtil_filepath} /i /servicename=\"${service_name}\" /displayname=\"${display_name}\" /description=\"${description}\" \"${target_path}\\${binary_name}\"",
    onlyif    => "if((Get-Service \"${service_name}\" -ErrorAction SilentContinue).DisplayName -eq  ${display_name}) { exit 1 } else { exit 0 }",
    logoutput => true,
    provider => powershell,
  } 
This worked
if(Get-Service \"${service_name}\") { exit 1 } else { exit 0 }