greetings!
Please, can you guide how to use a for
loop with Python Diagram?
Original sample code without any loop is as follow
from diagrams import Cluster, Diagram, Edge
from diagrams import Diagram
from diagrams.aws.compute import EC2
from diagrams.aws.database import RDS
from diagrams aws.network import ELB
with Diagram("Diagram", show= True, direction="TB"):
ELB("") >> Edge(color="red", label="Traffic") >> \
[EC2("Instance1"),EC2("Instance2"),EC2("Instance3")]
Following code gives error. However expectation is to use a for
loop:
from diagrams import Cluster, Diagram, Edge
from diagrams import Diagram
from diagrams.aws.compute import EC2
from diagrams.aws.database import RDS
from diagrams aws.network import ELB
instances = ["Instance1", "Instance2", "Instance3"]
with Diagram("Diagram", show= True, direction="TB"):
ELB("") >> Edge(color="red", label="Traffic") >> \
for instance in instances:
EC2(instance)
I have tried to use a loop, instead of hardcoded logic. It gives error. This requires to install graphviz
and diagrams
According to the examples page, something like this should work:
from diagrams import Cluster, Diagram, Edge
from diagrams import Diagram
from diagrams.aws.compute import EC2
from diagrams.aws.database import RDS
from diagrams aws.network import ELB
instances = ["Instance1", "Instance2", "Instance3"]
with Diagram("Diagram", show= True, direction="TB"):
ELB("") >> Edge(color="red", label="Traffic") >> [EC2(instance) for instance in instances]