mirror of https://github.com/mingrammer/diagrams
Merge c7a10b742f
into 1144a367b7
commit
38e23961c4
@ -0,0 +1,104 @@
|
||||
from diagrams import Cluster
|
||||
from diagrams.aws.compute import EC2, ApplicationAutoScaling
|
||||
from diagrams.aws.network import VPC, PrivateSubnet, PublicSubnet
|
||||
|
||||
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 VirtualPrivateCloud(Cluster):
|
||||
# fmt: off
|
||||
_default_graph_attrs = {
|
||||
"shape": "box",
|
||||
"style": "",
|
||||
"labeljust": "l",
|
||||
"pencolor": "#00D110",
|
||||
"fontname": "sans-serif",
|
||||
"fontsize": "12",
|
||||
}
|
||||
# fmt: on
|
||||
_icon = VPC
|
||||
|
||||
class PrivateSubnet(Cluster):
|
||||
# fmt: off
|
||||
_default_graph_attrs = {
|
||||
"shape": "box",
|
||||
"style": "",
|
||||
"labeljust": "l",
|
||||
"pencolor": "#329CFF",
|
||||
"fontname": "sans-serif",
|
||||
"fontsize": "12",
|
||||
}
|
||||
# fmt: on
|
||||
_icon = PrivateSubnet
|
||||
|
||||
class PublicSubnet(Cluster):
|
||||
# fmt: off
|
||||
_default_graph_attrs = {
|
||||
"shape": "box",
|
||||
"style": "",
|
||||
"labeljust": "l",
|
||||
"pencolor": "#00D110",
|
||||
"fontname": "sans-serif",
|
||||
"fontsize": "12",
|
||||
}
|
||||
# fmt: on
|
||||
_icon = PublicSubnet
|
||||
|
||||
class SecurityGroup(Cluster):
|
||||
# fmt: off
|
||||
_default_graph_attrs = {
|
||||
"shape": "box",
|
||||
"style": "dashed",
|
||||
"labeljust": "l",
|
||||
"pencolor": "#FF361E",
|
||||
"fontname": "Sans-Serif",
|
||||
"fontsize": "12",
|
||||
}
|
||||
# fmt: on
|
||||
|
||||
class AutoScalling(Cluster):
|
||||
# fmt: off
|
||||
_default_graph_attrs = {
|
||||
"shape": "box",
|
||||
"style": "dashed",
|
||||
"labeljust": "l",
|
||||
"pencolor": "#FF7D1E",
|
||||
"fontname": "Sans-Serif",
|
||||
"fontsize": "12",
|
||||
}
|
||||
# fmt: on
|
||||
_icon = ApplicationAutoScaling
|
||||
|
||||
class EC2Contents(Cluster):
|
||||
# fmt: off
|
||||
_default_graph_attrs = {
|
||||
"shape": "box",
|
||||
"style": "",
|
||||
"labeljust": "l",
|
||||
"pencolor": "#FFB432",
|
||||
"fontname": "Sans-Serif",
|
||||
"fontsize": "12",
|
||||
}
|
||||
# fmt: on
|
||||
_icon = EC2
|
@ -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
|
@ -0,0 +1,15 @@
|
||||
from diagrams import Cluster
|
||||
from diagrams.onprem.compute import Server
|
||||
|
||||
class ServerContents(Cluster):
|
||||
# fmt: off
|
||||
_default_graph_attrs = {
|
||||
"shape": "box",
|
||||
"style": "rounded,dotted",
|
||||
"labeljust": "l",
|
||||
"pencolor": "#A0A0A0",
|
||||
"fontname": "Sans-Serif",
|
||||
"fontsize": "12",
|
||||
}
|
||||
# fmt: on
|
||||
_icon = Server
|
After Width: | Height: | Size: 67 KiB |
@ -0,0 +1,26 @@
|
||||
from diagrams import Diagram, Edge
|
||||
from diagrams.aws.cluster import *
|
||||
from diagrams.aws.compute import EC2
|
||||
from diagrams.onprem.container import Docker
|
||||
from diagrams.onprem.cluster import *
|
||||
from diagrams.aws.network import ELB
|
||||
|
||||
with Diagram(name="", direction="TB", show=True):
|
||||
with Cluster("AWS"):
|
||||
with Region("eu-west-1"):
|
||||
with AvailabilityZone("eu-west-1a"):
|
||||
with VirtualPrivateCloud(""):
|
||||
with PrivateSubnet("Private"):
|
||||
with SecurityGroup("web sg"):
|
||||
with AutoScalling(""):
|
||||
with EC2Contents("A"):
|
||||
d1 = Docker("Container")
|
||||
with ServerContents("A1"):
|
||||
d2 = Docker("Container")
|
||||
|
||||
with PublicSubnet("Public"):
|
||||
with SecurityGroup("elb sg"):
|
||||
lb = ELB()
|
||||
|
||||
lb >> Edge(forward=True, reverse=True) >> d1
|
||||
lb >> Edge(forward=True, reverse=True) >> d2
|
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