{"id":144,"date":"2019-11-10T19:37:42","date_gmt":"2019-11-10T18:37:42","guid":{"rendered":"http:\/\/thomas-kopton.de\/vblog\/?p=144"},"modified":"2019-11-10T19:37:42","modified_gmt":"2019-11-10T18:37:42","slug":"vrli-json-parser-and-vro-log-messages","status":"publish","type":"post","link":"https:\/\/thomas-kopton.de\/vblog\/?p=144","title":{"rendered":"vRLI JSON Parser and vRO Log Messages"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Problem statement:<\/h3>\n\n\n\n<p>In certain cases vRO workflow(s) are producing not very well structured\u00a0 log messages.<\/p>\n\n\n\n<p>&#8220;not well structured&#8221; means in this case that various workflow runs\u00a0 may generate log messages which could include variable information in terms of number of key:value pairs as well as the values themselves.<\/p>\n\n\n\n<p>For example we might have a workflow doing a certain complex automation job and depending on the job details the number and the actual content of information may be totally different.<\/p>\n\n\n\n<p>What we could do is to try to put structure in the unstructured data in the workflow logic and use one of the well known vRLI parsers (KVP, CSV etc.) to parse the values for future use in <strong>vRealize Log Insight<\/strong>.<\/p>\n\n\n\n<p>But what if this is not possible because for example the number of key:value pairs is unknown. Or the &#8220;keys&#8221; might change in every run?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Solution:<\/h3>\n\n\n\n<p>This is where the vRealize Log Insight <strong>JSON<\/strong> parser helps you.<\/p>\n\n\n\n<p>The only\ntwo things you need to do is:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>write your vRealize Orchestrator log messages in JSON format<\/li><li>Include the JSON parser in your vRLI agent config<\/li><\/ul>\n\n\n\n<p>vRLI will\nautomatically recognize the format and parse the key:value pairs accordingly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example:<\/h3>\n\n\n\n<p>Here a very simple example of two lines of code doing nothing but writing log:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>myLogMessage =\"{\\\"command\\\":\\\"adduser\\\",\\\"orderId\\\":\\\"123456789\\\",\\\"orderCustomer\\\":\\\"customer01\\\",\\\"message01\\\":\\\"text01\\\",\\\"message02\\\":\\\"text02\\\",\\\"message03\\\":\\\"text03\\\",\\\"message04\\\":\\\"text04\\\"}\";\n\nSystem.log (completeMessage);<\/code><\/pre>\n\n\n\n<p>In this simple example you see several key:value pairs:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"command\":\"adduser\",\n\"orderId\":\"123456789\",\n\"orderCustomer\":\"customer01\",\n\"message01\":\"text01\",\n\"message02\":\"text02\",\n\"message03\":\"text03\",\n\"message04\":\"text04\"<\/code><\/pre>\n\n\n\n<p>The format of the JSON can be completely unknown for the vRLI parser.<\/p>\n\n\n\n<p>To enable vRLI parse the JSON message, we need to edit the vRLI Agent configuration. This is how the configuration looks like in the template provided by the <strong>vRealize Orchestrator Content Pack<\/strong> vor vRLI:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"786\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vRO-Template-Config-1024x786.png\" alt=\"\" class=\"wp-image-147\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vRO-Template-Config-1024x786.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vRO-Template-Config-300x230.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vRO-Template-Config-768x590.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vRO-Template-Config.png 1552w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The default configuration uses the clf-parser as the parser for the log message.<\/p>\n\n\n\n<p>Inserting the JSON-parser here let vRLI recognize all key:value pairs in the log message:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"881\" height=\"1024\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vro-jaon-parser-config-881x1024.png\" alt=\"\" class=\"wp-image-149\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vro-jaon-parser-config-881x1024.png 881w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vro-jaon-parser-config-258x300.png 258w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vro-jaon-parser-config-768x892.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vro-jaon-parser-config.png 1806w\" sizes=\"auto, (max-width: 881px) 100vw, 881px\" \/><\/figure>\n\n\n\n<p>And here the parsed message in vRLI (open image in an new tab too see details):<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"3830\" height=\"1528\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message.png\" alt=\"\" class=\"wp-image-151\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message.png 3830w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-300x120.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-768x306.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-1024x409.png 1024w\" sizes=\"auto, (max-width: 3830px) 100vw, 3830px\" \/><\/figure>\n\n\n\n<p>If your message contains new key:value pairs during the next run, you do not need to adjust anything, the parser is automatically parsing any new or changed key:value pairs:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"3824\" height=\"1526\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-2.png\" alt=\"\" class=\"wp-image-154\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-2.png 3824w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-2-300x120.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-2-768x306.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-2-1024x409.png 1024w\" sizes=\"auto, (max-width: 3824px) 100vw, 3824px\" \/><\/figure>\n\n\n\n<p>Have fun with the vRLI JSON parser:-)<\/p>\n\n\n\n<p>Thomas<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problem statement: In certain cases vRO workflow(s) are producing not very well structured\u00a0 log messages. &#8220;not well structured&#8221; means in this case that various workflow runs\u00a0 may generate log messages which could include variable information in terms of number of key:value pairs as well as the values themselves. For example we might have a workflow &#8230;<\/p>\n","protected":false},"author":1,"featured_media":154,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22,5],"tags":[24,8,25,7,26],"class_list":["post-144","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vrealize-log-insight","category-vrli","tag-json","tag-parser","tag-vrealize-log-insight","tag-vrli","tag-vro"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>vRLI JSON Parser and vRO Log Messages - TOMsOps<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thomas-kopton.de\/vblog\/?p=144\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"vRLI JSON Parser and vRO Log Messages - TOMsOps\" \/>\n<meta property=\"og:description\" content=\"Problem statement: In certain cases vRO workflow(s) are producing not very well structured\u00a0 log messages. &#8220;not well structured&#8221; means in this case that various workflow runs\u00a0 may generate log messages which could include variable information in terms of number of key:value pairs as well as the values themselves. For example we might have a workflow ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thomas-kopton.de\/vblog\/?p=144\" \/>\n<meta property=\"og:site_name\" content=\"TOMsOps\" \/>\n<meta property=\"article:published_time\" content=\"2019-11-10T18:37:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"3824\" \/>\n\t<meta property=\"og:image:height\" content=\"1526\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Thomas Kopton\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thomas Kopton\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=144#article\",\"isPartOf\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=144\"},\"author\":{\"name\":\"Thomas Kopton\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82\"},\"headline\":\"vRLI JSON Parser and vRO Log Messages\",\"datePublished\":\"2019-11-10T18:37:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=144\"},\"wordCount\":364,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=144#primaryimage\"},\"thumbnailUrl\":\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-2.png\",\"keywords\":[\"JSON\",\"parser\",\"vRealize log insight\",\"vRLI\",\"vRO\"],\"articleSection\":[\"vRealize Log Insight\",\"vRLI\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/thomas-kopton.de\/vblog\/?p=144#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=144\",\"url\":\"https:\/\/thomas-kopton.de\/vblog\/?p=144\",\"name\":\"vRLI JSON Parser and vRO Log Messages - TOMsOps\",\"isPartOf\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=144#primaryimage\"},\"image\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=144#primaryimage\"},\"thumbnailUrl\":\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-2.png\",\"datePublished\":\"2019-11-10T18:37:42+00:00\",\"author\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82\"},\"breadcrumb\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=144#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/thomas-kopton.de\/vblog\/?p=144\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=144#primaryimage\",\"url\":\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-2.png\",\"contentUrl\":\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-2.png\",\"width\":3824,\"height\":1526},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=144#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/thomas-kopton.de\/vblog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"vRLI JSON Parser and vRO Log Messages\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/#website\",\"url\":\"https:\/\/thomas-kopton.de\/vblog\/\",\"name\":\"TOMsOps\",\"description\":\"Just another VMware Cloud Management Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/thomas-kopton.de\/vblog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82\",\"name\":\"Thomas Kopton\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g\",\"caption\":\"Thomas Kopton\"},\"url\":\"https:\/\/thomas-kopton.de\/vblog\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"vRLI JSON Parser and vRO Log Messages - TOMsOps","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thomas-kopton.de\/vblog\/?p=144","og_locale":"en_US","og_type":"article","og_title":"vRLI JSON Parser and vRO Log Messages - TOMsOps","og_description":"Problem statement: In certain cases vRO workflow(s) are producing not very well structured\u00a0 log messages. &#8220;not well structured&#8221; means in this case that various workflow runs\u00a0 may generate log messages which could include variable information in terms of number of key:value pairs as well as the values themselves. For example we might have a workflow ...","og_url":"https:\/\/thomas-kopton.de\/vblog\/?p=144","og_site_name":"TOMsOps","article_published_time":"2019-11-10T18:37:42+00:00","og_image":[{"width":3824,"height":1526,"url":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-2.png","type":"image\/png"}],"author":"Thomas Kopton","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Thomas Kopton","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=144#article","isPartOf":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=144"},"author":{"name":"Thomas Kopton","@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82"},"headline":"vRLI JSON Parser and vRO Log Messages","datePublished":"2019-11-10T18:37:42+00:00","mainEntityOfPage":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=144"},"wordCount":364,"commentCount":0,"image":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=144#primaryimage"},"thumbnailUrl":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-2.png","keywords":["JSON","parser","vRealize log insight","vRLI","vRO"],"articleSection":["vRealize Log Insight","vRLI"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thomas-kopton.de\/vblog\/?p=144#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=144","url":"https:\/\/thomas-kopton.de\/vblog\/?p=144","name":"vRLI JSON Parser and vRO Log Messages - TOMsOps","isPartOf":{"@id":"https:\/\/thomas-kopton.de\/vblog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=144#primaryimage"},"image":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=144#primaryimage"},"thumbnailUrl":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-2.png","datePublished":"2019-11-10T18:37:42+00:00","author":{"@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82"},"breadcrumb":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=144#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thomas-kopton.de\/vblog\/?p=144"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=144#primaryimage","url":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-2.png","contentUrl":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/11\/vrli-message-2.png","width":3824,"height":1526},{"@type":"BreadcrumbList","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=144#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thomas-kopton.de\/vblog"},{"@type":"ListItem","position":2,"name":"vRLI JSON Parser and vRO Log Messages"}]},{"@type":"WebSite","@id":"https:\/\/thomas-kopton.de\/vblog\/#website","url":"https:\/\/thomas-kopton.de\/vblog\/","name":"TOMsOps","description":"Just another VMware Cloud Management Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thomas-kopton.de\/vblog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82","name":"Thomas Kopton","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g","caption":"Thomas Kopton"},"url":"https:\/\/thomas-kopton.de\/vblog\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts\/144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=144"}],"version-history":[{"count":7,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts\/144\/revisions"}],"predecessor-version":[{"id":155,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts\/144\/revisions\/155"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/media\/154"}],"wp:attachment":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}