saltstack/community

salt rendering

Opened this issue · 1 comments

I am experiencing an issue when trying to assign a value(icinga_ticket) on my post http query request.
Have the fqdn value set from grain

Below is how it is defined in my state

{% set fqdn = salt'grains.get' %}
{% set icinga_ticket = salt['http.query']('https://ticket-generator.az.dev.opd.com', method='POST', header_dict='{"Content-Type":"application/json"}', data='{"hostname": {{ fqdn }} }', backend='requests') %}

Error:
Rendering SLS 'base:icinga.icinga2_core' failed: Jinja error: 'str' object does not support item assignment
Traceback (most recent call last):

But when i execute the below command through cli it works fine.

salt-call http.query https://ticket-generator.az.dev.opd.com method=POST header_dict='{"Content-Type":"application/json"}' data="'{"hostname": "minion.node.dev.opd.com"}'" backend=requests
local:
----------
body:
{"icinga_ticket":"7609f6bc84d97748e15df9436aab07fbf48756d3"}

@srikanth-2 you need to fix a few things

{% set fqdn = salt['grains.get']('grain-here') %}
{% set data = { 'hostname':fqdn } %}
{% set icinga_ticket = salt['http.query']('https://ticket-generator.az.dev.opd.com', method='POST', header_dict='{"Content-Type":"application/json"}', data=data, backend='requests') %}