Преглед на файлове

Azure base clusters

pull/407/head
Dan Aharon-Shalom преди 3 години
родител
ревизия
d6f73ec1c3
променени са 3 файла, в които са добавени 167 реда и са изтрити 0 реда
  1. +143
    -0
      diagrams/azure/cluster.py
  2. Двоични данни
      examples/azure.png
  3. +24
    -0
      examples/azure.py

+ 143
- 0
diagrams/azure/cluster.py Целия файл

@@ -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

Двоични данни
examples/azure.png Целия файл

Преди След
Ширина: 861  |  Височина: 1239  |  Големина: 51 KiB

+ 24
- 0
examples/azure.py Целия файл

@@ -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

Зареждане…
Отказ
Запис