Parameters to Puppet Task

12 views
Skip to first unread message

Valayil Abraham

unread,
Jun 29, 2020, 8:58:29 PM6/29/20
to Puppet Users
I have a python task in Puppet. Passing a parameter into the task. Need to check the parameter in the code.
This what the code check looks like

if {params['date'] == "yesterday"}:
  print("Yesterday")
else:
  print("Not Yesterday"}

The if statement doesn't work when run from Puppet Console. Prints Yesterday no matter what the parameter is. Not sure why. 

I can get the same thing to work from the command line with the following

if sys.argv[1] == "yesterday"
  print("Yesterday")
else:
  print("Not Yesterday"}

Why do the parameters behave differently in Puppet? Any help in resolving this would be appreciated.


Martin Alfke

unread,
Jun 30, 2020, 3:27:22 AM6/30/20
to puppet...@googlegroups.com
Hi Valayil,

You seem to miss loading the stdin json in your task:
#!/usr/bin/env python

import json
import sys

params = json.load(sys.stdin)
Hth,
Martin


--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/236ca31b-018b-4cbd-bf60-7808d1731c04o%40googlegroups.com.

Valayil Abraham

unread,
Jun 30, 2020, 11:45:41 AM6/30/20
to Puppet Users
Never mind, I solved it. Just had to do a string conversion ie. str(params['date'])
Reply all
Reply to author
Forward
0 new messages