You are not initializing the rule variable. You will need to fill in it's type, quorum, and monitor_templates variables to your specifics.
Type can be one of the following:
MONITOR_RULE_TYPE_SINGLE - This monitor rule is based on a single monitor.
MONITOR_RULE_TYPE_AND_LIST - This monitor rule is based on an ANDed list of monitors, i.e. all monitors must return successfully for the node/member to be considered UP.
MONITOR_RULE_TYPE_M_OF_N - This monitor rule is based on a list of N monitors, but at least M of which must return successfully for the node/member to be considered UP.
If you are just using one monitor, then MONITOR_RULE_TYPE_SINGLE is probably what you want. Pass that in for the type, with a quorum value of 0 (ignored) as well as the name of your HTTP monitor in the monitor_templates list.
If you want to support chaining multiple monitors to this rule, then you'll have to use MONITOR_RULE_TYPE_AND_LIST if you want require all monitors to succeed to consider it a pass, or MONITOR_RULE_TYPE_M_OF_N if you want say 2 out of 3 passes to consider a success.
Hope this helps...
-Joe