mirror of https://github.com/mingrammer/diagrams
parent
676db8edff
commit
d6f73ec1c3
@ -0,0 +1,143 @@
|
|||||||
|
from diagrams import Cluster
|
||||||
|
from diagrams.azure.compute import VM, VMWindows, VMLinux #, VMScaleSet # Depends on PR-404
|
||||||
|
from diagrams.azure.network import VirtualNetworks, Subnets, NetworkSecurityGroupsClassic
|
||||||
|
|
||||||
|
class Subscription(Cluster):
|
||||||
|
# fmt: off
|
||||||
|
_default_graph_attrs = {
|
||||||
|
"shape": "box",
|
||||||
|
"style": "dotted",
|
||||||
|
"labeljust": "l",
|
||||||
|
"pencolor": "#AEB6BE",
|
||||||
|
"fontname": "Sans-Serif",
|
||||||
|
"fontsize": "12",
|
||||||
|
}
|
||||||
|
# fmt: on
|
||||||
|
|
||||||
|
class Region(Cluster):
|
||||||
|
# fmt: off
|
||||||
|
_default_graph_attrs = {
|
||||||
|
"shape": "box",
|
||||||
|
"style": "dotted",
|
||||||
|
"labeljust": "l",
|
||||||
|
"pencolor": "#AEB6BE",
|
||||||
|
"fontname": "Sans-Serif",
|
||||||
|
"fontsize": "12",
|
||||||
|
}
|
||||||
|
# fmt: on
|
||||||
|
|
||||||
|
class AvailabilityZone(Cluster):
|
||||||
|
# fmt: off
|
||||||
|
_default_graph_attrs = {
|
||||||
|
"shape": "box",
|
||||||
|
"style": "dashed",
|
||||||
|
"labeljust": "l",
|
||||||
|
"pencolor": "#27a0ff",
|
||||||
|
"fontname": "sans-serif",
|
||||||
|
"fontsize": "12",
|
||||||
|
}
|
||||||
|
# fmt: on
|
||||||
|
|
||||||
|
class VirtualNetwork(Cluster):
|
||||||
|
# fmt: off
|
||||||
|
_default_graph_attrs = {
|
||||||
|
"shape": "box",
|
||||||
|
"style": "",
|
||||||
|
"labeljust": "l",
|
||||||
|
"pencolor": "#00D110",
|
||||||
|
"fontname": "sans-serif",
|
||||||
|
"fontsize": "12",
|
||||||
|
}
|
||||||
|
# fmt: on
|
||||||
|
_icon = VirtualNetworks
|
||||||
|
|
||||||
|
class SubnetWithNSG(Cluster):
|
||||||
|
# fmt: off
|
||||||
|
_default_graph_attrs = {
|
||||||
|
"shape": "box",
|
||||||
|
"style": "",
|
||||||
|
"labeljust": "l",
|
||||||
|
"pencolor": "#329CFF",
|
||||||
|
"fontname": "sans-serif",
|
||||||
|
"fontsize": "12",
|
||||||
|
}
|
||||||
|
# fmt: on
|
||||||
|
_icon = NetworkSecurityGroupsClassic
|
||||||
|
|
||||||
|
class Subnet(Cluster):
|
||||||
|
# fmt: off
|
||||||
|
_default_graph_attrs = {
|
||||||
|
"shape": "box",
|
||||||
|
"style": "",
|
||||||
|
"labeljust": "l",
|
||||||
|
"pencolor": "#00D110",
|
||||||
|
"fontname": "sans-serif",
|
||||||
|
"fontsize": "12",
|
||||||
|
}
|
||||||
|
# fmt: on
|
||||||
|
_icon = Subnets
|
||||||
|
|
||||||
|
class SecurityGroup(Cluster):
|
||||||
|
# fmt: off
|
||||||
|
_default_graph_attrs = {
|
||||||
|
"shape": "box",
|
||||||
|
"style": "dashed",
|
||||||
|
"labeljust": "l",
|
||||||
|
"pencolor": "#FF361E",
|
||||||
|
"fontname": "Sans-Serif",
|
||||||
|
"fontsize": "12",
|
||||||
|
}
|
||||||
|
# fmt: on
|
||||||
|
|
||||||
|
class VMContents(Cluster):
|
||||||
|
# fmt: off
|
||||||
|
_default_graph_attrs = {
|
||||||
|
"shape": "box",
|
||||||
|
"style": "",
|
||||||
|
"labeljust": "l",
|
||||||
|
"pencolor": "#FFB432",
|
||||||
|
"fontname": "Sans-Serif",
|
||||||
|
"fontsize": "12",
|
||||||
|
}
|
||||||
|
# fmt: on
|
||||||
|
_icon = VM
|
||||||
|
|
||||||
|
class VMLinuxContents(Cluster):
|
||||||
|
# fmt: off
|
||||||
|
_default_graph_attrs = {
|
||||||
|
"shape": "box",
|
||||||
|
"style": "",
|
||||||
|
"labeljust": "l",
|
||||||
|
"pencolor": "#FFB432",
|
||||||
|
"fontname": "Sans-Serif",
|
||||||
|
"fontsize": "12",
|
||||||
|
}
|
||||||
|
# fmt: on
|
||||||
|
_icon = VMLinux
|
||||||
|
|
||||||
|
class VMWindowsContents(Cluster):
|
||||||
|
# fmt: off
|
||||||
|
_default_graph_attrs = {
|
||||||
|
"shape": "box",
|
||||||
|
"style": "",
|
||||||
|
"labeljust": "l",
|
||||||
|
"pencolor": "#FFB432",
|
||||||
|
"fontname": "Sans-Serif",
|
||||||
|
"fontsize": "12",
|
||||||
|
}
|
||||||
|
# fmt: on
|
||||||
|
_icon = VMWindows
|
||||||
|
|
||||||
|
# Depends on PR-404
|
||||||
|
# class VMSS(Cluster):
|
||||||
|
# # fmt: off
|
||||||
|
# _default_graph_attrs = {
|
||||||
|
# "shape": "box",
|
||||||
|
# "style": "dashed",
|
||||||
|
# "labeljust": "l",
|
||||||
|
# "pencolor": "#FF7D1E",
|
||||||
|
# "fontname": "Sans-Serif",
|
||||||
|
# "fontsize": "12",
|
||||||
|
# }
|
||||||
|
# # fmt: on
|
||||||
|
# _icon = VMScaleSet
|
After Width: | Height: | Size: 51 KiB |
@ -0,0 +1,24 @@
|
|||||||
|
from diagrams import Diagram, Edge
|
||||||
|
from diagrams.azure.cluster import *
|
||||||
|
from diagrams.azure.compute import VM
|
||||||
|
from diagrams.onprem.container import Docker
|
||||||
|
from diagrams.onprem.cluster import *
|
||||||
|
from diagrams.azure.network import LoadBalancers
|
||||||
|
|
||||||
|
with Diagram(name="", filename="azure", direction="TB", show=True):
|
||||||
|
with Cluster("Azure"):
|
||||||
|
with Region("East US2"):
|
||||||
|
with AvailabilityZone("Zone 2"):
|
||||||
|
with VirtualNetwork(""):
|
||||||
|
with SubnetWithNSG("Private"):
|
||||||
|
# with VMScaleSet(""): # Depends on PR-404
|
||||||
|
with VMContents("A"):
|
||||||
|
d1 = Docker("Container")
|
||||||
|
with ServerContents("A1"):
|
||||||
|
d2 = Docker("Container")
|
||||||
|
|
||||||
|
with Subnet("Public"):
|
||||||
|
lb = LoadBalancers()
|
||||||
|
|
||||||
|
lb >> Edge(forward=True, reverse=True) >> d1
|
||||||
|
lb >> Edge(forward=True, reverse=True) >> d2
|
Loading…
Reference in new issue