The conductor ingest json files
Script Language: https://shopify.github.io/liquid/
https://docs.128technology.com/docs/config_templates/#creating-a-template
Conductor | copy service to a template |
---|---|
1-Create a blank template ( New way ) | |
1- create a blank template ( Old way ) | |
2- add name and descriptive | |
3- copy the service to the new template | |
Advance mode | |
templet → jinja | modify the parameter to variable convert to jinja template example: "name": "{service_name", >>>>> "name": "{{instance.variables['name']}}", and in the variable: -------------------- { "instances": [ { "name": "Instance_1", "variables": { <<<<<<<<< list of all variables "name": "service11_from_template", <<<<<<<<<<<<<< Name variable "address": [ "199.1.4.10" ] } }, |
Generate the service from jinja_template + json variable | click on the magic wand |
Not advanced mode | |
multiple value ( list ip address, ports ) | |
scripting in the | multiple {% for address in addresses %} { "ipAddress": "{{address}}" }{%- if forloop.last == false -%},{%- endif %} {% endfor %} {% for address in instance.variables.addresses %} { "{{address}}," }{%- if forloop.last == false -%},{%- endif %} {% endfor %} |
create a template from file | |
Click New: >> provide a name and descriptive | |
Variable from a Source file | csv |
convert csv files to json | |
json Template { "authority": { "service": [ { "name": "<service_name>", "accessPolicy": [ >>>>> loop if more than one { "source": "<tenant_name1>" }, { "source": "<tenant_name2>" } <<<<<<< ], "description": "send private subnet to the HQ", "security": "internal", "address": [ "10.1.6.0/24", "10.1.16.0/24" ], "transport": [ { "protocol": "icmp" }, { "protocol": "tcp", "portRange": [ { "startPort": "22" }, { "startPort": "443" }, { "startPort": "80" } ] } ] } | json for variable { "instances":[ { "service_name": "service1", "dst_ip_address": "10.0.19.1", "dst_protocol": "tcp", "dst_port": 22 "accessPolicy":[ "source": "<tenant_name1>", "source": "<tenant_name2>" ] } ] } |
Rest API | |