Merge branch 'master' into upgrade3.12

pull/972/head
Tobias Bruckert 11 months ago committed by GitHub
commit 1b361f9967
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -29,10 +29,10 @@ jobs:
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v2 uses: github/codeql-action/init@v3
# Override language selection by uncommenting this and choosing your languages # Override language selection by uncommenting this and choosing your languages
with: with:
languages: python languages: python
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2 uses: github/codeql-action/analyze@v3

@ -394,3 +394,17 @@ The following import changes:
### Added ### Added
- Support kubernetes diagrams: [3eda1cb](https://github.com/mingrammer/diagrams/commit/3eda1cb6bca8be8a55773d90b93483a8fab3e0f1) - Support kubernetes diagrams: [3eda1cb](https://github.com/mingrammer/diagrams/commit/3eda1cb6bca8be8a55773d90b93483a8fab3e0f1)
## v0.23.5
### Breaking Changes
The following import changes:
#### OCI
| Old import path | New import path |
| -------------------------------------------------------------------| --------------------------------------------------------------|
| `from diagrams.oci.connectivity import CustomerPremiseWhite` | `from diagrams.oci.connectivity import CustomerPremisesWhite` |
| `from diagrams.oci.connectivity import CustomerPremises` | `from diagrams.oci.connectivity import CustomerPremises` |

@ -74,4 +74,4 @@ To be able to develop and run diagrams locally on you Mac device, you should hav
./autogen.sh ./autogen.sh
``` ```
7. If the unit tests and the bash script `autogen.sh` is working correctly, then your system is now ready for development. 7. If the unit tests and the bash script `autogen.sh` is working correctly, then your system is now ready for development.

@ -13,7 +13,7 @@
**Diagram as Code**. **Diagram as Code**.
Diagrams lets you draw the cloud system architecture **in Python code**. It was born for **prototyping** a new system architecture design without any design tools. You can also describe or visualize the existing system architecture as well. Diagrams currently supports main major providers including: `AWS`, `Azure`, `GCP`, `Kubernetes`, `Alibaba Cloud`, `Oracle Cloud` etc... It also supports `On-Premise` nodes, `SaaS` and major `Programming` frameworks and languages. Diagrams lets you draw the cloud system architecture **in Python code**. It was born for **prototyping** a new system architecture design without any design tools. You can also describe or visualize the existing system architecture as well. Diagrams currently supports main major providers including: `AWS`, `Azure`, `GCP`, `Kubernetes`, `Alibaba Cloud`, `Oracle Cloud` etc... It also supports `On-Premises` nodes, `SaaS` and major `Programming` frameworks and languages.
**Diagram as Code** also allows you to **track** the architecture diagram changes in any **version control** system. **Diagram as Code** also allows you to **track** the architecture diagram changes in any **version control** system.
@ -33,7 +33,7 @@ Diagrams lets you draw the cloud system architecture **in Python code**. It was
![digital ocean provider](https://img.shields.io/badge/DigitalOcean-0080ff?logo=digitalocean&color=0080ff) ![digital ocean provider](https://img.shields.io/badge/DigitalOcean-0080ff?logo=digitalocean&color=0080ff)
![elastic provider](https://img.shields.io/badge/Elastic-orange?logo=elastic&color=005571) ![elastic provider](https://img.shields.io/badge/Elastic-orange?logo=elastic&color=005571)
![outscale provider](https://img.shields.io/badge/OutScale-orange?color=5f87bf) ![outscale provider](https://img.shields.io/badge/OutScale-orange?color=5f87bf)
![on premise provider](https://img.shields.io/badge/OnPremise-orange?color=5f87bf) ![on premises provider](https://img.shields.io/badge/OnPremises-orange?color=5f87bf)
![generic provider](https://img.shields.io/badge/Generic-orange?color=5f87bf) ![generic provider](https://img.shields.io/badge/Generic-orange?color=5f87bf)
![programming provider](https://img.shields.io/badge/Programming-orange?color=5f87bf) ![programming provider](https://img.shields.io/badge/Programming-orange?color=5f87bf)
![saas provider](https://img.shields.io/badge/SaaS-orange?color=5f87bf) ![saas provider](https://img.shields.io/badge/SaaS-orange?color=5f87bf)
@ -64,7 +64,7 @@ You can start with [quick start](https://diagrams.mingrammer.com/docs/getting-st
| Event Processing | Stateful Architecture | Advanced Web Service | | Event Processing | Stateful Architecture | Advanced Web Service |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| ![event processing](https://diagrams.mingrammer.com/img/event_processing_diagram.png) | ![stateful architecture](https://diagrams.mingrammer.com/img/stateful_architecture_diagram.png) | ![advanced web service with on-premise](https://diagrams.mingrammer.com/img/advanced_web_service_with_on-premise.png) | | ![event processing](https://diagrams.mingrammer.com/img/event_processing_diagram.png) | ![stateful architecture](https://diagrams.mingrammer.com/img/stateful_architecture_diagram.png) | ![advanced web service with on-premises](https://diagrams.mingrammer.com/img/advanced_web_service_with_on-premises.png) |
You can find all the examples on the [examples](https://diagrams.mingrammer.com/docs/getting-started/examples) page. You can find all the examples on the [examples](https://diagrams.mingrammer.com/docs/getting-started/examples) page.

@ -429,7 +429,9 @@ ALIASES = {
"programming": { "programming": {
"framework": { "framework": {
"Fastapi": "FastAPI", "Fastapi": "FastAPI",
"Graphql": "GraphQL" "Graphql": "GraphQL",
"Dotnet": "DotNet",
"Nextjs": "NextJs"
}, },
"language": { "language": {
"Javascript": "JavaScript", "Javascript": "JavaScript",

@ -82,7 +82,7 @@ class Diagram:
filename: str = "", filename: str = "",
direction: str = "LR", direction: str = "LR",
curvestyle: str = "ortho", curvestyle: str = "ortho",
outformat: str = "png", outformat: str | list[str] = "png",
autolabel: bool = False, autolabel: bool = False,
show: bool = True, show: bool = True,
strict: bool = False, strict: bool = False,

@ -8,6 +8,10 @@ class _Analytics(_AWS):
_icon_dir = "resources/aws/analytics" _icon_dir = "resources/aws/analytics"
class AmazonOpensearchService(_Analytics):
_icon = "amazon-opensearch-service.png"
class Analytics(_Analytics): class Analytics(_Analytics):
_icon = "analytics.png" _icon = "analytics.png"

@ -20,6 +20,10 @@ class Cloud9(_Devtools):
_icon = "cloud9.png" _icon = "cloud9.png"
class Codeartifact(_Devtools):
_icon = "codeartifact.png"
class Codebuild(_Devtools): class Codebuild(_Devtools):
_icon = "codebuild.png" _icon = "codebuild.png"

@ -8,6 +8,22 @@ class _Management(_AWS):
_icon_dir = "resources/aws/management" _icon_dir = "resources/aws/management"
class AmazonDevopsGuru(_Management):
_icon = "amazon-devops-guru.png"
class AmazonManagedGrafana(_Management):
_icon = "amazon-managed-grafana.png"
class AmazonManagedPrometheus(_Management):
_icon = "amazon-managed-prometheus.png"
class AmazonManagedWorkflowsApacheAirflow(_Management):
_icon = "amazon-managed-workflows-apache-airflow.png"
class AutoScaling(_Management): class AutoScaling(_Management):
_icon = "auto-scaling.png" _icon = "auto-scaling.png"
@ -140,10 +156,18 @@ class PersonalHealthDashboard(_Management):
_icon = "personal-health-dashboard.png" _icon = "personal-health-dashboard.png"
class Proton(_Management):
_icon = "proton.png"
class ServiceCatalog(_Management): class ServiceCatalog(_Management):
_icon = "service-catalog.png" _icon = "service-catalog.png"
class SystemsManagerAppConfig(_Management):
_icon = "systems-manager-app-config.png"
class SystemsManagerAutomation(_Management): class SystemsManagerAutomation(_Management):
_icon = "systems-manager-automation.png" _icon = "systems-manager-automation.png"

@ -84,6 +84,10 @@ class NATGateway(_Network):
_icon = "nat-gateway.png" _icon = "nat-gateway.png"
class NetworkFirewall(_Network):
_icon = "network-firewall.png"
class NetworkingAndContentDelivery(_Network): class NetworkingAndContentDelivery(_Network):
_icon = "networking-and-content-delivery.png" _icon = "networking-and-content-delivery.png"

@ -0,0 +1,27 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Monitor(_Azure):
_type = "monitor"
_icon_dir = "resources/azure/monitor"
class ChangeAnalysis(_Monitor):
_icon = "change-analysis.png"
class Logs(_Monitor):
_icon = "logs.png"
class Metrics(_Monitor):
_icon = "metrics.png"
class Monitor(_Monitor):
_icon = "monitor.png"
# Aliases

@ -1,6 +1,7 @@
""" """
A set of nodes and edges to visualize software architecture using the C4 model. A set of nodes and edges to visualize software architecture using the C4 model.
""" """
import html import html
import textwrap import textwrap
from diagrams import Cluster, Node, Edge from diagrams import Cluster, Node, Edge

@ -32,12 +32,12 @@ class CustomerDatacntrWhite(_Connectivity):
_icon = "customer-datacntr-white.png" _icon = "customer-datacntr-white.png"
class CustomerPremiseWhite(_Connectivity): class CustomerPremisesWhite(_Connectivity):
_icon = "customer-premise-white.png" _icon = "customer-premises-white.png"
class CustomerPremise(_Connectivity): class CustomerPremises(_Connectivity):
_icon = "customer-premise.png" _icon = "customer-premises.png"
class DisconnectedRegionsWhite(_Connectivity): class DisconnectedRegionsWhite(_Connectivity):

@ -1,5 +1,5 @@
""" """
OnPrem provides a set of general on-premise services. OnPrem provides a set of general on-premises services.
""" """
from diagrams import Node from diagrams import Node

@ -16,10 +16,18 @@ class Backbone(_Framework):
_icon = "backbone.png" _icon = "backbone.png"
class Camel(_Framework):
_icon = "camel.png"
class Django(_Framework): class Django(_Framework):
_icon = "django.png" _icon = "django.png"
class Dotnet(_Framework):
_icon = "dotnet.png"
class Ember(_Framework): class Ember(_Framework):
_icon = "ember.png" _icon = "ember.png"
@ -40,6 +48,14 @@ class Graphql(_Framework):
_icon = "graphql.png" _icon = "graphql.png"
class Hibernate(_Framework):
_icon = "hibernate.png"
class Jhipster(_Framework):
_icon = "jhipster.png"
class Laravel(_Framework): class Laravel(_Framework):
_icon = "laravel.png" _icon = "laravel.png"
@ -48,6 +64,10 @@ class Micronaut(_Framework):
_icon = "micronaut.png" _icon = "micronaut.png"
class Nextjs(_Framework):
_icon = "nextjs.png"
class Quarkus(_Framework): class Quarkus(_Framework):
_icon = "quarkus.png" _icon = "quarkus.png"
@ -72,6 +92,10 @@ class Svelte(_Framework):
_icon = "svelte.png" _icon = "svelte.png"
class Vercel(_Framework):
_icon = "vercel.png"
class Vue(_Framework): class Vue(_Framework):
_icon = "vue.png" _icon = "vue.png"
@ -80,3 +104,6 @@ class Vue(_Framework):
FastAPI = Fastapi FastAPI = Fastapi
GraphQL = Graphql GraphQL = Graphql
DotNet = Dotnet
NextJs = Nextjs
JHipster = Jhipster

@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Saas
class _Security(_Saas):
_type = "alerting"
_icon_dir = "resources/saas/security"
class Sonarqube(_Security):
_icon = "sonarqube.png"
# Aliases

@ -170,7 +170,7 @@ with Diagram("Stateful Architecture", show=False):
![stateful architecture diagram](/img/stateful_architecture_diagram.png) ![stateful architecture diagram](/img/stateful_architecture_diagram.png)
## Advanced Web Service with On-Premise ## Advanced Web Service with On-Premises
```python ```python
from diagrams import Cluster, Diagram from diagrams import Cluster, Diagram
@ -183,7 +183,7 @@ from diagrams.onprem.monitoring import Grafana, Prometheus
from diagrams.onprem.network import Nginx from diagrams.onprem.network import Nginx
from diagrams.onprem.queue import Kafka from diagrams.onprem.queue import Kafka
with Diagram("Advanced Web Service with On-Premise", show=False): with Diagram("Advanced Web Service with On-Premises", show=False):
ingress = Nginx("ingress") ingress = Nginx("ingress")
metrics = Prometheus("metric") metrics = Prometheus("metric")

@ -3,7 +3,7 @@ id: installation
title: Installation title: Installation
--- ---
**diagrams** requires **Python 3.6** or higher, check your Python version first. **diagrams** requires **Python 3.7** or higher, check your Python version first.
**diagrams** uses [Graphviz](https://www.graphviz.org/) to render the diagram, so you need to [install Graphviz](https://graphviz.gitlab.io/download/) to use it. **diagrams** uses [Graphviz](https://www.graphviz.org/) to render the diagram, so you need to [install Graphviz](https://graphviz.gitlab.io/download/) to use it.

@ -22,7 +22,7 @@ from diagrams.onprem.monitoring import Grafana, Prometheus
from diagrams.onprem.network import Nginx from diagrams.onprem.network import Nginx
from diagrams.onprem.queue import Kafka from diagrams.onprem.queue import Kafka
with Diagram(name="Advanced Web Service with On-Premise (colored)", show=False): with Diagram(name="Advanced Web Service with On-Premises (colored)", show=False):
ingress = Nginx("ingress") ingress = Nginx("ingress")
metrics = Prometheus("metric") metrics = Prometheus("metric")
@ -66,4 +66,4 @@ with Diagram(name="Advanced Web Service with On-Premise (colored)", show=False):
>> aggregator >> aggregator
``` ```
![advanced web service with on-premise diagram colored](/img/advanced_web_service_with_on-premise_colored.png) ![advanced web service with on-premises diagram colored](/img/advanced_web_service_with_on-premises_colored.png)

@ -3,7 +3,7 @@ id: alibabacloud
title: AlibabaCloud title: AlibabaCloud
--- ---
Node classes list of alibabacloud provider. Node classes list of the alibabacloud provider.
## alibabacloud.analytics ## alibabacloud.analytics

@ -3,11 +3,14 @@ id: aws
title: AWS title: AWS
--- ---
Node classes list of aws provider. Node classes list of the aws provider.
## aws.analytics ## aws.analytics
<img width="30" src="/img/resources/aws/analytics/amazon-opensearch-service.png" alt="AmazonOpensearchService" style="float: left; padding-right: 5px;" >
**diagrams.aws.analytics.AmazonOpensearchService**
<img width="30" src="/img/resources/aws/analytics/analytics.png" alt="Analytics" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/aws/analytics/analytics.png" alt="Analytics" style="float: left; padding-right: 5px;" >
**diagrams.aws.analytics.Analytics** **diagrams.aws.analytics.Analytics**
@ -389,6 +392,9 @@ Node classes list of aws provider.
<img width="30" src="/img/resources/aws/devtools/cloud9.png" alt="Cloud9" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/aws/devtools/cloud9.png" alt="Cloud9" style="float: left; padding-right: 5px;" >
**diagrams.aws.devtools.Cloud9** **diagrams.aws.devtools.Cloud9**
<img width="30" src="/img/resources/aws/devtools/codeartifact.png" alt="Codeartifact" style="float: left; padding-right: 5px;" >
**diagrams.aws.devtools.Codeartifact**
<img width="30" src="/img/resources/aws/devtools/codebuild.png" alt="Codebuild" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/aws/devtools/codebuild.png" alt="Codebuild" style="float: left; padding-right: 5px;" >
**diagrams.aws.devtools.Codebuild** **diagrams.aws.devtools.Codebuild**
@ -800,6 +806,18 @@ Node classes list of aws provider.
## aws.management ## aws.management
<img width="30" src="/img/resources/aws/management/amazon-devops-guru.png" alt="AmazonDevopsGuru" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.AmazonDevopsGuru**
<img width="30" src="/img/resources/aws/management/amazon-managed-grafana.png" alt="AmazonManagedGrafana" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.AmazonManagedGrafana**
<img width="30" src="/img/resources/aws/management/amazon-managed-prometheus.png" alt="AmazonManagedPrometheus" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.AmazonManagedPrometheus**
<img width="30" src="/img/resources/aws/management/amazon-managed-workflows-apache-airflow.png" alt="AmazonManagedWorkflowsApacheAirflow" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.AmazonManagedWorkflowsApacheAirflow**
<img width="30" src="/img/resources/aws/management/auto-scaling.png" alt="AutoScaling" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/aws/management/auto-scaling.png" alt="AutoScaling" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.AutoScaling** **diagrams.aws.management.AutoScaling**
@ -899,9 +917,15 @@ Node classes list of aws provider.
<img width="30" src="/img/resources/aws/management/personal-health-dashboard.png" alt="PersonalHealthDashboard" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/aws/management/personal-health-dashboard.png" alt="PersonalHealthDashboard" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.PersonalHealthDashboard** **diagrams.aws.management.PersonalHealthDashboard**
<img width="30" src="/img/resources/aws/management/proton.png" alt="Proton" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.Proton**
<img width="30" src="/img/resources/aws/management/service-catalog.png" alt="ServiceCatalog" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/aws/management/service-catalog.png" alt="ServiceCatalog" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.ServiceCatalog** **diagrams.aws.management.ServiceCatalog**
<img width="30" src="/img/resources/aws/management/systems-manager-app-config.png" alt="SystemsManagerAppConfig" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.SystemsManagerAppConfig**
<img width="30" src="/img/resources/aws/management/systems-manager-automation.png" alt="SystemsManagerAutomation" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/aws/management/systems-manager-automation.png" alt="SystemsManagerAutomation" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.SystemsManagerAutomation** **diagrams.aws.management.SystemsManagerAutomation**
@ -1205,6 +1229,9 @@ Node classes list of aws provider.
<img width="30" src="/img/resources/aws/network/nat-gateway.png" alt="NATGateway" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/aws/network/nat-gateway.png" alt="NATGateway" style="float: left; padding-right: 5px;" >
**diagrams.aws.network.NATGateway** **diagrams.aws.network.NATGateway**
<img width="30" src="/img/resources/aws/network/network-firewall.png" alt="NetworkFirewall" style="float: left; padding-right: 5px;" >
**diagrams.aws.network.NetworkFirewall**
<img width="30" src="/img/resources/aws/network/networking-and-content-delivery.png" alt="NetworkingAndContentDelivery" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/aws/network/networking-and-content-delivery.png" alt="NetworkingAndContentDelivery" style="float: left; padding-right: 5px;" >
**diagrams.aws.network.NetworkingAndContentDelivery** **diagrams.aws.network.NetworkingAndContentDelivery**

@ -3,7 +3,7 @@ id: azure
title: Azure title: Azure
--- ---
Node classes list of azure provider. Node classes list of the azure provider.
## azure.analytics ## azure.analytics
@ -524,6 +524,21 @@ Node classes list of azure provider.
<img width="30" src="/img/resources/azure/mobile/notification-hubs.png" alt="NotificationHubs" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/azure/mobile/notification-hubs.png" alt="NotificationHubs" style="float: left; padding-right: 5px;" >
**diagrams.azure.mobile.NotificationHubs** **diagrams.azure.mobile.NotificationHubs**
## azure.monitor
<img width="30" src="/img/resources/azure/monitor/change-analysis.png" alt="ChangeAnalysis" style="float: left; padding-right: 5px;" >
**diagrams.azure.monitor.ChangeAnalysis**
<img width="30" src="/img/resources/azure/monitor/logs.png" alt="Logs" style="float: left; padding-right: 5px;" >
**diagrams.azure.monitor.Logs**
<img width="30" src="/img/resources/azure/monitor/metrics.png" alt="Metrics" style="float: left; padding-right: 5px;" >
**diagrams.azure.monitor.Metrics**
<img width="30" src="/img/resources/azure/monitor/monitor.png" alt="Monitor" style="float: left; padding-right: 5px;" >
**diagrams.azure.monitor.Monitor**
## azure.network ## azure.network

@ -3,7 +3,7 @@ id: digitalocean
title: DigitalOcean title: DigitalOcean
--- ---
Node classes list of digitalocean provider. Node classes list of the digitalocean provider.
## digitalocean.compute ## digitalocean.compute

@ -3,7 +3,7 @@ id: elastic
title: Elastic title: Elastic
--- ---
Node classes list of elastic provider. Node classes list of the elastic provider.
## elastic.agent ## elastic.agent

@ -3,7 +3,7 @@ id: firebase
title: Firebase title: Firebase
--- ---
Node classes list of firebase provider. Node classes list of the firebase provider.
## firebase.base ## firebase.base

@ -3,7 +3,7 @@ id: gcp
title: GCP title: GCP
--- ---
Node classes list of gcp provider. Node classes list of the gcp provider.
## gcp.analytics ## gcp.analytics

@ -3,7 +3,7 @@ id: generic
title: Generic title: Generic
--- ---
Node classes list of generic provider. Node classes list of the generic provider.
## generic.blank ## generic.blank

@ -3,7 +3,7 @@ id: ibm
title: IBM title: IBM
--- ---
Node classes list of ibm provider. Node classes list of the ibm provider.
## ibm.analytics ## ibm.analytics

@ -3,7 +3,7 @@ id: k8s
title: K8S title: K8S
--- ---
Node classes list of k8s provider. Node classes list of the k8s provider.
## k8s.chaos ## k8s.chaos

@ -3,7 +3,7 @@ id: oci
title: OCI title: OCI
--- ---
Node classes list of oci provider. Node classes list of the oci provider.
## oci.compute ## oci.compute
@ -77,11 +77,11 @@ Node classes list of oci provider.
<img width="30" src="/img/resources/oci/connectivity/customer-datacntr-white.png" alt="CustomerDatacntrWhite" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/oci/connectivity/customer-datacntr-white.png" alt="CustomerDatacntrWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.CustomerDatacntrWhite** **diagrams.oci.connectivity.CustomerDatacntrWhite**
<img width="30" src="/img/resources/oci/connectivity/customer-premise-white.png" alt="CustomerPremiseWhite" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/oci/connectivity/customer-premises-white.png" alt="CustomerPremisesWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.CustomerPremiseWhite** **diagrams.oci.connectivity.CustomerPremisesWhite**
<img width="30" src="/img/resources/oci/connectivity/customer-premise.png" alt="CustomerPremise" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/oci/connectivity/customer-premises.png" alt="CustomerPremises" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.CustomerPremise** **diagrams.oci.connectivity.CustomerPremises**
<img width="30" src="/img/resources/oci/connectivity/disconnected-regions-white.png" alt="DisconnectedRegionsWhite" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/oci/connectivity/disconnected-regions-white.png" alt="DisconnectedRegionsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.DisconnectedRegionsWhite** **diagrams.oci.connectivity.DisconnectedRegionsWhite**

@ -3,7 +3,7 @@ id: onprem
title: OnPrem title: OnPrem
--- ---
Node classes list of onprem provider. Node classes list of the onprem provider.
## onprem.aggregator ## onprem.aggregator

@ -3,7 +3,7 @@ id: openstack
title: OpenStack title: OpenStack
--- ---
Node classes list of openstack provider. Node classes list of the openstack provider.
## openstack.apiproxies ## openstack.apiproxies

@ -3,7 +3,7 @@ id: outscale
title: Outscale title: Outscale
--- ---
Node classes list of outscale provider. Node classes list of the outscale provider.
## outscale.compute ## outscale.compute

@ -3,7 +3,7 @@ id: programming
title: Programming title: Programming
--- ---
Node classes list of programming provider. Node classes list of the programming provider.
## programming.flowchart ## programming.flowchart
@ -89,9 +89,15 @@ Node classes list of programming provider.
<img width="30" src="/img/resources/programming/framework/backbone.png" alt="Backbone" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/programming/framework/backbone.png" alt="Backbone" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Backbone** **diagrams.programming.framework.Backbone**
<img width="30" src="/img/resources/programming/framework/camel.png" alt="Camel" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Camel**
<img width="30" src="/img/resources/programming/framework/django.png" alt="Django" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/programming/framework/django.png" alt="Django" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Django** **diagrams.programming.framework.Django**
<img width="30" src="/img/resources/programming/framework/dotnet.png" alt="Dotnet" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Dotnet**, **DotNet** (alias)
<img width="30" src="/img/resources/programming/framework/ember.png" alt="Ember" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/programming/framework/ember.png" alt="Ember" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Ember** **diagrams.programming.framework.Ember**
@ -107,12 +113,21 @@ Node classes list of programming provider.
<img width="30" src="/img/resources/programming/framework/graphql.png" alt="Graphql" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/programming/framework/graphql.png" alt="Graphql" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Graphql**, **GraphQL** (alias) **diagrams.programming.framework.Graphql**, **GraphQL** (alias)
<img width="30" src="/img/resources/programming/framework/hibernate.png" alt="Hibernate" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Hibernate**
<img width="30" src="/img/resources/programming/framework/jhipster.png" alt="Jhipster" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Jhipster**, **JHipster** (alias)
<img width="30" src="/img/resources/programming/framework/laravel.png" alt="Laravel" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/programming/framework/laravel.png" alt="Laravel" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Laravel** **diagrams.programming.framework.Laravel**
<img width="30" src="/img/resources/programming/framework/micronaut.png" alt="Micronaut" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/programming/framework/micronaut.png" alt="Micronaut" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Micronaut** **diagrams.programming.framework.Micronaut**
<img width="30" src="/img/resources/programming/framework/nextjs.png" alt="Nextjs" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Nextjs**, **NextJs** (alias)
<img width="30" src="/img/resources/programming/framework/quarkus.png" alt="Quarkus" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/programming/framework/quarkus.png" alt="Quarkus" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Quarkus** **diagrams.programming.framework.Quarkus**
@ -131,6 +146,9 @@ Node classes list of programming provider.
<img width="30" src="/img/resources/programming/framework/svelte.png" alt="Svelte" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/programming/framework/svelte.png" alt="Svelte" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Svelte** **diagrams.programming.framework.Svelte**
<img width="30" src="/img/resources/programming/framework/vercel.png" alt="Vercel" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Vercel**
<img width="30" src="/img/resources/programming/framework/vue.png" alt="Vue" style="float: left; padding-right: 5px;" > <img width="30" src="/img/resources/programming/framework/vue.png" alt="Vue" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Vue** **diagrams.programming.framework.Vue**

@ -3,7 +3,7 @@ id: saas
title: Saas title: Saas
--- ---
Node classes list of saas provider. Node classes list of the saas provider.
## saas.alerting ## saas.alerting

33
poetry.lock generated

@ -1,10 +1,9 @@
# This file is automatically @generated by Poetry and should not be changed by hand. # This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand.
[[package]] [[package]]
name = "astroid" name = "astroid"
version = "2.9.0" version = "2.9.0"
description = "An abstract syntax tree for Python with inference support." description = "An abstract syntax tree for Python with inference support."
category = "dev"
optional = false optional = false
python-versions = "~=3.6" python-versions = "~=3.6"
files = [ files = [
@ -23,7 +22,6 @@ wrapt = ">=1.11,<1.14"
name = "black" name = "black"
version = "22.12.0" version = "22.12.0"
description = "The uncompromising code formatter." description = "The uncompromising code formatter."
category = "dev"
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
files = [ files = [
@ -60,7 +58,6 @@ uvloop = ["uvloop (>=0.15.2)"]
name = "click" name = "click"
version = "8.1.3" version = "8.1.3"
description = "Composable command line interface toolkit" description = "Composable command line interface toolkit"
category = "dev"
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
files = [ files = [
@ -76,7 +73,6 @@ importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
name = "colorama" name = "colorama"
version = "0.4.3" version = "0.4.3"
description = "Cross-platform colored terminal text." description = "Cross-platform colored terminal text."
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
files = [ files = [
@ -88,7 +84,6 @@ files = [
name = "exceptiongroup" name = "exceptiongroup"
version = "1.1.0" version = "1.1.0"
description = "Backport of PEP 654 (exception groups)" description = "Backport of PEP 654 (exception groups)"
category = "dev"
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
files = [ files = [
@ -103,7 +98,6 @@ test = ["pytest (>=6)"]
name = "graphviz" name = "graphviz"
version = "0.20.1" version = "0.20.1"
description = "Simple Python interface for Graphviz" description = "Simple Python interface for Graphviz"
category = "main"
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
files = [ files = [
@ -120,7 +114,6 @@ test = ["coverage", "mock (>=4)", "pytest (>=7)", "pytest-cov", "pytest-mock (>=
name = "importlib-metadata" name = "importlib-metadata"
version = "1.5.0" version = "1.5.0"
description = "Read metadata from Python packages" description = "Read metadata from Python packages"
category = "dev"
optional = false optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
files = [ files = [
@ -139,7 +132,6 @@ testing = ["importlib-resources", "packaging"]
name = "iniconfig" name = "iniconfig"
version = "1.1.1" version = "1.1.1"
description = "iniconfig: brain-dead simple config-ini parsing" description = "iniconfig: brain-dead simple config-ini parsing"
category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
files = [ files = [
@ -151,7 +143,6 @@ files = [
name = "isort" name = "isort"
version = "4.3.21" version = "4.3.21"
description = "A Python utility / library to sort Python imports." description = "A Python utility / library to sort Python imports."
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [ files = [
@ -169,7 +160,6 @@ xdg-home = ["appdirs (>=1.4.0)"]
name = "jinja2" name = "jinja2"
version = "3.1.2" version = "3.1.2"
description = "A very fast and expressive template engine." description = "A very fast and expressive template engine."
category = "main"
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
files = [ files = [
@ -187,7 +177,6 @@ i18n = ["Babel (>=2.7)"]
name = "lazy-object-proxy" name = "lazy-object-proxy"
version = "1.4.3" version = "1.4.3"
description = "A fast and thorough lazy object proxy." description = "A fast and thorough lazy object proxy."
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [ files = [
@ -218,7 +207,6 @@ files = [
name = "markupsafe" name = "markupsafe"
version = "2.0.1" version = "2.0.1"
description = "Safely add untrusted strings to HTML/XML markup." description = "Safely add untrusted strings to HTML/XML markup."
category = "main"
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.6"
files = [ files = [
@ -297,7 +285,6 @@ files = [
name = "mccabe" name = "mccabe"
version = "0.6.1" version = "0.6.1"
description = "McCabe checker, plugin for flake8" description = "McCabe checker, plugin for flake8"
category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
files = [ files = [
@ -309,7 +296,6 @@ files = [
name = "mypy-extensions" name = "mypy-extensions"
version = "0.4.3" version = "0.4.3"
description = "Experimental type system extensions for programs checked with the mypy typechecker." description = "Experimental type system extensions for programs checked with the mypy typechecker."
category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
files = [ files = [
@ -321,7 +307,6 @@ files = [
name = "packaging" name = "packaging"
version = "20.8" version = "20.8"
description = "Core utilities for Python packages" description = "Core utilities for Python packages"
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [ files = [
@ -336,7 +321,6 @@ pyparsing = ">=2.0.2"
name = "pathspec" name = "pathspec"
version = "0.10.1" version = "0.10.1"
description = "Utility library for gitignore style pattern matching of file paths." description = "Utility library for gitignore style pattern matching of file paths."
category = "dev"
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
files = [ files = [
@ -348,7 +332,6 @@ files = [
name = "platformdirs" name = "platformdirs"
version = "2.4.0" version = "2.4.0"
description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
category = "dev"
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.6"
files = [ files = [
@ -364,7 +347,6 @@ test = ["appdirs (==1.4.4)", "pytest (>=6)", "pytest-cov (>=2.7)", "pytest-mock
name = "pluggy" name = "pluggy"
version = "0.13.1" version = "0.13.1"
description = "plugin and hook calling mechanisms for python" description = "plugin and hook calling mechanisms for python"
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [ files = [
@ -382,7 +364,6 @@ dev = ["pre-commit", "tox"]
name = "pylint" name = "pylint"
version = "2.12.0" version = "2.12.0"
description = "python code static checker" description = "python code static checker"
category = "dev"
optional = false optional = false
python-versions = "~=3.6" python-versions = "~=3.6"
files = [ files = [
@ -403,7 +384,6 @@ typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""
name = "pyparsing" name = "pyparsing"
version = "2.4.7" version = "2.4.7"
description = "Python parsing module" description = "Python parsing module"
category = "dev"
optional = false optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
files = [ files = [
@ -415,7 +395,6 @@ files = [
name = "pytest" name = "pytest"
version = "7.3.0" version = "7.3.0"
description = "pytest: simple powerful testing with Python" description = "pytest: simple powerful testing with Python"
category = "dev"
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
files = [ files = [
@ -439,7 +418,6 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no
name = "rope" name = "rope"
version = "0.14.0" version = "0.14.0"
description = "a python refactoring library..." description = "a python refactoring library..."
category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
files = [ files = [
@ -452,7 +430,6 @@ files = [
name = "setuptools" name = "setuptools"
version = "59.6.0" version = "59.6.0"
description = "Easily download, build, install, upgrade, and uninstall Python packages" description = "Easily download, build, install, upgrade, and uninstall Python packages"
category = "dev"
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.6"
files = [ files = [
@ -468,7 +445,6 @@ testing = ["flake8-2020", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mock"
name = "toml" name = "toml"
version = "0.10.0" version = "0.10.0"
description = "Python Library for Tom's Obvious, Minimal Language" description = "Python Library for Tom's Obvious, Minimal Language"
category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
files = [ files = [
@ -480,7 +456,6 @@ files = [
name = "tomli" name = "tomli"
version = "1.2.3" version = "1.2.3"
description = "A lil' TOML parser" description = "A lil' TOML parser"
category = "dev"
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.6"
files = [ files = [
@ -492,7 +467,6 @@ files = [
name = "typed-ast" name = "typed-ast"
version = "1.5.4" version = "1.5.4"
description = "a fork of Python 2 and 3 ast modules with type comment support" description = "a fork of Python 2 and 3 ast modules with type comment support"
category = "main"
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.6"
files = [ files = [
@ -526,7 +500,6 @@ files = [
name = "typing-extensions" name = "typing-extensions"
version = "4.1.1" version = "4.1.1"
description = "Backported and Experimental Type Hints for Python 3.6+" description = "Backported and Experimental Type Hints for Python 3.6+"
category = "dev"
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.6"
files = [ files = [
@ -538,7 +511,6 @@ files = [
name = "wrapt" name = "wrapt"
version = "1.11.2" version = "1.11.2"
description = "Module for decorators, wrappers and monkey patching." description = "Module for decorators, wrappers and monkey patching."
category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
files = [ files = [
@ -549,7 +521,6 @@ files = [
name = "zipp" name = "zipp"
version = "3.1.0" version = "3.1.0"
description = "Backport of pathlib-compatible object wrapper for zip files" description = "Backport of pathlib-compatible object wrapper for zip files"
category = "dev"
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.6"
files = [ files = [
@ -564,4 +535,4 @@ testing = ["func-timeout", "jaraco.itertools"]
[metadata] [metadata]
lock-version = "2.0" lock-version = "2.0"
python-versions = "^3.7" python-versions = "^3.7"
content-hash = "5c2b82d1c8a6a283f63558fc693271f42fdcaeab73616713eb9b38b0b59787fc" content-hash = "eab830dc3befbc19bb7c149e48641763ce360963d948395e4e3083143e4e71a8"

@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "diagrams" name = "diagrams"
version = "0.23.4" version = "0.24.0"
description = "Diagram as Code" description = "Diagram as Code"
license = "MIT" license = "MIT"
authors = ["mingrammer <mingrammer@gmail.com>"] authors = ["mingrammer <mingrammer@gmail.com>"]

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

@ -106,7 +106,7 @@ class Index extends React.Component {
`Diagram as Code` allows you to **track** the architecture diagram changes in any **version control** system. `Diagram as Code` allows you to **track** the architecture diagram changes in any **version control** system.
</MarkdownBlock> </MarkdownBlock>
<MarkdownBlock> <MarkdownBlock>
Diagrams currently supports main major providers including: `AWS`, `Azure`, `GCP`, `Kubernetes`, `Alibaba Cloud`, `Oracle Cloud` etc... It also supports `On-Premise` nodes, `SaaS` and major `Programming` frameworks and languages. Diagrams currently supports main major providers including: `AWS`, `Azure`, `GCP`, `Kubernetes`, `Alibaba Cloud`, `Oracle Cloud` etc... It also supports `On-Premises` nodes, `SaaS` and major `Programming` frameworks and languages.
</MarkdownBlock> </MarkdownBlock>
<MarkdownBlock> <MarkdownBlock>
`NOTE: It does not control any actual cloud resources nor does it generate cloud formation or terraform code. It is just for drawing the cloud system architecture diagrams.` `NOTE: It does not control any actual cloud resources nor does it generate cloud formation or terraform code. It is just for drawing the cloud system architecture diagrams.`

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Loading…
Cancel
Save